From efa7c61659d073f355a2a6661953b931e3151411 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 23 Jun 2022 13:18:40 -0700 Subject: [PATCH 01/33] WIP font data script --- lib/web_ui/dev/felt.dart | 2 + .../dev/generate_fallback_font_data.dart | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 lib/web_ui/dev/generate_fallback_font_data.dart diff --git a/lib/web_ui/dev/felt.dart b/lib/web_ui/dev/felt.dart index 6088acbc0ebed..b4aa404d06704 100644 --- a/lib/web_ui/dev/felt.dart +++ b/lib/web_ui/dev/felt.dart @@ -10,6 +10,7 @@ import 'build.dart'; import 'clean.dart'; import 'create_simulator.dart'; import 'exceptions.dart'; +import 'generate_fallback_font_data.dart'; import 'licenses.dart'; import 'run.dart'; import 'test_runner.dart'; @@ -22,6 +23,7 @@ CommandRunner runner = CommandRunner( ..addCommand(BuildCommand()) ..addCommand(CleanCommand()) ..addCommand(CreateSimulatorCommand()) + ..addCommand(GenerateFallbackFontDataCommand()) ..addCommand(LicensesCommand()) ..addCommand(RunCommand()) ..addCommand(TestCommand()); diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart new file mode 100644 index 0000000000000..a5abef684f920 --- /dev/null +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -0,0 +1,52 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:convert' show jsonDecode; +import 'dart:io' as io; + +import 'package:args/command_runner.dart'; +import 'package:http/http.dart' as http; + +import 'exceptions.dart'; +import 'utils.dart'; + +class GenerateFallbackFontDataCommand extends Command + with ArgUtils { + GenerateFallbackFontDataCommand() { + argParser.addOption( + 'key', + defaultsTo: '', + help: 'The Google Fonts API key. Used to get data about fonts hosted on ' + 'Google Fonts', + ); + } + + @override + final String name = 'generate-fallback-font-data'; + + @override + final String description = 'Generate fallback font data from GoogleFonts'; + + String get apiKey => stringArg('key'); + + @override + Future run() async { + await _generateFallbackFontData(); + return true; + } + + Future _generateFallbackFontData() async { + if (apiKey.isEmpty) { + throw UsageException('No Google Fonts API key provided', argParser.usage); + } + final http.Client client = http.Client(); + final http.Response response = await client.get(Uri.parse( + 'https://www.googleapis.com/webfonts/v1/webfonts?key=$apiKey')); + if (response.statusCode != 200) { + throw ToolExit('Failed to download Google Fonts list.'); + } + final Map googleFontsResult = jsonDecode(response.body); + print(googleFontsResult); + } +} From 5df1ee455a23b3135dc9578c2356bb08afcca56e Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 23 Jun 2022 16:37:35 -0700 Subject: [PATCH 02/33] wip --- .../dev/generate_fallback_font_data.dart | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index a5abef684f920..6abdddd169f7e 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:convert' show jsonDecode; -import 'dart:io' as io; import 'package:args/command_runner.dart'; import 'package:http/http.dart' as http; @@ -47,6 +46,35 @@ class GenerateFallbackFontDataCommand extends Command throw ToolExit('Failed to download Google Fonts list.'); } final Map googleFontsResult = jsonDecode(response.body); - print(googleFontsResult); + final List fontDatas = googleFontsResult['items'] as List; + for (final Map fontData in fontDatas) { + print(fontData['family']); + } } } + +const List fallbackFonts = [ + 'Noto Sans', + 'Noto Sans Adlam', + 'Noto Sans Anatolian Hieroglyphs', + 'Noto Sans Arabic', + 'Noto Sans Armenian', + 'Noto Sans Avestan', + 'Noto Sans Balinese', + 'Noto Sans Bamum', + 'Noto Sans Bassa Vah', + 'Noto Sans Batak', + 'Noto Sans Bengali', + 'Noto Sans Bhaiksuki', + 'Noto Sans Brahmi', + 'Noto Sans Buginese', + 'Noto Sans Buhid', + 'Noto Sans Canadian Aboriginal', + 'Noto Sans Carian', + 'Noto Sans Caucasian Albanian', + 'Noto Sans Chakma', + 'Noto Sans Cham', + 'Noto Sans Cherokee', + // TODO(het): add more + 'Noto Emoji', +]; From 377703cd0380b5d96adc4189bc12ea799bc858a2 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 23 Jun 2022 16:56:53 -0700 Subject: [PATCH 03/33] WIP --- .../dev/generate_fallback_font_data.dart | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index 6abdddd169f7e..ff1d35f377bf8 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -75,6 +75,23 @@ const List fallbackFonts = [ 'Noto Sans Chakma', 'Noto Sans Cham', 'Noto Sans Cherokee', - // TODO(het): add more + 'Noto Sans Coptic', + 'Noto Sans Cuneiform', + 'Noto Sans Cypriot', + 'Noto Sans Deseret', + 'Noto Sans Devanagari', + 'Noto Sans Duployan', + 'Noto Sans Egyptian Hieroglyphs', + 'Noto Sans Elbasan', + 'Noto Sans Elymaic', + 'Noto Sans Georgian', + 'Noto Sans Glagolitic', + 'Noto Sans Gothic', + 'Noto Sans Grantha', + 'Noto Sans Gujarati', + 'Noto Sans Gunjala Gondi', + 'Noto Sans Gurmukhi', + 'Noto Sans HK', + 'Noto Sans Hanunoo', 'Noto Emoji', ]; From 2ff37e51d3cb53420dfec47b88a1f7ad9f9d3ca4 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 23 Jun 2022 17:55:17 -0700 Subject: [PATCH 04/33] wip --- .../dev/generate_fallback_font_data.dart | 120 +++++++++++++++++- 1 file changed, 118 insertions(+), 2 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index ff1d35f377bf8..d96c9259e76d8 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:convert' show jsonDecode; +import 'dart:io' as io; import 'package:args/command_runner.dart'; import 'package:http/http.dart' as http; @@ -47,14 +48,29 @@ class GenerateFallbackFontDataCommand extends Command } final Map googleFontsResult = jsonDecode(response.body); final List fontDatas = googleFontsResult['items'] as List; + final Map urlForFamily = {}; for (final Map fontData in fontDatas) { - print(fontData['family']); + if (fallbackFonts.contains(fontData['family'])) { + final Uri uri = Uri.parse(fontData['files']['regular'] as String); + urlForFamily[fontData['family']] = uri; + } + } + final io.Directory tempDir = + await io.Directory.systemTemp.createTemp('fonts'); + for (final String family in fallbackFonts) { + print('Downloading $family...'); + final http.Response fontResponse = + await client.get(urlForFamily[family]!); + if (fontResponse.statusCode != 200) { + throw ToolExit('Failed to download font for $family'); + } } } } const List fallbackFonts = [ 'Noto Sans', + 'Noto Emoji', 'Noto Sans Adlam', 'Noto Sans Anatolian Hieroglyphs', 'Noto Sans Arabic', @@ -93,5 +109,105 @@ const List fallbackFonts = [ 'Noto Sans Gurmukhi', 'Noto Sans HK', 'Noto Sans Hanunoo', - 'Noto Emoji', + 'Noto Sans Hatran', + 'Noto Sans Hebrew', + 'Noto Sans Imperial Aramaic', + 'Noto Sans Indic Siyaq Numbers', + 'Noto Sans Inscriptional Pahlavi', + 'Noto Sans Inscriptional Parthian', + 'Noto Sans JP', + 'Noto Sans Javanese', + 'Noto Sans KR', + 'Noto Sans Kaithi', + 'Noto Sans Kannada', + 'Noto Sans Kayah Li', + 'Noto Sans Kharoshthi', + 'Noto Sans Khmer', + 'Noto Sans Khojki', + 'Noto Sans Khudawadi', + 'Noto Sans Lao', + 'Noto Sans Lepcha', + 'Noto Sans Limbu', + 'Noto Sans Linear A', + 'Noto Sans Linear B', + 'Noto Sans Lisu', + 'Noto Sans Lycian', + 'Noto Sans Lydian', + 'Noto Sans Mahajani', + 'Noto Sans Malayalam', + 'Noto Sans Mandaic', + 'Noto Sans Manichean', + 'Noto Sans Marchen', + 'Noto Sans Masaram Gondi', + 'Noto Sans Math', + 'Noto Sans Mayan Numerals', + 'Noto Sans Medefaidrin', + 'Noto Sans Meetei Mayek', + 'Noto Sans Meroitic', + 'Noto Sans Miao', + 'Noto Sans Modi', + 'Noto Sans Mongolian', + 'Noto Sans Mro', + 'Noto Sans Multani', + 'Noto Sans Myanmar', + 'Noto Sans N Ko', + 'Noto Sans Nabataean', + 'Noto Sans New Tai Lue', + 'Noto Sans Newa', + 'Noto Sans Nushu', + 'Noto Sans Ogham', + 'Noto Sans Ol Chiki', + 'Noto Sans Old Hungarian', + 'Noto Sans Old Italic', + 'Noto Sans Old North Arabian', + 'Noto Sans Old Permic', + 'Noto Sans Old Persian', + 'Noto Sans Old Sogdian', + 'Noto Sans Old South Arabian', + 'Noto Sans Old Turkic', + 'Noto Sans Oriya', + 'Noto Sans Osage', + 'Noto Sans Osmanya', + 'Noto Sans Pahawh Hmong', + 'Noto Sans Palmyrene', + 'Noto Sans Pau Cin Hau', + 'Noto Sans Phags Pa', + 'Noto Sans Phoenician', + 'Noto Sans Psalter Pahlavi', + 'Noto Sans Rejang', + 'Noto Sans Runic', + 'Noto Sans SC', + 'Noto Sans Saurashtra', + 'Noto Sans Sharada', + 'Noto Sans Shavian', + 'Noto Sans Siddham', + 'Noto Sans Sinhala', + 'Noto Sans Sogdian', + 'Noto Sans Sora Sompeng', + 'Noto Sans Soyombo', + 'Noto Sans Sundanese', + 'Noto Sans Syloti Nagri', + 'Noto Sans Symbols', + 'Noto Sans Symbols 2', + 'Noto Sans Syriac', + 'Noto Sans TC', + 'Noto Sans Tagalog', + 'Noto Sans Tagbanwa', + 'Noto Sans Tai Le', + 'Noto Sans Tai Tham', + 'Noto Sans Tai Viet', + 'Noto Sans Takri', + 'Noto Sans Tamil', + 'Noto Sans Tamil Supplement', + 'Noto Sans Telugu', + 'Noto Sans Thaana', + 'Noto Sans Thai', + 'Noto Sans Tifinagh', + 'Noto Sans Tirhuta', + 'Noto Sans Ugaritic', + 'Noto Sans Vai', + 'Noto Sans Wancho', + 'Noto Sans Warang Citi', + 'Noto Sans Yi', + 'Noto Sans Zanabazar Square', ]; From a9ffa81a6f0ecb89d46843c75b34d8eb25f16aed Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 29 Jun 2022 10:10:52 -0700 Subject: [PATCH 05/33] WIP --- .../dev/generate_fallback_font_data.dart | 66 +- lib/web_ui/lib/src/engine.dart | 2 + .../engine/canvaskit/font_fallback_data.dart | 22345 ++++++++++++++++ .../src/engine/canvaskit/font_fallbacks.dart | 568 +- .../src/engine/canvaskit/interval_tree.dart | 2 +- .../lib/src/engine/canvaskit/noto_font.dart | 53 + .../test/canvaskit/canvas_golden_test.dart | 2 +- .../canvaskit/fallback_fonts_golden_test.dart | 279 +- 8 files changed, 22680 insertions(+), 637 deletions(-) create mode 100644 lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart create mode 100644 lib/web_ui/lib/src/engine/canvaskit/noto_font.dart diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index d96c9259e76d8..e4f886666a9c9 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -7,7 +7,9 @@ import 'dart:io' as io; import 'package:args/command_runner.dart'; import 'package:http/http.dart' as http; +import 'package:path/path.dart' as path; +import 'environment.dart'; import 'exceptions.dart'; import 'utils.dart'; @@ -55,22 +57,78 @@ class GenerateFallbackFontDataCommand extends Command urlForFamily[fontData['family']] = uri; } } + final Map charsetForFamily = {}; final io.Directory tempDir = await io.Directory.systemTemp.createTemp('fonts'); for (final String family in fallbackFonts) { print('Downloading $family...'); - final http.Response fontResponse = - await client.get(urlForFamily[family]!); + final Uri uri = urlForFamily[family]!; + final http.Response fontResponse = await client.get(uri); if (fontResponse.statusCode != 200) { throw ToolExit('Failed to download font for $family'); } + final io.File fontFile = + io.File(path.join(tempDir.path, path.basename(uri.path))); + await fontFile.writeAsBytes(fontResponse.bodyBytes); + final io.ProcessResult fcQueryResult = + await io.Process.run('fc-query', [ + '--format=%{charset}', + '--', + fontFile.path, + ]); + final String encodedCharset = fcQueryResult.stdout; + charsetForFamily[family] = encodedCharset; } + + final StringBuffer sb = StringBuffer(); + + sb.writeln('// Copyright 2013 The Flutter Authors. All rights reserved.'); + sb.writeln('// Use of this source code is governed by a BSD-style license ' + 'that can be'); + sb.writeln('// found in the LICENSE file.'); + sb.writeln(''); + sb.writeln('// DO NOT EDIT! This file is generated. See:'); + sb.writeln('// dev/generate_fallback_font_data.dart'); + sb.writeln('import \'noto_font.dart\';'); + sb.writeln(''); + sb.writeln('const List fallbackFonts = ['); + for (final String family in fallbackFonts) { + sb.writeln(' NotoFont(\'$family\', \'${urlForFamily[family]!}\', ' + '['); + for (final String range in charsetForFamily[family]!.split(' ')) { + String? start; + String? end; + final List parts = range.split('-'); + if (parts.length == 1) { + start = parts[0]; + end = parts[0]; + } else { + start = parts[0]; + end = parts[1]; + } + sb.writeln(' CodeunitRange(0x$start, 0x$end),'); + } + sb.writeln(' ]),'); + } + sb.writeln('];'); + + final io.File fontDataFile = io.File(path.join( + environment.webUiRootDir.path, + 'lib', + 'src', + 'engine', + 'canvaskit', + 'font_fallback_data.dart', + )); + await fontDataFile.writeAsString(sb.toString()); } } const List fallbackFonts = [ 'Noto Sans', 'Noto Emoji', + 'Noto Sans Symbols', + 'Noto Sans Symbols 2', 'Noto Sans Adlam', 'Noto Sans Anatolian Hieroglyphs', 'Noto Sans Arabic', @@ -136,7 +194,7 @@ const List fallbackFonts = [ 'Noto Sans Mahajani', 'Noto Sans Malayalam', 'Noto Sans Mandaic', - 'Noto Sans Manichean', + 'Noto Sans Manichaean', 'Noto Sans Marchen', 'Noto Sans Masaram Gondi', 'Noto Sans Math', @@ -187,8 +245,6 @@ const List fallbackFonts = [ 'Noto Sans Soyombo', 'Noto Sans Sundanese', 'Noto Sans Syloti Nagri', - 'Noto Sans Symbols', - 'Noto Sans Symbols 2', 'Noto Sans Syriac', 'Noto Sans TC', 'Noto Sans Tagalog', diff --git a/lib/web_ui/lib/src/engine.dart b/lib/web_ui/lib/src/engine.dart index 166f78ffac659..592f364c3cbee 100644 --- a/lib/web_ui/lib/src/engine.dart +++ b/lib/web_ui/lib/src/engine.dart @@ -26,6 +26,7 @@ export 'engine/canvaskit/canvaskit_canvas.dart'; export 'engine/canvaskit/color_filter.dart'; export 'engine/canvaskit/embedded_views.dart'; export 'engine/canvaskit/embedded_views_diff.dart'; +export 'engine/canvaskit/font_fallback_data.dart'; export 'engine/canvaskit/font_fallbacks.dart'; export 'engine/canvaskit/fonts.dart'; export 'engine/canvaskit/image.dart'; @@ -39,6 +40,7 @@ export 'engine/canvaskit/layer_scene_builder.dart'; export 'engine/canvaskit/layer_tree.dart'; export 'engine/canvaskit/mask_filter.dart'; export 'engine/canvaskit/n_way_canvas.dart'; +export 'engine/canvaskit/noto_font.dart'; export 'engine/canvaskit/painting.dart'; export 'engine/canvaskit/path.dart'; export 'engine/canvaskit/path_metrics.dart'; diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart new file mode 100644 index 0000000000000..df58cbb883d22 --- /dev/null +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -0,0 +1,22345 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// DO NOT EDIT! This file is generated. See: +// dev/generate_fallback_font_data.dart +import 'noto_font.dart'; + +const List fallbackFonts = [ + NotoFont('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0x377), + CodeunitRange(0x37a, 0x37f), + CodeunitRange(0x384, 0x38a), + CodeunitRange(0x38c, 0x38c), + CodeunitRange(0x38e, 0x3a1), + CodeunitRange(0x3a3, 0x3e1), + CodeunitRange(0x3f0, 0x52f), + CodeunitRange(0x900, 0x97f), + CodeunitRange(0x1ab0, 0x1ac0), + CodeunitRange(0x1c80, 0x1c88), + CodeunitRange(0x1cd0, 0x1cf6), + CodeunitRange(0x1cf8, 0x1cf9), + CodeunitRange(0x1d00, 0x1df9), + CodeunitRange(0x1dfb, 0x1f15), + CodeunitRange(0x1f18, 0x1f1d), + CodeunitRange(0x1f20, 0x1f45), + CodeunitRange(0x1f48, 0x1f4d), + CodeunitRange(0x1f50, 0x1f57), + CodeunitRange(0x1f59, 0x1f59), + CodeunitRange(0x1f5b, 0x1f5b), + CodeunitRange(0x1f5d, 0x1f5d), + CodeunitRange(0x1f5f, 0x1f7d), + CodeunitRange(0x1f80, 0x1fb4), + CodeunitRange(0x1fb6, 0x1fc4), + CodeunitRange(0x1fc6, 0x1fd3), + CodeunitRange(0x1fd6, 0x1fdb), + CodeunitRange(0x1fdd, 0x1fef), + CodeunitRange(0x1ff2, 0x1ff4), + CodeunitRange(0x1ff6, 0x1ffe), + CodeunitRange(0x2000, 0x2064), + CodeunitRange(0x2066, 0x2071), + CodeunitRange(0x2074, 0x208e), + CodeunitRange(0x2090, 0x209c), + CodeunitRange(0x20a0, 0x20bf), + CodeunitRange(0x20f0, 0x20f0), + CodeunitRange(0x2100, 0x215f), + CodeunitRange(0x2184, 0x2184), + CodeunitRange(0x2189, 0x2189), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x2215, 0x2215), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2c60, 0x2c7f), + CodeunitRange(0x2de0, 0x2e52), + CodeunitRange(0xa640, 0xa69f), + CodeunitRange(0xa700, 0xa7bf), + CodeunitRange(0xa7c2, 0xa7ca), + CodeunitRange(0xa7f5, 0xa7ff), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0xa8e0, 0xa8ff), + CodeunitRange(0xa92e, 0xa92e), + CodeunitRange(0xab30, 0xab6b), + CodeunitRange(0xfb00, 0xfb06), + CodeunitRange(0xfe00, 0xfe00), + CodeunitRange(0xfe20, 0xfe2f), + CodeunitRange(0xfeff, 0xfeff), + CodeunitRange(0xfffc, 0xfffd), + ]), + NotoFont('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v24/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x23, 0x23), + CodeunitRange(0x2a, 0x2a), + CodeunitRange(0x30, 0x39), + CodeunitRange(0xa9, 0xa9), + CodeunitRange(0xae, 0xae), + CodeunitRange(0x200d, 0x200d), + CodeunitRange(0x203c, 0x203c), + CodeunitRange(0x2049, 0x2049), + CodeunitRange(0x20e3, 0x20e3), + CodeunitRange(0x2122, 0x2122), + CodeunitRange(0x2139, 0x2139), + CodeunitRange(0x2194, 0x2199), + CodeunitRange(0x21a9, 0x21aa), + CodeunitRange(0x231a, 0x231b), + CodeunitRange(0x2328, 0x2328), + CodeunitRange(0x23cf, 0x23cf), + CodeunitRange(0x23e9, 0x23f3), + CodeunitRange(0x23f8, 0x23fa), + CodeunitRange(0x24c2, 0x24c2), + CodeunitRange(0x25aa, 0x25ab), + CodeunitRange(0x25b6, 0x25b6), + CodeunitRange(0x25c0, 0x25c0), + CodeunitRange(0x25fb, 0x25fe), + CodeunitRange(0x2600, 0x2604), + CodeunitRange(0x260e, 0x260e), + CodeunitRange(0x2611, 0x2611), + CodeunitRange(0x2614, 0x2615), + CodeunitRange(0x2618, 0x2618), + CodeunitRange(0x261d, 0x261d), + CodeunitRange(0x2620, 0x2620), + CodeunitRange(0x2622, 0x2623), + CodeunitRange(0x2626, 0x2626), + CodeunitRange(0x262a, 0x262a), + CodeunitRange(0x262e, 0x262f), + CodeunitRange(0x2638, 0x263a), + CodeunitRange(0x2640, 0x2640), + CodeunitRange(0x2642, 0x2642), + CodeunitRange(0x2648, 0x2653), + CodeunitRange(0x265f, 0x2660), + CodeunitRange(0x2663, 0x2663), + CodeunitRange(0x2665, 0x2666), + CodeunitRange(0x2668, 0x2668), + CodeunitRange(0x267b, 0x267b), + CodeunitRange(0x267e, 0x267f), + CodeunitRange(0x2692, 0x2697), + CodeunitRange(0x2699, 0x2699), + CodeunitRange(0x269b, 0x269c), + CodeunitRange(0x26a0, 0x26a1), + CodeunitRange(0x26a7, 0x26a7), + CodeunitRange(0x26aa, 0x26ab), + CodeunitRange(0x26b0, 0x26b1), + CodeunitRange(0x26bd, 0x26be), + CodeunitRange(0x26c4, 0x26c5), + CodeunitRange(0x26c8, 0x26c8), + CodeunitRange(0x26ce, 0x26cf), + CodeunitRange(0x26d1, 0x26d1), + CodeunitRange(0x26d3, 0x26d4), + CodeunitRange(0x26e9, 0x26ea), + CodeunitRange(0x26f0, 0x26f5), + CodeunitRange(0x26f7, 0x26fa), + CodeunitRange(0x26fd, 0x26fd), + CodeunitRange(0x2702, 0x2702), + CodeunitRange(0x2705, 0x2705), + CodeunitRange(0x2708, 0x270d), + CodeunitRange(0x270f, 0x270f), + CodeunitRange(0x2712, 0x2712), + CodeunitRange(0x2714, 0x2714), + CodeunitRange(0x2716, 0x2716), + CodeunitRange(0x271d, 0x271d), + CodeunitRange(0x2721, 0x2721), + CodeunitRange(0x2728, 0x2728), + CodeunitRange(0x2733, 0x2734), + CodeunitRange(0x2744, 0x2744), + CodeunitRange(0x2747, 0x2747), + CodeunitRange(0x274c, 0x274c), + CodeunitRange(0x274e, 0x274e), + CodeunitRange(0x2753, 0x2755), + CodeunitRange(0x2757, 0x2757), + CodeunitRange(0x2763, 0x2764), + CodeunitRange(0x2795, 0x2797), + CodeunitRange(0x27a1, 0x27a1), + CodeunitRange(0x27b0, 0x27b0), + CodeunitRange(0x27bf, 0x27bf), + CodeunitRange(0x2934, 0x2935), + CodeunitRange(0x2b05, 0x2b07), + CodeunitRange(0x2b1b, 0x2b1c), + CodeunitRange(0x2b50, 0x2b50), + CodeunitRange(0x2b55, 0x2b55), + CodeunitRange(0x3030, 0x3030), + CodeunitRange(0x303d, 0x303d), + CodeunitRange(0x3297, 0x3297), + CodeunitRange(0x3299, 0x3299), + CodeunitRange(0xfe0e, 0xfe0f), + CodeunitRange(0x1f004, 0x1f004), + CodeunitRange(0x1f0cf, 0x1f0cf), + CodeunitRange(0x1f170, 0x1f171), + CodeunitRange(0x1f17e, 0x1f17f), + CodeunitRange(0x1f18e, 0x1f18e), + CodeunitRange(0x1f191, 0x1f19a), + CodeunitRange(0x1f1e6, 0x1f1ff), + CodeunitRange(0x1f201, 0x1f202), + CodeunitRange(0x1f21a, 0x1f21a), + CodeunitRange(0x1f22f, 0x1f22f), + CodeunitRange(0x1f232, 0x1f23a), + CodeunitRange(0x1f250, 0x1f251), + CodeunitRange(0x1f300, 0x1f321), + CodeunitRange(0x1f324, 0x1f393), + CodeunitRange(0x1f396, 0x1f397), + CodeunitRange(0x1f399, 0x1f39b), + CodeunitRange(0x1f39e, 0x1f3f0), + CodeunitRange(0x1f3f3, 0x1f3f5), + CodeunitRange(0x1f3f7, 0x1f4fd), + CodeunitRange(0x1f4ff, 0x1f53d), + CodeunitRange(0x1f549, 0x1f54e), + CodeunitRange(0x1f550, 0x1f567), + CodeunitRange(0x1f56f, 0x1f570), + CodeunitRange(0x1f573, 0x1f57a), + CodeunitRange(0x1f587, 0x1f587), + CodeunitRange(0x1f58a, 0x1f58d), + CodeunitRange(0x1f590, 0x1f590), + CodeunitRange(0x1f595, 0x1f596), + CodeunitRange(0x1f5a4, 0x1f5a5), + CodeunitRange(0x1f5a8, 0x1f5a8), + CodeunitRange(0x1f5b1, 0x1f5b2), + CodeunitRange(0x1f5bc, 0x1f5bc), + CodeunitRange(0x1f5c2, 0x1f5c4), + CodeunitRange(0x1f5d1, 0x1f5d3), + CodeunitRange(0x1f5dc, 0x1f5de), + CodeunitRange(0x1f5e1, 0x1f5e1), + CodeunitRange(0x1f5e3, 0x1f5e3), + CodeunitRange(0x1f5e8, 0x1f5e8), + CodeunitRange(0x1f5ef, 0x1f5ef), + CodeunitRange(0x1f5f3, 0x1f5f3), + CodeunitRange(0x1f5fa, 0x1f64f), + CodeunitRange(0x1f680, 0x1f6c5), + CodeunitRange(0x1f6cb, 0x1f6d2), + CodeunitRange(0x1f6d5, 0x1f6d7), + CodeunitRange(0x1f6dd, 0x1f6e5), + CodeunitRange(0x1f6e9, 0x1f6e9), + CodeunitRange(0x1f6eb, 0x1f6ec), + CodeunitRange(0x1f6f0, 0x1f6f0), + CodeunitRange(0x1f6f3, 0x1f6fc), + CodeunitRange(0x1f7e0, 0x1f7eb), + CodeunitRange(0x1f7f0, 0x1f7f0), + CodeunitRange(0x1f90c, 0x1f93a), + CodeunitRange(0x1f93c, 0x1f945), + CodeunitRange(0x1f947, 0x1f9ff), + CodeunitRange(0x1fa70, 0x1fa74), + CodeunitRange(0x1fa78, 0x1fa7c), + CodeunitRange(0x1fa80, 0x1fa86), + CodeunitRange(0x1fa90, 0x1faac), + CodeunitRange(0x1fab0, 0x1faba), + CodeunitRange(0x1fac0, 0x1fac5), + CodeunitRange(0x1fad0, 0x1fad9), + CodeunitRange(0x1fae0, 0x1fae7), + CodeunitRange(0x1faf0, 0x1faf6), + CodeunitRange(0xe0030, 0xe0039), + CodeunitRange(0xe0061, 0xe007a), + CodeunitRange(0xe007f, 0xe007f), + CodeunitRange(0xfe4e5, 0xfe4ee), + CodeunitRange(0xfe82c, 0xfe82c), + CodeunitRange(0xfe82e, 0xfe837), + ]), + NotoFont('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x30, 0x39), + CodeunitRange(0x41, 0x5a), + CodeunitRange(0x61, 0x7a), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x20dd, 0x20e0), + CodeunitRange(0x20e2, 0x20e4), + CodeunitRange(0x2160, 0x2183), + CodeunitRange(0x2185, 0x2188), + CodeunitRange(0x218a, 0x218b), + CodeunitRange(0x2190, 0x2199), + CodeunitRange(0x2300, 0x230f), + CodeunitRange(0x2311, 0x2315), + CodeunitRange(0x2317, 0x2317), + CodeunitRange(0x231c, 0x231f), + CodeunitRange(0x2322, 0x2323), + CodeunitRange(0x2329, 0x232a), + CodeunitRange(0x232c, 0x2335), + CodeunitRange(0x237c, 0x237c), + CodeunitRange(0x2380, 0x2394), + CodeunitRange(0x2396, 0x239a), + CodeunitRange(0x23af, 0x23af), + CodeunitRange(0x23be, 0x23cd), + CodeunitRange(0x23d0, 0x23db), + CodeunitRange(0x23e2, 0x23e8), + CodeunitRange(0x2460, 0x24ff), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x260a, 0x260d), + CodeunitRange(0x2613, 0x2613), + CodeunitRange(0x2624, 0x262f), + CodeunitRange(0x2638, 0x263b), + CodeunitRange(0x263d, 0x2653), + CodeunitRange(0x2669, 0x267e), + CodeunitRange(0x2690, 0x269d), + CodeunitRange(0x26a2, 0x26a9), + CodeunitRange(0x26ad, 0x26bc), + CodeunitRange(0x26ce, 0x26ce), + CodeunitRange(0x26e2, 0x26ff), + CodeunitRange(0x271d, 0x2721), + CodeunitRange(0x2776, 0x2793), + CodeunitRange(0x2921, 0x2922), + CodeunitRange(0x1f100, 0x1f10c), + CodeunitRange(0x1f110, 0x1f16c), + CodeunitRange(0x1f170, 0x1f190), + CodeunitRange(0x1f19b, 0x1f1ac), + CodeunitRange(0x1f546, 0x1f549), + CodeunitRange(0x1f54f, 0x1f54f), + CodeunitRange(0x1f610, 0x1f610), + CodeunitRange(0x1f700, 0x1f773), + ]), + NotoFont('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x23, 0x23), + CodeunitRange(0x2a, 0x2a), + CodeunitRange(0x30, 0x39), + CodeunitRange(0x7f, 0xa0), + CodeunitRange(0x2022, 0x2022), + CodeunitRange(0x20e2, 0x20e3), + CodeunitRange(0x21af, 0x21af), + CodeunitRange(0x21e6, 0x21f0), + CodeunitRange(0x21f3, 0x21f3), + CodeunitRange(0x2218, 0x2219), + CodeunitRange(0x2299, 0x2299), + CodeunitRange(0x22c4, 0x22c6), + CodeunitRange(0x2316, 0x2316), + CodeunitRange(0x2318, 0x2318), + CodeunitRange(0x231a, 0x231b), + CodeunitRange(0x2324, 0x2328), + CodeunitRange(0x232b, 0x232b), + CodeunitRange(0x237b, 0x237b), + CodeunitRange(0x237d, 0x237f), + CodeunitRange(0x2394, 0x2394), + CodeunitRange(0x23ce, 0x23cf), + CodeunitRange(0x23e9, 0x23ea), + CodeunitRange(0x23ed, 0x23ef), + CodeunitRange(0x23f1, 0x2426), + CodeunitRange(0x2440, 0x244a), + CodeunitRange(0x25a0, 0x2609), + CodeunitRange(0x260e, 0x2612), + CodeunitRange(0x2614, 0x2623), + CodeunitRange(0x2630, 0x2637), + CodeunitRange(0x263c, 0x263c), + CodeunitRange(0x2654, 0x2668), + CodeunitRange(0x267f, 0x268f), + CodeunitRange(0x269e, 0x26a1), + CodeunitRange(0x26aa, 0x26ac), + CodeunitRange(0x26bd, 0x26cd), + CodeunitRange(0x26cf, 0x26e1), + CodeunitRange(0x2700, 0x2704), + CodeunitRange(0x2706, 0x2709), + CodeunitRange(0x270b, 0x271c), + CodeunitRange(0x2722, 0x2727), + CodeunitRange(0x2729, 0x274b), + CodeunitRange(0x274d, 0x274d), + CodeunitRange(0x274f, 0x2753), + CodeunitRange(0x2756, 0x2775), + CodeunitRange(0x2794, 0x2794), + CodeunitRange(0x2798, 0x27af), + CodeunitRange(0x27b1, 0x27be), + CodeunitRange(0x2800, 0x28ff), + CodeunitRange(0x2981, 0x2981), + CodeunitRange(0x29bf, 0x29bf), + CodeunitRange(0x29eb, 0x29eb), + CodeunitRange(0x2b00, 0x2b0d), + CodeunitRange(0x2b12, 0x2b2f), + CodeunitRange(0x2b4d, 0x2b73), + CodeunitRange(0x2b76, 0x2b95), + CodeunitRange(0x2b97, 0x2bfd), + CodeunitRange(0x2bff, 0x2bff), + CodeunitRange(0x4dc0, 0x4dff), + CodeunitRange(0xfff9, 0xfffb), + CodeunitRange(0x10140, 0x1018e), + CodeunitRange(0x10190, 0x1019c), + CodeunitRange(0x101a0, 0x101a0), + CodeunitRange(0x101d0, 0x101fd), + CodeunitRange(0x102e0, 0x102fb), + CodeunitRange(0x10e60, 0x10e7e), + CodeunitRange(0x1d2e0, 0x1d2f3), + CodeunitRange(0x1d300, 0x1d356), + CodeunitRange(0x1d360, 0x1d378), + CodeunitRange(0x1f000, 0x1f02b), + CodeunitRange(0x1f030, 0x1f093), + CodeunitRange(0x1f0a0, 0x1f0ae), + CodeunitRange(0x1f0b1, 0x1f0bf), + CodeunitRange(0x1f0c1, 0x1f0cf), + CodeunitRange(0x1f0d1, 0x1f0f5), + CodeunitRange(0x1f30d, 0x1f30f), + CodeunitRange(0x1f315, 0x1f315), + CodeunitRange(0x1f31c, 0x1f31c), + CodeunitRange(0x1f321, 0x1f32c), + CodeunitRange(0x1f336, 0x1f336), + CodeunitRange(0x1f378, 0x1f378), + CodeunitRange(0x1f37d, 0x1f37d), + CodeunitRange(0x1f393, 0x1f39f), + CodeunitRange(0x1f3a7, 0x1f3a7), + CodeunitRange(0x1f3ac, 0x1f3ae), + CodeunitRange(0x1f3c2, 0x1f3c2), + CodeunitRange(0x1f3c4, 0x1f3c4), + CodeunitRange(0x1f3c6, 0x1f3c6), + CodeunitRange(0x1f3ca, 0x1f3ce), + CodeunitRange(0x1f3d4, 0x1f3e0), + CodeunitRange(0x1f3ed, 0x1f3ed), + CodeunitRange(0x1f3f1, 0x1f3f3), + CodeunitRange(0x1f3f5, 0x1f3f7), + CodeunitRange(0x1f408, 0x1f408), + CodeunitRange(0x1f415, 0x1f415), + CodeunitRange(0x1f41f, 0x1f41f), + CodeunitRange(0x1f426, 0x1f426), + CodeunitRange(0x1f43f, 0x1f43f), + CodeunitRange(0x1f441, 0x1f442), + CodeunitRange(0x1f446, 0x1f449), + CodeunitRange(0x1f44c, 0x1f44e), + CodeunitRange(0x1f453, 0x1f453), + CodeunitRange(0x1f46a, 0x1f46a), + CodeunitRange(0x1f47d, 0x1f47d), + CodeunitRange(0x1f4a3, 0x1f4a3), + CodeunitRange(0x1f4b0, 0x1f4b0), + CodeunitRange(0x1f4b3, 0x1f4b3), + CodeunitRange(0x1f4b9, 0x1f4b9), + CodeunitRange(0x1f4bb, 0x1f4bb), + CodeunitRange(0x1f4bf, 0x1f4bf), + CodeunitRange(0x1f4c8, 0x1f4cb), + CodeunitRange(0x1f4da, 0x1f4da), + CodeunitRange(0x1f4df, 0x1f4df), + CodeunitRange(0x1f4e4, 0x1f4e6), + CodeunitRange(0x1f4ea, 0x1f4ed), + CodeunitRange(0x1f4f7, 0x1f4f7), + CodeunitRange(0x1f4f9, 0x1f4fb), + CodeunitRange(0x1f4fd, 0x1f4fe), + CodeunitRange(0x1f503, 0x1f503), + CodeunitRange(0x1f507, 0x1f50a), + CodeunitRange(0x1f50d, 0x1f50d), + CodeunitRange(0x1f512, 0x1f513), + CodeunitRange(0x1f53e, 0x1f545), + CodeunitRange(0x1f54a, 0x1f54a), + CodeunitRange(0x1f550, 0x1f579), + CodeunitRange(0x1f57b, 0x1f594), + CodeunitRange(0x1f597, 0x1f5a3), + CodeunitRange(0x1f5a5, 0x1f5fa), + CodeunitRange(0x1f650, 0x1f67f), + CodeunitRange(0x1f687, 0x1f687), + CodeunitRange(0x1f68d, 0x1f68d), + CodeunitRange(0x1f691, 0x1f691), + CodeunitRange(0x1f694, 0x1f694), + CodeunitRange(0x1f698, 0x1f698), + CodeunitRange(0x1f6ad, 0x1f6ad), + CodeunitRange(0x1f6b2, 0x1f6b2), + CodeunitRange(0x1f6b9, 0x1f6ba), + CodeunitRange(0x1f6bc, 0x1f6bc), + CodeunitRange(0x1f6c6, 0x1f6cb), + CodeunitRange(0x1f6cd, 0x1f6cf), + CodeunitRange(0x1f6d3, 0x1f6d7), + CodeunitRange(0x1f6e0, 0x1f6ea), + CodeunitRange(0x1f6f0, 0x1f6f3), + CodeunitRange(0x1f6f7, 0x1f6fc), + CodeunitRange(0x1f780, 0x1f7d8), + CodeunitRange(0x1f7e0, 0x1f7eb), + CodeunitRange(0x1f800, 0x1f80b), + CodeunitRange(0x1f810, 0x1f847), + CodeunitRange(0x1f850, 0x1f859), + CodeunitRange(0x1f860, 0x1f887), + CodeunitRange(0x1f890, 0x1f8ad), + CodeunitRange(0x1f8b0, 0x1f8b1), + CodeunitRange(0x1f93b, 0x1f93b), + CodeunitRange(0x1f946, 0x1f946), + CodeunitRange(0x1fa00, 0x1fa53), + CodeunitRange(0x1fa60, 0x1fa6d), + CodeunitRange(0x1fa70, 0x1fa74), + CodeunitRange(0x1fa78, 0x1fa7a), + CodeunitRange(0x1fa80, 0x1fa86), + CodeunitRange(0x1fa90, 0x1faa8), + CodeunitRange(0x1fab0, 0x1fab6), + CodeunitRange(0x1fac0, 0x1fac2), + CodeunitRange(0x1fad0, 0x1fad6), + CodeunitRange(0x1fb00, 0x1fb92), + CodeunitRange(0x1fb94, 0x1fbca), + CodeunitRange(0x1fbf0, 0x1fbf9), + ]), + NotoFont('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [ + CodeunitRange(0x20, 0x2f), + CodeunitRange(0x3a, 0x40), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xab, 0xab), + CodeunitRange(0xbb, 0xbb), + CodeunitRange(0x61f, 0x61f), + CodeunitRange(0x640, 0x640), + CodeunitRange(0x2013, 0x2015), + CodeunitRange(0x2018, 0x201e), + CodeunitRange(0x2020, 0x2022), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x2030, 0x2030), + CodeunitRange(0x2039, 0x203a), + CodeunitRange(0x2044, 0x2044), + CodeunitRange(0x204f, 0x204f), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2e28, 0x2e29), + CodeunitRange(0x2e41, 0x2e41), + CodeunitRange(0x1e900, 0x1e94b), + CodeunitRange(0x1e950, 0x1e959), + CodeunitRange(0x1e95e, 0x1e95f), + ]), + NotoFont('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200b), + CodeunitRange(0x14400, 0x14646), + ]), + NotoFont('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [ + CodeunitRange(0x20, 0x21), + CodeunitRange(0x2c, 0x2e), + CodeunitRange(0x30, 0x3a), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xab, 0xab), + CodeunitRange(0xbb, 0xbb), + CodeunitRange(0x34f, 0x34f), + CodeunitRange(0x600, 0x61c), + CodeunitRange(0x61e, 0x6ff), + CodeunitRange(0x750, 0x77f), + CodeunitRange(0x8a0, 0x8b4), + CodeunitRange(0x8b6, 0x8be), + CodeunitRange(0x8d3, 0x8ff), + CodeunitRange(0x200b, 0x2011), + CodeunitRange(0x204f, 0x204f), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2e41, 0x2e41), + CodeunitRange(0xfb50, 0xfbc1), + CodeunitRange(0xfbd3, 0xfd3f), + CodeunitRange(0xfd50, 0xfd8f), + CodeunitRange(0xfd92, 0xfdc7), + CodeunitRange(0xfdf0, 0xfdfd), + CodeunitRange(0xfe70, 0xfe74), + CodeunitRange(0xfe76, 0xfefc), + ]), + NotoFont('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v31/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x308, 0x308), + CodeunitRange(0x531, 0x556), + CodeunitRange(0x559, 0x58a), + CodeunitRange(0x58d, 0x58f), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xfb13, 0xfb17), + ]), + NotoFont('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v15/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2e, 0x2e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xb7, 0xb7), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x2e30, 0x2e31), + CodeunitRange(0x10b00, 0x10b35), + CodeunitRange(0x10b39, 0x10b3f), + ]), + NotoFont('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v16/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x3f, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1b00, 0x1b4b), + CodeunitRange(0x1b50, 0x1b7c), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v17/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xa6a0, 0xa6f7), + CodeunitRange(0x16800, 0x16a38), + ]), + NotoFont('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x16ad0, 0x16aed), + CodeunitRange(0x16af0, 0x16af5), + ]), + NotoFont('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1bc0, 0x1bf3), + CodeunitRange(0x1bfc, 0x1bff), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v17/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x2bc, 0x2bc), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0x980, 0x983), + CodeunitRange(0x985, 0x98c), + CodeunitRange(0x98f, 0x990), + CodeunitRange(0x993, 0x9a8), + CodeunitRange(0x9aa, 0x9b0), + CodeunitRange(0x9b2, 0x9b2), + CodeunitRange(0x9b6, 0x9b9), + CodeunitRange(0x9bc, 0x9c4), + CodeunitRange(0x9c7, 0x9c8), + CodeunitRange(0x9cb, 0x9ce), + CodeunitRange(0x9d7, 0x9d7), + CodeunitRange(0x9dc, 0x9dd), + CodeunitRange(0x9df, 0x9e3), + CodeunitRange(0x9e6, 0x9fe), + CodeunitRange(0x1cd0, 0x1cd0), + CodeunitRange(0x1cd2, 0x1cd2), + CodeunitRange(0x1cd5, 0x1cd6), + CodeunitRange(0x1cd8, 0x1cd8), + CodeunitRange(0x1ce1, 0x1ce1), + CodeunitRange(0x1cea, 0x1cea), + CodeunitRange(0x1ced, 0x1ced), + CodeunitRange(0x1cf2, 0x1cf2), + CodeunitRange(0x1cf5, 0x1cf7), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa8f1, 0xa8f1), + ]), + NotoFont('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200b), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11c00, 0x11c08), + CodeunitRange(0x11c0a, 0x11c36), + CodeunitRange(0x11c38, 0x11c45), + CodeunitRange(0x11c50, 0x11c6c), + ]), + NotoFont('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11000, 0x1104d), + CodeunitRange(0x11052, 0x1106f), + CodeunitRange(0x1107f, 0x1107f), + ]), + NotoFont('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1a00, 0x1a1b), + CodeunitRange(0x1a1e, 0x1a1f), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa9cf, 0xa9cf), + ]), + NotoFont('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v15/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1735, 0x1736), + CodeunitRange(0x1740, 0x1753), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x131, 0x131), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x2d8, 0x2db), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x1400, 0x167f), + CodeunitRange(0x18b0, 0x18f5), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x102a0, 0x102d0), + ]), + NotoFont('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x331, 0x331), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xfe20, 0xfe2f), + CodeunitRange(0x10530, 0x10563), + CodeunitRange(0x1056f, 0x1056f), + ]), + NotoFont('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x9e6, 0x9ef), + CodeunitRange(0x1040, 0x1049), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11100, 0x11134), + CodeunitRange(0x11136, 0x11146), + ]), + NotoFont('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [ + CodeunitRange(0x20, 0x22), + CodeunitRange(0x27, 0x29), + CodeunitRange(0x2c, 0x2f), + CodeunitRange(0x3a, 0x3b), + CodeunitRange(0x3f, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xaa00, 0xaa36), + CodeunitRange(0xaa40, 0xaa4d), + CodeunitRange(0xaa50, 0xaa59), + CodeunitRange(0xaa5c, 0xaa5f), + ]), + NotoFont('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v16/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x300, 0x302), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x30b, 0x30c), + CodeunitRange(0x323, 0x324), + CodeunitRange(0x330, 0x331), + CodeunitRange(0x13a0, 0x13f5), + CodeunitRange(0x13f8, 0x13fd), + CodeunitRange(0xab70, 0xabbf), + ]), + NotoFont('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x300, 0x302), + CodeunitRange(0x304, 0x305), + CodeunitRange(0x307, 0x308), + CodeunitRange(0x323, 0x323), + CodeunitRange(0x33f, 0x33f), + CodeunitRange(0x361, 0x361), + CodeunitRange(0x374, 0x375), + CodeunitRange(0x3e2, 0x3ef), + CodeunitRange(0x1dcd, 0x1dcd), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2c80, 0x2cf3), + CodeunitRange(0x2cf9, 0x2cff), + CodeunitRange(0xfe24, 0xfe26), + CodeunitRange(0x102e0, 0x102fb), + ]), + NotoFont('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x12000, 0x12399), + CodeunitRange(0x12400, 0x1246e), + CodeunitRange(0x12470, 0x12474), + CodeunitRange(0x12480, 0x12543), + ]), + NotoFont('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10800, 0x10805), + CodeunitRange(0x10808, 0x10808), + CodeunitRange(0x1080a, 0x10835), + CodeunitRange(0x10837, 0x10838), + CodeunitRange(0x1083c, 0x1083c), + CodeunitRange(0x1083f, 0x1083f), + ]), + NotoFont('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10400, 0x1044f), + ]), + NotoFont('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v16/TuGOUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv2lRdRhtCC4d.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x2bc, 0x2bc), + CodeunitRange(0x900, 0x97f), + CodeunitRange(0x1cd0, 0x1cf6), + CodeunitRange(0x1cf8, 0x1cf9), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x20f0, 0x20f0), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0xa8e0, 0xa8ff), + ]), + NotoFont('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x1bc00, 0x1bc6a), + CodeunitRange(0x1bc70, 0x1bc7c), + CodeunitRange(0x1bc80, 0x1bc88), + CodeunitRange(0x1bc90, 0x1bc99), + CodeunitRange(0x1bc9c, 0x1bca3), + ]), + NotoFont('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x13000, 0x1342e), + ]), + NotoFont('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xb7, 0xb7), + CodeunitRange(0x305, 0x305), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3da, 0x3da), + CodeunitRange(0x3dc, 0x3dc), + CodeunitRange(0x3de, 0x3de), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x10500, 0x10527), + ]), + NotoFont('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10fe0, 0x10ff6), + ]), + NotoFont('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v34/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x301, 0x302), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x308, 0x308), + CodeunitRange(0x589, 0x589), + CodeunitRange(0x10a0, 0x10c5), + CodeunitRange(0x10c7, 0x10c7), + CodeunitRange(0x10cd, 0x10cd), + CodeunitRange(0x10d0, 0x10ff), + CodeunitRange(0x1c90, 0x1cba), + CodeunitRange(0x1cbd, 0x1cbf), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x20be, 0x20be), + CodeunitRange(0x2d00, 0x2d25), + CodeunitRange(0x2d27, 0x2d27), + CodeunitRange(0x2d2d, 0x2d2d), + ]), + NotoFont('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x303, 0x303), + CodeunitRange(0x305, 0x305), + CodeunitRange(0x484, 0x484), + CodeunitRange(0x487, 0x487), + CodeunitRange(0x2c00, 0x2c2e), + CodeunitRange(0x2c30, 0x2c5e), + CodeunitRange(0xa66f, 0xa66f), + CodeunitRange(0x1e000, 0x1e006), + CodeunitRange(0x1e008, 0x1e018), + CodeunitRange(0x1e01b, 0x1e021), + CodeunitRange(0x1e023, 0x1e024), + CodeunitRange(0x1e026, 0x1e02a), + ]), + NotoFont('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x304, 0x305), + CodeunitRange(0x308, 0x308), + CodeunitRange(0x331, 0x331), + CodeunitRange(0x10330, 0x1034a), + ]), + NotoFont('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xbaa, 0xbaa), + CodeunitRange(0xbb5, 0xbb5), + CodeunitRange(0xbe6, 0xbf2), + CodeunitRange(0x1cd0, 0x1cd0), + CodeunitRange(0x1cd2, 0x1cd3), + CodeunitRange(0x1cf2, 0x1cf4), + CodeunitRange(0x1cf8, 0x1cf9), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x20f0, 0x20f0), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11300, 0x11303), + CodeunitRange(0x11305, 0x1130c), + CodeunitRange(0x1130f, 0x11310), + CodeunitRange(0x11313, 0x11328), + CodeunitRange(0x1132a, 0x11330), + CodeunitRange(0x11332, 0x11333), + CodeunitRange(0x11335, 0x11339), + CodeunitRange(0x1133b, 0x11344), + CodeunitRange(0x11347, 0x11348), + CodeunitRange(0x1134b, 0x1134d), + CodeunitRange(0x11350, 0x11350), + CodeunitRange(0x11357, 0x11357), + CodeunitRange(0x1135d, 0x11363), + CodeunitRange(0x11366, 0x1136c), + CodeunitRange(0x11370, 0x11374), + ]), + NotoFont('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v16/wlpsgx_HC1ti5ViekvcxnhMlCVo3f5p13JpDd6u3AQ.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xa81, 0xa83), + CodeunitRange(0xa85, 0xa8d), + CodeunitRange(0xa8f, 0xa91), + CodeunitRange(0xa93, 0xaa8), + CodeunitRange(0xaaa, 0xab0), + CodeunitRange(0xab2, 0xab3), + CodeunitRange(0xab5, 0xab9), + CodeunitRange(0xabc, 0xac5), + CodeunitRange(0xac7, 0xac9), + CodeunitRange(0xacb, 0xacd), + CodeunitRange(0xad0, 0xad0), + CodeunitRange(0xae0, 0xae3), + CodeunitRange(0xae6, 0xaf1), + CodeunitRange(0xaf9, 0xaff), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + ]), + NotoFont('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [ + CodeunitRange(0x20, 0x21), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x2f), + CodeunitRange(0x3a, 0x3a), + CodeunitRange(0x3c, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11d60, 0x11d65), + CodeunitRange(0x11d67, 0x11d68), + CodeunitRange(0x11d6a, 0x11d8e), + CodeunitRange(0x11d90, 0x11d91), + CodeunitRange(0x11d93, 0x11d98), + CodeunitRange(0x11da0, 0x11da9), + ]), + NotoFont('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v17/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xa01, 0xa03), + CodeunitRange(0xa05, 0xa0a), + CodeunitRange(0xa0f, 0xa10), + CodeunitRange(0xa13, 0xa28), + CodeunitRange(0xa2a, 0xa30), + CodeunitRange(0xa32, 0xa33), + CodeunitRange(0xa35, 0xa36), + CodeunitRange(0xa38, 0xa39), + CodeunitRange(0xa3c, 0xa3c), + CodeunitRange(0xa3e, 0xa42), + CodeunitRange(0xa47, 0xa48), + CodeunitRange(0xa4b, 0xa4d), + CodeunitRange(0xa51, 0xa51), + CodeunitRange(0xa59, 0xa5c), + CodeunitRange(0xa5e, 0xa5e), + CodeunitRange(0xa66, 0xa76), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x262c, 0x262c), + CodeunitRange(0xa830, 0xa839), + ]), + NotoFont('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0x103), + CodeunitRange(0x110, 0x113), + CodeunitRange(0x11a, 0x11b), + CodeunitRange(0x128, 0x12b), + CodeunitRange(0x143, 0x144), + CodeunitRange(0x147, 0x148), + CodeunitRange(0x14c, 0x14f), + CodeunitRange(0x152, 0x153), + CodeunitRange(0x168, 0x16d), + CodeunitRange(0x192, 0x192), + CodeunitRange(0x1a0, 0x1a1), + CodeunitRange(0x1af, 0x1b0), + CodeunitRange(0x1cd, 0x1dc), + CodeunitRange(0x1f8, 0x1f9), + CodeunitRange(0x251, 0x251), + CodeunitRange(0x261, 0x261), + CodeunitRange(0x2bb, 0x2bb), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x2c9, 0x2cb), + CodeunitRange(0x2d9, 0x2d9), + CodeunitRange(0x2ea, 0x2eb), + CodeunitRange(0x300, 0x301), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x30c, 0x30c), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3b1, 0x3c9), + CodeunitRange(0x401, 0x401), + CodeunitRange(0x410, 0x44f), + CodeunitRange(0x451, 0x451), + CodeunitRange(0x1e3e, 0x1e3f), + CodeunitRange(0x1ea0, 0x1ef9), + CodeunitRange(0x2002, 0x2003), + CodeunitRange(0x2010, 0x2016), + CodeunitRange(0x2018, 0x201a), + CodeunitRange(0x201c, 0x201e), + CodeunitRange(0x2020, 0x2022), + CodeunitRange(0x2025, 0x2027), + CodeunitRange(0x2030, 0x2030), + CodeunitRange(0x2032, 0x2033), + CodeunitRange(0x2035, 0x2035), + CodeunitRange(0x2039, 0x203c), + CodeunitRange(0x2042, 0x2042), + CodeunitRange(0x2047, 0x2049), + CodeunitRange(0x2051, 0x2051), + CodeunitRange(0x2074, 0x2074), + CodeunitRange(0x20a9, 0x20a9), + CodeunitRange(0x20ab, 0x20ac), + CodeunitRange(0x20dd, 0x20de), + CodeunitRange(0x2100, 0x2100), + CodeunitRange(0x2103, 0x2103), + CodeunitRange(0x2105, 0x2105), + CodeunitRange(0x2109, 0x210a), + CodeunitRange(0x210f, 0x210f), + CodeunitRange(0x2113, 0x2113), + CodeunitRange(0x2116, 0x2116), + CodeunitRange(0x2121, 0x2122), + CodeunitRange(0x2126, 0x2127), + CodeunitRange(0x212b, 0x212b), + CodeunitRange(0x212e, 0x212e), + CodeunitRange(0x2135, 0x2135), + CodeunitRange(0x213b, 0x213b), + CodeunitRange(0x2160, 0x216b), + CodeunitRange(0x2170, 0x217b), + CodeunitRange(0x2190, 0x2199), + CodeunitRange(0x21b8, 0x21b9), + CodeunitRange(0x21c4, 0x21c6), + CodeunitRange(0x21cb, 0x21cc), + CodeunitRange(0x21d0, 0x21d0), + CodeunitRange(0x21d2, 0x21d2), + CodeunitRange(0x21d4, 0x21d4), + CodeunitRange(0x21e6, 0x21e9), + CodeunitRange(0x21f5, 0x21f5), + CodeunitRange(0x2200, 0x2200), + CodeunitRange(0x2202, 0x2203), + CodeunitRange(0x2205, 0x220b), + CodeunitRange(0x220f, 0x220f), + CodeunitRange(0x2211, 0x2213), + CodeunitRange(0x2215, 0x2215), + CodeunitRange(0x221a, 0x221a), + CodeunitRange(0x221d, 0x2220), + CodeunitRange(0x2223, 0x2223), + CodeunitRange(0x2225, 0x222e), + CodeunitRange(0x2234, 0x2237), + CodeunitRange(0x223d, 0x223d), + CodeunitRange(0x2243, 0x2243), + CodeunitRange(0x2245, 0x2245), + CodeunitRange(0x2248, 0x2248), + CodeunitRange(0x224c, 0x224c), + CodeunitRange(0x2252, 0x2252), + CodeunitRange(0x2260, 0x2262), + CodeunitRange(0x2264, 0x2267), + CodeunitRange(0x226a, 0x226b), + CodeunitRange(0x226e, 0x226f), + CodeunitRange(0x2272, 0x2273), + CodeunitRange(0x2276, 0x2277), + CodeunitRange(0x2282, 0x2287), + CodeunitRange(0x228a, 0x228b), + CodeunitRange(0x2295, 0x2299), + CodeunitRange(0x22a0, 0x22a0), + CodeunitRange(0x22a5, 0x22a5), + CodeunitRange(0x22bf, 0x22bf), + CodeunitRange(0x22da, 0x22db), + CodeunitRange(0x22ef, 0x22ef), + CodeunitRange(0x2305, 0x2307), + CodeunitRange(0x2312, 0x2312), + CodeunitRange(0x2318, 0x2318), + CodeunitRange(0x2329, 0x232a), + CodeunitRange(0x23b0, 0x23b1), + CodeunitRange(0x23be, 0x23cc), + CodeunitRange(0x23ce, 0x23ce), + CodeunitRange(0x23da, 0x23db), + CodeunitRange(0x2423, 0x2423), + CodeunitRange(0x2460, 0x25ab), + CodeunitRange(0x25b1, 0x25b3), + CodeunitRange(0x25b6, 0x25b7), + CodeunitRange(0x25bc, 0x25bd), + CodeunitRange(0x25c0, 0x25c1), + CodeunitRange(0x25c6, 0x25cc), + CodeunitRange(0x25ce, 0x25d3), + CodeunitRange(0x25e2, 0x25e6), + CodeunitRange(0x25ef, 0x25ef), + CodeunitRange(0x2600, 0x2603), + CodeunitRange(0x2605, 0x2606), + CodeunitRange(0x2609, 0x2609), + CodeunitRange(0x260e, 0x260f), + CodeunitRange(0x2616, 0x2617), + CodeunitRange(0x261c, 0x261f), + CodeunitRange(0x262f, 0x262f), + CodeunitRange(0x2640, 0x2642), + CodeunitRange(0x2660, 0x266f), + CodeunitRange(0x2672, 0x267d), + CodeunitRange(0x26a0, 0x26a0), + CodeunitRange(0x26bd, 0x26be), + CodeunitRange(0x2702, 0x2702), + CodeunitRange(0x2713, 0x2713), + CodeunitRange(0x271a, 0x271a), + CodeunitRange(0x273d, 0x273d), + CodeunitRange(0x273f, 0x2740), + CodeunitRange(0x2756, 0x2756), + CodeunitRange(0x2776, 0x2793), + CodeunitRange(0x27a1, 0x27a1), + CodeunitRange(0x2934, 0x2935), + CodeunitRange(0x29bf, 0x29bf), + CodeunitRange(0x29fa, 0x29fb), + CodeunitRange(0x2b05, 0x2b07), + CodeunitRange(0x2b1a, 0x2b1a), + CodeunitRange(0x2b95, 0x2b95), + CodeunitRange(0x2e3a, 0x2e3b), + CodeunitRange(0x2e80, 0x2e99), + CodeunitRange(0x2e9b, 0x2ef3), + CodeunitRange(0x2f00, 0x2fd5), + CodeunitRange(0x2ff0, 0x2ffb), + CodeunitRange(0x3000, 0x303f), + CodeunitRange(0x3041, 0x3096), + CodeunitRange(0x3099, 0x30ff), + CodeunitRange(0x3105, 0x312f), + CodeunitRange(0x3131, 0x3163), + CodeunitRange(0x3165, 0x318e), + CodeunitRange(0x3190, 0x31bb), + CodeunitRange(0x31c0, 0x31e3), + CodeunitRange(0x31f0, 0x321e), + CodeunitRange(0x3220, 0x332b), + CodeunitRange(0x332d, 0x33ff), + CodeunitRange(0x3435, 0x3435), + CodeunitRange(0x3440, 0x3440), + CodeunitRange(0x344a, 0x344a), + CodeunitRange(0x344c, 0x344c), + CodeunitRange(0x3464, 0x3464), + CodeunitRange(0x3473, 0x3473), + CodeunitRange(0x347a, 0x347a), + CodeunitRange(0x347d, 0x347e), + CodeunitRange(0x3493, 0x3493), + CodeunitRange(0x3496, 0x3496), + CodeunitRange(0x34a5, 0x34a5), + CodeunitRange(0x34af, 0x34af), + CodeunitRange(0x34bc, 0x34bc), + CodeunitRange(0x34c1, 0x34c1), + CodeunitRange(0x34c8, 0x34c8), + CodeunitRange(0x34df, 0x34df), + CodeunitRange(0x34e4, 0x34e4), + CodeunitRange(0x34e6, 0x34e6), + CodeunitRange(0x34fb, 0x34fb), + CodeunitRange(0x3506, 0x3506), + CodeunitRange(0x353e, 0x353e), + CodeunitRange(0x3551, 0x3551), + CodeunitRange(0x3553, 0x3553), + CodeunitRange(0x3559, 0x3559), + CodeunitRange(0x3561, 0x3561), + CodeunitRange(0x356d, 0x356d), + CodeunitRange(0x3570, 0x3570), + CodeunitRange(0x3572, 0x3572), + CodeunitRange(0x3577, 0x3578), + CodeunitRange(0x3584, 0x3584), + CodeunitRange(0x3597, 0x3598), + CodeunitRange(0x35a1, 0x35a1), + CodeunitRange(0x35a5, 0x35a5), + CodeunitRange(0x35ad, 0x35ad), + CodeunitRange(0x35bf, 0x35bf), + CodeunitRange(0x35c1, 0x35c1), + CodeunitRange(0x35c5, 0x35c5), + CodeunitRange(0x35c7, 0x35c7), + CodeunitRange(0x35ca, 0x35ca), + CodeunitRange(0x35ce, 0x35ce), + CodeunitRange(0x35d2, 0x35d2), + CodeunitRange(0x35d6, 0x35d6), + CodeunitRange(0x35db, 0x35db), + CodeunitRange(0x35dd, 0x35dd), + CodeunitRange(0x35f1, 0x35f3), + CodeunitRange(0x35fb, 0x35fb), + CodeunitRange(0x35fe, 0x35fe), + CodeunitRange(0x3609, 0x3609), + CodeunitRange(0x3618, 0x3618), + CodeunitRange(0x361a, 0x361a), + CodeunitRange(0x3623, 0x3623), + CodeunitRange(0x3625, 0x3625), + CodeunitRange(0x362d, 0x362d), + CodeunitRange(0x3635, 0x3635), + CodeunitRange(0x3639, 0x3639), + CodeunitRange(0x363e, 0x363e), + CodeunitRange(0x3647, 0x3649), + CodeunitRange(0x364e, 0x364e), + CodeunitRange(0x365f, 0x365f), + CodeunitRange(0x3661, 0x3661), + CodeunitRange(0x367a, 0x367a), + CodeunitRange(0x3681, 0x3681), + CodeunitRange(0x369a, 0x369a), + CodeunitRange(0x36a5, 0x36a5), + CodeunitRange(0x36aa, 0x36aa), + CodeunitRange(0x36ac, 0x36ac), + CodeunitRange(0x36b0, 0x36b1), + CodeunitRange(0x36b5, 0x36b5), + CodeunitRange(0x36b9, 0x36b9), + CodeunitRange(0x36bc, 0x36bc), + CodeunitRange(0x36c1, 0x36c1), + CodeunitRange(0x36c3, 0x36c5), + CodeunitRange(0x36c7, 0x36c8), + CodeunitRange(0x36d3, 0x36d4), + CodeunitRange(0x36d6, 0x36d6), + CodeunitRange(0x36dd, 0x36dd), + CodeunitRange(0x36e1, 0x36e2), + CodeunitRange(0x36e5, 0x36e6), + CodeunitRange(0x36f5, 0x36f5), + CodeunitRange(0x3701, 0x3701), + CodeunitRange(0x3703, 0x3703), + CodeunitRange(0x3708, 0x3708), + CodeunitRange(0x370a, 0x370a), + CodeunitRange(0x370d, 0x370d), + CodeunitRange(0x371c, 0x371c), + CodeunitRange(0x3722, 0x3723), + CodeunitRange(0x3725, 0x3725), + CodeunitRange(0x372c, 0x372d), + CodeunitRange(0x3730, 0x3730), + CodeunitRange(0x3732, 0x3733), + CodeunitRange(0x373a, 0x373a), + CodeunitRange(0x3740, 0x3740), + CodeunitRange(0x3743, 0x3743), + CodeunitRange(0x3762, 0x3762), + CodeunitRange(0x376f, 0x376f), + CodeunitRange(0x3797, 0x3797), + CodeunitRange(0x37a0, 0x37a0), + CodeunitRange(0x37b9, 0x37b9), + CodeunitRange(0x37be, 0x37be), + CodeunitRange(0x37d6, 0x37d6), + CodeunitRange(0x37f2, 0x37f2), + CodeunitRange(0x37f8, 0x37f8), + CodeunitRange(0x37fb, 0x37fb), + CodeunitRange(0x380f, 0x380f), + CodeunitRange(0x3819, 0x3819), + CodeunitRange(0x3820, 0x3820), + CodeunitRange(0x382d, 0x382d), + CodeunitRange(0x3836, 0x3836), + CodeunitRange(0x3838, 0x3838), + CodeunitRange(0x3863, 0x3863), + CodeunitRange(0x3875, 0x3875), + CodeunitRange(0x38a0, 0x38a0), + CodeunitRange(0x38c3, 0x38c3), + CodeunitRange(0x38cc, 0x38cc), + CodeunitRange(0x38d1, 0x38d1), + CodeunitRange(0x38d4, 0x38d4), + CodeunitRange(0x38fa, 0x38fa), + CodeunitRange(0x3908, 0x3908), + CodeunitRange(0x3914, 0x3914), + CodeunitRange(0x3927, 0x3927), + CodeunitRange(0x3932, 0x3932), + CodeunitRange(0x393f, 0x393f), + CodeunitRange(0x394d, 0x394d), + CodeunitRange(0x3963, 0x3963), + CodeunitRange(0x3978, 0x3978), + CodeunitRange(0x3980, 0x3980), + CodeunitRange(0x3989, 0x398a), + CodeunitRange(0x3992, 0x3992), + CodeunitRange(0x3999, 0x3999), + CodeunitRange(0x399b, 0x399b), + CodeunitRange(0x39a1, 0x39a1), + CodeunitRange(0x39a4, 0x39a4), + CodeunitRange(0x39b8, 0x39b8), + CodeunitRange(0x39dc, 0x39dc), + CodeunitRange(0x39e2, 0x39e2), + CodeunitRange(0x39e5, 0x39e5), + CodeunitRange(0x39ec, 0x39ec), + CodeunitRange(0x39f8, 0x39f8), + CodeunitRange(0x39fb, 0x39fb), + CodeunitRange(0x39fe, 0x39fe), + CodeunitRange(0x3a01, 0x3a01), + CodeunitRange(0x3a03, 0x3a03), + CodeunitRange(0x3a06, 0x3a06), + CodeunitRange(0x3a17, 0x3a18), + CodeunitRange(0x3a29, 0x3a2a), + CodeunitRange(0x3a34, 0x3a34), + CodeunitRange(0x3a4b, 0x3a4b), + CodeunitRange(0x3a52, 0x3a52), + CodeunitRange(0x3a57, 0x3a57), + CodeunitRange(0x3a5c, 0x3a5c), + CodeunitRange(0x3a5e, 0x3a5e), + CodeunitRange(0x3a66, 0x3a67), + CodeunitRange(0x3a97, 0x3a97), + CodeunitRange(0x3aab, 0x3aab), + CodeunitRange(0x3abd, 0x3abd), + CodeunitRange(0x3ade, 0x3ade), + CodeunitRange(0x3ae0, 0x3ae0), + CodeunitRange(0x3af0, 0x3af0), + CodeunitRange(0x3af2, 0x3af2), + CodeunitRange(0x3af5, 0x3af5), + CodeunitRange(0x3afb, 0x3afb), + CodeunitRange(0x3b0e, 0x3b0e), + CodeunitRange(0x3b19, 0x3b19), + CodeunitRange(0x3b22, 0x3b22), + CodeunitRange(0x3b2b, 0x3b2b), + CodeunitRange(0x3b39, 0x3b39), + CodeunitRange(0x3b42, 0x3b42), + CodeunitRange(0x3b58, 0x3b58), + CodeunitRange(0x3b60, 0x3b60), + CodeunitRange(0x3b71, 0x3b72), + CodeunitRange(0x3b7b, 0x3b7c), + CodeunitRange(0x3b80, 0x3b80), + CodeunitRange(0x3b95, 0x3b96), + CodeunitRange(0x3b99, 0x3b99), + CodeunitRange(0x3ba1, 0x3ba1), + CodeunitRange(0x3bbc, 0x3bbc), + CodeunitRange(0x3bbe, 0x3bbe), + CodeunitRange(0x3bc2, 0x3bc2), + CodeunitRange(0x3bc4, 0x3bc4), + CodeunitRange(0x3bd7, 0x3bd7), + CodeunitRange(0x3bdd, 0x3bdd), + CodeunitRange(0x3bec, 0x3bec), + CodeunitRange(0x3bf2, 0x3bf4), + CodeunitRange(0x3c0d, 0x3c0d), + CodeunitRange(0x3c11, 0x3c11), + CodeunitRange(0x3c15, 0x3c15), + CodeunitRange(0x3c18, 0x3c18), + CodeunitRange(0x3c54, 0x3c54), + CodeunitRange(0x3c8b, 0x3c8b), + CodeunitRange(0x3ccb, 0x3ccb), + CodeunitRange(0x3ccd, 0x3ccd), + CodeunitRange(0x3cd1, 0x3cd1), + CodeunitRange(0x3cd6, 0x3cd6), + CodeunitRange(0x3cdc, 0x3cdc), + CodeunitRange(0x3ceb, 0x3ceb), + CodeunitRange(0x3cef, 0x3cef), + CodeunitRange(0x3d12, 0x3d13), + CodeunitRange(0x3d1d, 0x3d1d), + CodeunitRange(0x3d32, 0x3d32), + CodeunitRange(0x3d3b, 0x3d3b), + CodeunitRange(0x3d46, 0x3d46), + CodeunitRange(0x3d4c, 0x3d4c), + CodeunitRange(0x3d4e, 0x3d4e), + CodeunitRange(0x3d51, 0x3d51), + CodeunitRange(0x3d5f, 0x3d5f), + CodeunitRange(0x3d62, 0x3d62), + CodeunitRange(0x3d69, 0x3d6a), + CodeunitRange(0x3d6f, 0x3d6f), + CodeunitRange(0x3d75, 0x3d75), + CodeunitRange(0x3d7d, 0x3d7d), + CodeunitRange(0x3d85, 0x3d85), + CodeunitRange(0x3d88, 0x3d88), + CodeunitRange(0x3d8a, 0x3d8a), + CodeunitRange(0x3d8f, 0x3d8f), + CodeunitRange(0x3d91, 0x3d91), + CodeunitRange(0x3da5, 0x3da5), + CodeunitRange(0x3dad, 0x3dad), + CodeunitRange(0x3db4, 0x3db4), + CodeunitRange(0x3dbf, 0x3dbf), + CodeunitRange(0x3dc6, 0x3dc7), + CodeunitRange(0x3dc9, 0x3dc9), + CodeunitRange(0x3dcc, 0x3dcd), + CodeunitRange(0x3dd3, 0x3dd3), + CodeunitRange(0x3ddb, 0x3ddb), + CodeunitRange(0x3de7, 0x3de8), + CodeunitRange(0x3deb, 0x3deb), + CodeunitRange(0x3df3, 0x3df4), + CodeunitRange(0x3df7, 0x3df7), + CodeunitRange(0x3dfc, 0x3dfd), + CodeunitRange(0x3e06, 0x3e06), + CodeunitRange(0x3e40, 0x3e40), + CodeunitRange(0x3e43, 0x3e43), + CodeunitRange(0x3e48, 0x3e48), + CodeunitRange(0x3e55, 0x3e55), + CodeunitRange(0x3e74, 0x3e74), + CodeunitRange(0x3ea8, 0x3eaa), + CodeunitRange(0x3ead, 0x3ead), + CodeunitRange(0x3eb1, 0x3eb1), + CodeunitRange(0x3eb8, 0x3eb8), + CodeunitRange(0x3ebf, 0x3ebf), + CodeunitRange(0x3ec2, 0x3ec2), + CodeunitRange(0x3ec7, 0x3ec7), + CodeunitRange(0x3eca, 0x3eca), + CodeunitRange(0x3ecc, 0x3ecc), + CodeunitRange(0x3ed0, 0x3ed1), + CodeunitRange(0x3ed6, 0x3ed7), + CodeunitRange(0x3eda, 0x3edb), + CodeunitRange(0x3ede, 0x3ede), + CodeunitRange(0x3ee1, 0x3ee2), + CodeunitRange(0x3ee7, 0x3ee7), + CodeunitRange(0x3ee9, 0x3ee9), + CodeunitRange(0x3eeb, 0x3eec), + CodeunitRange(0x3ef0, 0x3ef0), + CodeunitRange(0x3ef3, 0x3ef4), + CodeunitRange(0x3efa, 0x3efa), + CodeunitRange(0x3efc, 0x3efc), + CodeunitRange(0x3eff, 0x3f00), + CodeunitRange(0x3f04, 0x3f04), + CodeunitRange(0x3f06, 0x3f07), + CodeunitRange(0x3f0e, 0x3f0e), + CodeunitRange(0x3f53, 0x3f53), + CodeunitRange(0x3f58, 0x3f59), + CodeunitRange(0x3f63, 0x3f63), + CodeunitRange(0x3f7c, 0x3f7c), + CodeunitRange(0x3f93, 0x3f93), + CodeunitRange(0x3fc0, 0x3fc0), + CodeunitRange(0x3fc8, 0x3fc8), + CodeunitRange(0x3fd7, 0x3fd7), + CodeunitRange(0x3fdc, 0x3fdc), + CodeunitRange(0x3fe5, 0x3fe5), + CodeunitRange(0x3fed, 0x3fed), + CodeunitRange(0x3ff9, 0x3ffa), + CodeunitRange(0x4004, 0x4004), + CodeunitRange(0x4009, 0x4009), + CodeunitRange(0x401d, 0x401d), + CodeunitRange(0x4039, 0x4039), + CodeunitRange(0x4045, 0x4045), + CodeunitRange(0x4053, 0x4053), + CodeunitRange(0x4057, 0x4057), + CodeunitRange(0x4062, 0x4062), + CodeunitRange(0x4065, 0x4065), + CodeunitRange(0x406a, 0x406a), + CodeunitRange(0x406f, 0x406f), + CodeunitRange(0x4071, 0x4071), + CodeunitRange(0x40a8, 0x40a8), + CodeunitRange(0x40b4, 0x40b4), + CodeunitRange(0x40bb, 0x40bb), + CodeunitRange(0x40bf, 0x40bf), + CodeunitRange(0x40c8, 0x40c8), + CodeunitRange(0x40d8, 0x40d8), + CodeunitRange(0x40df, 0x40df), + CodeunitRange(0x40f8, 0x40f8), + CodeunitRange(0x40fa, 0x40fa), + CodeunitRange(0x4102, 0x4104), + CodeunitRange(0x4109, 0x4109), + CodeunitRange(0x410e, 0x410e), + CodeunitRange(0x4131, 0x4132), + CodeunitRange(0x4167, 0x4167), + CodeunitRange(0x416c, 0x416c), + CodeunitRange(0x416e, 0x416e), + CodeunitRange(0x417c, 0x417c), + CodeunitRange(0x417f, 0x417f), + CodeunitRange(0x4181, 0x4181), + CodeunitRange(0x4190, 0x4190), + CodeunitRange(0x41b2, 0x41b2), + CodeunitRange(0x41c4, 0x41c4), + CodeunitRange(0x41ca, 0x41ca), + CodeunitRange(0x41cf, 0x41cf), + CodeunitRange(0x41db, 0x41db), + CodeunitRange(0x41ed, 0x41ed), + CodeunitRange(0x41ef, 0x41ef), + CodeunitRange(0x41f9, 0x41f9), + CodeunitRange(0x4211, 0x4211), + CodeunitRange(0x4223, 0x4223), + CodeunitRange(0x4240, 0x4240), + CodeunitRange(0x4260, 0x4260), + CodeunitRange(0x426a, 0x426a), + CodeunitRange(0x4276, 0x4276), + CodeunitRange(0x427a, 0x427a), + CodeunitRange(0x428c, 0x428c), + CodeunitRange(0x4294, 0x4294), + CodeunitRange(0x42a2, 0x42a2), + CodeunitRange(0x42b5, 0x42b5), + CodeunitRange(0x42b9, 0x42b9), + CodeunitRange(0x42bc, 0x42bc), + CodeunitRange(0x42f4, 0x42f4), + CodeunitRange(0x42fb, 0x42fc), + CodeunitRange(0x430a, 0x430a), + CodeunitRange(0x432b, 0x432b), + CodeunitRange(0x436e, 0x436e), + CodeunitRange(0x4397, 0x4397), + CodeunitRange(0x439a, 0x439a), + CodeunitRange(0x43ba, 0x43ba), + CodeunitRange(0x43c1, 0x43c1), + CodeunitRange(0x43d9, 0x43d9), + CodeunitRange(0x43df, 0x43df), + CodeunitRange(0x43ed, 0x43ed), + CodeunitRange(0x43f0, 0x43f0), + CodeunitRange(0x43f2, 0x43f2), + CodeunitRange(0x4401, 0x4402), + CodeunitRange(0x4413, 0x4413), + CodeunitRange(0x4425, 0x4425), + CodeunitRange(0x442d, 0x442d), + CodeunitRange(0x447a, 0x447a), + CodeunitRange(0x448f, 0x448f), + CodeunitRange(0x4491, 0x4491), + CodeunitRange(0x449f, 0x44a0), + CodeunitRange(0x44a2, 0x44a2), + CodeunitRange(0x44b0, 0x44b0), + CodeunitRange(0x44b7, 0x44b7), + CodeunitRange(0x44bd, 0x44bd), + CodeunitRange(0x44c0, 0x44c0), + CodeunitRange(0x44c3, 0x44c3), + CodeunitRange(0x44c5, 0x44c5), + CodeunitRange(0x44ce, 0x44ce), + CodeunitRange(0x44dd, 0x44df), + CodeunitRange(0x44e1, 0x44e1), + CodeunitRange(0x44e4, 0x44e4), + CodeunitRange(0x44e9, 0x44ec), + CodeunitRange(0x44f4, 0x44f4), + CodeunitRange(0x4503, 0x4504), + CodeunitRange(0x4509, 0x4509), + CodeunitRange(0x450b, 0x450b), + CodeunitRange(0x4516, 0x4516), + CodeunitRange(0x451b, 0x451b), + CodeunitRange(0x451d, 0x451d), + CodeunitRange(0x4527, 0x4527), + CodeunitRange(0x452e, 0x452e), + CodeunitRange(0x4533, 0x4533), + CodeunitRange(0x4536, 0x4536), + CodeunitRange(0x453b, 0x453b), + CodeunitRange(0x453d, 0x453d), + CodeunitRange(0x453f, 0x453f), + CodeunitRange(0x4543, 0x4543), + CodeunitRange(0x4551, 0x4552), + CodeunitRange(0x4555, 0x4555), + CodeunitRange(0x4558, 0x4558), + CodeunitRange(0x455c, 0x455c), + CodeunitRange(0x4561, 0x4562), + CodeunitRange(0x456a, 0x456a), + CodeunitRange(0x456d, 0x456d), + CodeunitRange(0x4577, 0x4578), + CodeunitRange(0x4585, 0x4585), + CodeunitRange(0x45a6, 0x45a6), + CodeunitRange(0x45b3, 0x45b3), + CodeunitRange(0x45da, 0x45da), + CodeunitRange(0x45e9, 0x45ea), + CodeunitRange(0x4603, 0x4603), + CodeunitRange(0x4606, 0x4606), + CodeunitRange(0x460f, 0x460f), + CodeunitRange(0x4615, 0x4615), + CodeunitRange(0x4617, 0x4617), + CodeunitRange(0x465b, 0x465b), + CodeunitRange(0x467a, 0x467a), + CodeunitRange(0x4680, 0x4680), + CodeunitRange(0x46a1, 0x46a1), + CodeunitRange(0x46ae, 0x46ae), + CodeunitRange(0x46bb, 0x46bb), + CodeunitRange(0x46cf, 0x46d0), + CodeunitRange(0x46f5, 0x46f5), + CodeunitRange(0x46f7, 0x46f7), + CodeunitRange(0x4713, 0x4713), + CodeunitRange(0x4718, 0x4718), + CodeunitRange(0x4736, 0x4736), + CodeunitRange(0x4744, 0x4744), + CodeunitRange(0x474e, 0x474f), + CodeunitRange(0x477c, 0x477c), + CodeunitRange(0x4798, 0x4798), + CodeunitRange(0x47a6, 0x47a6), + CodeunitRange(0x47d5, 0x47d5), + CodeunitRange(0x47ed, 0x47ed), + CodeunitRange(0x47f4, 0x47f4), + CodeunitRange(0x4800, 0x4800), + CodeunitRange(0x480b, 0x480b), + CodeunitRange(0x4837, 0x4837), + CodeunitRange(0x485d, 0x485d), + CodeunitRange(0x4871, 0x4871), + CodeunitRange(0x489b, 0x489b), + CodeunitRange(0x48ad, 0x48ae), + CodeunitRange(0x48d0, 0x48d0), + CodeunitRange(0x48dd, 0x48dd), + CodeunitRange(0x48ed, 0x48ed), + CodeunitRange(0x48f3, 0x48f3), + CodeunitRange(0x48fa, 0x48fa), + CodeunitRange(0x4906, 0x4906), + CodeunitRange(0x4911, 0x4911), + CodeunitRange(0x491e, 0x491e), + CodeunitRange(0x4925, 0x4925), + CodeunitRange(0x492a, 0x492a), + CodeunitRange(0x492d, 0x492d), + CodeunitRange(0x492f, 0x4930), + CodeunitRange(0x4935, 0x4935), + CodeunitRange(0x493c, 0x493c), + CodeunitRange(0x493e, 0x493e), + CodeunitRange(0x4945, 0x4945), + CodeunitRange(0x4951, 0x4951), + CodeunitRange(0x4953, 0x4953), + CodeunitRange(0x4965, 0x4965), + CodeunitRange(0x496a, 0x496a), + CodeunitRange(0x4972, 0x4972), + CodeunitRange(0x4989, 0x4989), + CodeunitRange(0x49a1, 0x49a1), + CodeunitRange(0x49a7, 0x49a7), + CodeunitRange(0x49df, 0x49df), + CodeunitRange(0x49e5, 0x49e5), + CodeunitRange(0x49e7, 0x49e7), + CodeunitRange(0x4a0f, 0x4a0f), + CodeunitRange(0x4a1d, 0x4a1d), + CodeunitRange(0x4a24, 0x4a24), + CodeunitRange(0x4a35, 0x4a35), + CodeunitRange(0x4a96, 0x4a96), + CodeunitRange(0x4aa4, 0x4aa4), + CodeunitRange(0x4ab4, 0x4ab4), + CodeunitRange(0x4ab8, 0x4ab8), + CodeunitRange(0x4ad1, 0x4ad1), + CodeunitRange(0x4ae4, 0x4ae4), + CodeunitRange(0x4aff, 0x4aff), + CodeunitRange(0x4b10, 0x4b10), + CodeunitRange(0x4b19, 0x4b19), + CodeunitRange(0x4b20, 0x4b20), + CodeunitRange(0x4b2c, 0x4b2c), + CodeunitRange(0x4b37, 0x4b37), + CodeunitRange(0x4b6f, 0x4b70), + CodeunitRange(0x4b72, 0x4b72), + CodeunitRange(0x4b7b, 0x4b7b), + CodeunitRange(0x4b7e, 0x4b7e), + CodeunitRange(0x4b8e, 0x4b8e), + CodeunitRange(0x4b90, 0x4b90), + CodeunitRange(0x4b93, 0x4b93), + CodeunitRange(0x4b96, 0x4b97), + CodeunitRange(0x4b9d, 0x4b9d), + CodeunitRange(0x4bbd, 0x4bbe), + CodeunitRange(0x4bc0, 0x4bc0), + CodeunitRange(0x4c04, 0x4c04), + CodeunitRange(0x4c07, 0x4c07), + CodeunitRange(0x4c0e, 0x4c0e), + CodeunitRange(0x4c32, 0x4c32), + CodeunitRange(0x4c3b, 0x4c3b), + CodeunitRange(0x4c3e, 0x4c3e), + CodeunitRange(0x4c40, 0x4c40), + CodeunitRange(0x4c47, 0x4c47), + CodeunitRange(0x4c57, 0x4c57), + CodeunitRange(0x4c5b, 0x4c5b), + CodeunitRange(0x4c6d, 0x4c6d), + CodeunitRange(0x4c77, 0x4c77), + CodeunitRange(0x4c7b, 0x4c7b), + CodeunitRange(0x4c7d, 0x4c7d), + CodeunitRange(0x4c81, 0x4c81), + CodeunitRange(0x4c85, 0x4c85), + CodeunitRange(0x4ca4, 0x4ca4), + CodeunitRange(0x4cae, 0x4cae), + CodeunitRange(0x4cb0, 0x4cb0), + CodeunitRange(0x4cb7, 0x4cb7), + CodeunitRange(0x4ccd, 0x4ccd), + CodeunitRange(0x4ce1, 0x4ce2), + CodeunitRange(0x4ced, 0x4ced), + CodeunitRange(0x4d07, 0x4d07), + CodeunitRange(0x4d09, 0x4d09), + CodeunitRange(0x4d10, 0x4d10), + CodeunitRange(0x4d34, 0x4d34), + CodeunitRange(0x4d76, 0x4d77), + CodeunitRange(0x4d89, 0x4d89), + CodeunitRange(0x4d91, 0x4d91), + CodeunitRange(0x4d9c, 0x4d9c), + CodeunitRange(0x4e00, 0x4e01), + CodeunitRange(0x4e03, 0x4e04), + CodeunitRange(0x4e07, 0x4e11), + CodeunitRange(0x4e14, 0x4e16), + CodeunitRange(0x4e18, 0x4e1a), + CodeunitRange(0x4e1c, 0x4e1c), + CodeunitRange(0x4e1e, 0x4e1f), + CodeunitRange(0x4e21, 0x4e22), + CodeunitRange(0x4e24, 0x4e24), + CodeunitRange(0x4e26, 0x4e26), + CodeunitRange(0x4e28, 0x4e28), + CodeunitRange(0x4e2a, 0x4e33), + CodeunitRange(0x4e36, 0x4e39), + CodeunitRange(0x4e3b, 0x4e3d), + CodeunitRange(0x4e3f, 0x4e3f), + CodeunitRange(0x4e42, 0x4e43), + CodeunitRange(0x4e45, 0x4e45), + CodeunitRange(0x4e47, 0x4e49), + CodeunitRange(0x4e4b, 0x4e4b), + CodeunitRange(0x4e4d, 0x4e4f), + CodeunitRange(0x4e52, 0x4e53), + CodeunitRange(0x4e56, 0x4e56), + CodeunitRange(0x4e58, 0x4e5f), + CodeunitRange(0x4e69, 0x4e6a), + CodeunitRange(0x4e73, 0x4e73), + CodeunitRange(0x4e78, 0x4e78), + CodeunitRange(0x4e7e, 0x4e89), + CodeunitRange(0x4e8b, 0x4e8e), + CodeunitRange(0x4e91, 0x4e95), + CodeunitRange(0x4e98, 0x4e9b), + CodeunitRange(0x4e9e, 0x4ea6), + CodeunitRange(0x4ea8, 0x4ea8), + CodeunitRange(0x4eab, 0x4eae), + CodeunitRange(0x4eb3, 0x4eb3), + CodeunitRange(0x4eb6, 0x4eb7), + CodeunitRange(0x4eb9, 0x4ebc), + CodeunitRange(0x4ebf, 0x4ec4), + CodeunitRange(0x4ec6, 0x4ecb), + CodeunitRange(0x4ecd, 0x4ece), + CodeunitRange(0x4ed4, 0x4eda), + CodeunitRange(0x4edc, 0x4edf), + CodeunitRange(0x4ee1, 0x4ee1), + CodeunitRange(0x4ee3, 0x4ee5), + CodeunitRange(0x4ee8, 0x4eeb), + CodeunitRange(0x4eee, 0x4eee), + CodeunitRange(0x4ef0, 0x4ef8), + CodeunitRange(0x4efb, 0x4efb), + CodeunitRange(0x4efd, 0x4efd), + CodeunitRange(0x4eff, 0x4f05), + CodeunitRange(0x4f08, 0x4f0b), + CodeunitRange(0x4f0d, 0x4f15), + CodeunitRange(0x4f17, 0x4f1a), + CodeunitRange(0x4f1d, 0x4f1d), + CodeunitRange(0x4f22, 0x4f22), + CodeunitRange(0x4f28, 0x4f29), + CodeunitRange(0x4f2c, 0x4f2d), + CodeunitRange(0x4f2f, 0x4f30), + CodeunitRange(0x4f32, 0x4f34), + CodeunitRange(0x4f36, 0x4f3f), + CodeunitRange(0x4f41, 0x4f43), + CodeunitRange(0x4f45, 0x4f49), + CodeunitRange(0x4f4b, 0x4f64), + CodeunitRange(0x4f67, 0x4f67), + CodeunitRange(0x4f69, 0x4f6c), + CodeunitRange(0x4f6e, 0x4f70), + CodeunitRange(0x4f72, 0x4f8b), + CodeunitRange(0x4f8d, 0x4f8d), + CodeunitRange(0x4f8f, 0x4f92), + CodeunitRange(0x4f94, 0x4f98), + CodeunitRange(0x4f9a, 0x4f9e), + CodeunitRange(0x4fa2, 0x4fa2), + CodeunitRange(0x4fa8, 0x4fa8), + CodeunitRange(0x4fab, 0x4fab), + CodeunitRange(0x4fae, 0x4fb0), + CodeunitRange(0x4fb2, 0x4fb7), + CodeunitRange(0x4fb9, 0x4fbb), + CodeunitRange(0x4fbd, 0x4fbd), + CodeunitRange(0x4fbf, 0x4fc5), + CodeunitRange(0x4fc7, 0x4fd1), + CodeunitRange(0x4fd3, 0x4fd4), + CodeunitRange(0x4fd6, 0x4fe1), + CodeunitRange(0x4fe4, 0x4fe5), + CodeunitRange(0x4fec, 0x4fec), + CodeunitRange(0x4fee, 0x4ffa), + CodeunitRange(0x4ffd, 0x4ffe), + CodeunitRange(0x5000, 0x5000), + CodeunitRange(0x5003, 0x5003), + CodeunitRange(0x5005, 0x5009), + CodeunitRange(0x500b, 0x500f), + CodeunitRange(0x5011, 0x501c), + CodeunitRange(0x501e, 0x5023), + CodeunitRange(0x5025, 0x5031), + CodeunitRange(0x5033, 0x5035), + CodeunitRange(0x5037, 0x5037), + CodeunitRange(0x503b, 0x503c), + CodeunitRange(0x5040, 0x5041), + CodeunitRange(0x5043, 0x5043), + CodeunitRange(0x5045, 0x504f), + CodeunitRange(0x5051, 0x5051), + CodeunitRange(0x5053, 0x5053), + CodeunitRange(0x5055, 0x5058), + CodeunitRange(0x505a, 0x5066), + CodeunitRange(0x5068, 0x5070), + CodeunitRange(0x5072, 0x5077), + CodeunitRange(0x507a, 0x507a), + CodeunitRange(0x507d, 0x507d), + CodeunitRange(0x5080, 0x5083), + CodeunitRange(0x5085, 0x5085), + CodeunitRange(0x5087, 0x5088), + CodeunitRange(0x508b, 0x508e), + CodeunitRange(0x5090, 0x5092), + CodeunitRange(0x5094, 0x5096), + CodeunitRange(0x5098, 0x509e), + CodeunitRange(0x50a2, 0x50a3), + CodeunitRange(0x50a6, 0x50a6), + CodeunitRange(0x50ac, 0x50b8), + CodeunitRange(0x50ba, 0x50bf), + CodeunitRange(0x50c1, 0x50c2), + CodeunitRange(0x50c4, 0x50cb), + CodeunitRange(0x50cd, 0x50d1), + CodeunitRange(0x50d3, 0x50d7), + CodeunitRange(0x50d9, 0x50db), + CodeunitRange(0x50dd, 0x50dd), + CodeunitRange(0x50df, 0x50e1), + CodeunitRange(0x50e3, 0x50ea), + CodeunitRange(0x50ec, 0x50f1), + CodeunitRange(0x50f3, 0x50f6), + CodeunitRange(0x50f8, 0x50f9), + CodeunitRange(0x50fb, 0x510e), + CodeunitRange(0x5110, 0x5115), + CodeunitRange(0x5117, 0x5118), + CodeunitRange(0x511a, 0x511a), + CodeunitRange(0x511c, 0x511c), + CodeunitRange(0x511f, 0x5122), + CodeunitRange(0x5124, 0x5126), + CodeunitRange(0x5129, 0x512b), + CodeunitRange(0x512d, 0x512e), + CodeunitRange(0x5130, 0x5135), + CodeunitRange(0x5137, 0x513d), + CodeunitRange(0x513f, 0x5141), + CodeunitRange(0x5143, 0x5149), + CodeunitRange(0x514b, 0x514d), + CodeunitRange(0x5151, 0x5152), + CodeunitRange(0x5154, 0x5157), + CodeunitRange(0x5159, 0x5163), + CodeunitRange(0x5165, 0x5165), + CodeunitRange(0x5167, 0x516e), + CodeunitRange(0x5171, 0x5171), + CodeunitRange(0x5174, 0x5179), + CodeunitRange(0x517c, 0x517c), + CodeunitRange(0x5180, 0x5180), + CodeunitRange(0x5182, 0x5182), + CodeunitRange(0x5186, 0x518a), + CodeunitRange(0x518d, 0x518d), + CodeunitRange(0x518f, 0x518f), + CodeunitRange(0x5191, 0x5198), + CodeunitRange(0x519a, 0x519a), + CodeunitRange(0x519c, 0x519c), + CodeunitRange(0x519e, 0x519e), + CodeunitRange(0x51a0, 0x51a0), + CodeunitRange(0x51a2, 0x51a2), + CodeunitRange(0x51a4, 0x51a5), + CodeunitRange(0x51a7, 0x51a8), + CodeunitRange(0x51aa, 0x51ac), + CodeunitRange(0x51ae, 0x51ae), + CodeunitRange(0x51b0, 0x51b9), + CodeunitRange(0x51bc, 0x51be), + CodeunitRange(0x51c3, 0x51d4), + CodeunitRange(0x51d7, 0x51d8), + CodeunitRange(0x51db, 0x51e2), + CodeunitRange(0x51e4, 0x51e4), + CodeunitRange(0x51ed, 0x51ed), + CodeunitRange(0x51f0, 0x51f1), + CodeunitRange(0x51f3, 0x51f6), + CodeunitRange(0x51f8, 0x51fa), + CodeunitRange(0x51fc, 0x51fe), + CodeunitRange(0x5200, 0x5203), + CodeunitRange(0x5205, 0x520c), + CodeunitRange(0x520e, 0x520e), + CodeunitRange(0x5210, 0x5213), + CodeunitRange(0x5216, 0x5217), + CodeunitRange(0x521c, 0x5221), + CodeunitRange(0x5224, 0x522a), + CodeunitRange(0x522e, 0x522e), + CodeunitRange(0x5230, 0x5238), + CodeunitRange(0x523a, 0x523c), + CodeunitRange(0x5241, 0x5241), + CodeunitRange(0x5243, 0x5244), + CodeunitRange(0x5246, 0x5247), + CodeunitRange(0x5249, 0x524f), + CodeunitRange(0x5252, 0x5252), + CodeunitRange(0x5254, 0x5257), + CodeunitRange(0x5259, 0x5262), + CodeunitRange(0x5268, 0x526f), + CodeunitRange(0x5272, 0x5275), + CodeunitRange(0x5277, 0x527d), + CodeunitRange(0x527f, 0x5284), + CodeunitRange(0x5287, 0x528d), + CodeunitRange(0x528f, 0x5291), + CodeunitRange(0x5293, 0x5294), + CodeunitRange(0x5296, 0x529b), + CodeunitRange(0x529f, 0x52a1), + CodeunitRange(0x52a3, 0x52a4), + CodeunitRange(0x52a6, 0x52a6), + CodeunitRange(0x52a8, 0x52ae), + CodeunitRange(0x52b5, 0x52b5), + CodeunitRange(0x52b9, 0x52b9), + CodeunitRange(0x52bb, 0x52bc), + CodeunitRange(0x52be, 0x52be), + CodeunitRange(0x52c0, 0x52c3), + CodeunitRange(0x52c5, 0x52c5), + CodeunitRange(0x52c7, 0x52c7), + CodeunitRange(0x52c9, 0x52c9), + CodeunitRange(0x52cc, 0x52cd), + CodeunitRange(0x52d0, 0x52d3), + CodeunitRange(0x52d5, 0x52d9), + CodeunitRange(0x52db, 0x52db), + CodeunitRange(0x52dd, 0x52e4), + CodeunitRange(0x52e6, 0x52e6), + CodeunitRange(0x52e9, 0x52e9), + CodeunitRange(0x52eb, 0x52eb), + CodeunitRange(0x52ef, 0x52f1), + CodeunitRange(0x52f3, 0x52f5), + CodeunitRange(0x52f7, 0x52fc), + CodeunitRange(0x52fe, 0x52ff), + CodeunitRange(0x5301, 0x5301), + CodeunitRange(0x5305, 0x5306), + CodeunitRange(0x5308, 0x530b), + CodeunitRange(0x530d, 0x5312), + CodeunitRange(0x5315, 0x5317), + CodeunitRange(0x5319, 0x531a), + CodeunitRange(0x531c, 0x531d), + CodeunitRange(0x531f, 0x5324), + CodeunitRange(0x5327, 0x5327), + CodeunitRange(0x532a, 0x532a), + CodeunitRange(0x532c, 0x532d), + CodeunitRange(0x532f, 0x5334), + CodeunitRange(0x5337, 0x5339), + CodeunitRange(0x533b, 0x5345), + CodeunitRange(0x5347, 0x534a), + CodeunitRange(0x534c, 0x534e), + CodeunitRange(0x5351, 0x5354), + CodeunitRange(0x5357, 0x5357), + CodeunitRange(0x535a, 0x535a), + CodeunitRange(0x535c, 0x5361), + CodeunitRange(0x5363, 0x5364), + CodeunitRange(0x5366, 0x5367), + CodeunitRange(0x5369, 0x5369), + CodeunitRange(0x536c, 0x5375), + CodeunitRange(0x5377, 0x5379), + CodeunitRange(0x537b, 0x537f), + CodeunitRange(0x5382, 0x5382), + CodeunitRange(0x5384, 0x5384), + CodeunitRange(0x538a, 0x538a), + CodeunitRange(0x538e, 0x538f), + CodeunitRange(0x5392, 0x5394), + CodeunitRange(0x5396, 0x539a), + CodeunitRange(0x539c, 0x53a0), + CodeunitRange(0x53a2, 0x53a2), + CodeunitRange(0x53a4, 0x53ae), + CodeunitRange(0x53b0, 0x53b0), + CodeunitRange(0x53b2, 0x53b2), + CodeunitRange(0x53b4, 0x53b4), + CodeunitRange(0x53b6, 0x53b6), + CodeunitRange(0x53b9, 0x53b9), + CodeunitRange(0x53bb, 0x53bb), + CodeunitRange(0x53c1, 0x53c3), + CodeunitRange(0x53c5, 0x53c5), + CodeunitRange(0x53c8, 0x53cd), + CodeunitRange(0x53d0, 0x53d2), + CodeunitRange(0x53d4, 0x53d4), + CodeunitRange(0x53d6, 0x53db), + CodeunitRange(0x53df, 0x53e6), + CodeunitRange(0x53e8, 0x53f3), + CodeunitRange(0x53f5, 0x53f8), + CodeunitRange(0x53fb, 0x53fc), + CodeunitRange(0x53fe, 0x53fe), + CodeunitRange(0x5401, 0x5401), + CodeunitRange(0x5403, 0x5404), + CodeunitRange(0x5406, 0x5414), + CodeunitRange(0x5416, 0x5416), + CodeunitRange(0x5418, 0x5421), + CodeunitRange(0x5423, 0x5439), + CodeunitRange(0x543b, 0x5443), + CodeunitRange(0x5445, 0x5448), + CodeunitRange(0x544a, 0x544f), + CodeunitRange(0x5454, 0x5454), + CodeunitRange(0x5460, 0x546d), + CodeunitRange(0x546f, 0x5478), + CodeunitRange(0x547a, 0x5482), + CodeunitRange(0x5484, 0x5488), + CodeunitRange(0x548b, 0x5498), + CodeunitRange(0x549a, 0x549a), + CodeunitRange(0x549c, 0x549c), + CodeunitRange(0x549e, 0x549e), + CodeunitRange(0x54a0, 0x54b4), + CodeunitRange(0x54b6, 0x54c9), + CodeunitRange(0x54cb, 0x54d0), + CodeunitRange(0x54d6, 0x54d6), + CodeunitRange(0x54da, 0x54da), + CodeunitRange(0x54de, 0x54de), + CodeunitRange(0x54e0, 0x54eb), + CodeunitRange(0x54ed, 0x54ef), + CodeunitRange(0x54f1, 0x54f3), + CodeunitRange(0x54f7, 0x54f8), + CodeunitRange(0x54fa, 0x54fd), + CodeunitRange(0x54ff, 0x54ff), + CodeunitRange(0x5501, 0x5514), + CodeunitRange(0x5517, 0x5518), + CodeunitRange(0x551a, 0x551a), + CodeunitRange(0x551e, 0x551e), + CodeunitRange(0x5523, 0x5523), + CodeunitRange(0x5525, 0x5528), + CodeunitRange(0x552a, 0x5539), + CodeunitRange(0x553b, 0x553c), + CodeunitRange(0x553e, 0x5541), + CodeunitRange(0x5543, 0x554b), + CodeunitRange(0x554d, 0x5553), + CodeunitRange(0x5555, 0x5557), + CodeunitRange(0x555c, 0x555f), + CodeunitRange(0x5561, 0x5566), + CodeunitRange(0x5569, 0x556b), + CodeunitRange(0x5571, 0x5573), + CodeunitRange(0x5575, 0x5577), + CodeunitRange(0x5579, 0x5579), + CodeunitRange(0x557b, 0x5584), + CodeunitRange(0x5586, 0x5595), + CodeunitRange(0x5598, 0x559a), + CodeunitRange(0x559c, 0x559d), + CodeunitRange(0x559f, 0x559f), + CodeunitRange(0x55a1, 0x55ae), + CodeunitRange(0x55b0, 0x55b5), + CodeunitRange(0x55b9, 0x55bc), + CodeunitRange(0x55bf, 0x55df), + CodeunitRange(0x55e1, 0x55ea), + CodeunitRange(0x55ec, 0x55ec), + CodeunitRange(0x55ee, 0x55f2), + CodeunitRange(0x55f5, 0x55f7), + CodeunitRange(0x55f9, 0x5602), + CodeunitRange(0x5604, 0x5606), + CodeunitRange(0x5608, 0x5609), + CodeunitRange(0x560c, 0x5617), + CodeunitRange(0x561b, 0x5623), + CodeunitRange(0x5625, 0x5625), + CodeunitRange(0x5627, 0x5627), + CodeunitRange(0x5629, 0x562a), + CodeunitRange(0x562c, 0x5630), + CodeunitRange(0x5632, 0x563b), + CodeunitRange(0x563d, 0x5643), + CodeunitRange(0x5645, 0x5646), + CodeunitRange(0x5648, 0x564a), + CodeunitRange(0x564c, 0x5650), + CodeunitRange(0x5652, 0x5654), + CodeunitRange(0x5657, 0x565a), + CodeunitRange(0x565d, 0x565e), + CodeunitRange(0x5660, 0x5666), + CodeunitRange(0x5668, 0x5674), + CodeunitRange(0x5676, 0x567c), + CodeunitRange(0x567e, 0x5687), + CodeunitRange(0x5689, 0x5690), + CodeunitRange(0x5692, 0x5693), + CodeunitRange(0x5695, 0x5695), + CodeunitRange(0x5697, 0x569a), + CodeunitRange(0x569c, 0x569f), + CodeunitRange(0x56a1, 0x56a1), + CodeunitRange(0x56a4, 0x56a8), + CodeunitRange(0x56aa, 0x56af), + CodeunitRange(0x56b1, 0x56b7), + CodeunitRange(0x56b9, 0x56b9), + CodeunitRange(0x56bc, 0x56c3), + CodeunitRange(0x56c5, 0x56c6), + CodeunitRange(0x56c8, 0x56cd), + CodeunitRange(0x56d1, 0x56d1), + CodeunitRange(0x56d3, 0x56d4), + CodeunitRange(0x56d6, 0x56d7), + CodeunitRange(0x56da, 0x56db), + CodeunitRange(0x56dd, 0x56e2), + CodeunitRange(0x56e4, 0x56e5), + CodeunitRange(0x56e7, 0x56e7), + CodeunitRange(0x56ea, 0x56eb), + CodeunitRange(0x56ed, 0x56f1), + CodeunitRange(0x56f7, 0x56f7), + CodeunitRange(0x56f9, 0x56fb), + CodeunitRange(0x56fd, 0x56fd), + CodeunitRange(0x56ff, 0x5704), + CodeunitRange(0x5707, 0x570d), + CodeunitRange(0x5712, 0x5716), + CodeunitRange(0x5718, 0x5718), + CodeunitRange(0x571a, 0x5720), + CodeunitRange(0x5722, 0x5723), + CodeunitRange(0x5728, 0x572a), + CodeunitRange(0x572c, 0x5730), + CodeunitRange(0x5732, 0x5734), + CodeunitRange(0x573b, 0x573b), + CodeunitRange(0x573d, 0x5743), + CodeunitRange(0x5745, 0x5747), + CodeunitRange(0x5749, 0x5752), + CodeunitRange(0x5754, 0x5754), + CodeunitRange(0x5757, 0x5757), + CodeunitRange(0x575b, 0x575b), + CodeunitRange(0x575f, 0x575f), + CodeunitRange(0x5761, 0x5762), + CodeunitRange(0x5764, 0x5764), + CodeunitRange(0x5766, 0x576b), + CodeunitRange(0x576d, 0x576d), + CodeunitRange(0x576f, 0x5777), + CodeunitRange(0x577a, 0x5780), + CodeunitRange(0x5782, 0x5783), + CodeunitRange(0x5788, 0x5788), + CodeunitRange(0x578a, 0x578d), + CodeunitRange(0x578f, 0x5790), + CodeunitRange(0x5793, 0x5795), + CodeunitRange(0x5797, 0x57a5), + CodeunitRange(0x57a7, 0x57a7), + CodeunitRange(0x57aa, 0x57aa), + CodeunitRange(0x57ae, 0x57ae), + CodeunitRange(0x57b3, 0x57b6), + CodeunitRange(0x57b8, 0x57bf), + CodeunitRange(0x57c1, 0x57c4), + CodeunitRange(0x57c6, 0x57c8), + CodeunitRange(0x57cb, 0x57cc), + CodeunitRange(0x57ce, 0x57d0), + CodeunitRange(0x57d2, 0x57d2), + CodeunitRange(0x57d4, 0x57d5), + CodeunitRange(0x57d7, 0x57d7), + CodeunitRange(0x57dc, 0x57e7), + CodeunitRange(0x57e9, 0x57e9), + CodeunitRange(0x57ec, 0x57fe), + CodeunitRange(0x5800, 0x580e), + CodeunitRange(0x5810, 0x5810), + CodeunitRange(0x5812, 0x5812), + CodeunitRange(0x5814, 0x5814), + CodeunitRange(0x5818, 0x5819), + CodeunitRange(0x581b, 0x581e), + CodeunitRange(0x5820, 0x582a), + CodeunitRange(0x582c, 0x583b), + CodeunitRange(0x583d, 0x583d), + CodeunitRange(0x583f, 0x5840), + CodeunitRange(0x5844, 0x5844), + CodeunitRange(0x5847, 0x584f), + CodeunitRange(0x5851, 0x5855), + CodeunitRange(0x5857, 0x585f), + CodeunitRange(0x5862, 0x5865), + CodeunitRange(0x5868, 0x5869), + CodeunitRange(0x586b, 0x586d), + CodeunitRange(0x586f, 0x586f), + CodeunitRange(0x5871, 0x5876), + CodeunitRange(0x5879, 0x5883), + CodeunitRange(0x5885, 0x588b), + CodeunitRange(0x588e, 0x5894), + CodeunitRange(0x5896, 0x5896), + CodeunitRange(0x5898, 0x589a), + CodeunitRange(0x589c, 0x58a1), + CodeunitRange(0x58a3, 0x58a3), + CodeunitRange(0x58a5, 0x58ac), + CodeunitRange(0x58ae, 0x58b1), + CodeunitRange(0x58b3, 0x58b3), + CodeunitRange(0x58b5, 0x58b6), + CodeunitRange(0x58ba, 0x58bf), + CodeunitRange(0x58c1, 0x58c2), + CodeunitRange(0x58c5, 0x58c9), + CodeunitRange(0x58cb, 0x58cb), + CodeunitRange(0x58ce, 0x58d6), + CodeunitRange(0x58d8, 0x58e0), + CodeunitRange(0x58e2, 0x58e4), + CodeunitRange(0x58e7, 0x58e9), + CodeunitRange(0x58eb, 0x58ec), + CodeunitRange(0x58ef, 0x58f0), + CodeunitRange(0x58f2, 0x58f4), + CodeunitRange(0x58f9, 0x58ff), + CodeunitRange(0x5902, 0x5907), + CodeunitRange(0x590a, 0x590a), + CodeunitRange(0x590c, 0x590f), + CodeunitRange(0x5911, 0x5912), + CodeunitRange(0x5914, 0x5917), + CodeunitRange(0x5919, 0x591a), + CodeunitRange(0x591c, 0x591d), + CodeunitRange(0x591f, 0x5920), + CodeunitRange(0x5922, 0x5922), + CodeunitRange(0x5924, 0x5925), + CodeunitRange(0x5927, 0x5927), + CodeunitRange(0x5929, 0x592f), + CodeunitRange(0x5931, 0x5932), + CodeunitRange(0x5934, 0x5934), + CodeunitRange(0x5937, 0x5938), + CodeunitRange(0x593c, 0x593c), + CodeunitRange(0x593e, 0x593e), + CodeunitRange(0x5940, 0x5940), + CodeunitRange(0x5944, 0x5945), + CodeunitRange(0x5947, 0x594a), + CodeunitRange(0x594e, 0x5951), + CodeunitRange(0x5953, 0x5955), + CodeunitRange(0x5957, 0x5958), + CodeunitRange(0x595a, 0x595a), + CodeunitRange(0x595c, 0x595c), + CodeunitRange(0x5960, 0x5962), + CodeunitRange(0x5965, 0x5965), + CodeunitRange(0x5967, 0x5967), + CodeunitRange(0x5969, 0x596e), + CodeunitRange(0x5970, 0x5979), + CodeunitRange(0x597b, 0x5985), + CodeunitRange(0x5989, 0x598a), + CodeunitRange(0x598d, 0x5990), + CodeunitRange(0x5992, 0x5994), + CodeunitRange(0x5996, 0x599a), + CodeunitRange(0x599d, 0x59a8), + CodeunitRange(0x59ac, 0x59ac), + CodeunitRange(0x59ae, 0x59c1), + CodeunitRange(0x59c3, 0x59d4), + CodeunitRange(0x59d6, 0x59d6), + CodeunitRange(0x59d8, 0x59de), + CodeunitRange(0x59e0, 0x59e1), + CodeunitRange(0x59e3, 0x59e6), + CodeunitRange(0x59e8, 0x5a03), + CodeunitRange(0x5a09, 0x5a0d), + CodeunitRange(0x5a0f, 0x5a0f), + CodeunitRange(0x5a11, 0x5a13), + CodeunitRange(0x5a15, 0x5a1c), + CodeunitRange(0x5a1e, 0x5a21), + CodeunitRange(0x5a23, 0x5a25), + CodeunitRange(0x5a27, 0x5a27), + CodeunitRange(0x5a29, 0x5a2e), + CodeunitRange(0x5a33, 0x5a33), + CodeunitRange(0x5a35, 0x5a39), + CodeunitRange(0x5a3c, 0x5a3e), + CodeunitRange(0x5a40, 0x5a4a), + CodeunitRange(0x5a4c, 0x5a4d), + CodeunitRange(0x5a50, 0x5a6e), + CodeunitRange(0x5a70, 0x5a71), + CodeunitRange(0x5a77, 0x5a7f), + CodeunitRange(0x5a81, 0x5a84), + CodeunitRange(0x5a86, 0x5a86), + CodeunitRange(0x5a88, 0x5a88), + CodeunitRange(0x5a8a, 0x5a8c), + CodeunitRange(0x5a8e, 0x5a97), + CodeunitRange(0x5a99, 0x5aa2), + CodeunitRange(0x5aa4, 0x5aa7), + CodeunitRange(0x5aa9, 0x5aac), + CodeunitRange(0x5aae, 0x5ac4), + CodeunitRange(0x5ac6, 0x5acf), + CodeunitRange(0x5ad1, 0x5ad1), + CodeunitRange(0x5ad3, 0x5ad3), + CodeunitRange(0x5ad5, 0x5ae6), + CodeunitRange(0x5ae8, 0x5aee), + CodeunitRange(0x5af0, 0x5af0), + CodeunitRange(0x5af2, 0x5afb), + CodeunitRange(0x5afd, 0x5aff), + CodeunitRange(0x5b01, 0x5b03), + CodeunitRange(0x5b05, 0x5b05), + CodeunitRange(0x5b07, 0x5b09), + CodeunitRange(0x5b0b, 0x5b0d), + CodeunitRange(0x5b0f, 0x5b11), + CodeunitRange(0x5b13, 0x5b17), + CodeunitRange(0x5b19, 0x5b1b), + CodeunitRange(0x5b1d, 0x5b21), + CodeunitRange(0x5b23, 0x5b28), + CodeunitRange(0x5b2a, 0x5b30), + CodeunitRange(0x5b32, 0x5b32), + CodeunitRange(0x5b34, 0x5b34), + CodeunitRange(0x5b38, 0x5b38), + CodeunitRange(0x5b3c, 0x5b41), + CodeunitRange(0x5b43, 0x5b48), + CodeunitRange(0x5b4a, 0x5b51), + CodeunitRange(0x5b53, 0x5b58), + CodeunitRange(0x5b5a, 0x5b5d), + CodeunitRange(0x5b5f, 0x5b5f), + CodeunitRange(0x5b62, 0x5b66), + CodeunitRange(0x5b68, 0x5b69), + CodeunitRange(0x5b6b, 0x5b6e), + CodeunitRange(0x5b70, 0x5b78), + CodeunitRange(0x5b7a, 0x5b7d), + CodeunitRange(0x5b7f, 0x5b85), + CodeunitRange(0x5b87, 0x5b89), + CodeunitRange(0x5b8b, 0x5b8c), + CodeunitRange(0x5b8e, 0x5b90), + CodeunitRange(0x5b92, 0x5b93), + CodeunitRange(0x5b95, 0x5b9f), + CodeunitRange(0x5ba2, 0x5ba8), + CodeunitRange(0x5baa, 0x5baa), + CodeunitRange(0x5bac, 0x5bae), + CodeunitRange(0x5bb0, 0x5bb0), + CodeunitRange(0x5bb3, 0x5bb9), + CodeunitRange(0x5bbf, 0x5bc7), + CodeunitRange(0x5bca, 0x5bce), + CodeunitRange(0x5bd0, 0x5bd9), + CodeunitRange(0x5bdb, 0x5bdb), + CodeunitRange(0x5bde, 0x5bec), + CodeunitRange(0x5bee, 0x5bf3), + CodeunitRange(0x5bf5, 0x5bf6), + CodeunitRange(0x5bf8, 0x5bf8), + CodeunitRange(0x5bfa, 0x5bfa), + CodeunitRange(0x5bff, 0x5bff), + CodeunitRange(0x5c01, 0x5c01), + CodeunitRange(0x5c03, 0x5c05), + CodeunitRange(0x5c07, 0x5c16), + CodeunitRange(0x5c1a, 0x5c1a), + CodeunitRange(0x5c1c, 0x5c1c), + CodeunitRange(0x5c1e, 0x5c20), + CodeunitRange(0x5c22, 0x5c25), + CodeunitRange(0x5c28, 0x5c28), + CodeunitRange(0x5c2a, 0x5c2a), + CodeunitRange(0x5c2c, 0x5c2c), + CodeunitRange(0x5c30, 0x5c31), + CodeunitRange(0x5c33, 0x5c33), + CodeunitRange(0x5c37, 0x5c3c), + CodeunitRange(0x5c3e, 0x5c41), + CodeunitRange(0x5c44, 0x5c51), + CodeunitRange(0x5c53, 0x5c56), + CodeunitRange(0x5c58, 0x5c59), + CodeunitRange(0x5c5c, 0x5c5e), + CodeunitRange(0x5c60, 0x5c60), + CodeunitRange(0x5c62, 0x5c65), + CodeunitRange(0x5c67, 0x5c6a), + CodeunitRange(0x5c6c, 0x5c6f), + CodeunitRange(0x5c71, 0x5c71), + CodeunitRange(0x5c73, 0x5c74), + CodeunitRange(0x5c78, 0x5c7c), + CodeunitRange(0x5c7e, 0x5c7e), + CodeunitRange(0x5c83, 0x5c83), + CodeunitRange(0x5c85, 0x5c86), + CodeunitRange(0x5c88, 0x5c8d), + CodeunitRange(0x5c8f, 0x5c95), + CodeunitRange(0x5c99, 0x5c9a), + CodeunitRange(0x5c9c, 0x5cb1), + CodeunitRange(0x5cb3, 0x5cb3), + CodeunitRange(0x5cb5, 0x5cb8), + CodeunitRange(0x5cba, 0x5cba), + CodeunitRange(0x5cc1, 0x5cc2), + CodeunitRange(0x5cc6, 0x5ccc), + CodeunitRange(0x5cce, 0x5cdb), + CodeunitRange(0x5cde, 0x5cdf), + CodeunitRange(0x5ce5, 0x5ce5), + CodeunitRange(0x5ce8, 0x5cea), + CodeunitRange(0x5cec, 0x5cf1), + CodeunitRange(0x5cf4, 0x5cf9), + CodeunitRange(0x5cfb, 0x5cfd), + CodeunitRange(0x5cff, 0x5d01), + CodeunitRange(0x5d06, 0x5d07), + CodeunitRange(0x5d0b, 0x5d12), + CodeunitRange(0x5d14, 0x5d1b), + CodeunitRange(0x5d1d, 0x5d20), + CodeunitRange(0x5d22, 0x5d29), + CodeunitRange(0x5d2c, 0x5d2c), + CodeunitRange(0x5d2e, 0x5d3a), + CodeunitRange(0x5d3c, 0x5d43), + CodeunitRange(0x5d45, 0x5d4c), + CodeunitRange(0x5d4e, 0x5d4e), + CodeunitRange(0x5d50, 0x5d52), + CodeunitRange(0x5d55, 0x5d57), + CodeunitRange(0x5d59, 0x5d59), + CodeunitRange(0x5d5b, 0x5d5b), + CodeunitRange(0x5d5e, 0x5d5e), + CodeunitRange(0x5d62, 0x5d63), + CodeunitRange(0x5d65, 0x5d65), + CodeunitRange(0x5d67, 0x5d69), + CodeunitRange(0x5d6b, 0x5d6c), + CodeunitRange(0x5d6f, 0x5d72), + CodeunitRange(0x5d74, 0x5d74), + CodeunitRange(0x5d77, 0x5d82), + CodeunitRange(0x5d84, 0x5d8b), + CodeunitRange(0x5d8d, 0x5d8e), + CodeunitRange(0x5d92, 0x5d95), + CodeunitRange(0x5d97, 0x5d97), + CodeunitRange(0x5d99, 0x5d9a), + CodeunitRange(0x5d9c, 0x5da2), + CodeunitRange(0x5da4, 0x5da4), + CodeunitRange(0x5da7, 0x5db2), + CodeunitRange(0x5db4, 0x5dba), + CodeunitRange(0x5dbc, 0x5dbd), + CodeunitRange(0x5dc0, 0x5dc3), + CodeunitRange(0x5dc6, 0x5dc7), + CodeunitRange(0x5dc9, 0x5dc9), + CodeunitRange(0x5dcb, 0x5dcb), + CodeunitRange(0x5dcd, 0x5dcd), + CodeunitRange(0x5dcf, 0x5dcf), + CodeunitRange(0x5dd1, 0x5dd2), + CodeunitRange(0x5dd4, 0x5dd8), + CodeunitRange(0x5ddb, 0x5ddb), + CodeunitRange(0x5ddd, 0x5de2), + CodeunitRange(0x5de5, 0x5de8), + CodeunitRange(0x5deb, 0x5deb), + CodeunitRange(0x5dee, 0x5dee), + CodeunitRange(0x5df0, 0x5df5), + CodeunitRange(0x5df7, 0x5df7), + CodeunitRange(0x5df9, 0x5df9), + CodeunitRange(0x5dfd, 0x5dff), + CodeunitRange(0x5e02, 0x5e04), + CodeunitRange(0x5e06, 0x5e06), + CodeunitRange(0x5e09, 0x5e0c), + CodeunitRange(0x5e0e, 0x5e0e), + CodeunitRange(0x5e11, 0x5e12), + CodeunitRange(0x5e14, 0x5e1b), + CodeunitRange(0x5e1d, 0x5e1d), + CodeunitRange(0x5e1f, 0x5e25), + CodeunitRange(0x5e28, 0x5e29), + CodeunitRange(0x5e2b, 0x5e2b), + CodeunitRange(0x5e2d, 0x5e2e), + CodeunitRange(0x5e33, 0x5e34), + CodeunitRange(0x5e36, 0x5e38), + CodeunitRange(0x5e3d, 0x5e3e), + CodeunitRange(0x5e40, 0x5e45), + CodeunitRange(0x5e48, 0x5e48), + CodeunitRange(0x5e4a, 0x5e4f), + CodeunitRange(0x5e53, 0x5e55), + CodeunitRange(0x5e57, 0x5e59), + CodeunitRange(0x5e5b, 0x5e63), + CodeunitRange(0x5e66, 0x5e70), + CodeunitRange(0x5e72, 0x5e76), + CodeunitRange(0x5e78, 0x5e80), + CodeunitRange(0x5e82, 0x5e84), + CodeunitRange(0x5e86, 0x5e8d), + CodeunitRange(0x5e8f, 0x5e8f), + CodeunitRange(0x5e92, 0x5e92), + CodeunitRange(0x5e95, 0x5e97), + CodeunitRange(0x5e99, 0x5e9c), + CodeunitRange(0x5ea0, 0x5ea0), + CodeunitRange(0x5ea2, 0x5ea8), + CodeunitRange(0x5eaa, 0x5eae), + CodeunitRange(0x5eb0, 0x5eb9), + CodeunitRange(0x5ebd, 0x5ebe), + CodeunitRange(0x5ec1, 0x5ec2), + CodeunitRange(0x5ec4, 0x5ece), + CodeunitRange(0x5ed0, 0x5ee3), + CodeunitRange(0x5ee5, 0x5ee9), + CodeunitRange(0x5eec, 0x5eec), + CodeunitRange(0x5eee, 0x5eef), + CodeunitRange(0x5ef1, 0x5ef4), + CodeunitRange(0x5ef6, 0x5efc), + CodeunitRange(0x5efe, 0x5eff), + CodeunitRange(0x5f01, 0x5f02), + CodeunitRange(0x5f04, 0x5f05), + CodeunitRange(0x5f07, 0x5f08), + CodeunitRange(0x5f0a, 0x5f0f), + CodeunitRange(0x5f12, 0x5f15), + CodeunitRange(0x5f17, 0x5f18), + CodeunitRange(0x5f1a, 0x5f1b), + CodeunitRange(0x5f1d, 0x5f1d), + CodeunitRange(0x5f1f, 0x5f1f), + CodeunitRange(0x5f22, 0x5f29), + CodeunitRange(0x5f2d, 0x5f2e), + CodeunitRange(0x5f30, 0x5f31), + CodeunitRange(0x5f33, 0x5f33), + CodeunitRange(0x5f35, 0x5f38), + CodeunitRange(0x5f3a, 0x5f3c), + CodeunitRange(0x5f40, 0x5f40), + CodeunitRange(0x5f43, 0x5f46), + CodeunitRange(0x5f48, 0x5f51), + CodeunitRange(0x5f54, 0x5f54), + CodeunitRange(0x5f56, 0x5f59), + CodeunitRange(0x5f5c, 0x5f5e), + CodeunitRange(0x5f61, 0x5f65), + CodeunitRange(0x5f67, 0x5f67), + CodeunitRange(0x5f69, 0x5f6d), + CodeunitRange(0x5f6f, 0x5f74), + CodeunitRange(0x5f76, 0x5f79), + CodeunitRange(0x5f7b, 0x5f83), + CodeunitRange(0x5f85, 0x5f8c), + CodeunitRange(0x5f90, 0x5f92), + CodeunitRange(0x5f96, 0x5f99), + CodeunitRange(0x5f9b, 0x5f9c), + CodeunitRange(0x5f9e, 0x5fa1), + CodeunitRange(0x5fa4, 0x5faf), + CodeunitRange(0x5fb1, 0x5fb2), + CodeunitRange(0x5fb5, 0x5fb7), + CodeunitRange(0x5fb9, 0x5fc5), + CodeunitRange(0x5fc9, 0x5fc9), + CodeunitRange(0x5fcc, 0x5fcd), + CodeunitRange(0x5fcf, 0x5fd2), + CodeunitRange(0x5fd4, 0x5fd9), + CodeunitRange(0x5fdb, 0x5fdb), + CodeunitRange(0x5fdd, 0x5fe1), + CodeunitRange(0x5fe3, 0x5fe5), + CodeunitRange(0x5fe8, 0x5fe8), + CodeunitRange(0x5fea, 0x5feb), + CodeunitRange(0x5fed, 0x5fef), + CodeunitRange(0x5ff1, 0x5ff1), + CodeunitRange(0x5ff3, 0x5ff5), + CodeunitRange(0x5ff7, 0x5ff8), + CodeunitRange(0x5ffa, 0x5ffb), + CodeunitRange(0x5ffd, 0x5ffd), + CodeunitRange(0x5fff, 0x6000), + CodeunitRange(0x6009, 0x6017), + CodeunitRange(0x6019, 0x601e), + CodeunitRange(0x6020, 0x602f), + CodeunitRange(0x6031, 0x6035), + CodeunitRange(0x6037, 0x6037), + CodeunitRange(0x6039, 0x6039), + CodeunitRange(0x603b, 0x603b), + CodeunitRange(0x6040, 0x6047), + CodeunitRange(0x6049, 0x604d), + CodeunitRange(0x6050, 0x6050), + CodeunitRange(0x6052, 0x6055), + CodeunitRange(0x6058, 0x605b), + CodeunitRange(0x605d, 0x605f), + CodeunitRange(0x6062, 0x6070), + CodeunitRange(0x6072, 0x6072), + CodeunitRange(0x6075, 0x6075), + CodeunitRange(0x6077, 0x6077), + CodeunitRange(0x607e, 0x6081), + CodeunitRange(0x6083, 0x608a), + CodeunitRange(0x608c, 0x608e), + CodeunitRange(0x6090, 0x6090), + CodeunitRange(0x6092, 0x6092), + CodeunitRange(0x6094, 0x6097), + CodeunitRange(0x609a, 0x60a0), + CodeunitRange(0x60a2, 0x60a4), + CodeunitRange(0x60a6, 0x60a8), + CodeunitRange(0x60b0, 0x60c1), + CodeunitRange(0x60c3, 0x60cf), + CodeunitRange(0x60d1, 0x60d1), + CodeunitRange(0x60d3, 0x60d5), + CodeunitRange(0x60d7, 0x60e4), + CodeunitRange(0x60e6, 0x60e9), + CodeunitRange(0x60f0, 0x6101), + CodeunitRange(0x6103, 0x6110), + CodeunitRange(0x6112, 0x6116), + CodeunitRange(0x6118, 0x611d), + CodeunitRange(0x611f, 0x6120), + CodeunitRange(0x6122, 0x6123), + CodeunitRange(0x6127, 0x6129), + CodeunitRange(0x612b, 0x612c), + CodeunitRange(0x612e, 0x6130), + CodeunitRange(0x6132, 0x6132), + CodeunitRange(0x6134, 0x6134), + CodeunitRange(0x6136, 0x6137), + CodeunitRange(0x613b, 0x613b), + CodeunitRange(0x613d, 0x6142), + CodeunitRange(0x6144, 0x6150), + CodeunitRange(0x6152, 0x6156), + CodeunitRange(0x6158, 0x6168), + CodeunitRange(0x616a, 0x616c), + CodeunitRange(0x616e, 0x6177), + CodeunitRange(0x6179, 0x617a), + CodeunitRange(0x617c, 0x617e), + CodeunitRange(0x6180, 0x6183), + CodeunitRange(0x6187, 0x6187), + CodeunitRange(0x6189, 0x618e), + CodeunitRange(0x6190, 0x6196), + CodeunitRange(0x6198, 0x619d), + CodeunitRange(0x619f, 0x619f), + CodeunitRange(0x61a1, 0x61a2), + CodeunitRange(0x61a4, 0x61a4), + CodeunitRange(0x61a7, 0x61ba), + CodeunitRange(0x61bc, 0x61bc), + CodeunitRange(0x61be, 0x61c3), + CodeunitRange(0x61c5, 0x61cd), + CodeunitRange(0x61cf, 0x61d0), + CodeunitRange(0x61d3, 0x61d3), + CodeunitRange(0x61d6, 0x61d6), + CodeunitRange(0x61d8, 0x61d8), + CodeunitRange(0x61da, 0x61da), + CodeunitRange(0x61de, 0x61e0), + CodeunitRange(0x61e2, 0x61eb), + CodeunitRange(0x61ed, 0x61ee), + CodeunitRange(0x61f0, 0x61f2), + CodeunitRange(0x61f5, 0x6201), + CodeunitRange(0x6203, 0x6204), + CodeunitRange(0x6207, 0x620a), + CodeunitRange(0x620c, 0x620e), + CodeunitRange(0x6210, 0x6212), + CodeunitRange(0x6214, 0x6216), + CodeunitRange(0x6219, 0x621b), + CodeunitRange(0x621f, 0x6225), + CodeunitRange(0x6227, 0x6227), + CodeunitRange(0x6229, 0x622e), + CodeunitRange(0x6230, 0x6230), + CodeunitRange(0x6232, 0x6234), + CodeunitRange(0x6236, 0x6237), + CodeunitRange(0x6239, 0x623a), + CodeunitRange(0x623d, 0x6243), + CodeunitRange(0x6246, 0x624e), + CodeunitRange(0x6250, 0x6254), + CodeunitRange(0x6258, 0x625c), + CodeunitRange(0x625e, 0x625e), + CodeunitRange(0x6260, 0x6266), + CodeunitRange(0x6268, 0x6268), + CodeunitRange(0x626d, 0x6274), + CodeunitRange(0x6276, 0x6277), + CodeunitRange(0x6279, 0x628a), + CodeunitRange(0x628c, 0x628c), + CodeunitRange(0x628e, 0x6298), + CodeunitRange(0x629d, 0x629d), + CodeunitRange(0x62a4, 0x62a4), + CodeunitRange(0x62a6, 0x62a6), + CodeunitRange(0x62a8, 0x62b1), + CodeunitRange(0x62b3, 0x62b6), + CodeunitRange(0x62b8, 0x62b9), + CodeunitRange(0x62bb, 0x62bf), + CodeunitRange(0x62c1, 0x62dc), + CodeunitRange(0x62df, 0x62df), + CodeunitRange(0x62e5, 0x62e5), + CodeunitRange(0x62eb, 0x6303), + CodeunitRange(0x6307, 0x6309), + CodeunitRange(0x630b, 0x6311), + CodeunitRange(0x6313, 0x6316), + CodeunitRange(0x6318, 0x6318), + CodeunitRange(0x6328, 0x632f), + CodeunitRange(0x6331, 0x633e), + CodeunitRange(0x6340, 0x6351), + CodeunitRange(0x6354, 0x635a), + CodeunitRange(0x635d, 0x635d), + CodeunitRange(0x6364, 0x6365), + CodeunitRange(0x6367, 0x6369), + CodeunitRange(0x636b, 0x6372), + CodeunitRange(0x6375, 0x637d), + CodeunitRange(0x637f, 0x6385), + CodeunitRange(0x6387, 0x6392), + CodeunitRange(0x6394, 0x6394), + CodeunitRange(0x6396, 0x6399), + CodeunitRange(0x639b, 0x63a5), + CodeunitRange(0x63a7, 0x63b1), + CodeunitRange(0x63b9, 0x63b9), + CodeunitRange(0x63bd, 0x63be), + CodeunitRange(0x63c0, 0x63d3), + CodeunitRange(0x63d5, 0x63eb), + CodeunitRange(0x63ed, 0x63f6), + CodeunitRange(0x63f8, 0x63f9), + CodeunitRange(0x63fb, 0x63fc), + CodeunitRange(0x63fe, 0x63fe), + CodeunitRange(0x6406, 0x6407), + CodeunitRange(0x6409, 0x6410), + CodeunitRange(0x6412, 0x6418), + CodeunitRange(0x641a, 0x641c), + CodeunitRange(0x641e, 0x6428), + CodeunitRange(0x642a, 0x6430), + CodeunitRange(0x6432, 0x643b), + CodeunitRange(0x643d, 0x6441), + CodeunitRange(0x6443, 0x6443), + CodeunitRange(0x644b, 0x644b), + CodeunitRange(0x644d, 0x644e), + CodeunitRange(0x6450, 0x6454), + CodeunitRange(0x6458, 0x6461), + CodeunitRange(0x6465, 0x6469), + CodeunitRange(0x646b, 0x647d), + CodeunitRange(0x647f, 0x647f), + CodeunitRange(0x6482, 0x6482), + CodeunitRange(0x6485, 0x6485), + CodeunitRange(0x6487, 0x648d), + CodeunitRange(0x648f, 0x6493), + CodeunitRange(0x6495, 0x649a), + CodeunitRange(0x649c, 0x64a0), + CodeunitRange(0x64a2, 0x64a6), + CodeunitRange(0x64a9, 0x64a9), + CodeunitRange(0x64ab, 0x64b4), + CodeunitRange(0x64b6, 0x64b6), + CodeunitRange(0x64bb, 0x64c5), + CodeunitRange(0x64c7, 0x64c7), + CodeunitRange(0x64c9, 0x64cb), + CodeunitRange(0x64cd, 0x64d0), + CodeunitRange(0x64d2, 0x64d4), + CodeunitRange(0x64d6, 0x64db), + CodeunitRange(0x64dd, 0x64dd), + CodeunitRange(0x64e0, 0x64ed), + CodeunitRange(0x64ef, 0x64f4), + CodeunitRange(0x64f7, 0x64f8), + CodeunitRange(0x64fa, 0x6501), + CodeunitRange(0x6503, 0x6504), + CodeunitRange(0x6506, 0x6507), + CodeunitRange(0x6509, 0x650a), + CodeunitRange(0x650c, 0x6511), + CodeunitRange(0x6513, 0x6519), + CodeunitRange(0x651b, 0x6526), + CodeunitRange(0x6529, 0x6530), + CodeunitRange(0x6532, 0x6539), + CodeunitRange(0x653b, 0x653b), + CodeunitRange(0x653d, 0x653f), + CodeunitRange(0x6541, 0x6541), + CodeunitRange(0x6543, 0x6543), + CodeunitRange(0x6545, 0x6546), + CodeunitRange(0x6548, 0x654a), + CodeunitRange(0x654d, 0x654d), + CodeunitRange(0x654f, 0x654f), + CodeunitRange(0x6551, 0x6551), + CodeunitRange(0x6553, 0x655a), + CodeunitRange(0x655c, 0x655f), + CodeunitRange(0x6562, 0x6568), + CodeunitRange(0x656a, 0x656d), + CodeunitRange(0x656f, 0x656f), + CodeunitRange(0x6572, 0x657c), + CodeunitRange(0x657f, 0x6589), + CodeunitRange(0x658b, 0x658c), + CodeunitRange(0x6590, 0x6592), + CodeunitRange(0x6594, 0x6597), + CodeunitRange(0x6599, 0x6599), + CodeunitRange(0x659b, 0x65a2), + CodeunitRange(0x65a4, 0x65a5), + CodeunitRange(0x65a7, 0x65a8), + CodeunitRange(0x65aa, 0x65ac), + CodeunitRange(0x65ae, 0x65b0), + CodeunitRange(0x65b2, 0x65b3), + CodeunitRange(0x65b5, 0x65b9), + CodeunitRange(0x65bb, 0x65bf), + CodeunitRange(0x65c1, 0x65c6), + CodeunitRange(0x65cb, 0x65d4), + CodeunitRange(0x65d6, 0x65d7), + CodeunitRange(0x65da, 0x65db), + CodeunitRange(0x65dd, 0x65e3), + CodeunitRange(0x65e5, 0x65e6), + CodeunitRange(0x65e8, 0x65e9), + CodeunitRange(0x65ec, 0x65f5), + CodeunitRange(0x65fa, 0x65fd), + CodeunitRange(0x65ff, 0x6600), + CodeunitRange(0x6602, 0x6615), + CodeunitRange(0x6618, 0x6618), + CodeunitRange(0x661c, 0x6628), + CodeunitRange(0x662b, 0x662b), + CodeunitRange(0x662d, 0x6636), + CodeunitRange(0x6639, 0x663a), + CodeunitRange(0x6641, 0x6645), + CodeunitRange(0x6647, 0x664d), + CodeunitRange(0x664f, 0x664f), + CodeunitRange(0x6651, 0x6653), + CodeunitRange(0x6657, 0x6657), + CodeunitRange(0x6659, 0x6668), + CodeunitRange(0x666a, 0x666c), + CodeunitRange(0x666e, 0x6674), + CodeunitRange(0x6676, 0x667e), + CodeunitRange(0x6680, 0x6680), + CodeunitRange(0x6684, 0x668e), + CodeunitRange(0x6690, 0x6692), + CodeunitRange(0x6694, 0x669a), + CodeunitRange(0x669d, 0x669d), + CodeunitRange(0x669f, 0x66a2), + CodeunitRange(0x66a4, 0x66a4), + CodeunitRange(0x66a8, 0x66ab), + CodeunitRange(0x66ad, 0x66bb), + CodeunitRange(0x66bd, 0x66c0), + CodeunitRange(0x66c4, 0x66c4), + CodeunitRange(0x66c6, 0x66cf), + CodeunitRange(0x66d2, 0x66d2), + CodeunitRange(0x66d6, 0x66d6), + CodeunitRange(0x66d8, 0x66de), + CodeunitRange(0x66e0, 0x66e0), + CodeunitRange(0x66e3, 0x66e4), + CodeunitRange(0x66e6, 0x66e9), + CodeunitRange(0x66eb, 0x66ee), + CodeunitRange(0x66f0, 0x66f4), + CodeunitRange(0x66f6, 0x66f9), + CodeunitRange(0x66fc, 0x66fc), + CodeunitRange(0x66fe, 0x6705), + CodeunitRange(0x6708, 0x6710), + CodeunitRange(0x6712, 0x6719), + CodeunitRange(0x671b, 0x671b), + CodeunitRange(0x671d, 0x6723), + CodeunitRange(0x6725, 0x6728), + CodeunitRange(0x672a, 0x672e), + CodeunitRange(0x6731, 0x6731), + CodeunitRange(0x6733, 0x6736), + CodeunitRange(0x6738, 0x673f), + CodeunitRange(0x6744, 0x6749), + CodeunitRange(0x674b, 0x6751), + CodeunitRange(0x6753, 0x6753), + CodeunitRange(0x6755, 0x6757), + CodeunitRange(0x6759, 0x675a), + CodeunitRange(0x675c, 0x6762), + CodeunitRange(0x6767, 0x6767), + CodeunitRange(0x676a, 0x677f), + CodeunitRange(0x6781, 0x6787), + CodeunitRange(0x6789, 0x6789), + CodeunitRange(0x678b, 0x6795), + CodeunitRange(0x6797, 0x679a), + CodeunitRange(0x679c, 0x679d), + CodeunitRange(0x679f, 0x67a0), + CodeunitRange(0x67a4, 0x67a4), + CodeunitRange(0x67ac, 0x67ac), + CodeunitRange(0x67ae, 0x67bb), + CodeunitRange(0x67bf, 0x67c6), + CodeunitRange(0x67c8, 0x67d4), + CodeunitRange(0x67d6, 0x67df), + CodeunitRange(0x67e2, 0x67e7), + CodeunitRange(0x67e9, 0x67fa), + CodeunitRange(0x67fc, 0x67fc), + CodeunitRange(0x67fe, 0x6804), + CodeunitRange(0x680d, 0x680d), + CodeunitRange(0x6810, 0x6810), + CodeunitRange(0x6812, 0x6814), + CodeunitRange(0x6816, 0x6818), + CodeunitRange(0x681a, 0x6822), + CodeunitRange(0x6825, 0x6826), + CodeunitRange(0x6828, 0x682b), + CodeunitRange(0x682d, 0x682f), + CodeunitRange(0x6831, 0x683e), + CodeunitRange(0x6840, 0x6851), + CodeunitRange(0x6853, 0x6856), + CodeunitRange(0x685d, 0x685d), + CodeunitRange(0x6865, 0x6865), + CodeunitRange(0x686b, 0x686b), + CodeunitRange(0x686d, 0x686f), + CodeunitRange(0x6871, 0x6872), + CodeunitRange(0x6874, 0x6879), + CodeunitRange(0x687b, 0x688c), + CodeunitRange(0x688f, 0x6894), + CodeunitRange(0x6896, 0x6898), + CodeunitRange(0x689b, 0x689d), + CodeunitRange(0x689f, 0x68a4), + CodeunitRange(0x68a6, 0x68b6), + CodeunitRange(0x68b9, 0x68b9), + CodeunitRange(0x68bd, 0x68bd), + CodeunitRange(0x68c1, 0x68c1), + CodeunitRange(0x68c3, 0x68ce), + CodeunitRange(0x68d0, 0x68d8), + CodeunitRange(0x68da, 0x68da), + CodeunitRange(0x68dc, 0x68e1), + CodeunitRange(0x68e3, 0x68e4), + CodeunitRange(0x68e6, 0x68ec), + CodeunitRange(0x68ee, 0x68fd), + CodeunitRange(0x6900, 0x6915), + CodeunitRange(0x6917, 0x691b), + CodeunitRange(0x6925, 0x6925), + CodeunitRange(0x692a, 0x692a), + CodeunitRange(0x692c, 0x692c), + CodeunitRange(0x692f, 0x6930), + CodeunitRange(0x6932, 0x6939), + CodeunitRange(0x693b, 0x6946), + CodeunitRange(0x6948, 0x694c), + CodeunitRange(0x694e, 0x694f), + CodeunitRange(0x6951, 0x697b), + CodeunitRange(0x6980, 0x6980), + CodeunitRange(0x6982, 0x6983), + CodeunitRange(0x6985, 0x6986), + CodeunitRange(0x698a, 0x698a), + CodeunitRange(0x698d, 0x698e), + CodeunitRange(0x6990, 0x6991), + CodeunitRange(0x6993, 0x699c), + CodeunitRange(0x699e, 0x69b7), + CodeunitRange(0x69b9, 0x69b9), + CodeunitRange(0x69bb, 0x69c4), + CodeunitRange(0x69c6, 0x69c6), + CodeunitRange(0x69c9, 0x69d1), + CodeunitRange(0x69d3, 0x69d6), + CodeunitRange(0x69d9, 0x69d9), + CodeunitRange(0x69e1, 0x69e2), + CodeunitRange(0x69e4, 0x69e9), + CodeunitRange(0x69eb, 0x69ee), + CodeunitRange(0x69f1, 0x69f4), + CodeunitRange(0x69f6, 0x6a0d), + CodeunitRange(0x6a0f, 0x6a0f), + CodeunitRange(0x6a11, 0x6a11), + CodeunitRange(0x6a13, 0x6a21), + CodeunitRange(0x6a23, 0x6a23), + CodeunitRange(0x6a25, 0x6a29), + CodeunitRange(0x6a2b, 0x6a2d), + CodeunitRange(0x6a32, 0x6a35), + CodeunitRange(0x6a38, 0x6a41), + CodeunitRange(0x6a43, 0x6a49), + CodeunitRange(0x6a4b, 0x6a5b), + CodeunitRange(0x6a5d, 0x6a6b), + CodeunitRange(0x6a6d, 0x6a6d), + CodeunitRange(0x6a6f, 0x6a6f), + CodeunitRange(0x6a71, 0x6a71), + CodeunitRange(0x6a74, 0x6a74), + CodeunitRange(0x6a76, 0x6a76), + CodeunitRange(0x6a7a, 0x6a7a), + CodeunitRange(0x6a7e, 0x6a85), + CodeunitRange(0x6a87, 0x6a87), + CodeunitRange(0x6a89, 0x6a8a), + CodeunitRange(0x6a8c, 0x6a97), + CodeunitRange(0x6a99, 0x6aa8), + CodeunitRange(0x6aab, 0x6aaf), + CodeunitRange(0x6ab1, 0x6abb), + CodeunitRange(0x6abd, 0x6abe), + CodeunitRange(0x6ac2, 0x6ac3), + CodeunitRange(0x6ac5, 0x6acd), + CodeunitRange(0x6acf, 0x6ad1), + CodeunitRange(0x6ad3, 0x6ad4), + CodeunitRange(0x6ad8, 0x6ae1), + CodeunitRange(0x6ae5, 0x6ae5), + CodeunitRange(0x6ae7, 0x6ae8), + CodeunitRange(0x6aea, 0x6aec), + CodeunitRange(0x6aee, 0x6af1), + CodeunitRange(0x6af3, 0x6af3), + CodeunitRange(0x6af6, 0x6af6), + CodeunitRange(0x6af8, 0x6afc), + CodeunitRange(0x6b00, 0x6b00), + CodeunitRange(0x6b02, 0x6b05), + CodeunitRange(0x6b08, 0x6b0b), + CodeunitRange(0x6b0f, 0x6b13), + CodeunitRange(0x6b16, 0x6b1a), + CodeunitRange(0x6b1d, 0x6b1e), + CodeunitRange(0x6b20, 0x6b21), + CodeunitRange(0x6b23, 0x6b23), + CodeunitRange(0x6b25, 0x6b25), + CodeunitRange(0x6b28, 0x6b28), + CodeunitRange(0x6b2c, 0x6b2d), + CodeunitRange(0x6b2f, 0x6b2f), + CodeunitRange(0x6b31, 0x6b3f), + CodeunitRange(0x6b41, 0x6b43), + CodeunitRange(0x6b45, 0x6b4e), + CodeunitRange(0x6b50, 0x6b52), + CodeunitRange(0x6b54, 0x6b57), + CodeunitRange(0x6b59, 0x6b59), + CodeunitRange(0x6b5b, 0x6b5c), + CodeunitRange(0x6b5e, 0x6b67), + CodeunitRange(0x6b6a, 0x6b6a), + CodeunitRange(0x6b6d, 0x6b6d), + CodeunitRange(0x6b6f, 0x6b6f), + CodeunitRange(0x6b72, 0x6b72), + CodeunitRange(0x6b74, 0x6b74), + CodeunitRange(0x6b76, 0x6b7b), + CodeunitRange(0x6b7e, 0x6b84), + CodeunitRange(0x6b86, 0x6b86), + CodeunitRange(0x6b88, 0x6b8a), + CodeunitRange(0x6b8c, 0x6b8f), + CodeunitRange(0x6b91, 0x6b91), + CodeunitRange(0x6b94, 0x6b99), + CodeunitRange(0x6b9b, 0x6b9b), + CodeunitRange(0x6b9e, 0x6ba0), + CodeunitRange(0x6ba2, 0x6ba7), + CodeunitRange(0x6baa, 0x6bab), + CodeunitRange(0x6bad, 0x6bb0), + CodeunitRange(0x6bb2, 0x6bb3), + CodeunitRange(0x6bb5, 0x6bb7), + CodeunitRange(0x6bba, 0x6bba), + CodeunitRange(0x6bbc, 0x6bbd), + CodeunitRange(0x6bbf, 0x6bc1), + CodeunitRange(0x6bc3, 0x6bcd), + CodeunitRange(0x6bcf, 0x6bd0), + CodeunitRange(0x6bd2, 0x6bd4), + CodeunitRange(0x6bd6, 0x6bd8), + CodeunitRange(0x6bda, 0x6bdc), + CodeunitRange(0x6bde, 0x6bde), + CodeunitRange(0x6be0, 0x6be4), + CodeunitRange(0x6be6, 0x6be8), + CodeunitRange(0x6bea, 0x6bec), + CodeunitRange(0x6bef, 0x6bf0), + CodeunitRange(0x6bf2, 0x6bf3), + CodeunitRange(0x6bf7, 0x6c06), + CodeunitRange(0x6c08, 0x6c09), + CodeunitRange(0x6c0b, 0x6c0d), + CodeunitRange(0x6c0f, 0x6c11), + CodeunitRange(0x6c13, 0x6c16), + CodeunitRange(0x6c18, 0x6c1d), + CodeunitRange(0x6c1f, 0x6c21), + CodeunitRange(0x6c23, 0x6c28), + CodeunitRange(0x6c2a, 0x6c2c), + CodeunitRange(0x6c2e, 0x6c3b), + CodeunitRange(0x6c3d, 0x6c43), + CodeunitRange(0x6c46, 0x6c46), + CodeunitRange(0x6c49, 0x6c50), + CodeunitRange(0x6c52, 0x6c52), + CodeunitRange(0x6c54, 0x6c55), + CodeunitRange(0x6c57, 0x6c61), + CodeunitRange(0x6c65, 0x6c6b), + CodeunitRange(0x6c6d, 0x6c76), + CodeunitRange(0x6c78, 0x6c7b), + CodeunitRange(0x6c7d, 0x6c90), + CodeunitRange(0x6c92, 0x6c96), + CodeunitRange(0x6c98, 0x6c9d), + CodeunitRange(0x6c9f, 0x6c9f), + CodeunitRange(0x6ca2, 0x6ca2), + CodeunitRange(0x6caa, 0x6cb4), + CodeunitRange(0x6cb6, 0x6cc7), + CodeunitRange(0x6cc9, 0x6cd7), + CodeunitRange(0x6cd9, 0x6ce3), + CodeunitRange(0x6ce5, 0x6ce5), + CodeunitRange(0x6ce7, 0x6cf3), + CodeunitRange(0x6cf5, 0x6cf5), + CodeunitRange(0x6cf9, 0x6cf9), + CodeunitRange(0x6cff, 0x6d12), + CodeunitRange(0x6d16, 0x6d1b), + CodeunitRange(0x6d1d, 0x6d20), + CodeunitRange(0x6d22, 0x6d22), + CodeunitRange(0x6d24, 0x6d42), + CodeunitRange(0x6d4e, 0x6d4e), + CodeunitRange(0x6d57, 0x6d5c), + CodeunitRange(0x6d5e, 0x6d6a), + CodeunitRange(0x6d6c, 0x6d72), + CodeunitRange(0x6d74, 0x6d98), + CodeunitRange(0x6d9a, 0x6d9a), + CodeunitRange(0x6da4, 0x6da5), + CodeunitRange(0x6daa, 0x6dac), + CodeunitRange(0x6dae, 0x6daf), + CodeunitRange(0x6db1, 0x6db5), + CodeunitRange(0x6db7, 0x6dc0), + CodeunitRange(0x6dc2, 0x6dc2), + CodeunitRange(0x6dc4, 0x6dcd), + CodeunitRange(0x6dcf, 0x6de6), + CodeunitRange(0x6de8, 0x6df7), + CodeunitRange(0x6df9, 0x6dfe), + CodeunitRange(0x6e00, 0x6e00), + CodeunitRange(0x6e02, 0x6e05), + CodeunitRange(0x6e0a, 0x6e0a), + CodeunitRange(0x6e0f, 0x6e0f), + CodeunitRange(0x6e15, 0x6e15), + CodeunitRange(0x6e18, 0x6e1d), + CodeunitRange(0x6e1f, 0x6e36), + CodeunitRange(0x6e38, 0x6e41), + CodeunitRange(0x6e43, 0x6e47), + CodeunitRange(0x6e49, 0x6e4b), + CodeunitRange(0x6e4d, 0x6e69), + CodeunitRange(0x6e6b, 0x6e6b), + CodeunitRange(0x6e6e, 0x6e6f), + CodeunitRange(0x6e71, 0x6e74), + CodeunitRange(0x6e76, 0x6e79), + CodeunitRange(0x6e7c, 0x6e7c), + CodeunitRange(0x6e86, 0x6e86), + CodeunitRange(0x6e88, 0x6e89), + CodeunitRange(0x6e8b, 0x6e8b), + CodeunitRange(0x6e8d, 0x6e90), + CodeunitRange(0x6e92, 0x6e94), + CodeunitRange(0x6e96, 0x6ea7), + CodeunitRange(0x6eaa, 0x6eab), + CodeunitRange(0x6eae, 0x6ed6), + CodeunitRange(0x6ed8, 0x6edd), + CodeunitRange(0x6ee2, 0x6ee2), + CodeunitRange(0x6ee8, 0x6ee9), + CodeunitRange(0x6eeb, 0x6eef), + CodeunitRange(0x6ef1, 0x6ef2), + CodeunitRange(0x6ef4, 0x6f0f), + CodeunitRange(0x6f12, 0x6f1a), + CodeunitRange(0x6f1c, 0x6f1c), + CodeunitRange(0x6f1e, 0x6f27), + CodeunitRange(0x6f29, 0x6f41), + CodeunitRange(0x6f43, 0x6f44), + CodeunitRange(0x6f4e, 0x6f58), + CodeunitRange(0x6f5a, 0x6f64), + CodeunitRange(0x6f66, 0x6f67), + CodeunitRange(0x6f69, 0x6f70), + CodeunitRange(0x6f72, 0x6f74), + CodeunitRange(0x6f76, 0x6f82), + CodeunitRange(0x6f84, 0x6f8e), + CodeunitRange(0x6f90, 0x6f90), + CodeunitRange(0x6f92, 0x6f97), + CodeunitRange(0x6f9d, 0x6fb6), + CodeunitRange(0x6fb8, 0x6fc4), + CodeunitRange(0x6fc6, 0x6fcf), + CodeunitRange(0x6fd3, 0x6fd5), + CodeunitRange(0x6fd8, 0x6fe4), + CodeunitRange(0x6fe6, 0x6fe9), + CodeunitRange(0x6feb, 0x6ff2), + CodeunitRange(0x6ff4, 0x6ff4), + CodeunitRange(0x6ff6, 0x6ff8), + CodeunitRange(0x6ffa, 0x6ffc), + CodeunitRange(0x6ffe, 0x7001), + CodeunitRange(0x7003, 0x7007), + CodeunitRange(0x7009, 0x700f), + CodeunitRange(0x7011, 0x7011), + CodeunitRange(0x7014, 0x7024), + CodeunitRange(0x7026, 0x702c), + CodeunitRange(0x702f, 0x7035), + CodeunitRange(0x7037, 0x703c), + CodeunitRange(0x703e, 0x7046), + CodeunitRange(0x7048, 0x704d), + CodeunitRange(0x7050, 0x7052), + CodeunitRange(0x7054, 0x7058), + CodeunitRange(0x705a, 0x706c), + CodeunitRange(0x706e, 0x7071), + CodeunitRange(0x7074, 0x707a), + CodeunitRange(0x707c, 0x707f), + CodeunitRange(0x7081, 0x7086), + CodeunitRange(0x7089, 0x708b), + CodeunitRange(0x708e, 0x708f), + CodeunitRange(0x7091, 0x7096), + CodeunitRange(0x7098, 0x709a), + CodeunitRange(0x709f, 0x70a1), + CodeunitRange(0x70a3, 0x70a7), + CodeunitRange(0x70a9, 0x70a9), + CodeunitRange(0x70ab, 0x70b1), + CodeunitRange(0x70b3, 0x70b5), + CodeunitRange(0x70b7, 0x70be), + CodeunitRange(0x70c0, 0x70c0), + CodeunitRange(0x70c4, 0x70c8), + CodeunitRange(0x70ca, 0x70da), + CodeunitRange(0x70dc, 0x70e2), + CodeunitRange(0x70e4, 0x70e4), + CodeunitRange(0x70ef, 0x70f1), + CodeunitRange(0x70f3, 0x7100), + CodeunitRange(0x7102, 0x7102), + CodeunitRange(0x7104, 0x7106), + CodeunitRange(0x7109, 0x710e), + CodeunitRange(0x7110, 0x7110), + CodeunitRange(0x7113, 0x7113), + CodeunitRange(0x7117, 0x7117), + CodeunitRange(0x7119, 0x7123), + CodeunitRange(0x7125, 0x7126), + CodeunitRange(0x7128, 0x7129), + CodeunitRange(0x712b, 0x712c), + CodeunitRange(0x712e, 0x7136), + CodeunitRange(0x713a, 0x713b), + CodeunitRange(0x713e, 0x713e), + CodeunitRange(0x7140, 0x7147), + CodeunitRange(0x7149, 0x7154), + CodeunitRange(0x7156, 0x715a), + CodeunitRange(0x715c, 0x716c), + CodeunitRange(0x716e, 0x716e), + CodeunitRange(0x7170, 0x7178), + CodeunitRange(0x717a, 0x717e), + CodeunitRange(0x7180, 0x7182), + CodeunitRange(0x7184, 0x718a), + CodeunitRange(0x718c, 0x718c), + CodeunitRange(0x718e, 0x7192), + CodeunitRange(0x7194, 0x7194), + CodeunitRange(0x7196, 0x71a5), + CodeunitRange(0x71a7, 0x71aa), + CodeunitRange(0x71ac, 0x71ad), + CodeunitRange(0x71af, 0x71b5), + CodeunitRange(0x71b7, 0x71ba), + CodeunitRange(0x71bc, 0x71cb), + CodeunitRange(0x71ce, 0x71d2), + CodeunitRange(0x71d4, 0x71d6), + CodeunitRange(0x71d8, 0x71dd), + CodeunitRange(0x71df, 0x71e2), + CodeunitRange(0x71e4, 0x71e8), + CodeunitRange(0x71eb, 0x71ee), + CodeunitRange(0x71f0, 0x71f2), + CodeunitRange(0x71f4, 0x71f6), + CodeunitRange(0x71f8, 0x71f9), + CodeunitRange(0x71fb, 0x7203), + CodeunitRange(0x7205, 0x7207), + CodeunitRange(0x7209, 0x720a), + CodeunitRange(0x720c, 0x7210), + CodeunitRange(0x7213, 0x7217), + CodeunitRange(0x7219, 0x721b), + CodeunitRange(0x721d, 0x721f), + CodeunitRange(0x7222, 0x722e), + CodeunitRange(0x7230, 0x7230), + CodeunitRange(0x7235, 0x7236), + CodeunitRange(0x7238, 0x723b), + CodeunitRange(0x723d, 0x7242), + CodeunitRange(0x7244, 0x7244), + CodeunitRange(0x7246, 0x724c), + CodeunitRange(0x724f, 0x7250), + CodeunitRange(0x7252, 0x7253), + CodeunitRange(0x7255, 0x7263), + CodeunitRange(0x7266, 0x7267), + CodeunitRange(0x7269, 0x726a), + CodeunitRange(0x726c, 0x726c), + CodeunitRange(0x726e, 0x7270), + CodeunitRange(0x7272, 0x7274), + CodeunitRange(0x7276, 0x7279), + CodeunitRange(0x727b, 0x7282), + CodeunitRange(0x7284, 0x7289), + CodeunitRange(0x728b, 0x7298), + CodeunitRange(0x729a, 0x729b), + CodeunitRange(0x729d, 0x729f), + CodeunitRange(0x72a1, 0x72aa), + CodeunitRange(0x72ac, 0x72b0), + CodeunitRange(0x72b2, 0x72b2), + CodeunitRange(0x72b4, 0x72b5), + CodeunitRange(0x72ba, 0x72ba), + CodeunitRange(0x72bd, 0x72bd), + CodeunitRange(0x72bf, 0x72c6), + CodeunitRange(0x72c9, 0x72ce), + CodeunitRange(0x72d0, 0x72d2), + CodeunitRange(0x72d4, 0x72d4), + CodeunitRange(0x72d6, 0x72da), + CodeunitRange(0x72dc, 0x72dc), + CodeunitRange(0x72df, 0x72e4), + CodeunitRange(0x72e6, 0x72e6), + CodeunitRange(0x72e8, 0x72eb), + CodeunitRange(0x72f3, 0x72f4), + CodeunitRange(0x72f6, 0x7302), + CodeunitRange(0x7304, 0x7304), + CodeunitRange(0x7307, 0x7308), + CodeunitRange(0x730a, 0x730c), + CodeunitRange(0x730f, 0x7313), + CodeunitRange(0x7316, 0x7319), + CodeunitRange(0x731b, 0x731e), + CodeunitRange(0x7322, 0x7323), + CodeunitRange(0x7325, 0x732e), + CodeunitRange(0x7330, 0x733c), + CodeunitRange(0x733e, 0x7345), + CodeunitRange(0x7348, 0x734a), + CodeunitRange(0x734c, 0x7352), + CodeunitRange(0x7357, 0x735b), + CodeunitRange(0x735d, 0x7362), + CodeunitRange(0x7365, 0x736c), + CodeunitRange(0x736e, 0x7378), + CodeunitRange(0x737a, 0x738c), + CodeunitRange(0x738e, 0x738f), + CodeunitRange(0x7392, 0x7398), + CodeunitRange(0x739c, 0x73a2), + CodeunitRange(0x73a4, 0x73ad), + CodeunitRange(0x73b2, 0x73bc), + CodeunitRange(0x73be, 0x73c0), + CodeunitRange(0x73c2, 0x73d0), + CodeunitRange(0x73d2, 0x73de), + CodeunitRange(0x73e0, 0x73eb), + CodeunitRange(0x73ed, 0x73ef), + CodeunitRange(0x73f3, 0x740d), + CodeunitRange(0x7411, 0x7412), + CodeunitRange(0x7414, 0x7417), + CodeunitRange(0x7419, 0x7426), + CodeunitRange(0x7428, 0x743a), + CodeunitRange(0x743c, 0x743c), + CodeunitRange(0x743f, 0x7457), + CodeunitRange(0x7459, 0x7465), + CodeunitRange(0x7467, 0x7476), + CodeunitRange(0x7479, 0x747a), + CodeunitRange(0x747c, 0x7483), + CodeunitRange(0x7485, 0x748d), + CodeunitRange(0x7490, 0x7490), + CodeunitRange(0x7492, 0x7492), + CodeunitRange(0x7494, 0x7495), + CodeunitRange(0x7497, 0x74a1), + CodeunitRange(0x74a3, 0x74ab), + CodeunitRange(0x74ad, 0x74ad), + CodeunitRange(0x74af, 0x74b2), + CodeunitRange(0x74b4, 0x74bb), + CodeunitRange(0x74bd, 0x74c3), + CodeunitRange(0x74c5, 0x74c6), + CodeunitRange(0x74c8, 0x74c8), + CodeunitRange(0x74ca, 0x74cc), + CodeunitRange(0x74cf, 0x74d0), + CodeunitRange(0x74d3, 0x74e9), + CodeunitRange(0x74ec, 0x74ec), + CodeunitRange(0x74ee, 0x74ee), + CodeunitRange(0x74f0, 0x74f2), + CodeunitRange(0x74f4, 0x74f8), + CodeunitRange(0x74fb, 0x74fb), + CodeunitRange(0x74fd, 0x7500), + CodeunitRange(0x7502, 0x7505), + CodeunitRange(0x7507, 0x7508), + CodeunitRange(0x750b, 0x751a), + CodeunitRange(0x751c, 0x751f), + CodeunitRange(0x7521, 0x7522), + CodeunitRange(0x7525, 0x7526), + CodeunitRange(0x7528, 0x7535), + CodeunitRange(0x7537, 0x753b), + CodeunitRange(0x753d, 0x7540), + CodeunitRange(0x7542, 0x7542), + CodeunitRange(0x7546, 0x7548), + CodeunitRange(0x754a, 0x754f), + CodeunitRange(0x7551, 0x7551), + CodeunitRange(0x7553, 0x7555), + CodeunitRange(0x7559, 0x755d), + CodeunitRange(0x755f, 0x7560), + CodeunitRange(0x7562, 0x7567), + CodeunitRange(0x756a, 0x7570), + CodeunitRange(0x7572, 0x7572), + CodeunitRange(0x7576, 0x757a), + CodeunitRange(0x757d, 0x7580), + CodeunitRange(0x7583, 0x7584), + CodeunitRange(0x7586, 0x7587), + CodeunitRange(0x758a, 0x7592), + CodeunitRange(0x7594, 0x7595), + CodeunitRange(0x7598, 0x759a), + CodeunitRange(0x759d, 0x759e), + CodeunitRange(0x75a2, 0x75a5), + CodeunitRange(0x75a7, 0x75a7), + CodeunitRange(0x75aa, 0x75ab), + CodeunitRange(0x75b0, 0x75b6), + CodeunitRange(0x75b8, 0x75c5), + CodeunitRange(0x75c7, 0x75c8), + CodeunitRange(0x75ca, 0x75d2), + CodeunitRange(0x75d4, 0x75d5), + CodeunitRange(0x75d7, 0x75e4), + CodeunitRange(0x75e6, 0x75e7), + CodeunitRange(0x75ed, 0x75ed), + CodeunitRange(0x75ef, 0x7603), + CodeunitRange(0x7607, 0x760d), + CodeunitRange(0x760f, 0x7611), + CodeunitRange(0x7613, 0x7616), + CodeunitRange(0x7619, 0x7629), + CodeunitRange(0x762c, 0x762d), + CodeunitRange(0x762f, 0x7635), + CodeunitRange(0x7638, 0x7638), + CodeunitRange(0x763a, 0x763d), + CodeunitRange(0x7640, 0x7640), + CodeunitRange(0x7642, 0x7643), + CodeunitRange(0x7646, 0x7649), + CodeunitRange(0x764c, 0x7654), + CodeunitRange(0x7656, 0x765a), + CodeunitRange(0x765c, 0x765c), + CodeunitRange(0x765f, 0x7662), + CodeunitRange(0x7664, 0x7667), + CodeunitRange(0x7669, 0x766a), + CodeunitRange(0x766c, 0x7676), + CodeunitRange(0x7678, 0x767f), + CodeunitRange(0x7681, 0x7682), + CodeunitRange(0x7684, 0x7684), + CodeunitRange(0x7686, 0x768b), + CodeunitRange(0x768e, 0x7690), + CodeunitRange(0x7692, 0x7693), + CodeunitRange(0x7695, 0x7696), + CodeunitRange(0x7699, 0x769e), + CodeunitRange(0x76a1, 0x76a1), + CodeunitRange(0x76a4, 0x76a6), + CodeunitRange(0x76aa, 0x76ab), + CodeunitRange(0x76ad, 0x76b0), + CodeunitRange(0x76b4, 0x76b5), + CodeunitRange(0x76b7, 0x76b8), + CodeunitRange(0x76ba, 0x76bb), + CodeunitRange(0x76bd, 0x76bf), + CodeunitRange(0x76c2, 0x76c6), + CodeunitRange(0x76c8, 0x76ca), + CodeunitRange(0x76cc, 0x76ce), + CodeunitRange(0x76d2, 0x76d4), + CodeunitRange(0x76d6, 0x76d6), + CodeunitRange(0x76d9, 0x76df), + CodeunitRange(0x76e1, 0x76e1), + CodeunitRange(0x76e3, 0x76e7), + CodeunitRange(0x76e9, 0x76ea), + CodeunitRange(0x76ec, 0x76f5), + CodeunitRange(0x76f7, 0x76fc), + CodeunitRange(0x76fe, 0x76fe), + CodeunitRange(0x7701, 0x7701), + CodeunitRange(0x7703, 0x7705), + CodeunitRange(0x7707, 0x770c), + CodeunitRange(0x770e, 0x7713), + CodeunitRange(0x7715, 0x7715), + CodeunitRange(0x7719, 0x771b), + CodeunitRange(0x771d, 0x7720), + CodeunitRange(0x7722, 0x7729), + CodeunitRange(0x772b, 0x772b), + CodeunitRange(0x772d, 0x772d), + CodeunitRange(0x772f, 0x772f), + CodeunitRange(0x7731, 0x773e), + CodeunitRange(0x7740, 0x7740), + CodeunitRange(0x7743, 0x7747), + CodeunitRange(0x774a, 0x774f), + CodeunitRange(0x7752, 0x7752), + CodeunitRange(0x7754, 0x7756), + CodeunitRange(0x7758, 0x775c), + CodeunitRange(0x775e, 0x7763), + CodeunitRange(0x7765, 0x776f), + CodeunitRange(0x7772, 0x7772), + CodeunitRange(0x7777, 0x7785), + CodeunitRange(0x7787, 0x7789), + CodeunitRange(0x778b, 0x778f), + CodeunitRange(0x7791, 0x7791), + CodeunitRange(0x7793, 0x7793), + CodeunitRange(0x7795, 0x7795), + CodeunitRange(0x7797, 0x77a3), + CodeunitRange(0x77a5, 0x77a5), + CodeunitRange(0x77a7, 0x77a8), + CodeunitRange(0x77aa, 0x77ad), + CodeunitRange(0x77af, 0x77b7), + CodeunitRange(0x77b9, 0x77bf), + CodeunitRange(0x77c2, 0x77c5), + CodeunitRange(0x77c7, 0x77c7), + CodeunitRange(0x77c9, 0x77d0), + CodeunitRange(0x77d3, 0x77d5), + CodeunitRange(0x77d7, 0x77de), + CodeunitRange(0x77e0, 0x77e0), + CodeunitRange(0x77e2, 0x77e3), + CodeunitRange(0x77e5, 0x77e9), + CodeunitRange(0x77ec, 0x77f4), + CodeunitRange(0x77f7, 0x77fe), + CodeunitRange(0x7802, 0x7803), + CodeunitRange(0x7805, 0x7806), + CodeunitRange(0x7808, 0x7809), + CodeunitRange(0x780c, 0x7814), + CodeunitRange(0x7818, 0x7818), + CodeunitRange(0x781c, 0x7823), + CodeunitRange(0x7825, 0x7835), + CodeunitRange(0x7837, 0x7839), + CodeunitRange(0x783c, 0x783d), + CodeunitRange(0x7842, 0x7845), + CodeunitRange(0x7847, 0x784e), + CodeunitRange(0x7850, 0x7854), + CodeunitRange(0x785c, 0x785e), + CodeunitRange(0x7860, 0x7860), + CodeunitRange(0x7862, 0x7862), + CodeunitRange(0x7864, 0x7866), + CodeunitRange(0x7868, 0x7871), + CodeunitRange(0x7879, 0x787c), + CodeunitRange(0x787e, 0x7881), + CodeunitRange(0x7883, 0x7889), + CodeunitRange(0x788c, 0x788f), + CodeunitRange(0x7891, 0x7891), + CodeunitRange(0x7893, 0x789a), + CodeunitRange(0x789e, 0x78a5), + CodeunitRange(0x78a7, 0x78ad), + CodeunitRange(0x78af, 0x78b4), + CodeunitRange(0x78b6, 0x78b6), + CodeunitRange(0x78b8, 0x78bc), + CodeunitRange(0x78be, 0x78be), + CodeunitRange(0x78c1, 0x78c1), + CodeunitRange(0x78c3, 0x78c5), + CodeunitRange(0x78c7, 0x78d5), + CodeunitRange(0x78d7, 0x78d8), + CodeunitRange(0x78da, 0x78db), + CodeunitRange(0x78dd, 0x78e5), + CodeunitRange(0x78e7, 0x78ea), + CodeunitRange(0x78ec, 0x78f5), + CodeunitRange(0x78f7, 0x78f7), + CodeunitRange(0x78f9, 0x78ff), + CodeunitRange(0x7901, 0x7902), + CodeunitRange(0x7904, 0x7906), + CodeunitRange(0x7909, 0x7909), + CodeunitRange(0x790c, 0x790c), + CodeunitRange(0x790e, 0x790e), + CodeunitRange(0x7910, 0x7914), + CodeunitRange(0x7917, 0x7917), + CodeunitRange(0x7919, 0x7919), + CodeunitRange(0x791b, 0x791e), + CodeunitRange(0x7921, 0x7921), + CodeunitRange(0x7923, 0x792f), + CodeunitRange(0x7931, 0x7936), + CodeunitRange(0x7938, 0x7942), + CodeunitRange(0x7944, 0x794c), + CodeunitRange(0x794f, 0x7965), + CodeunitRange(0x7967, 0x796b), + CodeunitRange(0x796d, 0x796d), + CodeunitRange(0x7970, 0x7974), + CodeunitRange(0x7979, 0x797a), + CodeunitRange(0x797c, 0x7983), + CodeunitRange(0x7986, 0x7988), + CodeunitRange(0x798a, 0x798b), + CodeunitRange(0x798d, 0x799d), + CodeunitRange(0x799f, 0x79a2), + CodeunitRange(0x79a4, 0x79ae), + CodeunitRange(0x79b0, 0x79b4), + CodeunitRange(0x79b6, 0x79bb), + CodeunitRange(0x79bd, 0x79c1), + CodeunitRange(0x79c4, 0x79c6), + CodeunitRange(0x79c8, 0x79d2), + CodeunitRange(0x79d4, 0x79d6), + CodeunitRange(0x79d8, 0x79d8), + CodeunitRange(0x79dc, 0x79e0), + CodeunitRange(0x79e2, 0x79e4), + CodeunitRange(0x79e6, 0x79e7), + CodeunitRange(0x79e9, 0x79ee), + CodeunitRange(0x79f1, 0x79f1), + CodeunitRange(0x79f4, 0x79f4), + CodeunitRange(0x79f6, 0x79f8), + CodeunitRange(0x79fa, 0x79fb), + CodeunitRange(0x7a00, 0x7a00), + CodeunitRange(0x7a02, 0x7a06), + CodeunitRange(0x7a08, 0x7a08), + CodeunitRange(0x7a0a, 0x7a0e), + CodeunitRange(0x7a10, 0x7a15), + CodeunitRange(0x7a17, 0x7a1c), + CodeunitRange(0x7a1e, 0x7a20), + CodeunitRange(0x7a22, 0x7a22), + CodeunitRange(0x7a26, 0x7a26), + CodeunitRange(0x7a28, 0x7a28), + CodeunitRange(0x7a2a, 0x7a32), + CodeunitRange(0x7a37, 0x7a37), + CodeunitRange(0x7a39, 0x7a40), + CodeunitRange(0x7a43, 0x7a4e), + CodeunitRange(0x7a54, 0x7a54), + CodeunitRange(0x7a56, 0x7a58), + CodeunitRange(0x7a5a, 0x7a5c), + CodeunitRange(0x7a5f, 0x7a62), + CodeunitRange(0x7a65, 0x7a65), + CodeunitRange(0x7a67, 0x7a69), + CodeunitRange(0x7a6b, 0x7a6e), + CodeunitRange(0x7a70, 0x7a72), + CodeunitRange(0x7a74, 0x7a76), + CodeunitRange(0x7a78, 0x7a7b), + CodeunitRange(0x7a7d, 0x7a81), + CodeunitRange(0x7a83, 0x7a8c), + CodeunitRange(0x7a8f, 0x7a99), + CodeunitRange(0x7a9e, 0x7aa0), + CodeunitRange(0x7aa2, 0x7aa3), + CodeunitRange(0x7aa8, 0x7aac), + CodeunitRange(0x7aae, 0x7ab8), + CodeunitRange(0x7aba, 0x7abc), + CodeunitRange(0x7abe, 0x7ac5), + CodeunitRange(0x7ac7, 0x7acb), + CodeunitRange(0x7acf, 0x7acf), + CodeunitRange(0x7ad1, 0x7ad1), + CodeunitRange(0x7ad3, 0x7ad3), + CodeunitRange(0x7ad8, 0x7add), + CodeunitRange(0x7adf, 0x7ae0), + CodeunitRange(0x7ae2, 0x7ae7), + CodeunitRange(0x7ae9, 0x7aeb), + CodeunitRange(0x7aed, 0x7aef), + CodeunitRange(0x7af6, 0x7af7), + CodeunitRange(0x7af9, 0x7b01), + CodeunitRange(0x7b04, 0x7b06), + CodeunitRange(0x7b08, 0x7b0c), + CodeunitRange(0x7b0e, 0x7b14), + CodeunitRange(0x7b18, 0x7b1b), + CodeunitRange(0x7b1d, 0x7b20), + CodeunitRange(0x7b22, 0x7b35), + CodeunitRange(0x7b38, 0x7b39), + CodeunitRange(0x7b3b, 0x7b3b), + CodeunitRange(0x7b40, 0x7b40), + CodeunitRange(0x7b42, 0x7b52), + CodeunitRange(0x7b54, 0x7b56), + CodeunitRange(0x7b58, 0x7b58), + CodeunitRange(0x7b60, 0x7b67), + CodeunitRange(0x7b69, 0x7b69), + CodeunitRange(0x7b6c, 0x7b78), + CodeunitRange(0x7b7b, 0x7b7b), + CodeunitRange(0x7b82, 0x7b82), + CodeunitRange(0x7b84, 0x7b85), + CodeunitRange(0x7b87, 0x7b88), + CodeunitRange(0x7b8a, 0x7b92), + CodeunitRange(0x7b94, 0x7b9d), + CodeunitRange(0x7ba0, 0x7ba4), + CodeunitRange(0x7bac, 0x7baf), + CodeunitRange(0x7bb1, 0x7bb2), + CodeunitRange(0x7bb4, 0x7bb5), + CodeunitRange(0x7bb7, 0x7bb9), + CodeunitRange(0x7bbe, 0x7bbe), + CodeunitRange(0x7bc0, 0x7bc1), + CodeunitRange(0x7bc4, 0x7bc7), + CodeunitRange(0x7bc9, 0x7bcc), + CodeunitRange(0x7bce, 0x7bd0), + CodeunitRange(0x7bd4, 0x7bd5), + CodeunitRange(0x7bd8, 0x7bec), + CodeunitRange(0x7bf0, 0x7bf4), + CodeunitRange(0x7bf7, 0x7c03), + CodeunitRange(0x7c05, 0x7c07), + CodeunitRange(0x7c09, 0x7c12), + CodeunitRange(0x7c15, 0x7c15), + CodeunitRange(0x7c19, 0x7c19), + CodeunitRange(0x7c1b, 0x7c23), + CodeunitRange(0x7c25, 0x7c2d), + CodeunitRange(0x7c30, 0x7c30), + CodeunitRange(0x7c33, 0x7c33), + CodeunitRange(0x7c35, 0x7c35), + CodeunitRange(0x7c37, 0x7c39), + CodeunitRange(0x7c3b, 0x7c40), + CodeunitRange(0x7c42, 0x7c45), + CodeunitRange(0x7c47, 0x7c4a), + CodeunitRange(0x7c4c, 0x7c4d), + CodeunitRange(0x7c50, 0x7c51), + CodeunitRange(0x7c53, 0x7c54), + CodeunitRange(0x7c56, 0x7c57), + CodeunitRange(0x7c59, 0x7c5d), + CodeunitRange(0x7c5f, 0x7c60), + CodeunitRange(0x7c63, 0x7c67), + CodeunitRange(0x7c69, 0x7c70), + CodeunitRange(0x7c72, 0x7c75), + CodeunitRange(0x7c78, 0x7c81), + CodeunitRange(0x7c83, 0x7c86), + CodeunitRange(0x7c88, 0x7c8a), + CodeunitRange(0x7c8c, 0x7c8e), + CodeunitRange(0x7c91, 0x7c92), + CodeunitRange(0x7c94, 0x7c98), + CodeunitRange(0x7c9c, 0x7c9c), + CodeunitRange(0x7c9e, 0x7c9f), + CodeunitRange(0x7ca1, 0x7ca3), + CodeunitRange(0x7ca5, 0x7ca8), + CodeunitRange(0x7cac, 0x7cac), + CodeunitRange(0x7cae, 0x7caf), + CodeunitRange(0x7cb1, 0x7cb5), + CodeunitRange(0x7cb8, 0x7cbf), + CodeunitRange(0x7cc2, 0x7cc3), + CodeunitRange(0x7cc5, 0x7cc5), + CodeunitRange(0x7cc7, 0x7cce), + CodeunitRange(0x7cd0, 0x7cd7), + CodeunitRange(0x7cd9, 0x7cda), + CodeunitRange(0x7cdc, 0x7ce0), + CodeunitRange(0x7ce2, 0x7ce2), + CodeunitRange(0x7ce6, 0x7ce8), + CodeunitRange(0x7cea, 0x7cea), + CodeunitRange(0x7cec, 0x7cf9), + CodeunitRange(0x7cfb, 0x7cfe), + CodeunitRange(0x7d00, 0x7d22), + CodeunitRange(0x7d25, 0x7d25), + CodeunitRange(0x7d28, 0x7d29), + CodeunitRange(0x7d2b, 0x7d2c), + CodeunitRange(0x7d2e, 0x7d33), + CodeunitRange(0x7d35, 0x7d36), + CodeunitRange(0x7d38, 0x7d47), + CodeunitRange(0x7d4a, 0x7d4a), + CodeunitRange(0x7d4d, 0x7d56), + CodeunitRange(0x7d58, 0x7d58), + CodeunitRange(0x7d5a, 0x7d5f), + CodeunitRange(0x7d61, 0x7d63), + CodeunitRange(0x7d66, 0x7d6b), + CodeunitRange(0x7d6d, 0x7d73), + CodeunitRange(0x7d79, 0x7d7d), + CodeunitRange(0x7d7f, 0x7d81), + CodeunitRange(0x7d83, 0x7d86), + CodeunitRange(0x7d88, 0x7d89), + CodeunitRange(0x7d8b, 0x7d8f), + CodeunitRange(0x7d91, 0x7d97), + CodeunitRange(0x7d9c, 0x7da4), + CodeunitRange(0x7da6, 0x7db5), + CodeunitRange(0x7db7, 0x7dc2), + CodeunitRange(0x7dc4, 0x7dc7), + CodeunitRange(0x7dc9, 0x7dd0), + CodeunitRange(0x7dd2, 0x7dd4), + CodeunitRange(0x7dd7, 0x7de1), + CodeunitRange(0x7de3, 0x7dea), + CodeunitRange(0x7dec, 0x7dec), + CodeunitRange(0x7dee, 0x7df7), + CodeunitRange(0x7df9, 0x7dfe), + CodeunitRange(0x7e03, 0x7e03), + CodeunitRange(0x7e07, 0x7e17), + CodeunitRange(0x7e1a, 0x7e25), + CodeunitRange(0x7e27, 0x7e27), + CodeunitRange(0x7e29, 0x7e2b), + CodeunitRange(0x7e2d, 0x7e49), + CodeunitRange(0x7e4c, 0x7e4c), + CodeunitRange(0x7e50, 0x7e5c), + CodeunitRange(0x7e5e, 0x7e63), + CodeunitRange(0x7e65, 0x7e65), + CodeunitRange(0x7e67, 0x7e70), + CodeunitRange(0x7e72, 0x7e82), + CodeunitRange(0x7e86, 0x7e88), + CodeunitRange(0x7e8a, 0x7e8f), + CodeunitRange(0x7e91, 0x7e9c), + CodeunitRange(0x7e9f, 0x7e9f), + CodeunitRange(0x7ea4, 0x7ea4), + CodeunitRange(0x7eac, 0x7eac), + CodeunitRange(0x7eba, 0x7eba), + CodeunitRange(0x7ec7, 0x7ec7), + CodeunitRange(0x7ecf, 0x7ecf), + CodeunitRange(0x7edf, 0x7edf), + CodeunitRange(0x7f06, 0x7f06), + CodeunitRange(0x7f36, 0x7f3a), + CodeunitRange(0x7f3d, 0x7f41), + CodeunitRange(0x7f43, 0x7f45), + CodeunitRange(0x7f47, 0x7f55), + CodeunitRange(0x7f58, 0x7f58), + CodeunitRange(0x7f5b, 0x7f61), + CodeunitRange(0x7f63, 0x7f63), + CodeunitRange(0x7f65, 0x7f6e), + CodeunitRange(0x7f70, 0x7f73), + CodeunitRange(0x7f75, 0x7f7f), + CodeunitRange(0x7f83, 0x7f83), + CodeunitRange(0x7f85, 0x7f8f), + CodeunitRange(0x7f91, 0x7f97), + CodeunitRange(0x7f9a, 0x7f9e), + CodeunitRange(0x7fa0, 0x7fa9), + CodeunitRange(0x7fac, 0x7fc3), + CodeunitRange(0x7fc5, 0x7fc5), + CodeunitRange(0x7fc7, 0x7fc7), + CodeunitRange(0x7fc9, 0x7fd2), + CodeunitRange(0x7fd4, 0x7fd5), + CodeunitRange(0x7fd7, 0x7fd7), + CodeunitRange(0x7fdb, 0x7fe3), + CodeunitRange(0x7fe5, 0x7ff5), + CodeunitRange(0x7ff7, 0x8008), + CodeunitRange(0x800b, 0x8012), + CodeunitRange(0x8014, 0x8019), + CodeunitRange(0x801b, 0x8021), + CodeunitRange(0x8024, 0x8026), + CodeunitRange(0x8028, 0x802a), + CodeunitRange(0x802c, 0x802c), + CodeunitRange(0x802e, 0x8031), + CodeunitRange(0x8033, 0x8037), + CodeunitRange(0x8039, 0x8039), + CodeunitRange(0x803b, 0x803f), + CodeunitRange(0x8043, 0x8043), + CodeunitRange(0x8046, 0x8048), + CodeunitRange(0x804a, 0x804a), + CodeunitRange(0x804f, 0x8052), + CodeunitRange(0x8054, 0x8054), + CodeunitRange(0x8056, 0x8056), + CodeunitRange(0x8058, 0x8058), + CodeunitRange(0x805a, 0x805e), + CodeunitRange(0x8061, 0x8064), + CodeunitRange(0x8066, 0x8067), + CodeunitRange(0x806c, 0x806c), + CodeunitRange(0x806f, 0x8073), + CodeunitRange(0x8075, 0x8079), + CodeunitRange(0x807d, 0x8080), + CodeunitRange(0x8082, 0x8082), + CodeunitRange(0x8084, 0x8087), + CodeunitRange(0x8089, 0x808c), + CodeunitRange(0x808f, 0x8090), + CodeunitRange(0x8092, 0x8093), + CodeunitRange(0x8095, 0x8096), + CodeunitRange(0x8098, 0x809d), + CodeunitRange(0x809f, 0x809f), + CodeunitRange(0x80a1, 0x80a3), + CodeunitRange(0x80a5, 0x80a5), + CodeunitRange(0x80a7, 0x80a7), + CodeunitRange(0x80a9, 0x80ab), + CodeunitRange(0x80ad, 0x80af), + CodeunitRange(0x80b1, 0x80b2), + CodeunitRange(0x80b4, 0x80b8), + CodeunitRange(0x80ba, 0x80ba), + CodeunitRange(0x80bc, 0x80bd), + CodeunitRange(0x80c2, 0x80ca), + CodeunitRange(0x80cc, 0x80d1), + CodeunitRange(0x80d4, 0x80de), + CodeunitRange(0x80e0, 0x80e1), + CodeunitRange(0x80e3, 0x80e6), + CodeunitRange(0x80e9, 0x80e9), + CodeunitRange(0x80ec, 0x80ed), + CodeunitRange(0x80ef, 0x80f6), + CodeunitRange(0x80f8, 0x80fe), + CodeunitRange(0x8100, 0x8103), + CodeunitRange(0x8105, 0x810a), + CodeunitRange(0x810c, 0x810c), + CodeunitRange(0x810e, 0x810e), + CodeunitRange(0x8112, 0x8112), + CodeunitRange(0x8114, 0x811b), + CodeunitRange(0x811d, 0x811f), + CodeunitRange(0x8121, 0x8125), + CodeunitRange(0x8127, 0x8127), + CodeunitRange(0x8129, 0x812d), + CodeunitRange(0x812f, 0x8132), + CodeunitRange(0x8134, 0x8134), + CodeunitRange(0x8137, 0x8137), + CodeunitRange(0x8139, 0x813a), + CodeunitRange(0x813d, 0x813e), + CodeunitRange(0x8142, 0x8144), + CodeunitRange(0x8146, 0x8148), + CodeunitRange(0x814a, 0x8156), + CodeunitRange(0x8159, 0x815c), + CodeunitRange(0x815e, 0x815e), + CodeunitRange(0x8160, 0x8162), + CodeunitRange(0x8164, 0x8167), + CodeunitRange(0x8169, 0x8169), + CodeunitRange(0x816b, 0x8174), + CodeunitRange(0x8176, 0x817a), + CodeunitRange(0x817c, 0x817d), + CodeunitRange(0x817f, 0x8180), + CodeunitRange(0x8182, 0x8184), + CodeunitRange(0x8186, 0x818d), + CodeunitRange(0x818f, 0x818f), + CodeunitRange(0x8193, 0x8193), + CodeunitRange(0x8195, 0x8195), + CodeunitRange(0x8197, 0x81a0), + CodeunitRange(0x81a2, 0x81a3), + CodeunitRange(0x81a5, 0x81ac), + CodeunitRange(0x81ae, 0x81ae), + CodeunitRange(0x81b0, 0x81b7), + CodeunitRange(0x81b9, 0x81ca), + CodeunitRange(0x81cc, 0x81cd), + CodeunitRange(0x81cf, 0x81d2), + CodeunitRange(0x81d5, 0x81d5), + CodeunitRange(0x81d7, 0x81db), + CodeunitRange(0x81dd, 0x81ea), + CodeunitRange(0x81ec, 0x81ef), + CodeunitRange(0x81f2, 0x81f4), + CodeunitRange(0x81f6, 0x81fc), + CodeunitRange(0x81fe, 0x8202), + CodeunitRange(0x8204, 0x8205), + CodeunitRange(0x8207, 0x820d), + CodeunitRange(0x8210, 0x8212), + CodeunitRange(0x8214, 0x8216), + CodeunitRange(0x8218, 0x8218), + CodeunitRange(0x821a, 0x8222), + CodeunitRange(0x8225, 0x8226), + CodeunitRange(0x8228, 0x822d), + CodeunitRange(0x822f, 0x822f), + CodeunitRange(0x8232, 0x823a), + CodeunitRange(0x823c, 0x8240), + CodeunitRange(0x8242, 0x8242), + CodeunitRange(0x8244, 0x8245), + CodeunitRange(0x8247, 0x8247), + CodeunitRange(0x8249, 0x8249), + CodeunitRange(0x824b, 0x824b), + CodeunitRange(0x824e, 0x825c), + CodeunitRange(0x825e, 0x825f), + CodeunitRange(0x8261, 0x8266), + CodeunitRange(0x8268, 0x8269), + CodeunitRange(0x826b, 0x826f), + CodeunitRange(0x8271, 0x8272), + CodeunitRange(0x8274, 0x8280), + CodeunitRange(0x8283, 0x8285), + CodeunitRange(0x8287, 0x8287), + CodeunitRange(0x828a, 0x828b), + CodeunitRange(0x828d, 0x8294), + CodeunitRange(0x8298, 0x829b), + CodeunitRange(0x829d, 0x82b1), + CodeunitRange(0x82b3, 0x82c0), + CodeunitRange(0x82c2, 0x82c4), + CodeunitRange(0x82ca, 0x82ca), + CodeunitRange(0x82cf, 0x82d9), + CodeunitRange(0x82db, 0x82dc), + CodeunitRange(0x82de, 0x82e8), + CodeunitRange(0x82ea, 0x8309), + CodeunitRange(0x830b, 0x830d), + CodeunitRange(0x8316, 0x831e), + CodeunitRange(0x8320, 0x8320), + CodeunitRange(0x8322, 0x8322), + CodeunitRange(0x8324, 0x832d), + CodeunitRange(0x832f, 0x832f), + CodeunitRange(0x8331, 0x833d), + CodeunitRange(0x833f, 0x8345), + CodeunitRange(0x8347, 0x8354), + CodeunitRange(0x8356, 0x8357), + CodeunitRange(0x8362, 0x8363), + CodeunitRange(0x8366, 0x8366), + CodeunitRange(0x836f, 0x836f), + CodeunitRange(0x8373, 0x8378), + CodeunitRange(0x837a, 0x837f), + CodeunitRange(0x8381, 0x8381), + CodeunitRange(0x8383, 0x8383), + CodeunitRange(0x8385, 0x839e), + CodeunitRange(0x83a0, 0x83a0), + CodeunitRange(0x83a2, 0x83ac), + CodeunitRange(0x83ae, 0x83b0), + CodeunitRange(0x83b9, 0x83b9), + CodeunitRange(0x83bd, 0x83cf), + CodeunitRange(0x83d1, 0x83d1), + CodeunitRange(0x83d3, 0x83d9), + CodeunitRange(0x83db, 0x83e5), + CodeunitRange(0x83e7, 0x83f6), + CodeunitRange(0x83f8, 0x83ff), + CodeunitRange(0x8401, 0x8401), + CodeunitRange(0x8403, 0x8407), + CodeunitRange(0x8409, 0x8414), + CodeunitRange(0x8416, 0x8416), + CodeunitRange(0x8418, 0x8418), + CodeunitRange(0x841b, 0x841c), + CodeunitRange(0x8420, 0x8421), + CodeunitRange(0x8423, 0x8424), + CodeunitRange(0x8426, 0x8426), + CodeunitRange(0x8429, 0x8429), + CodeunitRange(0x842b, 0x8440), + CodeunitRange(0x8442, 0x844e), + CodeunitRange(0x8450, 0x8469), + CodeunitRange(0x846b, 0x847a), + CodeunitRange(0x847d, 0x8480), + CodeunitRange(0x8482, 0x8482), + CodeunitRange(0x8484, 0x8484), + CodeunitRange(0x8486, 0x8486), + CodeunitRange(0x8488, 0x8488), + CodeunitRange(0x848d, 0x8494), + CodeunitRange(0x8496, 0x84a4), + CodeunitRange(0x84a7, 0x84b2), + CodeunitRange(0x84b4, 0x84b4), + CodeunitRange(0x84b6, 0x84b6), + CodeunitRange(0x84b8, 0x84c2), + CodeunitRange(0x84c4, 0x84c7), + CodeunitRange(0x84c9, 0x84d4), + CodeunitRange(0x84d6, 0x84d7), + CodeunitRange(0x84da, 0x84db), + CodeunitRange(0x84de, 0x84de), + CodeunitRange(0x84e1, 0x84e2), + CodeunitRange(0x84e4, 0x84e5), + CodeunitRange(0x84e7, 0x84ec), + CodeunitRange(0x84ee, 0x84f4), + CodeunitRange(0x84f6, 0x8500), + CodeunitRange(0x8502, 0x851a), + CodeunitRange(0x851c, 0x8521), + CodeunitRange(0x8523, 0x8531), + CodeunitRange(0x8533, 0x8534), + CodeunitRange(0x8538, 0x8538), + CodeunitRange(0x853b, 0x853b), + CodeunitRange(0x853d, 0x853e), + CodeunitRange(0x8540, 0x854e), + CodeunitRange(0x8551, 0x855b), + CodeunitRange(0x855d, 0x8571), + CodeunitRange(0x8573, 0x8573), + CodeunitRange(0x8575, 0x857c), + CodeunitRange(0x857e, 0x857e), + CodeunitRange(0x8580, 0x8591), + CodeunitRange(0x8593, 0x85a4), + CodeunitRange(0x85a6, 0x85aa), + CodeunitRange(0x85af, 0x85b1), + CodeunitRange(0x85b3, 0x85ba), + CodeunitRange(0x85bd, 0x85c9), + CodeunitRange(0x85cb, 0x85cb), + CodeunitRange(0x85cd, 0x85d2), + CodeunitRange(0x85d5, 0x85da), + CodeunitRange(0x85dc, 0x85e6), + CodeunitRange(0x85e8, 0x85f2), + CodeunitRange(0x85f4, 0x85f4), + CodeunitRange(0x85f6, 0x8602), + CodeunitRange(0x8604, 0x8607), + CodeunitRange(0x8609, 0x860d), + CodeunitRange(0x860f, 0x8611), + CodeunitRange(0x8613, 0x8614), + CodeunitRange(0x8616, 0x861c), + CodeunitRange(0x861e, 0x862a), + CodeunitRange(0x862c, 0x862f), + CodeunitRange(0x8631, 0x8636), + CodeunitRange(0x8638, 0x863c), + CodeunitRange(0x863e, 0x8640), + CodeunitRange(0x8642, 0x8643), + CodeunitRange(0x8645, 0x8648), + CodeunitRange(0x864b, 0x864e), + CodeunitRange(0x8650, 0x8650), + CodeunitRange(0x8652, 0x8656), + CodeunitRange(0x8659, 0x8659), + CodeunitRange(0x865b, 0x865c), + CodeunitRange(0x865e, 0x865f), + CodeunitRange(0x8661, 0x8665), + CodeunitRange(0x8667, 0x8674), + CodeunitRange(0x8677, 0x8677), + CodeunitRange(0x8679, 0x867c), + CodeunitRange(0x867e, 0x867e), + CodeunitRange(0x8685, 0x8687), + CodeunitRange(0x868a, 0x868e), + CodeunitRange(0x8690, 0x869a), + CodeunitRange(0x869c, 0x869e), + CodeunitRange(0x86a0, 0x86a5), + CodeunitRange(0x86a7, 0x86aa), + CodeunitRange(0x86ad, 0x86ad), + CodeunitRange(0x86af, 0x86c9), + CodeunitRange(0x86cb, 0x86cc), + CodeunitRange(0x86d0, 0x86d1), + CodeunitRange(0x86d3, 0x86d4), + CodeunitRange(0x86d6, 0x86df), + CodeunitRange(0x86e2, 0x86e4), + CodeunitRange(0x86e6, 0x86e6), + CodeunitRange(0x86e8, 0x86ed), + CodeunitRange(0x86ef, 0x86ef), + CodeunitRange(0x86f5, 0x86fb), + CodeunitRange(0x86fe, 0x86fe), + CodeunitRange(0x8700, 0x870e), + CodeunitRange(0x8711, 0x8713), + CodeunitRange(0x8715, 0x8715), + CodeunitRange(0x8718, 0x871c), + CodeunitRange(0x871e, 0x871e), + CodeunitRange(0x8720, 0x872a), + CodeunitRange(0x872c, 0x872e), + CodeunitRange(0x8730, 0x8735), + CodeunitRange(0x8737, 0x8738), + CodeunitRange(0x873a, 0x873c), + CodeunitRange(0x873e, 0x8743), + CodeunitRange(0x8746, 0x8746), + CodeunitRange(0x874c, 0x8771), + CodeunitRange(0x8773, 0x877b), + CodeunitRange(0x877d, 0x877d), + CodeunitRange(0x8781, 0x8789), + CodeunitRange(0x878b, 0x878d), + CodeunitRange(0x878f, 0x8794), + CodeunitRange(0x8796, 0x8798), + CodeunitRange(0x879a, 0x879f), + CodeunitRange(0x87a2, 0x87a5), + CodeunitRange(0x87a9, 0x87c6), + CodeunitRange(0x87c8, 0x87cc), + CodeunitRange(0x87ce, 0x87ce), + CodeunitRange(0x87d1, 0x87d4), + CodeunitRange(0x87d6, 0x87e8), + CodeunitRange(0x87ea, 0x87ef), + CodeunitRange(0x87f2, 0x87f7), + CodeunitRange(0x87f9, 0x87fc), + CodeunitRange(0x87fe, 0x8806), + CodeunitRange(0x8808, 0x880d), + CodeunitRange(0x880f, 0x8811), + CodeunitRange(0x8813, 0x8819), + CodeunitRange(0x881b, 0x881d), + CodeunitRange(0x881f, 0x8833), + CodeunitRange(0x8835, 0x8839), + CodeunitRange(0x883b, 0x8846), + CodeunitRange(0x8848, 0x8848), + CodeunitRange(0x884a, 0x884f), + CodeunitRange(0x8852, 0x8853), + CodeunitRange(0x8855, 0x8857), + CodeunitRange(0x8859, 0x885b), + CodeunitRange(0x885d, 0x885e), + CodeunitRange(0x8860, 0x8865), + CodeunitRange(0x8867, 0x886b), + CodeunitRange(0x886d, 0x8872), + CodeunitRange(0x8874, 0x8877), + CodeunitRange(0x8879, 0x8879), + CodeunitRange(0x887c, 0x8884), + CodeunitRange(0x8887, 0x8889), + CodeunitRange(0x888b, 0x8893), + CodeunitRange(0x8895, 0x88a2), + CodeunitRange(0x88a4, 0x88a4), + CodeunitRange(0x88a7, 0x88a8), + CodeunitRange(0x88aa, 0x88ac), + CodeunitRange(0x88ae, 0x88ae), + CodeunitRange(0x88b1, 0x88b2), + CodeunitRange(0x88b4, 0x88ba), + CodeunitRange(0x88bc, 0x88c2), + CodeunitRange(0x88c5, 0x88c5), + CodeunitRange(0x88c7, 0x88c7), + CodeunitRange(0x88c9, 0x88d0), + CodeunitRange(0x88d2, 0x88d2), + CodeunitRange(0x88d4, 0x88df), + CodeunitRange(0x88e1, 0x88e1), + CodeunitRange(0x88e6, 0x88e8), + CodeunitRange(0x88eb, 0x88ec), + CodeunitRange(0x88ee, 0x8902), + CodeunitRange(0x8905, 0x8907), + CodeunitRange(0x8909, 0x890c), + CodeunitRange(0x890e, 0x890e), + CodeunitRange(0x8910, 0x891a), + CodeunitRange(0x891e, 0x891f), + CodeunitRange(0x8921, 0x8927), + CodeunitRange(0x8929, 0x8933), + CodeunitRange(0x8935, 0x8938), + CodeunitRange(0x893b, 0x893e), + CodeunitRange(0x8941, 0x8944), + CodeunitRange(0x8946, 0x8947), + CodeunitRange(0x8949, 0x8949), + CodeunitRange(0x894b, 0x894d), + CodeunitRange(0x894f, 0x8954), + CodeunitRange(0x8956, 0x8966), + CodeunitRange(0x8969, 0x896f), + CodeunitRange(0x8971, 0x8974), + CodeunitRange(0x8976, 0x8977), + CodeunitRange(0x8979, 0x897c), + CodeunitRange(0x897e, 0x8983), + CodeunitRange(0x8985, 0x898b), + CodeunitRange(0x898f, 0x898f), + CodeunitRange(0x8991, 0x8991), + CodeunitRange(0x8993, 0x8998), + CodeunitRange(0x899b, 0x899f), + CodeunitRange(0x89a1, 0x89a7), + CodeunitRange(0x89a9, 0x89aa), + CodeunitRange(0x89ac, 0x89af), + CodeunitRange(0x89b2, 0x89b2), + CodeunitRange(0x89b6, 0x89b7), + CodeunitRange(0x89b9, 0x89ba), + CodeunitRange(0x89bc, 0x89c1), + CodeunitRange(0x89c6, 0x89c6), + CodeunitRange(0x89d2, 0x89d6), + CodeunitRange(0x89d9, 0x89dd), + CodeunitRange(0x89df, 0x89e9), + CodeunitRange(0x89eb, 0x89ed), + CodeunitRange(0x89f0, 0x89f4), + CodeunitRange(0x89f6, 0x89f8), + CodeunitRange(0x89fa, 0x89fc), + CodeunitRange(0x89fe, 0x8a00), + CodeunitRange(0x8a02, 0x8a04), + CodeunitRange(0x8a07, 0x8a08), + CodeunitRange(0x8a0a, 0x8a0a), + CodeunitRange(0x8a0c, 0x8a0c), + CodeunitRange(0x8a0e, 0x8a13), + CodeunitRange(0x8a15, 0x8a18), + CodeunitRange(0x8a1b, 0x8a1f), + CodeunitRange(0x8a22, 0x8a23), + CodeunitRange(0x8a25, 0x8a25), + CodeunitRange(0x8a27, 0x8a27), + CodeunitRange(0x8a29, 0x8a2d), + CodeunitRange(0x8a30, 0x8a31), + CodeunitRange(0x8a34, 0x8a34), + CodeunitRange(0x8a36, 0x8a36), + CodeunitRange(0x8a38, 0x8a41), + CodeunitRange(0x8a44, 0x8a46), + CodeunitRange(0x8a48, 0x8a4a), + CodeunitRange(0x8a4c, 0x8a52), + CodeunitRange(0x8a54, 0x8a59), + CodeunitRange(0x8a5b, 0x8a5b), + CodeunitRange(0x8a5e, 0x8a5e), + CodeunitRange(0x8a60, 0x8a63), + CodeunitRange(0x8a66, 0x8a69), + CodeunitRange(0x8a6b, 0x8a6e), + CodeunitRange(0x8a70, 0x8a77), + CodeunitRange(0x8a79, 0x8a7c), + CodeunitRange(0x8a7e, 0x8a7f), + CodeunitRange(0x8a81, 0x8a87), + CodeunitRange(0x8a8b, 0x8a8d), + CodeunitRange(0x8a8f, 0x8a96), + CodeunitRange(0x8a98, 0x8a9a), + CodeunitRange(0x8a9c, 0x8a9c), + CodeunitRange(0x8a9e, 0x8a9e), + CodeunitRange(0x8aa0, 0x8aa1), + CodeunitRange(0x8aa3, 0x8aac), + CodeunitRange(0x8aaf, 0x8ab0), + CodeunitRange(0x8ab2, 0x8ab2), + CodeunitRange(0x8ab4, 0x8ab4), + CodeunitRange(0x8ab6, 0x8ab6), + CodeunitRange(0x8ab8, 0x8ac0), + CodeunitRange(0x8ac2, 0x8ac9), + CodeunitRange(0x8acb, 0x8acd), + CodeunitRange(0x8acf, 0x8acf), + CodeunitRange(0x8ad1, 0x8ae2), + CodeunitRange(0x8ae4, 0x8ae4), + CodeunitRange(0x8ae6, 0x8ae8), + CodeunitRange(0x8aea, 0x8aeb), + CodeunitRange(0x8aed, 0x8afc), + CodeunitRange(0x8afe, 0x8b02), + CodeunitRange(0x8b04, 0x8b08), + CodeunitRange(0x8b0a, 0x8b20), + CodeunitRange(0x8b22, 0x8b28), + CodeunitRange(0x8b2a, 0x8b31), + CodeunitRange(0x8b33, 0x8b33), + CodeunitRange(0x8b35, 0x8b37), + CodeunitRange(0x8b39, 0x8b43), + CodeunitRange(0x8b45, 0x8b5a), + CodeunitRange(0x8b5c, 0x8b60), + CodeunitRange(0x8b62, 0x8b63), + CodeunitRange(0x8b65, 0x8b6d), + CodeunitRange(0x8b6f, 0x8b70), + CodeunitRange(0x8b74, 0x8b74), + CodeunitRange(0x8b77, 0x8b7b), + CodeunitRange(0x8b7d, 0x8b86), + CodeunitRange(0x8b88, 0x8b88), + CodeunitRange(0x8b8a, 0x8b8c), + CodeunitRange(0x8b8e, 0x8b90), + CodeunitRange(0x8b92, 0x8b96), + CodeunitRange(0x8b98, 0x8b9c), + CodeunitRange(0x8b9e, 0x8ba0), + CodeunitRange(0x8bbe, 0x8bbe), + CodeunitRange(0x8be2, 0x8be2), + CodeunitRange(0x8c37, 0x8c37), + CodeunitRange(0x8c39, 0x8c39), + CodeunitRange(0x8c3b, 0x8c3f), + CodeunitRange(0x8c41, 0x8c43), + CodeunitRange(0x8c45, 0x8c51), + CodeunitRange(0x8c54, 0x8c57), + CodeunitRange(0x8c5a, 0x8c5a), + CodeunitRange(0x8c5c, 0x8c5d), + CodeunitRange(0x8c5f, 0x8c5f), + CodeunitRange(0x8c61, 0x8c62), + CodeunitRange(0x8c64, 0x8c66), + CodeunitRange(0x8c68, 0x8c6d), + CodeunitRange(0x8c6f, 0x8c73), + CodeunitRange(0x8c75, 0x8c7b), + CodeunitRange(0x8c7d, 0x8c7d), + CodeunitRange(0x8c80, 0x8c82), + CodeunitRange(0x8c84, 0x8c86), + CodeunitRange(0x8c89, 0x8c8a), + CodeunitRange(0x8c8c, 0x8c8d), + CodeunitRange(0x8c8f, 0x8c95), + CodeunitRange(0x8c97, 0x8ca5), + CodeunitRange(0x8ca7, 0x8cad), + CodeunitRange(0x8caf, 0x8cb0), + CodeunitRange(0x8cb2, 0x8cc5), + CodeunitRange(0x8cc7, 0x8cc8), + CodeunitRange(0x8cca, 0x8cca), + CodeunitRange(0x8ccc, 0x8ccd), + CodeunitRange(0x8ccf, 0x8ccf), + CodeunitRange(0x8cd1, 0x8cd7), + CodeunitRange(0x8cd9, 0x8cee), + CodeunitRange(0x8cf0, 0x8cf5), + CodeunitRange(0x8cf7, 0x8cfe), + CodeunitRange(0x8d00, 0x8d00), + CodeunitRange(0x8d02, 0x8d0d), + CodeunitRange(0x8d0f, 0x8d19), + CodeunitRange(0x8d1b, 0x8d1d), + CodeunitRange(0x8d64, 0x8d64), + CodeunitRange(0x8d66, 0x8d69), + CodeunitRange(0x8d6b, 0x8d70), + CodeunitRange(0x8d72, 0x8d74), + CodeunitRange(0x8d76, 0x8d7b), + CodeunitRange(0x8d7d, 0x8d7d), + CodeunitRange(0x8d80, 0x8d82), + CodeunitRange(0x8d84, 0x8d85), + CodeunitRange(0x8d89, 0x8d8a), + CodeunitRange(0x8d8c, 0x8d96), + CodeunitRange(0x8d99, 0x8d99), + CodeunitRange(0x8d9b, 0x8d9c), + CodeunitRange(0x8d9f, 0x8da1), + CodeunitRange(0x8da3, 0x8da3), + CodeunitRange(0x8da5, 0x8daf), + CodeunitRange(0x8db2, 0x8db7), + CodeunitRange(0x8db9, 0x8dba), + CodeunitRange(0x8dbc, 0x8dbc), + CodeunitRange(0x8dbe, 0x8dc3), + CodeunitRange(0x8dc5, 0x8dc8), + CodeunitRange(0x8dcb, 0x8dd1), + CodeunitRange(0x8dd3, 0x8ddd), + CodeunitRange(0x8ddf, 0x8de4), + CodeunitRange(0x8de6, 0x8dec), + CodeunitRange(0x8dee, 0x8df4), + CodeunitRange(0x8dfa, 0x8dfa), + CodeunitRange(0x8dfc, 0x8e07), + CodeunitRange(0x8e09, 0x8e0a), + CodeunitRange(0x8e0d, 0x8e2b), + CodeunitRange(0x8e2d, 0x8e2e), + CodeunitRange(0x8e30, 0x8e31), + CodeunitRange(0x8e33, 0x8e36), + CodeunitRange(0x8e38, 0x8e3a), + CodeunitRange(0x8e3c, 0x8e42), + CodeunitRange(0x8e44, 0x8e50), + CodeunitRange(0x8e53, 0x8e57), + CodeunitRange(0x8e59, 0x8e6a), + CodeunitRange(0x8e6c, 0x8e6d), + CodeunitRange(0x8e6f, 0x8e6f), + CodeunitRange(0x8e71, 0x8e78), + CodeunitRange(0x8e7a, 0x8e7c), + CodeunitRange(0x8e7e, 0x8e7e), + CodeunitRange(0x8e80, 0x8e82), + CodeunitRange(0x8e84, 0x8e8e), + CodeunitRange(0x8e90, 0x8e98), + CodeunitRange(0x8e9a, 0x8e9a), + CodeunitRange(0x8e9d, 0x8ea1), + CodeunitRange(0x8ea3, 0x8ead), + CodeunitRange(0x8eb0, 0x8eb0), + CodeunitRange(0x8eb2, 0x8eb2), + CodeunitRange(0x8eb6, 0x8eb6), + CodeunitRange(0x8eb9, 0x8eba), + CodeunitRange(0x8ebc, 0x8ebd), + CodeunitRange(0x8ec0, 0x8ec0), + CodeunitRange(0x8ec2, 0x8ec3), + CodeunitRange(0x8ec9, 0x8ecf), + CodeunitRange(0x8ed1, 0x8ed4), + CodeunitRange(0x8ed7, 0x8ed8), + CodeunitRange(0x8eda, 0x8ee2), + CodeunitRange(0x8ee4, 0x8ee9), + CodeunitRange(0x8eeb, 0x8eef), + CodeunitRange(0x8ef1, 0x8ef2), + CodeunitRange(0x8ef4, 0x8efc), + CodeunitRange(0x8efe, 0x8f03), + CodeunitRange(0x8f05, 0x8f0b), + CodeunitRange(0x8f0d, 0x8f0e), + CodeunitRange(0x8f10, 0x8f20), + CodeunitRange(0x8f23, 0x8f26), + CodeunitRange(0x8f29, 0x8f2a), + CodeunitRange(0x8f2c, 0x8f30), + CodeunitRange(0x8f32, 0x8f39), + CodeunitRange(0x8f3b, 0x8f3c), + CodeunitRange(0x8f3e, 0x8f4b), + CodeunitRange(0x8f4d, 0x8f64), + CodeunitRange(0x8f66, 0x8f67), + CodeunitRange(0x8f6e, 0x8f6e), + CodeunitRange(0x8f93, 0x8f93), + CodeunitRange(0x8f9b, 0x8f9c), + CodeunitRange(0x8f9f, 0x8fa0), + CodeunitRange(0x8fa3, 0x8fa3), + CodeunitRange(0x8fa5, 0x8fa8), + CodeunitRange(0x8fad, 0x8fbc), + CodeunitRange(0x8fbe, 0x8fbf), + CodeunitRange(0x8fc1, 0x8fc2), + CodeunitRange(0x8fc4, 0x8fc6), + CodeunitRange(0x8fc9, 0x8fd7), + CodeunitRange(0x8fda, 0x8fda), + CodeunitRange(0x8fe0, 0x8fe6), + CodeunitRange(0x8fe8, 0x8fe8), + CodeunitRange(0x8fea, 0x8feb), + CodeunitRange(0x8fed, 0x8fee), + CodeunitRange(0x8ff0, 0x8ff0), + CodeunitRange(0x8ff4, 0x9006), + CodeunitRange(0x9008, 0x9008), + CodeunitRange(0x900b, 0x900d), + CodeunitRange(0x900f, 0x9012), + CodeunitRange(0x9014, 0x9017), + CodeunitRange(0x9019, 0x9024), + CodeunitRange(0x902d, 0x902f), + CodeunitRange(0x9031, 0x9038), + CodeunitRange(0x903c, 0x903f), + CodeunitRange(0x9041, 0x9042), + CodeunitRange(0x9044, 0x9044), + CodeunitRange(0x9046, 0x9047), + CodeunitRange(0x9049, 0x9056), + CodeunitRange(0x9058, 0x9059), + CodeunitRange(0x905b, 0x905e), + CodeunitRange(0x9060, 0x9064), + CodeunitRange(0x9067, 0x9069), + CodeunitRange(0x906b, 0x9070), + CodeunitRange(0x9072, 0x9088), + CodeunitRange(0x908a, 0x908b), + CodeunitRange(0x908d, 0x908d), + CodeunitRange(0x908f, 0x9091), + CodeunitRange(0x9094, 0x9095), + CodeunitRange(0x9097, 0x9099), + CodeunitRange(0x909b, 0x909b), + CodeunitRange(0x909e, 0x90a3), + CodeunitRange(0x90a5, 0x90a8), + CodeunitRange(0x90aa, 0x90aa), + CodeunitRange(0x90ae, 0x90b6), + CodeunitRange(0x90b8, 0x90b8), + CodeunitRange(0x90bb, 0x90bb), + CodeunitRange(0x90bd, 0x90bf), + CodeunitRange(0x90c1, 0x90c1), + CodeunitRange(0x90c3, 0x90c5), + CodeunitRange(0x90c7, 0x90c8), + CodeunitRange(0x90ca, 0x90cb), + CodeunitRange(0x90ce, 0x90ce), + CodeunitRange(0x90d4, 0x90dd), + CodeunitRange(0x90df, 0x90e5), + CodeunitRange(0x90e8, 0x90ed), + CodeunitRange(0x90ef, 0x90f5), + CodeunitRange(0x90f9, 0x9109), + CodeunitRange(0x910b, 0x910b), + CodeunitRange(0x910d, 0x9112), + CodeunitRange(0x9114, 0x9114), + CodeunitRange(0x9116, 0x9124), + CodeunitRange(0x9126, 0x9136), + CodeunitRange(0x9138, 0x913b), + CodeunitRange(0x913e, 0x9141), + CodeunitRange(0x9143, 0x9153), + CodeunitRange(0x9155, 0x915a), + CodeunitRange(0x915c, 0x915c), + CodeunitRange(0x915e, 0x9165), + CodeunitRange(0x9167, 0x916a), + CodeunitRange(0x916c, 0x916c), + CodeunitRange(0x916e, 0x9170), + CodeunitRange(0x9172, 0x917a), + CodeunitRange(0x917c, 0x917c), + CodeunitRange(0x9180, 0x9187), + CodeunitRange(0x9189, 0x9193), + CodeunitRange(0x9196, 0x9196), + CodeunitRange(0x9199, 0x91a3), + CodeunitRange(0x91a5, 0x91a5), + CodeunitRange(0x91a7, 0x91b7), + CodeunitRange(0x91b9, 0x91be), + CodeunitRange(0x91c0, 0x91c7), + CodeunitRange(0x91c9, 0x91c9), + CodeunitRange(0x91cb, 0x91d1), + CodeunitRange(0x91d3, 0x91da), + CodeunitRange(0x91dc, 0x91dd), + CodeunitRange(0x91df, 0x91df), + CodeunitRange(0x91e2, 0x91ee), + CodeunitRange(0x91f1, 0x91f1), + CodeunitRange(0x91f3, 0x91fa), + CodeunitRange(0x91fd, 0x920a), + CodeunitRange(0x920c, 0x921a), + CodeunitRange(0x921c, 0x921c), + CodeunitRange(0x921e, 0x921e), + CodeunitRange(0x9221, 0x9221), + CodeunitRange(0x9223, 0x9228), + CodeunitRange(0x922a, 0x922b), + CodeunitRange(0x922d, 0x922e), + CodeunitRange(0x9230, 0x923a), + CodeunitRange(0x923c, 0x9241), + CodeunitRange(0x9244, 0x9246), + CodeunitRange(0x9248, 0x9258), + CodeunitRange(0x925a, 0x925b), + CodeunitRange(0x925d, 0x9267), + CodeunitRange(0x926b, 0x9270), + CodeunitRange(0x9272, 0x9272), + CodeunitRange(0x9276, 0x928f), + CodeunitRange(0x9291, 0x9291), + CodeunitRange(0x9293, 0x929d), + CodeunitRange(0x92a0, 0x92ac), + CodeunitRange(0x92ae, 0x92ae), + CodeunitRange(0x92b1, 0x92b7), + CodeunitRange(0x92b9, 0x92bc), + CodeunitRange(0x92be, 0x92d5), + CodeunitRange(0x92d7, 0x92d9), + CodeunitRange(0x92db, 0x92db), + CodeunitRange(0x92dd, 0x92e1), + CodeunitRange(0x92e3, 0x92f4), + CodeunitRange(0x92f6, 0x9304), + CodeunitRange(0x9306, 0x9309), + CodeunitRange(0x930b, 0x9310), + CodeunitRange(0x9312, 0x9316), + CodeunitRange(0x9318, 0x931b), + CodeunitRange(0x931d, 0x9331), + CodeunitRange(0x9333, 0x9336), + CodeunitRange(0x9338, 0x9339), + CodeunitRange(0x933c, 0x933c), + CodeunitRange(0x9340, 0x9352), + CodeunitRange(0x9354, 0x935c), + CodeunitRange(0x935e, 0x936e), + CodeunitRange(0x9370, 0x9371), + CodeunitRange(0x9373, 0x937e), + CodeunitRange(0x9380, 0x938a), + CodeunitRange(0x938c, 0x9392), + CodeunitRange(0x9394, 0x93aa), + CodeunitRange(0x93ac, 0x93b5), + CodeunitRange(0x93b7, 0x93b8), + CodeunitRange(0x93bb, 0x93bb), + CodeunitRange(0x93bd, 0x93bd), + CodeunitRange(0x93bf, 0x93c0), + CodeunitRange(0x93c2, 0x93c4), + CodeunitRange(0x93c6, 0x93c8), + CodeunitRange(0x93ca, 0x93e4), + CodeunitRange(0x93e6, 0x93e8), + CodeunitRange(0x93ec, 0x93ec), + CodeunitRange(0x93ee, 0x93ee), + CodeunitRange(0x93f0, 0x93f1), + CodeunitRange(0x93f3, 0x9401), + CodeunitRange(0x9403, 0x9404), + CodeunitRange(0x9406, 0x9419), + CodeunitRange(0x941b, 0x941b), + CodeunitRange(0x941d, 0x941d), + CodeunitRange(0x9420, 0x9420), + CodeunitRange(0x9424, 0x9433), + CodeunitRange(0x9435, 0x9440), + CodeunitRange(0x9442, 0x944d), + CodeunitRange(0x944f, 0x9452), + CodeunitRange(0x9454, 0x9455), + CodeunitRange(0x9457, 0x9458), + CodeunitRange(0x945b, 0x945b), + CodeunitRange(0x945d, 0x945e), + CodeunitRange(0x9460, 0x9460), + CodeunitRange(0x9462, 0x9465), + CodeunitRange(0x9467, 0x9479), + CodeunitRange(0x947b, 0x9483), + CodeunitRange(0x9485, 0x9485), + CodeunitRange(0x949f, 0x949f), + CodeunitRange(0x94a2, 0x94a2), + CodeunitRange(0x94c1, 0x94c1), + CodeunitRange(0x94c3, 0x94c3), + CodeunitRange(0x94dc, 0x94dc), + CodeunitRange(0x94f6, 0x94f6), + CodeunitRange(0x952d, 0x952d), + CodeunitRange(0x9547, 0x9547), + CodeunitRange(0x9577, 0x9578), + CodeunitRange(0x957a, 0x957d), + CodeunitRange(0x957f, 0x9580), + CodeunitRange(0x9582, 0x9583), + CodeunitRange(0x9585, 0x9586), + CodeunitRange(0x9588, 0x9589), + CodeunitRange(0x958b, 0x9594), + CodeunitRange(0x9596, 0x9599), + CodeunitRange(0x959b, 0x959c), + CodeunitRange(0x959e, 0x95ae), + CodeunitRange(0x95b0, 0x95b2), + CodeunitRange(0x95b5, 0x95b7), + CodeunitRange(0x95b9, 0x95c0), + CodeunitRange(0x95c3, 0x95c3), + CodeunitRange(0x95c5, 0x95cd), + CodeunitRange(0x95d0, 0x95d6), + CodeunitRange(0x95da, 0x95dc), + CodeunitRange(0x95de, 0x95e5), + CodeunitRange(0x95e8, 0x95e8), + CodeunitRange(0x95f4, 0x95f4), + CodeunitRange(0x961c, 0x961e), + CodeunitRange(0x9620, 0x9624), + CodeunitRange(0x9628, 0x9628), + CodeunitRange(0x962a, 0x962a), + CodeunitRange(0x962c, 0x9633), + CodeunitRange(0x9638, 0x963d), + CodeunitRange(0x963f, 0x9645), + CodeunitRange(0x964a, 0x9651), + CodeunitRange(0x9653, 0x9654), + CodeunitRange(0x9656, 0x9656), + CodeunitRange(0x9658, 0x9658), + CodeunitRange(0x965b, 0x965f), + CodeunitRange(0x9661, 0x9664), + CodeunitRange(0x9669, 0x966d), + CodeunitRange(0x966f, 0x9678), + CodeunitRange(0x967b, 0x967e), + CodeunitRange(0x9680, 0x9681), + CodeunitRange(0x9683, 0x968b), + CodeunitRange(0x968d, 0x968f), + CodeunitRange(0x9691, 0x9699), + CodeunitRange(0x969b, 0x969c), + CodeunitRange(0x969e, 0x969e), + CodeunitRange(0x96a1, 0x96a5), + CodeunitRange(0x96a7, 0x96aa), + CodeunitRange(0x96ac, 0x96ac), + CodeunitRange(0x96ae, 0x96ae), + CodeunitRange(0x96b0, 0x96b1), + CodeunitRange(0x96b3, 0x96b4), + CodeunitRange(0x96b6, 0x96b6), + CodeunitRange(0x96b8, 0x96b9), + CodeunitRange(0x96bb, 0x96bd), + CodeunitRange(0x96bf, 0x96ce), + CodeunitRange(0x96d2, 0x96df), + CodeunitRange(0x96e1, 0x96e3), + CodeunitRange(0x96e5, 0x96e5), + CodeunitRange(0x96e8, 0x96ea), + CodeunitRange(0x96ef, 0x96f2), + CodeunitRange(0x96f4, 0x96fb), + CodeunitRange(0x96fd, 0x96fd), + CodeunitRange(0x96ff, 0x9700), + CodeunitRange(0x9702, 0x9709), + CodeunitRange(0x970b, 0x970b), + CodeunitRange(0x970d, 0x9713), + CodeunitRange(0x9716, 0x9716), + CodeunitRange(0x9718, 0x9719), + CodeunitRange(0x971b, 0x972c), + CodeunitRange(0x972e, 0x9732), + CodeunitRange(0x9734, 0x9736), + CodeunitRange(0x9738, 0x973a), + CodeunitRange(0x973d, 0x9744), + CodeunitRange(0x9746, 0x974b), + CodeunitRange(0x9751, 0x9752), + CodeunitRange(0x9755, 0x9758), + CodeunitRange(0x975a, 0x9762), + CodeunitRange(0x9766, 0x9766), + CodeunitRange(0x9768, 0x976a), + CodeunitRange(0x976c, 0x976e), + CodeunitRange(0x9770, 0x9774), + CodeunitRange(0x9776, 0x9778), + CodeunitRange(0x977a, 0x9785), + CodeunitRange(0x9787, 0x978b), + CodeunitRange(0x978d, 0x978f), + CodeunitRange(0x9794, 0x9794), + CodeunitRange(0x9797, 0x97a6), + CodeunitRange(0x97a8, 0x97a8), + CodeunitRange(0x97aa, 0x97ae), + CodeunitRange(0x97b1, 0x97b4), + CodeunitRange(0x97b6, 0x97bb), + CodeunitRange(0x97bd, 0x97c9), + CodeunitRange(0x97cb, 0x97d0), + CodeunitRange(0x97d2, 0x97d9), + CodeunitRange(0x97dc, 0x97e1), + CodeunitRange(0x97e3, 0x97e3), + CodeunitRange(0x97e5, 0x97e6), + CodeunitRange(0x97ed, 0x97ee), + CodeunitRange(0x97f0, 0x97f3), + CodeunitRange(0x97f5, 0x97f6), + CodeunitRange(0x97f8, 0x97fb), + CodeunitRange(0x97fd, 0x9808), + CodeunitRange(0x980a, 0x980a), + CodeunitRange(0x980c, 0x9818), + CodeunitRange(0x981b, 0x9821), + CodeunitRange(0x9823, 0x9824), + CodeunitRange(0x9826, 0x9829), + CodeunitRange(0x982b, 0x982b), + CodeunitRange(0x982d, 0x9830), + CodeunitRange(0x9832, 0x9835), + CodeunitRange(0x9837, 0x9839), + CodeunitRange(0x983b, 0x983b), + CodeunitRange(0x9841, 0x9841), + CodeunitRange(0x9843, 0x9853), + CodeunitRange(0x9856, 0x9859), + CodeunitRange(0x985b, 0x9860), + CodeunitRange(0x9862, 0x986c), + CodeunitRange(0x986f, 0x9875), + CodeunitRange(0x98a8, 0x98a9), + CodeunitRange(0x98ac, 0x98af), + CodeunitRange(0x98b1, 0x98b4), + CodeunitRange(0x98b6, 0x98c4), + CodeunitRange(0x98c6, 0x98cc), + CodeunitRange(0x98ce, 0x98ce), + CodeunitRange(0x98db, 0x98dc), + CodeunitRange(0x98de, 0x98e3), + CodeunitRange(0x98e5, 0x98e7), + CodeunitRange(0x98e9, 0x98ed), + CodeunitRange(0x98ef, 0x98ef), + CodeunitRange(0x98f1, 0x98f2), + CodeunitRange(0x98f4, 0x98f6), + CodeunitRange(0x98f9, 0x98fa), + CodeunitRange(0x98fc, 0x98fe), + CodeunitRange(0x9900, 0x9900), + CodeunitRange(0x9902, 0x9903), + CodeunitRange(0x9905, 0x9905), + CodeunitRange(0x9907, 0x990a), + CodeunitRange(0x990c, 0x990c), + CodeunitRange(0x990e, 0x990e), + CodeunitRange(0x9910, 0x991c), + CodeunitRange(0x991e, 0x991f), + CodeunitRange(0x9921, 0x9921), + CodeunitRange(0x9924, 0x9925), + CodeunitRange(0x9927, 0x9933), + CodeunitRange(0x9935, 0x9935), + CodeunitRange(0x9937, 0x9943), + CodeunitRange(0x9945, 0x9945), + CodeunitRange(0x9947, 0x994e), + CodeunitRange(0x9950, 0x9959), + CodeunitRange(0x995b, 0x995f), + CodeunitRange(0x9961, 0x9963), + CodeunitRange(0x9996, 0x9999), + CodeunitRange(0x999b, 0x999e), + CodeunitRange(0x99a1, 0x99a1), + CodeunitRange(0x99a3, 0x99a8), + CodeunitRange(0x99aa, 0x99b5), + CodeunitRange(0x99b8, 0x99bd), + CodeunitRange(0x99c1, 0x99c5), + CodeunitRange(0x99c7, 0x99c7), + CodeunitRange(0x99c9, 0x99c9), + CodeunitRange(0x99cb, 0x99dd), + CodeunitRange(0x99df, 0x99e7), + CodeunitRange(0x99e9, 0x99ea), + CodeunitRange(0x99ec, 0x99ee), + CodeunitRange(0x99f0, 0x99f1), + CodeunitRange(0x99f4, 0x99ff), + CodeunitRange(0x9a01, 0x9a07), + CodeunitRange(0x9a09, 0x9a11), + CodeunitRange(0x9a14, 0x9a16), + CodeunitRange(0x9a19, 0x9a27), + CodeunitRange(0x9a29, 0x9a32), + CodeunitRange(0x9a34, 0x9a46), + CodeunitRange(0x9a48, 0x9a4a), + CodeunitRange(0x9a4c, 0x9a50), + CodeunitRange(0x9a52, 0x9a5c), + CodeunitRange(0x9a5e, 0x9a60), + CodeunitRange(0x9a62, 0x9a6c), + CodeunitRange(0x9a8f, 0x9a8f), + CodeunitRange(0x9aa8, 0x9aa8), + CodeunitRange(0x9aab, 0x9aab), + CodeunitRange(0x9aad, 0x9aad), + CodeunitRange(0x9aaf, 0x9ab4), + CodeunitRange(0x9ab6, 0x9ac2), + CodeunitRange(0x9ac6, 0x9ac7), + CodeunitRange(0x9aca, 0x9aca), + CodeunitRange(0x9acd, 0x9acd), + CodeunitRange(0x9acf, 0x9ad8), + CodeunitRange(0x9adc, 0x9adc), + CodeunitRange(0x9adf, 0x9ae3), + CodeunitRange(0x9ae6, 0x9ae7), + CodeunitRange(0x9aeb, 0x9aef), + CodeunitRange(0x9af1, 0x9af4), + CodeunitRange(0x9af6, 0x9af7), + CodeunitRange(0x9af9, 0x9aff), + CodeunitRange(0x9b01, 0x9b06), + CodeunitRange(0x9b08, 0x9b12), + CodeunitRange(0x9b14, 0x9b1a), + CodeunitRange(0x9b1e, 0x9b20), + CodeunitRange(0x9b22, 0x9b25), + CodeunitRange(0x9b27, 0x9b2b), + CodeunitRange(0x9b2d, 0x9b2f), + CodeunitRange(0x9b31, 0x9b35), + CodeunitRange(0x9b37, 0x9b37), + CodeunitRange(0x9b39, 0x9b3c), + CodeunitRange(0x9b3e, 0x9b46), + CodeunitRange(0x9b48, 0x9b48), + CodeunitRange(0x9b4a, 0x9b52), + CodeunitRange(0x9b54, 0x9b56), + CodeunitRange(0x9b58, 0x9b5b), + CodeunitRange(0x9b5f, 0x9b61), + CodeunitRange(0x9b64, 0x9b64), + CodeunitRange(0x9b66, 0x9b69), + CodeunitRange(0x9b6c, 0x9b6c), + CodeunitRange(0x9b6f, 0x9b71), + CodeunitRange(0x9b74, 0x9b77), + CodeunitRange(0x9b7a, 0x9b83), + CodeunitRange(0x9b85, 0x9b88), + CodeunitRange(0x9b8b, 0x9b8b), + CodeunitRange(0x9b8d, 0x9b93), + CodeunitRange(0x9b95, 0x9b95), + CodeunitRange(0x9b97, 0x9b97), + CodeunitRange(0x9b9a, 0x9b9b), + CodeunitRange(0x9b9d, 0x9ba2), + CodeunitRange(0x9ba4, 0x9ba6), + CodeunitRange(0x9ba8, 0x9ba8), + CodeunitRange(0x9baa, 0x9bab), + CodeunitRange(0x9bad, 0x9bb0), + CodeunitRange(0x9bb5, 0x9bb6), + CodeunitRange(0x9bb8, 0x9bb9), + CodeunitRange(0x9bbd, 0x9bbd), + CodeunitRange(0x9bbf, 0x9bc1), + CodeunitRange(0x9bc3, 0x9bc4), + CodeunitRange(0x9bc6, 0x9bca), + CodeunitRange(0x9bcf, 0x9bcf), + CodeunitRange(0x9bd3, 0x9bd7), + CodeunitRange(0x9bd9, 0x9bde), + CodeunitRange(0x9be0, 0x9be2), + CodeunitRange(0x9be4, 0x9bed), + CodeunitRange(0x9bf0, 0x9bf1), + CodeunitRange(0x9bf4, 0x9bf4), + CodeunitRange(0x9bf7, 0x9bf8), + CodeunitRange(0x9bfd, 0x9bfd), + CodeunitRange(0x9bff, 0x9bff), + CodeunitRange(0x9c02, 0x9c02), + CodeunitRange(0x9c05, 0x9c0e), + CodeunitRange(0x9c10, 0x9c10), + CodeunitRange(0x9c12, 0x9c15), + CodeunitRange(0x9c17, 0x9c17), + CodeunitRange(0x9c1b, 0x9c1d), + CodeunitRange(0x9c1f, 0x9c21), + CodeunitRange(0x9c23, 0x9c26), + CodeunitRange(0x9c28, 0x9c29), + CodeunitRange(0x9c2b, 0x9c2d), + CodeunitRange(0x9c2f, 0x9c2f), + CodeunitRange(0x9c31, 0x9c37), + CodeunitRange(0x9c39, 0x9c41), + CodeunitRange(0x9c44, 0x9c50), + CodeunitRange(0x9c52, 0x9c59), + CodeunitRange(0x9c5d, 0x9c60), + CodeunitRange(0x9c62, 0x9c63), + CodeunitRange(0x9c66, 0x9c68), + CodeunitRange(0x9c6d, 0x9c6e), + CodeunitRange(0x9c71, 0x9c75), + CodeunitRange(0x9c77, 0x9c7c), + CodeunitRange(0x9ce5, 0x9ce7), + CodeunitRange(0x9ce9, 0x9cea), + CodeunitRange(0x9ced, 0x9ced), + CodeunitRange(0x9cf1, 0x9cf7), + CodeunitRange(0x9cf9, 0x9cfd), + CodeunitRange(0x9cff, 0x9d00), + CodeunitRange(0x9d02, 0x9d09), + CodeunitRange(0x9d0c, 0x9d0c), + CodeunitRange(0x9d10, 0x9d10), + CodeunitRange(0x9d12, 0x9d12), + CodeunitRange(0x9d14, 0x9d19), + CodeunitRange(0x9d1b, 0x9d1b), + CodeunitRange(0x9d1d, 0x9d23), + CodeunitRange(0x9d25, 0x9d26), + CodeunitRange(0x9d28, 0x9d29), + CodeunitRange(0x9d2d, 0x9d31), + CodeunitRange(0x9d33, 0x9d34), + CodeunitRange(0x9d36, 0x9d39), + CodeunitRange(0x9d3b, 0x9d3b), + CodeunitRange(0x9d3d, 0x9d45), + CodeunitRange(0x9d49, 0x9d4c), + CodeunitRange(0x9d4e, 0x9d54), + CodeunitRange(0x9d56, 0x9d61), + CodeunitRange(0x9d67, 0x9d75), + CodeunitRange(0x9d77, 0x9d79), + CodeunitRange(0x9d7b, 0x9d8c), + CodeunitRange(0x9d90, 0x9d90), + CodeunitRange(0x9d92, 0x9d94), + CodeunitRange(0x9d96, 0x9dad), + CodeunitRange(0x9daf, 0x9daf), + CodeunitRange(0x9db1, 0x9dc5), + CodeunitRange(0x9dc7, 0x9ddf), + CodeunitRange(0x9de1, 0x9de6), + CodeunitRange(0x9de8, 0x9de9), + CodeunitRange(0x9deb, 0x9df0), + CodeunitRange(0x9df2, 0x9e07), + CodeunitRange(0x9e09, 0x9e15), + CodeunitRange(0x9e17, 0x9e1f), + CodeunitRange(0x9e75, 0x9e75), + CodeunitRange(0x9e79, 0x9e7d), + CodeunitRange(0x9e7f, 0x9e8e), + CodeunitRange(0x9e90, 0x9ea2), + CodeunitRange(0x9ea4, 0x9eb1), + CodeunitRange(0x9eb4, 0x9eb7), + CodeunitRange(0x9ebb, 0x9ec4), + CodeunitRange(0x9ec6, 0x9ec8), + CodeunitRange(0x9ecc, 0x9ed1), + CodeunitRange(0x9ed3, 0x9ed6), + CodeunitRange(0x9ed8, 0x9ed8), + CodeunitRange(0x9eda, 0x9ee0), + CodeunitRange(0x9ee2, 0x9ee2), + CodeunitRange(0x9ee4, 0x9ee8), + CodeunitRange(0x9eeb, 0x9eeb), + CodeunitRange(0x9eed, 0x9f02), + CodeunitRange(0x9f06, 0x9f0a), + CodeunitRange(0x9f0e, 0x9f10), + CodeunitRange(0x9f12, 0x9f13), + CodeunitRange(0x9f15, 0x9f1c), + CodeunitRange(0x9f1e, 0x9f1e), + CodeunitRange(0x9f20, 0x9f20), + CodeunitRange(0x9f22, 0x9f39), + CodeunitRange(0x9f3b, 0x9f3b), + CodeunitRange(0x9f3d, 0x9f3e), + CodeunitRange(0x9f40, 0x9f50), + CodeunitRange(0x9f52, 0x9f67), + CodeunitRange(0x9f69, 0x9f6c), + CodeunitRange(0x9f6e, 0x9f72), + CodeunitRange(0x9f74, 0x9f7b), + CodeunitRange(0x9f7e, 0x9f7f), + CodeunitRange(0x9f8d, 0x9f8e), + CodeunitRange(0x9f90, 0x9f92), + CodeunitRange(0x9f94, 0x9f99), + CodeunitRange(0x9f9c, 0x9f9c), + CodeunitRange(0x9f9f, 0x9fa0), + CodeunitRange(0x9fa2, 0x9fa2), + CodeunitRange(0x9fa4, 0x9fb3), + CodeunitRange(0x9fc7, 0x9fcb), + CodeunitRange(0x9fd0, 0x9fd0), + CodeunitRange(0xf900, 0xf908), + CodeunitRange(0xf90b, 0xf90d), + CodeunitRange(0xf915, 0xf915), + CodeunitRange(0xf917, 0xf917), + CodeunitRange(0xf91a, 0xf91a), + CodeunitRange(0xf922, 0xf922), + CodeunitRange(0xf92d, 0xf92d), + CodeunitRange(0xf934, 0xf934), + CodeunitRange(0xf937, 0xf937), + CodeunitRange(0xf93a, 0xf93a), + CodeunitRange(0xf943, 0xf943), + CodeunitRange(0xf947, 0xf948), + CodeunitRange(0xf94a, 0xf94a), + CodeunitRange(0xf952, 0xf952), + CodeunitRange(0xf95e, 0xf95e), + CodeunitRange(0xf962, 0xf962), + CodeunitRange(0xf965, 0xf965), + CodeunitRange(0xf967, 0xf967), + CodeunitRange(0xf96d, 0xf96d), + CodeunitRange(0xf972, 0xf972), + CodeunitRange(0xf976, 0xf976), + CodeunitRange(0xf978, 0xf979), + CodeunitRange(0xf97b, 0xf97b), + CodeunitRange(0xf97e, 0xf97e), + CodeunitRange(0xf980, 0xf980), + CodeunitRange(0xf986, 0xf986), + CodeunitRange(0xf98a, 0xf98a), + CodeunitRange(0xf98e, 0xf98e), + CodeunitRange(0xf995, 0xf995), + CodeunitRange(0xf99c, 0xf99d), + CodeunitRange(0xf99f, 0xf99f), + CodeunitRange(0xf9b5, 0xf9b5), + CodeunitRange(0xf9bb, 0xf9bb), + CodeunitRange(0xf9bd, 0xf9be), + CodeunitRange(0xf9c5, 0xf9c6), + CodeunitRange(0xf9c8, 0xf9c8), + CodeunitRange(0xf9d0, 0xf9d0), + CodeunitRange(0xf9d8, 0xf9d9), + CodeunitRange(0xf9dc, 0xf9de), + CodeunitRange(0xf9e0, 0xf9e0), + CodeunitRange(0xf9e2, 0xf9e4), + CodeunitRange(0xf9e7, 0xf9e7), + CodeunitRange(0xf9e9, 0xf9e9), + CodeunitRange(0xf9f4, 0xf9f5), + CodeunitRange(0xf9fa, 0xf9fa), + CodeunitRange(0xf9fd, 0xf9fd), + CodeunitRange(0xf9ff, 0xf9ff), + CodeunitRange(0xfa02, 0xfa02), + CodeunitRange(0xfa05, 0xfa08), + CodeunitRange(0xfa0a, 0xfa0a), + CodeunitRange(0xfa0c, 0xfa0d), + CodeunitRange(0xfa33, 0xfa35), + CodeunitRange(0xfa3a, 0xfa3a), + CodeunitRange(0xfa49, 0xfa49), + CodeunitRange(0xfa4b, 0xfa4b), + CodeunitRange(0xfa5d, 0xfa5e), + CodeunitRange(0xfb00, 0xfb04), + CodeunitRange(0xfe10, 0xfe19), + CodeunitRange(0xfe30, 0xfe52), + CodeunitRange(0xfe54, 0xfe66), + CodeunitRange(0xfe68, 0xfe6b), + CodeunitRange(0xff01, 0xff9f), + CodeunitRange(0xffa1, 0xffbe), + CodeunitRange(0xffc2, 0xffc7), + CodeunitRange(0xffca, 0xffcf), + CodeunitRange(0xffd2, 0xffd7), + CodeunitRange(0xffda, 0xffdc), + CodeunitRange(0xffe0, 0xffe6), + CodeunitRange(0xffe8, 0xffee), + CodeunitRange(0x1f100, 0x1f10c), + CodeunitRange(0x1f110, 0x1f16c), + CodeunitRange(0x1f170, 0x1f1ac), + CodeunitRange(0x1f200, 0x1f202), + CodeunitRange(0x1f210, 0x1f23b), + CodeunitRange(0x1f240, 0x1f248), + CodeunitRange(0x1f250, 0x1f251), + CodeunitRange(0x20021, 0x20021), + CodeunitRange(0x2003e, 0x2003e), + CodeunitRange(0x20046, 0x20046), + CodeunitRange(0x2004e, 0x2004e), + CodeunitRange(0x20068, 0x20068), + CodeunitRange(0x20086, 0x20087), + CodeunitRange(0x2008a, 0x2008a), + CodeunitRange(0x20094, 0x20094), + CodeunitRange(0x200ca, 0x200cd), + CodeunitRange(0x200d1, 0x200d1), + CodeunitRange(0x200ee, 0x200ee), + CodeunitRange(0x2010c, 0x2010c), + CodeunitRange(0x2010e, 0x2010e), + CodeunitRange(0x20118, 0x20118), + CodeunitRange(0x201a4, 0x201a4), + CodeunitRange(0x201a9, 0x201a9), + CodeunitRange(0x201ab, 0x201ab), + CodeunitRange(0x201c1, 0x201c1), + CodeunitRange(0x201d4, 0x201d4), + CodeunitRange(0x201f2, 0x201f2), + CodeunitRange(0x20204, 0x20204), + CodeunitRange(0x2020c, 0x2020c), + CodeunitRange(0x20214, 0x20214), + CodeunitRange(0x20239, 0x20239), + CodeunitRange(0x2025b, 0x2025b), + CodeunitRange(0x20274, 0x20275), + CodeunitRange(0x20299, 0x20299), + CodeunitRange(0x2029e, 0x2029e), + CodeunitRange(0x202a0, 0x202a0), + CodeunitRange(0x202b7, 0x202b7), + CodeunitRange(0x202bf, 0x202c0), + CodeunitRange(0x202e5, 0x202e5), + CodeunitRange(0x2030a, 0x2030a), + CodeunitRange(0x20325, 0x20325), + CodeunitRange(0x20341, 0x20341), + CodeunitRange(0x20345, 0x20347), + CodeunitRange(0x2037e, 0x20380), + CodeunitRange(0x203a0, 0x203a0), + CodeunitRange(0x203a7, 0x203a7), + CodeunitRange(0x203b5, 0x203b5), + CodeunitRange(0x203c9, 0x203c9), + CodeunitRange(0x203cb, 0x203cb), + CodeunitRange(0x203f5, 0x203f5), + CodeunitRange(0x203fc, 0x203fc), + CodeunitRange(0x20413, 0x20414), + CodeunitRange(0x2041f, 0x2041f), + CodeunitRange(0x20465, 0x20465), + CodeunitRange(0x20487, 0x20487), + CodeunitRange(0x2048e, 0x2048e), + CodeunitRange(0x20491, 0x20492), + CodeunitRange(0x204a3, 0x204a3), + CodeunitRange(0x204d7, 0x204d7), + CodeunitRange(0x204fc, 0x204fc), + CodeunitRange(0x204fe, 0x204fe), + CodeunitRange(0x20547, 0x20547), + CodeunitRange(0x2058e, 0x2058e), + CodeunitRange(0x205a5, 0x205a5), + CodeunitRange(0x205b3, 0x205b3), + CodeunitRange(0x205c3, 0x205c3), + CodeunitRange(0x205ca, 0x205ca), + CodeunitRange(0x205d0, 0x205d0), + CodeunitRange(0x205d5, 0x205d5), + CodeunitRange(0x205df, 0x205e0), + CodeunitRange(0x205eb, 0x205eb), + CodeunitRange(0x20611, 0x20611), + CodeunitRange(0x20615, 0x20615), + CodeunitRange(0x20619, 0x2061a), + CodeunitRange(0x20628, 0x20628), + CodeunitRange(0x20630, 0x20630), + CodeunitRange(0x20656, 0x20656), + CodeunitRange(0x20676, 0x20676), + CodeunitRange(0x2070e, 0x2070e), + CodeunitRange(0x20731, 0x20731), + CodeunitRange(0x20779, 0x20779), + CodeunitRange(0x2082c, 0x2082c), + CodeunitRange(0x20873, 0x20873), + CodeunitRange(0x208d5, 0x208d5), + CodeunitRange(0x20916, 0x20916), + CodeunitRange(0x20923, 0x20923), + CodeunitRange(0x20954, 0x20954), + CodeunitRange(0x20979, 0x20979), + CodeunitRange(0x209e7, 0x209e7), + CodeunitRange(0x20a11, 0x20a11), + CodeunitRange(0x20a50, 0x20a50), + CodeunitRange(0x20a6f, 0x20a6f), + CodeunitRange(0x20a8a, 0x20a8a), + CodeunitRange(0x20ab4, 0x20ab4), + CodeunitRange(0x20ac2, 0x20ac2), + CodeunitRange(0x20acd, 0x20acd), + CodeunitRange(0x20b0d, 0x20b0d), + CodeunitRange(0x20b8f, 0x20b8f), + CodeunitRange(0x20b9f, 0x20b9f), + CodeunitRange(0x20ba8, 0x20ba9), + CodeunitRange(0x20bbf, 0x20bbf), + CodeunitRange(0x20bc6, 0x20bc6), + CodeunitRange(0x20bcb, 0x20bcb), + CodeunitRange(0x20be2, 0x20be2), + CodeunitRange(0x20beb, 0x20beb), + CodeunitRange(0x20bfb, 0x20bfb), + CodeunitRange(0x20bff, 0x20bff), + CodeunitRange(0x20c0b, 0x20c0b), + CodeunitRange(0x20c0d, 0x20c0d), + CodeunitRange(0x20c20, 0x20c20), + CodeunitRange(0x20c34, 0x20c34), + CodeunitRange(0x20c3a, 0x20c3b), + CodeunitRange(0x20c41, 0x20c43), + CodeunitRange(0x20c53, 0x20c53), + CodeunitRange(0x20c65, 0x20c65), + CodeunitRange(0x20c77, 0x20c78), + CodeunitRange(0x20c7c, 0x20c7c), + CodeunitRange(0x20c8d, 0x20c8d), + CodeunitRange(0x20c96, 0x20c96), + CodeunitRange(0x20c9c, 0x20c9c), + CodeunitRange(0x20cb5, 0x20cb5), + CodeunitRange(0x20cb8, 0x20cb8), + CodeunitRange(0x20ccf, 0x20ccf), + CodeunitRange(0x20cd3, 0x20cd6), + CodeunitRange(0x20cdd, 0x20cdd), + CodeunitRange(0x20ced, 0x20ced), + CodeunitRange(0x20cff, 0x20cff), + CodeunitRange(0x20d15, 0x20d15), + CodeunitRange(0x20d28, 0x20d28), + CodeunitRange(0x20d31, 0x20d32), + CodeunitRange(0x20d46, 0x20d49), + CodeunitRange(0x20d4c, 0x20d4e), + CodeunitRange(0x20d6f, 0x20d6f), + CodeunitRange(0x20d71, 0x20d71), + CodeunitRange(0x20d74, 0x20d74), + CodeunitRange(0x20d7c, 0x20d7c), + CodeunitRange(0x20d7e, 0x20d7f), + CodeunitRange(0x20d96, 0x20d96), + CodeunitRange(0x20d9c, 0x20d9c), + CodeunitRange(0x20da7, 0x20da7), + CodeunitRange(0x20db2, 0x20db2), + CodeunitRange(0x20dc8, 0x20dc8), + CodeunitRange(0x20e04, 0x20e04), + CodeunitRange(0x20e09, 0x20e0a), + CodeunitRange(0x20e0d, 0x20e11), + CodeunitRange(0x20e16, 0x20e16), + CodeunitRange(0x20e1d, 0x20e1d), + CodeunitRange(0x20e4c, 0x20e4c), + CodeunitRange(0x20e6d, 0x20e6d), + CodeunitRange(0x20e73, 0x20e73), + CodeunitRange(0x20e75, 0x20e7b), + CodeunitRange(0x20e8c, 0x20e8c), + CodeunitRange(0x20e96, 0x20e96), + CodeunitRange(0x20e98, 0x20e98), + CodeunitRange(0x20e9d, 0x20e9d), + CodeunitRange(0x20ea2, 0x20ea2), + CodeunitRange(0x20eaa, 0x20eac), + CodeunitRange(0x20eb6, 0x20eb6), + CodeunitRange(0x20ed7, 0x20ed8), + CodeunitRange(0x20edd, 0x20edd), + CodeunitRange(0x20ef8, 0x20efb), + CodeunitRange(0x20f1d, 0x20f1d), + CodeunitRange(0x20f26, 0x20f26), + CodeunitRange(0x20f2d, 0x20f2e), + CodeunitRange(0x20f30, 0x20f31), + CodeunitRange(0x20f3b, 0x20f3b), + CodeunitRange(0x20f4c, 0x20f4c), + CodeunitRange(0x20f64, 0x20f64), + CodeunitRange(0x20f8d, 0x20f8d), + CodeunitRange(0x20f90, 0x20f90), + CodeunitRange(0x20fad, 0x20fad), + CodeunitRange(0x20fb4, 0x20fb6), + CodeunitRange(0x20fbc, 0x20fbc), + CodeunitRange(0x20fdf, 0x20fdf), + CodeunitRange(0x20fea, 0x20fed), + CodeunitRange(0x21014, 0x21014), + CodeunitRange(0x2101d, 0x2101e), + CodeunitRange(0x2104f, 0x2104f), + CodeunitRange(0x2105c, 0x2105c), + CodeunitRange(0x2106f, 0x2106f), + CodeunitRange(0x21075, 0x21078), + CodeunitRange(0x2107b, 0x2107b), + CodeunitRange(0x21088, 0x21088), + CodeunitRange(0x21096, 0x21096), + CodeunitRange(0x2109d, 0x2109d), + CodeunitRange(0x210b4, 0x210b4), + CodeunitRange(0x210bf, 0x210c1), + CodeunitRange(0x210c7, 0x210c9), + CodeunitRange(0x210cf, 0x210cf), + CodeunitRange(0x210d3, 0x210d3), + CodeunitRange(0x210e4, 0x210e4), + CodeunitRange(0x210f4, 0x210f6), + CodeunitRange(0x2112f, 0x2112f), + CodeunitRange(0x2113b, 0x2113b), + CodeunitRange(0x2113d, 0x2113d), + CodeunitRange(0x21145, 0x21145), + CodeunitRange(0x21148, 0x21148), + CodeunitRange(0x2114f, 0x2114f), + CodeunitRange(0x21180, 0x21180), + CodeunitRange(0x21187, 0x21187), + CodeunitRange(0x211d9, 0x211d9), + CodeunitRange(0x2123c, 0x2123c), + CodeunitRange(0x2124f, 0x2124f), + CodeunitRange(0x2127c, 0x2127c), + CodeunitRange(0x212a8, 0x212a9), + CodeunitRange(0x212b0, 0x212b0), + CodeunitRange(0x212e3, 0x212e3), + CodeunitRange(0x212fe, 0x212fe), + CodeunitRange(0x21302, 0x21305), + CodeunitRange(0x21336, 0x21336), + CodeunitRange(0x2133a, 0x2133a), + CodeunitRange(0x21375, 0x21376), + CodeunitRange(0x2138e, 0x2138e), + CodeunitRange(0x21398, 0x21398), + CodeunitRange(0x2139c, 0x2139c), + CodeunitRange(0x213c5, 0x213c6), + CodeunitRange(0x213ed, 0x213ed), + CodeunitRange(0x213fe, 0x213fe), + CodeunitRange(0x21413, 0x21413), + CodeunitRange(0x21416, 0x21416), + CodeunitRange(0x21424, 0x21424), + CodeunitRange(0x2143f, 0x2143f), + CodeunitRange(0x21452, 0x21452), + CodeunitRange(0x21454, 0x21455), + CodeunitRange(0x2148a, 0x2148a), + CodeunitRange(0x21497, 0x21497), + CodeunitRange(0x214b6, 0x214b6), + CodeunitRange(0x214e8, 0x214e8), + CodeunitRange(0x214fd, 0x214fd), + CodeunitRange(0x21577, 0x21577), + CodeunitRange(0x21582, 0x21582), + CodeunitRange(0x21596, 0x21596), + CodeunitRange(0x2160a, 0x2160a), + CodeunitRange(0x21613, 0x21613), + CodeunitRange(0x21619, 0x21619), + CodeunitRange(0x2163e, 0x2163e), + CodeunitRange(0x21661, 0x21661), + CodeunitRange(0x21692, 0x21692), + CodeunitRange(0x216b8, 0x216b8), + CodeunitRange(0x216ba, 0x216ba), + CodeunitRange(0x216c0, 0x216c2), + CodeunitRange(0x216d3, 0x216d3), + CodeunitRange(0x216d5, 0x216d5), + CodeunitRange(0x216df, 0x216df), + CodeunitRange(0x216e6, 0x216e8), + CodeunitRange(0x216fa, 0x216fc), + CodeunitRange(0x216fe, 0x216fe), + CodeunitRange(0x2170d, 0x2170d), + CodeunitRange(0x21710, 0x21710), + CodeunitRange(0x21726, 0x21726), + CodeunitRange(0x2173a, 0x2173c), + CodeunitRange(0x21757, 0x21757), + CodeunitRange(0x2176c, 0x21771), + CodeunitRange(0x21773, 0x21774), + CodeunitRange(0x217ab, 0x217ab), + CodeunitRange(0x217b0, 0x217b5), + CodeunitRange(0x217c3, 0x217c3), + CodeunitRange(0x217c7, 0x217c7), + CodeunitRange(0x217d9, 0x217dc), + CodeunitRange(0x217df, 0x217df), + CodeunitRange(0x217ef, 0x217ef), + CodeunitRange(0x217f5, 0x217f6), + CodeunitRange(0x217f8, 0x217fc), + CodeunitRange(0x21820, 0x21820), + CodeunitRange(0x21828, 0x2182a), + CodeunitRange(0x2182d, 0x2182d), + CodeunitRange(0x21839, 0x2183b), + CodeunitRange(0x21840, 0x21840), + CodeunitRange(0x21845, 0x21845), + CodeunitRange(0x21852, 0x21852), + CodeunitRange(0x2185e, 0x2185e), + CodeunitRange(0x21861, 0x21864), + CodeunitRange(0x21877, 0x21877), + CodeunitRange(0x2187b, 0x2187b), + CodeunitRange(0x21883, 0x21885), + CodeunitRange(0x2189e, 0x218a2), + CodeunitRange(0x218be, 0x218bf), + CodeunitRange(0x218d1, 0x218d1), + CodeunitRange(0x218d6, 0x218d9), + CodeunitRange(0x218fa, 0x218fa), + CodeunitRange(0x21903, 0x21905), + CodeunitRange(0x21910, 0x21912), + CodeunitRange(0x21915, 0x21915), + CodeunitRange(0x2191c, 0x2191c), + CodeunitRange(0x21922, 0x21922), + CodeunitRange(0x21927, 0x21927), + CodeunitRange(0x2193b, 0x2193b), + CodeunitRange(0x21944, 0x21944), + CodeunitRange(0x21958, 0x21958), + CodeunitRange(0x2196a, 0x2196a), + CodeunitRange(0x2197c, 0x2197c), + CodeunitRange(0x21980, 0x21980), + CodeunitRange(0x21983, 0x21983), + CodeunitRange(0x21988, 0x21988), + CodeunitRange(0x21996, 0x21996), + CodeunitRange(0x219db, 0x219db), + CodeunitRange(0x219f3, 0x219f3), + CodeunitRange(0x21a2d, 0x21a2d), + CodeunitRange(0x21a34, 0x21a34), + CodeunitRange(0x21a45, 0x21a45), + CodeunitRange(0x21a4b, 0x21a4b), + CodeunitRange(0x21a63, 0x21a63), + CodeunitRange(0x21b44, 0x21b44), + CodeunitRange(0x21bc1, 0x21bc2), + CodeunitRange(0x21c2a, 0x21c2a), + CodeunitRange(0x21c70, 0x21c70), + CodeunitRange(0x21ca2, 0x21ca2), + CodeunitRange(0x21ca5, 0x21ca5), + CodeunitRange(0x21cac, 0x21cac), + CodeunitRange(0x21d46, 0x21d46), + CodeunitRange(0x21d53, 0x21d53), + CodeunitRange(0x21d5e, 0x21d5e), + CodeunitRange(0x21d90, 0x21d90), + CodeunitRange(0x21db6, 0x21db6), + CodeunitRange(0x21dba, 0x21dba), + CodeunitRange(0x21dca, 0x21dca), + CodeunitRange(0x21dd1, 0x21dd1), + CodeunitRange(0x21deb, 0x21deb), + CodeunitRange(0x21df9, 0x21df9), + CodeunitRange(0x21e1c, 0x21e1c), + CodeunitRange(0x21e23, 0x21e23), + CodeunitRange(0x21e37, 0x21e37), + CodeunitRange(0x21e3d, 0x21e3d), + CodeunitRange(0x21e89, 0x21e89), + CodeunitRange(0x21ea4, 0x21ea4), + CodeunitRange(0x21ea8, 0x21ea8), + CodeunitRange(0x21ec8, 0x21ec8), + CodeunitRange(0x21ed5, 0x21ed5), + CodeunitRange(0x21f0f, 0x21f0f), + CodeunitRange(0x21f15, 0x21f15), + CodeunitRange(0x21f6a, 0x21f6a), + CodeunitRange(0x21f9e, 0x21f9e), + CodeunitRange(0x21fa1, 0x21fa1), + CodeunitRange(0x21fe8, 0x21fe8), + CodeunitRange(0x22045, 0x22045), + CodeunitRange(0x22049, 0x22049), + CodeunitRange(0x2207e, 0x2207e), + CodeunitRange(0x2209a, 0x2209a), + CodeunitRange(0x220c7, 0x220c7), + CodeunitRange(0x220fc, 0x220fc), + CodeunitRange(0x2212a, 0x2212a), + CodeunitRange(0x2215b, 0x2215b), + CodeunitRange(0x22173, 0x22173), + CodeunitRange(0x2217a, 0x2217a), + CodeunitRange(0x221a1, 0x221a1), + CodeunitRange(0x221c1, 0x221c1), + CodeunitRange(0x221c3, 0x221c3), + CodeunitRange(0x22208, 0x22208), + CodeunitRange(0x2227c, 0x2227c), + CodeunitRange(0x22321, 0x22321), + CodeunitRange(0x22325, 0x22325), + CodeunitRange(0x223bd, 0x223bd), + CodeunitRange(0x223d0, 0x223d0), + CodeunitRange(0x223d7, 0x223d7), + CodeunitRange(0x223fa, 0x223fa), + CodeunitRange(0x22465, 0x22465), + CodeunitRange(0x22471, 0x22471), + CodeunitRange(0x2248b, 0x2248b), + CodeunitRange(0x22491, 0x22491), + CodeunitRange(0x224b0, 0x224b0), + CodeunitRange(0x224bc, 0x224bc), + CodeunitRange(0x224c1, 0x224c1), + CodeunitRange(0x224c9, 0x224c9), + CodeunitRange(0x224cc, 0x224cc), + CodeunitRange(0x224ed, 0x224ed), + CodeunitRange(0x22513, 0x22513), + CodeunitRange(0x2251b, 0x2251b), + CodeunitRange(0x22530, 0x22530), + CodeunitRange(0x22554, 0x22554), + CodeunitRange(0x2258d, 0x2258d), + CodeunitRange(0x225af, 0x225af), + CodeunitRange(0x225be, 0x225be), + CodeunitRange(0x2261b, 0x2261c), + CodeunitRange(0x2262b, 0x2262b), + CodeunitRange(0x22668, 0x22668), + CodeunitRange(0x2267a, 0x2267a), + CodeunitRange(0x22696, 0x22696), + CodeunitRange(0x22698, 0x22698), + CodeunitRange(0x226f4, 0x226f6), + CodeunitRange(0x22712, 0x22712), + CodeunitRange(0x22714, 0x22714), + CodeunitRange(0x2271b, 0x2271b), + CodeunitRange(0x2271f, 0x2271f), + CodeunitRange(0x2272a, 0x2272a), + CodeunitRange(0x22775, 0x22775), + CodeunitRange(0x22781, 0x22781), + CodeunitRange(0x22796, 0x22796), + CodeunitRange(0x227b4, 0x227b5), + CodeunitRange(0x227cd, 0x227cd), + CodeunitRange(0x22803, 0x22803), + CodeunitRange(0x2285f, 0x22860), + CodeunitRange(0x22871, 0x22871), + CodeunitRange(0x228ad, 0x228ad), + CodeunitRange(0x228c1, 0x228c1), + CodeunitRange(0x228f7, 0x228f7), + CodeunitRange(0x22926, 0x22926), + CodeunitRange(0x22939, 0x22939), + CodeunitRange(0x2294f, 0x2294f), + CodeunitRange(0x22967, 0x22967), + CodeunitRange(0x2296b, 0x2296b), + CodeunitRange(0x22980, 0x22980), + CodeunitRange(0x22993, 0x22993), + CodeunitRange(0x22a66, 0x22a66), + CodeunitRange(0x22acf, 0x22acf), + CodeunitRange(0x22ad5, 0x22ad5), + CodeunitRange(0x22ae6, 0x22ae6), + CodeunitRange(0x22ae8, 0x22ae8), + CodeunitRange(0x22b0e, 0x22b0e), + CodeunitRange(0x22b22, 0x22b22), + CodeunitRange(0x22b3f, 0x22b3f), + CodeunitRange(0x22b43, 0x22b43), + CodeunitRange(0x22b6a, 0x22b6a), + CodeunitRange(0x22bca, 0x22bca), + CodeunitRange(0x22bce, 0x22bce), + CodeunitRange(0x22c26, 0x22c27), + CodeunitRange(0x22c38, 0x22c38), + CodeunitRange(0x22c4c, 0x22c4c), + CodeunitRange(0x22c51, 0x22c51), + CodeunitRange(0x22c55, 0x22c55), + CodeunitRange(0x22c62, 0x22c62), + CodeunitRange(0x22c88, 0x22c88), + CodeunitRange(0x22c9b, 0x22c9b), + CodeunitRange(0x22ca1, 0x22ca1), + CodeunitRange(0x22ca9, 0x22ca9), + CodeunitRange(0x22cb2, 0x22cb2), + CodeunitRange(0x22cb7, 0x22cb7), + CodeunitRange(0x22cc2, 0x22cc2), + CodeunitRange(0x22cc6, 0x22cc6), + CodeunitRange(0x22cc9, 0x22cc9), + CodeunitRange(0x22d07, 0x22d08), + CodeunitRange(0x22d12, 0x22d12), + CodeunitRange(0x22d44, 0x22d44), + CodeunitRange(0x22d4c, 0x22d4c), + CodeunitRange(0x22d67, 0x22d67), + CodeunitRange(0x22d8d, 0x22d8d), + CodeunitRange(0x22d95, 0x22d95), + CodeunitRange(0x22da0, 0x22da0), + CodeunitRange(0x22da3, 0x22da4), + CodeunitRange(0x22db7, 0x22db7), + CodeunitRange(0x22dee, 0x22dee), + CodeunitRange(0x22e0d, 0x22e0d), + CodeunitRange(0x22e36, 0x22e36), + CodeunitRange(0x22e42, 0x22e42), + CodeunitRange(0x22e78, 0x22e78), + CodeunitRange(0x22e8b, 0x22e8b), + CodeunitRange(0x22eb3, 0x22eb3), + CodeunitRange(0x22eef, 0x22eef), + CodeunitRange(0x22f74, 0x22f74), + CodeunitRange(0x22fcc, 0x22fcc), + CodeunitRange(0x22fe3, 0x22fe3), + CodeunitRange(0x23033, 0x23033), + CodeunitRange(0x23044, 0x23044), + CodeunitRange(0x2304b, 0x2304b), + CodeunitRange(0x23066, 0x23066), + CodeunitRange(0x2307d, 0x2307e), + CodeunitRange(0x2308e, 0x2308e), + CodeunitRange(0x230b7, 0x230b7), + CodeunitRange(0x230bc, 0x230bc), + CodeunitRange(0x230da, 0x230da), + CodeunitRange(0x23103, 0x23103), + CodeunitRange(0x2313d, 0x2313d), + CodeunitRange(0x2317d, 0x2317d), + CodeunitRange(0x23182, 0x23182), + CodeunitRange(0x231a4, 0x231a5), + CodeunitRange(0x231b3, 0x231b3), + CodeunitRange(0x231c8, 0x231c9), + CodeunitRange(0x231ea, 0x231ea), + CodeunitRange(0x231f7, 0x231f9), + CodeunitRange(0x2320f, 0x2320f), + CodeunitRange(0x23225, 0x23225), + CodeunitRange(0x2322f, 0x2322f), + CodeunitRange(0x23231, 0x23234), + CodeunitRange(0x23256, 0x23256), + CodeunitRange(0x2325e, 0x2325e), + CodeunitRange(0x23262, 0x23262), + CodeunitRange(0x23281, 0x23281), + CodeunitRange(0x23289, 0x2328a), + CodeunitRange(0x232ab, 0x232ad), + CodeunitRange(0x232d2, 0x232d2), + CodeunitRange(0x232e0, 0x232e1), + CodeunitRange(0x23300, 0x23300), + CodeunitRange(0x2330a, 0x2330a), + CodeunitRange(0x2331f, 0x2331f), + CodeunitRange(0x233b4, 0x233b4), + CodeunitRange(0x233cc, 0x233cc), + CodeunitRange(0x233de, 0x233de), + CodeunitRange(0x233e6, 0x233e6), + CodeunitRange(0x233f4, 0x233f5), + CodeunitRange(0x233f9, 0x233fa), + CodeunitRange(0x233fe, 0x233fe), + CodeunitRange(0x23400, 0x23400), + CodeunitRange(0x2343f, 0x2343f), + CodeunitRange(0x23450, 0x23450), + CodeunitRange(0x2346f, 0x2346f), + CodeunitRange(0x23472, 0x23472), + CodeunitRange(0x234e5, 0x234e5), + CodeunitRange(0x23519, 0x23519), + CodeunitRange(0x23530, 0x23530), + CodeunitRange(0x23551, 0x23551), + CodeunitRange(0x2355a, 0x2355a), + CodeunitRange(0x23567, 0x23567), + CodeunitRange(0x23595, 0x23595), + CodeunitRange(0x23599, 0x23599), + CodeunitRange(0x2359c, 0x2359c), + CodeunitRange(0x235bb, 0x235bb), + CodeunitRange(0x235cd, 0x235cf), + CodeunitRange(0x235f3, 0x235f3), + CodeunitRange(0x23600, 0x23600), + CodeunitRange(0x23617, 0x23617), + CodeunitRange(0x2361a, 0x2361a), + CodeunitRange(0x2363c, 0x2363c), + CodeunitRange(0x23640, 0x23640), + CodeunitRange(0x23659, 0x23659), + CodeunitRange(0x2365f, 0x2365f), + CodeunitRange(0x23677, 0x23677), + CodeunitRange(0x2368e, 0x2368e), + CodeunitRange(0x2369e, 0x2369e), + CodeunitRange(0x236a6, 0x236a6), + CodeunitRange(0x236ad, 0x236ad), + CodeunitRange(0x236ba, 0x236ba), + CodeunitRange(0x236df, 0x236df), + CodeunitRange(0x236ee, 0x236ee), + CodeunitRange(0x23703, 0x23703), + CodeunitRange(0x23716, 0x23716), + CodeunitRange(0x23720, 0x23720), + CodeunitRange(0x2372d, 0x2372d), + CodeunitRange(0x2372f, 0x2372f), + CodeunitRange(0x2373f, 0x2373f), + CodeunitRange(0x23766, 0x23766), + CodeunitRange(0x23781, 0x23781), + CodeunitRange(0x237a2, 0x237a2), + CodeunitRange(0x237bc, 0x237bc), + CodeunitRange(0x237c2, 0x237c2), + CodeunitRange(0x237d5, 0x237d7), + CodeunitRange(0x2383a, 0x2383a), + CodeunitRange(0x239c2, 0x239c2), + CodeunitRange(0x23aa7, 0x23aa7), + CodeunitRange(0x23adb, 0x23adb), + CodeunitRange(0x23aee, 0x23aee), + CodeunitRange(0x23afa, 0x23afa), + CodeunitRange(0x23b1a, 0x23b1a), + CodeunitRange(0x23b5a, 0x23b5a), + CodeunitRange(0x23c63, 0x23c63), + CodeunitRange(0x23c99, 0x23c9b), + CodeunitRange(0x23cb5, 0x23cb5), + CodeunitRange(0x23cb7, 0x23cb7), + CodeunitRange(0x23cc7, 0x23cc9), + CodeunitRange(0x23cfc, 0x23cff), + CodeunitRange(0x23d40, 0x23d40), + CodeunitRange(0x23d5b, 0x23d5b), + CodeunitRange(0x23d7e, 0x23d7e), + CodeunitRange(0x23d8f, 0x23d8f), + CodeunitRange(0x23db6, 0x23dbd), + CodeunitRange(0x23de3, 0x23de3), + CodeunitRange(0x23df8, 0x23df8), + CodeunitRange(0x23e06, 0x23e06), + CodeunitRange(0x23e11, 0x23e11), + CodeunitRange(0x23e2c, 0x23e31), + CodeunitRange(0x23e39, 0x23e39), + CodeunitRange(0x23e88, 0x23e8b), + CodeunitRange(0x23eb9, 0x23eb9), + CodeunitRange(0x23ebf, 0x23ebf), + CodeunitRange(0x23ed7, 0x23ed7), + CodeunitRange(0x23ef7, 0x23efc), + CodeunitRange(0x23f35, 0x23f35), + CodeunitRange(0x23f41, 0x23f41), + CodeunitRange(0x23f4a, 0x23f4a), + CodeunitRange(0x23f61, 0x23f61), + CodeunitRange(0x23f7f, 0x23f82), + CodeunitRange(0x23f8f, 0x23f8f), + CodeunitRange(0x23fb4, 0x23fb4), + CodeunitRange(0x23fb7, 0x23fb7), + CodeunitRange(0x23fc0, 0x23fc0), + CodeunitRange(0x23fc5, 0x23fc5), + CodeunitRange(0x23feb, 0x23ff0), + CodeunitRange(0x24011, 0x24011), + CodeunitRange(0x24039, 0x2403d), + CodeunitRange(0x24057, 0x24057), + CodeunitRange(0x24085, 0x24085), + CodeunitRange(0x2408b, 0x2408d), + CodeunitRange(0x24091, 0x24091), + CodeunitRange(0x240c9, 0x240c9), + CodeunitRange(0x240e1, 0x240e1), + CodeunitRange(0x240ec, 0x240ec), + CodeunitRange(0x24104, 0x24104), + CodeunitRange(0x2410f, 0x2410f), + CodeunitRange(0x24119, 0x24119), + CodeunitRange(0x2413f, 0x24140), + CodeunitRange(0x24144, 0x24144), + CodeunitRange(0x2414e, 0x2414e), + CodeunitRange(0x24155, 0x24157), + CodeunitRange(0x2415c, 0x2415c), + CodeunitRange(0x2415f, 0x2415f), + CodeunitRange(0x24161, 0x24161), + CodeunitRange(0x24177, 0x24177), + CodeunitRange(0x2417a, 0x2417a), + CodeunitRange(0x241a3, 0x241a5), + CodeunitRange(0x241ac, 0x241ac), + CodeunitRange(0x241b5, 0x241b5), + CodeunitRange(0x241cd, 0x241cd), + CodeunitRange(0x241e2, 0x241e2), + CodeunitRange(0x241fc, 0x241fc), + CodeunitRange(0x2421b, 0x2421b), + CodeunitRange(0x2424b, 0x2424b), + CodeunitRange(0x24256, 0x24256), + CodeunitRange(0x24259, 0x24259), + CodeunitRange(0x24276, 0x24278), + CodeunitRange(0x24284, 0x24284), + CodeunitRange(0x24293, 0x24293), + CodeunitRange(0x24295, 0x24295), + CodeunitRange(0x242a5, 0x242a5), + CodeunitRange(0x242bf, 0x242bf), + CodeunitRange(0x242c1, 0x242c1), + CodeunitRange(0x242c9, 0x242ca), + CodeunitRange(0x242ee, 0x242ee), + CodeunitRange(0x242fa, 0x242fa), + CodeunitRange(0x2430d, 0x2430d), + CodeunitRange(0x2431a, 0x2431a), + CodeunitRange(0x24334, 0x24334), + CodeunitRange(0x24348, 0x24348), + CodeunitRange(0x24362, 0x24365), + CodeunitRange(0x2438c, 0x2438c), + CodeunitRange(0x24396, 0x24396), + CodeunitRange(0x2439c, 0x2439c), + CodeunitRange(0x243bd, 0x243bd), + CodeunitRange(0x243c1, 0x243c1), + CodeunitRange(0x243e9, 0x243ea), + CodeunitRange(0x243f2, 0x243f2), + CodeunitRange(0x243f8, 0x243f8), + CodeunitRange(0x24404, 0x24404), + CodeunitRange(0x24435, 0x24436), + CodeunitRange(0x2445a, 0x2445b), + CodeunitRange(0x24473, 0x24473), + CodeunitRange(0x24487, 0x24488), + CodeunitRange(0x244b9, 0x244b9), + CodeunitRange(0x244bc, 0x244bc), + CodeunitRange(0x244ce, 0x244ce), + CodeunitRange(0x244d3, 0x244d3), + CodeunitRange(0x244d6, 0x244d6), + CodeunitRange(0x24505, 0x24505), + CodeunitRange(0x24521, 0x24521), + CodeunitRange(0x24578, 0x24578), + CodeunitRange(0x245c8, 0x245c8), + CodeunitRange(0x24618, 0x24618), + CodeunitRange(0x2462a, 0x2462a), + CodeunitRange(0x24665, 0x24665), + CodeunitRange(0x24674, 0x24674), + CodeunitRange(0x24697, 0x24697), + CodeunitRange(0x246d4, 0x246d4), + CodeunitRange(0x24706, 0x24706), + CodeunitRange(0x24725, 0x24725), + CodeunitRange(0x2472f, 0x2472f), + CodeunitRange(0x2478f, 0x2478f), + CodeunitRange(0x247e0, 0x247e0), + CodeunitRange(0x24812, 0x24812), + CodeunitRange(0x24823, 0x24823), + CodeunitRange(0x24882, 0x24882), + CodeunitRange(0x248e9, 0x248e9), + CodeunitRange(0x248f0, 0x248f3), + CodeunitRange(0x248fb, 0x248fb), + CodeunitRange(0x248ff, 0x24901), + CodeunitRange(0x2490c, 0x2490c), + CodeunitRange(0x24916, 0x24917), + CodeunitRange(0x24919, 0x24919), + CodeunitRange(0x2492f, 0x2492f), + CodeunitRange(0x24933, 0x24934), + CodeunitRange(0x2493e, 0x24943), + CodeunitRange(0x24962, 0x24963), + CodeunitRange(0x24974, 0x24976), + CodeunitRange(0x2497b, 0x2497b), + CodeunitRange(0x2497f, 0x2497f), + CodeunitRange(0x24982, 0x24982), + CodeunitRange(0x24988, 0x2498f), + CodeunitRange(0x24994, 0x24994), + CodeunitRange(0x249a4, 0x249a4), + CodeunitRange(0x249a7, 0x249a7), + CodeunitRange(0x249a9, 0x249a9), + CodeunitRange(0x249ab, 0x249ad), + CodeunitRange(0x249b7, 0x249bb), + CodeunitRange(0x249c5, 0x249c5), + CodeunitRange(0x249d0, 0x249d0), + CodeunitRange(0x249da, 0x249da), + CodeunitRange(0x249de, 0x249df), + CodeunitRange(0x249e3, 0x249e3), + CodeunitRange(0x249e5, 0x249e5), + CodeunitRange(0x249ec, 0x249ed), + CodeunitRange(0x249f6, 0x249f9), + CodeunitRange(0x249fb, 0x249fb), + CodeunitRange(0x24a0e, 0x24a0e), + CodeunitRange(0x24a12, 0x24a13), + CodeunitRange(0x24a15, 0x24a15), + CodeunitRange(0x24a21, 0x24a2a), + CodeunitRange(0x24a3e, 0x24a3e), + CodeunitRange(0x24a42, 0x24a42), + CodeunitRange(0x24a45, 0x24a45), + CodeunitRange(0x24a4a, 0x24a4a), + CodeunitRange(0x24a4e, 0x24a51), + CodeunitRange(0x24a5d, 0x24a5d), + CodeunitRange(0x24a65, 0x24a67), + CodeunitRange(0x24a71, 0x24a71), + CodeunitRange(0x24a77, 0x24a7a), + CodeunitRange(0x24a8c, 0x24a8c), + CodeunitRange(0x24a93, 0x24a96), + CodeunitRange(0x24aa4, 0x24aa7), + CodeunitRange(0x24ab1, 0x24ab3), + CodeunitRange(0x24aba, 0x24abc), + CodeunitRange(0x24ac0, 0x24ac0), + CodeunitRange(0x24ac7, 0x24ac7), + CodeunitRange(0x24aca, 0x24aca), + CodeunitRange(0x24ad1, 0x24ad1), + CodeunitRange(0x24adf, 0x24adf), + CodeunitRange(0x24ae2, 0x24ae2), + CodeunitRange(0x24ae9, 0x24ae9), + CodeunitRange(0x24b0f, 0x24b0f), + CodeunitRange(0x24b6e, 0x24b6e), + CodeunitRange(0x24bf5, 0x24bf5), + CodeunitRange(0x24c09, 0x24c09), + CodeunitRange(0x24c9e, 0x24c9f), + CodeunitRange(0x24cc9, 0x24cc9), + CodeunitRange(0x24cd9, 0x24cd9), + CodeunitRange(0x24d06, 0x24d06), + CodeunitRange(0x24d13, 0x24d13), + CodeunitRange(0x24db8, 0x24db8), + CodeunitRange(0x24dea, 0x24deb), + CodeunitRange(0x24e3b, 0x24e3b), + CodeunitRange(0x24e50, 0x24e50), + CodeunitRange(0x24ea5, 0x24ea5), + CodeunitRange(0x24ea7, 0x24ea7), + CodeunitRange(0x24f0e, 0x24f0e), + CodeunitRange(0x24f5c, 0x24f5c), + CodeunitRange(0x24f82, 0x24f82), + CodeunitRange(0x24f86, 0x24f86), + CodeunitRange(0x24f97, 0x24f97), + CodeunitRange(0x24f9a, 0x24f9a), + CodeunitRange(0x24fa9, 0x24fa9), + CodeunitRange(0x24fb8, 0x24fb8), + CodeunitRange(0x24fc2, 0x24fc2), + CodeunitRange(0x2502c, 0x2502c), + CodeunitRange(0x25052, 0x25052), + CodeunitRange(0x2509d, 0x2509d), + CodeunitRange(0x2512b, 0x2512b), + CodeunitRange(0x25148, 0x25148), + CodeunitRange(0x2517d, 0x2517e), + CodeunitRange(0x251cd, 0x251cd), + CodeunitRange(0x251e3, 0x251e3), + CodeunitRange(0x251e6, 0x251e7), + CodeunitRange(0x25220, 0x25221), + CodeunitRange(0x25250, 0x25250), + CodeunitRange(0x25299, 0x25299), + CodeunitRange(0x252c7, 0x252c7), + CodeunitRange(0x252d8, 0x252d8), + CodeunitRange(0x2530e, 0x2530e), + CodeunitRange(0x25311, 0x25311), + CodeunitRange(0x25313, 0x25313), + CodeunitRange(0x25419, 0x25419), + CodeunitRange(0x25425, 0x25425), + CodeunitRange(0x2542f, 0x25430), + CodeunitRange(0x25446, 0x25446), + CodeunitRange(0x2546c, 0x2546c), + CodeunitRange(0x2546e, 0x2546e), + CodeunitRange(0x2549a, 0x2549a), + CodeunitRange(0x25531, 0x25531), + CodeunitRange(0x25535, 0x25535), + CodeunitRange(0x2553f, 0x2553f), + CodeunitRange(0x2555b, 0x2555e), + CodeunitRange(0x25562, 0x25562), + CodeunitRange(0x25565, 0x25566), + CodeunitRange(0x25581, 0x25581), + CodeunitRange(0x25584, 0x25584), + CodeunitRange(0x2558f, 0x2558f), + CodeunitRange(0x255b9, 0x255b9), + CodeunitRange(0x255d5, 0x255d5), + CodeunitRange(0x255db, 0x255db), + CodeunitRange(0x255e0, 0x255e0), + CodeunitRange(0x25605, 0x25605), + CodeunitRange(0x25635, 0x25635), + CodeunitRange(0x25651, 0x25651), + CodeunitRange(0x25683, 0x25683), + CodeunitRange(0x25695, 0x25695), + CodeunitRange(0x256e3, 0x256e3), + CodeunitRange(0x256f6, 0x256f6), + CodeunitRange(0x25706, 0x25706), + CodeunitRange(0x2571d, 0x2571d), + CodeunitRange(0x25725, 0x25725), + CodeunitRange(0x2573d, 0x2573d), + CodeunitRange(0x25772, 0x25772), + CodeunitRange(0x257c7, 0x257c7), + CodeunitRange(0x257df, 0x257e1), + CodeunitRange(0x25857, 0x25857), + CodeunitRange(0x2585d, 0x2585d), + CodeunitRange(0x25872, 0x25872), + CodeunitRange(0x258c8, 0x258c8), + CodeunitRange(0x258de, 0x258de), + CodeunitRange(0x258e1, 0x258e1), + CodeunitRange(0x25903, 0x25903), + CodeunitRange(0x25946, 0x25946), + CodeunitRange(0x25956, 0x25956), + CodeunitRange(0x259ac, 0x259ac), + CodeunitRange(0x259cc, 0x259cc), + CodeunitRange(0x25a54, 0x25a54), + CodeunitRange(0x25a95, 0x25a95), + CodeunitRange(0x25a9c, 0x25a9c), + CodeunitRange(0x25aae, 0x25aaf), + CodeunitRange(0x25ad7, 0x25ad7), + CodeunitRange(0x25ae9, 0x25ae9), + CodeunitRange(0x25b74, 0x25b74), + CodeunitRange(0x25b89, 0x25b89), + CodeunitRange(0x25bb3, 0x25bb4), + CodeunitRange(0x25bc6, 0x25bc6), + CodeunitRange(0x25be4, 0x25be4), + CodeunitRange(0x25be8, 0x25be8), + CodeunitRange(0x25c01, 0x25c01), + CodeunitRange(0x25c06, 0x25c06), + CodeunitRange(0x25c21, 0x25c21), + CodeunitRange(0x25c4a, 0x25c4a), + CodeunitRange(0x25c65, 0x25c65), + CodeunitRange(0x25c91, 0x25c91), + CodeunitRange(0x25ca4, 0x25ca4), + CodeunitRange(0x25cc0, 0x25cc1), + CodeunitRange(0x25cfe, 0x25cfe), + CodeunitRange(0x25d20, 0x25d20), + CodeunitRange(0x25d30, 0x25d30), + CodeunitRange(0x25d43, 0x25d43), + CodeunitRange(0x25d99, 0x25d99), + CodeunitRange(0x25db9, 0x25db9), + CodeunitRange(0x25e0e, 0x25e0e), + CodeunitRange(0x25e49, 0x25e49), + CodeunitRange(0x25e81, 0x25e83), + CodeunitRange(0x25ea6, 0x25ea6), + CodeunitRange(0x25ebc, 0x25ebc), + CodeunitRange(0x25ed7, 0x25ed8), + CodeunitRange(0x25f1a, 0x25f1a), + CodeunitRange(0x25f4b, 0x25f4b), + CodeunitRange(0x25fe1, 0x25fe2), + CodeunitRange(0x26021, 0x26021), + CodeunitRange(0x26029, 0x26029), + CodeunitRange(0x26048, 0x26048), + CodeunitRange(0x26064, 0x26064), + CodeunitRange(0x26083, 0x26083), + CodeunitRange(0x26097, 0x26097), + CodeunitRange(0x260a4, 0x260a5), + CodeunitRange(0x26102, 0x26102), + CodeunitRange(0x26121, 0x26121), + CodeunitRange(0x26159, 0x2615c), + CodeunitRange(0x261ad, 0x261ae), + CodeunitRange(0x261b2, 0x261b2), + CodeunitRange(0x261dd, 0x261dd), + CodeunitRange(0x26258, 0x26258), + CodeunitRange(0x26261, 0x26261), + CodeunitRange(0x2626a, 0x2626b), + CodeunitRange(0x262d0, 0x262d0), + CodeunitRange(0x26335, 0x26335), + CodeunitRange(0x2634b, 0x2634c), + CodeunitRange(0x26351, 0x26351), + CodeunitRange(0x263be, 0x263be), + CodeunitRange(0x263f5, 0x263f5), + CodeunitRange(0x263f8, 0x263f8), + CodeunitRange(0x26402, 0x26402), + CodeunitRange(0x26410, 0x26412), + CodeunitRange(0x2644a, 0x2644a), + CodeunitRange(0x26469, 0x26469), + CodeunitRange(0x26484, 0x26484), + CodeunitRange(0x26488, 0x26489), + CodeunitRange(0x2648d, 0x2648d), + CodeunitRange(0x26498, 0x26498), + CodeunitRange(0x26512, 0x26512), + CodeunitRange(0x26572, 0x26572), + CodeunitRange(0x265a0, 0x265a0), + CodeunitRange(0x265ad, 0x265ad), + CodeunitRange(0x265bf, 0x265bf), + CodeunitRange(0x26612, 0x26612), + CodeunitRange(0x26626, 0x26626), + CodeunitRange(0x266af, 0x266af), + CodeunitRange(0x266b1, 0x266b1), + CodeunitRange(0x266b5, 0x266b5), + CodeunitRange(0x266da, 0x266da), + CodeunitRange(0x266e8, 0x266e8), + CodeunitRange(0x266fc, 0x266fc), + CodeunitRange(0x26716, 0x26716), + CodeunitRange(0x26741, 0x26741), + CodeunitRange(0x26799, 0x26799), + CodeunitRange(0x267b3, 0x267b4), + CodeunitRange(0x267cc, 0x267cc), + CodeunitRange(0x2681c, 0x2681c), + CodeunitRange(0x26846, 0x26846), + CodeunitRange(0x2685e, 0x2685e), + CodeunitRange(0x2686e, 0x2686e), + CodeunitRange(0x26888, 0x26888), + CodeunitRange(0x2688a, 0x2688a), + CodeunitRange(0x26893, 0x26893), + CodeunitRange(0x268c7, 0x268c7), + CodeunitRange(0x2690e, 0x2690e), + CodeunitRange(0x26911, 0x26911), + CodeunitRange(0x26926, 0x26926), + CodeunitRange(0x26939, 0x26939), + CodeunitRange(0x26951, 0x26951), + CodeunitRange(0x269a8, 0x269a8), + CodeunitRange(0x269b5, 0x269b5), + CodeunitRange(0x269f2, 0x269f2), + CodeunitRange(0x269fa, 0x269fa), + CodeunitRange(0x26a2d, 0x26a2e), + CodeunitRange(0x26a34, 0x26a34), + CodeunitRange(0x26a42, 0x26a42), + CodeunitRange(0x26a51, 0x26a52), + CodeunitRange(0x26b05, 0x26b05), + CodeunitRange(0x26b0a, 0x26b0a), + CodeunitRange(0x26b13, 0x26b13), + CodeunitRange(0x26b15, 0x26b15), + CodeunitRange(0x26b23, 0x26b23), + CodeunitRange(0x26b28, 0x26b28), + CodeunitRange(0x26b50, 0x26b53), + CodeunitRange(0x26b5b, 0x26b5b), + CodeunitRange(0x26b75, 0x26b75), + CodeunitRange(0x26b82, 0x26b82), + CodeunitRange(0x26b96, 0x26b97), + CodeunitRange(0x26b9d, 0x26b9d), + CodeunitRange(0x26bb3, 0x26bb3), + CodeunitRange(0x26bc0, 0x26bc0), + CodeunitRange(0x26bf7, 0x26bf7), + CodeunitRange(0x26c21, 0x26c21), + CodeunitRange(0x26c40, 0x26c41), + CodeunitRange(0x26c46, 0x26c46), + CodeunitRange(0x26c7e, 0x26c82), + CodeunitRange(0x26ca4, 0x26ca4), + CodeunitRange(0x26cb7, 0x26cb8), + CodeunitRange(0x26cbd, 0x26cbd), + CodeunitRange(0x26cc0, 0x26cc0), + CodeunitRange(0x26cc3, 0x26cc3), + CodeunitRange(0x26cd1, 0x26cd1), + CodeunitRange(0x26d22, 0x26d2a), + CodeunitRange(0x26d51, 0x26d51), + CodeunitRange(0x26d74, 0x26d74), + CodeunitRange(0x26da0, 0x26da7), + CodeunitRange(0x26dae, 0x26dae), + CodeunitRange(0x26ddc, 0x26ddc), + CodeunitRange(0x26dea, 0x26deb), + CodeunitRange(0x26df0, 0x26df0), + CodeunitRange(0x26e00, 0x26e00), + CodeunitRange(0x26e05, 0x26e05), + CodeunitRange(0x26e07, 0x26e07), + CodeunitRange(0x26e12, 0x26e12), + CodeunitRange(0x26e42, 0x26e45), + CodeunitRange(0x26e6e, 0x26e6e), + CodeunitRange(0x26e72, 0x26e72), + CodeunitRange(0x26e77, 0x26e77), + CodeunitRange(0x26e84, 0x26e84), + CodeunitRange(0x26e88, 0x26e88), + CodeunitRange(0x26e8b, 0x26e8b), + CodeunitRange(0x26e99, 0x26e99), + CodeunitRange(0x26ed0, 0x26ed7), + CodeunitRange(0x26f26, 0x26f26), + CodeunitRange(0x26f73, 0x26f74), + CodeunitRange(0x26f9f, 0x26f9f), + CodeunitRange(0x26fa1, 0x26fa1), + CodeunitRange(0x26fbe, 0x26fbe), + CodeunitRange(0x26fde, 0x26fdf), + CodeunitRange(0x2700e, 0x2700e), + CodeunitRange(0x2704b, 0x2704b), + CodeunitRange(0x27052, 0x27053), + CodeunitRange(0x27088, 0x27088), + CodeunitRange(0x270ad, 0x270af), + CodeunitRange(0x270cd, 0x270cd), + CodeunitRange(0x270d2, 0x270d2), + CodeunitRange(0x270f0, 0x270f0), + CodeunitRange(0x270f8, 0x270f8), + CodeunitRange(0x27109, 0x27109), + CodeunitRange(0x2710c, 0x2710d), + CodeunitRange(0x27126, 0x27127), + CodeunitRange(0x27164, 0x27165), + CodeunitRange(0x27175, 0x27175), + CodeunitRange(0x271cd, 0x271cd), + CodeunitRange(0x2721b, 0x2721b), + CodeunitRange(0x27267, 0x27267), + CodeunitRange(0x27280, 0x27280), + CodeunitRange(0x27285, 0x27285), + CodeunitRange(0x2728b, 0x2728b), + CodeunitRange(0x272b2, 0x272b2), + CodeunitRange(0x272b6, 0x272b6), + CodeunitRange(0x272e6, 0x272e6), + CodeunitRange(0x27352, 0x27352), + CodeunitRange(0x2739a, 0x2739a), + CodeunitRange(0x273ff, 0x273ff), + CodeunitRange(0x27422, 0x27422), + CodeunitRange(0x27450, 0x27450), + CodeunitRange(0x27484, 0x27484), + CodeunitRange(0x27486, 0x27486), + CodeunitRange(0x27574, 0x27574), + CodeunitRange(0x275a3, 0x275a3), + CodeunitRange(0x275e0, 0x275e0), + CodeunitRange(0x275e4, 0x275e4), + CodeunitRange(0x275fd, 0x275fe), + CodeunitRange(0x27607, 0x27607), + CodeunitRange(0x2760c, 0x2760c), + CodeunitRange(0x27632, 0x27632), + CodeunitRange(0x27639, 0x27639), + CodeunitRange(0x27655, 0x27657), + CodeunitRange(0x27694, 0x27694), + CodeunitRange(0x2770f, 0x2770f), + CodeunitRange(0x27735, 0x27736), + CodeunitRange(0x27741, 0x27741), + CodeunitRange(0x2775e, 0x2775e), + CodeunitRange(0x27784, 0x27785), + CodeunitRange(0x277cc, 0x277cc), + CodeunitRange(0x27858, 0x27858), + CodeunitRange(0x27870, 0x27870), + CodeunitRange(0x2789d, 0x2789d), + CodeunitRange(0x278b2, 0x278b2), + CodeunitRange(0x278c8, 0x278c8), + CodeunitRange(0x27924, 0x27924), + CodeunitRange(0x27967, 0x27967), + CodeunitRange(0x2797a, 0x2797a), + CodeunitRange(0x279a0, 0x279a0), + CodeunitRange(0x279dd, 0x279dd), + CodeunitRange(0x279fd, 0x279fd), + CodeunitRange(0x27a0a, 0x27a0a), + CodeunitRange(0x27a0e, 0x27a0e), + CodeunitRange(0x27a3e, 0x27a3e), + CodeunitRange(0x27a53, 0x27a53), + CodeunitRange(0x27a59, 0x27a59), + CodeunitRange(0x27a79, 0x27a79), + CodeunitRange(0x27a84, 0x27a84), + CodeunitRange(0x27abd, 0x27abe), + CodeunitRange(0x27af4, 0x27af4), + CodeunitRange(0x27b06, 0x27b06), + CodeunitRange(0x27b0b, 0x27b0b), + CodeunitRange(0x27b18, 0x27b18), + CodeunitRange(0x27b38, 0x27b3a), + CodeunitRange(0x27b48, 0x27b48), + CodeunitRange(0x27b65, 0x27b65), + CodeunitRange(0x27bef, 0x27bef), + CodeunitRange(0x27bf4, 0x27bf4), + CodeunitRange(0x27c12, 0x27c12), + CodeunitRange(0x27c6c, 0x27c6c), + CodeunitRange(0x27cb1, 0x27cb1), + CodeunitRange(0x27cc5, 0x27cc5), + CodeunitRange(0x27d2f, 0x27d2f), + CodeunitRange(0x27d53, 0x27d54), + CodeunitRange(0x27d66, 0x27d66), + CodeunitRange(0x27d73, 0x27d73), + CodeunitRange(0x27d84, 0x27d84), + CodeunitRange(0x27d8f, 0x27d8f), + CodeunitRange(0x27d98, 0x27d98), + CodeunitRange(0x27dbd, 0x27dbd), + CodeunitRange(0x27ddc, 0x27ddc), + CodeunitRange(0x27e4d, 0x27e4d), + CodeunitRange(0x27e4f, 0x27e4f), + CodeunitRange(0x27f2e, 0x27f2e), + CodeunitRange(0x27fb7, 0x27fb7), + CodeunitRange(0x27ff9, 0x27ff9), + CodeunitRange(0x28002, 0x28002), + CodeunitRange(0x28009, 0x28009), + CodeunitRange(0x2801e, 0x2801e), + CodeunitRange(0x28023, 0x28024), + CodeunitRange(0x28048, 0x28048), + CodeunitRange(0x28083, 0x28083), + CodeunitRange(0x28090, 0x28090), + CodeunitRange(0x280bd, 0x280be), + CodeunitRange(0x280e8, 0x280e9), + CodeunitRange(0x280f4, 0x280f4), + CodeunitRange(0x2812e, 0x2812e), + CodeunitRange(0x2814f, 0x2814f), + CodeunitRange(0x2815d, 0x2815d), + CodeunitRange(0x2816f, 0x2816f), + CodeunitRange(0x28189, 0x28189), + CodeunitRange(0x281af, 0x281af), + CodeunitRange(0x281bc, 0x281bc), + CodeunitRange(0x28207, 0x28207), + CodeunitRange(0x28218, 0x28218), + CodeunitRange(0x2821a, 0x2821a), + CodeunitRange(0x28256, 0x28256), + CodeunitRange(0x2827c, 0x2827c), + CodeunitRange(0x2829b, 0x2829b), + CodeunitRange(0x282cd, 0x282cd), + CodeunitRange(0x282e2, 0x282e2), + CodeunitRange(0x28306, 0x28306), + CodeunitRange(0x28318, 0x28318), + CodeunitRange(0x2832f, 0x2832f), + CodeunitRange(0x2833a, 0x2833a), + CodeunitRange(0x28365, 0x28365), + CodeunitRange(0x2836d, 0x2836d), + CodeunitRange(0x2837d, 0x2837d), + CodeunitRange(0x2838a, 0x2838a), + CodeunitRange(0x28412, 0x28412), + CodeunitRange(0x28468, 0x28468), + CodeunitRange(0x2846c, 0x2846c), + CodeunitRange(0x28473, 0x28473), + CodeunitRange(0x28482, 0x28482), + CodeunitRange(0x28501, 0x28501), + CodeunitRange(0x2853c, 0x2853d), + CodeunitRange(0x2856c, 0x2856c), + CodeunitRange(0x285e8, 0x285e8), + CodeunitRange(0x285f4, 0x285f4), + CodeunitRange(0x28600, 0x28600), + CodeunitRange(0x2860b, 0x2860b), + CodeunitRange(0x28625, 0x28625), + CodeunitRange(0x2863b, 0x2863b), + CodeunitRange(0x286aa, 0x286ab), + CodeunitRange(0x286b2, 0x286b2), + CodeunitRange(0x286bc, 0x286bc), + CodeunitRange(0x286d8, 0x286d8), + CodeunitRange(0x286e6, 0x286e6), + CodeunitRange(0x2870f, 0x2870f), + CodeunitRange(0x28713, 0x28713), + CodeunitRange(0x28804, 0x28804), + CodeunitRange(0x2882b, 0x2882b), + CodeunitRange(0x2890d, 0x2890d), + CodeunitRange(0x28933, 0x28933), + CodeunitRange(0x28948, 0x28949), + CodeunitRange(0x28956, 0x28956), + CodeunitRange(0x28964, 0x28964), + CodeunitRange(0x28968, 0x28968), + CodeunitRange(0x2896c, 0x2896d), + CodeunitRange(0x2897e, 0x2897e), + CodeunitRange(0x28989, 0x28989), + CodeunitRange(0x289a8, 0x289a8), + CodeunitRange(0x289aa, 0x289ab), + CodeunitRange(0x289b8, 0x289b8), + CodeunitRange(0x289bc, 0x289bc), + CodeunitRange(0x289c0, 0x289c0), + CodeunitRange(0x289dc, 0x289dc), + CodeunitRange(0x289de, 0x289de), + CodeunitRange(0x289e1, 0x289e1), + CodeunitRange(0x289e3, 0x289e4), + CodeunitRange(0x289e7, 0x289e8), + CodeunitRange(0x289f9, 0x289fc), + CodeunitRange(0x28a0f, 0x28a0f), + CodeunitRange(0x28a16, 0x28a16), + CodeunitRange(0x28a25, 0x28a25), + CodeunitRange(0x28a29, 0x28a29), + CodeunitRange(0x28a32, 0x28a32), + CodeunitRange(0x28a36, 0x28a36), + CodeunitRange(0x28a44, 0x28a4b), + CodeunitRange(0x28a59, 0x28a5a), + CodeunitRange(0x28a81, 0x28a83), + CodeunitRange(0x28a9a, 0x28a9c), + CodeunitRange(0x28ac0, 0x28ac0), + CodeunitRange(0x28ac6, 0x28ac6), + CodeunitRange(0x28acb, 0x28acc), + CodeunitRange(0x28ace, 0x28ace), + CodeunitRange(0x28ade, 0x28ae3), + CodeunitRange(0x28ae5, 0x28ae5), + CodeunitRange(0x28aea, 0x28aea), + CodeunitRange(0x28afc, 0x28afc), + CodeunitRange(0x28b0c, 0x28b0c), + CodeunitRange(0x28b13, 0x28b13), + CodeunitRange(0x28b21, 0x28b22), + CodeunitRange(0x28b2b, 0x28b2d), + CodeunitRange(0x28b2f, 0x28b2f), + CodeunitRange(0x28b46, 0x28b46), + CodeunitRange(0x28b4c, 0x28b4c), + CodeunitRange(0x28b4e, 0x28b4e), + CodeunitRange(0x28b50, 0x28b50), + CodeunitRange(0x28b63, 0x28b66), + CodeunitRange(0x28b6c, 0x28b6c), + CodeunitRange(0x28b8f, 0x28b8f), + CodeunitRange(0x28b99, 0x28b99), + CodeunitRange(0x28b9c, 0x28b9d), + CodeunitRange(0x28bb9, 0x28bb9), + CodeunitRange(0x28bc2, 0x28bc2), + CodeunitRange(0x28bc5, 0x28bc5), + CodeunitRange(0x28bd4, 0x28bd4), + CodeunitRange(0x28bd7, 0x28bd7), + CodeunitRange(0x28bd9, 0x28bda), + CodeunitRange(0x28be7, 0x28bec), + CodeunitRange(0x28bf5, 0x28bf5), + CodeunitRange(0x28bff, 0x28bff), + CodeunitRange(0x28c03, 0x28c03), + CodeunitRange(0x28c09, 0x28c09), + CodeunitRange(0x28c1c, 0x28c1d), + CodeunitRange(0x28c23, 0x28c23), + CodeunitRange(0x28c26, 0x28c26), + CodeunitRange(0x28c2b, 0x28c2b), + CodeunitRange(0x28c30, 0x28c30), + CodeunitRange(0x28c39, 0x28c39), + CodeunitRange(0x28c3b, 0x28c3b), + CodeunitRange(0x28cca, 0x28cca), + CodeunitRange(0x28ccd, 0x28ccd), + CodeunitRange(0x28cd2, 0x28cd2), + CodeunitRange(0x28d34, 0x28d34), + CodeunitRange(0x28d99, 0x28d99), + CodeunitRange(0x28db9, 0x28db9), + CodeunitRange(0x28e0f, 0x28e0f), + CodeunitRange(0x28e36, 0x28e36), + CodeunitRange(0x28e39, 0x28e39), + CodeunitRange(0x28e65, 0x28e66), + CodeunitRange(0x28e97, 0x28e97), + CodeunitRange(0x28eac, 0x28eac), + CodeunitRange(0x28eb2, 0x28eb3), + CodeunitRange(0x28ed9, 0x28ed9), + CodeunitRange(0x28ee7, 0x28ee7), + CodeunitRange(0x28fc5, 0x28fc5), + CodeunitRange(0x29079, 0x29079), + CodeunitRange(0x29088, 0x29088), + CodeunitRange(0x2908b, 0x2908b), + CodeunitRange(0x29093, 0x29093), + CodeunitRange(0x290af, 0x290b1), + CodeunitRange(0x290c0, 0x290c0), + CodeunitRange(0x290e4, 0x290e5), + CodeunitRange(0x290ec, 0x290ed), + CodeunitRange(0x2910d, 0x2910d), + CodeunitRange(0x29110, 0x29110), + CodeunitRange(0x2913c, 0x2913c), + CodeunitRange(0x2914d, 0x2914d), + CodeunitRange(0x2915b, 0x2915b), + CodeunitRange(0x2915e, 0x2915e), + CodeunitRange(0x29170, 0x29170), + CodeunitRange(0x2919c, 0x2919c), + CodeunitRange(0x291a8, 0x291a8), + CodeunitRange(0x291d5, 0x291d5), + CodeunitRange(0x291eb, 0x291eb), + CodeunitRange(0x2941d, 0x2941d), + CodeunitRange(0x29420, 0x29420), + CodeunitRange(0x29433, 0x29433), + CodeunitRange(0x2943f, 0x2943f), + CodeunitRange(0x29448, 0x29448), + CodeunitRange(0x294d0, 0x294d0), + CodeunitRange(0x294d9, 0x294da), + CodeunitRange(0x294e5, 0x294e5), + CodeunitRange(0x294e7, 0x294e7), + CodeunitRange(0x2959e, 0x2959e), + CodeunitRange(0x295b0, 0x295b0), + CodeunitRange(0x295b8, 0x295b8), + CodeunitRange(0x295d7, 0x295d7), + CodeunitRange(0x295e9, 0x295e9), + CodeunitRange(0x295f4, 0x295f4), + CodeunitRange(0x2967f, 0x2967f), + CodeunitRange(0x29720, 0x29720), + CodeunitRange(0x29732, 0x29732), + CodeunitRange(0x297d4, 0x297d4), + CodeunitRange(0x29810, 0x29810), + CodeunitRange(0x29857, 0x29857), + CodeunitRange(0x298a4, 0x298a4), + CodeunitRange(0x298d1, 0x298d1), + CodeunitRange(0x298ea, 0x298ea), + CodeunitRange(0x298f1, 0x298f1), + CodeunitRange(0x298fa, 0x298fa), + CodeunitRange(0x29903, 0x29903), + CodeunitRange(0x29905, 0x29905), + CodeunitRange(0x2992f, 0x2992f), + CodeunitRange(0x29945, 0x29945), + CodeunitRange(0x29947, 0x29949), + CodeunitRange(0x2995d, 0x2995d), + CodeunitRange(0x2996a, 0x2996a), + CodeunitRange(0x2999d, 0x2999d), + CodeunitRange(0x299c3, 0x299c3), + CodeunitRange(0x299c9, 0x299c9), + CodeunitRange(0x29a28, 0x29a28), + CodeunitRange(0x29a4d, 0x29a4d), + CodeunitRange(0x29b05, 0x29b05), + CodeunitRange(0x29b0e, 0x29b0e), + CodeunitRange(0x29bd5, 0x29bd5), + CodeunitRange(0x29c73, 0x29c73), + CodeunitRange(0x29cad, 0x29cad), + CodeunitRange(0x29d3e, 0x29d3e), + CodeunitRange(0x29d5a, 0x29d5a), + CodeunitRange(0x29d7c, 0x29d7c), + CodeunitRange(0x29d98, 0x29d98), + CodeunitRange(0x29d9b, 0x29d9b), + CodeunitRange(0x29df6, 0x29df6), + CodeunitRange(0x29e06, 0x29e06), + CodeunitRange(0x29e2d, 0x29e2d), + CodeunitRange(0x29e68, 0x29e68), + CodeunitRange(0x29eac, 0x29eac), + CodeunitRange(0x29eb0, 0x29eb0), + CodeunitRange(0x29ec3, 0x29ec3), + CodeunitRange(0x29ef8, 0x29ef8), + CodeunitRange(0x29f23, 0x29f23), + CodeunitRange(0x29f30, 0x29f30), + CodeunitRange(0x29fb7, 0x29fb7), + CodeunitRange(0x29fde, 0x29fde), + CodeunitRange(0x2a014, 0x2a014), + CodeunitRange(0x2a087, 0x2a087), + CodeunitRange(0x2a0b9, 0x2a0b9), + CodeunitRange(0x2a0e1, 0x2a0e1), + CodeunitRange(0x2a0ed, 0x2a0ed), + CodeunitRange(0x2a0f3, 0x2a0f3), + CodeunitRange(0x2a0f8, 0x2a0f8), + CodeunitRange(0x2a0fe, 0x2a0fe), + CodeunitRange(0x2a107, 0x2a107), + CodeunitRange(0x2a123, 0x2a123), + CodeunitRange(0x2a133, 0x2a134), + CodeunitRange(0x2a150, 0x2a150), + CodeunitRange(0x2a192, 0x2a193), + CodeunitRange(0x2a1ab, 0x2a1ab), + CodeunitRange(0x2a1b4, 0x2a1b5), + CodeunitRange(0x2a1df, 0x2a1df), + CodeunitRange(0x2a1f5, 0x2a1f5), + CodeunitRange(0x2a220, 0x2a220), + CodeunitRange(0x2a233, 0x2a233), + CodeunitRange(0x2a293, 0x2a293), + CodeunitRange(0x2a29f, 0x2a29f), + CodeunitRange(0x2a2b2, 0x2a2b2), + CodeunitRange(0x2a2b4, 0x2a2b4), + CodeunitRange(0x2a2b6, 0x2a2b6), + CodeunitRange(0x2a2ba, 0x2a2ba), + CodeunitRange(0x2a2bd, 0x2a2bd), + CodeunitRange(0x2a2df, 0x2a2df), + CodeunitRange(0x2a2ff, 0x2a2ff), + CodeunitRange(0x2a351, 0x2a351), + CodeunitRange(0x2a3a9, 0x2a3a9), + CodeunitRange(0x2a3ed, 0x2a3ed), + CodeunitRange(0x2a434, 0x2a434), + CodeunitRange(0x2a45b, 0x2a45b), + CodeunitRange(0x2a5c6, 0x2a5c6), + CodeunitRange(0x2a5cb, 0x2a5cb), + CodeunitRange(0x2a601, 0x2a601), + CodeunitRange(0x2a632, 0x2a632), + CodeunitRange(0x2a64a, 0x2a64a), + CodeunitRange(0x2a65b, 0x2a65b), + CodeunitRange(0x2a6a9, 0x2a6a9), + CodeunitRange(0x2adff, 0x2adff), + CodeunitRange(0x2d544, 0x2d544), + CodeunitRange(0x2f825, 0x2f825), + CodeunitRange(0x2f83b, 0x2f83b), + CodeunitRange(0x2f840, 0x2f840), + CodeunitRange(0x2f878, 0x2f878), + CodeunitRange(0x2f894, 0x2f894), + CodeunitRange(0x2f8a6, 0x2f8a6), + CodeunitRange(0x2f8cd, 0x2f8cd), + CodeunitRange(0x2f8db, 0x2f8db), + CodeunitRange(0x2f994, 0x2f994), + CodeunitRange(0x2f9b2, 0x2f9b2), + CodeunitRange(0x2f9bc, 0x2f9bc), + CodeunitRange(0x2f9d4, 0x2f9d4), + CodeunitRange(0x30ede, 0x30ede), + CodeunitRange(0x3106c, 0x3106c), + ]), + NotoFont('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1720, 0x1736), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200c), + CodeunitRange(0x108e0, 0x108f2), + CodeunitRange(0x108f4, 0x108f5), + CodeunitRange(0x108fb, 0x108ff), + ]), + NotoFont('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v36/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x591, 0x5c7), + CodeunitRange(0x5d0, 0x5ea), + CodeunitRange(0x5f0, 0x5f4), + CodeunitRange(0x200c, 0x2010), + CodeunitRange(0x20aa, 0x20aa), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xfb1d, 0xfb36), + CodeunitRange(0xfb38, 0xfb3c), + CodeunitRange(0xfb3e, 0xfb3e), + CodeunitRange(0xfb40, 0xfb41), + CodeunitRange(0xfb43, 0xfb44), + CodeunitRange(0xfb46, 0xfb4f), + ]), + NotoFont('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10840, 0x10855), + CodeunitRange(0x10857, 0x1085f), + ]), + NotoFont('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x627, 0x627), + CodeunitRange(0x660, 0x669), + CodeunitRange(0x6f0, 0x6f9), + CodeunitRange(0x1ec71, 0x1ecb4), + ]), + NotoFont('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10b60, 0x10b72), + CodeunitRange(0x10b78, 0x10b7f), + ]), + NotoFont('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10b40, 0x10b55), + CodeunitRange(0x10b58, 0x10b5f), + ]), + NotoFont('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0x103), + CodeunitRange(0x110, 0x113), + CodeunitRange(0x11a, 0x11b), + CodeunitRange(0x128, 0x12b), + CodeunitRange(0x143, 0x144), + CodeunitRange(0x147, 0x148), + CodeunitRange(0x14c, 0x14f), + CodeunitRange(0x152, 0x153), + CodeunitRange(0x168, 0x16d), + CodeunitRange(0x192, 0x192), + CodeunitRange(0x1a0, 0x1a1), + CodeunitRange(0x1af, 0x1b0), + CodeunitRange(0x1cd, 0x1dc), + CodeunitRange(0x1f8, 0x1f9), + CodeunitRange(0x251, 0x251), + CodeunitRange(0x261, 0x261), + CodeunitRange(0x2bb, 0x2bb), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x2c9, 0x2cb), + CodeunitRange(0x2d9, 0x2d9), + CodeunitRange(0x2ea, 0x2eb), + CodeunitRange(0x300, 0x301), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x30c, 0x30c), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3b1, 0x3c9), + CodeunitRange(0x401, 0x401), + CodeunitRange(0x410, 0x44f), + CodeunitRange(0x451, 0x451), + CodeunitRange(0x1e3e, 0x1e3f), + CodeunitRange(0x1ea0, 0x1ef9), + CodeunitRange(0x2002, 0x2003), + CodeunitRange(0x2010, 0x2016), + CodeunitRange(0x2018, 0x201a), + CodeunitRange(0x201c, 0x201e), + CodeunitRange(0x2020, 0x2022), + CodeunitRange(0x2025, 0x2027), + CodeunitRange(0x2030, 0x2030), + CodeunitRange(0x2032, 0x2033), + CodeunitRange(0x2035, 0x2035), + CodeunitRange(0x2039, 0x203c), + CodeunitRange(0x2042, 0x2042), + CodeunitRange(0x2047, 0x2049), + CodeunitRange(0x2051, 0x2051), + CodeunitRange(0x2074, 0x2074), + CodeunitRange(0x20a9, 0x20a9), + CodeunitRange(0x20ab, 0x20ac), + CodeunitRange(0x20dd, 0x20de), + CodeunitRange(0x2100, 0x2100), + CodeunitRange(0x2103, 0x2103), + CodeunitRange(0x2105, 0x2105), + CodeunitRange(0x2109, 0x210a), + CodeunitRange(0x210f, 0x210f), + CodeunitRange(0x2113, 0x2113), + CodeunitRange(0x2116, 0x2116), + CodeunitRange(0x2121, 0x2122), + CodeunitRange(0x2126, 0x2127), + CodeunitRange(0x212b, 0x212b), + CodeunitRange(0x212e, 0x212e), + CodeunitRange(0x2135, 0x2135), + CodeunitRange(0x213b, 0x213b), + CodeunitRange(0x2160, 0x216b), + CodeunitRange(0x2170, 0x217b), + CodeunitRange(0x2190, 0x2199), + CodeunitRange(0x21b8, 0x21b9), + CodeunitRange(0x21c4, 0x21c6), + CodeunitRange(0x21cb, 0x21cc), + CodeunitRange(0x21d0, 0x21d0), + CodeunitRange(0x21d2, 0x21d2), + CodeunitRange(0x21d4, 0x21d4), + CodeunitRange(0x21e6, 0x21e9), + CodeunitRange(0x21f5, 0x21f5), + CodeunitRange(0x2200, 0x2200), + CodeunitRange(0x2202, 0x2203), + CodeunitRange(0x2205, 0x220b), + CodeunitRange(0x220f, 0x220f), + CodeunitRange(0x2211, 0x2213), + CodeunitRange(0x2215, 0x2215), + CodeunitRange(0x221a, 0x221a), + CodeunitRange(0x221d, 0x2220), + CodeunitRange(0x2223, 0x2223), + CodeunitRange(0x2225, 0x222e), + CodeunitRange(0x2234, 0x2237), + CodeunitRange(0x223d, 0x223d), + CodeunitRange(0x2243, 0x2243), + CodeunitRange(0x2245, 0x2245), + CodeunitRange(0x2248, 0x2248), + CodeunitRange(0x224c, 0x224c), + CodeunitRange(0x2252, 0x2252), + CodeunitRange(0x2260, 0x2262), + CodeunitRange(0x2264, 0x2267), + CodeunitRange(0x226a, 0x226b), + CodeunitRange(0x226e, 0x226f), + CodeunitRange(0x2272, 0x2273), + CodeunitRange(0x2276, 0x2277), + CodeunitRange(0x2282, 0x2287), + CodeunitRange(0x228a, 0x228b), + CodeunitRange(0x2295, 0x2299), + CodeunitRange(0x22a0, 0x22a0), + CodeunitRange(0x22a5, 0x22a5), + CodeunitRange(0x22bf, 0x22bf), + CodeunitRange(0x22da, 0x22db), + CodeunitRange(0x22ef, 0x22ef), + CodeunitRange(0x2305, 0x2307), + CodeunitRange(0x2312, 0x2312), + CodeunitRange(0x2318, 0x2318), + CodeunitRange(0x2329, 0x232a), + CodeunitRange(0x23b0, 0x23b1), + CodeunitRange(0x23be, 0x23cc), + CodeunitRange(0x23ce, 0x23ce), + CodeunitRange(0x23da, 0x23db), + CodeunitRange(0x2423, 0x2423), + CodeunitRange(0x2460, 0x25ab), + CodeunitRange(0x25b1, 0x25b3), + CodeunitRange(0x25b6, 0x25b7), + CodeunitRange(0x25bc, 0x25bd), + CodeunitRange(0x25c0, 0x25c1), + CodeunitRange(0x25c6, 0x25cc), + CodeunitRange(0x25ce, 0x25d3), + CodeunitRange(0x25e2, 0x25e6), + CodeunitRange(0x25ef, 0x25ef), + CodeunitRange(0x2600, 0x2603), + CodeunitRange(0x2605, 0x2606), + CodeunitRange(0x2609, 0x2609), + CodeunitRange(0x260e, 0x260f), + CodeunitRange(0x2616, 0x2617), + CodeunitRange(0x261c, 0x261f), + CodeunitRange(0x262f, 0x262f), + CodeunitRange(0x2640, 0x2642), + CodeunitRange(0x2660, 0x266f), + CodeunitRange(0x2672, 0x267d), + CodeunitRange(0x26a0, 0x26a0), + CodeunitRange(0x26bd, 0x26be), + CodeunitRange(0x2702, 0x2702), + CodeunitRange(0x2713, 0x2713), + CodeunitRange(0x271a, 0x271a), + CodeunitRange(0x273d, 0x273d), + CodeunitRange(0x273f, 0x2740), + CodeunitRange(0x2756, 0x2756), + CodeunitRange(0x2776, 0x2793), + CodeunitRange(0x27a1, 0x27a1), + CodeunitRange(0x2934, 0x2935), + CodeunitRange(0x29bf, 0x29bf), + CodeunitRange(0x29fa, 0x29fb), + CodeunitRange(0x2b05, 0x2b07), + CodeunitRange(0x2b1a, 0x2b1a), + CodeunitRange(0x2b95, 0x2b95), + CodeunitRange(0x2e3a, 0x2e3b), + CodeunitRange(0x2e80, 0x2e99), + CodeunitRange(0x2e9b, 0x2ef3), + CodeunitRange(0x2f00, 0x2fd5), + CodeunitRange(0x2ff0, 0x2ffb), + CodeunitRange(0x3000, 0x303f), + CodeunitRange(0x3041, 0x3096), + CodeunitRange(0x3099, 0x30ff), + CodeunitRange(0x3105, 0x312f), + CodeunitRange(0x3131, 0x3163), + CodeunitRange(0x3165, 0x318e), + CodeunitRange(0x3190, 0x31bb), + CodeunitRange(0x31c0, 0x31e3), + CodeunitRange(0x31f0, 0x321e), + CodeunitRange(0x3220, 0x332b), + CodeunitRange(0x332d, 0x33ff), + CodeunitRange(0x3402, 0x3402), + CodeunitRange(0x3405, 0x3406), + CodeunitRange(0x3427, 0x3427), + CodeunitRange(0x342c, 0x342c), + CodeunitRange(0x342e, 0x342e), + CodeunitRange(0x3468, 0x3468), + CodeunitRange(0x346a, 0x346a), + CodeunitRange(0x3488, 0x3488), + CodeunitRange(0x3492, 0x3492), + CodeunitRange(0x34b5, 0x34b5), + CodeunitRange(0x34bc, 0x34bc), + CodeunitRange(0x34c1, 0x34c1), + CodeunitRange(0x34c7, 0x34c7), + CodeunitRange(0x34db, 0x34db), + CodeunitRange(0x351f, 0x351f), + CodeunitRange(0x353e, 0x353e), + CodeunitRange(0x355d, 0x355e), + CodeunitRange(0x3563, 0x3563), + CodeunitRange(0x356e, 0x356e), + CodeunitRange(0x35a6, 0x35a6), + CodeunitRange(0x35a8, 0x35a8), + CodeunitRange(0x35c5, 0x35c5), + CodeunitRange(0x35da, 0x35da), + CodeunitRange(0x35de, 0x35de), + CodeunitRange(0x35f4, 0x35f4), + CodeunitRange(0x3605, 0x3605), + CodeunitRange(0x3614, 0x3614), + CodeunitRange(0x364a, 0x364a), + CodeunitRange(0x3691, 0x3691), + CodeunitRange(0x3696, 0x3696), + CodeunitRange(0x3699, 0x3699), + CodeunitRange(0x36cf, 0x36cf), + CodeunitRange(0x3761, 0x3762), + CodeunitRange(0x376b, 0x376c), + CodeunitRange(0x3775, 0x3775), + CodeunitRange(0x378d, 0x378d), + CodeunitRange(0x37c1, 0x37c1), + CodeunitRange(0x37e2, 0x37e2), + CodeunitRange(0x37e8, 0x37e8), + CodeunitRange(0x37f4, 0x37f4), + CodeunitRange(0x37fd, 0x37fd), + CodeunitRange(0x3800, 0x3800), + CodeunitRange(0x382f, 0x382f), + CodeunitRange(0x3836, 0x3836), + CodeunitRange(0x3840, 0x3840), + CodeunitRange(0x385c, 0x385c), + CodeunitRange(0x3861, 0x3861), + CodeunitRange(0x38a1, 0x38a1), + CodeunitRange(0x38ad, 0x38ad), + CodeunitRange(0x38fa, 0x38fa), + CodeunitRange(0x3917, 0x3917), + CodeunitRange(0x391a, 0x391a), + CodeunitRange(0x396f, 0x396f), + CodeunitRange(0x39a4, 0x39a4), + CodeunitRange(0x39b8, 0x39b8), + CodeunitRange(0x3a5c, 0x3a5c), + CodeunitRange(0x3a6e, 0x3a6e), + CodeunitRange(0x3a73, 0x3a73), + CodeunitRange(0x3a85, 0x3a85), + CodeunitRange(0x3ac4, 0x3ac4), + CodeunitRange(0x3acb, 0x3acb), + CodeunitRange(0x3ad6, 0x3ad7), + CodeunitRange(0x3aea, 0x3aea), + CodeunitRange(0x3af3, 0x3af3), + CodeunitRange(0x3b0e, 0x3b0e), + CodeunitRange(0x3b1a, 0x3b1a), + CodeunitRange(0x3b1c, 0x3b1c), + CodeunitRange(0x3b22, 0x3b22), + CodeunitRange(0x3b35, 0x3b35), + CodeunitRange(0x3b6d, 0x3b6d), + CodeunitRange(0x3b77, 0x3b77), + CodeunitRange(0x3b87, 0x3b88), + CodeunitRange(0x3b8d, 0x3b8d), + CodeunitRange(0x3ba4, 0x3ba4), + CodeunitRange(0x3bb6, 0x3bb6), + CodeunitRange(0x3bc3, 0x3bc3), + CodeunitRange(0x3bcd, 0x3bcd), + CodeunitRange(0x3bf0, 0x3bf0), + CodeunitRange(0x3bf3, 0x3bf3), + CodeunitRange(0x3c0f, 0x3c0f), + CodeunitRange(0x3c26, 0x3c26), + CodeunitRange(0x3cc3, 0x3cc3), + CodeunitRange(0x3cd2, 0x3cd2), + CodeunitRange(0x3d11, 0x3d11), + CodeunitRange(0x3d1e, 0x3d1e), + CodeunitRange(0x3d31, 0x3d31), + CodeunitRange(0x3d4e, 0x3d4e), + CodeunitRange(0x3d64, 0x3d64), + CodeunitRange(0x3d9a, 0x3d9a), + CodeunitRange(0x3dc0, 0x3dc0), + CodeunitRange(0x3dcc, 0x3dcc), + CodeunitRange(0x3dd4, 0x3dd4), + CodeunitRange(0x3e05, 0x3e05), + CodeunitRange(0x3e3f, 0x3e40), + CodeunitRange(0x3e60, 0x3e60), + CodeunitRange(0x3e66, 0x3e66), + CodeunitRange(0x3e68, 0x3e68), + CodeunitRange(0x3e83, 0x3e83), + CodeunitRange(0x3e8a, 0x3e8a), + CodeunitRange(0x3e94, 0x3e94), + CodeunitRange(0x3eda, 0x3eda), + CodeunitRange(0x3f57, 0x3f57), + CodeunitRange(0x3f72, 0x3f72), + CodeunitRange(0x3f75, 0x3f75), + CodeunitRange(0x3f77, 0x3f77), + CodeunitRange(0x3fae, 0x3fae), + CodeunitRange(0x3fb1, 0x3fb1), + CodeunitRange(0x3fc9, 0x3fc9), + CodeunitRange(0x3fd7, 0x3fd7), + CodeunitRange(0x3fdc, 0x3fdc), + CodeunitRange(0x4039, 0x4039), + CodeunitRange(0x4058, 0x4058), + CodeunitRange(0x4093, 0x4093), + CodeunitRange(0x4103, 0x4103), + CodeunitRange(0x4105, 0x4105), + CodeunitRange(0x4148, 0x4148), + CodeunitRange(0x414f, 0x414f), + CodeunitRange(0x4163, 0x4163), + CodeunitRange(0x41b4, 0x41b4), + CodeunitRange(0x41bf, 0x41bf), + CodeunitRange(0x41e6, 0x41e6), + CodeunitRange(0x41ee, 0x41ee), + CodeunitRange(0x41f3, 0x41f3), + CodeunitRange(0x4207, 0x4207), + CodeunitRange(0x420e, 0x420e), + CodeunitRange(0x4264, 0x4264), + CodeunitRange(0x4293, 0x4293), + CodeunitRange(0x42c6, 0x42c6), + CodeunitRange(0x42d6, 0x42d6), + CodeunitRange(0x42dd, 0x42dd), + CodeunitRange(0x4302, 0x4302), + CodeunitRange(0x432b, 0x432b), + CodeunitRange(0x4343, 0x4343), + CodeunitRange(0x43ee, 0x43ee), + CodeunitRange(0x43f0, 0x43f0), + CodeunitRange(0x4408, 0x4408), + CodeunitRange(0x440c, 0x440c), + CodeunitRange(0x4417, 0x4417), + CodeunitRange(0x441c, 0x441c), + CodeunitRange(0x4422, 0x4422), + CodeunitRange(0x4453, 0x4453), + CodeunitRange(0x445b, 0x445b), + CodeunitRange(0x4476, 0x4476), + CodeunitRange(0x447a, 0x447a), + CodeunitRange(0x4491, 0x4491), + CodeunitRange(0x44b3, 0x44b3), + CodeunitRange(0x44be, 0x44be), + CodeunitRange(0x44d4, 0x44d4), + CodeunitRange(0x4508, 0x4508), + CodeunitRange(0x450d, 0x450d), + CodeunitRange(0x4525, 0x4525), + CodeunitRange(0x4543, 0x4543), + CodeunitRange(0x457a, 0x457a), + CodeunitRange(0x459d, 0x459d), + CodeunitRange(0x45b8, 0x45b8), + CodeunitRange(0x45be, 0x45be), + CodeunitRange(0x45e5, 0x45e5), + CodeunitRange(0x45ea, 0x45ea), + CodeunitRange(0x460f, 0x4610), + CodeunitRange(0x4641, 0x4641), + CodeunitRange(0x4665, 0x4665), + CodeunitRange(0x46a1, 0x46a1), + CodeunitRange(0x46ae, 0x46af), + CodeunitRange(0x470c, 0x470c), + CodeunitRange(0x471f, 0x471f), + CodeunitRange(0x4764, 0x4764), + CodeunitRange(0x47e6, 0x47e6), + CodeunitRange(0x47fd, 0x47fd), + CodeunitRange(0x4816, 0x4816), + CodeunitRange(0x481e, 0x481e), + CodeunitRange(0x4844, 0x4844), + CodeunitRange(0x484e, 0x484e), + CodeunitRange(0x48b5, 0x48b5), + CodeunitRange(0x49b0, 0x49b0), + CodeunitRange(0x49e7, 0x49e7), + CodeunitRange(0x49fa, 0x49fa), + CodeunitRange(0x4a04, 0x4a04), + CodeunitRange(0x4a29, 0x4a29), + CodeunitRange(0x4abc, 0x4abc), + CodeunitRange(0x4b38, 0x4b38), + CodeunitRange(0x4b3b, 0x4b3b), + CodeunitRange(0x4b7e, 0x4b7e), + CodeunitRange(0x4bc2, 0x4bc2), + CodeunitRange(0x4bca, 0x4bca), + CodeunitRange(0x4bd2, 0x4bd2), + CodeunitRange(0x4be8, 0x4be8), + CodeunitRange(0x4c17, 0x4c17), + CodeunitRange(0x4c20, 0x4c20), + CodeunitRange(0x4c38, 0x4c38), + CodeunitRange(0x4cc4, 0x4cc4), + CodeunitRange(0x4cd1, 0x4cd1), + CodeunitRange(0x4ce1, 0x4ce1), + CodeunitRange(0x4d07, 0x4d07), + CodeunitRange(0x4d77, 0x4d77), + CodeunitRange(0x4e00, 0x4e05), + CodeunitRange(0x4e07, 0x4e12), + CodeunitRange(0x4e14, 0x4e19), + CodeunitRange(0x4e1e, 0x4e1f), + CodeunitRange(0x4e21, 0x4e21), + CodeunitRange(0x4e23, 0x4e24), + CodeunitRange(0x4e26, 0x4e26), + CodeunitRange(0x4e28, 0x4e32), + CodeunitRange(0x4e35, 0x4e39), + CodeunitRange(0x4e3b, 0x4e3c), + CodeunitRange(0x4e3f, 0x4e45), + CodeunitRange(0x4e47, 0x4e48), + CodeunitRange(0x4e4b, 0x4e4b), + CodeunitRange(0x4e4d, 0x4e4f), + CodeunitRange(0x4e51, 0x4e51), + CodeunitRange(0x4e55, 0x4e5f), + CodeunitRange(0x4e62, 0x4e63), + CodeunitRange(0x4e68, 0x4e69), + CodeunitRange(0x4e71, 0x4e71), + CodeunitRange(0x4e73, 0x4e75), + CodeunitRange(0x4e79, 0x4e79), + CodeunitRange(0x4e7e, 0x4e80), + CodeunitRange(0x4e82, 0x4e82), + CodeunitRange(0x4e85, 0x4e86), + CodeunitRange(0x4e88, 0x4e8e), + CodeunitRange(0x4e91, 0x4e92), + CodeunitRange(0x4e94, 0x4e99), + CodeunitRange(0x4e9b, 0x4ea2), + CodeunitRange(0x4ea4, 0x4ea6), + CodeunitRange(0x4ea8, 0x4ea8), + CodeunitRange(0x4eab, 0x4eb0), + CodeunitRange(0x4eb3, 0x4eb3), + CodeunitRange(0x4eb6, 0x4eb6), + CodeunitRange(0x4eb9, 0x4ebc), + CodeunitRange(0x4ec0, 0x4ec4), + CodeunitRange(0x4ec6, 0x4ec8), + CodeunitRange(0x4eca, 0x4ecb), + CodeunitRange(0x4ecd, 0x4ed0), + CodeunitRange(0x4ed4, 0x4edb), + CodeunitRange(0x4edd, 0x4ee5), + CodeunitRange(0x4ee8, 0x4ee8), + CodeunitRange(0x4eeb, 0x4eeb), + CodeunitRange(0x4eed, 0x4ef3), + CodeunitRange(0x4ef5, 0x4ef7), + CodeunitRange(0x4efb, 0x4f03), + CodeunitRange(0x4f08, 0x4f12), + CodeunitRange(0x4f15, 0x4f17), + CodeunitRange(0x4f19, 0x4f1a), + CodeunitRange(0x4f1c, 0x4f1d), + CodeunitRange(0x4f2b, 0x4f2b), + CodeunitRange(0x4f2e, 0x4f31), + CodeunitRange(0x4f33, 0x4f3e), + CodeunitRange(0x4f40, 0x4f40), + CodeunitRange(0x4f42, 0x4f43), + CodeunitRange(0x4f46, 0x4f49), + CodeunitRange(0x4f4b, 0x4f60), + CodeunitRange(0x4f63, 0x4f64), + CodeunitRange(0x4f69, 0x4f6a), + CodeunitRange(0x4f6c, 0x4f6c), + CodeunitRange(0x4f6e, 0x4f71), + CodeunitRange(0x4f73, 0x4f73), + CodeunitRange(0x4f75, 0x4f7f), + CodeunitRange(0x4f81, 0x4f86), + CodeunitRange(0x4f88, 0x4f94), + CodeunitRange(0x4f96, 0x4f9b), + CodeunitRange(0x4f9d, 0x4fa1), + CodeunitRange(0x4fab, 0x4fab), + CodeunitRange(0x4fad, 0x4faf), + CodeunitRange(0x4fb2, 0x4fb2), + CodeunitRange(0x4fb5, 0x4fb7), + CodeunitRange(0x4fb9, 0x4fb9), + CodeunitRange(0x4fbb, 0x4fc6), + CodeunitRange(0x4fc8, 0x4fd4), + CodeunitRange(0x4fd7, 0x4fd8), + CodeunitRange(0x4fda, 0x4fdd), + CodeunitRange(0x4fdf, 0x4fe6), + CodeunitRange(0x4fee, 0x4ff3), + CodeunitRange(0x4ff5, 0x4ff6), + CodeunitRange(0x4ff8, 0x4ff8), + CodeunitRange(0x4ffa, 0x4ffa), + CodeunitRange(0x4ffc, 0x5002), + CodeunitRange(0x5004, 0x5007), + CodeunitRange(0x5009, 0x5014), + CodeunitRange(0x5016, 0x501f), + CodeunitRange(0x5021, 0x502e), + CodeunitRange(0x5030, 0x5030), + CodeunitRange(0x5032, 0x5033), + CodeunitRange(0x5035, 0x5036), + CodeunitRange(0x5039, 0x5039), + CodeunitRange(0x503b, 0x503b), + CodeunitRange(0x5040, 0x5043), + CodeunitRange(0x5045, 0x504a), + CodeunitRange(0x504c, 0x504c), + CodeunitRange(0x504e, 0x5053), + CodeunitRange(0x5055, 0x5057), + CodeunitRange(0x5059, 0x505a), + CodeunitRange(0x505c, 0x505c), + CodeunitRange(0x505f, 0x5060), + CodeunitRange(0x5062, 0x5063), + CodeunitRange(0x5065, 0x5067), + CodeunitRange(0x506a, 0x506a), + CodeunitRange(0x506c, 0x506d), + CodeunitRange(0x5070, 0x5072), + CodeunitRange(0x5074, 0x5078), + CodeunitRange(0x507d, 0x507d), + CodeunitRange(0x5080, 0x5081), + CodeunitRange(0x5083, 0x5086), + CodeunitRange(0x5088, 0x5088), + CodeunitRange(0x508a, 0x508a), + CodeunitRange(0x508d, 0x5096), + CodeunitRange(0x5098, 0x509c), + CodeunitRange(0x509e, 0x50a3), + CodeunitRange(0x50aa, 0x50aa), + CodeunitRange(0x50ac, 0x50ad), + CodeunitRange(0x50af, 0x50b5), + CodeunitRange(0x50b7, 0x50b7), + CodeunitRange(0x50b9, 0x50bb), + CodeunitRange(0x50bd, 0x50be), + CodeunitRange(0x50c0, 0x50c0), + CodeunitRange(0x50c2, 0x50c5), + CodeunitRange(0x50c7, 0x50c7), + CodeunitRange(0x50c9, 0x50ca), + CodeunitRange(0x50cc, 0x50d1), + CodeunitRange(0x50d3, 0x50d6), + CodeunitRange(0x50d8, 0x50da), + CodeunitRange(0x50dc, 0x50df), + CodeunitRange(0x50e1, 0x50e9), + CodeunitRange(0x50ed, 0x50f6), + CodeunitRange(0x50f9, 0x50fb), + CodeunitRange(0x50fe, 0x50fe), + CodeunitRange(0x5100, 0x5104), + CodeunitRange(0x5106, 0x5109), + CodeunitRange(0x510b, 0x510e), + CodeunitRange(0x5110, 0x5110), + CodeunitRange(0x5112, 0x5112), + CodeunitRange(0x5114, 0x511f), + CodeunitRange(0x5121, 0x5121), + CodeunitRange(0x5123, 0x5123), + CodeunitRange(0x5127, 0x5128), + CodeunitRange(0x512a, 0x512a), + CodeunitRange(0x512c, 0x512d), + CodeunitRange(0x512f, 0x512f), + CodeunitRange(0x5131, 0x5135), + CodeunitRange(0x5137, 0x513c), + CodeunitRange(0x513f, 0x5150), + CodeunitRange(0x5152, 0x5155), + CodeunitRange(0x5157, 0x5158), + CodeunitRange(0x515a, 0x515a), + CodeunitRange(0x515c, 0x515c), + CodeunitRange(0x515f, 0x5160), + CodeunitRange(0x5162, 0x5162), + CodeunitRange(0x5164, 0x516e), + CodeunitRange(0x5171, 0x5171), + CodeunitRange(0x5173, 0x5179), + CodeunitRange(0x517b, 0x517c), + CodeunitRange(0x517e, 0x517e), + CodeunitRange(0x5180, 0x5180), + CodeunitRange(0x5182, 0x5186), + CodeunitRange(0x5189, 0x5193), + CodeunitRange(0x5195, 0x5199), + CodeunitRange(0x519d, 0x519d), + CodeunitRange(0x51a0, 0x51a6), + CodeunitRange(0x51a8, 0x51ad), + CodeunitRange(0x51b0, 0x51b8), + CodeunitRange(0x51ba, 0x51ba), + CodeunitRange(0x51bc, 0x51bf), + CodeunitRange(0x51c2, 0x51c6), + CodeunitRange(0x51c8, 0x51cd), + CodeunitRange(0x51cf, 0x51cf), + CodeunitRange(0x51d1, 0x51d6), + CodeunitRange(0x51d8, 0x51d8), + CodeunitRange(0x51db, 0x51e2), + CodeunitRange(0x51e5, 0x51e7), + CodeunitRange(0x51e9, 0x51ea), + CodeunitRange(0x51ec, 0x51ee), + CodeunitRange(0x51f0, 0x51fa), + CodeunitRange(0x51fd, 0x51fe), + CodeunitRange(0x5200, 0x5208), + CodeunitRange(0x520a, 0x520b), + CodeunitRange(0x520e, 0x520e), + CodeunitRange(0x5211, 0x5218), + CodeunitRange(0x521d, 0x521d), + CodeunitRange(0x5222, 0x5222), + CodeunitRange(0x5224, 0x522b), + CodeunitRange(0x522e, 0x522e), + CodeunitRange(0x5230, 0x5233), + CodeunitRange(0x5235, 0x523c), + CodeunitRange(0x5243, 0x5245), + CodeunitRange(0x5247, 0x5247), + CodeunitRange(0x5249, 0x524d), + CodeunitRange(0x524f, 0x524f), + CodeunitRange(0x5254, 0x5258), + CodeunitRange(0x525a, 0x5261), + CodeunitRange(0x5263, 0x5266), + CodeunitRange(0x5269, 0x526a), + CodeunitRange(0x526c, 0x526c), + CodeunitRange(0x526e, 0x5275), + CodeunitRange(0x5277, 0x5279), + CodeunitRange(0x527d, 0x527d), + CodeunitRange(0x527f, 0x5280), + CodeunitRange(0x5282, 0x5285), + CodeunitRange(0x5287, 0x528a), + CodeunitRange(0x528c, 0x528d), + CodeunitRange(0x5291, 0x5298), + CodeunitRange(0x529a, 0x529c), + CodeunitRange(0x529f, 0x52a0), + CodeunitRange(0x52a3, 0x52a7), + CodeunitRange(0x52a9, 0x52ad), + CodeunitRange(0x52af, 0x52b1), + CodeunitRange(0x52b4, 0x52be), + CodeunitRange(0x52c0, 0x52c1), + CodeunitRange(0x52c3, 0x52ca), + CodeunitRange(0x52cc, 0x52cd), + CodeunitRange(0x52cf, 0x52d2), + CodeunitRange(0x52d4, 0x52d9), + CodeunitRange(0x52db, 0x52ea), + CodeunitRange(0x52ec, 0x52ec), + CodeunitRange(0x52f0, 0x52fb), + CodeunitRange(0x52fe, 0x5303), + CodeunitRange(0x5305, 0x5308), + CodeunitRange(0x530a, 0x530d), + CodeunitRange(0x530f, 0x5311), + CodeunitRange(0x5313, 0x5313), + CodeunitRange(0x5315, 0x5321), + CodeunitRange(0x5323, 0x5325), + CodeunitRange(0x5327, 0x532d), + CodeunitRange(0x532f, 0x5333), + CodeunitRange(0x5335, 0x5335), + CodeunitRange(0x5338, 0x5343), + CodeunitRange(0x5345, 0x534d), + CodeunitRange(0x5351, 0x5354), + CodeunitRange(0x5357, 0x535c), + CodeunitRange(0x535e, 0x535e), + CodeunitRange(0x5360, 0x5361), + CodeunitRange(0x5363, 0x5367), + CodeunitRange(0x5369, 0x5369), + CodeunitRange(0x536c, 0x5375), + CodeunitRange(0x5377, 0x537b), + CodeunitRange(0x537d, 0x537f), + CodeunitRange(0x5382, 0x5384), + CodeunitRange(0x5387, 0x5389), + CodeunitRange(0x538e, 0x538e), + CodeunitRange(0x5393, 0x5394), + CodeunitRange(0x5396, 0x5396), + CodeunitRange(0x5398, 0x539a), + CodeunitRange(0x539d, 0x539d), + CodeunitRange(0x539f, 0x53a1), + CodeunitRange(0x53a4, 0x53a6), + CodeunitRange(0x53a8, 0x53ab), + CodeunitRange(0x53ad, 0x53b0), + CodeunitRange(0x53b2, 0x53b8), + CodeunitRange(0x53ba, 0x53bb), + CodeunitRange(0x53bd, 0x53bd), + CodeunitRange(0x53c0, 0x53c5), + CodeunitRange(0x53c8, 0x53cf), + CodeunitRange(0x53d2, 0x53d7), + CodeunitRange(0x53d9, 0x53db), + CodeunitRange(0x53dd, 0x53f8), + CodeunitRange(0x53fa, 0x53fa), + CodeunitRange(0x5401, 0x5404), + CodeunitRange(0x5408, 0x5413), + CodeunitRange(0x541a, 0x541b), + CodeunitRange(0x541d, 0x5421), + CodeunitRange(0x5424, 0x5424), + CodeunitRange(0x5426, 0x542f), + CodeunitRange(0x5431, 0x5431), + CodeunitRange(0x5433, 0x5436), + CodeunitRange(0x5438, 0x5439), + CodeunitRange(0x543b, 0x5440), + CodeunitRange(0x5442, 0x5444), + CodeunitRange(0x5446, 0x544a), + CodeunitRange(0x544c, 0x544f), + CodeunitRange(0x5451, 0x5451), + CodeunitRange(0x5455, 0x5455), + CodeunitRange(0x545e, 0x545f), + CodeunitRange(0x5462, 0x5462), + CodeunitRange(0x5464, 0x5464), + CodeunitRange(0x5466, 0x546e), + CodeunitRange(0x5470, 0x5471), + CodeunitRange(0x5473, 0x5477), + CodeunitRange(0x547b, 0x547d), + CodeunitRange(0x547f, 0x5481), + CodeunitRange(0x5483, 0x5486), + CodeunitRange(0x5488, 0x5492), + CodeunitRange(0x5495, 0x5496), + CodeunitRange(0x549c, 0x549c), + CodeunitRange(0x549f, 0x54a2), + CodeunitRange(0x54a4, 0x54af), + CodeunitRange(0x54b1, 0x54b3), + CodeunitRange(0x54b7, 0x54c4), + CodeunitRange(0x54c6, 0x54ca), + CodeunitRange(0x54cd, 0x54ce), + CodeunitRange(0x54d8, 0x54d8), + CodeunitRange(0x54e0, 0x54e2), + CodeunitRange(0x54e5, 0x54e6), + CodeunitRange(0x54e8, 0x54ea), + CodeunitRange(0x54ec, 0x54ef), + CodeunitRange(0x54f1, 0x54f3), + CodeunitRange(0x54f6, 0x54f6), + CodeunitRange(0x54fa, 0x54fa), + CodeunitRange(0x54fc, 0x5501), + CodeunitRange(0x5504, 0x5509), + CodeunitRange(0x550c, 0x5510), + CodeunitRange(0x5514, 0x5516), + CodeunitRange(0x5527, 0x5527), + CodeunitRange(0x552a, 0x552b), + CodeunitRange(0x552e, 0x552f), + CodeunitRange(0x5531, 0x5533), + CodeunitRange(0x5535, 0x5536), + CodeunitRange(0x5538, 0x5539), + CodeunitRange(0x553b, 0x553e), + CodeunitRange(0x5540, 0x5541), + CodeunitRange(0x5544, 0x5547), + CodeunitRange(0x5549, 0x554a), + CodeunitRange(0x554c, 0x554d), + CodeunitRange(0x554f, 0x5551), + CodeunitRange(0x5553, 0x5553), + CodeunitRange(0x5556, 0x5558), + CodeunitRange(0x555a, 0x555e), + CodeunitRange(0x5560, 0x5561), + CodeunitRange(0x5563, 0x5564), + CodeunitRange(0x5566, 0x5566), + CodeunitRange(0x557b, 0x5584), + CodeunitRange(0x5586, 0x558b), + CodeunitRange(0x558e, 0x558f), + CodeunitRange(0x5591, 0x5594), + CodeunitRange(0x5597, 0x559a), + CodeunitRange(0x559c, 0x559f), + CodeunitRange(0x55a3, 0x55a4), + CodeunitRange(0x55a7, 0x55ae), + CodeunitRange(0x55b0, 0x55b0), + CodeunitRange(0x55b2, 0x55b2), + CodeunitRange(0x55b6, 0x55b6), + CodeunitRange(0x55bf, 0x55bf), + CodeunitRange(0x55c1, 0x55c1), + CodeunitRange(0x55c3, 0x55c7), + CodeunitRange(0x55c9, 0x55c9), + CodeunitRange(0x55cb, 0x55cc), + CodeunitRange(0x55ce, 0x55ce), + CodeunitRange(0x55d1, 0x55d4), + CodeunitRange(0x55d7, 0x55d8), + CodeunitRange(0x55da, 0x55df), + CodeunitRange(0x55e2, 0x55e4), + CodeunitRange(0x55e9, 0x55e9), + CodeunitRange(0x55ec, 0x55ec), + CodeunitRange(0x55ee, 0x55ee), + CodeunitRange(0x55f1, 0x55f1), + CodeunitRange(0x55f6, 0x55f9), + CodeunitRange(0x55fd, 0x55ff), + CodeunitRange(0x5605, 0x560a), + CodeunitRange(0x560d, 0x5612), + CodeunitRange(0x5614, 0x5614), + CodeunitRange(0x5616, 0x5619), + CodeunitRange(0x561b, 0x561b), + CodeunitRange(0x5620, 0x5620), + CodeunitRange(0x5628, 0x5629), + CodeunitRange(0x562c, 0x562c), + CodeunitRange(0x562f, 0x5639), + CodeunitRange(0x563b, 0x563d), + CodeunitRange(0x563f, 0x5644), + CodeunitRange(0x5646, 0x5647), + CodeunitRange(0x5649, 0x5649), + CodeunitRange(0x564b, 0x5650), + CodeunitRange(0x5653, 0x5654), + CodeunitRange(0x565b, 0x565b), + CodeunitRange(0x565e, 0x565e), + CodeunitRange(0x5660, 0x5664), + CodeunitRange(0x5666, 0x5666), + CodeunitRange(0x5668, 0x566d), + CodeunitRange(0x566f, 0x566f), + CodeunitRange(0x5671, 0x5672), + CodeunitRange(0x5674, 0x5676), + CodeunitRange(0x5678, 0x5678), + CodeunitRange(0x567a, 0x567a), + CodeunitRange(0x5680, 0x5680), + CodeunitRange(0x5684, 0x5688), + CodeunitRange(0x568a, 0x568c), + CodeunitRange(0x568f, 0x568f), + CodeunitRange(0x5694, 0x5695), + CodeunitRange(0x5699, 0x569a), + CodeunitRange(0x569d, 0x56a0), + CodeunitRange(0x56a2, 0x56a2), + CodeunitRange(0x56a5, 0x56a9), + CodeunitRange(0x56ab, 0x56ae), + CodeunitRange(0x56b1, 0x56b4), + CodeunitRange(0x56b6, 0x56b7), + CodeunitRange(0x56bc, 0x56bc), + CodeunitRange(0x56be, 0x56be), + CodeunitRange(0x56c0, 0x56c3), + CodeunitRange(0x56c5, 0x56c5), + CodeunitRange(0x56c8, 0x56d1), + CodeunitRange(0x56d3, 0x56d3), + CodeunitRange(0x56d7, 0x56e1), + CodeunitRange(0x56e3, 0x56e8), + CodeunitRange(0x56eb, 0x56eb), + CodeunitRange(0x56ed, 0x56ee), + CodeunitRange(0x56f0, 0x56f3), + CodeunitRange(0x56f6, 0x56f7), + CodeunitRange(0x56f9, 0x56fa), + CodeunitRange(0x56fd, 0x56fd), + CodeunitRange(0x56ff, 0x5704), + CodeunitRange(0x5707, 0x570d), + CodeunitRange(0x570f, 0x570f), + CodeunitRange(0x5711, 0x5713), + CodeunitRange(0x5715, 0x5716), + CodeunitRange(0x5718, 0x5718), + CodeunitRange(0x571a, 0x571d), + CodeunitRange(0x571f, 0x572a), + CodeunitRange(0x572c, 0x5730), + CodeunitRange(0x5733, 0x5734), + CodeunitRange(0x5737, 0x5738), + CodeunitRange(0x573b, 0x573b), + CodeunitRange(0x573d, 0x5740), + CodeunitRange(0x5742, 0x5742), + CodeunitRange(0x5745, 0x5747), + CodeunitRange(0x574a, 0x574a), + CodeunitRange(0x574c, 0x5752), + CodeunitRange(0x5759, 0x5759), + CodeunitRange(0x575f, 0x575f), + CodeunitRange(0x5761, 0x5762), + CodeunitRange(0x5764, 0x576b), + CodeunitRange(0x576d, 0x5771), + CodeunitRange(0x5773, 0x5775), + CodeunitRange(0x5777, 0x5777), + CodeunitRange(0x5779, 0x577c), + CodeunitRange(0x577e, 0x577f), + CodeunitRange(0x5781, 0x5783), + CodeunitRange(0x5788, 0x5789), + CodeunitRange(0x578b, 0x578c), + CodeunitRange(0x5793, 0x5795), + CodeunitRange(0x5797, 0x5797), + CodeunitRange(0x5799, 0x579a), + CodeunitRange(0x579c, 0x57a4), + CodeunitRange(0x57a7, 0x57aa), + CodeunitRange(0x57ac, 0x57ac), + CodeunitRange(0x57ae, 0x57ae), + CodeunitRange(0x57b0, 0x57b0), + CodeunitRange(0x57b3, 0x57b3), + CodeunitRange(0x57b8, 0x57b8), + CodeunitRange(0x57bd, 0x57bd), + CodeunitRange(0x57c0, 0x57c0), + CodeunitRange(0x57c3, 0x57c3), + CodeunitRange(0x57c6, 0x57c8), + CodeunitRange(0x57cb, 0x57cc), + CodeunitRange(0x57ce, 0x57cf), + CodeunitRange(0x57d2, 0x57d7), + CodeunitRange(0x57dc, 0x57e1), + CodeunitRange(0x57e3, 0x57e4), + CodeunitRange(0x57e6, 0x57e7), + CodeunitRange(0x57e9, 0x57e9), + CodeunitRange(0x57ed, 0x57ed), + CodeunitRange(0x57f0, 0x57f0), + CodeunitRange(0x57f4, 0x5800), + CodeunitRange(0x5802, 0x5806), + CodeunitRange(0x5808, 0x580d), + CodeunitRange(0x5815, 0x5815), + CodeunitRange(0x5819, 0x5819), + CodeunitRange(0x581b, 0x581b), + CodeunitRange(0x581d, 0x5821), + CodeunitRange(0x5824, 0x5824), + CodeunitRange(0x5826, 0x5827), + CodeunitRange(0x582a, 0x582a), + CodeunitRange(0x582d, 0x582d), + CodeunitRange(0x582f, 0x5832), + CodeunitRange(0x5834, 0x5835), + CodeunitRange(0x5839, 0x583a), + CodeunitRange(0x583d, 0x583d), + CodeunitRange(0x583f, 0x5841), + CodeunitRange(0x5849, 0x584d), + CodeunitRange(0x584f, 0x5852), + CodeunitRange(0x5854, 0x5855), + CodeunitRange(0x5857, 0x585a), + CodeunitRange(0x585e, 0x585f), + CodeunitRange(0x5861, 0x5862), + CodeunitRange(0x5864, 0x5864), + CodeunitRange(0x5867, 0x5869), + CodeunitRange(0x586b, 0x586b), + CodeunitRange(0x586d, 0x586d), + CodeunitRange(0x5870, 0x5870), + CodeunitRange(0x5872, 0x5872), + CodeunitRange(0x5875, 0x5875), + CodeunitRange(0x5878, 0x5879), + CodeunitRange(0x587c, 0x587c), + CodeunitRange(0x587e, 0x5881), + CodeunitRange(0x5883, 0x5883), + CodeunitRange(0x5885, 0x5885), + CodeunitRange(0x5887, 0x588d), + CodeunitRange(0x588f, 0x5890), + CodeunitRange(0x5893, 0x5894), + CodeunitRange(0x5896, 0x5898), + CodeunitRange(0x589c, 0x58a2), + CodeunitRange(0x58a6, 0x58a6), + CodeunitRange(0x58a8, 0x58ab), + CodeunitRange(0x58ae, 0x58ae), + CodeunitRange(0x58b1, 0x58b3), + CodeunitRange(0x58b8, 0x58bc), + CodeunitRange(0x58be, 0x58be), + CodeunitRange(0x58c1, 0x58c5), + CodeunitRange(0x58c7, 0x58c8), + CodeunitRange(0x58ca, 0x58ca), + CodeunitRange(0x58cc, 0x58ce), + CodeunitRange(0x58d0, 0x58da), + CodeunitRange(0x58dc, 0x58e2), + CodeunitRange(0x58e4, 0x58e5), + CodeunitRange(0x58e9, 0x58e9), + CodeunitRange(0x58eb, 0x58ec), + CodeunitRange(0x58ee, 0x58f4), + CodeunitRange(0x58f7, 0x58f7), + CodeunitRange(0x58f9, 0x58fd), + CodeunitRange(0x5902, 0x5902), + CodeunitRange(0x5905, 0x5906), + CodeunitRange(0x5909, 0x590d), + CodeunitRange(0x590f, 0x5910), + CodeunitRange(0x5912, 0x5916), + CodeunitRange(0x5918, 0x591d), + CodeunitRange(0x591f, 0x591f), + CodeunitRange(0x5921, 0x5925), + CodeunitRange(0x5927, 0x5933), + CodeunitRange(0x5935, 0x5939), + CodeunitRange(0x593d, 0x593f), + CodeunitRange(0x5943, 0x5944), + CodeunitRange(0x5946, 0x5949), + CodeunitRange(0x594e, 0x5955), + CodeunitRange(0x5957, 0x595b), + CodeunitRange(0x595d, 0x5963), + CodeunitRange(0x5965, 0x5965), + CodeunitRange(0x5967, 0x596f), + CodeunitRange(0x5972, 0x5976), + CodeunitRange(0x5978, 0x5979), + CodeunitRange(0x597b, 0x597d), + CodeunitRange(0x5981, 0x5984), + CodeunitRange(0x598a, 0x598e), + CodeunitRange(0x5992, 0x5993), + CodeunitRange(0x5995, 0x5997), + CodeunitRange(0x5999, 0x5999), + CodeunitRange(0x599b, 0x599b), + CodeunitRange(0x599d, 0x599d), + CodeunitRange(0x599f, 0x599f), + CodeunitRange(0x59a3, 0x59a5), + CodeunitRange(0x59a7, 0x59a8), + CodeunitRange(0x59ac, 0x59b0), + CodeunitRange(0x59b2, 0x59b3), + CodeunitRange(0x59b7, 0x59b7), + CodeunitRange(0x59b9, 0x59bc), + CodeunitRange(0x59be, 0x59be), + CodeunitRange(0x59c1, 0x59c1), + CodeunitRange(0x59c3, 0x59c4), + CodeunitRange(0x59c6, 0x59c6), + CodeunitRange(0x59c8, 0x59cb), + CodeunitRange(0x59cd, 0x59cd), + CodeunitRange(0x59d0, 0x59d4), + CodeunitRange(0x59d9, 0x59da), + CodeunitRange(0x59dc, 0x59df), + CodeunitRange(0x59e3, 0x59e8), + CodeunitRange(0x59ea, 0x59ec), + CodeunitRange(0x59ee, 0x59ef), + CodeunitRange(0x59f1, 0x59f2), + CodeunitRange(0x59f4, 0x59f4), + CodeunitRange(0x59f6, 0x59f8), + CodeunitRange(0x59fb, 0x59fb), + CodeunitRange(0x59ff, 0x5a01), + CodeunitRange(0x5a03, 0x5a04), + CodeunitRange(0x5a09, 0x5a09), + CodeunitRange(0x5a0c, 0x5a0e), + CodeunitRange(0x5a11, 0x5a13), + CodeunitRange(0x5a17, 0x5a18), + CodeunitRange(0x5a1a, 0x5a1c), + CodeunitRange(0x5a1e, 0x5a20), + CodeunitRange(0x5a23, 0x5a25), + CodeunitRange(0x5a27, 0x5a2a), + CodeunitRange(0x5a2d, 0x5a2d), + CodeunitRange(0x5a2f, 0x5a30), + CodeunitRange(0x5a35, 0x5a36), + CodeunitRange(0x5a3c, 0x5a3c), + CodeunitRange(0x5a40, 0x5a41), + CodeunitRange(0x5a44, 0x5a49), + CodeunitRange(0x5a4c, 0x5a4c), + CodeunitRange(0x5a50, 0x5a50), + CodeunitRange(0x5a55, 0x5a55), + CodeunitRange(0x5a5a, 0x5a5a), + CodeunitRange(0x5a5e, 0x5a5e), + CodeunitRange(0x5a62, 0x5a63), + CodeunitRange(0x5a65, 0x5a67), + CodeunitRange(0x5a6a, 0x5a6a), + CodeunitRange(0x5a6c, 0x5a6d), + CodeunitRange(0x5a77, 0x5a77), + CodeunitRange(0x5a7a, 0x5a7b), + CodeunitRange(0x5a7e, 0x5a7f), + CodeunitRange(0x5a84, 0x5a84), + CodeunitRange(0x5a8b, 0x5a8b), + CodeunitRange(0x5a90, 0x5a90), + CodeunitRange(0x5a92, 0x5a93), + CodeunitRange(0x5a96, 0x5a96), + CodeunitRange(0x5a99, 0x5a9c), + CodeunitRange(0x5a9e, 0x5aa0), + CodeunitRange(0x5aa2, 0x5aa2), + CodeunitRange(0x5aa7, 0x5aa7), + CodeunitRange(0x5aac, 0x5aac), + CodeunitRange(0x5ab1, 0x5ab3), + CodeunitRange(0x5ab5, 0x5ab5), + CodeunitRange(0x5ab8, 0x5ab8), + CodeunitRange(0x5aba, 0x5abf), + CodeunitRange(0x5ac1, 0x5ac2), + CodeunitRange(0x5ac4, 0x5ac4), + CodeunitRange(0x5ac6, 0x5ac6), + CodeunitRange(0x5ac8, 0x5ac9), + CodeunitRange(0x5acb, 0x5acc), + CodeunitRange(0x5acf, 0x5ad0), + CodeunitRange(0x5ad6, 0x5ad7), + CodeunitRange(0x5ada, 0x5ada), + CodeunitRange(0x5adc, 0x5adc), + CodeunitRange(0x5ae0, 0x5ae1), + CodeunitRange(0x5ae3, 0x5ae3), + CodeunitRange(0x5ae5, 0x5ae6), + CodeunitRange(0x5ae9, 0x5aea), + CodeunitRange(0x5aee, 0x5aee), + CodeunitRange(0x5af0, 0x5af0), + CodeunitRange(0x5af5, 0x5af6), + CodeunitRange(0x5afa, 0x5afb), + CodeunitRange(0x5afd, 0x5afd), + CodeunitRange(0x5b00, 0x5b01), + CodeunitRange(0x5b08, 0x5b09), + CodeunitRange(0x5b0b, 0x5b0c), + CodeunitRange(0x5b16, 0x5b17), + CodeunitRange(0x5b19, 0x5b19), + CodeunitRange(0x5b1b, 0x5b1b), + CodeunitRange(0x5b1d, 0x5b1d), + CodeunitRange(0x5b21, 0x5b22), + CodeunitRange(0x5b25, 0x5b25), + CodeunitRange(0x5b2a, 0x5b2a), + CodeunitRange(0x5b2c, 0x5b2d), + CodeunitRange(0x5b30, 0x5b30), + CodeunitRange(0x5b32, 0x5b32), + CodeunitRange(0x5b34, 0x5b34), + CodeunitRange(0x5b36, 0x5b36), + CodeunitRange(0x5b38, 0x5b38), + CodeunitRange(0x5b3e, 0x5b3e), + CodeunitRange(0x5b40, 0x5b41), + CodeunitRange(0x5b43, 0x5b43), + CodeunitRange(0x5b45, 0x5b45), + CodeunitRange(0x5b4b, 0x5b4c), + CodeunitRange(0x5b50, 0x5b52), + CodeunitRange(0x5b54, 0x5b58), + CodeunitRange(0x5b5a, 0x5b5f), + CodeunitRange(0x5b63, 0x5b66), + CodeunitRange(0x5b68, 0x5b69), + CodeunitRange(0x5b6b, 0x5b6b), + CodeunitRange(0x5b6e, 0x5b71), + CodeunitRange(0x5b73, 0x5b73), + CodeunitRange(0x5b75, 0x5b76), + CodeunitRange(0x5b78, 0x5b78), + CodeunitRange(0x5b7a, 0x5b7a), + CodeunitRange(0x5b7c, 0x5b91), + CodeunitRange(0x5b93, 0x5b9d), + CodeunitRange(0x5b9f, 0x5b9f), + CodeunitRange(0x5ba2, 0x5ba6), + CodeunitRange(0x5ba8, 0x5ba9), + CodeunitRange(0x5bac, 0x5bba), + CodeunitRange(0x5bbc, 0x5bbc), + CodeunitRange(0x5bbf, 0x5bc7), + CodeunitRange(0x5bc9, 0x5bc9), + CodeunitRange(0x5bcc, 0x5bd0), + CodeunitRange(0x5bd2, 0x5bd4), + CodeunitRange(0x5bd6, 0x5bdb), + CodeunitRange(0x5bdd, 0x5be2), + CodeunitRange(0x5be4, 0x5be9), + CodeunitRange(0x5beb, 0x5bec), + CodeunitRange(0x5bee, 0x5bf1), + CodeunitRange(0x5bf3, 0x5bf6), + CodeunitRange(0x5bf8, 0x5bf8), + CodeunitRange(0x5bfa, 0x5bfa), + CodeunitRange(0x5bfd, 0x5bff), + CodeunitRange(0x5c01, 0x5c0f), + CodeunitRange(0x5c11, 0x5c14), + CodeunitRange(0x5c16, 0x5c17), + CodeunitRange(0x5c19, 0x5c1a), + CodeunitRange(0x5c1e, 0x5c20), + CodeunitRange(0x5c22, 0x5c24), + CodeunitRange(0x5c26, 0x5c26), + CodeunitRange(0x5c28, 0x5c2e), + CodeunitRange(0x5c30, 0x5c32), + CodeunitRange(0x5c35, 0x5c36), + CodeunitRange(0x5c38, 0x5c41), + CodeunitRange(0x5c45, 0x5c46), + CodeunitRange(0x5c48, 0x5c48), + CodeunitRange(0x5c4a, 0x5c4b), + CodeunitRange(0x5c4d, 0x5c51), + CodeunitRange(0x5c53, 0x5c53), + CodeunitRange(0x5c55, 0x5c55), + CodeunitRange(0x5c59, 0x5c5c), + CodeunitRange(0x5c5e, 0x5c65), + CodeunitRange(0x5c67, 0x5c69), + CodeunitRange(0x5c6c, 0x5c71), + CodeunitRange(0x5c74, 0x5c76), + CodeunitRange(0x5c79, 0x5c7d), + CodeunitRange(0x5c87, 0x5c88), + CodeunitRange(0x5c8a, 0x5c8a), + CodeunitRange(0x5c8c, 0x5c8c), + CodeunitRange(0x5c8f, 0x5c92), + CodeunitRange(0x5c94, 0x5c94), + CodeunitRange(0x5c9d, 0x5c9d), + CodeunitRange(0x5c9f, 0x5ca3), + CodeunitRange(0x5ca6, 0x5cad), + CodeunitRange(0x5cb1, 0x5cb8), + CodeunitRange(0x5cba, 0x5cbc), + CodeunitRange(0x5cbe, 0x5cbe), + CodeunitRange(0x5cc5, 0x5cc5), + CodeunitRange(0x5cc7, 0x5cc7), + CodeunitRange(0x5cc9, 0x5cc9), + CodeunitRange(0x5ccb, 0x5ccb), + CodeunitRange(0x5cd0, 0x5cd0), + CodeunitRange(0x5cd2, 0x5cd2), + CodeunitRange(0x5cd7, 0x5cd7), + CodeunitRange(0x5cd9, 0x5cd9), + CodeunitRange(0x5cdd, 0x5cdd), + CodeunitRange(0x5ce0, 0x5ce1), + CodeunitRange(0x5ce6, 0x5ce6), + CodeunitRange(0x5ce8, 0x5cea), + CodeunitRange(0x5ced, 0x5cf2), + CodeunitRange(0x5cf4, 0x5cf6), + CodeunitRange(0x5cfa, 0x5cfb), + CodeunitRange(0x5cfd, 0x5cfd), + CodeunitRange(0x5d01, 0x5d01), + CodeunitRange(0x5d06, 0x5d07), + CodeunitRange(0x5d0b, 0x5d0b), + CodeunitRange(0x5d0d, 0x5d0e), + CodeunitRange(0x5d10, 0x5d12), + CodeunitRange(0x5d14, 0x5d1b), + CodeunitRange(0x5d1d, 0x5d1d), + CodeunitRange(0x5d1f, 0x5d20), + CodeunitRange(0x5d22, 0x5d24), + CodeunitRange(0x5d26, 0x5d27), + CodeunitRange(0x5d29, 0x5d29), + CodeunitRange(0x5d2b, 0x5d2b), + CodeunitRange(0x5d31, 0x5d31), + CodeunitRange(0x5d34, 0x5d34), + CodeunitRange(0x5d39, 0x5d39), + CodeunitRange(0x5d3d, 0x5d3d), + CodeunitRange(0x5d3f, 0x5d3f), + CodeunitRange(0x5d42, 0x5d43), + CodeunitRange(0x5d46, 0x5d48), + CodeunitRange(0x5d4a, 0x5d4c), + CodeunitRange(0x5d4e, 0x5d4e), + CodeunitRange(0x5d50, 0x5d53), + CodeunitRange(0x5d55, 0x5d55), + CodeunitRange(0x5d59, 0x5d59), + CodeunitRange(0x5d5c, 0x5d5c), + CodeunitRange(0x5d5f, 0x5d62), + CodeunitRange(0x5d64, 0x5d64), + CodeunitRange(0x5d69, 0x5d6a), + CodeunitRange(0x5d6c, 0x5d6d), + CodeunitRange(0x5d6f, 0x5d70), + CodeunitRange(0x5d73, 0x5d73), + CodeunitRange(0x5d76, 0x5d76), + CodeunitRange(0x5d79, 0x5d7a), + CodeunitRange(0x5d7e, 0x5d7f), + CodeunitRange(0x5d81, 0x5d84), + CodeunitRange(0x5d87, 0x5d88), + CodeunitRange(0x5d8a, 0x5d8c), + CodeunitRange(0x5d90, 0x5d90), + CodeunitRange(0x5d92, 0x5d95), + CodeunitRange(0x5d97, 0x5d97), + CodeunitRange(0x5d99, 0x5d99), + CodeunitRange(0x5d9b, 0x5d9b), + CodeunitRange(0x5d9d, 0x5d9d), + CodeunitRange(0x5d9f, 0x5da0), + CodeunitRange(0x5da2, 0x5da2), + CodeunitRange(0x5da4, 0x5da4), + CodeunitRange(0x5da7, 0x5da7), + CodeunitRange(0x5dab, 0x5dac), + CodeunitRange(0x5dae, 0x5dae), + CodeunitRange(0x5db0, 0x5db0), + CodeunitRange(0x5db2, 0x5db2), + CodeunitRange(0x5db4, 0x5db4), + CodeunitRange(0x5db7, 0x5dba), + CodeunitRange(0x5dbc, 0x5dbd), + CodeunitRange(0x5dc3, 0x5dc3), + CodeunitRange(0x5dc7, 0x5dc7), + CodeunitRange(0x5dc9, 0x5dc9), + CodeunitRange(0x5dcb, 0x5dce), + CodeunitRange(0x5dd0, 0x5dd3), + CodeunitRange(0x5dd6, 0x5dd9), + CodeunitRange(0x5ddb, 0x5ddb), + CodeunitRange(0x5ddd, 0x5dde), + CodeunitRange(0x5de0, 0x5de9), + CodeunitRange(0x5deb, 0x5deb), + CodeunitRange(0x5dee, 0x5dee), + CodeunitRange(0x5df1, 0x5df5), + CodeunitRange(0x5df7, 0x5df9), + CodeunitRange(0x5dfb, 0x5dfb), + CodeunitRange(0x5dfd, 0x5e00), + CodeunitRange(0x5e02, 0x5e03), + CodeunitRange(0x5e06, 0x5e07), + CodeunitRange(0x5e0b, 0x5e0d), + CodeunitRange(0x5e11, 0x5e12), + CodeunitRange(0x5e14, 0x5e16), + CodeunitRange(0x5e18, 0x5e1b), + CodeunitRange(0x5e1d, 0x5e1d), + CodeunitRange(0x5e1f, 0x5e20), + CodeunitRange(0x5e25, 0x5e25), + CodeunitRange(0x5e28, 0x5e28), + CodeunitRange(0x5e2b, 0x5e2b), + CodeunitRange(0x5e2d, 0x5e30), + CodeunitRange(0x5e32, 0x5e33), + CodeunitRange(0x5e35, 0x5e38), + CodeunitRange(0x5e3d, 0x5e3e), + CodeunitRange(0x5e40, 0x5e40), + CodeunitRange(0x5e43, 0x5e45), + CodeunitRange(0x5e47, 0x5e47), + CodeunitRange(0x5e49, 0x5e49), + CodeunitRange(0x5e4b, 0x5e4c), + CodeunitRange(0x5e4e, 0x5e4e), + CodeunitRange(0x5e50, 0x5e51), + CodeunitRange(0x5e54, 0x5e58), + CodeunitRange(0x5e5b, 0x5e5c), + CodeunitRange(0x5e5e, 0x5e5f), + CodeunitRange(0x5e61, 0x5e64), + CodeunitRange(0x5e68, 0x5e68), + CodeunitRange(0x5e6a, 0x5e6e), + CodeunitRange(0x5e70, 0x5e70), + CodeunitRange(0x5e72, 0x5e81), + CodeunitRange(0x5e83, 0x5e84), + CodeunitRange(0x5e87, 0x5e87), + CodeunitRange(0x5e8a, 0x5e8b), + CodeunitRange(0x5e8e, 0x5e8f), + CodeunitRange(0x5e95, 0x5e97), + CodeunitRange(0x5e99, 0x5e9a), + CodeunitRange(0x5e9c, 0x5e9c), + CodeunitRange(0x5ea0, 0x5ea0), + CodeunitRange(0x5ea2, 0x5ea2), + CodeunitRange(0x5ea4, 0x5ea8), + CodeunitRange(0x5eaa, 0x5ead), + CodeunitRange(0x5eb1, 0x5eb1), + CodeunitRange(0x5eb3, 0x5eb3), + CodeunitRange(0x5eb5, 0x5eb9), + CodeunitRange(0x5ebd, 0x5ebf), + CodeunitRange(0x5ec1, 0x5ec3), + CodeunitRange(0x5ec6, 0x5ec6), + CodeunitRange(0x5ec8, 0x5ecc), + CodeunitRange(0x5ece, 0x5ed6), + CodeunitRange(0x5ed9, 0x5ee3), + CodeunitRange(0x5ee5, 0x5ee5), + CodeunitRange(0x5ee8, 0x5ee9), + CodeunitRange(0x5eeb, 0x5eec), + CodeunitRange(0x5ef0, 0x5ef1), + CodeunitRange(0x5ef3, 0x5ef4), + CodeunitRange(0x5ef6, 0x5f04), + CodeunitRange(0x5f06, 0x5f11), + CodeunitRange(0x5f13, 0x5f19), + CodeunitRange(0x5f1b, 0x5f1f), + CodeunitRange(0x5f21, 0x5f29), + CodeunitRange(0x5f2b, 0x5f31), + CodeunitRange(0x5f34, 0x5f38), + CodeunitRange(0x5f3a, 0x5f41), + CodeunitRange(0x5f44, 0x5f45), + CodeunitRange(0x5f47, 0x5f48), + CodeunitRange(0x5f4a, 0x5f4a), + CodeunitRange(0x5f4c, 0x5f4e), + CodeunitRange(0x5f50, 0x5f51), + CodeunitRange(0x5f53, 0x5f54), + CodeunitRange(0x5f56, 0x5f59), + CodeunitRange(0x5f5b, 0x5f5d), + CodeunitRange(0x5f60, 0x5f67), + CodeunitRange(0x5f69, 0x5f6d), + CodeunitRange(0x5f6f, 0x5f75), + CodeunitRange(0x5f77, 0x5f7a), + CodeunitRange(0x5f7c, 0x5f85), + CodeunitRange(0x5f87, 0x5f8d), + CodeunitRange(0x5f8f, 0x5f93), + CodeunitRange(0x5f96, 0x5f99), + CodeunitRange(0x5f9c, 0x5f9e), + CodeunitRange(0x5fa0, 0x5fa2), + CodeunitRange(0x5fa4, 0x5fa4), + CodeunitRange(0x5fa7, 0x5fb1), + CodeunitRange(0x5fb3, 0x5fb5), + CodeunitRange(0x5fb7, 0x5fb9), + CodeunitRange(0x5fbc, 0x5fbd), + CodeunitRange(0x5fc3, 0x5fc5), + CodeunitRange(0x5fc7, 0x5fc9), + CodeunitRange(0x5fcb, 0x5fcd), + CodeunitRange(0x5fd0, 0x5fd4), + CodeunitRange(0x5fd6, 0x5fd9), + CodeunitRange(0x5fdc, 0x5fde), + CodeunitRange(0x5fe0, 0x5fe2), + CodeunitRange(0x5fe4, 0x5fe4), + CodeunitRange(0x5fe8, 0x5ff3), + CodeunitRange(0x5ff5, 0x5ff6), + CodeunitRange(0x5ff8, 0x5ff8), + CodeunitRange(0x5ffa, 0x5ffd), + CodeunitRange(0x5fff, 0x5fff), + CodeunitRange(0x6007, 0x6007), + CodeunitRange(0x600a, 0x600a), + CodeunitRange(0x600d, 0x6010), + CodeunitRange(0x6012, 0x601d), + CodeunitRange(0x601f, 0x6022), + CodeunitRange(0x6024, 0x602b), + CodeunitRange(0x602d, 0x602d), + CodeunitRange(0x602f, 0x602f), + CodeunitRange(0x6031, 0x6031), + CodeunitRange(0x6033, 0x6033), + CodeunitRange(0x6035, 0x6035), + CodeunitRange(0x603a, 0x603a), + CodeunitRange(0x6040, 0x6043), + CodeunitRange(0x6046, 0x604d), + CodeunitRange(0x6050, 0x6052), + CodeunitRange(0x6054, 0x6057), + CodeunitRange(0x6059, 0x605a), + CodeunitRange(0x605d, 0x605d), + CodeunitRange(0x605f, 0x6065), + CodeunitRange(0x6067, 0x606d), + CodeunitRange(0x606f, 0x6071), + CodeunitRange(0x6075, 0x6075), + CodeunitRange(0x6077, 0x6077), + CodeunitRange(0x607e, 0x607f), + CodeunitRange(0x6081, 0x6086), + CodeunitRange(0x6088, 0x608e), + CodeunitRange(0x6091, 0x6098), + CodeunitRange(0x609a, 0x609b), + CodeunitRange(0x609d, 0x60a0), + CodeunitRange(0x60a2, 0x60aa), + CodeunitRange(0x60b0, 0x60b8), + CodeunitRange(0x60bb, 0x60be), + CodeunitRange(0x60c2, 0x60c2), + CodeunitRange(0x60c4, 0x60cb), + CodeunitRange(0x60ce, 0x60cf), + CodeunitRange(0x60d1, 0x60d1), + CodeunitRange(0x60d3, 0x60d5), + CodeunitRange(0x60d8, 0x60e3), + CodeunitRange(0x60e5, 0x60e5), + CodeunitRange(0x60e7, 0x60e8), + CodeunitRange(0x60ee, 0x60ee), + CodeunitRange(0x60f0, 0x60fd), + CodeunitRange(0x6100, 0x6103), + CodeunitRange(0x6106, 0x610a), + CodeunitRange(0x610c, 0x6117), + CodeunitRange(0x6119, 0x611c), + CodeunitRange(0x611e, 0x6122), + CodeunitRange(0x6127, 0x6128), + CodeunitRange(0x612a, 0x612c), + CodeunitRange(0x6130, 0x6131), + CodeunitRange(0x6134, 0x6137), + CodeunitRange(0x6139, 0x613a), + CodeunitRange(0x613c, 0x613f), + CodeunitRange(0x6141, 0x6142), + CodeunitRange(0x6144, 0x614e), + CodeunitRange(0x6153, 0x6153), + CodeunitRange(0x6155, 0x6155), + CodeunitRange(0x6158, 0x615a), + CodeunitRange(0x615d, 0x6160), + CodeunitRange(0x6162, 0x6165), + CodeunitRange(0x6167, 0x6168), + CodeunitRange(0x616b, 0x616c), + CodeunitRange(0x616e, 0x6178), + CodeunitRange(0x617b, 0x6184), + CodeunitRange(0x6187, 0x6187), + CodeunitRange(0x618a, 0x618b), + CodeunitRange(0x618d, 0x618e), + CodeunitRange(0x6190, 0x6194), + CodeunitRange(0x6196, 0x619a), + CodeunitRange(0x619c, 0x619d), + CodeunitRange(0x619f, 0x61a0), + CodeunitRange(0x61a4, 0x61a5), + CodeunitRange(0x61a7, 0x61ae), + CodeunitRange(0x61b2, 0x61b2), + CodeunitRange(0x61b6, 0x61b6), + CodeunitRange(0x61b8, 0x61ba), + CodeunitRange(0x61bc, 0x61bc), + CodeunitRange(0x61be, 0x61be), + CodeunitRange(0x61c0, 0x61c3), + CodeunitRange(0x61c6, 0x61d0), + CodeunitRange(0x61d5, 0x61d5), + CodeunitRange(0x61dc, 0x61df), + CodeunitRange(0x61e1, 0x61e3), + CodeunitRange(0x61e5, 0x61e9), + CodeunitRange(0x61ec, 0x61ed), + CodeunitRange(0x61ef, 0x61ef), + CodeunitRange(0x61f2, 0x61f2), + CodeunitRange(0x61f4, 0x61f8), + CodeunitRange(0x61fa, 0x61fa), + CodeunitRange(0x61fc, 0x6201), + CodeunitRange(0x6203, 0x6204), + CodeunitRange(0x6207, 0x620a), + CodeunitRange(0x620c, 0x620e), + CodeunitRange(0x6210, 0x6216), + CodeunitRange(0x621a, 0x6223), + CodeunitRange(0x6226, 0x6227), + CodeunitRange(0x6229, 0x622b), + CodeunitRange(0x622e, 0x6234), + CodeunitRange(0x6236, 0x6236), + CodeunitRange(0x6238, 0x6239), + CodeunitRange(0x623b, 0x623b), + CodeunitRange(0x623d, 0x6244), + CodeunitRange(0x6246, 0x6249), + CodeunitRange(0x624b, 0x624e), + CodeunitRange(0x6250, 0x6256), + CodeunitRange(0x6258, 0x6258), + CodeunitRange(0x625a, 0x625c), + CodeunitRange(0x625e, 0x625e), + CodeunitRange(0x6260, 0x6261), + CodeunitRange(0x6263, 0x6264), + CodeunitRange(0x6268, 0x6268), + CodeunitRange(0x626d, 0x626f), + CodeunitRange(0x6271, 0x6271), + CodeunitRange(0x6273, 0x6273), + CodeunitRange(0x6276, 0x6276), + CodeunitRange(0x6279, 0x6280), + CodeunitRange(0x6282, 0x6285), + CodeunitRange(0x6289, 0x628a), + CodeunitRange(0x628d, 0x6299), + CodeunitRange(0x629b, 0x629c), + CodeunitRange(0x629e, 0x629e), + CodeunitRange(0x62a6, 0x62a6), + CodeunitRange(0x62a8, 0x62a8), + CodeunitRange(0x62ab, 0x62ac), + CodeunitRange(0x62b1, 0x62b1), + CodeunitRange(0x62b3, 0x62b3), + CodeunitRange(0x62b5, 0x62b7), + CodeunitRange(0x62b9, 0x62bf), + CodeunitRange(0x62c2, 0x62c2), + CodeunitRange(0x62c4, 0x62ca), + CodeunitRange(0x62cc, 0x62dd), + CodeunitRange(0x62e0, 0x62e1), + CodeunitRange(0x62ea, 0x62ea), + CodeunitRange(0x62ec, 0x62ef), + CodeunitRange(0x62f1, 0x62f7), + CodeunitRange(0x62fc, 0x62ff), + CodeunitRange(0x6301, 0x6304), + CodeunitRange(0x6307, 0x630d), + CodeunitRange(0x6310, 0x6311), + CodeunitRange(0x6313, 0x6313), + CodeunitRange(0x6316, 0x6316), + CodeunitRange(0x6318, 0x6319), + CodeunitRange(0x631b, 0x631b), + CodeunitRange(0x631f, 0x631f), + CodeunitRange(0x6327, 0x632b), + CodeunitRange(0x632d, 0x632d), + CodeunitRange(0x632f, 0x632f), + CodeunitRange(0x6332, 0x6332), + CodeunitRange(0x6335, 0x6336), + CodeunitRange(0x6339, 0x633f), + CodeunitRange(0x6341, 0x6344), + CodeunitRange(0x6346, 0x6346), + CodeunitRange(0x6349, 0x6350), + CodeunitRange(0x6352, 0x6355), + CodeunitRange(0x6357, 0x6359), + CodeunitRange(0x635b, 0x635c), + CodeunitRange(0x6365, 0x6369), + CodeunitRange(0x636b, 0x636e), + CodeunitRange(0x6371, 0x6372), + CodeunitRange(0x6374, 0x6378), + CodeunitRange(0x637a, 0x637d), + CodeunitRange(0x637f, 0x6380), + CodeunitRange(0x6382, 0x6384), + CodeunitRange(0x6387, 0x638a), + CodeunitRange(0x638c, 0x638c), + CodeunitRange(0x638e, 0x6390), + CodeunitRange(0x6392, 0x6392), + CodeunitRange(0x6394, 0x6396), + CodeunitRange(0x6398, 0x639b), + CodeunitRange(0x639e, 0x63af), + CodeunitRange(0x63b2, 0x63b2), + CodeunitRange(0x63b4, 0x63b5), + CodeunitRange(0x63bb, 0x63bb), + CodeunitRange(0x63bd, 0x63be), + CodeunitRange(0x63c0, 0x63c1), + CodeunitRange(0x63c3, 0x63c6), + CodeunitRange(0x63c8, 0x63c9), + CodeunitRange(0x63ce, 0x63d6), + CodeunitRange(0x63da, 0x63dc), + CodeunitRange(0x63e0, 0x63e1), + CodeunitRange(0x63e3, 0x63e3), + CodeunitRange(0x63e5, 0x63e5), + CodeunitRange(0x63e9, 0x63ee), + CodeunitRange(0x63f2, 0x63fa), + CodeunitRange(0x6406, 0x6406), + CodeunitRange(0x6409, 0x640a), + CodeunitRange(0x640d, 0x640d), + CodeunitRange(0x640f, 0x6410), + CodeunitRange(0x6412, 0x6414), + CodeunitRange(0x6416, 0x6418), + CodeunitRange(0x641c, 0x641c), + CodeunitRange(0x641e, 0x641e), + CodeunitRange(0x6420, 0x6420), + CodeunitRange(0x6422, 0x6422), + CodeunitRange(0x6424, 0x6426), + CodeunitRange(0x6428, 0x642a), + CodeunitRange(0x642c, 0x642d), + CodeunitRange(0x642f, 0x6430), + CodeunitRange(0x6434, 0x6436), + CodeunitRange(0x643a, 0x643a), + CodeunitRange(0x643d, 0x643f), + CodeunitRange(0x6442, 0x6442), + CodeunitRange(0x644b, 0x644b), + CodeunitRange(0x644e, 0x644f), + CodeunitRange(0x6451, 0x6454), + CodeunitRange(0x6458, 0x6458), + CodeunitRange(0x645a, 0x645d), + CodeunitRange(0x645f, 0x6461), + CodeunitRange(0x6463, 0x6463), + CodeunitRange(0x6467, 0x6467), + CodeunitRange(0x6469, 0x6469), + CodeunitRange(0x646d, 0x646d), + CodeunitRange(0x646f, 0x646f), + CodeunitRange(0x6473, 0x6474), + CodeunitRange(0x6476, 0x6476), + CodeunitRange(0x6478, 0x647b), + CodeunitRange(0x647d, 0x647d), + CodeunitRange(0x6483, 0x6483), + CodeunitRange(0x6485, 0x6485), + CodeunitRange(0x6487, 0x6488), + CodeunitRange(0x648f, 0x6493), + CodeunitRange(0x6495, 0x6495), + CodeunitRange(0x6498, 0x649b), + CodeunitRange(0x649d, 0x649f), + CodeunitRange(0x64a1, 0x64a1), + CodeunitRange(0x64a3, 0x64a6), + CodeunitRange(0x64a8, 0x64a9), + CodeunitRange(0x64ab, 0x64ae), + CodeunitRange(0x64b0, 0x64b0), + CodeunitRange(0x64b2, 0x64b3), + CodeunitRange(0x64b9, 0x64b9), + CodeunitRange(0x64bb, 0x64bf), + CodeunitRange(0x64c1, 0x64c2), + CodeunitRange(0x64c4, 0x64c5), + CodeunitRange(0x64c7, 0x64c7), + CodeunitRange(0x64c9, 0x64ce), + CodeunitRange(0x64d0, 0x64d2), + CodeunitRange(0x64d4, 0x64d5), + CodeunitRange(0x64d7, 0x64d8), + CodeunitRange(0x64da, 0x64da), + CodeunitRange(0x64e0, 0x64e7), + CodeunitRange(0x64e9, 0x64ea), + CodeunitRange(0x64ec, 0x64ed), + CodeunitRange(0x64ef, 0x64f2), + CodeunitRange(0x64f4, 0x64f7), + CodeunitRange(0x64fa, 0x64fb), + CodeunitRange(0x64fd, 0x6501), + CodeunitRange(0x6504, 0x6505), + CodeunitRange(0x6508, 0x650a), + CodeunitRange(0x650f, 0x650f), + CodeunitRange(0x6513, 0x6514), + CodeunitRange(0x6516, 0x6516), + CodeunitRange(0x6518, 0x6519), + CodeunitRange(0x651b, 0x651f), + CodeunitRange(0x6522, 0x6524), + CodeunitRange(0x6526, 0x6526), + CodeunitRange(0x6529, 0x652c), + CodeunitRange(0x652e, 0x652f), + CodeunitRange(0x6531, 0x6532), + CodeunitRange(0x6534, 0x653f), + CodeunitRange(0x6543, 0x6545), + CodeunitRange(0x6547, 0x6549), + CodeunitRange(0x654d, 0x6552), + CodeunitRange(0x6554, 0x6559), + CodeunitRange(0x655d, 0x6560), + CodeunitRange(0x6562, 0x6563), + CodeunitRange(0x6566, 0x6567), + CodeunitRange(0x656b, 0x656c), + CodeunitRange(0x6570, 0x6570), + CodeunitRange(0x6572, 0x6572), + CodeunitRange(0x6574, 0x6575), + CodeunitRange(0x6577, 0x6578), + CodeunitRange(0x657a, 0x657a), + CodeunitRange(0x657d, 0x657d), + CodeunitRange(0x6581, 0x6585), + CodeunitRange(0x6587, 0x658a), + CodeunitRange(0x658c, 0x658c), + CodeunitRange(0x658e, 0x658e), + CodeunitRange(0x6590, 0x6592), + CodeunitRange(0x6595, 0x6595), + CodeunitRange(0x6597, 0x6599), + CodeunitRange(0x659b, 0x659d), + CodeunitRange(0x659f, 0x65a1), + CodeunitRange(0x65a3, 0x65a7), + CodeunitRange(0x65ab, 0x65b0), + CodeunitRange(0x65b2, 0x65b5), + CodeunitRange(0x65b7, 0x65b9), + CodeunitRange(0x65bc, 0x65bf), + CodeunitRange(0x65c1, 0x65c6), + CodeunitRange(0x65c8, 0x65c9), + CodeunitRange(0x65cb, 0x65cc), + CodeunitRange(0x65ce, 0x65d0), + CodeunitRange(0x65d2, 0x65d2), + CodeunitRange(0x65d4, 0x65d4), + CodeunitRange(0x65d6, 0x65d9), + CodeunitRange(0x65db, 0x65db), + CodeunitRange(0x65df, 0x65e3), + CodeunitRange(0x65e5, 0x65e9), + CodeunitRange(0x65ec, 0x65ed), + CodeunitRange(0x65f0, 0x65f2), + CodeunitRange(0x65f4, 0x65f5), + CodeunitRange(0x65f9, 0x65fc), + CodeunitRange(0x65fe, 0x6600), + CodeunitRange(0x6602, 0x6604), + CodeunitRange(0x6606, 0x660a), + CodeunitRange(0x660c, 0x660f), + CodeunitRange(0x6611, 0x6616), + CodeunitRange(0x661c, 0x6631), + CodeunitRange(0x6633, 0x6637), + CodeunitRange(0x6639, 0x663c), + CodeunitRange(0x663f, 0x6646), + CodeunitRange(0x6648, 0x664c), + CodeunitRange(0x664e, 0x664f), + CodeunitRange(0x6651, 0x6652), + CodeunitRange(0x6657, 0x6670), + CodeunitRange(0x6673, 0x667c), + CodeunitRange(0x667e, 0x6681), + CodeunitRange(0x6683, 0x6684), + CodeunitRange(0x6687, 0x6689), + CodeunitRange(0x668b, 0x668e), + CodeunitRange(0x6690, 0x6692), + CodeunitRange(0x6696, 0x669d), + CodeunitRange(0x669f, 0x66a0), + CodeunitRange(0x66a2, 0x66a2), + CodeunitRange(0x66a4, 0x66a4), + CodeunitRange(0x66a6, 0x66a6), + CodeunitRange(0x66ab, 0x66ab), + CodeunitRange(0x66ad, 0x66ae), + CodeunitRange(0x66b1, 0x66b5), + CodeunitRange(0x66b8, 0x66b9), + CodeunitRange(0x66bb, 0x66bc), + CodeunitRange(0x66be, 0x66c4), + CodeunitRange(0x66c6, 0x66c9), + CodeunitRange(0x66cc, 0x66cc), + CodeunitRange(0x66ce, 0x66cf), + CodeunitRange(0x66d4, 0x66d4), + CodeunitRange(0x66d6, 0x66d6), + CodeunitRange(0x66d9, 0x66dd), + CodeunitRange(0x66df, 0x66e0), + CodeunitRange(0x66e6, 0x66e6), + CodeunitRange(0x66e8, 0x66e9), + CodeunitRange(0x66eb, 0x66ec), + CodeunitRange(0x66ee, 0x66ee), + CodeunitRange(0x66f0, 0x66f0), + CodeunitRange(0x66f2, 0x66f5), + CodeunitRange(0x66f7, 0x6701), + CodeunitRange(0x6703, 0x6703), + CodeunitRange(0x6705, 0x6705), + CodeunitRange(0x6707, 0x6709), + CodeunitRange(0x670b, 0x6710), + CodeunitRange(0x6712, 0x6717), + CodeunitRange(0x6719, 0x6719), + CodeunitRange(0x671b, 0x6720), + CodeunitRange(0x6722, 0x6722), + CodeunitRange(0x6725, 0x6728), + CodeunitRange(0x672a, 0x672e), + CodeunitRange(0x6731, 0x6731), + CodeunitRange(0x6733, 0x6738), + CodeunitRange(0x673a, 0x673a), + CodeunitRange(0x673d, 0x673f), + CodeunitRange(0x6741, 0x6741), + CodeunitRange(0x6743, 0x6743), + CodeunitRange(0x6745, 0x6749), + CodeunitRange(0x674c, 0x6751), + CodeunitRange(0x6753, 0x6756), + CodeunitRange(0x6759, 0x6759), + CodeunitRange(0x675c, 0x6766), + CodeunitRange(0x676a, 0x676a), + CodeunitRange(0x676c, 0x6777), + CodeunitRange(0x677b, 0x677c), + CodeunitRange(0x677e, 0x6781), + CodeunitRange(0x6784, 0x6785), + CodeunitRange(0x6787, 0x6787), + CodeunitRange(0x6789, 0x6789), + CodeunitRange(0x678b, 0x678c), + CodeunitRange(0x678e, 0x6793), + CodeunitRange(0x6795, 0x679d), + CodeunitRange(0x67a0, 0x67a2), + CodeunitRange(0x67a4, 0x67a4), + CodeunitRange(0x67a6, 0x67a6), + CodeunitRange(0x67a9, 0x67a9), + CodeunitRange(0x67af, 0x67b9), + CodeunitRange(0x67bb, 0x67be), + CodeunitRange(0x67c0, 0x67c6), + CodeunitRange(0x67c8, 0x67ca), + CodeunitRange(0x67ce, 0x67d4), + CodeunitRange(0x67d7, 0x67de), + CodeunitRange(0x67e1, 0x67e2), + CodeunitRange(0x67e4, 0x67e4), + CodeunitRange(0x67e6, 0x67e7), + CodeunitRange(0x67e9, 0x67e9), + CodeunitRange(0x67ec, 0x67ec), + CodeunitRange(0x67ee, 0x67f7), + CodeunitRange(0x67f9, 0x67fc), + CodeunitRange(0x67fe, 0x67ff), + CodeunitRange(0x6801, 0x6805), + CodeunitRange(0x6810, 0x6810), + CodeunitRange(0x6813, 0x6814), + CodeunitRange(0x6816, 0x6819), + CodeunitRange(0x681d, 0x681f), + CodeunitRange(0x6821, 0x6822), + CodeunitRange(0x6827, 0x682d), + CodeunitRange(0x682f, 0x6834), + CodeunitRange(0x6838, 0x6839), + CodeunitRange(0x683b, 0x6846), + CodeunitRange(0x6848, 0x684a), + CodeunitRange(0x684c, 0x684e), + CodeunitRange(0x6850, 0x6855), + CodeunitRange(0x6857, 0x6859), + CodeunitRange(0x685b, 0x685d), + CodeunitRange(0x685f, 0x685f), + CodeunitRange(0x6863, 0x6863), + CodeunitRange(0x6867, 0x6867), + CodeunitRange(0x686b, 0x686b), + CodeunitRange(0x686e, 0x6872), + CodeunitRange(0x6874, 0x6877), + CodeunitRange(0x6879, 0x687c), + CodeunitRange(0x687e, 0x687f), + CodeunitRange(0x6881, 0x6886), + CodeunitRange(0x6888, 0x6888), + CodeunitRange(0x688d, 0x6890), + CodeunitRange(0x6893, 0x6894), + CodeunitRange(0x6896, 0x689d), + CodeunitRange(0x689f, 0x68a3), + CodeunitRange(0x68a5, 0x68ab), + CodeunitRange(0x68ad, 0x68b6), + CodeunitRange(0x68b9, 0x68bc), + CodeunitRange(0x68c3, 0x68c6), + CodeunitRange(0x68c8, 0x68cd), + CodeunitRange(0x68cf, 0x68da), + CodeunitRange(0x68dc, 0x68dd), + CodeunitRange(0x68df, 0x68e1), + CodeunitRange(0x68e3, 0x68e5), + CodeunitRange(0x68e7, 0x68e8), + CodeunitRange(0x68ea, 0x68f2), + CodeunitRange(0x68f5, 0x68f7), + CodeunitRange(0x68f9, 0x68fd), + CodeunitRange(0x6900, 0x6901), + CodeunitRange(0x6903, 0x6913), + CodeunitRange(0x6916, 0x6917), + CodeunitRange(0x6919, 0x691c), + CodeunitRange(0x6921, 0x6923), + CodeunitRange(0x6925, 0x6926), + CodeunitRange(0x6928, 0x6928), + CodeunitRange(0x692a, 0x692a), + CodeunitRange(0x6930, 0x6931), + CodeunitRange(0x6933, 0x6936), + CodeunitRange(0x6938, 0x6939), + CodeunitRange(0x693b, 0x693b), + CodeunitRange(0x693d, 0x693d), + CodeunitRange(0x693f, 0x693f), + CodeunitRange(0x6942, 0x6942), + CodeunitRange(0x6945, 0x6946), + CodeunitRange(0x6949, 0x694a), + CodeunitRange(0x694e, 0x694e), + CodeunitRange(0x6953, 0x6955), + CodeunitRange(0x6957, 0x6957), + CodeunitRange(0x6959, 0x695e), + CodeunitRange(0x6960, 0x6966), + CodeunitRange(0x6968, 0x6975), + CodeunitRange(0x6977, 0x6982), + CodeunitRange(0x6986, 0x6986), + CodeunitRange(0x698a, 0x698a), + CodeunitRange(0x698d, 0x698e), + CodeunitRange(0x6991, 0x6992), + CodeunitRange(0x6994, 0x6996), + CodeunitRange(0x6998, 0x6998), + CodeunitRange(0x699b, 0x699c), + CodeunitRange(0x69a0, 0x69a1), + CodeunitRange(0x69a5, 0x69a8), + CodeunitRange(0x69ab, 0x69ab), + CodeunitRange(0x69ad, 0x69b2), + CodeunitRange(0x69b4, 0x69b4), + CodeunitRange(0x69b7, 0x69b8), + CodeunitRange(0x69ba, 0x69bc), + CodeunitRange(0x69be, 0x69c1), + CodeunitRange(0x69c3, 0x69c3), + CodeunitRange(0x69c5, 0x69c5), + CodeunitRange(0x69c7, 0x69c8), + CodeunitRange(0x69ca, 0x69d1), + CodeunitRange(0x69d3, 0x69d3), + CodeunitRange(0x69d6, 0x69d9), + CodeunitRange(0x69dd, 0x69de), + CodeunitRange(0x69e2, 0x69e3), + CodeunitRange(0x69e5, 0x69e5), + CodeunitRange(0x69e7, 0x69eb), + CodeunitRange(0x69ed, 0x69ef), + CodeunitRange(0x69f1, 0x69f6), + CodeunitRange(0x69f9, 0x69f9), + CodeunitRange(0x69fb, 0x69fb), + CodeunitRange(0x69fd, 0x6a03), + CodeunitRange(0x6a05, 0x6a05), + CodeunitRange(0x6a0a, 0x6a0c), + CodeunitRange(0x6a0f, 0x6a0f), + CodeunitRange(0x6a11, 0x6a15), + CodeunitRange(0x6a17, 0x6a17), + CodeunitRange(0x6a19, 0x6a1b), + CodeunitRange(0x6a1d, 0x6a24), + CodeunitRange(0x6a28, 0x6a2b), + CodeunitRange(0x6a2e, 0x6a2e), + CodeunitRange(0x6a30, 0x6a30), + CodeunitRange(0x6a32, 0x6a3b), + CodeunitRange(0x6a3d, 0x6a3f), + CodeunitRange(0x6a44, 0x6a4b), + CodeunitRange(0x6a4e, 0x6a4e), + CodeunitRange(0x6a50, 0x6a52), + CodeunitRange(0x6a54, 0x6a56), + CodeunitRange(0x6a58, 0x6a59), + CodeunitRange(0x6a5b, 0x6a5b), + CodeunitRange(0x6a5f, 0x6a5f), + CodeunitRange(0x6a61, 0x6a62), + CodeunitRange(0x6a64, 0x6a64), + CodeunitRange(0x6a66, 0x6a67), + CodeunitRange(0x6a6a, 0x6a6b), + CodeunitRange(0x6a71, 0x6a73), + CodeunitRange(0x6a78, 0x6a78), + CodeunitRange(0x6a7a, 0x6a7a), + CodeunitRange(0x6a7e, 0x6a81), + CodeunitRange(0x6a83, 0x6a84), + CodeunitRange(0x6a86, 0x6a87), + CodeunitRange(0x6a89, 0x6a89), + CodeunitRange(0x6a8b, 0x6a8b), + CodeunitRange(0x6a8d, 0x6a8e), + CodeunitRange(0x6a90, 0x6a91), + CodeunitRange(0x6a94, 0x6a94), + CodeunitRange(0x6a97, 0x6a97), + CodeunitRange(0x6a9b, 0x6aa3), + CodeunitRange(0x6aa5, 0x6aa5), + CodeunitRange(0x6aaa, 0x6aac), + CodeunitRange(0x6aae, 0x6ab1), + CodeunitRange(0x6ab3, 0x6ab4), + CodeunitRange(0x6ab8, 0x6ab8), + CodeunitRange(0x6abb, 0x6abb), + CodeunitRange(0x6abd, 0x6abf), + CodeunitRange(0x6ac1, 0x6ac3), + CodeunitRange(0x6ac6, 0x6ac6), + CodeunitRange(0x6ac8, 0x6ac9), + CodeunitRange(0x6acc, 0x6acc), + CodeunitRange(0x6ad0, 0x6ad1), + CodeunitRange(0x6ad3, 0x6ad6), + CodeunitRange(0x6ada, 0x6adf), + CodeunitRange(0x6ae2, 0x6ae2), + CodeunitRange(0x6ae4, 0x6ae4), + CodeunitRange(0x6ae7, 0x6ae8), + CodeunitRange(0x6aea, 0x6aea), + CodeunitRange(0x6aec, 0x6aec), + CodeunitRange(0x6af0, 0x6af3), + CodeunitRange(0x6af8, 0x6af8), + CodeunitRange(0x6afa, 0x6afd), + CodeunitRange(0x6b02, 0x6b07), + CodeunitRange(0x6b09, 0x6b0b), + CodeunitRange(0x6b0f, 0x6b12), + CodeunitRange(0x6b16, 0x6b17), + CodeunitRange(0x6b1b, 0x6b1b), + CodeunitRange(0x6b1d, 0x6b21), + CodeunitRange(0x6b23, 0x6b24), + CodeunitRange(0x6b27, 0x6b28), + CodeunitRange(0x6b2b, 0x6b2c), + CodeunitRange(0x6b2f, 0x6b2f), + CodeunitRange(0x6b32, 0x6b32), + CodeunitRange(0x6b35, 0x6b3b), + CodeunitRange(0x6b3d, 0x6b3f), + CodeunitRange(0x6b43, 0x6b43), + CodeunitRange(0x6b46, 0x6b47), + CodeunitRange(0x6b49, 0x6b4a), + CodeunitRange(0x6b4c, 0x6b4e), + CodeunitRange(0x6b50, 0x6b50), + CodeunitRange(0x6b52, 0x6b54), + CodeunitRange(0x6b56, 0x6b56), + CodeunitRange(0x6b58, 0x6b59), + CodeunitRange(0x6b5b, 0x6b5b), + CodeunitRange(0x6b5d, 0x6b5d), + CodeunitRange(0x6b5f, 0x6b67), + CodeunitRange(0x6b69, 0x6b6c), + CodeunitRange(0x6b6e, 0x6b70), + CodeunitRange(0x6b72, 0x6b75), + CodeunitRange(0x6b77, 0x6b7b), + CodeunitRange(0x6b7d, 0x6b86), + CodeunitRange(0x6b89, 0x6b8b), + CodeunitRange(0x6b8d, 0x6b8d), + CodeunitRange(0x6b95, 0x6b98), + CodeunitRange(0x6b9b, 0x6b9b), + CodeunitRange(0x6b9e, 0x6ba0), + CodeunitRange(0x6ba2, 0x6ba4), + CodeunitRange(0x6ba8, 0x6bb5), + CodeunitRange(0x6bb7, 0x6bc0), + CodeunitRange(0x6bc3, 0x6bc9), + CodeunitRange(0x6bcb, 0x6bcf), + CodeunitRange(0x6bd2, 0x6bd4), + CodeunitRange(0x6bd6, 0x6bd8), + CodeunitRange(0x6bda, 0x6bdb), + CodeunitRange(0x6bdf, 0x6bdf), + CodeunitRange(0x6be1, 0x6be1), + CodeunitRange(0x6be3, 0x6be3), + CodeunitRange(0x6be6, 0x6be7), + CodeunitRange(0x6beb, 0x6bec), + CodeunitRange(0x6bee, 0x6bef), + CodeunitRange(0x6bf1, 0x6bf1), + CodeunitRange(0x6bf3, 0x6bf3), + CodeunitRange(0x6bf7, 0x6bf7), + CodeunitRange(0x6bf9, 0x6bf9), + CodeunitRange(0x6bff, 0x6bff), + CodeunitRange(0x6c02, 0x6c02), + CodeunitRange(0x6c04, 0x6c05), + CodeunitRange(0x6c08, 0x6c0a), + CodeunitRange(0x6c0d, 0x6c14), + CodeunitRange(0x6c17, 0x6c17), + CodeunitRange(0x6c19, 0x6c19), + CodeunitRange(0x6c1b, 0x6c1b), + CodeunitRange(0x6c1f, 0x6c1f), + CodeunitRange(0x6c23, 0x6c24), + CodeunitRange(0x6c26, 0x6c28), + CodeunitRange(0x6c2c, 0x6c2c), + CodeunitRange(0x6c2e, 0x6c2e), + CodeunitRange(0x6c33, 0x6c38), + CodeunitRange(0x6c3a, 0x6c3b), + CodeunitRange(0x6c3e, 0x6c42), + CodeunitRange(0x6c4a, 0x6c4b), + CodeunitRange(0x6c4d, 0x6c50), + CodeunitRange(0x6c52, 0x6c52), + CodeunitRange(0x6c54, 0x6c55), + CodeunitRange(0x6c57, 0x6c57), + CodeunitRange(0x6c59, 0x6c60), + CodeunitRange(0x6c62, 0x6c62), + CodeunitRange(0x6c67, 0x6c68), + CodeunitRange(0x6c6a, 0x6c6b), + CodeunitRange(0x6c6d, 0x6c6d), + CodeunitRange(0x6c6f, 0x6c70), + CodeunitRange(0x6c72, 0x6c74), + CodeunitRange(0x6c76, 0x6c76), + CodeunitRange(0x6c78, 0x6c7b), + CodeunitRange(0x6c7d, 0x6c7e), + CodeunitRange(0x6c81, 0x6c89), + CodeunitRange(0x6c8c, 0x6c8d), + CodeunitRange(0x6c90, 0x6c90), + CodeunitRange(0x6c92, 0x6c9c), + CodeunitRange(0x6c9f, 0x6c9f), + CodeunitRange(0x6ca1, 0x6ca2), + CodeunitRange(0x6caa, 0x6cae), + CodeunitRange(0x6cb0, 0x6cb4), + CodeunitRange(0x6cb8, 0x6cbf), + CodeunitRange(0x6cc1, 0x6cc2), + CodeunitRange(0x6cc4, 0x6cc6), + CodeunitRange(0x6cc9, 0x6cca), + CodeunitRange(0x6ccc, 0x6ccd), + CodeunitRange(0x6ccf, 0x6cd7), + CodeunitRange(0x6cd9, 0x6cdd), + CodeunitRange(0x6ce0, 0x6ce3), + CodeunitRange(0x6ce5, 0x6ce5), + CodeunitRange(0x6ce7, 0x6cf4), + CodeunitRange(0x6cfb, 0x6cfb), + CodeunitRange(0x6d00, 0x6d01), + CodeunitRange(0x6d04, 0x6d04), + CodeunitRange(0x6d07, 0x6d07), + CodeunitRange(0x6d0a, 0x6d0c), + CodeunitRange(0x6d0e, 0x6d0f), + CodeunitRange(0x6d11, 0x6d13), + CodeunitRange(0x6d17, 0x6d17), + CodeunitRange(0x6d19, 0x6d1b), + CodeunitRange(0x6d1e, 0x6d1f), + CodeunitRange(0x6d24, 0x6d2b), + CodeunitRange(0x6d2e, 0x6d2f), + CodeunitRange(0x6d31, 0x6d36), + CodeunitRange(0x6d38, 0x6d39), + CodeunitRange(0x6d3b, 0x6d3f), + CodeunitRange(0x6d41, 0x6d41), + CodeunitRange(0x6d44, 0x6d45), + CodeunitRange(0x6d57, 0x6d5c), + CodeunitRange(0x6d5e, 0x6d61), + CodeunitRange(0x6d63, 0x6d67), + CodeunitRange(0x6d69, 0x6d6a), + CodeunitRange(0x6d6c, 0x6d6c), + CodeunitRange(0x6d6e, 0x6d70), + CodeunitRange(0x6d74, 0x6d74), + CodeunitRange(0x6d77, 0x6d79), + CodeunitRange(0x6d7c, 0x6d7c), + CodeunitRange(0x6d80, 0x6d82), + CodeunitRange(0x6d85, 0x6d85), + CodeunitRange(0x6d87, 0x6d8a), + CodeunitRange(0x6d8c, 0x6d8e), + CodeunitRange(0x6d91, 0x6d99), + CodeunitRange(0x6d9b, 0x6d9c), + CodeunitRange(0x6daa, 0x6dac), + CodeunitRange(0x6dae, 0x6daf), + CodeunitRange(0x6db2, 0x6db2), + CodeunitRange(0x6db4, 0x6db5), + CodeunitRange(0x6db7, 0x6db9), + CodeunitRange(0x6dbc, 0x6dbd), + CodeunitRange(0x6dbf, 0x6dc0), + CodeunitRange(0x6dc2, 0x6dc2), + CodeunitRange(0x6dc4, 0x6dc8), + CodeunitRange(0x6dca, 0x6dcc), + CodeunitRange(0x6dce, 0x6dd2), + CodeunitRange(0x6dd5, 0x6dd6), + CodeunitRange(0x6dd8, 0x6ddb), + CodeunitRange(0x6ddd, 0x6de2), + CodeunitRange(0x6de4, 0x6de6), + CodeunitRange(0x6de8, 0x6dec), + CodeunitRange(0x6dee, 0x6dfc), + CodeunitRange(0x6e00, 0x6e00), + CodeunitRange(0x6e04, 0x6e05), + CodeunitRange(0x6e07, 0x6e0b), + CodeunitRange(0x6e13, 0x6e13), + CodeunitRange(0x6e15, 0x6e15), + CodeunitRange(0x6e17, 0x6e17), + CodeunitRange(0x6e19, 0x6e1b), + CodeunitRange(0x6e1d, 0x6e27), + CodeunitRange(0x6e29, 0x6e29), + CodeunitRange(0x6e2b, 0x6e2f), + CodeunitRange(0x6e32, 0x6e32), + CodeunitRange(0x6e34, 0x6e34), + CodeunitRange(0x6e36, 0x6e36), + CodeunitRange(0x6e38, 0x6e3c), + CodeunitRange(0x6e3e, 0x6e3e), + CodeunitRange(0x6e42, 0x6e45), + CodeunitRange(0x6e48, 0x6e4f), + CodeunitRange(0x6e51, 0x6e54), + CodeunitRange(0x6e56, 0x6e58), + CodeunitRange(0x6e5b, 0x6e5f), + CodeunitRange(0x6e62, 0x6e63), + CodeunitRange(0x6e67, 0x6e68), + CodeunitRange(0x6e6b, 0x6e6b), + CodeunitRange(0x6e6e, 0x6e6f), + CodeunitRange(0x6e72, 0x6e73), + CodeunitRange(0x6e76, 0x6e76), + CodeunitRange(0x6e7b, 0x6e7b), + CodeunitRange(0x6e7d, 0x6e80), + CodeunitRange(0x6e82, 0x6e82), + CodeunitRange(0x6e89, 0x6e89), + CodeunitRange(0x6e8c, 0x6e8d), + CodeunitRange(0x6e8f, 0x6e90), + CodeunitRange(0x6e93, 0x6e93), + CodeunitRange(0x6e96, 0x6e96), + CodeunitRange(0x6e98, 0x6e99), + CodeunitRange(0x6e9c, 0x6e9d), + CodeunitRange(0x6e9f, 0x6ea0), + CodeunitRange(0x6ea2, 0x6ea2), + CodeunitRange(0x6ea5, 0x6ea5), + CodeunitRange(0x6ea7, 0x6ea7), + CodeunitRange(0x6eaa, 0x6eab), + CodeunitRange(0x6ead, 0x6eaf), + CodeunitRange(0x6eb1, 0x6eb4), + CodeunitRange(0x6eb6, 0x6eb7), + CodeunitRange(0x6eba, 0x6ebd), + CodeunitRange(0x6ebf, 0x6ec5), + CodeunitRange(0x6ec7, 0x6ecf), + CodeunitRange(0x6ed1, 0x6ed1), + CodeunitRange(0x6ed3, 0x6ed5), + CodeunitRange(0x6ed9, 0x6edb), + CodeunitRange(0x6edd, 0x6ede), + CodeunitRange(0x6ee6, 0x6ee6), + CodeunitRange(0x6eeb, 0x6eef), + CodeunitRange(0x6ef2, 0x6ef2), + CodeunitRange(0x6ef4, 0x6ef4), + CodeunitRange(0x6ef7, 0x6ef9), + CodeunitRange(0x6efb, 0x6efb), + CodeunitRange(0x6efd, 0x6eff), + CodeunitRange(0x6f01, 0x6f02), + CodeunitRange(0x6f04, 0x6f04), + CodeunitRange(0x6f06, 0x6f06), + CodeunitRange(0x6f08, 0x6f0a), + CodeunitRange(0x6f0c, 0x6f0d), + CodeunitRange(0x6f0f, 0x6f11), + CodeunitRange(0x6f13, 0x6f16), + CodeunitRange(0x6f18, 0x6f18), + CodeunitRange(0x6f1a, 0x6f1b), + CodeunitRange(0x6f20, 0x6f20), + CodeunitRange(0x6f22, 0x6f23), + CodeunitRange(0x6f25, 0x6f26), + CodeunitRange(0x6f29, 0x6f2d), + CodeunitRange(0x6f2f, 0x6f33), + CodeunitRange(0x6f35, 0x6f36), + CodeunitRange(0x6f38, 0x6f38), + CodeunitRange(0x6f3b, 0x6f3c), + CodeunitRange(0x6f3e, 0x6f3f), + CodeunitRange(0x6f41, 0x6f41), + CodeunitRange(0x6f45, 0x6f45), + CodeunitRange(0x6f4f, 0x6f4f), + CodeunitRange(0x6f51, 0x6f54), + CodeunitRange(0x6f57, 0x6f62), + CodeunitRange(0x6f64, 0x6f64), + CodeunitRange(0x6f66, 0x6f66), + CodeunitRange(0x6f68, 0x6f68), + CodeunitRange(0x6f6c, 0x6f70), + CodeunitRange(0x6f74, 0x6f74), + CodeunitRange(0x6f78, 0x6f78), + CodeunitRange(0x6f7a, 0x6f7a), + CodeunitRange(0x6f7c, 0x6f7e), + CodeunitRange(0x6f80, 0x6f84), + CodeunitRange(0x6f86, 0x6f88), + CodeunitRange(0x6f8b, 0x6f8e), + CodeunitRange(0x6f90, 0x6f94), + CodeunitRange(0x6f96, 0x6f98), + CodeunitRange(0x6f9a, 0x6f9a), + CodeunitRange(0x6f9d, 0x6f9d), + CodeunitRange(0x6f9f, 0x6fa1), + CodeunitRange(0x6fa3, 0x6fa8), + CodeunitRange(0x6faa, 0x6faa), + CodeunitRange(0x6fae, 0x6fb1), + CodeunitRange(0x6fb3, 0x6fb3), + CodeunitRange(0x6fb5, 0x6fb7), + CodeunitRange(0x6fb9, 0x6fb9), + CodeunitRange(0x6fbc, 0x6fbc), + CodeunitRange(0x6fbe, 0x6fbe), + CodeunitRange(0x6fc0, 0x6fc3), + CodeunitRange(0x6fc5, 0x6fca), + CodeunitRange(0x6fd4, 0x6fd5), + CodeunitRange(0x6fd8, 0x6fd8), + CodeunitRange(0x6fda, 0x6fdb), + CodeunitRange(0x6fde, 0x6fe1), + CodeunitRange(0x6fe4, 0x6fe4), + CodeunitRange(0x6fe8, 0x6fe9), + CodeunitRange(0x6feb, 0x6fec), + CodeunitRange(0x6fee, 0x6ff1), + CodeunitRange(0x6ff3, 0x6ff3), + CodeunitRange(0x6ff5, 0x6ff6), + CodeunitRange(0x6ff9, 0x6ffa), + CodeunitRange(0x6ffc, 0x6ffe), + CodeunitRange(0x7000, 0x7001), + CodeunitRange(0x7005, 0x7007), + CodeunitRange(0x7009, 0x700b), + CodeunitRange(0x700d, 0x700d), + CodeunitRange(0x700f, 0x700f), + CodeunitRange(0x7011, 0x7011), + CodeunitRange(0x7015, 0x7015), + CodeunitRange(0x7017, 0x7018), + CodeunitRange(0x701a, 0x701b), + CodeunitRange(0x701d, 0x7020), + CodeunitRange(0x7023, 0x7023), + CodeunitRange(0x7026, 0x7028), + CodeunitRange(0x702c, 0x702c), + CodeunitRange(0x702f, 0x7030), + CodeunitRange(0x7032, 0x7032), + CodeunitRange(0x7034, 0x7034), + CodeunitRange(0x7037, 0x7037), + CodeunitRange(0x7039, 0x703a), + CodeunitRange(0x703c, 0x703c), + CodeunitRange(0x703e, 0x703e), + CodeunitRange(0x7043, 0x7044), + CodeunitRange(0x7047, 0x704c), + CodeunitRange(0x704e, 0x704e), + CodeunitRange(0x7051, 0x7051), + CodeunitRange(0x7054, 0x7055), + CodeunitRange(0x7058, 0x7058), + CodeunitRange(0x705d, 0x705e), + CodeunitRange(0x7063, 0x7065), + CodeunitRange(0x7069, 0x7069), + CodeunitRange(0x706b, 0x706c), + CodeunitRange(0x706e, 0x7070), + CodeunitRange(0x7075, 0x7076), + CodeunitRange(0x7078, 0x7078), + CodeunitRange(0x707c, 0x707e), + CodeunitRange(0x7081, 0x7081), + CodeunitRange(0x7085, 0x7086), + CodeunitRange(0x7089, 0x708a), + CodeunitRange(0x708e, 0x708e), + CodeunitRange(0x7092, 0x7092), + CodeunitRange(0x7094, 0x7099), + CodeunitRange(0x709b, 0x709b), + CodeunitRange(0x709f, 0x709f), + CodeunitRange(0x70a4, 0x70a4), + CodeunitRange(0x70ab, 0x70b1), + CodeunitRange(0x70b3, 0x70b4), + CodeunitRange(0x70b7, 0x70bb), + CodeunitRange(0x70c8, 0x70c8), + CodeunitRange(0x70ca, 0x70cb), + CodeunitRange(0x70cf, 0x70cf), + CodeunitRange(0x70d1, 0x70d1), + CodeunitRange(0x70d3, 0x70d6), + CodeunitRange(0x70d8, 0x70d9), + CodeunitRange(0x70dc, 0x70dd), + CodeunitRange(0x70df, 0x70df), + CodeunitRange(0x70e4, 0x70e4), + CodeunitRange(0x70ec, 0x70ec), + CodeunitRange(0x70f1, 0x70f1), + CodeunitRange(0x70f9, 0x70fa), + CodeunitRange(0x70fd, 0x70fd), + CodeunitRange(0x7103, 0x7109), + CodeunitRange(0x710b, 0x710c), + CodeunitRange(0x710f, 0x710f), + CodeunitRange(0x7114, 0x7114), + CodeunitRange(0x7119, 0x711a), + CodeunitRange(0x711c, 0x711c), + CodeunitRange(0x711e, 0x711e), + CodeunitRange(0x7120, 0x7121), + CodeunitRange(0x7126, 0x7126), + CodeunitRange(0x712b, 0x712b), + CodeunitRange(0x712d, 0x7131), + CodeunitRange(0x7136, 0x7136), + CodeunitRange(0x7138, 0x7138), + CodeunitRange(0x713c, 0x713c), + CodeunitRange(0x7141, 0x7141), + CodeunitRange(0x7145, 0x7147), + CodeunitRange(0x7149, 0x714c), + CodeunitRange(0x714e, 0x714e), + CodeunitRange(0x7150, 0x7153), + CodeunitRange(0x7155, 0x7157), + CodeunitRange(0x7159, 0x715a), + CodeunitRange(0x715c, 0x715c), + CodeunitRange(0x715e, 0x715e), + CodeunitRange(0x7160, 0x7160), + CodeunitRange(0x7162, 0x7162), + CodeunitRange(0x7164, 0x7169), + CodeunitRange(0x716c, 0x716c), + CodeunitRange(0x716e, 0x716e), + CodeunitRange(0x7179, 0x7179), + CodeunitRange(0x717d, 0x717d), + CodeunitRange(0x7180, 0x7180), + CodeunitRange(0x7184, 0x7185), + CodeunitRange(0x7187, 0x7188), + CodeunitRange(0x718a, 0x718a), + CodeunitRange(0x718c, 0x718c), + CodeunitRange(0x718f, 0x718f), + CodeunitRange(0x7192, 0x7192), + CodeunitRange(0x7194, 0x7196), + CodeunitRange(0x7199, 0x719b), + CodeunitRange(0x719f, 0x71a0), + CodeunitRange(0x71a2, 0x71a2), + CodeunitRange(0x71a8, 0x71a8), + CodeunitRange(0x71ac, 0x71ac), + CodeunitRange(0x71ae, 0x71b3), + CodeunitRange(0x71b9, 0x71ba), + CodeunitRange(0x71be, 0x71c1), + CodeunitRange(0x71c3, 0x71c4), + CodeunitRange(0x71c8, 0x71c9), + CodeunitRange(0x71cb, 0x71cc), + CodeunitRange(0x71ce, 0x71ce), + CodeunitRange(0x71d0, 0x71d0), + CodeunitRange(0x71d2, 0x71d7), + CodeunitRange(0x71d9, 0x71da), + CodeunitRange(0x71dc, 0x71dc), + CodeunitRange(0x71df, 0x71e0), + CodeunitRange(0x71e5, 0x71e7), + CodeunitRange(0x71ec, 0x71ee), + CodeunitRange(0x71f4, 0x71f5), + CodeunitRange(0x71f8, 0x71f9), + CodeunitRange(0x71fb, 0x71fc), + CodeunitRange(0x71fe, 0x7200), + CodeunitRange(0x7206, 0x7209), + CodeunitRange(0x720d, 0x720d), + CodeunitRange(0x7210, 0x7210), + CodeunitRange(0x7213, 0x7213), + CodeunitRange(0x7215, 0x7215), + CodeunitRange(0x7217, 0x7217), + CodeunitRange(0x721a, 0x721b), + CodeunitRange(0x721d, 0x721d), + CodeunitRange(0x721f, 0x721f), + CodeunitRange(0x7224, 0x7224), + CodeunitRange(0x7228, 0x7228), + CodeunitRange(0x722a, 0x722d), + CodeunitRange(0x722f, 0x7230), + CodeunitRange(0x7232, 0x7232), + CodeunitRange(0x7234, 0x7236), + CodeunitRange(0x7238, 0x7243), + CodeunitRange(0x7245, 0x7248), + CodeunitRange(0x724b, 0x724c), + CodeunitRange(0x724e, 0x7250), + CodeunitRange(0x7252, 0x7253), + CodeunitRange(0x7255, 0x7263), + CodeunitRange(0x7267, 0x7269), + CodeunitRange(0x726b, 0x726b), + CodeunitRange(0x726e, 0x726f), + CodeunitRange(0x7271, 0x7272), + CodeunitRange(0x7274, 0x7274), + CodeunitRange(0x7277, 0x7279), + CodeunitRange(0x727b, 0x7282), + CodeunitRange(0x7284, 0x7284), + CodeunitRange(0x7287, 0x7287), + CodeunitRange(0x7289, 0x7289), + CodeunitRange(0x728d, 0x728e), + CodeunitRange(0x7292, 0x7293), + CodeunitRange(0x7296, 0x7296), + CodeunitRange(0x729b, 0x729b), + CodeunitRange(0x72a0, 0x72a0), + CodeunitRange(0x72a2, 0x72a2), + CodeunitRange(0x72a7, 0x72a8), + CodeunitRange(0x72ac, 0x72b2), + CodeunitRange(0x72b4, 0x72b4), + CodeunitRange(0x72b6, 0x72b6), + CodeunitRange(0x72b9, 0x72b9), + CodeunitRange(0x72be, 0x72be), + CodeunitRange(0x72c0, 0x72c4), + CodeunitRange(0x72c6, 0x72c7), + CodeunitRange(0x72c9, 0x72c9), + CodeunitRange(0x72cc, 0x72cc), + CodeunitRange(0x72ce, 0x72ce), + CodeunitRange(0x72d0, 0x72d0), + CodeunitRange(0x72d2, 0x72d2), + CodeunitRange(0x72d5, 0x72d9), + CodeunitRange(0x72db, 0x72db), + CodeunitRange(0x72df, 0x72e2), + CodeunitRange(0x72e5, 0x72e5), + CodeunitRange(0x72e9, 0x72e9), + CodeunitRange(0x72ec, 0x72ed), + CodeunitRange(0x72f3, 0x72f4), + CodeunitRange(0x72f7, 0x72fe), + CodeunitRange(0x7302, 0x7302), + CodeunitRange(0x7304, 0x7305), + CodeunitRange(0x7307, 0x7307), + CodeunitRange(0x730a, 0x730b), + CodeunitRange(0x730d, 0x730d), + CodeunitRange(0x7312, 0x7313), + CodeunitRange(0x7316, 0x7319), + CodeunitRange(0x731b, 0x731f), + CodeunitRange(0x7322, 0x7322), + CodeunitRange(0x7324, 0x7325), + CodeunitRange(0x7327, 0x732c), + CodeunitRange(0x732e, 0x732f), + CodeunitRange(0x7331, 0x7337), + CodeunitRange(0x7339, 0x733b), + CodeunitRange(0x733d, 0x733f), + CodeunitRange(0x7343, 0x7345), + CodeunitRange(0x734d, 0x7350), + CodeunitRange(0x7352, 0x7352), + CodeunitRange(0x7356, 0x7358), + CodeunitRange(0x735d, 0x7360), + CodeunitRange(0x7363, 0x7363), + CodeunitRange(0x7366, 0x736c), + CodeunitRange(0x736e, 0x7372), + CodeunitRange(0x7375, 0x7375), + CodeunitRange(0x7377, 0x737c), + CodeunitRange(0x7380, 0x7381), + CodeunitRange(0x7383, 0x7387), + CodeunitRange(0x7389, 0x738b), + CodeunitRange(0x738e, 0x738e), + CodeunitRange(0x7390, 0x7390), + CodeunitRange(0x7393, 0x7398), + CodeunitRange(0x739c, 0x739c), + CodeunitRange(0x739e, 0x73a0), + CodeunitRange(0x73a2, 0x73a2), + CodeunitRange(0x73a5, 0x73a6), + CodeunitRange(0x73a8, 0x73ab), + CodeunitRange(0x73ad, 0x73ad), + CodeunitRange(0x73b2, 0x73b3), + CodeunitRange(0x73b5, 0x73b5), + CodeunitRange(0x73b7, 0x73b7), + CodeunitRange(0x73b9, 0x73bd), + CodeunitRange(0x73bf, 0x73c0), + CodeunitRange(0x73c2, 0x73c2), + CodeunitRange(0x73c5, 0x73c6), + CodeunitRange(0x73c8, 0x73cf), + CodeunitRange(0x73d2, 0x73d3), + CodeunitRange(0x73d6, 0x73d6), + CodeunitRange(0x73d9, 0x73d9), + CodeunitRange(0x73dd, 0x73de), + CodeunitRange(0x73e0, 0x73e1), + CodeunitRange(0x73e3, 0x73e7), + CodeunitRange(0x73e9, 0x73ea), + CodeunitRange(0x73ed, 0x73ee), + CodeunitRange(0x73f1, 0x73f1), + CodeunitRange(0x73f4, 0x73f5), + CodeunitRange(0x73f7, 0x73fb), + CodeunitRange(0x73fd, 0x7401), + CodeunitRange(0x7403, 0x7407), + CodeunitRange(0x7409, 0x740a), + CodeunitRange(0x7411, 0x7411), + CodeunitRange(0x7413, 0x7413), + CodeunitRange(0x741a, 0x741b), + CodeunitRange(0x7421, 0x7422), + CodeunitRange(0x7424, 0x7426), + CodeunitRange(0x7428, 0x7436), + CodeunitRange(0x7439, 0x743a), + CodeunitRange(0x743f, 0x7441), + CodeunitRange(0x7443, 0x7444), + CodeunitRange(0x7446, 0x7447), + CodeunitRange(0x744b, 0x744b), + CodeunitRange(0x744d, 0x744d), + CodeunitRange(0x7451, 0x7453), + CodeunitRange(0x7455, 0x7455), + CodeunitRange(0x7457, 0x7457), + CodeunitRange(0x7459, 0x7460), + CodeunitRange(0x7462, 0x7464), + CodeunitRange(0x7466, 0x746b), + CodeunitRange(0x746d, 0x7473), + CodeunitRange(0x7476, 0x7476), + CodeunitRange(0x747e, 0x747e), + CodeunitRange(0x7480, 0x7481), + CodeunitRange(0x7483, 0x7483), + CodeunitRange(0x7485, 0x7489), + CodeunitRange(0x748b, 0x748b), + CodeunitRange(0x748f, 0x7492), + CodeunitRange(0x7497, 0x749a), + CodeunitRange(0x749c, 0x749c), + CodeunitRange(0x749e, 0x74a3), + CodeunitRange(0x74a5, 0x74ab), + CodeunitRange(0x74ae, 0x74b2), + CodeunitRange(0x74b5, 0x74b5), + CodeunitRange(0x74b9, 0x74bb), + CodeunitRange(0x74bd, 0x74bd), + CodeunitRange(0x74bf, 0x74bf), + CodeunitRange(0x74c8, 0x74ca), + CodeunitRange(0x74cc, 0x74cc), + CodeunitRange(0x74cf, 0x74d0), + CodeunitRange(0x74d3, 0x74d4), + CodeunitRange(0x74d6, 0x74d6), + CodeunitRange(0x74d8, 0x74d8), + CodeunitRange(0x74da, 0x74dc), + CodeunitRange(0x74de, 0x74e0), + CodeunitRange(0x74e2, 0x74e4), + CodeunitRange(0x74e6, 0x74eb), + CodeunitRange(0x74ee, 0x74f2), + CodeunitRange(0x74f4, 0x74f4), + CodeunitRange(0x74f6, 0x74f8), + CodeunitRange(0x74fa, 0x74fc), + CodeunitRange(0x74ff, 0x74ff), + CodeunitRange(0x7501, 0x7501), + CodeunitRange(0x7503, 0x7506), + CodeunitRange(0x750c, 0x750e), + CodeunitRange(0x7511, 0x7513), + CodeunitRange(0x7515, 0x7518), + CodeunitRange(0x751a, 0x751a), + CodeunitRange(0x751c, 0x751c), + CodeunitRange(0x751e, 0x752c), + CodeunitRange(0x752f, 0x7533), + CodeunitRange(0x7536, 0x7540), + CodeunitRange(0x7543, 0x7544), + CodeunitRange(0x7546, 0x7552), + CodeunitRange(0x7554, 0x7554), + CodeunitRange(0x7557, 0x7557), + CodeunitRange(0x7559, 0x7562), + CodeunitRange(0x7564, 0x7567), + CodeunitRange(0x7569, 0x756d), + CodeunitRange(0x756f, 0x757f), + CodeunitRange(0x7581, 0x7582), + CodeunitRange(0x7585, 0x7587), + CodeunitRange(0x7589, 0x758c), + CodeunitRange(0x758e, 0x7595), + CodeunitRange(0x7599, 0x759a), + CodeunitRange(0x759c, 0x759d), + CodeunitRange(0x75a2, 0x75a5), + CodeunitRange(0x75ab, 0x75ab), + CodeunitRange(0x75b0, 0x75b5), + CodeunitRange(0x75b7, 0x75ba), + CodeunitRange(0x75bc, 0x75c7), + CodeunitRange(0x75ca, 0x75ca), + CodeunitRange(0x75cc, 0x75cf), + CodeunitRange(0x75d2, 0x75d5), + CodeunitRange(0x75d7, 0x75d9), + CodeunitRange(0x75db, 0x75e4), + CodeunitRange(0x75e7, 0x75e7), + CodeunitRange(0x75e9, 0x75e9), + CodeunitRange(0x75ec, 0x75ec), + CodeunitRange(0x75ee, 0x75f4), + CodeunitRange(0x75f9, 0x75fa), + CodeunitRange(0x75fc, 0x75fc), + CodeunitRange(0x75fe, 0x7604), + CodeunitRange(0x7607, 0x760d), + CodeunitRange(0x760f, 0x760f), + CodeunitRange(0x7612, 0x7613), + CodeunitRange(0x7615, 0x7616), + CodeunitRange(0x7618, 0x7619), + CodeunitRange(0x761b, 0x7629), + CodeunitRange(0x762d, 0x762d), + CodeunitRange(0x7630, 0x7630), + CodeunitRange(0x7632, 0x7635), + CodeunitRange(0x7638, 0x763c), + CodeunitRange(0x7640, 0x764c), + CodeunitRange(0x764e, 0x764e), + CodeunitRange(0x7652, 0x7652), + CodeunitRange(0x7655, 0x7656), + CodeunitRange(0x7658, 0x7659), + CodeunitRange(0x765c, 0x765c), + CodeunitRange(0x765f, 0x765f), + CodeunitRange(0x7661, 0x7662), + CodeunitRange(0x7664, 0x7665), + CodeunitRange(0x7667, 0x766a), + CodeunitRange(0x766c, 0x7672), + CodeunitRange(0x7674, 0x7674), + CodeunitRange(0x7676, 0x7676), + CodeunitRange(0x7678, 0x7678), + CodeunitRange(0x767a, 0x767e), + CodeunitRange(0x7680, 0x7688), + CodeunitRange(0x768b, 0x768e), + CodeunitRange(0x7690, 0x7690), + CodeunitRange(0x7693, 0x7693), + CodeunitRange(0x7695, 0x7696), + CodeunitRange(0x7699, 0x76a8), + CodeunitRange(0x76aa, 0x76aa), + CodeunitRange(0x76ad, 0x76b0), + CodeunitRange(0x76b4, 0x76b4), + CodeunitRange(0x76b6, 0x76ba), + CodeunitRange(0x76bd, 0x76bd), + CodeunitRange(0x76bf, 0x76bf), + CodeunitRange(0x76c1, 0x76c3), + CodeunitRange(0x76c5, 0x76c6), + CodeunitRange(0x76c8, 0x76ce), + CodeunitRange(0x76d2, 0x76d2), + CodeunitRange(0x76d4, 0x76d4), + CodeunitRange(0x76d6, 0x76d7), + CodeunitRange(0x76d9, 0x76d9), + CodeunitRange(0x76db, 0x76dc), + CodeunitRange(0x76de, 0x76e1), + CodeunitRange(0x76e3, 0x76e8), + CodeunitRange(0x76ea, 0x76ec), + CodeunitRange(0x76ee, 0x76ee), + CodeunitRange(0x76f0, 0x76f2), + CodeunitRange(0x76f4, 0x76f4), + CodeunitRange(0x76f6, 0x76f6), + CodeunitRange(0x76f8, 0x76f9), + CodeunitRange(0x76fb, 0x76fc), + CodeunitRange(0x76fe, 0x76fe), + CodeunitRange(0x7700, 0x7701), + CodeunitRange(0x7704, 0x7704), + CodeunitRange(0x7706, 0x770c), + CodeunitRange(0x770e, 0x770e), + CodeunitRange(0x7712, 0x7712), + CodeunitRange(0x7714, 0x7715), + CodeunitRange(0x7717, 0x7717), + CodeunitRange(0x7719, 0x771c), + CodeunitRange(0x771e, 0x7720), + CodeunitRange(0x7722, 0x7722), + CodeunitRange(0x7724, 0x7726), + CodeunitRange(0x7728, 0x7729), + CodeunitRange(0x772d, 0x772f), + CodeunitRange(0x7734, 0x773a), + CodeunitRange(0x773c, 0x773e), + CodeunitRange(0x7740, 0x7740), + CodeunitRange(0x7742, 0x7742), + CodeunitRange(0x7745, 0x7747), + CodeunitRange(0x774a, 0x774a), + CodeunitRange(0x774d, 0x774f), + CodeunitRange(0x7752, 0x7752), + CodeunitRange(0x7756, 0x7758), + CodeunitRange(0x775a, 0x775c), + CodeunitRange(0x775e, 0x7768), + CodeunitRange(0x776a, 0x776c), + CodeunitRange(0x7770, 0x7770), + CodeunitRange(0x7772, 0x7774), + CodeunitRange(0x7779, 0x777a), + CodeunitRange(0x777c, 0x7780), + CodeunitRange(0x7784, 0x7784), + CodeunitRange(0x778b, 0x778e), + CodeunitRange(0x7791, 0x7791), + CodeunitRange(0x7794, 0x7796), + CodeunitRange(0x779a, 0x779a), + CodeunitRange(0x779e, 0x77a0), + CodeunitRange(0x77a2, 0x77a2), + CodeunitRange(0x77a4, 0x77a5), + CodeunitRange(0x77a7, 0x77a7), + CodeunitRange(0x77a9, 0x77aa), + CodeunitRange(0x77ac, 0x77b1), + CodeunitRange(0x77b3, 0x77b3), + CodeunitRange(0x77b5, 0x77b7), + CodeunitRange(0x77b9, 0x77b9), + CodeunitRange(0x77bb, 0x77bf), + CodeunitRange(0x77c3, 0x77c3), + CodeunitRange(0x77c7, 0x77c7), + CodeunitRange(0x77c9, 0x77c9), + CodeunitRange(0x77cd, 0x77cd), + CodeunitRange(0x77d1, 0x77d2), + CodeunitRange(0x77d5, 0x77d5), + CodeunitRange(0x77d7, 0x77d7), + CodeunitRange(0x77d9, 0x77dc), + CodeunitRange(0x77de, 0x77e0), + CodeunitRange(0x77e2, 0x77e7), + CodeunitRange(0x77e9, 0x77ea), + CodeunitRange(0x77ec, 0x77f1), + CodeunitRange(0x77f3, 0x77f4), + CodeunitRange(0x77f8, 0x77f8), + CodeunitRange(0x77fb, 0x77fc), + CodeunitRange(0x7802, 0x7802), + CodeunitRange(0x7805, 0x7806), + CodeunitRange(0x7809, 0x7809), + CodeunitRange(0x780c, 0x780e), + CodeunitRange(0x7811, 0x7812), + CodeunitRange(0x7814, 0x7815), + CodeunitRange(0x7819, 0x7819), + CodeunitRange(0x781d, 0x781d), + CodeunitRange(0x7820, 0x7823), + CodeunitRange(0x7825, 0x7827), + CodeunitRange(0x782c, 0x782e), + CodeunitRange(0x7830, 0x7830), + CodeunitRange(0x7832, 0x7832), + CodeunitRange(0x7834, 0x7835), + CodeunitRange(0x7837, 0x7837), + CodeunitRange(0x783a, 0x783a), + CodeunitRange(0x783f, 0x783f), + CodeunitRange(0x7843, 0x7845), + CodeunitRange(0x7847, 0x7848), + CodeunitRange(0x784c, 0x784c), + CodeunitRange(0x784e, 0x784f), + CodeunitRange(0x7851, 0x7852), + CodeunitRange(0x785c, 0x785e), + CodeunitRange(0x7860, 0x7861), + CodeunitRange(0x7863, 0x7864), + CodeunitRange(0x7868, 0x7868), + CodeunitRange(0x786a, 0x786c), + CodeunitRange(0x786e, 0x786f), + CodeunitRange(0x7872, 0x7872), + CodeunitRange(0x7874, 0x7874), + CodeunitRange(0x787a, 0x787a), + CodeunitRange(0x787c, 0x787c), + CodeunitRange(0x787e, 0x787e), + CodeunitRange(0x7881, 0x7881), + CodeunitRange(0x7886, 0x7887), + CodeunitRange(0x788a, 0x788a), + CodeunitRange(0x788c, 0x788f), + CodeunitRange(0x7891, 0x7891), + CodeunitRange(0x7893, 0x7895), + CodeunitRange(0x7897, 0x7898), + CodeunitRange(0x789a, 0x789a), + CodeunitRange(0x789d, 0x789f), + CodeunitRange(0x78a1, 0x78a1), + CodeunitRange(0x78a3, 0x78a4), + CodeunitRange(0x78a7, 0x78aa), + CodeunitRange(0x78ac, 0x78ad), + CodeunitRange(0x78af, 0x78b3), + CodeunitRange(0x78b5, 0x78b5), + CodeunitRange(0x78ba, 0x78bf), + CodeunitRange(0x78c1, 0x78c1), + CodeunitRange(0x78c5, 0x78cc), + CodeunitRange(0x78ce, 0x78ce), + CodeunitRange(0x78d0, 0x78d6), + CodeunitRange(0x78da, 0x78db), + CodeunitRange(0x78df, 0x78e1), + CodeunitRange(0x78e4, 0x78e4), + CodeunitRange(0x78e6, 0x78e8), + CodeunitRange(0x78ea, 0x78ea), + CodeunitRange(0x78ec, 0x78ec), + CodeunitRange(0x78ef, 0x78ef), + CodeunitRange(0x78f2, 0x78f4), + CodeunitRange(0x78f6, 0x78f7), + CodeunitRange(0x78f9, 0x78fb), + CodeunitRange(0x78fd, 0x7901), + CodeunitRange(0x7906, 0x7907), + CodeunitRange(0x790c, 0x790c), + CodeunitRange(0x790e, 0x790e), + CodeunitRange(0x7910, 0x7912), + CodeunitRange(0x7919, 0x791c), + CodeunitRange(0x791e, 0x7920), + CodeunitRange(0x7925, 0x792e), + CodeunitRange(0x7930, 0x7931), + CodeunitRange(0x7934, 0x7935), + CodeunitRange(0x793a, 0x7942), + CodeunitRange(0x7944, 0x794b), + CodeunitRange(0x794f, 0x7951), + CodeunitRange(0x7953, 0x7958), + CodeunitRange(0x795a, 0x7960), + CodeunitRange(0x7962, 0x7962), + CodeunitRange(0x7965, 0x7965), + CodeunitRange(0x7967, 0x7969), + CodeunitRange(0x796b, 0x796b), + CodeunitRange(0x796d, 0x796d), + CodeunitRange(0x7972, 0x7972), + CodeunitRange(0x7977, 0x7977), + CodeunitRange(0x7979, 0x797c), + CodeunitRange(0x797e, 0x7981), + CodeunitRange(0x7984, 0x7985), + CodeunitRange(0x798a, 0x798f), + CodeunitRange(0x7991, 0x7991), + CodeunitRange(0x7993, 0x7996), + CodeunitRange(0x7998, 0x7998), + CodeunitRange(0x799b, 0x799d), + CodeunitRange(0x79a1, 0x79a1), + CodeunitRange(0x79a6, 0x79ab), + CodeunitRange(0x79ae, 0x79b1), + CodeunitRange(0x79b3, 0x79b4), + CodeunitRange(0x79b8, 0x79bb), + CodeunitRange(0x79bd, 0x79c2), + CodeunitRange(0x79c4, 0x79c4), + CodeunitRange(0x79c7, 0x79cd), + CodeunitRange(0x79cf, 0x79cf), + CodeunitRange(0x79d1, 0x79d2), + CodeunitRange(0x79d4, 0x79d6), + CodeunitRange(0x79d8, 0x79d8), + CodeunitRange(0x79da, 0x79da), + CodeunitRange(0x79dd, 0x79e7), + CodeunitRange(0x79e9, 0x79ed), + CodeunitRange(0x79f0, 0x79f1), + CodeunitRange(0x79f8, 0x79f8), + CodeunitRange(0x79fb, 0x79fc), + CodeunitRange(0x7a00, 0x7a00), + CodeunitRange(0x7a02, 0x7a03), + CodeunitRange(0x7a05, 0x7a05), + CodeunitRange(0x7a07, 0x7a0e), + CodeunitRange(0x7a11, 0x7a11), + CodeunitRange(0x7a14, 0x7a15), + CodeunitRange(0x7a17, 0x7a1c), + CodeunitRange(0x7a1e, 0x7a21), + CodeunitRange(0x7a27, 0x7a27), + CodeunitRange(0x7a2b, 0x7a2b), + CodeunitRange(0x7a2d, 0x7a32), + CodeunitRange(0x7a34, 0x7a35), + CodeunitRange(0x7a37, 0x7a40), + CodeunitRange(0x7a42, 0x7a49), + CodeunitRange(0x7a4c, 0x7a50), + CodeunitRange(0x7a55, 0x7a57), + CodeunitRange(0x7a59, 0x7a59), + CodeunitRange(0x7a5c, 0x7a5d), + CodeunitRange(0x7a5f, 0x7a63), + CodeunitRange(0x7a65, 0x7a65), + CodeunitRange(0x7a67, 0x7a67), + CodeunitRange(0x7a69, 0x7a6b), + CodeunitRange(0x7a6d, 0x7a6d), + CodeunitRange(0x7a70, 0x7a70), + CodeunitRange(0x7a74, 0x7a76), + CodeunitRange(0x7a78, 0x7a7a), + CodeunitRange(0x7a7d, 0x7a86), + CodeunitRange(0x7a88, 0x7a88), + CodeunitRange(0x7a8a, 0x7a8b), + CodeunitRange(0x7a90, 0x7a98), + CodeunitRange(0x7a9e, 0x7aa0), + CodeunitRange(0x7aa3, 0x7aa3), + CodeunitRange(0x7aa9, 0x7aaa), + CodeunitRange(0x7aac, 0x7aac), + CodeunitRange(0x7aae, 0x7ab0), + CodeunitRange(0x7ab3, 0x7ab3), + CodeunitRange(0x7ab5, 0x7ab6), + CodeunitRange(0x7ab9, 0x7abf), + CodeunitRange(0x7ac3, 0x7acf), + CodeunitRange(0x7ad1, 0x7ad3), + CodeunitRange(0x7ad5, 0x7ad5), + CodeunitRange(0x7ad9, 0x7add), + CodeunitRange(0x7adf, 0x7ae3), + CodeunitRange(0x7ae5, 0x7aed), + CodeunitRange(0x7aef, 0x7af1), + CodeunitRange(0x7af4, 0x7af4), + CodeunitRange(0x7af6, 0x7af6), + CodeunitRange(0x7af8, 0x7afb), + CodeunitRange(0x7afd, 0x7aff), + CodeunitRange(0x7b02, 0x7b02), + CodeunitRange(0x7b04, 0x7b04), + CodeunitRange(0x7b06, 0x7b08), + CodeunitRange(0x7b0a, 0x7b0b), + CodeunitRange(0x7b0f, 0x7b0f), + CodeunitRange(0x7b11, 0x7b12), + CodeunitRange(0x7b14, 0x7b14), + CodeunitRange(0x7b18, 0x7b19), + CodeunitRange(0x7b1b, 0x7b1b), + CodeunitRange(0x7b1e, 0x7b20), + CodeunitRange(0x7b23, 0x7b23), + CodeunitRange(0x7b25, 0x7b31), + CodeunitRange(0x7b33, 0x7b36), + CodeunitRange(0x7b39, 0x7b39), + CodeunitRange(0x7b3b, 0x7b3b), + CodeunitRange(0x7b3d, 0x7b3d), + CodeunitRange(0x7b3f, 0x7b41), + CodeunitRange(0x7b45, 0x7b49), + CodeunitRange(0x7b4b, 0x7b56), + CodeunitRange(0x7b5d, 0x7b5d), + CodeunitRange(0x7b60, 0x7b60), + CodeunitRange(0x7b64, 0x7b67), + CodeunitRange(0x7b69, 0x7b6a), + CodeunitRange(0x7b6c, 0x7b75), + CodeunitRange(0x7b77, 0x7b77), + CodeunitRange(0x7b79, 0x7b7a), + CodeunitRange(0x7b7f, 0x7b7f), + CodeunitRange(0x7b84, 0x7b84), + CodeunitRange(0x7b86, 0x7b87), + CodeunitRange(0x7b89, 0x7b89), + CodeunitRange(0x7b8b, 0x7b8b), + CodeunitRange(0x7b8d, 0x7b92), + CodeunitRange(0x7b94, 0x7ba1), + CodeunitRange(0x7ba5, 0x7ba5), + CodeunitRange(0x7baa, 0x7baa), + CodeunitRange(0x7bac, 0x7bad), + CodeunitRange(0x7baf, 0x7bb2), + CodeunitRange(0x7bb4, 0x7bb6), + CodeunitRange(0x7bb8, 0x7bb8), + CodeunitRange(0x7bba, 0x7bbd), + CodeunitRange(0x7bc0, 0x7bc2), + CodeunitRange(0x7bc4, 0x7bcc), + CodeunitRange(0x7bcf, 0x7bcf), + CodeunitRange(0x7bd4, 0x7bd4), + CodeunitRange(0x7bd6, 0x7bd7), + CodeunitRange(0x7bd9, 0x7bdb), + CodeunitRange(0x7bdd, 0x7bdd), + CodeunitRange(0x7be0, 0x7be0), + CodeunitRange(0x7be4, 0x7be6), + CodeunitRange(0x7be8, 0x7bea), + CodeunitRange(0x7bed, 0x7bed), + CodeunitRange(0x7bf0, 0x7bf0), + CodeunitRange(0x7bf2, 0x7bfa), + CodeunitRange(0x7bfc, 0x7bfc), + CodeunitRange(0x7bfe, 0x7bfe), + CodeunitRange(0x7c00, 0x7c04), + CodeunitRange(0x7c06, 0x7c07), + CodeunitRange(0x7c09, 0x7c09), + CodeunitRange(0x7c0b, 0x7c0f), + CodeunitRange(0x7c11, 0x7c14), + CodeunitRange(0x7c17, 0x7c17), + CodeunitRange(0x7c19, 0x7c19), + CodeunitRange(0x7c1b, 0x7c1b), + CodeunitRange(0x7c1e, 0x7c21), + CodeunitRange(0x7c23, 0x7c23), + CodeunitRange(0x7c25, 0x7c28), + CodeunitRange(0x7c2a, 0x7c2c), + CodeunitRange(0x7c2f, 0x7c2f), + CodeunitRange(0x7c31, 0x7c31), + CodeunitRange(0x7c33, 0x7c34), + CodeunitRange(0x7c36, 0x7c3a), + CodeunitRange(0x7c3d, 0x7c40), + CodeunitRange(0x7c42, 0x7c43), + CodeunitRange(0x7c45, 0x7c46), + CodeunitRange(0x7c4a, 0x7c4a), + CodeunitRange(0x7c4c, 0x7c4d), + CodeunitRange(0x7c4f, 0x7c61), + CodeunitRange(0x7c63, 0x7c65), + CodeunitRange(0x7c67, 0x7c67), + CodeunitRange(0x7c69, 0x7c69), + CodeunitRange(0x7c6c, 0x7c70), + CodeunitRange(0x7c72, 0x7c73), + CodeunitRange(0x7c75, 0x7c75), + CodeunitRange(0x7c79, 0x7c79), + CodeunitRange(0x7c7b, 0x7c7e), + CodeunitRange(0x7c81, 0x7c83), + CodeunitRange(0x7c86, 0x7c87), + CodeunitRange(0x7c89, 0x7c89), + CodeunitRange(0x7c8b, 0x7c8b), + CodeunitRange(0x7c8d, 0x7c8d), + CodeunitRange(0x7c8f, 0x7c90), + CodeunitRange(0x7c92, 0x7c92), + CodeunitRange(0x7c94, 0x7c95), + CodeunitRange(0x7c97, 0x7c98), + CodeunitRange(0x7c9b, 0x7c9b), + CodeunitRange(0x7c9e, 0x7ca2), + CodeunitRange(0x7ca4, 0x7ca8), + CodeunitRange(0x7cab, 0x7cab), + CodeunitRange(0x7cad, 0x7cae), + CodeunitRange(0x7cb0, 0x7cb3), + CodeunitRange(0x7cb6, 0x7cb7), + CodeunitRange(0x7cb9, 0x7cc0), + CodeunitRange(0x7cc2, 0x7cc2), + CodeunitRange(0x7cc4, 0x7cc5), + CodeunitRange(0x7cc7, 0x7cca), + CodeunitRange(0x7ccd, 0x7ccf), + CodeunitRange(0x7cd2, 0x7cda), + CodeunitRange(0x7cdc, 0x7ce0), + CodeunitRange(0x7ce2, 0x7ce2), + CodeunitRange(0x7ce6, 0x7ce7), + CodeunitRange(0x7ce9, 0x7ce9), + CodeunitRange(0x7ceb, 0x7ceb), + CodeunitRange(0x7cef, 0x7cef), + CodeunitRange(0x7cf2, 0x7cf2), + CodeunitRange(0x7cf4, 0x7cf6), + CodeunitRange(0x7cf8, 0x7cfb), + CodeunitRange(0x7cfe, 0x7cfe), + CodeunitRange(0x7d00, 0x7d00), + CodeunitRange(0x7d02, 0x7d0b), + CodeunitRange(0x7d0d, 0x7d0d), + CodeunitRange(0x7d0f, 0x7d1e), + CodeunitRange(0x7d20, 0x7d23), + CodeunitRange(0x7d26, 0x7d26), + CodeunitRange(0x7d2a, 0x7d33), + CodeunitRange(0x7d35, 0x7d35), + CodeunitRange(0x7d39, 0x7d3a), + CodeunitRange(0x7d3c, 0x7d48), + CodeunitRange(0x7d4b, 0x7d51), + CodeunitRange(0x7d53, 0x7d53), + CodeunitRange(0x7d55, 0x7d57), + CodeunitRange(0x7d59, 0x7d5e), + CodeunitRange(0x7d61, 0x7d63), + CodeunitRange(0x7d65, 0x7d68), + CodeunitRange(0x7d6a, 0x7d6a), + CodeunitRange(0x7d6e, 0x7d6e), + CodeunitRange(0x7d70, 0x7d73), + CodeunitRange(0x7d75, 0x7d76), + CodeunitRange(0x7d78, 0x7d7b), + CodeunitRange(0x7d7d, 0x7d7d), + CodeunitRange(0x7d7f, 0x7d7f), + CodeunitRange(0x7d81, 0x7d83), + CodeunitRange(0x7d85, 0x7d86), + CodeunitRange(0x7d88, 0x7d89), + CodeunitRange(0x7d8b, 0x7d8d), + CodeunitRange(0x7d8f, 0x7d8f), + CodeunitRange(0x7d91, 0x7d91), + CodeunitRange(0x7d93, 0x7d93), + CodeunitRange(0x7d96, 0x7d97), + CodeunitRange(0x7d99, 0x7da0), + CodeunitRange(0x7da2, 0x7da3), + CodeunitRange(0x7da6, 0x7da7), + CodeunitRange(0x7daa, 0x7dbb), + CodeunitRange(0x7dbd, 0x7dc0), + CodeunitRange(0x7dc2, 0x7dc7), + CodeunitRange(0x7dca, 0x7dd2), + CodeunitRange(0x7dd5, 0x7dda), + CodeunitRange(0x7ddc, 0x7dde), + CodeunitRange(0x7de0, 0x7de6), + CodeunitRange(0x7de8, 0x7ded), + CodeunitRange(0x7def, 0x7def), + CodeunitRange(0x7df1, 0x7df2), + CodeunitRange(0x7df4, 0x7df6), + CodeunitRange(0x7df9, 0x7dfb), + CodeunitRange(0x7e00, 0x7e01), + CodeunitRange(0x7e04, 0x7e05), + CodeunitRange(0x7e08, 0x7e0b), + CodeunitRange(0x7e10, 0x7e12), + CodeunitRange(0x7e15, 0x7e15), + CodeunitRange(0x7e17, 0x7e17), + CodeunitRange(0x7e1b, 0x7e23), + CodeunitRange(0x7e26, 0x7e28), + CodeunitRange(0x7e2b, 0x7e2f), + CodeunitRange(0x7e31, 0x7e33), + CodeunitRange(0x7e35, 0x7e37), + CodeunitRange(0x7e39, 0x7e3b), + CodeunitRange(0x7e3d, 0x7e3f), + CodeunitRange(0x7e41, 0x7e41), + CodeunitRange(0x7e43, 0x7e48), + CodeunitRange(0x7e4a, 0x7e4b), + CodeunitRange(0x7e4d, 0x7e4e), + CodeunitRange(0x7e50, 0x7e50), + CodeunitRange(0x7e52, 0x7e52), + CodeunitRange(0x7e54, 0x7e56), + CodeunitRange(0x7e58, 0x7e5a), + CodeunitRange(0x7e5d, 0x7e5f), + CodeunitRange(0x7e61, 0x7e62), + CodeunitRange(0x7e65, 0x7e67), + CodeunitRange(0x7e69, 0x7e6b), + CodeunitRange(0x7e6d, 0x7e70), + CodeunitRange(0x7e73, 0x7e73), + CodeunitRange(0x7e75, 0x7e75), + CodeunitRange(0x7e78, 0x7e79), + CodeunitRange(0x7e7b, 0x7e7f), + CodeunitRange(0x7e81, 0x7e83), + CodeunitRange(0x7e86, 0x7e8a), + CodeunitRange(0x7e8c, 0x7e96), + CodeunitRange(0x7e98, 0x7e98), + CodeunitRange(0x7e9a, 0x7e9f), + CodeunitRange(0x7f36, 0x7f36), + CodeunitRange(0x7f38, 0x7f38), + CodeunitRange(0x7f3a, 0x7f3f), + CodeunitRange(0x7f43, 0x7f45), + CodeunitRange(0x7f47, 0x7f47), + CodeunitRange(0x7f4c, 0x7f55), + CodeunitRange(0x7f58, 0x7f58), + CodeunitRange(0x7f5b, 0x7f5d), + CodeunitRange(0x7f5f, 0x7f61), + CodeunitRange(0x7f63, 0x7f6b), + CodeunitRange(0x7f6d, 0x7f6e), + CodeunitRange(0x7f70, 0x7f72), + CodeunitRange(0x7f75, 0x7f75), + CodeunitRange(0x7f77, 0x7f79), + CodeunitRange(0x7f7d, 0x7f80), + CodeunitRange(0x7f82, 0x7f83), + CodeunitRange(0x7f85, 0x7f88), + CodeunitRange(0x7f8a, 0x7f91), + CodeunitRange(0x7f94, 0x7f94), + CodeunitRange(0x7f96, 0x7f97), + CodeunitRange(0x7f9a, 0x7f9a), + CodeunitRange(0x7f9c, 0x7f9e), + CodeunitRange(0x7fa1, 0x7fa4), + CodeunitRange(0x7fa6, 0x7fa6), + CodeunitRange(0x7fa8, 0x7faa), + CodeunitRange(0x7fad, 0x7faf), + CodeunitRange(0x7fb2, 0x7fb2), + CodeunitRange(0x7fb4, 0x7fb4), + CodeunitRange(0x7fb6, 0x7fb6), + CodeunitRange(0x7fb8, 0x7fb9), + CodeunitRange(0x7fbc, 0x7fbd), + CodeunitRange(0x7fbf, 0x7fc1), + CodeunitRange(0x7fc3, 0x7fc3), + CodeunitRange(0x7fc5, 0x7fc6), + CodeunitRange(0x7fc8, 0x7fc8), + CodeunitRange(0x7fca, 0x7fca), + CodeunitRange(0x7fcc, 0x7fcc), + CodeunitRange(0x7fce, 0x7fcf), + CodeunitRange(0x7fd2, 0x7fd2), + CodeunitRange(0x7fd4, 0x7fd5), + CodeunitRange(0x7fdb, 0x7fdb), + CodeunitRange(0x7fdf, 0x7fe1), + CodeunitRange(0x7fe3, 0x7fe3), + CodeunitRange(0x7fe5, 0x7fe6), + CodeunitRange(0x7fe8, 0x7fe9), + CodeunitRange(0x7feb, 0x7fec), + CodeunitRange(0x7fee, 0x7ff0), + CodeunitRange(0x7ff2, 0x7ff3), + CodeunitRange(0x7ff9, 0x8008), + CodeunitRange(0x800a, 0x8019), + CodeunitRange(0x801c, 0x8021), + CodeunitRange(0x8024, 0x8024), + CodeunitRange(0x8026, 0x8026), + CodeunitRange(0x8028, 0x8028), + CodeunitRange(0x802c, 0x802c), + CodeunitRange(0x802e, 0x802e), + CodeunitRange(0x8030, 0x8030), + CodeunitRange(0x8033, 0x8037), + CodeunitRange(0x8039, 0x8040), + CodeunitRange(0x8043, 0x8044), + CodeunitRange(0x8046, 0x8046), + CodeunitRange(0x804a, 0x804a), + CodeunitRange(0x8052, 0x8052), + CodeunitRange(0x8056, 0x8056), + CodeunitRange(0x8058, 0x8058), + CodeunitRange(0x805a, 0x805a), + CodeunitRange(0x805e, 0x8062), + CodeunitRange(0x8064, 0x8064), + CodeunitRange(0x8066, 0x8066), + CodeunitRange(0x8068, 0x8068), + CodeunitRange(0x806d, 0x806d), + CodeunitRange(0x806f, 0x8077), + CodeunitRange(0x8079, 0x8079), + CodeunitRange(0x807b, 0x807b), + CodeunitRange(0x807d, 0x8081), + CodeunitRange(0x8084, 0x8089), + CodeunitRange(0x808b, 0x808c), + CodeunitRange(0x808e, 0x808e), + CodeunitRange(0x8093, 0x8093), + CodeunitRange(0x8096, 0x8096), + CodeunitRange(0x8098, 0x809e), + CodeunitRange(0x80a1, 0x80a2), + CodeunitRange(0x80a4, 0x80a7), + CodeunitRange(0x80a9, 0x80ad), + CodeunitRange(0x80af, 0x80af), + CodeunitRange(0x80b1, 0x80b2), + CodeunitRange(0x80b4, 0x80b4), + CodeunitRange(0x80b8, 0x80ba), + CodeunitRange(0x80c3, 0x80c6), + CodeunitRange(0x80c8, 0x80c8), + CodeunitRange(0x80ca, 0x80ca), + CodeunitRange(0x80cc, 0x80cf), + CodeunitRange(0x80d2, 0x80d2), + CodeunitRange(0x80d4, 0x80db), + CodeunitRange(0x80dd, 0x80de), + CodeunitRange(0x80e0, 0x80e1), + CodeunitRange(0x80e4, 0x80e6), + CodeunitRange(0x80ed, 0x80fe), + CodeunitRange(0x8101, 0x8103), + CodeunitRange(0x8105, 0x810b), + CodeunitRange(0x810d, 0x810d), + CodeunitRange(0x8116, 0x8118), + CodeunitRange(0x811a, 0x811c), + CodeunitRange(0x811e, 0x811e), + CodeunitRange(0x8120, 0x8120), + CodeunitRange(0x8123, 0x8124), + CodeunitRange(0x8127, 0x8127), + CodeunitRange(0x8129, 0x8129), + CodeunitRange(0x812b, 0x812c), + CodeunitRange(0x812f, 0x8131), + CodeunitRange(0x8133, 0x8133), + CodeunitRange(0x8135, 0x8135), + CodeunitRange(0x8139, 0x813a), + CodeunitRange(0x813c, 0x813e), + CodeunitRange(0x8141, 0x8141), + CodeunitRange(0x8145, 0x8147), + CodeunitRange(0x814a, 0x814c), + CodeunitRange(0x814e, 0x814e), + CodeunitRange(0x8150, 0x8155), + CodeunitRange(0x8157, 0x8157), + CodeunitRange(0x815f, 0x8161), + CodeunitRange(0x8165, 0x8169), + CodeunitRange(0x816b, 0x816b), + CodeunitRange(0x816d, 0x8171), + CodeunitRange(0x8173, 0x8174), + CodeunitRange(0x8177, 0x817a), + CodeunitRange(0x817f, 0x8186), + CodeunitRange(0x8188, 0x8188), + CodeunitRange(0x818a, 0x818b), + CodeunitRange(0x818e, 0x8190), + CodeunitRange(0x8193, 0x8193), + CodeunitRange(0x8195, 0x8196), + CodeunitRange(0x8198, 0x8198), + CodeunitRange(0x819a, 0x819e), + CodeunitRange(0x81a0, 0x81a0), + CodeunitRange(0x81a2, 0x81a4), + CodeunitRange(0x81a8, 0x81a9), + CodeunitRange(0x81ae, 0x81ae), + CodeunitRange(0x81b0, 0x81b0), + CodeunitRange(0x81b2, 0x81b5), + CodeunitRange(0x81b8, 0x81b8), + CodeunitRange(0x81ba, 0x81bb), + CodeunitRange(0x81bd, 0x81c3), + CodeunitRange(0x81c5, 0x81c6), + CodeunitRange(0x81c8, 0x81cb), + CodeunitRange(0x81cd, 0x81cf), + CodeunitRange(0x81d1, 0x81d1), + CodeunitRange(0x81d3, 0x81d3), + CodeunitRange(0x81d5, 0x81db), + CodeunitRange(0x81dd, 0x81e1), + CodeunitRange(0x81e3, 0x81e5), + CodeunitRange(0x81e7, 0x81e8), + CodeunitRange(0x81ea, 0x81ed), + CodeunitRange(0x81ef, 0x81f6), + CodeunitRange(0x81f8, 0x8205), + CodeunitRange(0x8207, 0x8210), + CodeunitRange(0x8212, 0x8214), + CodeunitRange(0x8216, 0x821f), + CodeunitRange(0x8221, 0x8222), + CodeunitRange(0x8228, 0x822c), + CodeunitRange(0x822e, 0x822e), + CodeunitRange(0x8232, 0x823a), + CodeunitRange(0x823c, 0x823c), + CodeunitRange(0x8240, 0x8240), + CodeunitRange(0x8243, 0x8247), + CodeunitRange(0x8249, 0x8249), + CodeunitRange(0x824b, 0x824b), + CodeunitRange(0x824e, 0x824f), + CodeunitRange(0x8251, 0x8251), + CodeunitRange(0x8256, 0x825a), + CodeunitRange(0x825c, 0x825d), + CodeunitRange(0x825f, 0x8260), + CodeunitRange(0x8262, 0x8264), + CodeunitRange(0x8266, 0x8268), + CodeunitRange(0x826a, 0x826b), + CodeunitRange(0x826d, 0x826f), + CodeunitRange(0x8271, 0x8272), + CodeunitRange(0x8274, 0x8274), + CodeunitRange(0x8276, 0x8279), + CodeunitRange(0x827b, 0x827b), + CodeunitRange(0x827d, 0x8281), + CodeunitRange(0x8283, 0x8284), + CodeunitRange(0x8287, 0x8287), + CodeunitRange(0x8289, 0x828b), + CodeunitRange(0x828d, 0x828e), + CodeunitRange(0x8291, 0x8294), + CodeunitRange(0x8296, 0x8296), + CodeunitRange(0x8298, 0x829b), + CodeunitRange(0x829d, 0x829d), + CodeunitRange(0x829f, 0x82a1), + CodeunitRange(0x82a3, 0x82b4), + CodeunitRange(0x82b7, 0x82bf), + CodeunitRange(0x82c5, 0x82c6), + CodeunitRange(0x82d0, 0x82d5), + CodeunitRange(0x82d7, 0x82d7), + CodeunitRange(0x82d9, 0x82dc), + CodeunitRange(0x82de, 0x82e8), + CodeunitRange(0x82ea, 0x82eb), + CodeunitRange(0x82ed, 0x82ed), + CodeunitRange(0x82ef, 0x82ef), + CodeunitRange(0x82f1, 0x82f1), + CodeunitRange(0x82f3, 0x82f4), + CodeunitRange(0x82f6, 0x82f7), + CodeunitRange(0x82f9, 0x82fb), + CodeunitRange(0x82fd, 0x82fe), + CodeunitRange(0x8300, 0x830c), + CodeunitRange(0x830e, 0x830e), + CodeunitRange(0x8316, 0x8318), + CodeunitRange(0x831b, 0x831f), + CodeunitRange(0x8321, 0x8323), + CodeunitRange(0x8328, 0x8328), + CodeunitRange(0x832b, 0x833a), + CodeunitRange(0x833c, 0x833d), + CodeunitRange(0x8340, 0x8340), + CodeunitRange(0x8342, 0x8347), + CodeunitRange(0x8349, 0x834a), + CodeunitRange(0x834d, 0x8358), + CodeunitRange(0x835a, 0x835a), + CodeunitRange(0x8362, 0x8363), + CodeunitRange(0x8370, 0x8370), + CodeunitRange(0x8373, 0x8373), + CodeunitRange(0x8375, 0x8375), + CodeunitRange(0x8377, 0x8378), + CodeunitRange(0x837b, 0x837d), + CodeunitRange(0x837f, 0x8380), + CodeunitRange(0x8382, 0x8382), + CodeunitRange(0x8384, 0x8387), + CodeunitRange(0x8389, 0x838a), + CodeunitRange(0x838d, 0x838e), + CodeunitRange(0x8392, 0x8396), + CodeunitRange(0x8398, 0x83a0), + CodeunitRange(0x83a2, 0x83a2), + CodeunitRange(0x83a6, 0x83ad), + CodeunitRange(0x83b1, 0x83b1), + CodeunitRange(0x83b5, 0x83b5), + CodeunitRange(0x83bd, 0x83c1), + CodeunitRange(0x83c5, 0x83c5), + CodeunitRange(0x83c7, 0x83c7), + CodeunitRange(0x83c9, 0x83ca), + CodeunitRange(0x83cc, 0x83cc), + CodeunitRange(0x83ce, 0x83d1), + CodeunitRange(0x83d3, 0x83d4), + CodeunitRange(0x83d6, 0x83d6), + CodeunitRange(0x83d8, 0x83d8), + CodeunitRange(0x83dc, 0x83dd), + CodeunitRange(0x83df, 0x83e1), + CodeunitRange(0x83e5, 0x83e5), + CodeunitRange(0x83e8, 0x83eb), + CodeunitRange(0x83ef, 0x83f2), + CodeunitRange(0x83f4, 0x83f4), + CodeunitRange(0x83f6, 0x83f9), + CodeunitRange(0x83fb, 0x83fd), + CodeunitRange(0x8401, 0x8401), + CodeunitRange(0x8403, 0x8404), + CodeunitRange(0x8406, 0x8407), + CodeunitRange(0x840a, 0x840f), + CodeunitRange(0x8411, 0x8411), + CodeunitRange(0x8413, 0x8413), + CodeunitRange(0x8415, 0x8415), + CodeunitRange(0x8417, 0x8417), + CodeunitRange(0x8419, 0x8419), + CodeunitRange(0x8420, 0x8420), + CodeunitRange(0x8422, 0x8422), + CodeunitRange(0x8429, 0x842a), + CodeunitRange(0x842c, 0x842c), + CodeunitRange(0x842f, 0x842f), + CodeunitRange(0x8431, 0x8431), + CodeunitRange(0x8435, 0x8435), + CodeunitRange(0x8438, 0x8439), + CodeunitRange(0x843c, 0x843d), + CodeunitRange(0x8445, 0x844a), + CodeunitRange(0x844d, 0x844f), + CodeunitRange(0x8451, 0x8452), + CodeunitRange(0x8456, 0x845c), + CodeunitRange(0x845f, 0x8467), + CodeunitRange(0x8469, 0x8471), + CodeunitRange(0x8473, 0x847a), + CodeunitRange(0x847c, 0x847d), + CodeunitRange(0x8481, 0x8482), + CodeunitRange(0x8484, 0x8485), + CodeunitRange(0x848b, 0x848b), + CodeunitRange(0x8490, 0x8490), + CodeunitRange(0x8492, 0x8495), + CodeunitRange(0x8497, 0x8497), + CodeunitRange(0x8499, 0x8499), + CodeunitRange(0x849c, 0x849c), + CodeunitRange(0x849e, 0x849f), + CodeunitRange(0x84a1, 0x84a1), + CodeunitRange(0x84a6, 0x84a6), + CodeunitRange(0x84a8, 0x84aa), + CodeunitRange(0x84ad, 0x84ad), + CodeunitRange(0x84af, 0x84af), + CodeunitRange(0x84b1, 0x84b2), + CodeunitRange(0x84b4, 0x84b4), + CodeunitRange(0x84b8, 0x84c2), + CodeunitRange(0x84c4, 0x84c4), + CodeunitRange(0x84c6, 0x84d1), + CodeunitRange(0x84d3, 0x84d3), + CodeunitRange(0x84d6, 0x84d6), + CodeunitRange(0x84d9, 0x84da), + CodeunitRange(0x84dc, 0x84dc), + CodeunitRange(0x84e7, 0x84e7), + CodeunitRange(0x84ea, 0x84ea), + CodeunitRange(0x84ec, 0x84ec), + CodeunitRange(0x84ee, 0x84f2), + CodeunitRange(0x84f4, 0x84f4), + CodeunitRange(0x84f7, 0x84f7), + CodeunitRange(0x84fa, 0x84fd), + CodeunitRange(0x84ff, 0x8500), + CodeunitRange(0x8502, 0x8503), + CodeunitRange(0x8506, 0x8507), + CodeunitRange(0x850c, 0x850c), + CodeunitRange(0x850e, 0x850e), + CodeunitRange(0x8510, 0x8511), + CodeunitRange(0x8513, 0x8515), + CodeunitRange(0x8517, 0x8518), + CodeunitRange(0x851a, 0x851c), + CodeunitRange(0x851e, 0x851f), + CodeunitRange(0x8521, 0x8527), + CodeunitRange(0x852a, 0x852d), + CodeunitRange(0x852f, 0x852f), + CodeunitRange(0x8532, 0x8536), + CodeunitRange(0x853d, 0x8541), + CodeunitRange(0x8543, 0x8543), + CodeunitRange(0x8546, 0x8546), + CodeunitRange(0x8548, 0x854b), + CodeunitRange(0x854e, 0x8553), + CodeunitRange(0x8555, 0x855a), + CodeunitRange(0x855c, 0x8564), + CodeunitRange(0x8568, 0x856b), + CodeunitRange(0x856d, 0x856d), + CodeunitRange(0x856f, 0x856f), + CodeunitRange(0x8577, 0x8577), + CodeunitRange(0x8579, 0x857b), + CodeunitRange(0x857d, 0x8581), + CodeunitRange(0x8584, 0x858c), + CodeunitRange(0x858f, 0x8591), + CodeunitRange(0x8593, 0x8594), + CodeunitRange(0x8597, 0x8599), + CodeunitRange(0x859b, 0x859d), + CodeunitRange(0x859f, 0x85a0), + CodeunitRange(0x85a2, 0x85a2), + CodeunitRange(0x85a4, 0x85b0), + CodeunitRange(0x85b4, 0x85b4), + CodeunitRange(0x85b6, 0x85ba), + CodeunitRange(0x85bc, 0x85bf), + CodeunitRange(0x85c1, 0x85c2), + CodeunitRange(0x85c7, 0x85c7), + CodeunitRange(0x85c9, 0x85cb), + CodeunitRange(0x85cd, 0x85d0), + CodeunitRange(0x85d5, 0x85d5), + CodeunitRange(0x85d8, 0x85da), + CodeunitRange(0x85dc, 0x85dd), + CodeunitRange(0x85df, 0x85e1), + CodeunitRange(0x85e4, 0x85e6), + CodeunitRange(0x85e8, 0x85ea), + CodeunitRange(0x85ed, 0x85ed), + CodeunitRange(0x85f3, 0x85f4), + CodeunitRange(0x85f6, 0x85f7), + CodeunitRange(0x85f9, 0x85fc), + CodeunitRange(0x85fe, 0x8600), + CodeunitRange(0x8602, 0x8602), + CodeunitRange(0x8604, 0x8607), + CodeunitRange(0x860a, 0x860b), + CodeunitRange(0x860d, 0x860e), + CodeunitRange(0x8610, 0x8613), + CodeunitRange(0x8616, 0x861b), + CodeunitRange(0x861e, 0x861e), + CodeunitRange(0x8621, 0x8622), + CodeunitRange(0x8624, 0x8624), + CodeunitRange(0x8627, 0x8627), + CodeunitRange(0x8629, 0x8629), + CodeunitRange(0x862d, 0x862d), + CodeunitRange(0x862f, 0x8630), + CodeunitRange(0x8636, 0x8636), + CodeunitRange(0x8638, 0x863a), + CodeunitRange(0x863c, 0x863d), + CodeunitRange(0x863f, 0x8642), + CodeunitRange(0x8646, 0x8646), + CodeunitRange(0x864d, 0x864e), + CodeunitRange(0x8650, 0x8650), + CodeunitRange(0x8652, 0x8664), + CodeunitRange(0x8667, 0x8667), + CodeunitRange(0x8669, 0x8669), + CodeunitRange(0x866b, 0x866c), + CodeunitRange(0x866f, 0x866f), + CodeunitRange(0x8671, 0x8671), + CodeunitRange(0x8675, 0x8677), + CodeunitRange(0x8679, 0x867b), + CodeunitRange(0x867d, 0x867d), + CodeunitRange(0x8687, 0x868d), + CodeunitRange(0x8691, 0x8691), + CodeunitRange(0x8693, 0x8693), + CodeunitRange(0x8695, 0x8696), + CodeunitRange(0x8698, 0x8698), + CodeunitRange(0x869a, 0x869a), + CodeunitRange(0x869c, 0x869d), + CodeunitRange(0x86a1, 0x86a1), + CodeunitRange(0x86a3, 0x86a4), + CodeunitRange(0x86a6, 0x86ab), + CodeunitRange(0x86ad, 0x86ad), + CodeunitRange(0x86af, 0x86b1), + CodeunitRange(0x86b3, 0x86b9), + CodeunitRange(0x86bf, 0x86c1), + CodeunitRange(0x86c3, 0x86c7), + CodeunitRange(0x86c9, 0x86c9), + CodeunitRange(0x86cb, 0x86cb), + CodeunitRange(0x86cd, 0x86ce), + CodeunitRange(0x86d1, 0x86d2), + CodeunitRange(0x86d4, 0x86d5), + CodeunitRange(0x86d7, 0x86d7), + CodeunitRange(0x86d9, 0x86dc), + CodeunitRange(0x86de, 0x86e0), + CodeunitRange(0x86e3, 0x86e7), + CodeunitRange(0x86e9, 0x86e9), + CodeunitRange(0x86ec, 0x86ef), + CodeunitRange(0x86f8, 0x86fe), + CodeunitRange(0x8700, 0x8700), + CodeunitRange(0x8702, 0x870b), + CodeunitRange(0x870d, 0x8714), + CodeunitRange(0x8718, 0x871a), + CodeunitRange(0x871c, 0x871c), + CodeunitRange(0x871e, 0x871f), + CodeunitRange(0x8721, 0x8723), + CodeunitRange(0x8725, 0x8725), + CodeunitRange(0x8728, 0x8729), + CodeunitRange(0x872e, 0x872f), + CodeunitRange(0x8731, 0x8732), + CodeunitRange(0x8734, 0x8734), + CodeunitRange(0x8737, 0x8737), + CodeunitRange(0x8739, 0x8740), + CodeunitRange(0x8743, 0x8743), + CodeunitRange(0x8745, 0x8745), + CodeunitRange(0x8749, 0x8749), + CodeunitRange(0x874b, 0x874e), + CodeunitRange(0x8751, 0x8751), + CodeunitRange(0x8753, 0x8753), + CodeunitRange(0x8755, 0x8755), + CodeunitRange(0x8757, 0x8759), + CodeunitRange(0x875d, 0x875d), + CodeunitRange(0x875f, 0x8761), + CodeunitRange(0x8763, 0x8766), + CodeunitRange(0x8768, 0x8768), + CodeunitRange(0x876a, 0x876a), + CodeunitRange(0x876e, 0x876f), + CodeunitRange(0x8771, 0x8772), + CodeunitRange(0x8774, 0x8774), + CodeunitRange(0x8776, 0x8776), + CodeunitRange(0x8778, 0x8778), + CodeunitRange(0x877b, 0x877c), + CodeunitRange(0x877f, 0x877f), + CodeunitRange(0x8782, 0x8789), + CodeunitRange(0x878b, 0x878e), + CodeunitRange(0x8790, 0x8790), + CodeunitRange(0x8793, 0x8793), + CodeunitRange(0x8795, 0x8795), + CodeunitRange(0x8797, 0x8799), + CodeunitRange(0x879e, 0x87a0), + CodeunitRange(0x87a2, 0x87a3), + CodeunitRange(0x87a7, 0x87a7), + CodeunitRange(0x87ab, 0x87af), + CodeunitRange(0x87b1, 0x87b1), + CodeunitRange(0x87b3, 0x87b3), + CodeunitRange(0x87b5, 0x87b5), + CodeunitRange(0x87ba, 0x87bb), + CodeunitRange(0x87bd, 0x87c1), + CodeunitRange(0x87c4, 0x87c4), + CodeunitRange(0x87c6, 0x87cb), + CodeunitRange(0x87ce, 0x87ce), + CodeunitRange(0x87d0, 0x87d0), + CodeunitRange(0x87d2, 0x87d2), + CodeunitRange(0x87d5, 0x87d6), + CodeunitRange(0x87d9, 0x87da), + CodeunitRange(0x87dc, 0x87dc), + CodeunitRange(0x87df, 0x87e0), + CodeunitRange(0x87e2, 0x87e6), + CodeunitRange(0x87ea, 0x87ed), + CodeunitRange(0x87ef, 0x87ef), + CodeunitRange(0x87f1, 0x87f3), + CodeunitRange(0x87f5, 0x87fb), + CodeunitRange(0x87fe, 0x87ff), + CodeunitRange(0x8801, 0x8801), + CodeunitRange(0x8803, 0x8803), + CodeunitRange(0x8805, 0x8807), + CodeunitRange(0x8809, 0x880b), + CodeunitRange(0x880d, 0x8816), + CodeunitRange(0x8818, 0x881c), + CodeunitRange(0x881e, 0x881f), + CodeunitRange(0x8821, 0x8823), + CodeunitRange(0x8827, 0x8828), + CodeunitRange(0x882d, 0x882e), + CodeunitRange(0x8830, 0x8832), + CodeunitRange(0x8835, 0x8836), + CodeunitRange(0x8839, 0x883c), + CodeunitRange(0x8840, 0x8846), + CodeunitRange(0x8848, 0x884e), + CodeunitRange(0x8851, 0x8853), + CodeunitRange(0x8855, 0x8864), + CodeunitRange(0x8868, 0x8869), + CodeunitRange(0x886b, 0x886b), + CodeunitRange(0x886e, 0x8872), + CodeunitRange(0x8875, 0x8875), + CodeunitRange(0x8877, 0x8877), + CodeunitRange(0x8879, 0x8879), + CodeunitRange(0x887b, 0x887b), + CodeunitRange(0x887d, 0x8882), + CodeunitRange(0x8888, 0x8888), + CodeunitRange(0x888b, 0x888b), + CodeunitRange(0x888d, 0x888d), + CodeunitRange(0x8892, 0x8892), + CodeunitRange(0x8896, 0x889c), + CodeunitRange(0x889e, 0x88a0), + CodeunitRange(0x88a2, 0x88a2), + CodeunitRange(0x88a4, 0x88a4), + CodeunitRange(0x88a8, 0x88a8), + CodeunitRange(0x88aa, 0x88ab), + CodeunitRange(0x88ae, 0x88ae), + CodeunitRange(0x88b0, 0x88b1), + CodeunitRange(0x88b4, 0x88b5), + CodeunitRange(0x88b7, 0x88b7), + CodeunitRange(0x88ba, 0x88ba), + CodeunitRange(0x88bc, 0x88c6), + CodeunitRange(0x88ca, 0x88cf), + CodeunitRange(0x88d1, 0x88d5), + CodeunitRange(0x88d8, 0x88d9), + CodeunitRange(0x88db, 0x88e1), + CodeunitRange(0x88e7, 0x88e8), + CodeunitRange(0x88ef, 0x88f5), + CodeunitRange(0x88f7, 0x88f9), + CodeunitRange(0x88fc, 0x88fe), + CodeunitRange(0x8901, 0x8902), + CodeunitRange(0x8904, 0x8904), + CodeunitRange(0x8906, 0x8907), + CodeunitRange(0x890a, 0x890a), + CodeunitRange(0x890c, 0x8910), + CodeunitRange(0x8912, 0x8913), + CodeunitRange(0x8915, 0x8916), + CodeunitRange(0x8918, 0x891a), + CodeunitRange(0x891c, 0x891e), + CodeunitRange(0x8920, 0x8920), + CodeunitRange(0x8925, 0x8928), + CodeunitRange(0x892a, 0x892b), + CodeunitRange(0x8930, 0x8932), + CodeunitRange(0x8935, 0x893b), + CodeunitRange(0x893e, 0x893e), + CodeunitRange(0x8940, 0x8946), + CodeunitRange(0x8949, 0x8949), + CodeunitRange(0x894c, 0x894d), + CodeunitRange(0x894f, 0x894f), + CodeunitRange(0x8952, 0x8952), + CodeunitRange(0x8956, 0x8957), + CodeunitRange(0x895a, 0x895c), + CodeunitRange(0x895e, 0x8964), + CodeunitRange(0x8966, 0x8966), + CodeunitRange(0x896a, 0x896b), + CodeunitRange(0x896d, 0x8970), + CodeunitRange(0x8972, 0x8975), + CodeunitRange(0x8977, 0x8977), + CodeunitRange(0x897a, 0x8981), + CodeunitRange(0x8983, 0x8983), + CodeunitRange(0x8986, 0x898b), + CodeunitRange(0x898d, 0x898d), + CodeunitRange(0x898f, 0x8990), + CodeunitRange(0x8993, 0x8998), + CodeunitRange(0x899a, 0x899c), + CodeunitRange(0x899f, 0x89a1), + CodeunitRange(0x89a5, 0x89a7), + CodeunitRange(0x89a9, 0x89aa), + CodeunitRange(0x89ac, 0x89ac), + CodeunitRange(0x89af, 0x89b0), + CodeunitRange(0x89b2, 0x89b7), + CodeunitRange(0x89ba, 0x89ba), + CodeunitRange(0x89bc, 0x89bd), + CodeunitRange(0x89bf, 0x89c1), + CodeunitRange(0x89d2, 0x89d2), + CodeunitRange(0x89d4, 0x89d8), + CodeunitRange(0x89da, 0x89da), + CodeunitRange(0x89dc, 0x89dd), + CodeunitRange(0x89e3, 0x89e3), + CodeunitRange(0x89e5, 0x89e7), + CodeunitRange(0x89e9, 0x89e9), + CodeunitRange(0x89eb, 0x89eb), + CodeunitRange(0x89ed, 0x89ed), + CodeunitRange(0x89f1, 0x89f1), + CodeunitRange(0x89f3, 0x89f4), + CodeunitRange(0x89f6, 0x89f6), + CodeunitRange(0x89f8, 0x89f9), + CodeunitRange(0x89fd, 0x89fd), + CodeunitRange(0x89ff, 0x8a05), + CodeunitRange(0x8a07, 0x8a08), + CodeunitRange(0x8a0a, 0x8a0a), + CodeunitRange(0x8a0c, 0x8a0c), + CodeunitRange(0x8a0e, 0x8a18), + CodeunitRange(0x8a1b, 0x8a1b), + CodeunitRange(0x8a1d, 0x8a26), + CodeunitRange(0x8a2a, 0x8a2d), + CodeunitRange(0x8a2f, 0x8a2f), + CodeunitRange(0x8a31, 0x8a31), + CodeunitRange(0x8a33, 0x8a37), + CodeunitRange(0x8a3a, 0x8a3e), + CodeunitRange(0x8a40, 0x8a41), + CodeunitRange(0x8a43, 0x8a43), + CodeunitRange(0x8a45, 0x8a49), + CodeunitRange(0x8a4d, 0x8a4e), + CodeunitRange(0x8a50, 0x8a58), + CodeunitRange(0x8a5b, 0x8a5e), + CodeunitRange(0x8a60, 0x8a63), + CodeunitRange(0x8a65, 0x8a67), + CodeunitRange(0x8a69, 0x8a69), + CodeunitRange(0x8a6b, 0x8a6e), + CodeunitRange(0x8a70, 0x8a73), + CodeunitRange(0x8a75, 0x8a77), + CodeunitRange(0x8a79, 0x8a7c), + CodeunitRange(0x8a7e, 0x8a80), + CodeunitRange(0x8a82, 0x8a87), + CodeunitRange(0x8a89, 0x8a89), + CodeunitRange(0x8a8b, 0x8a8d), + CodeunitRange(0x8a8f, 0x8a93), + CodeunitRange(0x8a95, 0x8a9a), + CodeunitRange(0x8a9e, 0x8aa1), + CodeunitRange(0x8aa3, 0x8aaa), + CodeunitRange(0x8aac, 0x8ab0), + CodeunitRange(0x8ab2, 0x8ab3), + CodeunitRange(0x8ab6, 0x8ab7), + CodeunitRange(0x8ab9, 0x8ab9), + CodeunitRange(0x8abb, 0x8abc), + CodeunitRange(0x8abe, 0x8abf), + CodeunitRange(0x8ac2, 0x8ac4), + CodeunitRange(0x8ac6, 0x8acd), + CodeunitRange(0x8acf, 0x8ad7), + CodeunitRange(0x8ada, 0x8ae2), + CodeunitRange(0x8ae4, 0x8ae4), + CodeunitRange(0x8ae6, 0x8ae7), + CodeunitRange(0x8aeb, 0x8aee), + CodeunitRange(0x8af0, 0x8af1), + CodeunitRange(0x8af3, 0x8af8), + CodeunitRange(0x8afa, 0x8afa), + CodeunitRange(0x8afc, 0x8afc), + CodeunitRange(0x8afe, 0x8b02), + CodeunitRange(0x8b04, 0x8b07), + CodeunitRange(0x8b0a, 0x8b11), + CodeunitRange(0x8b14, 0x8b14), + CodeunitRange(0x8b16, 0x8b17), + CodeunitRange(0x8b19, 0x8b21), + CodeunitRange(0x8b26, 0x8b26), + CodeunitRange(0x8b28, 0x8b28), + CodeunitRange(0x8b2b, 0x8b2d), + CodeunitRange(0x8b30, 0x8b30), + CodeunitRange(0x8b33, 0x8b33), + CodeunitRange(0x8b37, 0x8b37), + CodeunitRange(0x8b39, 0x8b39), + CodeunitRange(0x8b3c, 0x8b3c), + CodeunitRange(0x8b3e, 0x8b3e), + CodeunitRange(0x8b41, 0x8b46), + CodeunitRange(0x8b48, 0x8b49), + CodeunitRange(0x8b4c, 0x8b4f), + CodeunitRange(0x8b51, 0x8b54), + CodeunitRange(0x8b56, 0x8b56), + CodeunitRange(0x8b58, 0x8b5c), + CodeunitRange(0x8b5e, 0x8b5f), + CodeunitRange(0x8b63, 0x8b63), + CodeunitRange(0x8b66, 0x8b66), + CodeunitRange(0x8b69, 0x8b69), + CodeunitRange(0x8b6b, 0x8b6d), + CodeunitRange(0x8b6f, 0x8b72), + CodeunitRange(0x8b74, 0x8b74), + CodeunitRange(0x8b76, 0x8b79), + CodeunitRange(0x8b7c, 0x8b81), + CodeunitRange(0x8b83, 0x8b85), + CodeunitRange(0x8b8a, 0x8b90), + CodeunitRange(0x8b92, 0x8b96), + CodeunitRange(0x8b99, 0x8b9a), + CodeunitRange(0x8b9c, 0x8ba0), + CodeunitRange(0x8c37, 0x8c3a), + CodeunitRange(0x8c3d, 0x8c3f), + CodeunitRange(0x8c41, 0x8c41), + CodeunitRange(0x8c45, 0x8c4c), + CodeunitRange(0x8c4e, 0x8c51), + CodeunitRange(0x8c53, 0x8c55), + CodeunitRange(0x8c57, 0x8c5b), + CodeunitRange(0x8c5d, 0x8c5d), + CodeunitRange(0x8c61, 0x8c64), + CodeunitRange(0x8c66, 0x8c66), + CodeunitRange(0x8c68, 0x8c6d), + CodeunitRange(0x8c73, 0x8c73), + CodeunitRange(0x8c75, 0x8c76), + CodeunitRange(0x8c78, 0x8c7c), + CodeunitRange(0x8c7e, 0x8c7e), + CodeunitRange(0x8c82, 0x8c82), + CodeunitRange(0x8c85, 0x8c87), + CodeunitRange(0x8c89, 0x8c8e), + CodeunitRange(0x8c90, 0x8c90), + CodeunitRange(0x8c92, 0x8c94), + CodeunitRange(0x8c98, 0x8c99), + CodeunitRange(0x8c9b, 0x8ca2), + CodeunitRange(0x8ca4, 0x8ca4), + CodeunitRange(0x8ca7, 0x8cb0), + CodeunitRange(0x8cb2, 0x8cb4), + CodeunitRange(0x8cb6, 0x8cbd), + CodeunitRange(0x8cbf, 0x8ccb), + CodeunitRange(0x8ccd, 0x8ccf), + CodeunitRange(0x8cd1, 0x8cd3), + CodeunitRange(0x8cd5, 0x8cd6), + CodeunitRange(0x8cd9, 0x8cde), + CodeunitRange(0x8ce0, 0x8ce4), + CodeunitRange(0x8ce6, 0x8ce6), + CodeunitRange(0x8ce8, 0x8ce8), + CodeunitRange(0x8cea, 0x8cea), + CodeunitRange(0x8cec, 0x8ced), + CodeunitRange(0x8cef, 0x8cf2), + CodeunitRange(0x8cf4, 0x8cf5), + CodeunitRange(0x8cf7, 0x8cf8), + CodeunitRange(0x8cfa, 0x8cff), + CodeunitRange(0x8d01, 0x8d01), + CodeunitRange(0x8d03, 0x8d05), + CodeunitRange(0x8d07, 0x8d0b), + CodeunitRange(0x8d0d, 0x8d10), + CodeunitRange(0x8d12, 0x8d14), + CodeunitRange(0x8d16, 0x8d17), + CodeunitRange(0x8d1b, 0x8d1d), + CodeunitRange(0x8d64, 0x8d67), + CodeunitRange(0x8d69, 0x8d69), + CodeunitRange(0x8d6b, 0x8d6e), + CodeunitRange(0x8d70, 0x8d71), + CodeunitRange(0x8d73, 0x8d74), + CodeunitRange(0x8d76, 0x8d77), + CodeunitRange(0x8d7f, 0x8d7f), + CodeunitRange(0x8d81, 0x8d82), + CodeunitRange(0x8d84, 0x8d85), + CodeunitRange(0x8d88, 0x8d88), + CodeunitRange(0x8d8a, 0x8d8a), + CodeunitRange(0x8d8d, 0x8d8d), + CodeunitRange(0x8d90, 0x8d91), + CodeunitRange(0x8d95, 0x8d95), + CodeunitRange(0x8d99, 0x8d99), + CodeunitRange(0x8d9e, 0x8da0), + CodeunitRange(0x8da3, 0x8da3), + CodeunitRange(0x8da6, 0x8da6), + CodeunitRange(0x8da8, 0x8da8), + CodeunitRange(0x8dab, 0x8dac), + CodeunitRange(0x8daf, 0x8daf), + CodeunitRange(0x8db2, 0x8db3), + CodeunitRange(0x8db5, 0x8db5), + CodeunitRange(0x8db7, 0x8db7), + CodeunitRange(0x8db9, 0x8dbc), + CodeunitRange(0x8dbe, 0x8dbe), + CodeunitRange(0x8dc0, 0x8dc0), + CodeunitRange(0x8dc2, 0x8dc2), + CodeunitRange(0x8dc5, 0x8dc8), + CodeunitRange(0x8dca, 0x8dcc), + CodeunitRange(0x8dce, 0x8dcf), + CodeunitRange(0x8dd1, 0x8dd1), + CodeunitRange(0x8dd4, 0x8dd7), + CodeunitRange(0x8dd9, 0x8ddb), + CodeunitRange(0x8ddd, 0x8ddd), + CodeunitRange(0x8ddf, 0x8ddf), + CodeunitRange(0x8de1, 0x8de1), + CodeunitRange(0x8de3, 0x8de5), + CodeunitRange(0x8de7, 0x8de8), + CodeunitRange(0x8dea, 0x8dec), + CodeunitRange(0x8def, 0x8df5), + CodeunitRange(0x8dfc, 0x8dfd), + CodeunitRange(0x8dff, 0x8dff), + CodeunitRange(0x8e01, 0x8e01), + CodeunitRange(0x8e04, 0x8e06), + CodeunitRange(0x8e08, 0x8e0c), + CodeunitRange(0x8e0f, 0x8e11), + CodeunitRange(0x8e14, 0x8e14), + CodeunitRange(0x8e16, 0x8e16), + CodeunitRange(0x8e1d, 0x8e23), + CodeunitRange(0x8e26, 0x8e27), + CodeunitRange(0x8e2a, 0x8e2a), + CodeunitRange(0x8e30, 0x8e31), + CodeunitRange(0x8e33, 0x8e39), + CodeunitRange(0x8e3d, 0x8e3d), + CodeunitRange(0x8e40, 0x8e42), + CodeunitRange(0x8e44, 0x8e44), + CodeunitRange(0x8e47, 0x8e50), + CodeunitRange(0x8e54, 0x8e55), + CodeunitRange(0x8e59, 0x8e59), + CodeunitRange(0x8e5b, 0x8e64), + CodeunitRange(0x8e69, 0x8e69), + CodeunitRange(0x8e6c, 0x8e6d), + CodeunitRange(0x8e6f, 0x8e72), + CodeunitRange(0x8e74, 0x8e77), + CodeunitRange(0x8e79, 0x8e7c), + CodeunitRange(0x8e81, 0x8e85), + CodeunitRange(0x8e87, 0x8e87), + CodeunitRange(0x8e89, 0x8e8b), + CodeunitRange(0x8e8d, 0x8e8d), + CodeunitRange(0x8e90, 0x8e95), + CodeunitRange(0x8e98, 0x8e9b), + CodeunitRange(0x8e9d, 0x8e9e), + CodeunitRange(0x8ea1, 0x8ea2), + CodeunitRange(0x8ea7, 0x8ea7), + CodeunitRange(0x8ea9, 0x8eb1), + CodeunitRange(0x8eb3, 0x8eb3), + CodeunitRange(0x8eb5, 0x8eb6), + CodeunitRange(0x8eba, 0x8ebb), + CodeunitRange(0x8ebe, 0x8ebe), + CodeunitRange(0x8ec0, 0x8ec1), + CodeunitRange(0x8ec3, 0x8ec8), + CodeunitRange(0x8eca, 0x8ecd), + CodeunitRange(0x8ecf, 0x8ecf), + CodeunitRange(0x8ed1, 0x8ed2), + CodeunitRange(0x8ed4, 0x8ed4), + CodeunitRange(0x8edb, 0x8edc), + CodeunitRange(0x8edf, 0x8edf), + CodeunitRange(0x8ee2, 0x8ee3), + CodeunitRange(0x8ee8, 0x8ee8), + CodeunitRange(0x8eeb, 0x8eeb), + CodeunitRange(0x8eed, 0x8eee), + CodeunitRange(0x8ef0, 0x8ef1), + CodeunitRange(0x8ef7, 0x8efe), + CodeunitRange(0x8f00, 0x8f00), + CodeunitRange(0x8f02, 0x8f03), + CodeunitRange(0x8f05, 0x8f05), + CodeunitRange(0x8f07, 0x8f0a), + CodeunitRange(0x8f0c, 0x8f0c), + CodeunitRange(0x8f0f, 0x8f10), + CodeunitRange(0x8f12, 0x8f19), + CodeunitRange(0x8f1b, 0x8f21), + CodeunitRange(0x8f23, 0x8f23), + CodeunitRange(0x8f25, 0x8f2f), + CodeunitRange(0x8f33, 0x8f3b), + CodeunitRange(0x8f3e, 0x8f47), + CodeunitRange(0x8f49, 0x8f4a), + CodeunitRange(0x8f4c, 0x8f4f), + CodeunitRange(0x8f51, 0x8f55), + CodeunitRange(0x8f57, 0x8f58), + CodeunitRange(0x8f5c, 0x8f5f), + CodeunitRange(0x8f61, 0x8f66), + CodeunitRange(0x8f9b, 0x8fa8), + CodeunitRange(0x8fad, 0x8fb2), + CodeunitRange(0x8fb4, 0x8fb8), + CodeunitRange(0x8fba, 0x8fbc), + CodeunitRange(0x8fbe, 0x8fc2), + CodeunitRange(0x8fc4, 0x8fc6), + CodeunitRange(0x8fc8, 0x8fc8), + CodeunitRange(0x8fca, 0x8fcb), + CodeunitRange(0x8fcd, 0x8fce), + CodeunitRange(0x8fd0, 0x8fd5), + CodeunitRange(0x8fda, 0x8fda), + CodeunitRange(0x8fe0, 0x8fe0), + CodeunitRange(0x8fe2, 0x8fe6), + CodeunitRange(0x8fe8, 0x8feb), + CodeunitRange(0x8fed, 0x8ff1), + CodeunitRange(0x8ff4, 0x8ffb), + CodeunitRange(0x8ffd, 0x8ffe), + CodeunitRange(0x9000, 0x9006), + CodeunitRange(0x9008, 0x9008), + CodeunitRange(0x900b, 0x9011), + CodeunitRange(0x9013, 0x901b), + CodeunitRange(0x901d, 0x9023), + CodeunitRange(0x9027, 0x902a), + CodeunitRange(0x902c, 0x902f), + CodeunitRange(0x9031, 0x9039), + CodeunitRange(0x903c, 0x903c), + CodeunitRange(0x903e, 0x903f), + CodeunitRange(0x9041, 0x9045), + CodeunitRange(0x9047, 0x9047), + CodeunitRange(0x9049, 0x9056), + CodeunitRange(0x9058, 0x9059), + CodeunitRange(0x905b, 0x905e), + CodeunitRange(0x9060, 0x9063), + CodeunitRange(0x9065, 0x9069), + CodeunitRange(0x906c, 0x9070), + CodeunitRange(0x9072, 0x9072), + CodeunitRange(0x9074, 0x907a), + CodeunitRange(0x907c, 0x907d), + CodeunitRange(0x907f, 0x9085), + CodeunitRange(0x9087, 0x908c), + CodeunitRange(0x908e, 0x9091), + CodeunitRange(0x9095, 0x9095), + CodeunitRange(0x9097, 0x9099), + CodeunitRange(0x909b, 0x909b), + CodeunitRange(0x90a0, 0x90a3), + CodeunitRange(0x90a5, 0x90a6), + CodeunitRange(0x90a8, 0x90a8), + CodeunitRange(0x90aa, 0x90aa), + CodeunitRange(0x90af, 0x90b6), + CodeunitRange(0x90b8, 0x90b8), + CodeunitRange(0x90bd, 0x90be), + CodeunitRange(0x90c1, 0x90c1), + CodeunitRange(0x90c3, 0x90c5), + CodeunitRange(0x90c7, 0x90ca), + CodeunitRange(0x90cc, 0x90cc), + CodeunitRange(0x90ce, 0x90ce), + CodeunitRange(0x90d2, 0x90d2), + CodeunitRange(0x90d5, 0x90d5), + CodeunitRange(0x90d7, 0x90d9), + CodeunitRange(0x90db, 0x90df), + CodeunitRange(0x90e1, 0x90e2), + CodeunitRange(0x90e4, 0x90e5), + CodeunitRange(0x90e8, 0x90e8), + CodeunitRange(0x90eb, 0x90eb), + CodeunitRange(0x90ed, 0x90ed), + CodeunitRange(0x90ef, 0x90f0), + CodeunitRange(0x90f2, 0x90f2), + CodeunitRange(0x90f4, 0x90f7), + CodeunitRange(0x90fd, 0x9100), + CodeunitRange(0x9102, 0x9102), + CodeunitRange(0x9104, 0x9106), + CodeunitRange(0x9108, 0x9108), + CodeunitRange(0x910d, 0x910d), + CodeunitRange(0x9110, 0x9110), + CodeunitRange(0x9112, 0x9112), + CodeunitRange(0x9114, 0x911a), + CodeunitRange(0x911c, 0x911c), + CodeunitRange(0x911e, 0x911e), + CodeunitRange(0x9120, 0x9120), + CodeunitRange(0x9122, 0x9123), + CodeunitRange(0x9125, 0x9125), + CodeunitRange(0x9127, 0x9127), + CodeunitRange(0x9129, 0x9129), + CodeunitRange(0x912d, 0x9132), + CodeunitRange(0x9134, 0x9134), + CodeunitRange(0x9136, 0x9137), + CodeunitRange(0x9139, 0x913a), + CodeunitRange(0x913c, 0x913d), + CodeunitRange(0x9143, 0x9143), + CodeunitRange(0x9146, 0x914f), + CodeunitRange(0x9152, 0x9154), + CodeunitRange(0x9156, 0x915b), + CodeunitRange(0x9161, 0x9165), + CodeunitRange(0x9167, 0x9167), + CodeunitRange(0x9169, 0x916a), + CodeunitRange(0x916c, 0x916d), + CodeunitRange(0x9172, 0x9175), + CodeunitRange(0x9177, 0x917b), + CodeunitRange(0x9181, 0x9183), + CodeunitRange(0x9185, 0x9187), + CodeunitRange(0x9189, 0x918b), + CodeunitRange(0x918d, 0x918e), + CodeunitRange(0x9190, 0x9195), + CodeunitRange(0x9197, 0x9198), + CodeunitRange(0x919c, 0x919c), + CodeunitRange(0x919e, 0x919e), + CodeunitRange(0x91a1, 0x91a2), + CodeunitRange(0x91a4, 0x91a4), + CodeunitRange(0x91a6, 0x91a6), + CodeunitRange(0x91a8, 0x91a8), + CodeunitRange(0x91aa, 0x91b6), + CodeunitRange(0x91b8, 0x91b8), + CodeunitRange(0x91ba, 0x91bd), + CodeunitRange(0x91bf, 0x91c9), + CodeunitRange(0x91cb, 0x91d1), + CodeunitRange(0x91d3, 0x91d4), + CodeunitRange(0x91d6, 0x91df), + CodeunitRange(0x91e1, 0x91e1), + CodeunitRange(0x91e3, 0x91e7), + CodeunitRange(0x91e9, 0x91ea), + CodeunitRange(0x91ec, 0x91f1), + CodeunitRange(0x91f5, 0x91f7), + CodeunitRange(0x91f9, 0x91f9), + CodeunitRange(0x91fb, 0x91fd), + CodeunitRange(0x91ff, 0x9201), + CodeunitRange(0x9204, 0x9207), + CodeunitRange(0x9209, 0x920a), + CodeunitRange(0x920c, 0x920e), + CodeunitRange(0x9210, 0x9218), + CodeunitRange(0x921c, 0x921e), + CodeunitRange(0x9223, 0x9226), + CodeunitRange(0x9228, 0x9229), + CodeunitRange(0x922c, 0x922c), + CodeunitRange(0x922e, 0x9230), + CodeunitRange(0x9233, 0x923a), + CodeunitRange(0x923c, 0x923c), + CodeunitRange(0x923e, 0x9240), + CodeunitRange(0x9242, 0x924b), + CodeunitRange(0x924d, 0x9251), + CodeunitRange(0x9256, 0x925e), + CodeunitRange(0x9260, 0x9262), + CodeunitRange(0x9264, 0x9269), + CodeunitRange(0x926e, 0x9271), + CodeunitRange(0x9275, 0x9279), + CodeunitRange(0x927b, 0x9280), + CodeunitRange(0x9283, 0x9283), + CodeunitRange(0x9285, 0x9285), + CodeunitRange(0x9288, 0x928a), + CodeunitRange(0x928d, 0x928e), + CodeunitRange(0x9291, 0x9293), + CodeunitRange(0x9295, 0x929c), + CodeunitRange(0x929f, 0x92a0), + CodeunitRange(0x92a4, 0x92a5), + CodeunitRange(0x92a7, 0x92a8), + CodeunitRange(0x92ab, 0x92ab), + CodeunitRange(0x92ad, 0x92ad), + CodeunitRange(0x92af, 0x92af), + CodeunitRange(0x92b2, 0x92b3), + CodeunitRange(0x92b6, 0x92bd), + CodeunitRange(0x92bf, 0x92c3), + CodeunitRange(0x92c5, 0x92c8), + CodeunitRange(0x92cb, 0x92d0), + CodeunitRange(0x92d2, 0x92d3), + CodeunitRange(0x92d5, 0x92d5), + CodeunitRange(0x92d7, 0x92d9), + CodeunitRange(0x92dc, 0x92dd), + CodeunitRange(0x92df, 0x92e1), + CodeunitRange(0x92e3, 0x92e5), + CodeunitRange(0x92e7, 0x92ea), + CodeunitRange(0x92ec, 0x92ee), + CodeunitRange(0x92f0, 0x92f0), + CodeunitRange(0x92f2, 0x92f3), + CodeunitRange(0x92f7, 0x92fc), + CodeunitRange(0x92ff, 0x9300), + CodeunitRange(0x9302, 0x9302), + CodeunitRange(0x9304, 0x9304), + CodeunitRange(0x9306, 0x9306), + CodeunitRange(0x9308, 0x9308), + CodeunitRange(0x930d, 0x930d), + CodeunitRange(0x930f, 0x9311), + CodeunitRange(0x9314, 0x9315), + CodeunitRange(0x9318, 0x931a), + CodeunitRange(0x931c, 0x932c), + CodeunitRange(0x932e, 0x932f), + CodeunitRange(0x9332, 0x9337), + CodeunitRange(0x933a, 0x933b), + CodeunitRange(0x9344, 0x9344), + CodeunitRange(0x9347, 0x934b), + CodeunitRange(0x934d, 0x934d), + CodeunitRange(0x9350, 0x9352), + CodeunitRange(0x9354, 0x9358), + CodeunitRange(0x935a, 0x935c), + CodeunitRange(0x935e, 0x935e), + CodeunitRange(0x9360, 0x9360), + CodeunitRange(0x9364, 0x9365), + CodeunitRange(0x9367, 0x9367), + CodeunitRange(0x9369, 0x9371), + CodeunitRange(0x9373, 0x9376), + CodeunitRange(0x937a, 0x937a), + CodeunitRange(0x937c, 0x9382), + CodeunitRange(0x9388, 0x9388), + CodeunitRange(0x938a, 0x938d), + CodeunitRange(0x938f, 0x938f), + CodeunitRange(0x9392, 0x9392), + CodeunitRange(0x9394, 0x9398), + CodeunitRange(0x939a, 0x939b), + CodeunitRange(0x939e, 0x939e), + CodeunitRange(0x93a1, 0x93a1), + CodeunitRange(0x93a3, 0x93a4), + CodeunitRange(0x93a6, 0x93a9), + CodeunitRange(0x93ab, 0x93ae), + CodeunitRange(0x93b0, 0x93b0), + CodeunitRange(0x93b4, 0x93b6), + CodeunitRange(0x93b9, 0x93bb), + CodeunitRange(0x93c1, 0x93c1), + CodeunitRange(0x93c3, 0x93cd), + CodeunitRange(0x93d0, 0x93d1), + CodeunitRange(0x93d3, 0x93d3), + CodeunitRange(0x93d6, 0x93d9), + CodeunitRange(0x93dc, 0x93df), + CodeunitRange(0x93e1, 0x93e2), + CodeunitRange(0x93e4, 0x93e8), + CodeunitRange(0x93f1, 0x93f1), + CodeunitRange(0x93f5, 0x93f5), + CodeunitRange(0x93f7, 0x93fb), + CodeunitRange(0x93fd, 0x93fd), + CodeunitRange(0x9401, 0x9404), + CodeunitRange(0x9407, 0x9409), + CodeunitRange(0x940d, 0x9410), + CodeunitRange(0x9413, 0x941a), + CodeunitRange(0x941f, 0x941f), + CodeunitRange(0x9421, 0x9421), + CodeunitRange(0x942b, 0x942b), + CodeunitRange(0x942e, 0x942f), + CodeunitRange(0x9431, 0x9436), + CodeunitRange(0x9438, 0x9438), + CodeunitRange(0x943a, 0x943b), + CodeunitRange(0x943d, 0x943d), + CodeunitRange(0x943f, 0x943f), + CodeunitRange(0x9441, 0x9441), + CodeunitRange(0x9443, 0x9445), + CodeunitRange(0x9448, 0x9448), + CodeunitRange(0x944a, 0x944a), + CodeunitRange(0x944c, 0x944c), + CodeunitRange(0x9451, 0x9453), + CodeunitRange(0x9455, 0x9455), + CodeunitRange(0x9459, 0x945c), + CodeunitRange(0x945e, 0x9463), + CodeunitRange(0x9468, 0x9468), + CodeunitRange(0x946a, 0x946b), + CodeunitRange(0x946d, 0x9472), + CodeunitRange(0x9475, 0x9475), + CodeunitRange(0x9477, 0x9477), + CodeunitRange(0x947c, 0x947f), + CodeunitRange(0x9481, 0x9481), + CodeunitRange(0x9483, 0x9485), + CodeunitRange(0x9577, 0x9579), + CodeunitRange(0x957e, 0x9580), + CodeunitRange(0x9582, 0x9584), + CodeunitRange(0x9586, 0x958f), + CodeunitRange(0x9591, 0x9594), + CodeunitRange(0x9596, 0x9596), + CodeunitRange(0x9598, 0x9599), + CodeunitRange(0x959d, 0x95a9), + CodeunitRange(0x95ab, 0x95ad), + CodeunitRange(0x95b1, 0x95b2), + CodeunitRange(0x95b4, 0x95b4), + CodeunitRange(0x95b6, 0x95b6), + CodeunitRange(0x95b9, 0x95bf), + CodeunitRange(0x95c3, 0x95c3), + CodeunitRange(0x95c6, 0x95cd), + CodeunitRange(0x95d0, 0x95d6), + CodeunitRange(0x95d8, 0x95da), + CodeunitRange(0x95dc, 0x95e2), + CodeunitRange(0x95e4, 0x95e6), + CodeunitRange(0x95e8, 0x95e8), + CodeunitRange(0x961c, 0x961e), + CodeunitRange(0x9621, 0x9622), + CodeunitRange(0x9624, 0x9626), + CodeunitRange(0x9628, 0x9628), + CodeunitRange(0x962a, 0x962a), + CodeunitRange(0x962c, 0x962c), + CodeunitRange(0x962e, 0x962f), + CodeunitRange(0x9631, 0x9634), + CodeunitRange(0x9637, 0x963d), + CodeunitRange(0x963f, 0x9642), + CodeunitRange(0x9644, 0x9644), + CodeunitRange(0x964b, 0x964d), + CodeunitRange(0x964f, 0x9650), + CodeunitRange(0x9652, 0x9652), + CodeunitRange(0x9654, 0x9654), + CodeunitRange(0x9656, 0x9658), + CodeunitRange(0x965b, 0x965f), + CodeunitRange(0x9661, 0x9666), + CodeunitRange(0x966a, 0x966a), + CodeunitRange(0x966c, 0x966c), + CodeunitRange(0x966e, 0x966e), + CodeunitRange(0x9670, 0x9670), + CodeunitRange(0x9672, 0x9678), + CodeunitRange(0x967a, 0x967f), + CodeunitRange(0x9681, 0x9686), + CodeunitRange(0x9688, 0x968b), + CodeunitRange(0x968d, 0x968f), + CodeunitRange(0x9691, 0x9691), + CodeunitRange(0x9694, 0x969d), + CodeunitRange(0x969f, 0x96a0), + CodeunitRange(0x96a3, 0x96aa), + CodeunitRange(0x96ae, 0x96b4), + CodeunitRange(0x96b6, 0x96bd), + CodeunitRange(0x96c0, 0x96c1), + CodeunitRange(0x96c4, 0x96c7), + CodeunitRange(0x96c9, 0x96ce), + CodeunitRange(0x96d1, 0x96d2), + CodeunitRange(0x96d5, 0x96d6), + CodeunitRange(0x96d8, 0x96df), + CodeunitRange(0x96e2, 0x96e3), + CodeunitRange(0x96e8, 0x96eb), + CodeunitRange(0x96ef, 0x96f2), + CodeunitRange(0x96f6, 0x96f7), + CodeunitRange(0x96f9, 0x96fb), + CodeunitRange(0x9700, 0x9700), + CodeunitRange(0x9702, 0x970a), + CodeunitRange(0x970d, 0x970f), + CodeunitRange(0x9711, 0x9711), + CodeunitRange(0x9713, 0x9714), + CodeunitRange(0x9716, 0x9716), + CodeunitRange(0x9719, 0x971e), + CodeunitRange(0x9721, 0x9724), + CodeunitRange(0x9727, 0x9728), + CodeunitRange(0x972a, 0x972a), + CodeunitRange(0x9730, 0x9733), + CodeunitRange(0x9736, 0x9736), + CodeunitRange(0x9738, 0x9739), + CodeunitRange(0x973b, 0x973b), + CodeunitRange(0x973d, 0x973e), + CodeunitRange(0x9741, 0x9744), + CodeunitRange(0x9746, 0x974a), + CodeunitRange(0x974d, 0x974f), + CodeunitRange(0x9751, 0x9752), + CodeunitRange(0x9755, 0x975c), + CodeunitRange(0x975e, 0x975e), + CodeunitRange(0x9760, 0x9764), + CodeunitRange(0x9766, 0x976b), + CodeunitRange(0x976d, 0x976e), + CodeunitRange(0x9771, 0x9771), + CodeunitRange(0x9773, 0x9774), + CodeunitRange(0x9776, 0x977d), + CodeunitRange(0x977f, 0x9781), + CodeunitRange(0x9784, 0x9786), + CodeunitRange(0x9789, 0x9789), + CodeunitRange(0x978b, 0x978b), + CodeunitRange(0x978d, 0x978d), + CodeunitRange(0x978f, 0x9790), + CodeunitRange(0x9795, 0x979a), + CodeunitRange(0x979c, 0x979c), + CodeunitRange(0x979e, 0x97a0), + CodeunitRange(0x97a2, 0x97a3), + CodeunitRange(0x97a6, 0x97a6), + CodeunitRange(0x97a8, 0x97a8), + CodeunitRange(0x97ab, 0x97ae), + CodeunitRange(0x97b1, 0x97b6), + CodeunitRange(0x97b8, 0x97ba), + CodeunitRange(0x97bc, 0x97bc), + CodeunitRange(0x97be, 0x97bf), + CodeunitRange(0x97c1, 0x97c1), + CodeunitRange(0x97c3, 0x97ce), + CodeunitRange(0x97d0, 0x97d1), + CodeunitRange(0x97d3, 0x97d4), + CodeunitRange(0x97d7, 0x97d9), + CodeunitRange(0x97db, 0x97de), + CodeunitRange(0x97e0, 0x97e1), + CodeunitRange(0x97e4, 0x97e4), + CodeunitRange(0x97e6, 0x97e6), + CodeunitRange(0x97ed, 0x97ef), + CodeunitRange(0x97f1, 0x97f8), + CodeunitRange(0x97fa, 0x97fb), + CodeunitRange(0x97ff, 0x97ff), + CodeunitRange(0x9801, 0x9808), + CodeunitRange(0x980a, 0x980a), + CodeunitRange(0x980c, 0x9814), + CodeunitRange(0x9816, 0x981a), + CodeunitRange(0x981c, 0x981c), + CodeunitRange(0x981e, 0x981e), + CodeunitRange(0x9820, 0x9821), + CodeunitRange(0x9823, 0x9826), + CodeunitRange(0x982b, 0x9830), + CodeunitRange(0x9832, 0x9835), + CodeunitRange(0x9837, 0x9839), + CodeunitRange(0x983b, 0x983e), + CodeunitRange(0x9844, 0x9844), + CodeunitRange(0x9846, 0x9847), + CodeunitRange(0x984a, 0x984f), + CodeunitRange(0x9851, 0x985b), + CodeunitRange(0x985e, 0x985e), + CodeunitRange(0x9862, 0x9863), + CodeunitRange(0x9865, 0x9867), + CodeunitRange(0x986a, 0x986c), + CodeunitRange(0x986f, 0x9871), + CodeunitRange(0x9873, 0x9875), + CodeunitRange(0x98a8, 0x98a8), + CodeunitRange(0x98aa, 0x98ab), + CodeunitRange(0x98ad, 0x98b1), + CodeunitRange(0x98b4, 0x98b4), + CodeunitRange(0x98b6, 0x98b8), + CodeunitRange(0x98ba, 0x98bc), + CodeunitRange(0x98bf, 0x98bf), + CodeunitRange(0x98c2, 0x98c8), + CodeunitRange(0x98cb, 0x98cc), + CodeunitRange(0x98ce, 0x98ce), + CodeunitRange(0x98db, 0x98dc), + CodeunitRange(0x98de, 0x98e3), + CodeunitRange(0x98e5, 0x98e7), + CodeunitRange(0x98e9, 0x98eb), + CodeunitRange(0x98ed, 0x98f4), + CodeunitRange(0x98f6, 0x98f6), + CodeunitRange(0x98fc, 0x98fe), + CodeunitRange(0x9902, 0x9903), + CodeunitRange(0x9905, 0x9905), + CodeunitRange(0x9907, 0x990a), + CodeunitRange(0x990c, 0x990c), + CodeunitRange(0x9910, 0x9918), + CodeunitRange(0x991a, 0x9922), + CodeunitRange(0x9924, 0x9924), + CodeunitRange(0x9926, 0x9928), + CodeunitRange(0x992b, 0x992c), + CodeunitRange(0x992e, 0x992e), + CodeunitRange(0x9931, 0x9935), + CodeunitRange(0x9939, 0x993e), + CodeunitRange(0x9940, 0x9942), + CodeunitRange(0x9945, 0x9949), + CodeunitRange(0x994b, 0x994e), + CodeunitRange(0x9950, 0x9952), + CodeunitRange(0x9954, 0x9955), + CodeunitRange(0x9957, 0x9959), + CodeunitRange(0x995b, 0x995c), + CodeunitRange(0x995e, 0x9960), + CodeunitRange(0x9963, 0x9963), + CodeunitRange(0x9996, 0x9999), + CodeunitRange(0x999b, 0x999b), + CodeunitRange(0x999d, 0x999f), + CodeunitRange(0x99a3, 0x99a3), + CodeunitRange(0x99a5, 0x99a6), + CodeunitRange(0x99a8, 0x99a8), + CodeunitRange(0x99ac, 0x99ae), + CodeunitRange(0x99b0, 0x99b5), + CodeunitRange(0x99b9, 0x99ba), + CodeunitRange(0x99bc, 0x99bd), + CodeunitRange(0x99bf, 0x99bf), + CodeunitRange(0x99c1, 0x99c1), + CodeunitRange(0x99c3, 0x99c6), + CodeunitRange(0x99c8, 0x99c9), + CodeunitRange(0x99d0, 0x99d5), + CodeunitRange(0x99d8, 0x99df), + CodeunitRange(0x99e1, 0x99e2), + CodeunitRange(0x99e7, 0x99e7), + CodeunitRange(0x99ea, 0x99ee), + CodeunitRange(0x99f0, 0x99f2), + CodeunitRange(0x99f4, 0x99f5), + CodeunitRange(0x99f8, 0x99f9), + CodeunitRange(0x99fb, 0x99ff), + CodeunitRange(0x9a01, 0x9a05), + CodeunitRange(0x9a08, 0x9a08), + CodeunitRange(0x9a0a, 0x9a0c), + CodeunitRange(0x9a0e, 0x9a13), + CodeunitRange(0x9a16, 0x9a16), + CodeunitRange(0x9a19, 0x9a1a), + CodeunitRange(0x9a1e, 0x9a1e), + CodeunitRange(0x9a20, 0x9a20), + CodeunitRange(0x9a22, 0x9a24), + CodeunitRange(0x9a27, 0x9a28), + CodeunitRange(0x9a2b, 0x9a2b), + CodeunitRange(0x9a2d, 0x9a2e), + CodeunitRange(0x9a30, 0x9a31), + CodeunitRange(0x9a33, 0x9a33), + CodeunitRange(0x9a35, 0x9a38), + CodeunitRange(0x9a3e, 0x9a3e), + CodeunitRange(0x9a40, 0x9a45), + CodeunitRange(0x9a47, 0x9a47), + CodeunitRange(0x9a4a, 0x9a4e), + CodeunitRange(0x9a51, 0x9a52), + CodeunitRange(0x9a54, 0x9a58), + CodeunitRange(0x9a5a, 0x9a5b), + CodeunitRange(0x9a5d, 0x9a5d), + CodeunitRange(0x9a5f, 0x9a5f), + CodeunitRange(0x9a62, 0x9a62), + CodeunitRange(0x9a64, 0x9a65), + CodeunitRange(0x9a69, 0x9a6c), + CodeunitRange(0x9aa8, 0x9aa8), + CodeunitRange(0x9aaa, 0x9aaa), + CodeunitRange(0x9aac, 0x9ab0), + CodeunitRange(0x9ab2, 0x9ab2), + CodeunitRange(0x9ab4, 0x9ab9), + CodeunitRange(0x9abb, 0x9ac1), + CodeunitRange(0x9ac3, 0x9ac4), + CodeunitRange(0x9ac6, 0x9ac6), + CodeunitRange(0x9ac8, 0x9ac8), + CodeunitRange(0x9ace, 0x9ad9), + CodeunitRange(0x9adb, 0x9adc), + CodeunitRange(0x9ade, 0x9ae0), + CodeunitRange(0x9ae2, 0x9ae7), + CodeunitRange(0x9ae9, 0x9aef), + CodeunitRange(0x9af1, 0x9af5), + CodeunitRange(0x9af7, 0x9af7), + CodeunitRange(0x9af9, 0x9afb), + CodeunitRange(0x9afd, 0x9afd), + CodeunitRange(0x9aff, 0x9b06), + CodeunitRange(0x9b08, 0x9b09), + CodeunitRange(0x9b0b, 0x9b0e), + CodeunitRange(0x9b10, 0x9b10), + CodeunitRange(0x9b12, 0x9b12), + CodeunitRange(0x9b16, 0x9b16), + CodeunitRange(0x9b18, 0x9b1d), + CodeunitRange(0x9b1f, 0x9b20), + CodeunitRange(0x9b22, 0x9b23), + CodeunitRange(0x9b25, 0x9b2f), + CodeunitRange(0x9b31, 0x9b35), + CodeunitRange(0x9b37, 0x9b37), + CodeunitRange(0x9b39, 0x9b3d), + CodeunitRange(0x9b41, 0x9b45), + CodeunitRange(0x9b48, 0x9b48), + CodeunitRange(0x9b4b, 0x9b4f), + CodeunitRange(0x9b51, 0x9b51), + CodeunitRange(0x9b54, 0x9b58), + CodeunitRange(0x9b5a, 0x9b5b), + CodeunitRange(0x9b5e, 0x9b5e), + CodeunitRange(0x9b61, 0x9b61), + CodeunitRange(0x9b63, 0x9b63), + CodeunitRange(0x9b65, 0x9b66), + CodeunitRange(0x9b68, 0x9b68), + CodeunitRange(0x9b6a, 0x9b6f), + CodeunitRange(0x9b72, 0x9b79), + CodeunitRange(0x9b7f, 0x9b80), + CodeunitRange(0x9b83, 0x9b87), + CodeunitRange(0x9b89, 0x9b8b), + CodeunitRange(0x9b8d, 0x9b94), + CodeunitRange(0x9b96, 0x9b97), + CodeunitRange(0x9b9a, 0x9b9a), + CodeunitRange(0x9b9d, 0x9ba0), + CodeunitRange(0x9ba6, 0x9bae), + CodeunitRange(0x9bb0, 0x9bb2), + CodeunitRange(0x9bb4, 0x9bb4), + CodeunitRange(0x9bb7, 0x9bb9), + CodeunitRange(0x9bbb, 0x9bbc), + CodeunitRange(0x9bbe, 0x9bc1), + CodeunitRange(0x9bc6, 0x9bca), + CodeunitRange(0x9bce, 0x9bd2), + CodeunitRange(0x9bd4, 0x9bd4), + CodeunitRange(0x9bd6, 0x9bd8), + CodeunitRange(0x9bdb, 0x9bdb), + CodeunitRange(0x9bdd, 0x9bdd), + CodeunitRange(0x9bdf, 0x9bdf), + CodeunitRange(0x9be1, 0x9be5), + CodeunitRange(0x9be7, 0x9be8), + CodeunitRange(0x9bea, 0x9beb), + CodeunitRange(0x9bee, 0x9bf3), + CodeunitRange(0x9bf5, 0x9bf5), + CodeunitRange(0x9bf7, 0x9bfa), + CodeunitRange(0x9bfd, 0x9bfd), + CodeunitRange(0x9bff, 0x9c00), + CodeunitRange(0x9c02, 0x9c02), + CodeunitRange(0x9c04, 0x9c04), + CodeunitRange(0x9c06, 0x9c06), + CodeunitRange(0x9c08, 0x9c0d), + CodeunitRange(0x9c0f, 0x9c16), + CodeunitRange(0x9c18, 0x9c1e), + CodeunitRange(0x9c21, 0x9c2a), + CodeunitRange(0x9c2d, 0x9c32), + CodeunitRange(0x9c35, 0x9c37), + CodeunitRange(0x9c39, 0x9c3b), + CodeunitRange(0x9c3d, 0x9c3e), + CodeunitRange(0x9c41, 0x9c41), + CodeunitRange(0x9c43, 0x9c4a), + CodeunitRange(0x9c4e, 0x9c50), + CodeunitRange(0x9c52, 0x9c54), + CodeunitRange(0x9c56, 0x9c58), + CodeunitRange(0x9c5a, 0x9c61), + CodeunitRange(0x9c63, 0x9c63), + CodeunitRange(0x9c65, 0x9c65), + CodeunitRange(0x9c67, 0x9c6b), + CodeunitRange(0x9c6d, 0x9c6e), + CodeunitRange(0x9c70, 0x9c70), + CodeunitRange(0x9c72, 0x9c72), + CodeunitRange(0x9c75, 0x9c78), + CodeunitRange(0x9c7a, 0x9c7c), + CodeunitRange(0x9ce5, 0x9ce7), + CodeunitRange(0x9ce9, 0x9ce9), + CodeunitRange(0x9ceb, 0x9cec), + CodeunitRange(0x9cf0, 0x9cf0), + CodeunitRange(0x9cf2, 0x9cf4), + CodeunitRange(0x9cf6, 0x9cf7), + CodeunitRange(0x9cf9, 0x9cf9), + CodeunitRange(0x9d02, 0x9d03), + CodeunitRange(0x9d06, 0x9d09), + CodeunitRange(0x9d0b, 0x9d0b), + CodeunitRange(0x9d0e, 0x9d0e), + CodeunitRange(0x9d11, 0x9d12), + CodeunitRange(0x9d15, 0x9d15), + CodeunitRange(0x9d17, 0x9d18), + CodeunitRange(0x9d1b, 0x9d1f), + CodeunitRange(0x9d23, 0x9d23), + CodeunitRange(0x9d26, 0x9d26), + CodeunitRange(0x9d28, 0x9d28), + CodeunitRange(0x9d2a, 0x9d2c), + CodeunitRange(0x9d2f, 0x9d30), + CodeunitRange(0x9d32, 0x9d34), + CodeunitRange(0x9d3a, 0x9d3f), + CodeunitRange(0x9d41, 0x9d48), + CodeunitRange(0x9d4a, 0x9d4a), + CodeunitRange(0x9d50, 0x9d54), + CodeunitRange(0x9d59, 0x9d59), + CodeunitRange(0x9d5c, 0x9d65), + CodeunitRange(0x9d69, 0x9d6c), + CodeunitRange(0x9d6f, 0x9d70), + CodeunitRange(0x9d72, 0x9d73), + CodeunitRange(0x9d76, 0x9d77), + CodeunitRange(0x9d7a, 0x9d7c), + CodeunitRange(0x9d7e, 0x9d7e), + CodeunitRange(0x9d83, 0x9d84), + CodeunitRange(0x9d86, 0x9d87), + CodeunitRange(0x9d89, 0x9d8a), + CodeunitRange(0x9d8d, 0x9d8f), + CodeunitRange(0x9d92, 0x9d93), + CodeunitRange(0x9d95, 0x9d9a), + CodeunitRange(0x9da1, 0x9da1), + CodeunitRange(0x9da4, 0x9da4), + CodeunitRange(0x9da9, 0x9dac), + CodeunitRange(0x9dae, 0x9daf), + CodeunitRange(0x9db1, 0x9db2), + CodeunitRange(0x9db4, 0x9db5), + CodeunitRange(0x9db8, 0x9dbd), + CodeunitRange(0x9dbf, 0x9dc4), + CodeunitRange(0x9dc6, 0x9dc7), + CodeunitRange(0x9dc9, 0x9dca), + CodeunitRange(0x9dcf, 0x9dcf), + CodeunitRange(0x9dd3, 0x9dd7), + CodeunitRange(0x9dd9, 0x9dda), + CodeunitRange(0x9dde, 0x9de0), + CodeunitRange(0x9de3, 0x9de3), + CodeunitRange(0x9de5, 0x9de7), + CodeunitRange(0x9de9, 0x9de9), + CodeunitRange(0x9deb, 0x9deb), + CodeunitRange(0x9ded, 0x9df0), + CodeunitRange(0x9df2, 0x9df4), + CodeunitRange(0x9df8, 0x9dfa), + CodeunitRange(0x9dfd, 0x9dfe), + CodeunitRange(0x9e02, 0x9e02), + CodeunitRange(0x9e07, 0x9e07), + CodeunitRange(0x9e0a, 0x9e0a), + CodeunitRange(0x9e0d, 0x9e0e), + CodeunitRange(0x9e10, 0x9e12), + CodeunitRange(0x9e15, 0x9e16), + CodeunitRange(0x9e19, 0x9e1f), + CodeunitRange(0x9e75, 0x9e75), + CodeunitRange(0x9e78, 0x9e7d), + CodeunitRange(0x9e7f, 0x9e85), + CodeunitRange(0x9e87, 0x9e88), + CodeunitRange(0x9e8b, 0x9e8c), + CodeunitRange(0x9e8e, 0x9e8f), + CodeunitRange(0x9e91, 0x9e93), + CodeunitRange(0x9e95, 0x9e98), + CodeunitRange(0x9e9b, 0x9e9b), + CodeunitRange(0x9e9d, 0x9e9f), + CodeunitRange(0x9ea4, 0x9ea6), + CodeunitRange(0x9ea8, 0x9eaa), + CodeunitRange(0x9eac, 0x9eb0), + CodeunitRange(0x9eb3, 0x9eb5), + CodeunitRange(0x9eb8, 0x9ebf), + CodeunitRange(0x9ec3, 0x9ec4), + CodeunitRange(0x9ec6, 0x9ec6), + CodeunitRange(0x9ec8, 0x9ec8), + CodeunitRange(0x9ecb, 0x9ed2), + CodeunitRange(0x9ed4, 0x9ed5), + CodeunitRange(0x9ed8, 0x9ed9), + CodeunitRange(0x9edb, 0x9ee0), + CodeunitRange(0x9ee4, 0x9ee5), + CodeunitRange(0x9ee7, 0x9ee8), + CodeunitRange(0x9eec, 0x9ef2), + CodeunitRange(0x9ef4, 0x9ef9), + CodeunitRange(0x9efb, 0x9eff), + CodeunitRange(0x9f02, 0x9f03), + CodeunitRange(0x9f07, 0x9f09), + CodeunitRange(0x9f0e, 0x9f17), + CodeunitRange(0x9f19, 0x9f1b), + CodeunitRange(0x9f1f, 0x9f22), + CodeunitRange(0x9f26, 0x9f26), + CodeunitRange(0x9f2a, 0x9f2c), + CodeunitRange(0x9f2f, 0x9f2f), + CodeunitRange(0x9f31, 0x9f32), + CodeunitRange(0x9f34, 0x9f34), + CodeunitRange(0x9f37, 0x9f37), + CodeunitRange(0x9f39, 0x9f3f), + CodeunitRange(0x9f41, 0x9f41), + CodeunitRange(0x9f43, 0x9f47), + CodeunitRange(0x9f4a, 0x9f4b), + CodeunitRange(0x9f4e, 0x9f50), + CodeunitRange(0x9f52, 0x9f58), + CodeunitRange(0x9f5a, 0x9f5a), + CodeunitRange(0x9f5d, 0x9f63), + CodeunitRange(0x9f66, 0x9f6a), + CodeunitRange(0x9f6c, 0x9f73), + CodeunitRange(0x9f75, 0x9f77), + CodeunitRange(0x9f7a, 0x9f7a), + CodeunitRange(0x9f7d, 0x9f7d), + CodeunitRange(0x9f7f, 0x9f7f), + CodeunitRange(0x9f8d, 0x9f8d), + CodeunitRange(0x9f8f, 0x9f92), + CodeunitRange(0x9f94, 0x9f97), + CodeunitRange(0x9f99, 0x9f99), + CodeunitRange(0x9f9c, 0x9fa3), + CodeunitRange(0x9fa5, 0x9fa5), + CodeunitRange(0x9fb4, 0x9fb4), + CodeunitRange(0x9fbc, 0x9fc2), + CodeunitRange(0x9fc4, 0x9fc4), + CodeunitRange(0x9fc6, 0x9fc6), + CodeunitRange(0x9fcc, 0x9fcc), + CodeunitRange(0xf900, 0xf959), + CodeunitRange(0xf95b, 0xf9f2), + CodeunitRange(0xf9f4, 0xfa0b), + CodeunitRange(0xfa0e, 0xfa6d), + CodeunitRange(0xfb00, 0xfb04), + CodeunitRange(0xfe10, 0xfe19), + CodeunitRange(0xfe30, 0xfe52), + CodeunitRange(0xfe54, 0xfe66), + CodeunitRange(0xfe68, 0xfe6b), + CodeunitRange(0xff01, 0xff9f), + CodeunitRange(0xffa1, 0xffbe), + CodeunitRange(0xffc2, 0xffc7), + CodeunitRange(0xffca, 0xffcf), + CodeunitRange(0xffd2, 0xffd7), + CodeunitRange(0xffda, 0xffdc), + CodeunitRange(0xffe0, 0xffe6), + CodeunitRange(0xffe8, 0xffee), + CodeunitRange(0x1f100, 0x1f10c), + CodeunitRange(0x1f110, 0x1f16c), + CodeunitRange(0x1f170, 0x1f1ac), + CodeunitRange(0x1f200, 0x1f202), + CodeunitRange(0x1f210, 0x1f23b), + CodeunitRange(0x1f240, 0x1f248), + CodeunitRange(0x1f250, 0x1f251), + CodeunitRange(0x2000b, 0x2000b), + CodeunitRange(0x20089, 0x2008a), + CodeunitRange(0x200a2, 0x200a2), + CodeunitRange(0x200a4, 0x200a4), + CodeunitRange(0x200b0, 0x200b0), + CodeunitRange(0x200f5, 0x200f5), + CodeunitRange(0x20158, 0x20158), + CodeunitRange(0x201a2, 0x201a2), + CodeunitRange(0x20213, 0x20213), + CodeunitRange(0x2032b, 0x2032b), + CodeunitRange(0x20371, 0x20371), + CodeunitRange(0x20381, 0x20381), + CodeunitRange(0x203f9, 0x203f9), + CodeunitRange(0x2044a, 0x2044a), + CodeunitRange(0x20509, 0x20509), + CodeunitRange(0x2053f, 0x2053f), + CodeunitRange(0x205b1, 0x205b1), + CodeunitRange(0x205d6, 0x205d6), + CodeunitRange(0x20611, 0x20611), + CodeunitRange(0x20628, 0x20628), + CodeunitRange(0x206ec, 0x206ec), + CodeunitRange(0x2074f, 0x2074f), + CodeunitRange(0x207c8, 0x207c8), + CodeunitRange(0x20807, 0x20807), + CodeunitRange(0x2083a, 0x2083a), + CodeunitRange(0x208b9, 0x208b9), + CodeunitRange(0x2090e, 0x2090e), + CodeunitRange(0x2097c, 0x2097c), + CodeunitRange(0x20984, 0x20984), + CodeunitRange(0x2099d, 0x2099d), + CodeunitRange(0x20a64, 0x20a64), + CodeunitRange(0x20ad3, 0x20ad3), + CodeunitRange(0x20b1d, 0x20b1d), + CodeunitRange(0x20b9f, 0x20b9f), + CodeunitRange(0x20bb7, 0x20bb7), + CodeunitRange(0x20d45, 0x20d45), + CodeunitRange(0x20d58, 0x20d58), + CodeunitRange(0x20de1, 0x20de1), + CodeunitRange(0x20e64, 0x20e64), + CodeunitRange(0x20e6d, 0x20e6d), + CodeunitRange(0x20e95, 0x20e95), + CodeunitRange(0x20f5f, 0x20f5f), + CodeunitRange(0x21201, 0x21201), + CodeunitRange(0x2123d, 0x2123d), + CodeunitRange(0x21255, 0x21255), + CodeunitRange(0x21274, 0x21274), + CodeunitRange(0x2127b, 0x2127b), + CodeunitRange(0x212d7, 0x212d7), + CodeunitRange(0x212e4, 0x212e4), + CodeunitRange(0x212fd, 0x212fd), + CodeunitRange(0x2131b, 0x2131b), + CodeunitRange(0x21336, 0x21336), + CodeunitRange(0x21344, 0x21344), + CodeunitRange(0x213c4, 0x213c4), + CodeunitRange(0x2146d, 0x2146e), + CodeunitRange(0x215d7, 0x215d7), + CodeunitRange(0x21647, 0x21647), + CodeunitRange(0x216b4, 0x216b4), + CodeunitRange(0x21706, 0x21706), + CodeunitRange(0x21742, 0x21742), + CodeunitRange(0x218bd, 0x218bd), + CodeunitRange(0x219c3, 0x219c3), + CodeunitRange(0x21a1a, 0x21a1a), + CodeunitRange(0x21c56, 0x21c56), + CodeunitRange(0x21d2d, 0x21d2d), + CodeunitRange(0x21d45, 0x21d45), + CodeunitRange(0x21d62, 0x21d62), + CodeunitRange(0x21d78, 0x21d78), + CodeunitRange(0x21d92, 0x21d92), + CodeunitRange(0x21d9c, 0x21d9c), + CodeunitRange(0x21da1, 0x21da1), + CodeunitRange(0x21db7, 0x21db7), + CodeunitRange(0x21de0, 0x21de0), + CodeunitRange(0x21e33, 0x21e34), + CodeunitRange(0x21f1e, 0x21f1e), + CodeunitRange(0x21f76, 0x21f76), + CodeunitRange(0x21ffa, 0x21ffa), + CodeunitRange(0x2217b, 0x2217b), + CodeunitRange(0x22218, 0x22218), + CodeunitRange(0x2231e, 0x2231e), + CodeunitRange(0x223ad, 0x223ad), + CodeunitRange(0x22609, 0x22609), + CodeunitRange(0x226f3, 0x226f3), + CodeunitRange(0x2285b, 0x2285b), + CodeunitRange(0x228ab, 0x228ab), + CodeunitRange(0x2298f, 0x2298f), + CodeunitRange(0x22ab8, 0x22ab8), + CodeunitRange(0x22b46, 0x22b46), + CodeunitRange(0x22b4f, 0x22b50), + CodeunitRange(0x22ba6, 0x22ba6), + CodeunitRange(0x22c1d, 0x22c1d), + CodeunitRange(0x22c24, 0x22c24), + CodeunitRange(0x22de1, 0x22de1), + CodeunitRange(0x22e42, 0x22e42), + CodeunitRange(0x22feb, 0x22feb), + CodeunitRange(0x231b6, 0x231b6), + CodeunitRange(0x231c3, 0x231c4), + CodeunitRange(0x231f5, 0x231f5), + CodeunitRange(0x23372, 0x23372), + CodeunitRange(0x233cc, 0x233cc), + CodeunitRange(0x233d0, 0x233d0), + CodeunitRange(0x233d2, 0x233d3), + CodeunitRange(0x233d5, 0x233d5), + CodeunitRange(0x233da, 0x233da), + CodeunitRange(0x233df, 0x233df), + CodeunitRange(0x233e4, 0x233e4), + CodeunitRange(0x233fe, 0x233fe), + CodeunitRange(0x2344a, 0x2344b), + CodeunitRange(0x23451, 0x23451), + CodeunitRange(0x23465, 0x23465), + CodeunitRange(0x234e4, 0x234e4), + CodeunitRange(0x2355a, 0x2355a), + CodeunitRange(0x23594, 0x23594), + CodeunitRange(0x235c4, 0x235c4), + CodeunitRange(0x23638, 0x2363a), + CodeunitRange(0x23647, 0x23647), + CodeunitRange(0x2370c, 0x2370c), + CodeunitRange(0x2371c, 0x2371c), + CodeunitRange(0x2373f, 0x2373f), + CodeunitRange(0x23763, 0x23764), + CodeunitRange(0x237e7, 0x237e7), + CodeunitRange(0x237f1, 0x237f1), + CodeunitRange(0x237ff, 0x237ff), + CodeunitRange(0x23824, 0x23824), + CodeunitRange(0x2383d, 0x2383d), + CodeunitRange(0x23a98, 0x23a98), + CodeunitRange(0x23c7f, 0x23c7f), + CodeunitRange(0x23cbe, 0x23cbe), + CodeunitRange(0x23cfe, 0x23cfe), + CodeunitRange(0x23d00, 0x23d00), + CodeunitRange(0x23d0e, 0x23d0e), + CodeunitRange(0x23d40, 0x23d40), + CodeunitRange(0x23dd3, 0x23dd3), + CodeunitRange(0x23df9, 0x23dfa), + CodeunitRange(0x23f7e, 0x23f7e), + CodeunitRange(0x2404b, 0x2404b), + CodeunitRange(0x24096, 0x24096), + CodeunitRange(0x24103, 0x24103), + CodeunitRange(0x241c6, 0x241c6), + CodeunitRange(0x241fe, 0x241fe), + CodeunitRange(0x242ee, 0x242ee), + CodeunitRange(0x243bc, 0x243bc), + CodeunitRange(0x243d0, 0x243d0), + CodeunitRange(0x24629, 0x24629), + CodeunitRange(0x246a5, 0x246a5), + CodeunitRange(0x247f1, 0x247f1), + CodeunitRange(0x24896, 0x24896), + CodeunitRange(0x248e9, 0x248e9), + CodeunitRange(0x24a4d, 0x24a4d), + CodeunitRange(0x24b56, 0x24b56), + CodeunitRange(0x24b6f, 0x24b6f), + CodeunitRange(0x24c16, 0x24c16), + CodeunitRange(0x24d14, 0x24d14), + CodeunitRange(0x24e04, 0x24e04), + CodeunitRange(0x24e0e, 0x24e0e), + CodeunitRange(0x24e37, 0x24e37), + CodeunitRange(0x24e6a, 0x24e6a), + CodeunitRange(0x24e8b, 0x24e8b), + CodeunitRange(0x24ff2, 0x24ff2), + CodeunitRange(0x2504a, 0x2504a), + CodeunitRange(0x25055, 0x25055), + CodeunitRange(0x25122, 0x25122), + CodeunitRange(0x251a9, 0x251a9), + CodeunitRange(0x251cd, 0x251cd), + CodeunitRange(0x251e5, 0x251e5), + CodeunitRange(0x2521e, 0x2521e), + CodeunitRange(0x2524c, 0x2524c), + CodeunitRange(0x2542e, 0x2542e), + CodeunitRange(0x2548e, 0x2548e), + CodeunitRange(0x254d9, 0x254d9), + CodeunitRange(0x2550e, 0x2550e), + CodeunitRange(0x255a7, 0x255a7), + CodeunitRange(0x2567f, 0x2567f), + CodeunitRange(0x25771, 0x25771), + CodeunitRange(0x257a9, 0x257a9), + CodeunitRange(0x257b4, 0x257b4), + CodeunitRange(0x25874, 0x25874), + CodeunitRange(0x259c4, 0x259c4), + CodeunitRange(0x259cc, 0x259cc), + CodeunitRange(0x259d4, 0x259d4), + CodeunitRange(0x25ad7, 0x25ad7), + CodeunitRange(0x25ae3, 0x25ae4), + CodeunitRange(0x25af1, 0x25af1), + CodeunitRange(0x25bb2, 0x25bb2), + CodeunitRange(0x25c4b, 0x25c4b), + CodeunitRange(0x25c64, 0x25c64), + CodeunitRange(0x25da1, 0x25da1), + CodeunitRange(0x25e2e, 0x25e2e), + CodeunitRange(0x25e56, 0x25e56), + CodeunitRange(0x25e62, 0x25e62), + CodeunitRange(0x25e65, 0x25e65), + CodeunitRange(0x25ec2, 0x25ec2), + CodeunitRange(0x25ed8, 0x25ed8), + CodeunitRange(0x25ee8, 0x25ee8), + CodeunitRange(0x25f23, 0x25f23), + CodeunitRange(0x25f5c, 0x25f5c), + CodeunitRange(0x25fd4, 0x25fd4), + CodeunitRange(0x25fe0, 0x25fe0), + CodeunitRange(0x25ffb, 0x25ffb), + CodeunitRange(0x2600c, 0x2600c), + CodeunitRange(0x26017, 0x26017), + CodeunitRange(0x26060, 0x26060), + CodeunitRange(0x260ed, 0x260ed), + CodeunitRange(0x26222, 0x26222), + CodeunitRange(0x2626a, 0x2626a), + CodeunitRange(0x26270, 0x26270), + CodeunitRange(0x26286, 0x26286), + CodeunitRange(0x2634c, 0x2634c), + CodeunitRange(0x26402, 0x26402), + CodeunitRange(0x2667e, 0x2667e), + CodeunitRange(0x266b0, 0x266b0), + CodeunitRange(0x2671d, 0x2671d), + CodeunitRange(0x268dd, 0x268dd), + CodeunitRange(0x268ea, 0x268ea), + CodeunitRange(0x26951, 0x26951), + CodeunitRange(0x2696f, 0x2696f), + CodeunitRange(0x26999, 0x26999), + CodeunitRange(0x269dd, 0x269dd), + CodeunitRange(0x26a1e, 0x26a1e), + CodeunitRange(0x26a58, 0x26a58), + CodeunitRange(0x26a8c, 0x26a8c), + CodeunitRange(0x26ab7, 0x26ab7), + CodeunitRange(0x26aff, 0x26aff), + CodeunitRange(0x26c29, 0x26c29), + CodeunitRange(0x26c73, 0x26c73), + CodeunitRange(0x26c9e, 0x26c9e), + CodeunitRange(0x26cdd, 0x26cdd), + CodeunitRange(0x26e40, 0x26e40), + CodeunitRange(0x26e65, 0x26e65), + CodeunitRange(0x26f94, 0x26f94), + CodeunitRange(0x26ff6, 0x26ff8), + CodeunitRange(0x270f4, 0x270f4), + CodeunitRange(0x2710d, 0x2710d), + CodeunitRange(0x27139, 0x27139), + CodeunitRange(0x273da, 0x273db), + CodeunitRange(0x273fe, 0x273fe), + CodeunitRange(0x27410, 0x27410), + CodeunitRange(0x27449, 0x27449), + CodeunitRange(0x27614, 0x27615), + CodeunitRange(0x27631, 0x27631), + CodeunitRange(0x27684, 0x27684), + CodeunitRange(0x27693, 0x27693), + CodeunitRange(0x2770e, 0x2770e), + CodeunitRange(0x27723, 0x27723), + CodeunitRange(0x27752, 0x27752), + CodeunitRange(0x278b2, 0x278b2), + CodeunitRange(0x27985, 0x27985), + CodeunitRange(0x279b4, 0x279b4), + CodeunitRange(0x27a84, 0x27a84), + CodeunitRange(0x27bb3, 0x27bb3), + CodeunitRange(0x27bbe, 0x27bbe), + CodeunitRange(0x27bc7, 0x27bc7), + CodeunitRange(0x27c3c, 0x27c3c), + CodeunitRange(0x27cb8, 0x27cb8), + CodeunitRange(0x27d73, 0x27d73), + CodeunitRange(0x27da0, 0x27da0), + CodeunitRange(0x27e10, 0x27e10), + CodeunitRange(0x27eaf, 0x27eaf), + CodeunitRange(0x27fb7, 0x27fb7), + CodeunitRange(0x2808a, 0x2808a), + CodeunitRange(0x280bb, 0x280bb), + CodeunitRange(0x28277, 0x28277), + CodeunitRange(0x28282, 0x28282), + CodeunitRange(0x282f3, 0x282f3), + CodeunitRange(0x283cd, 0x283cd), + CodeunitRange(0x2840c, 0x2840c), + CodeunitRange(0x28455, 0x28455), + CodeunitRange(0x284dc, 0x284dc), + CodeunitRange(0x2856b, 0x2856b), + CodeunitRange(0x285c8, 0x285c9), + CodeunitRange(0x286d7, 0x286d7), + CodeunitRange(0x286fa, 0x286fa), + CodeunitRange(0x28946, 0x28946), + CodeunitRange(0x28949, 0x28949), + CodeunitRange(0x2896b, 0x2896b), + CodeunitRange(0x28987, 0x28988), + CodeunitRange(0x289ba, 0x289bb), + CodeunitRange(0x28a1e, 0x28a1e), + CodeunitRange(0x28a29, 0x28a29), + CodeunitRange(0x28a43, 0x28a43), + CodeunitRange(0x28a71, 0x28a71), + CodeunitRange(0x28a99, 0x28a99), + CodeunitRange(0x28acd, 0x28acd), + CodeunitRange(0x28add, 0x28add), + CodeunitRange(0x28ae4, 0x28ae4), + CodeunitRange(0x28bc1, 0x28bc1), + CodeunitRange(0x28bef, 0x28bef), + CodeunitRange(0x28cdd, 0x28cdd), + CodeunitRange(0x28d10, 0x28d10), + CodeunitRange(0x28d71, 0x28d71), + CodeunitRange(0x28dfb, 0x28dfb), + CodeunitRange(0x28e0f, 0x28e0f), + CodeunitRange(0x28e17, 0x28e17), + CodeunitRange(0x28e1f, 0x28e1f), + CodeunitRange(0x28e36, 0x28e36), + CodeunitRange(0x28e89, 0x28e89), + CodeunitRange(0x28eeb, 0x28eeb), + CodeunitRange(0x28ef6, 0x28ef6), + CodeunitRange(0x28f32, 0x28f32), + CodeunitRange(0x28ff8, 0x28ff8), + CodeunitRange(0x292a0, 0x292a0), + CodeunitRange(0x292b1, 0x292b1), + CodeunitRange(0x29490, 0x29490), + CodeunitRange(0x295cf, 0x295cf), + CodeunitRange(0x2967f, 0x2967f), + CodeunitRange(0x296f0, 0x296f0), + CodeunitRange(0x29719, 0x29719), + CodeunitRange(0x29750, 0x29750), + CodeunitRange(0x29810, 0x29810), + CodeunitRange(0x298c6, 0x298c6), + CodeunitRange(0x29a72, 0x29a72), + CodeunitRange(0x29d4b, 0x29d4b), + CodeunitRange(0x29ddb, 0x29ddb), + CodeunitRange(0x29e15, 0x29e15), + CodeunitRange(0x29e3d, 0x29e3d), + CodeunitRange(0x29e49, 0x29e49), + CodeunitRange(0x29e8a, 0x29e8a), + CodeunitRange(0x29ec4, 0x29ec4), + CodeunitRange(0x29edb, 0x29edb), + CodeunitRange(0x29ee9, 0x29ee9), + CodeunitRange(0x29fce, 0x29fce), + CodeunitRange(0x29fd7, 0x29fd7), + CodeunitRange(0x2a01a, 0x2a01a), + CodeunitRange(0x2a02f, 0x2a02f), + CodeunitRange(0x2a082, 0x2a082), + CodeunitRange(0x2a0f9, 0x2a0f9), + CodeunitRange(0x2a190, 0x2a190), + CodeunitRange(0x2a2b2, 0x2a2b2), + CodeunitRange(0x2a38c, 0x2a38c), + CodeunitRange(0x2a437, 0x2a437), + CodeunitRange(0x2a5f1, 0x2a5f1), + CodeunitRange(0x2a602, 0x2a602), + CodeunitRange(0x2a61a, 0x2a61a), + CodeunitRange(0x2a6b2, 0x2a6b2), + CodeunitRange(0x2a9e6, 0x2a9e6), + CodeunitRange(0x2b746, 0x2b746), + CodeunitRange(0x2b751, 0x2b751), + CodeunitRange(0x2b753, 0x2b753), + CodeunitRange(0x2b75a, 0x2b75a), + CodeunitRange(0x2b75c, 0x2b75c), + CodeunitRange(0x2b765, 0x2b765), + CodeunitRange(0x2b776, 0x2b777), + CodeunitRange(0x2b77c, 0x2b77c), + CodeunitRange(0x2b782, 0x2b782), + CodeunitRange(0x2b789, 0x2b789), + CodeunitRange(0x2b78b, 0x2b78b), + CodeunitRange(0x2b78e, 0x2b78e), + CodeunitRange(0x2b794, 0x2b794), + CodeunitRange(0x2b7ac, 0x2b7ac), + CodeunitRange(0x2b7af, 0x2b7af), + CodeunitRange(0x2b7bd, 0x2b7bd), + CodeunitRange(0x2b7c9, 0x2b7c9), + CodeunitRange(0x2b7cf, 0x2b7cf), + CodeunitRange(0x2b7d2, 0x2b7d2), + CodeunitRange(0x2b7d8, 0x2b7d8), + CodeunitRange(0x2b7f0, 0x2b7f0), + CodeunitRange(0x2b80d, 0x2b80d), + CodeunitRange(0x2b817, 0x2b817), + CodeunitRange(0x2b81a, 0x2b81a), + CodeunitRange(0x2d544, 0x2d544), + CodeunitRange(0x2e278, 0x2e278), + CodeunitRange(0x2e569, 0x2e569), + CodeunitRange(0x2e6ea, 0x2e6ea), + CodeunitRange(0x2f804, 0x2f804), + CodeunitRange(0x2f80f, 0x2f80f), + CodeunitRange(0x2f815, 0x2f815), + CodeunitRange(0x2f818, 0x2f818), + CodeunitRange(0x2f81a, 0x2f81a), + CodeunitRange(0x2f822, 0x2f822), + CodeunitRange(0x2f828, 0x2f828), + CodeunitRange(0x2f82c, 0x2f82c), + CodeunitRange(0x2f833, 0x2f833), + CodeunitRange(0x2f83f, 0x2f83f), + CodeunitRange(0x2f846, 0x2f846), + CodeunitRange(0x2f852, 0x2f852), + CodeunitRange(0x2f862, 0x2f862), + CodeunitRange(0x2f86d, 0x2f86d), + CodeunitRange(0x2f873, 0x2f873), + CodeunitRange(0x2f877, 0x2f877), + CodeunitRange(0x2f884, 0x2f884), + CodeunitRange(0x2f899, 0x2f89a), + CodeunitRange(0x2f8a6, 0x2f8a6), + CodeunitRange(0x2f8ac, 0x2f8ac), + CodeunitRange(0x2f8b2, 0x2f8b2), + CodeunitRange(0x2f8b6, 0x2f8b6), + CodeunitRange(0x2f8d3, 0x2f8d3), + CodeunitRange(0x2f8db, 0x2f8dc), + CodeunitRange(0x2f8e1, 0x2f8e1), + CodeunitRange(0x2f8e5, 0x2f8e5), + CodeunitRange(0x2f8ea, 0x2f8ea), + CodeunitRange(0x2f8ed, 0x2f8ed), + CodeunitRange(0x2f8fc, 0x2f8fc), + CodeunitRange(0x2f903, 0x2f903), + CodeunitRange(0x2f90b, 0x2f90b), + CodeunitRange(0x2f90f, 0x2f90f), + CodeunitRange(0x2f91a, 0x2f91a), + CodeunitRange(0x2f920, 0x2f921), + CodeunitRange(0x2f945, 0x2f945), + CodeunitRange(0x2f947, 0x2f947), + CodeunitRange(0x2f96c, 0x2f96c), + CodeunitRange(0x2f995, 0x2f995), + CodeunitRange(0x2f9d0, 0x2f9d0), + CodeunitRange(0x2f9de, 0x2f9df), + CodeunitRange(0x2f9f4, 0x2f9f4), + CodeunitRange(0x30ede, 0x30ede), + CodeunitRange(0x3106c, 0x3106c), + ]), + NotoFont('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa980, 0xa9cd), + CodeunitRange(0xa9cf, 0xa9d9), + CodeunitRange(0xa9de, 0xa9df), + ]), + NotoFont('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0x103), + CodeunitRange(0x110, 0x113), + CodeunitRange(0x11a, 0x11b), + CodeunitRange(0x128, 0x12b), + CodeunitRange(0x143, 0x144), + CodeunitRange(0x147, 0x148), + CodeunitRange(0x14c, 0x14f), + CodeunitRange(0x152, 0x153), + CodeunitRange(0x168, 0x16d), + CodeunitRange(0x192, 0x192), + CodeunitRange(0x1a0, 0x1a1), + CodeunitRange(0x1af, 0x1b0), + CodeunitRange(0x1cd, 0x1dc), + CodeunitRange(0x1f8, 0x1f9), + CodeunitRange(0x251, 0x251), + CodeunitRange(0x261, 0x261), + CodeunitRange(0x2bb, 0x2bb), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x2c9, 0x2cb), + CodeunitRange(0x2d9, 0x2d9), + CodeunitRange(0x2ea, 0x2eb), + CodeunitRange(0x300, 0x301), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x30c, 0x30c), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3b1, 0x3c9), + CodeunitRange(0x401, 0x401), + CodeunitRange(0x410, 0x44f), + CodeunitRange(0x451, 0x451), + CodeunitRange(0x1100, 0x11ff), + CodeunitRange(0x1e3e, 0x1e3f), + CodeunitRange(0x1ea0, 0x1ef9), + CodeunitRange(0x2002, 0x2003), + CodeunitRange(0x2010, 0x2016), + CodeunitRange(0x2018, 0x201a), + CodeunitRange(0x201c, 0x201e), + CodeunitRange(0x2020, 0x2022), + CodeunitRange(0x2025, 0x2027), + CodeunitRange(0x2030, 0x2030), + CodeunitRange(0x2032, 0x2033), + CodeunitRange(0x2035, 0x2035), + CodeunitRange(0x2039, 0x203c), + CodeunitRange(0x2042, 0x2042), + CodeunitRange(0x2047, 0x2049), + CodeunitRange(0x2051, 0x2051), + CodeunitRange(0x2074, 0x2074), + CodeunitRange(0x20a9, 0x20a9), + CodeunitRange(0x20ab, 0x20ac), + CodeunitRange(0x20dd, 0x20de), + CodeunitRange(0x2100, 0x2100), + CodeunitRange(0x2103, 0x2103), + CodeunitRange(0x2105, 0x2105), + CodeunitRange(0x2109, 0x210a), + CodeunitRange(0x210f, 0x210f), + CodeunitRange(0x2113, 0x2113), + CodeunitRange(0x2116, 0x2116), + CodeunitRange(0x2121, 0x2122), + CodeunitRange(0x2126, 0x2127), + CodeunitRange(0x212b, 0x212b), + CodeunitRange(0x212e, 0x212e), + CodeunitRange(0x2135, 0x2135), + CodeunitRange(0x213b, 0x213b), + CodeunitRange(0x2160, 0x216b), + CodeunitRange(0x2170, 0x217b), + CodeunitRange(0x2190, 0x2199), + CodeunitRange(0x21b8, 0x21b9), + CodeunitRange(0x21c4, 0x21c6), + CodeunitRange(0x21cb, 0x21cc), + CodeunitRange(0x21d0, 0x21d0), + CodeunitRange(0x21d2, 0x21d2), + CodeunitRange(0x21d4, 0x21d4), + CodeunitRange(0x21e6, 0x21e9), + CodeunitRange(0x21f5, 0x21f5), + CodeunitRange(0x2200, 0x2200), + CodeunitRange(0x2202, 0x2203), + CodeunitRange(0x2205, 0x220b), + CodeunitRange(0x220f, 0x220f), + CodeunitRange(0x2211, 0x2213), + CodeunitRange(0x2215, 0x2215), + CodeunitRange(0x221a, 0x221a), + CodeunitRange(0x221d, 0x2220), + CodeunitRange(0x2223, 0x2223), + CodeunitRange(0x2225, 0x222e), + CodeunitRange(0x2234, 0x2237), + CodeunitRange(0x223d, 0x223d), + CodeunitRange(0x2243, 0x2243), + CodeunitRange(0x2245, 0x2245), + CodeunitRange(0x2248, 0x2248), + CodeunitRange(0x224c, 0x224c), + CodeunitRange(0x2252, 0x2252), + CodeunitRange(0x2260, 0x2262), + CodeunitRange(0x2264, 0x2267), + CodeunitRange(0x226a, 0x226b), + CodeunitRange(0x226e, 0x226f), + CodeunitRange(0x2272, 0x2273), + CodeunitRange(0x2276, 0x2277), + CodeunitRange(0x2282, 0x2287), + CodeunitRange(0x228a, 0x228b), + CodeunitRange(0x2295, 0x2299), + CodeunitRange(0x22a0, 0x22a0), + CodeunitRange(0x22a5, 0x22a5), + CodeunitRange(0x22bf, 0x22bf), + CodeunitRange(0x22da, 0x22db), + CodeunitRange(0x22ef, 0x22ef), + CodeunitRange(0x2305, 0x2307), + CodeunitRange(0x2312, 0x2312), + CodeunitRange(0x2318, 0x2318), + CodeunitRange(0x2329, 0x232a), + CodeunitRange(0x23b0, 0x23b1), + CodeunitRange(0x23be, 0x23cc), + CodeunitRange(0x23ce, 0x23ce), + CodeunitRange(0x23da, 0x23db), + CodeunitRange(0x2423, 0x2423), + CodeunitRange(0x2460, 0x25ab), + CodeunitRange(0x25b1, 0x25b3), + CodeunitRange(0x25b6, 0x25b7), + CodeunitRange(0x25bc, 0x25bd), + CodeunitRange(0x25c0, 0x25c1), + CodeunitRange(0x25c6, 0x25cc), + CodeunitRange(0x25ce, 0x25d3), + CodeunitRange(0x25e2, 0x25e6), + CodeunitRange(0x25ef, 0x25ef), + CodeunitRange(0x2600, 0x2603), + CodeunitRange(0x2605, 0x2606), + CodeunitRange(0x2609, 0x2609), + CodeunitRange(0x260e, 0x260f), + CodeunitRange(0x2616, 0x2617), + CodeunitRange(0x261c, 0x261f), + CodeunitRange(0x262f, 0x262f), + CodeunitRange(0x2640, 0x2642), + CodeunitRange(0x2660, 0x266f), + CodeunitRange(0x2672, 0x267d), + CodeunitRange(0x26a0, 0x26a0), + CodeunitRange(0x26bd, 0x26be), + CodeunitRange(0x2702, 0x2702), + CodeunitRange(0x2713, 0x2713), + CodeunitRange(0x271a, 0x271a), + CodeunitRange(0x273d, 0x273d), + CodeunitRange(0x273f, 0x2740), + CodeunitRange(0x2756, 0x2756), + CodeunitRange(0x2776, 0x2793), + CodeunitRange(0x27a1, 0x27a1), + CodeunitRange(0x2934, 0x2935), + CodeunitRange(0x29bf, 0x29bf), + CodeunitRange(0x29fa, 0x29fb), + CodeunitRange(0x2b05, 0x2b07), + CodeunitRange(0x2b1a, 0x2b1a), + CodeunitRange(0x2b95, 0x2b95), + CodeunitRange(0x2e3a, 0x2e3b), + CodeunitRange(0x2e80, 0x2e99), + CodeunitRange(0x2e9b, 0x2ef3), + CodeunitRange(0x2f00, 0x2fd5), + CodeunitRange(0x2ff0, 0x2ffb), + CodeunitRange(0x3000, 0x303f), + CodeunitRange(0x3041, 0x3096), + CodeunitRange(0x3099, 0x30ff), + CodeunitRange(0x3105, 0x312f), + CodeunitRange(0x3131, 0x318e), + CodeunitRange(0x3190, 0x31bb), + CodeunitRange(0x31c0, 0x31e3), + CodeunitRange(0x31f0, 0x321e), + CodeunitRange(0x3220, 0x332b), + CodeunitRange(0x332d, 0x33ff), + CodeunitRange(0x349a, 0x349a), + CodeunitRange(0x34d7, 0x34d7), + CodeunitRange(0x3515, 0x3515), + CodeunitRange(0x3521, 0x3521), + CodeunitRange(0x353e, 0x353e), + CodeunitRange(0x35ff, 0x35ff), + CodeunitRange(0x366f, 0x366f), + CodeunitRange(0x36c3, 0x36c5), + CodeunitRange(0x36e6, 0x36e6), + CodeunitRange(0x3723, 0x3723), + CodeunitRange(0x372f, 0x372f), + CodeunitRange(0x373a, 0x373a), + CodeunitRange(0x37bc, 0x37bc), + CodeunitRange(0x380c, 0x380c), + CodeunitRange(0x3818, 0x3818), + CodeunitRange(0x3883, 0x3883), + CodeunitRange(0x38ba, 0x38ba), + CodeunitRange(0x38e7, 0x38e7), + CodeunitRange(0x38fd, 0x38fd), + CodeunitRange(0x3960, 0x3960), + CodeunitRange(0x3965, 0x3965), + CodeunitRange(0x3983, 0x3983), + CodeunitRange(0x3990, 0x3990), + CodeunitRange(0x39a5, 0x39a5), + CodeunitRange(0x39b6, 0x39b6), + CodeunitRange(0x3a39, 0x3a39), + CodeunitRange(0x3aa4, 0x3aa4), + CodeunitRange(0x3adc, 0x3adc), + CodeunitRange(0x3af6, 0x3af6), + CodeunitRange(0x3b03, 0x3b03), + CodeunitRange(0x3b23, 0x3b23), + CodeunitRange(0x3b79, 0x3b79), + CodeunitRange(0x3bf3, 0x3bf3), + CodeunitRange(0x3c14, 0x3c14), + CodeunitRange(0x3c24, 0x3c24), + CodeunitRange(0x3c2d, 0x3c2d), + CodeunitRange(0x3cbd, 0x3cbe), + CodeunitRange(0x3cfc, 0x3cfc), + CodeunitRange(0x3d17, 0x3d17), + CodeunitRange(0x3d5f, 0x3d5f), + CodeunitRange(0x3dbc, 0x3dbc), + CodeunitRange(0x3dc2, 0x3dc2), + CodeunitRange(0x3ec4, 0x3ec4), + CodeunitRange(0x3eed, 0x3eed), + CodeunitRange(0x3efd, 0x3efd), + CodeunitRange(0x3f04, 0x3f04), + CodeunitRange(0x402f, 0x402f), + CodeunitRange(0x4034, 0x4034), + CodeunitRange(0x4062, 0x4062), + CodeunitRange(0x40a9, 0x40a9), + CodeunitRange(0x40c9, 0x40c9), + CodeunitRange(0x4137, 0x4137), + CodeunitRange(0x41ac, 0x41ac), + CodeunitRange(0x4259, 0x4259), + CodeunitRange(0x43bb, 0x43bb), + CodeunitRange(0x43c7, 0x43c7), + CodeunitRange(0x43e7, 0x43e7), + CodeunitRange(0x43ea, 0x43ea), + CodeunitRange(0x4450, 0x4450), + CodeunitRange(0x4512, 0x4512), + CodeunitRange(0x45f2, 0x45f2), + CodeunitRange(0x4618, 0x4618), + CodeunitRange(0x46b7, 0x46b7), + CodeunitRange(0x46be, 0x46be), + CodeunitRange(0x46d4, 0x46d4), + CodeunitRange(0x46d8, 0x46d8), + CodeunitRange(0x46dd, 0x46dd), + CodeunitRange(0x472d, 0x472d), + CodeunitRange(0x476c, 0x476c), + CodeunitRange(0x477d, 0x477d), + CodeunitRange(0x479f, 0x479f), + CodeunitRange(0x4863, 0x4863), + CodeunitRange(0x4883, 0x4883), + CodeunitRange(0x4896, 0x4896), + CodeunitRange(0x48a6, 0x48a6), + CodeunitRange(0x4925, 0x4925), + CodeunitRange(0x499e, 0x499e), + CodeunitRange(0x49a5, 0x49a5), + CodeunitRange(0x49cb, 0x49cb), + CodeunitRange(0x4a12, 0x4a12), + CodeunitRange(0x4a2d, 0x4a2d), + CodeunitRange(0x4ab8, 0x4ab8), + CodeunitRange(0x4adf, 0x4adf), + CodeunitRange(0x4ae8, 0x4ae8), + CodeunitRange(0x4afb, 0x4afb), + CodeunitRange(0x4b53, 0x4b53), + CodeunitRange(0x4b71, 0x4b71), + CodeunitRange(0x4cdf, 0x4ce0), + CodeunitRange(0x4d1b, 0x4d1b), + CodeunitRange(0x4e00, 0x4e01), + CodeunitRange(0x4e03, 0x4e03), + CodeunitRange(0x4e07, 0x4e0b), + CodeunitRange(0x4e0d, 0x4e0e), + CodeunitRange(0x4e11, 0x4e11), + CodeunitRange(0x4e14, 0x4e16), + CodeunitRange(0x4e18, 0x4e19), + CodeunitRange(0x4e1e, 0x4e1f), + CodeunitRange(0x4e24, 0x4e24), + CodeunitRange(0x4e26, 0x4e26), + CodeunitRange(0x4e28, 0x4e28), + CodeunitRange(0x4e2b, 0x4e2d), + CodeunitRange(0x4e30, 0x4e32), + CodeunitRange(0x4e36, 0x4e36), + CodeunitRange(0x4e38, 0x4e39), + CodeunitRange(0x4e3b, 0x4e3b), + CodeunitRange(0x4e3f, 0x4e3f), + CodeunitRange(0x4e42, 0x4e43), + CodeunitRange(0x4e45, 0x4e45), + CodeunitRange(0x4e4b, 0x4e4b), + CodeunitRange(0x4e4d, 0x4e4f), + CodeunitRange(0x4e56, 0x4e5b), + CodeunitRange(0x4e5d, 0x4e5f), + CodeunitRange(0x4e67, 0x4e67), + CodeunitRange(0x4e6b, 0x4e6d), + CodeunitRange(0x4e71, 0x4e71), + CodeunitRange(0x4e73, 0x4e73), + CodeunitRange(0x4e76, 0x4e77), + CodeunitRange(0x4e7a, 0x4e7c), + CodeunitRange(0x4e7e, 0x4e7e), + CodeunitRange(0x4e80, 0x4e80), + CodeunitRange(0x4e82, 0x4e82), + CodeunitRange(0x4e85, 0x4e86), + CodeunitRange(0x4e88, 0x4e89), + CodeunitRange(0x4e8b, 0x4e8c), + CodeunitRange(0x4e8e, 0x4e92), + CodeunitRange(0x4e94, 0x4e95), + CodeunitRange(0x4e98, 0x4e99), + CodeunitRange(0x4e9b, 0x4e9c), + CodeunitRange(0x4e9e, 0x4ea2), + CodeunitRange(0x4ea4, 0x4ea6), + CodeunitRange(0x4ea8, 0x4ea8), + CodeunitRange(0x4eab, 0x4eae), + CodeunitRange(0x4eb0, 0x4eb0), + CodeunitRange(0x4eb3, 0x4eb4), + CodeunitRange(0x4eb6, 0x4eb6), + CodeunitRange(0x4eb9, 0x4ebb), + CodeunitRange(0x4ec0, 0x4ec1), + CodeunitRange(0x4ec4, 0x4ec4), + CodeunitRange(0x4ec6, 0x4ec7), + CodeunitRange(0x4eca, 0x4ecb), + CodeunitRange(0x4ecd, 0x4ecd), + CodeunitRange(0x4ed4, 0x4ed9), + CodeunitRange(0x4edd, 0x4edf), + CodeunitRange(0x4ee1, 0x4ee1), + CodeunitRange(0x4ee3, 0x4ee5), + CodeunitRange(0x4eee, 0x4eee), + CodeunitRange(0x4ef0, 0x4ef0), + CodeunitRange(0x4ef2, 0x4ef3), + CodeunitRange(0x4ef5, 0x4ef7), + CodeunitRange(0x4efb, 0x4efb), + CodeunitRange(0x4efd, 0x4efd), + CodeunitRange(0x4eff, 0x4f01), + CodeunitRange(0x4f09, 0x4f0b), + CodeunitRange(0x4f0d, 0x4f11), + CodeunitRange(0x4f1a, 0x4f1a), + CodeunitRange(0x4f1d, 0x4f1d), + CodeunitRange(0x4f2f, 0x4f30), + CodeunitRange(0x4f34, 0x4f34), + CodeunitRange(0x4f36, 0x4f36), + CodeunitRange(0x4f38, 0x4f38), + CodeunitRange(0x4f3a, 0x4f3a), + CodeunitRange(0x4f3c, 0x4f3e), + CodeunitRange(0x4f42, 0x4f43), + CodeunitRange(0x4f46, 0x4f49), + CodeunitRange(0x4f4b, 0x4f4b), + CodeunitRange(0x4f4d, 0x4f51), + CodeunitRange(0x4f53, 0x4f57), + CodeunitRange(0x4f59, 0x4f5f), + CodeunitRange(0x4f69, 0x4f6a), + CodeunitRange(0x4f6f, 0x4f70), + CodeunitRange(0x4f73, 0x4f74), + CodeunitRange(0x4f76, 0x4f76), + CodeunitRange(0x4f78, 0x4f81), + CodeunitRange(0x4f83, 0x4f84), + CodeunitRange(0x4f86, 0x4f86), + CodeunitRange(0x4f88, 0x4f8b), + CodeunitRange(0x4f8d, 0x4f92), + CodeunitRange(0x4f94, 0x4f94), + CodeunitRange(0x4f96, 0x4f98), + CodeunitRange(0x4f9a, 0x4f9d), + CodeunitRange(0x4fae, 0x4faf), + CodeunitRange(0x4fb2, 0x4fb2), + CodeunitRange(0x4fb5, 0x4fb6), + CodeunitRange(0x4fb9, 0x4fb9), + CodeunitRange(0x4fbb, 0x4fbb), + CodeunitRange(0x4fbf, 0x4fbf), + CodeunitRange(0x4fc1, 0x4fc5), + CodeunitRange(0x4fc9, 0x4fca), + CodeunitRange(0x4fcc, 0x4fd4), + CodeunitRange(0x4fd7, 0x4fdb), + CodeunitRange(0x4fdd, 0x4fe1), + CodeunitRange(0x4fe3, 0x4fe3), + CodeunitRange(0x4fee, 0x4ff1), + CodeunitRange(0x4ff3, 0x4ff6), + CodeunitRange(0x4ff8, 0x4ff8), + CodeunitRange(0x4ffa, 0x4ffa), + CodeunitRange(0x4ffe, 0x4ffe), + CodeunitRange(0x5000, 0x5000), + CodeunitRange(0x5002, 0x5002), + CodeunitRange(0x5005, 0x5007), + CodeunitRange(0x5009, 0x5009), + CodeunitRange(0x500b, 0x500b), + CodeunitRange(0x500d, 0x500d), + CodeunitRange(0x500f, 0x500f), + CodeunitRange(0x5011, 0x5014), + CodeunitRange(0x5016, 0x5016), + CodeunitRange(0x5018, 0x501a), + CodeunitRange(0x501c, 0x501c), + CodeunitRange(0x501e, 0x501f), + CodeunitRange(0x5021, 0x502e), + CodeunitRange(0x5030, 0x5030), + CodeunitRange(0x503b, 0x503b), + CodeunitRange(0x5043, 0x5044), + CodeunitRange(0x5047, 0x504a), + CodeunitRange(0x504e, 0x504f), + CodeunitRange(0x5053, 0x5053), + CodeunitRange(0x5055, 0x5056), + CodeunitRange(0x5058, 0x505a), + CodeunitRange(0x505c, 0x505c), + CodeunitRange(0x5060, 0x5060), + CodeunitRange(0x5062, 0x5062), + CodeunitRange(0x5065, 0x5066), + CodeunitRange(0x506a, 0x506a), + CodeunitRange(0x5070, 0x5070), + CodeunitRange(0x5072, 0x5072), + CodeunitRange(0x5074, 0x5076), + CodeunitRange(0x5078, 0x5078), + CodeunitRange(0x5080, 0x5080), + CodeunitRange(0x5083, 0x5083), + CodeunitRange(0x5085, 0x5085), + CodeunitRange(0x508b, 0x508b), + CodeunitRange(0x508d, 0x508d), + CodeunitRange(0x5091, 0x5092), + CodeunitRange(0x5094, 0x5094), + CodeunitRange(0x5096, 0x5096), + CodeunitRange(0x5098, 0x509b), + CodeunitRange(0x509d, 0x509e), + CodeunitRange(0x50a2, 0x50a2), + CodeunitRange(0x50ac, 0x50ae), + CodeunitRange(0x50b2, 0x50b5), + CodeunitRange(0x50b7, 0x50b7), + CodeunitRange(0x50bd, 0x50bf), + CodeunitRange(0x50c2, 0x50c2), + CodeunitRange(0x50c4, 0x50c5), + CodeunitRange(0x50c9, 0x50ca), + CodeunitRange(0x50cf, 0x50cf), + CodeunitRange(0x50d1, 0x50d1), + CodeunitRange(0x50d4, 0x50d6), + CodeunitRange(0x50da, 0x50db), + CodeunitRange(0x50de, 0x50de), + CodeunitRange(0x50e2, 0x50e2), + CodeunitRange(0x50e5, 0x50e7), + CodeunitRange(0x50e9, 0x50e9), + CodeunitRange(0x50ec, 0x50ee), + CodeunitRange(0x50f5, 0x50f5), + CodeunitRange(0x50f9, 0x50f9), + CodeunitRange(0x50fb, 0x50fb), + CodeunitRange(0x50fe, 0x5104), + CodeunitRange(0x5106, 0x5107), + CodeunitRange(0x5109, 0x5109), + CodeunitRange(0x510b, 0x510c), + CodeunitRange(0x5110, 0x5110), + CodeunitRange(0x5112, 0x5115), + CodeunitRange(0x5117, 0x5118), + CodeunitRange(0x511a, 0x511c), + CodeunitRange(0x511f, 0x511f), + CodeunitRange(0x5121, 0x5122), + CodeunitRange(0x5124, 0x5125), + CodeunitRange(0x5127, 0x5127), + CodeunitRange(0x512a, 0x512b), + CodeunitRange(0x5131, 0x5133), + CodeunitRange(0x5135, 0x5135), + CodeunitRange(0x5137, 0x513c), + CodeunitRange(0x513f, 0x5141), + CodeunitRange(0x5143, 0x5149), + CodeunitRange(0x514b, 0x514e), + CodeunitRange(0x5150, 0x5150), + CodeunitRange(0x5152, 0x5152), + CodeunitRange(0x5154, 0x5157), + CodeunitRange(0x515a, 0x515a), + CodeunitRange(0x515c, 0x515c), + CodeunitRange(0x5162, 0x5162), + CodeunitRange(0x5165, 0x5165), + CodeunitRange(0x5167, 0x516e), + CodeunitRange(0x5171, 0x5171), + CodeunitRange(0x5175, 0x5178), + CodeunitRange(0x517c, 0x517c), + CodeunitRange(0x5180, 0x5180), + CodeunitRange(0x5182, 0x5182), + CodeunitRange(0x5186, 0x5186), + CodeunitRange(0x5189, 0x518a), + CodeunitRange(0x518c, 0x518d), + CodeunitRange(0x518f, 0x518f), + CodeunitRange(0x5191, 0x5193), + CodeunitRange(0x5195, 0x5199), + CodeunitRange(0x519e, 0x519e), + CodeunitRange(0x51a0, 0x51a0), + CodeunitRange(0x51a2, 0x51a5), + CodeunitRange(0x51aa, 0x51ac), + CodeunitRange(0x51b0, 0x51b2), + CodeunitRange(0x51b6, 0x51b7), + CodeunitRange(0x51bd, 0x51be), + CodeunitRange(0x51c4, 0x51c6), + CodeunitRange(0x51c9, 0x51cd), + CodeunitRange(0x51d2, 0x51d2), + CodeunitRange(0x51d4, 0x51d4), + CodeunitRange(0x51d6, 0x51d6), + CodeunitRange(0x51db, 0x51de), + CodeunitRange(0x51e0, 0x51e1), + CodeunitRange(0x51e9, 0x51e9), + CodeunitRange(0x51ed, 0x51ed), + CodeunitRange(0x51f0, 0x51f1), + CodeunitRange(0x51f3, 0x51f6), + CodeunitRange(0x51f8, 0x51fa), + CodeunitRange(0x51fd, 0x51fd), + CodeunitRange(0x5200, 0x5203), + CodeunitRange(0x5206, 0x5208), + CodeunitRange(0x520a, 0x520a), + CodeunitRange(0x520e, 0x520e), + CodeunitRange(0x5211, 0x5211), + CodeunitRange(0x5213, 0x5213), + CodeunitRange(0x5216, 0x5217), + CodeunitRange(0x521d, 0x521d), + CodeunitRange(0x5224, 0x5227), + CodeunitRange(0x5229, 0x522a), + CodeunitRange(0x522e, 0x522e), + CodeunitRange(0x5230, 0x5233), + CodeunitRange(0x5236, 0x523b), + CodeunitRange(0x5243, 0x5244), + CodeunitRange(0x5246, 0x5247), + CodeunitRange(0x5249, 0x524d), + CodeunitRange(0x5254, 0x5257), + CodeunitRange(0x525a, 0x525b), + CodeunitRange(0x525d, 0x525f), + CodeunitRange(0x5261, 0x5261), + CodeunitRange(0x5269, 0x526a), + CodeunitRange(0x526f, 0x526f), + CodeunitRange(0x5272, 0x5272), + CodeunitRange(0x5274, 0x5275), + CodeunitRange(0x5277, 0x5277), + CodeunitRange(0x527a, 0x527a), + CodeunitRange(0x527d, 0x527d), + CodeunitRange(0x527f, 0x527f), + CodeunitRange(0x5282, 0x5283), + CodeunitRange(0x5287, 0x5289), + CodeunitRange(0x528d, 0x528d), + CodeunitRange(0x5291, 0x5293), + CodeunitRange(0x5297, 0x5298), + CodeunitRange(0x529b, 0x529b), + CodeunitRange(0x529f, 0x52a0), + CodeunitRange(0x52a3, 0x52a4), + CodeunitRange(0x52a7, 0x52a7), + CodeunitRange(0x52a9, 0x52ae), + CodeunitRange(0x52b9, 0x52b9), + CodeunitRange(0x52be, 0x52be), + CodeunitRange(0x52c1, 0x52c1), + CodeunitRange(0x52c3, 0x52c3), + CodeunitRange(0x52c5, 0x52c5), + CodeunitRange(0x52c7, 0x52c7), + CodeunitRange(0x52c9, 0x52c9), + CodeunitRange(0x52cc, 0x52cd), + CodeunitRange(0x52d2, 0x52d2), + CodeunitRange(0x52d5, 0x52d6), + CodeunitRange(0x52d8, 0x52d9), + CodeunitRange(0x52db, 0x52db), + CodeunitRange(0x52dd, 0x52e4), + CodeunitRange(0x52e6, 0x52e6), + CodeunitRange(0x52ed, 0x52ed), + CodeunitRange(0x52f2, 0x52f3), + CodeunitRange(0x52f5, 0x52f5), + CodeunitRange(0x52f8, 0x52fb), + CodeunitRange(0x52fe, 0x5303), + CodeunitRange(0x5305, 0x5305), + CodeunitRange(0x5308, 0x5308), + CodeunitRange(0x530a, 0x530a), + CodeunitRange(0x530c, 0x530d), + CodeunitRange(0x530f, 0x5310), + CodeunitRange(0x5315, 0x5317), + CodeunitRange(0x5319, 0x531a), + CodeunitRange(0x5320, 0x5321), + CodeunitRange(0x5323, 0x5323), + CodeunitRange(0x5327, 0x5327), + CodeunitRange(0x532a, 0x532a), + CodeunitRange(0x532f, 0x532f), + CodeunitRange(0x5331, 0x5331), + CodeunitRange(0x5336, 0x5336), + CodeunitRange(0x5338, 0x533b), + CodeunitRange(0x533d, 0x5341), + CodeunitRange(0x5343, 0x5345), + CodeunitRange(0x5347, 0x534a), + CodeunitRange(0x534d, 0x534d), + CodeunitRange(0x5351, 0x5354), + CodeunitRange(0x5357, 0x5357), + CodeunitRange(0x535a, 0x535a), + CodeunitRange(0x535c, 0x535c), + CodeunitRange(0x535e, 0x535e), + CodeunitRange(0x5360, 0x5361), + CodeunitRange(0x5364, 0x5364), + CodeunitRange(0x5366, 0x5366), + CodeunitRange(0x5368, 0x5369), + CodeunitRange(0x536c, 0x536c), + CodeunitRange(0x536e, 0x5375), + CodeunitRange(0x5377, 0x537b), + CodeunitRange(0x537d, 0x537f), + CodeunitRange(0x5382, 0x5382), + CodeunitRange(0x5384, 0x5384), + CodeunitRange(0x538e, 0x538e), + CodeunitRange(0x5393, 0x5393), + CodeunitRange(0x5396, 0x5396), + CodeunitRange(0x5398, 0x5398), + CodeunitRange(0x539a, 0x539a), + CodeunitRange(0x539d, 0x539d), + CodeunitRange(0x539f, 0x53a0), + CodeunitRange(0x53a5, 0x53a6), + CodeunitRange(0x53aa, 0x53aa), + CodeunitRange(0x53ad, 0x53ae), + CodeunitRange(0x53b2, 0x53b3), + CodeunitRange(0x53b6, 0x53b6), + CodeunitRange(0x53b9, 0x53b9), + CodeunitRange(0x53bb, 0x53bb), + CodeunitRange(0x53c2, 0x53c3), + CodeunitRange(0x53c5, 0x53c5), + CodeunitRange(0x53c8, 0x53cd), + CodeunitRange(0x53d4, 0x53d4), + CodeunitRange(0x53d6, 0x53d7), + CodeunitRange(0x53d9, 0x53d9), + CodeunitRange(0x53db, 0x53db), + CodeunitRange(0x53df, 0x53df), + CodeunitRange(0x53e1, 0x53e6), + CodeunitRange(0x53e8, 0x53f8), + CodeunitRange(0x5401, 0x5401), + CodeunitRange(0x5403, 0x5404), + CodeunitRange(0x5408, 0x5411), + CodeunitRange(0x541b, 0x541b), + CodeunitRange(0x541d, 0x541d), + CodeunitRange(0x541f, 0x5420), + CodeunitRange(0x5426, 0x5426), + CodeunitRange(0x5429, 0x5429), + CodeunitRange(0x542b, 0x542c), + CodeunitRange(0x542e, 0x542e), + CodeunitRange(0x5431, 0x5431), + CodeunitRange(0x5433, 0x5433), + CodeunitRange(0x5436, 0x5436), + CodeunitRange(0x5438, 0x5439), + CodeunitRange(0x543b, 0x543e), + CodeunitRange(0x5440, 0x5440), + CodeunitRange(0x5442, 0x5442), + CodeunitRange(0x5446, 0x5446), + CodeunitRange(0x5448, 0x5448), + CodeunitRange(0x544a, 0x544a), + CodeunitRange(0x544e, 0x544e), + CodeunitRange(0x5451, 0x5451), + CodeunitRange(0x545d, 0x545d), + CodeunitRange(0x545f, 0x545f), + CodeunitRange(0x5462, 0x5462), + CodeunitRange(0x5464, 0x5464), + CodeunitRange(0x5466, 0x5466), + CodeunitRange(0x5468, 0x5468), + CodeunitRange(0x546a, 0x546b), + CodeunitRange(0x5470, 0x5471), + CodeunitRange(0x5473, 0x5473), + CodeunitRange(0x5475, 0x5476), + CodeunitRange(0x547b, 0x547d), + CodeunitRange(0x547f, 0x5480), + CodeunitRange(0x5484, 0x5484), + CodeunitRange(0x5486, 0x5487), + CodeunitRange(0x548b, 0x5490), + CodeunitRange(0x5496, 0x5496), + CodeunitRange(0x54a0, 0x54a0), + CodeunitRange(0x54a2, 0x54a2), + CodeunitRange(0x54a4, 0x54a5), + CodeunitRange(0x54a8, 0x54a8), + CodeunitRange(0x54ab, 0x54ac), + CodeunitRange(0x54af, 0x54af), + CodeunitRange(0x54b2, 0x54b3), + CodeunitRange(0x54b8, 0x54b8), + CodeunitRange(0x54bb, 0x54bd), + CodeunitRange(0x54bf, 0x54c4), + CodeunitRange(0x54c6, 0x54c9), + CodeunitRange(0x54e1, 0x54e1), + CodeunitRange(0x54e5, 0x54e6), + CodeunitRange(0x54e8, 0x54e9), + CodeunitRange(0x54ed, 0x54ee), + CodeunitRange(0x54f1, 0x54f2), + CodeunitRange(0x54fa, 0x54fa), + CodeunitRange(0x54fd, 0x54fd), + CodeunitRange(0x54ff, 0x54ff), + CodeunitRange(0x5504, 0x5504), + CodeunitRange(0x5506, 0x5507), + CodeunitRange(0x5509, 0x5509), + CodeunitRange(0x550e, 0x5510), + CodeunitRange(0x5514, 0x5514), + CodeunitRange(0x551c, 0x551c), + CodeunitRange(0x552b, 0x552b), + CodeunitRange(0x552e, 0x552f), + CodeunitRange(0x5531, 0x5531), + CodeunitRange(0x5533, 0x5533), + CodeunitRange(0x5535, 0x5535), + CodeunitRange(0x5539, 0x5539), + CodeunitRange(0x553c, 0x553c), + CodeunitRange(0x553e, 0x553e), + CodeunitRange(0x5540, 0x5540), + CodeunitRange(0x5542, 0x5542), + CodeunitRange(0x5544, 0x5544), + CodeunitRange(0x5546, 0x5546), + CodeunitRange(0x554a, 0x554a), + CodeunitRange(0x554f, 0x554f), + CodeunitRange(0x5553, 0x5553), + CodeunitRange(0x5556, 0x5557), + CodeunitRange(0x555c, 0x555c), + CodeunitRange(0x555e, 0x555e), + CodeunitRange(0x5563, 0x5563), + CodeunitRange(0x557b, 0x5581), + CodeunitRange(0x5583, 0x5584), + CodeunitRange(0x5586, 0x5587), + CodeunitRange(0x5589, 0x558b), + CodeunitRange(0x5591, 0x5591), + CodeunitRange(0x5593, 0x5594), + CodeunitRange(0x5598, 0x559a), + CodeunitRange(0x559c, 0x559f), + CodeunitRange(0x55a3, 0x55a4), + CodeunitRange(0x55a7, 0x55ac), + CodeunitRange(0x55ae, 0x55ae), + CodeunitRange(0x55b0, 0x55b0), + CodeunitRange(0x55c3, 0x55c3), + CodeunitRange(0x55c5, 0x55c5), + CodeunitRange(0x55c7, 0x55c7), + CodeunitRange(0x55c9, 0x55c9), + CodeunitRange(0x55d1, 0x55d1), + CodeunitRange(0x55d4, 0x55d4), + CodeunitRange(0x55da, 0x55dc), + CodeunitRange(0x55df, 0x55e0), + CodeunitRange(0x55e2, 0x55e4), + CodeunitRange(0x55f7, 0x55f7), + CodeunitRange(0x55fd, 0x55ff), + CodeunitRange(0x5604, 0x5604), + CodeunitRange(0x5606, 0x5606), + CodeunitRange(0x5608, 0x5609), + CodeunitRange(0x560c, 0x5610), + CodeunitRange(0x5612, 0x5612), + CodeunitRange(0x5614, 0x5614), + CodeunitRange(0x5616, 0x5617), + CodeunitRange(0x5629, 0x5629), + CodeunitRange(0x562c, 0x562c), + CodeunitRange(0x562f, 0x562f), + CodeunitRange(0x5632, 0x5632), + CodeunitRange(0x5634, 0x5634), + CodeunitRange(0x5636, 0x5639), + CodeunitRange(0x563b, 0x563b), + CodeunitRange(0x563f, 0x563f), + CodeunitRange(0x5641, 0x5642), + CodeunitRange(0x5649, 0x5649), + CodeunitRange(0x564b, 0x564b), + CodeunitRange(0x564d, 0x564f), + CodeunitRange(0x5653, 0x5653), + CodeunitRange(0x5664, 0x5665), + CodeunitRange(0x5668, 0x566d), + CodeunitRange(0x566f, 0x566f), + CodeunitRange(0x5672, 0x5672), + CodeunitRange(0x5674, 0x5674), + CodeunitRange(0x5676, 0x5676), + CodeunitRange(0x5678, 0x5678), + CodeunitRange(0x567a, 0x567a), + CodeunitRange(0x5680, 0x5680), + CodeunitRange(0x5684, 0x5684), + CodeunitRange(0x5686, 0x5687), + CodeunitRange(0x568f, 0x568f), + CodeunitRange(0x5699, 0x569a), + CodeunitRange(0x56a5, 0x56a5), + CodeunitRange(0x56a7, 0x56a7), + CodeunitRange(0x56ac, 0x56ac), + CodeunitRange(0x56ae, 0x56ae), + CodeunitRange(0x56b3, 0x56b4), + CodeunitRange(0x56b6, 0x56b6), + CodeunitRange(0x56bc, 0x56bc), + CodeunitRange(0x56c0, 0x56c3), + CodeunitRange(0x56c8, 0x56ca), + CodeunitRange(0x56cd, 0x56cd), + CodeunitRange(0x56d1, 0x56d1), + CodeunitRange(0x56d7, 0x56d7), + CodeunitRange(0x56da, 0x56db), + CodeunitRange(0x56de, 0x56e0), + CodeunitRange(0x56e3, 0x56e3), + CodeunitRange(0x56e6, 0x56e7), + CodeunitRange(0x56eb, 0x56eb), + CodeunitRange(0x56ed, 0x56ee), + CodeunitRange(0x56f0, 0x56f0), + CodeunitRange(0x56f3, 0x56f3), + CodeunitRange(0x56f7, 0x56f7), + CodeunitRange(0x56f9, 0x56fa), + CodeunitRange(0x56fd, 0x56fd), + CodeunitRange(0x56ff, 0x56ff), + CodeunitRange(0x5701, 0x5704), + CodeunitRange(0x5707, 0x570b), + CodeunitRange(0x570d, 0x570d), + CodeunitRange(0x5712, 0x5713), + CodeunitRange(0x5716, 0x5716), + CodeunitRange(0x5718, 0x5718), + CodeunitRange(0x571c, 0x571c), + CodeunitRange(0x571f, 0x571f), + CodeunitRange(0x5725, 0x5725), + CodeunitRange(0x5728, 0x572a), + CodeunitRange(0x572c, 0x572e), + CodeunitRange(0x5730, 0x5730), + CodeunitRange(0x573b, 0x573b), + CodeunitRange(0x573e, 0x573e), + CodeunitRange(0x5740, 0x5742), + CodeunitRange(0x5747, 0x5747), + CodeunitRange(0x574a, 0x574a), + CodeunitRange(0x574c, 0x5751), + CodeunitRange(0x5761, 0x5761), + CodeunitRange(0x5764, 0x5764), + CodeunitRange(0x5766, 0x576a), + CodeunitRange(0x576e, 0x5771), + CodeunitRange(0x5773, 0x5773), + CodeunitRange(0x5775, 0x5775), + CodeunitRange(0x5777, 0x5778), + CodeunitRange(0x577b, 0x577c), + CodeunitRange(0x5782, 0x5782), + CodeunitRange(0x5788, 0x5788), + CodeunitRange(0x578b, 0x578c), + CodeunitRange(0x5793, 0x5793), + CodeunitRange(0x5795, 0x5795), + CodeunitRange(0x579e, 0x579e), + CodeunitRange(0x57a0, 0x57a0), + CodeunitRange(0x57a2, 0x57a4), + CodeunitRange(0x57b8, 0x57b8), + CodeunitRange(0x57bd, 0x57bd), + CodeunitRange(0x57c3, 0x57c3), + CodeunitRange(0x57c6, 0x57c9), + CodeunitRange(0x57cb, 0x57cb), + CodeunitRange(0x57ce, 0x57cf), + CodeunitRange(0x57d1, 0x57d2), + CodeunitRange(0x57dc, 0x57dc), + CodeunitRange(0x57df, 0x57e0), + CodeunitRange(0x57e4, 0x57e4), + CodeunitRange(0x57e9, 0x57e9), + CodeunitRange(0x57ed, 0x57ee), + CodeunitRange(0x57f0, 0x57f0), + CodeunitRange(0x57f3, 0x57f4), + CodeunitRange(0x57f6, 0x57f7), + CodeunitRange(0x57f9, 0x57fd), + CodeunitRange(0x5800, 0x5800), + CodeunitRange(0x5802, 0x5806), + CodeunitRange(0x5808, 0x580b), + CodeunitRange(0x5817, 0x5817), + CodeunitRange(0x5819, 0x5819), + CodeunitRange(0x581d, 0x581e), + CodeunitRange(0x5820, 0x5821), + CodeunitRange(0x5823, 0x5824), + CodeunitRange(0x5826, 0x5827), + CodeunitRange(0x582a, 0x582a), + CodeunitRange(0x582d, 0x582d), + CodeunitRange(0x582f, 0x5831), + CodeunitRange(0x5834, 0x5835), + CodeunitRange(0x583a, 0x583a), + CodeunitRange(0x5840, 0x5840), + CodeunitRange(0x5849, 0x584d), + CodeunitRange(0x584f, 0x5852), + CodeunitRange(0x5854, 0x5854), + CodeunitRange(0x5857, 0x585a), + CodeunitRange(0x585e, 0x585e), + CodeunitRange(0x5861, 0x5862), + CodeunitRange(0x5864, 0x5864), + CodeunitRange(0x5869, 0x5869), + CodeunitRange(0x5875, 0x5875), + CodeunitRange(0x5879, 0x5879), + CodeunitRange(0x587c, 0x587e), + CodeunitRange(0x5880, 0x5881), + CodeunitRange(0x5883, 0x5883), + CodeunitRange(0x5885, 0x5885), + CodeunitRange(0x5889, 0x588a), + CodeunitRange(0x588c, 0x588d), + CodeunitRange(0x5890, 0x5890), + CodeunitRange(0x5893, 0x5893), + CodeunitRange(0x589c, 0x589f), + CodeunitRange(0x58a1, 0x58a1), + CodeunitRange(0x58a3, 0x58a3), + CodeunitRange(0x58a8, 0x58a9), + CodeunitRange(0x58ab, 0x58ab), + CodeunitRange(0x58ae, 0x58ae), + CodeunitRange(0x58b0, 0x58b1), + CodeunitRange(0x58b3, 0x58b3), + CodeunitRange(0x58ba, 0x58bb), + CodeunitRange(0x58be, 0x58be), + CodeunitRange(0x58c1, 0x58c1), + CodeunitRange(0x58c3, 0x58c3), + CodeunitRange(0x58c5, 0x58c5), + CodeunitRange(0x58c7, 0x58c7), + CodeunitRange(0x58ce, 0x58ce), + CodeunitRange(0x58d1, 0x58d1), + CodeunitRange(0x58d3, 0x58d5), + CodeunitRange(0x58d8, 0x58da), + CodeunitRange(0x58dc, 0x58df), + CodeunitRange(0x58e1, 0x58e1), + CodeunitRange(0x58e4, 0x58e4), + CodeunitRange(0x58eb, 0x58ec), + CodeunitRange(0x58ee, 0x58f0), + CodeunitRange(0x58f2, 0x58f2), + CodeunitRange(0x58f9, 0x58fb), + CodeunitRange(0x58fd, 0x58fd), + CodeunitRange(0x5902, 0x5902), + CodeunitRange(0x5906, 0x5906), + CodeunitRange(0x5908, 0x5908), + CodeunitRange(0x590a, 0x590a), + CodeunitRange(0x590f, 0x5910), + CodeunitRange(0x5914, 0x5916), + CodeunitRange(0x5919, 0x591c), + CodeunitRange(0x5922, 0x5922), + CodeunitRange(0x5924, 0x5925), + CodeunitRange(0x5927, 0x5927), + CodeunitRange(0x5929, 0x592f), + CodeunitRange(0x5931, 0x5932), + CodeunitRange(0x5937, 0x5938), + CodeunitRange(0x593d, 0x593e), + CodeunitRange(0x5944, 0x5944), + CodeunitRange(0x5947, 0x5949), + CodeunitRange(0x594c, 0x594c), + CodeunitRange(0x594e, 0x5951), + CodeunitRange(0x5953, 0x5955), + CodeunitRange(0x5957, 0x5958), + CodeunitRange(0x595a, 0x595a), + CodeunitRange(0x595c, 0x595c), + CodeunitRange(0x5960, 0x5960), + CodeunitRange(0x5962, 0x5962), + CodeunitRange(0x5967, 0x5967), + CodeunitRange(0x5969, 0x596e), + CodeunitRange(0x5972, 0x5974), + CodeunitRange(0x5976, 0x5976), + CodeunitRange(0x5978, 0x5978), + CodeunitRange(0x597d, 0x597d), + CodeunitRange(0x5982, 0x5984), + CodeunitRange(0x598a, 0x598a), + CodeunitRange(0x598c, 0x598d), + CodeunitRange(0x5991, 0x5993), + CodeunitRange(0x5996, 0x5997), + CodeunitRange(0x5999, 0x5999), + CodeunitRange(0x599d, 0x599d), + CodeunitRange(0x59a3, 0x59a5), + CodeunitRange(0x59a7, 0x59a8), + CodeunitRange(0x59ac, 0x59ac), + CodeunitRange(0x59af, 0x59af), + CodeunitRange(0x59b2, 0x59b2), + CodeunitRange(0x59b5, 0x59b6), + CodeunitRange(0x59b8, 0x59b9), + CodeunitRange(0x59bb, 0x59bb), + CodeunitRange(0x59be, 0x59bf), + CodeunitRange(0x59c1, 0x59c1), + CodeunitRange(0x59c3, 0x59c3), + CodeunitRange(0x59c6, 0x59c6), + CodeunitRange(0x59c8, 0x59cb), + CodeunitRange(0x59cd, 0x59cd), + CodeunitRange(0x59d0, 0x59d4), + CodeunitRange(0x59d9, 0x59da), + CodeunitRange(0x59dc, 0x59de), + CodeunitRange(0x59e2, 0x59e6), + CodeunitRange(0x59e8, 0x59e8), + CodeunitRange(0x59ea, 0x59ec), + CodeunitRange(0x59ee, 0x59ee), + CodeunitRange(0x59f0, 0x59f0), + CodeunitRange(0x59f2, 0x59f2), + CodeunitRange(0x59f7, 0x59fc), + CodeunitRange(0x59ff, 0x59ff), + CodeunitRange(0x5a01, 0x5a01), + CodeunitRange(0x5a03, 0x5a03), + CodeunitRange(0x5a09, 0x5a0a), + CodeunitRange(0x5a0d, 0x5a0d), + CodeunitRange(0x5a11, 0x5a11), + CodeunitRange(0x5a13, 0x5a13), + CodeunitRange(0x5a18, 0x5a19), + CodeunitRange(0x5a1b, 0x5a1c), + CodeunitRange(0x5a1f, 0x5a20), + CodeunitRange(0x5a23, 0x5a23), + CodeunitRange(0x5a25, 0x5a25), + CodeunitRange(0x5a27, 0x5a27), + CodeunitRange(0x5a29, 0x5a29), + CodeunitRange(0x5a2b, 0x5a2b), + CodeunitRange(0x5a2d, 0x5a2d), + CodeunitRange(0x5a35, 0x5a36), + CodeunitRange(0x5a3c, 0x5a3c), + CodeunitRange(0x5a3f, 0x5a41), + CodeunitRange(0x5a46, 0x5a47), + CodeunitRange(0x5a49, 0x5a49), + CodeunitRange(0x5a4b, 0x5a4c), + CodeunitRange(0x5a50, 0x5a51), + CodeunitRange(0x5a5a, 0x5a5a), + CodeunitRange(0x5a60, 0x5a60), + CodeunitRange(0x5a62, 0x5a63), + CodeunitRange(0x5a66, 0x5a67), + CodeunitRange(0x5a69, 0x5a6a), + CodeunitRange(0x5a6d, 0x5a6d), + CodeunitRange(0x5a72, 0x5a72), + CodeunitRange(0x5a77, 0x5a77), + CodeunitRange(0x5a7f, 0x5a7f), + CodeunitRange(0x5a84, 0x5a84), + CodeunitRange(0x5a8d, 0x5a8d), + CodeunitRange(0x5a90, 0x5a90), + CodeunitRange(0x5a92, 0x5a93), + CodeunitRange(0x5a95, 0x5a95), + CodeunitRange(0x5a9a, 0x5a9b), + CodeunitRange(0x5a9e, 0x5a9f), + CodeunitRange(0x5aa2, 0x5aa2), + CodeunitRange(0x5aa4, 0x5aa4), + CodeunitRange(0x5aa7, 0x5aa7), + CodeunitRange(0x5aaa, 0x5aaa), + CodeunitRange(0x5ab3, 0x5ab3), + CodeunitRange(0x5ab5, 0x5ab5), + CodeunitRange(0x5aba, 0x5abf), + CodeunitRange(0x5ac1, 0x5ac2), + CodeunitRange(0x5ac4, 0x5ac4), + CodeunitRange(0x5ac8, 0x5ac9), + CodeunitRange(0x5acb, 0x5acc), + CodeunitRange(0x5ad5, 0x5ad7), + CodeunitRange(0x5ad9, 0x5adb), + CodeunitRange(0x5add, 0x5add), + CodeunitRange(0x5ae0, 0x5ae6), + CodeunitRange(0x5ae9, 0x5ae9), + CodeunitRange(0x5aeb, 0x5aeb), + CodeunitRange(0x5aed, 0x5aef), + CodeunitRange(0x5af6, 0x5af6), + CodeunitRange(0x5afa, 0x5afb), + CodeunitRange(0x5afd, 0x5afd), + CodeunitRange(0x5b00, 0x5b00), + CodeunitRange(0x5b05, 0x5b05), + CodeunitRange(0x5b08, 0x5b09), + CodeunitRange(0x5b0b, 0x5b0c), + CodeunitRange(0x5b16, 0x5b16), + CodeunitRange(0x5b19, 0x5b19), + CodeunitRange(0x5b1b, 0x5b1b), + CodeunitRange(0x5b25, 0x5b25), + CodeunitRange(0x5b28, 0x5b28), + CodeunitRange(0x5b2a, 0x5b2a), + CodeunitRange(0x5b2d, 0x5b2d), + CodeunitRange(0x5b30, 0x5b30), + CodeunitRange(0x5b32, 0x5b32), + CodeunitRange(0x5b34, 0x5b34), + CodeunitRange(0x5b3e, 0x5b40), + CodeunitRange(0x5b43, 0x5b43), + CodeunitRange(0x5b45, 0x5b45), + CodeunitRange(0x5b4c, 0x5b4c), + CodeunitRange(0x5b50, 0x5b51), + CodeunitRange(0x5b54, 0x5b58), + CodeunitRange(0x5b5a, 0x5b5d), + CodeunitRange(0x5b5f, 0x5b5f), + CodeunitRange(0x5b61, 0x5b61), + CodeunitRange(0x5b63, 0x5b66), + CodeunitRange(0x5b69, 0x5b69), + CodeunitRange(0x5b6b, 0x5b6b), + CodeunitRange(0x5b70, 0x5b71), + CodeunitRange(0x5b75, 0x5b76), + CodeunitRange(0x5b78, 0x5b78), + CodeunitRange(0x5b7a, 0x5b7a), + CodeunitRange(0x5b7c, 0x5b7c), + CodeunitRange(0x5b7f, 0x5b82), + CodeunitRange(0x5b85, 0x5b85), + CodeunitRange(0x5b87, 0x5b8c), + CodeunitRange(0x5b8f, 0x5b8f), + CodeunitRange(0x5b93, 0x5b93), + CodeunitRange(0x5b95, 0x5b9d), + CodeunitRange(0x5b9f, 0x5b9f), + CodeunitRange(0x5ba2, 0x5ba6), + CodeunitRange(0x5bac, 0x5bac), + CodeunitRange(0x5bae, 0x5bae), + CodeunitRange(0x5bb0, 0x5bb0), + CodeunitRange(0x5bb3, 0x5bb6), + CodeunitRange(0x5bb8, 0x5bb9), + CodeunitRange(0x5bbf, 0x5bc0), + CodeunitRange(0x5bc2, 0x5bc7), + CodeunitRange(0x5bcc, 0x5bcc), + CodeunitRange(0x5bd0, 0x5bd0), + CodeunitRange(0x5bd2, 0x5bd4), + CodeunitRange(0x5bd6, 0x5bd8), + CodeunitRange(0x5bdb, 0x5bdb), + CodeunitRange(0x5bde, 0x5bdf), + CodeunitRange(0x5be1, 0x5be2), + CodeunitRange(0x5be4, 0x5be9), + CodeunitRange(0x5beb, 0x5bf0), + CodeunitRange(0x5bf5, 0x5bf6), + CodeunitRange(0x5bf8, 0x5bfa), + CodeunitRange(0x5bff, 0x5bff), + CodeunitRange(0x5c01, 0x5c01), + CodeunitRange(0x5c04, 0x5c0f), + CodeunitRange(0x5c11, 0x5c11), + CodeunitRange(0x5c14, 0x5c14), + CodeunitRange(0x5c16, 0x5c16), + CodeunitRange(0x5c19, 0x5c19), + CodeunitRange(0x5c1f, 0x5c20), + CodeunitRange(0x5c22, 0x5c24), + CodeunitRange(0x5c28, 0x5c28), + CodeunitRange(0x5c2b, 0x5c2b), + CodeunitRange(0x5c31, 0x5c31), + CodeunitRange(0x5c38, 0x5c41), + CodeunitRange(0x5c45, 0x5c48), + CodeunitRange(0x5c4b, 0x5c4b), + CodeunitRange(0x5c4d, 0x5c4e), + CodeunitRange(0x5c50, 0x5c51), + CodeunitRange(0x5c55, 0x5c55), + CodeunitRange(0x5c5b, 0x5c5b), + CodeunitRange(0x5c60, 0x5c60), + CodeunitRange(0x5c62, 0x5c62), + CodeunitRange(0x5c64, 0x5c65), + CodeunitRange(0x5c68, 0x5c68), + CodeunitRange(0x5c6c, 0x5c6c), + CodeunitRange(0x5c6f, 0x5c6f), + CodeunitRange(0x5c71, 0x5c71), + CodeunitRange(0x5c73, 0x5c73), + CodeunitRange(0x5c79, 0x5c7a), + CodeunitRange(0x5c88, 0x5c88), + CodeunitRange(0x5c8a, 0x5c8a), + CodeunitRange(0x5c8c, 0x5c8c), + CodeunitRange(0x5c8f, 0x5c92), + CodeunitRange(0x5c94, 0x5c94), + CodeunitRange(0x5c9d, 0x5c9d), + CodeunitRange(0x5ca1, 0x5ca1), + CodeunitRange(0x5ca3, 0x5ca3), + CodeunitRange(0x5ca5, 0x5cad), + CodeunitRange(0x5cb1, 0x5cb1), + CodeunitRange(0x5cb3, 0x5cb3), + CodeunitRange(0x5cb5, 0x5cb5), + CodeunitRange(0x5cb7, 0x5cb8), + CodeunitRange(0x5cba, 0x5cba), + CodeunitRange(0x5cbe, 0x5cbe), + CodeunitRange(0x5cc0, 0x5cc0), + CodeunitRange(0x5ccb, 0x5ccb), + CodeunitRange(0x5cd2, 0x5cd2), + CodeunitRange(0x5cd9, 0x5cd9), + CodeunitRange(0x5ce0, 0x5ce0), + CodeunitRange(0x5ce8, 0x5ce9), + CodeunitRange(0x5ced, 0x5ced), + CodeunitRange(0x5cef, 0x5cf1), + CodeunitRange(0x5cf4, 0x5cf4), + CodeunitRange(0x5cf6, 0x5cf6), + CodeunitRange(0x5cfb, 0x5cfb), + CodeunitRange(0x5cfd, 0x5cfd), + CodeunitRange(0x5d06, 0x5d07), + CodeunitRange(0x5d0d, 0x5d0e), + CodeunitRange(0x5d10, 0x5d11), + CodeunitRange(0x5d14, 0x5d19), + CodeunitRange(0x5d1b, 0x5d1b), + CodeunitRange(0x5d1f, 0x5d1f), + CodeunitRange(0x5d22, 0x5d22), + CodeunitRange(0x5d24, 0x5d24), + CodeunitRange(0x5d26, 0x5d27), + CodeunitRange(0x5d29, 0x5d29), + CodeunitRange(0x5d34, 0x5d34), + CodeunitRange(0x5d3d, 0x5d3d), + CodeunitRange(0x5d41, 0x5d42), + CodeunitRange(0x5d44, 0x5d44), + CodeunitRange(0x5d4b, 0x5d4c), + CodeunitRange(0x5d4e, 0x5d4e), + CodeunitRange(0x5d50, 0x5d50), + CodeunitRange(0x5d53, 0x5d54), + CodeunitRange(0x5d69, 0x5d69), + CodeunitRange(0x5d6c, 0x5d6c), + CodeunitRange(0x5d6f, 0x5d6f), + CodeunitRange(0x5d71, 0x5d71), + CodeunitRange(0x5d81, 0x5d82), + CodeunitRange(0x5d84, 0x5d84), + CodeunitRange(0x5d86, 0x5d87), + CodeunitRange(0x5d8b, 0x5d8b), + CodeunitRange(0x5d92, 0x5d92), + CodeunitRange(0x5d94, 0x5d95), + CodeunitRange(0x5d99, 0x5d99), + CodeunitRange(0x5d9d, 0x5d9d), + CodeunitRange(0x5da0, 0x5da0), + CodeunitRange(0x5da2, 0x5da2), + CodeunitRange(0x5da7, 0x5da7), + CodeunitRange(0x5daa, 0x5dab), + CodeunitRange(0x5dae, 0x5dae), + CodeunitRange(0x5db0, 0x5db0), + CodeunitRange(0x5db7, 0x5db8), + CodeunitRange(0x5dba, 0x5dba), + CodeunitRange(0x5dbc, 0x5dbe), + CodeunitRange(0x5dc9, 0x5dc9), + CodeunitRange(0x5dcb, 0x5dcb), + CodeunitRange(0x5dcd, 0x5dcd), + CodeunitRange(0x5dd1, 0x5dd3), + CodeunitRange(0x5dd6, 0x5dd6), + CodeunitRange(0x5dda, 0x5ddb), + CodeunitRange(0x5ddd, 0x5dde), + CodeunitRange(0x5de0, 0x5de2), + CodeunitRange(0x5de5, 0x5de8), + CodeunitRange(0x5deb, 0x5deb), + CodeunitRange(0x5dee, 0x5dee), + CodeunitRange(0x5df1, 0x5df5), + CodeunitRange(0x5df7, 0x5df9), + CodeunitRange(0x5dfb, 0x5dfb), + CodeunitRange(0x5dfd, 0x5dfe), + CodeunitRange(0x5e02, 0x5e03), + CodeunitRange(0x5e06, 0x5e06), + CodeunitRange(0x5e09, 0x5e09), + CodeunitRange(0x5e0c, 0x5e0c), + CodeunitRange(0x5e11, 0x5e11), + CodeunitRange(0x5e15, 0x5e16), + CodeunitRange(0x5e19, 0x5e1b), + CodeunitRange(0x5e1d, 0x5e1d), + CodeunitRange(0x5e20, 0x5e20), + CodeunitRange(0x5e25, 0x5e25), + CodeunitRange(0x5e28, 0x5e28), + CodeunitRange(0x5e2b, 0x5e2b), + CodeunitRange(0x5e2d, 0x5e2d), + CodeunitRange(0x5e33, 0x5e33), + CodeunitRange(0x5e36, 0x5e38), + CodeunitRange(0x5e3d, 0x5e3d), + CodeunitRange(0x5e3f, 0x5e40), + CodeunitRange(0x5e43, 0x5e45), + CodeunitRange(0x5e47, 0x5e47), + CodeunitRange(0x5e4c, 0x5e4c), + CodeunitRange(0x5e4e, 0x5e4e), + CodeunitRange(0x5e54, 0x5e55), + CodeunitRange(0x5e58, 0x5e58), + CodeunitRange(0x5e5e, 0x5e5f), + CodeunitRange(0x5e61, 0x5e63), + CodeunitRange(0x5e68, 0x5e68), + CodeunitRange(0x5e6a, 0x5e6c), + CodeunitRange(0x5e70, 0x5e74), + CodeunitRange(0x5e76, 0x5e80), + CodeunitRange(0x5e83, 0x5e84), + CodeunitRange(0x5e87, 0x5e87), + CodeunitRange(0x5e8a, 0x5e8b), + CodeunitRange(0x5e8f, 0x5e8f), + CodeunitRange(0x5e95, 0x5e97), + CodeunitRange(0x5e9a, 0x5e9a), + CodeunitRange(0x5e9c, 0x5e9c), + CodeunitRange(0x5ea0, 0x5ea0), + CodeunitRange(0x5ea5, 0x5ea8), + CodeunitRange(0x5eab, 0x5eab), + CodeunitRange(0x5ead, 0x5ead), + CodeunitRange(0x5eb3, 0x5eb3), + CodeunitRange(0x5eb5, 0x5eb8), + CodeunitRange(0x5ebd, 0x5ebe), + CodeunitRange(0x5ec1, 0x5ec2), + CodeunitRange(0x5ec8, 0x5ecb), + CodeunitRange(0x5ecf, 0x5ed1), + CodeunitRange(0x5ed3, 0x5ed3), + CodeunitRange(0x5ed5, 0x5ed6), + CodeunitRange(0x5ed9, 0x5edb), + CodeunitRange(0x5edd, 0x5ee3), + CodeunitRange(0x5ee5, 0x5ee5), + CodeunitRange(0x5ee7, 0x5ee9), + CodeunitRange(0x5eec, 0x5eec), + CodeunitRange(0x5ef1, 0x5ef1), + CodeunitRange(0x5ef3, 0x5ef4), + CodeunitRange(0x5ef6, 0x5ef7), + CodeunitRange(0x5efa, 0x5efb), + CodeunitRange(0x5efe, 0x5eff), + CodeunitRange(0x5f01, 0x5f01), + CodeunitRange(0x5f03, 0x5f04), + CodeunitRange(0x5f07, 0x5f08), + CodeunitRange(0x5f0a, 0x5f0b), + CodeunitRange(0x5f0f, 0x5f0f), + CodeunitRange(0x5f11, 0x5f15), + CodeunitRange(0x5f17, 0x5f18), + CodeunitRange(0x5f1b, 0x5f1b), + CodeunitRange(0x5f1f, 0x5f1f), + CodeunitRange(0x5f22, 0x5f22), + CodeunitRange(0x5f25, 0x5f27), + CodeunitRange(0x5f29, 0x5f29), + CodeunitRange(0x5f2d, 0x5f2d), + CodeunitRange(0x5f31, 0x5f31), + CodeunitRange(0x5f34, 0x5f35), + CodeunitRange(0x5f37, 0x5f37), + CodeunitRange(0x5f3a, 0x5f3a), + CodeunitRange(0x5f3c, 0x5f3c), + CodeunitRange(0x5f3e, 0x5f3e), + CodeunitRange(0x5f40, 0x5f40), + CodeunitRange(0x5f46, 0x5f46), + CodeunitRange(0x5f48, 0x5f48), + CodeunitRange(0x5f4a, 0x5f4a), + CodeunitRange(0x5f4c, 0x5f4c), + CodeunitRange(0x5f4e, 0x5f4e), + CodeunitRange(0x5f50, 0x5f51), + CodeunitRange(0x5f53, 0x5f54), + CodeunitRange(0x5f56, 0x5f59), + CodeunitRange(0x5f5b, 0x5f5b), + CodeunitRange(0x5f5d, 0x5f5d), + CodeunitRange(0x5f61, 0x5f62), + CodeunitRange(0x5f64, 0x5f67), + CodeunitRange(0x5f69, 0x5f6d), + CodeunitRange(0x5f70, 0x5f71), + CodeunitRange(0x5f73, 0x5f73), + CodeunitRange(0x5f77, 0x5f77), + CodeunitRange(0x5f79, 0x5f79), + CodeunitRange(0x5f7c, 0x5f7c), + CodeunitRange(0x5f7f, 0x5f82), + CodeunitRange(0x5f85, 0x5f85), + CodeunitRange(0x5f87, 0x5f8c), + CodeunitRange(0x5f90, 0x5f92), + CodeunitRange(0x5f97, 0x5f99), + CodeunitRange(0x5f9c, 0x5f9c), + CodeunitRange(0x5f9e, 0x5f9e), + CodeunitRange(0x5fa0, 0x5fa1), + CodeunitRange(0x5fa3, 0x5fa3), + CodeunitRange(0x5fa7, 0x5faa), + CodeunitRange(0x5fac, 0x5faf), + CodeunitRange(0x5fb3, 0x5fb3), + CodeunitRange(0x5fb5, 0x5fb5), + CodeunitRange(0x5fb7, 0x5fb7), + CodeunitRange(0x5fb9, 0x5fb9), + CodeunitRange(0x5fbc, 0x5fbd), + CodeunitRange(0x5fc3, 0x5fc5), + CodeunitRange(0x5fc8, 0x5fc9), + CodeunitRange(0x5fcc, 0x5fce), + CodeunitRange(0x5fd0, 0x5fd0), + CodeunitRange(0x5fd2, 0x5fd3), + CodeunitRange(0x5fd5, 0x5fd9), + CodeunitRange(0x5fdc, 0x5fe1), + CodeunitRange(0x5fe4, 0x5fe4), + CodeunitRange(0x5fe8, 0x5fe8), + CodeunitRange(0x5feb, 0x5feb), + CodeunitRange(0x5fed, 0x5fef), + CodeunitRange(0x5ff1, 0x5ff1), + CodeunitRange(0x5ff5, 0x5ff5), + CodeunitRange(0x5ff8, 0x5ff8), + CodeunitRange(0x5ffb, 0x5ffd), + CodeunitRange(0x5fff, 0x5fff), + CodeunitRange(0x600a, 0x600a), + CodeunitRange(0x600d, 0x600d), + CodeunitRange(0x600f, 0x600f), + CodeunitRange(0x6012, 0x6012), + CodeunitRange(0x6014, 0x6017), + CodeunitRange(0x6019, 0x6019), + CodeunitRange(0x601b, 0x601d), + CodeunitRange(0x6020, 0x6021), + CodeunitRange(0x6025, 0x602a), + CodeunitRange(0x602f, 0x6030), + CodeunitRange(0x6033, 0x6033), + CodeunitRange(0x6041, 0x6043), + CodeunitRange(0x6046, 0x6048), + CodeunitRange(0x604a, 0x604b), + CodeunitRange(0x604d, 0x604d), + CodeunitRange(0x6050, 0x6050), + CodeunitRange(0x6052, 0x6052), + CodeunitRange(0x6055, 0x6055), + CodeunitRange(0x6059, 0x605a), + CodeunitRange(0x605d, 0x605d), + CodeunitRange(0x605f, 0x6060), + CodeunitRange(0x6062, 0x6065), + CodeunitRange(0x6068, 0x606d), + CodeunitRange(0x606f, 0x6070), + CodeunitRange(0x6075, 0x6075), + CodeunitRange(0x6081, 0x6081), + CodeunitRange(0x6083, 0x6086), + CodeunitRange(0x6089, 0x608d), + CodeunitRange(0x608f, 0x608f), + CodeunitRange(0x6092, 0x6092), + CodeunitRange(0x6094, 0x6097), + CodeunitRange(0x609a, 0x609b), + CodeunitRange(0x609f, 0x60a0), + CodeunitRange(0x60a2, 0x60a4), + CodeunitRange(0x60a7, 0x60a7), + CodeunitRange(0x60aa, 0x60aa), + CodeunitRange(0x60b0, 0x60b6), + CodeunitRange(0x60b8, 0x60b8), + CodeunitRange(0x60bb, 0x60be), + CodeunitRange(0x60c4, 0x60c7), + CodeunitRange(0x60c9, 0x60c9), + CodeunitRange(0x60cb, 0x60cb), + CodeunitRange(0x60cf, 0x60cf), + CodeunitRange(0x60d1, 0x60d1), + CodeunitRange(0x60d3, 0x60d3), + CodeunitRange(0x60d5, 0x60d5), + CodeunitRange(0x60d7, 0x60e2), + CodeunitRange(0x60f0, 0x60f4), + CodeunitRange(0x60f6, 0x60fc), + CodeunitRange(0x6100, 0x6101), + CodeunitRange(0x6103, 0x6103), + CodeunitRange(0x6106, 0x6106), + CodeunitRange(0x6108, 0x6109), + CodeunitRange(0x610d, 0x610f), + CodeunitRange(0x6114, 0x6115), + CodeunitRange(0x611a, 0x611c), + CodeunitRange(0x611e, 0x611f), + CodeunitRange(0x6122, 0x6122), + CodeunitRange(0x6127, 0x6128), + CodeunitRange(0x612b, 0x612d), + CodeunitRange(0x6130, 0x6130), + CodeunitRange(0x6134, 0x6134), + CodeunitRange(0x6137, 0x6137), + CodeunitRange(0x613c, 0x613c), + CodeunitRange(0x613e, 0x613f), + CodeunitRange(0x6142, 0x6142), + CodeunitRange(0x6144, 0x6144), + CodeunitRange(0x6146, 0x6148), + CodeunitRange(0x614a, 0x614d), + CodeunitRange(0x614f, 0x614f), + CodeunitRange(0x6152, 0x6155), + CodeunitRange(0x6158, 0x615a), + CodeunitRange(0x615c, 0x615d), + CodeunitRange(0x615f, 0x6164), + CodeunitRange(0x6167, 0x6168), + CodeunitRange(0x616a, 0x616b), + CodeunitRange(0x616e, 0x616e), + CodeunitRange(0x6170, 0x6171), + CodeunitRange(0x6173, 0x6177), + CodeunitRange(0x617a, 0x617a), + CodeunitRange(0x617c, 0x617e), + CodeunitRange(0x6181, 0x6183), + CodeunitRange(0x618a, 0x618a), + CodeunitRange(0x618d, 0x618e), + CodeunitRange(0x6190, 0x6194), + CodeunitRange(0x6196, 0x6196), + CodeunitRange(0x6198, 0x619a), + CodeunitRange(0x61a4, 0x61a4), + CodeunitRange(0x61a7, 0x61a9), + CodeunitRange(0x61ab, 0x61ac), + CodeunitRange(0x61ae, 0x61af), + CodeunitRange(0x61b2, 0x61b2), + CodeunitRange(0x61b6, 0x61b6), + CodeunitRange(0x61b8, 0x61b8), + CodeunitRange(0x61ba, 0x61be), + CodeunitRange(0x61c3, 0x61c3), + CodeunitRange(0x61c6, 0x61cc), + CodeunitRange(0x61cf, 0x61cf), + CodeunitRange(0x61d5, 0x61d5), + CodeunitRange(0x61d7, 0x61d7), + CodeunitRange(0x61de, 0x61df), + CodeunitRange(0x61e3, 0x61e3), + CodeunitRange(0x61e6, 0x61e6), + CodeunitRange(0x61f2, 0x61f2), + CodeunitRange(0x61f6, 0x61f8), + CodeunitRange(0x61fa, 0x61fa), + CodeunitRange(0x61fc, 0x6200), + CodeunitRange(0x6207, 0x6208), + CodeunitRange(0x620a, 0x620a), + CodeunitRange(0x620c, 0x620e), + CodeunitRange(0x6210, 0x6212), + CodeunitRange(0x6214, 0x6216), + CodeunitRange(0x6218, 0x6218), + CodeunitRange(0x621a, 0x621a), + CodeunitRange(0x621e, 0x621f), + CodeunitRange(0x6221, 0x6222), + CodeunitRange(0x6226, 0x6227), + CodeunitRange(0x6229, 0x622a), + CodeunitRange(0x622d, 0x622e), + CodeunitRange(0x6230, 0x6236), + CodeunitRange(0x6239, 0x6239), + CodeunitRange(0x623e, 0x6241), + CodeunitRange(0x6243, 0x6243), + CodeunitRange(0x6247, 0x624e), + CodeunitRange(0x6251, 0x6253), + CodeunitRange(0x6257, 0x6258), + CodeunitRange(0x625b, 0x625c), + CodeunitRange(0x625e, 0x625e), + CodeunitRange(0x6263, 0x6263), + CodeunitRange(0x6268, 0x6268), + CodeunitRange(0x626e, 0x626e), + CodeunitRange(0x6271, 0x6271), + CodeunitRange(0x6273, 0x6273), + CodeunitRange(0x6276, 0x6276), + CodeunitRange(0x6279, 0x627a), + CodeunitRange(0x627c, 0x627c), + CodeunitRange(0x627e, 0x6280), + CodeunitRange(0x6283, 0x6284), + CodeunitRange(0x6286, 0x6286), + CodeunitRange(0x6289, 0x628a), + CodeunitRange(0x628f, 0x628f), + CodeunitRange(0x6291, 0x6292), + CodeunitRange(0x6294, 0x6298), + CodeunitRange(0x629b, 0x629b), + CodeunitRange(0x62a6, 0x62a6), + CodeunitRange(0x62a8, 0x62a8), + CodeunitRange(0x62ab, 0x62ac), + CodeunitRange(0x62ae, 0x62ae), + CodeunitRange(0x62b1, 0x62b2), + CodeunitRange(0x62b5, 0x62b5), + CodeunitRange(0x62b9, 0x62b9), + CodeunitRange(0x62bc, 0x62bd), + CodeunitRange(0x62c2, 0x62c2), + CodeunitRange(0x62c4, 0x62cd), + CodeunitRange(0x62cf, 0x62d9), + CodeunitRange(0x62db, 0x62dc), + CodeunitRange(0x62e1, 0x62e1), + CodeunitRange(0x62ec, 0x62ef), + CodeunitRange(0x62f1, 0x62f1), + CodeunitRange(0x62f3, 0x62f3), + CodeunitRange(0x62f5, 0x62f7), + CodeunitRange(0x62fd, 0x62ff), + CodeunitRange(0x6301, 0x6302), + CodeunitRange(0x6307, 0x6307), + CodeunitRange(0x6309, 0x6309), + CodeunitRange(0x630c, 0x630c), + CodeunitRange(0x6310, 0x6312), + CodeunitRange(0x6328, 0x6328), + CodeunitRange(0x632a, 0x632b), + CodeunitRange(0x632f, 0x632f), + CodeunitRange(0x6339, 0x633b), + CodeunitRange(0x633d, 0x633e), + CodeunitRange(0x6342, 0x6344), + CodeunitRange(0x6346, 0x6346), + CodeunitRange(0x6349, 0x6349), + CodeunitRange(0x634c, 0x6350), + CodeunitRange(0x6353, 0x6353), + CodeunitRange(0x6355, 0x6355), + CodeunitRange(0x6357, 0x6357), + CodeunitRange(0x635a, 0x635a), + CodeunitRange(0x6367, 0x6369), + CodeunitRange(0x636b, 0x636b), + CodeunitRange(0x636e, 0x636e), + CodeunitRange(0x6371, 0x6372), + CodeunitRange(0x6376, 0x6377), + CodeunitRange(0x637a, 0x637b), + CodeunitRange(0x637f, 0x6380), + CodeunitRange(0x6383, 0x6384), + CodeunitRange(0x6387, 0x638a), + CodeunitRange(0x638c, 0x638c), + CodeunitRange(0x638e, 0x638f), + CodeunitRange(0x6392, 0x6392), + CodeunitRange(0x6396, 0x6396), + CodeunitRange(0x6398, 0x6398), + CodeunitRange(0x639b, 0x639c), + CodeunitRange(0x639f, 0x63a2), + CodeunitRange(0x63a5, 0x63a5), + CodeunitRange(0x63a7, 0x63aa), + CodeunitRange(0x63ac, 0x63ac), + CodeunitRange(0x63be, 0x63be), + CodeunitRange(0x63c0, 0x63c0), + CodeunitRange(0x63c3, 0x63c4), + CodeunitRange(0x63c6, 0x63c6), + CodeunitRange(0x63c9, 0x63c9), + CodeunitRange(0x63cf, 0x63d0), + CodeunitRange(0x63d2, 0x63d2), + CodeunitRange(0x63d6, 0x63d6), + CodeunitRange(0x63da, 0x63db), + CodeunitRange(0x63df, 0x63e1), + CodeunitRange(0x63e3, 0x63e3), + CodeunitRange(0x63e9, 0x63e9), + CodeunitRange(0x63eb, 0x63eb), + CodeunitRange(0x63ed, 0x63ee), + CodeunitRange(0x63f2, 0x63f2), + CodeunitRange(0x63f4, 0x63f7), + CodeunitRange(0x6406, 0x6406), + CodeunitRange(0x6409, 0x6409), + CodeunitRange(0x640d, 0x640d), + CodeunitRange(0x640f, 0x640f), + CodeunitRange(0x6412, 0x6412), + CodeunitRange(0x6414, 0x6414), + CodeunitRange(0x6416, 0x6418), + CodeunitRange(0x641c, 0x641c), + CodeunitRange(0x6420, 0x6420), + CodeunitRange(0x6422, 0x6422), + CodeunitRange(0x6424, 0x6425), + CodeunitRange(0x6428, 0x6428), + CodeunitRange(0x642a, 0x642d), + CodeunitRange(0x642f, 0x6430), + CodeunitRange(0x6434, 0x6434), + CodeunitRange(0x6436, 0x6436), + CodeunitRange(0x643a, 0x643a), + CodeunitRange(0x643e, 0x643e), + CodeunitRange(0x6458, 0x6458), + CodeunitRange(0x645b, 0x645b), + CodeunitRange(0x645e, 0x645e), + CodeunitRange(0x6460, 0x6460), + CodeunitRange(0x6467, 0x6467), + CodeunitRange(0x6469, 0x6469), + CodeunitRange(0x646d, 0x646d), + CodeunitRange(0x646f, 0x646f), + CodeunitRange(0x6473, 0x6473), + CodeunitRange(0x6478, 0x647b), + CodeunitRange(0x647d, 0x647d), + CodeunitRange(0x6485, 0x6485), + CodeunitRange(0x6488, 0x6488), + CodeunitRange(0x6490, 0x6493), + CodeunitRange(0x6495, 0x6495), + CodeunitRange(0x6499, 0x649b), + CodeunitRange(0x649d, 0x649f), + CodeunitRange(0x64a4, 0x64a5), + CodeunitRange(0x64a9, 0x64a9), + CodeunitRange(0x64ab, 0x64ab), + CodeunitRange(0x64ad, 0x64ae), + CodeunitRange(0x64b0, 0x64b0), + CodeunitRange(0x64b2, 0x64b2), + CodeunitRange(0x64bb, 0x64bc), + CodeunitRange(0x64be, 0x64bf), + CodeunitRange(0x64c1, 0x64c1), + CodeunitRange(0x64c4, 0x64c5), + CodeunitRange(0x64c7, 0x64c7), + CodeunitRange(0x64c9, 0x64ca), + CodeunitRange(0x64cd, 0x64ce), + CodeunitRange(0x64d0, 0x64d0), + CodeunitRange(0x64d2, 0x64d2), + CodeunitRange(0x64d4, 0x64d5), + CodeunitRange(0x64d7, 0x64d8), + CodeunitRange(0x64da, 0x64da), + CodeunitRange(0x64e0, 0x64e3), + CodeunitRange(0x64e5, 0x64e7), + CodeunitRange(0x64ec, 0x64ed), + CodeunitRange(0x64ef, 0x64ef), + CodeunitRange(0x64f1, 0x64f2), + CodeunitRange(0x64f4, 0x64f4), + CodeunitRange(0x64fa, 0x64fa), + CodeunitRange(0x64fe, 0x64fe), + CodeunitRange(0x6500, 0x6500), + CodeunitRange(0x6502, 0x6502), + CodeunitRange(0x6504, 0x6504), + CodeunitRange(0x6507, 0x6507), + CodeunitRange(0x650a, 0x650a), + CodeunitRange(0x650f, 0x650f), + CodeunitRange(0x6514, 0x6514), + CodeunitRange(0x6518, 0x6519), + CodeunitRange(0x651d, 0x651d), + CodeunitRange(0x6522, 0x6524), + CodeunitRange(0x652a, 0x652c), + CodeunitRange(0x652f, 0x652f), + CodeunitRange(0x6532, 0x6532), + CodeunitRange(0x6534, 0x6539), + CodeunitRange(0x653b, 0x653b), + CodeunitRange(0x653d, 0x653f), + CodeunitRange(0x6543, 0x6543), + CodeunitRange(0x6545, 0x6545), + CodeunitRange(0x6548, 0x6549), + CodeunitRange(0x654d, 0x654f), + CodeunitRange(0x6551, 0x6552), + CodeunitRange(0x6554, 0x6559), + CodeunitRange(0x655d, 0x655e), + CodeunitRange(0x6562, 0x6563), + CodeunitRange(0x6566, 0x6566), + CodeunitRange(0x656c, 0x656d), + CodeunitRange(0x6572, 0x6572), + CodeunitRange(0x6574, 0x6575), + CodeunitRange(0x6577, 0x6578), + CodeunitRange(0x657e, 0x657e), + CodeunitRange(0x6581, 0x6583), + CodeunitRange(0x6585, 0x6585), + CodeunitRange(0x6587, 0x6587), + CodeunitRange(0x6589, 0x6589), + CodeunitRange(0x658c, 0x658c), + CodeunitRange(0x6590, 0x6591), + CodeunitRange(0x6597, 0x6597), + CodeunitRange(0x6599, 0x6599), + CodeunitRange(0x659b, 0x659d), + CodeunitRange(0x659f, 0x659f), + CodeunitRange(0x65a1, 0x65a1), + CodeunitRange(0x65a4, 0x65a5), + CodeunitRange(0x65a7, 0x65a7), + CodeunitRange(0x65ab, 0x65ad), + CodeunitRange(0x65af, 0x65b2), + CodeunitRange(0x65b7, 0x65b7), + CodeunitRange(0x65b9, 0x65b9), + CodeunitRange(0x65bc, 0x65bd), + CodeunitRange(0x65bf, 0x65bf), + CodeunitRange(0x65c1, 0x65c6), + CodeunitRange(0x65ca, 0x65cc), + CodeunitRange(0x65cf, 0x65cf), + CodeunitRange(0x65d2, 0x65d2), + CodeunitRange(0x65d7, 0x65d7), + CodeunitRange(0x65e0, 0x65e1), + CodeunitRange(0x65e3, 0x65e3), + CodeunitRange(0x65e5, 0x65e6), + CodeunitRange(0x65e8, 0x65e9), + CodeunitRange(0x65ec, 0x65ed), + CodeunitRange(0x65f1, 0x65f2), + CodeunitRange(0x65f4, 0x65f4), + CodeunitRange(0x65fa, 0x65fd), + CodeunitRange(0x65ff, 0x6600), + CodeunitRange(0x6602, 0x6603), + CodeunitRange(0x6606, 0x6607), + CodeunitRange(0x6609, 0x660a), + CodeunitRange(0x660c, 0x6611), + CodeunitRange(0x6613, 0x6615), + CodeunitRange(0x661b, 0x661c), + CodeunitRange(0x661e, 0x6621), + CodeunitRange(0x6623, 0x6625), + CodeunitRange(0x6627, 0x6628), + CodeunitRange(0x662b, 0x662b), + CodeunitRange(0x662d, 0x662d), + CodeunitRange(0x662f, 0x6631), + CodeunitRange(0x6634, 0x6637), + CodeunitRange(0x663a, 0x663b), + CodeunitRange(0x6641, 0x6644), + CodeunitRange(0x6648, 0x6649), + CodeunitRange(0x664b, 0x664c), + CodeunitRange(0x664e, 0x6651), + CodeunitRange(0x6659, 0x665b), + CodeunitRange(0x665d, 0x6662), + CodeunitRange(0x6664, 0x6669), + CodeunitRange(0x666b, 0x6670), + CodeunitRange(0x6673, 0x6674), + CodeunitRange(0x6676, 0x667b), + CodeunitRange(0x667d, 0x667d), + CodeunitRange(0x667f, 0x667f), + CodeunitRange(0x6684, 0x6684), + CodeunitRange(0x6687, 0x6689), + CodeunitRange(0x668b, 0x668c), + CodeunitRange(0x668e, 0x668e), + CodeunitRange(0x6690, 0x6691), + CodeunitRange(0x6696, 0x6698), + CodeunitRange(0x669a, 0x669a), + CodeunitRange(0x669d, 0x669e), + CodeunitRange(0x66a0, 0x66a0), + CodeunitRange(0x66a2, 0x66a3), + CodeunitRange(0x66ab, 0x66ac), + CodeunitRange(0x66ae, 0x66ae), + CodeunitRange(0x66b1, 0x66b5), + CodeunitRange(0x66b8, 0x66bb), + CodeunitRange(0x66be, 0x66c1), + CodeunitRange(0x66c4, 0x66c9), + CodeunitRange(0x66d3, 0x66d4), + CodeunitRange(0x66d6, 0x66d6), + CodeunitRange(0x66d8, 0x66de), + CodeunitRange(0x66e0, 0x66e0), + CodeunitRange(0x66e3, 0x66e3), + CodeunitRange(0x66e6, 0x66e6), + CodeunitRange(0x66e8, 0x66ea), + CodeunitRange(0x66ec, 0x66ec), + CodeunitRange(0x66ee, 0x66f0), + CodeunitRange(0x66f2, 0x66f4), + CodeunitRange(0x66f7, 0x66fa), + CodeunitRange(0x66fc, 0x66fc), + CodeunitRange(0x66fe, 0x6700), + CodeunitRange(0x6703, 0x6705), + CodeunitRange(0x6708, 0x670d), + CodeunitRange(0x6710, 0x6710), + CodeunitRange(0x6714, 0x6715), + CodeunitRange(0x6717, 0x6717), + CodeunitRange(0x671b, 0x671b), + CodeunitRange(0x671d, 0x6720), + CodeunitRange(0x6722, 0x6723), + CodeunitRange(0x6726, 0x6728), + CodeunitRange(0x672a, 0x672e), + CodeunitRange(0x6731, 0x6731), + CodeunitRange(0x6733, 0x6734), + CodeunitRange(0x6736, 0x6736), + CodeunitRange(0x673a, 0x673a), + CodeunitRange(0x673d, 0x673e), + CodeunitRange(0x6745, 0x6746), + CodeunitRange(0x6749, 0x6749), + CodeunitRange(0x674b, 0x674c), + CodeunitRange(0x674e, 0x6751), + CodeunitRange(0x6753, 0x6753), + CodeunitRange(0x6756, 0x6756), + CodeunitRange(0x675c, 0x6760), + CodeunitRange(0x6765, 0x6765), + CodeunitRange(0x676a, 0x676a), + CodeunitRange(0x676c, 0x676d), + CodeunitRange(0x676f, 0x6773), + CodeunitRange(0x6775, 0x6775), + CodeunitRange(0x6777, 0x6777), + CodeunitRange(0x677b, 0x677c), + CodeunitRange(0x677e, 0x677f), + CodeunitRange(0x6783, 0x6783), + CodeunitRange(0x6787, 0x6787), + CodeunitRange(0x6789, 0x6789), + CodeunitRange(0x678b, 0x678c), + CodeunitRange(0x678f, 0x6790), + CodeunitRange(0x6792, 0x6793), + CodeunitRange(0x6795, 0x6795), + CodeunitRange(0x6797, 0x679a), + CodeunitRange(0x679c, 0x679d), + CodeunitRange(0x67af, 0x67b0), + CodeunitRange(0x67b2, 0x67b3), + CodeunitRange(0x67b6, 0x67b8), + CodeunitRange(0x67be, 0x67be), + CodeunitRange(0x67c1, 0x67c1), + CodeunitRange(0x67c4, 0x67c5), + CodeunitRange(0x67ca, 0x67ca), + CodeunitRange(0x67cf, 0x67d4), + CodeunitRange(0x67d6, 0x67da), + CodeunitRange(0x67dd, 0x67df), + CodeunitRange(0x67e2, 0x67e2), + CodeunitRange(0x67e9, 0x67e9), + CodeunitRange(0x67ec, 0x67ec), + CodeunitRange(0x67ef, 0x67f1), + CodeunitRange(0x67f3, 0x67f6), + CodeunitRange(0x67f9, 0x67f9), + CodeunitRange(0x67fb, 0x67fb), + CodeunitRange(0x67fe, 0x67ff), + CodeunitRange(0x6803, 0x6804), + CodeunitRange(0x6810, 0x6810), + CodeunitRange(0x6812, 0x6813), + CodeunitRange(0x6816, 0x6817), + CodeunitRange(0x681d, 0x681e), + CodeunitRange(0x6821, 0x6822), + CodeunitRange(0x682a, 0x682a), + CodeunitRange(0x682e, 0x682f), + CodeunitRange(0x6831, 0x6832), + CodeunitRange(0x6834, 0x6834), + CodeunitRange(0x6838, 0x6839), + CodeunitRange(0x683b, 0x683d), + CodeunitRange(0x6840, 0x6844), + CodeunitRange(0x6846, 0x6846), + CodeunitRange(0x6848, 0x6849), + CodeunitRange(0x684e, 0x684e), + CodeunitRange(0x6850, 0x6851), + CodeunitRange(0x6853, 0x6854), + CodeunitRange(0x686d, 0x686d), + CodeunitRange(0x686f, 0x686f), + CodeunitRange(0x6874, 0x6874), + CodeunitRange(0x6876, 0x6877), + CodeunitRange(0x687e, 0x687f), + CodeunitRange(0x6881, 0x6881), + CodeunitRange(0x6883, 0x6883), + CodeunitRange(0x6885, 0x6886), + CodeunitRange(0x688f, 0x688f), + CodeunitRange(0x6893, 0x6894), + CodeunitRange(0x6897, 0x6897), + CodeunitRange(0x689b, 0x689b), + CodeunitRange(0x689d, 0x689d), + CodeunitRange(0x689f, 0x68a3), + CodeunitRange(0x68a7, 0x68a8), + CodeunitRange(0x68ad, 0x68ad), + CodeunitRange(0x68af, 0x68b1), + CodeunitRange(0x68b3, 0x68b3), + CodeunitRange(0x68b5, 0x68b6), + CodeunitRange(0x68c4, 0x68c5), + CodeunitRange(0x68c9, 0x68cd), + CodeunitRange(0x68d0, 0x68d0), + CodeunitRange(0x68d2, 0x68d2), + CodeunitRange(0x68d5, 0x68d8), + CodeunitRange(0x68da, 0x68da), + CodeunitRange(0x68df, 0x68e0), + CodeunitRange(0x68e3, 0x68e3), + CodeunitRange(0x68e7, 0x68e8), + CodeunitRange(0x68ec, 0x68ec), + CodeunitRange(0x68ee, 0x68ee), + CodeunitRange(0x68f2, 0x68f2), + CodeunitRange(0x68f9, 0x68fd), + CodeunitRange(0x6900, 0x6901), + CodeunitRange(0x6904, 0x6906), + CodeunitRange(0x690b, 0x690b), + CodeunitRange(0x690d, 0x690f), + CodeunitRange(0x6911, 0x6912), + CodeunitRange(0x6919, 0x6919), + CodeunitRange(0x691c, 0x691c), + CodeunitRange(0x6927, 0x6927), + CodeunitRange(0x6930, 0x6930), + CodeunitRange(0x6934, 0x6934), + CodeunitRange(0x6936, 0x6936), + CodeunitRange(0x6939, 0x6939), + CodeunitRange(0x693d, 0x693d), + CodeunitRange(0x693f, 0x693f), + CodeunitRange(0x6942, 0x6942), + CodeunitRange(0x694a, 0x694a), + CodeunitRange(0x694f, 0x694f), + CodeunitRange(0x6953, 0x6955), + CodeunitRange(0x6957, 0x6957), + CodeunitRange(0x6959, 0x695a), + CodeunitRange(0x695d, 0x695e), + CodeunitRange(0x6960, 0x6963), + CodeunitRange(0x6965, 0x6965), + CodeunitRange(0x6968, 0x6968), + CodeunitRange(0x696a, 0x696f), + CodeunitRange(0x6973, 0x6973), + CodeunitRange(0x6975, 0x6975), + CodeunitRange(0x6977, 0x6979), + CodeunitRange(0x697b, 0x697b), + CodeunitRange(0x697d, 0x697d), + CodeunitRange(0x698e, 0x698e), + CodeunitRange(0x6991, 0x6991), + CodeunitRange(0x6994, 0x6995), + CodeunitRange(0x6998, 0x6998), + CodeunitRange(0x699b, 0x699c), + CodeunitRange(0x699f, 0x699f), + CodeunitRange(0x69a4, 0x69a7), + CodeunitRange(0x69ad, 0x69ae), + CodeunitRange(0x69b0, 0x69b2), + CodeunitRange(0x69b4, 0x69b4), + CodeunitRange(0x69b7, 0x69b7), + CodeunitRange(0x69ba, 0x69bc), + CodeunitRange(0x69be, 0x69c1), + CodeunitRange(0x69c3, 0x69c3), + CodeunitRange(0x69c7, 0x69c7), + CodeunitRange(0x69ca, 0x69d0), + CodeunitRange(0x69d3, 0x69d3), + CodeunitRange(0x69d6, 0x69d6), + CodeunitRange(0x69e2, 0x69e2), + CodeunitRange(0x69e5, 0x69ea), + CodeunitRange(0x69ed, 0x69ed), + CodeunitRange(0x69f2, 0x69f2), + CodeunitRange(0x69f9, 0x69f9), + CodeunitRange(0x69fb, 0x69fb), + CodeunitRange(0x69fd, 0x69fd), + CodeunitRange(0x69ff, 0x6a00), + CodeunitRange(0x6a02, 0x6a02), + CodeunitRange(0x6a05, 0x6a05), + CodeunitRange(0x6a0a, 0x6a0b), + CodeunitRange(0x6a11, 0x6a14), + CodeunitRange(0x6a17, 0x6a17), + CodeunitRange(0x6a19, 0x6a19), + CodeunitRange(0x6a1b, 0x6a1b), + CodeunitRange(0x6a1e, 0x6a1f), + CodeunitRange(0x6a21, 0x6a21), + CodeunitRange(0x6a23, 0x6a23), + CodeunitRange(0x6a29, 0x6a29), + CodeunitRange(0x6a2b, 0x6a2b), + CodeunitRange(0x6a35, 0x6a35), + CodeunitRange(0x6a38, 0x6a3b), + CodeunitRange(0x6a3d, 0x6a3d), + CodeunitRange(0x6a43, 0x6a45), + CodeunitRange(0x6a47, 0x6a4d), + CodeunitRange(0x6a50, 0x6a50), + CodeunitRange(0x6a52, 0x6a53), + CodeunitRange(0x6a58, 0x6a5a), + CodeunitRange(0x6a5f, 0x6a5f), + CodeunitRange(0x6a61, 0x6a62), + CodeunitRange(0x6a64, 0x6a64), + CodeunitRange(0x6a66, 0x6a66), + CodeunitRange(0x6a6b, 0x6a6b), + CodeunitRange(0x6a72, 0x6a72), + CodeunitRange(0x6a75, 0x6a75), + CodeunitRange(0x6a7f, 0x6a80), + CodeunitRange(0x6a83, 0x6a84), + CodeunitRange(0x6a89, 0x6a89), + CodeunitRange(0x6a8d, 0x6a8e), + CodeunitRange(0x6a90, 0x6a90), + CodeunitRange(0x6a94, 0x6a94), + CodeunitRange(0x6a97, 0x6a97), + CodeunitRange(0x6a9c, 0x6a9d), + CodeunitRange(0x6a9f, 0x6aa0), + CodeunitRange(0x6aa2, 0x6aa3), + CodeunitRange(0x6aae, 0x6aae), + CodeunitRange(0x6ab3, 0x6ab3), + CodeunitRange(0x6ab6, 0x6ab6), + CodeunitRange(0x6abb, 0x6abc), + CodeunitRange(0x6abf, 0x6abf), + CodeunitRange(0x6ac2, 0x6ac3), + CodeunitRange(0x6ad3, 0x6ad3), + CodeunitRange(0x6ada, 0x6adf), + CodeunitRange(0x6ae8, 0x6ae8), + CodeunitRange(0x6aea, 0x6aea), + CodeunitRange(0x6aec, 0x6aec), + CodeunitRange(0x6af6, 0x6af6), + CodeunitRange(0x6afb, 0x6afc), + CodeunitRange(0x6b02, 0x6b04), + CodeunitRange(0x6b0a, 0x6b0a), + CodeunitRange(0x6b0c, 0x6b0c), + CodeunitRange(0x6b11, 0x6b12), + CodeunitRange(0x6b16, 0x6b16), + CodeunitRange(0x6b1e, 0x6b1e), + CodeunitRange(0x6b20, 0x6b21), + CodeunitRange(0x6b23, 0x6b23), + CodeunitRange(0x6b2c, 0x6b2c), + CodeunitRange(0x6b32, 0x6b32), + CodeunitRange(0x6b37, 0x6b3b), + CodeunitRange(0x6b3d, 0x6b3f), + CodeunitRange(0x6b43, 0x6b43), + CodeunitRange(0x6b46, 0x6b47), + CodeunitRange(0x6b49, 0x6b4a), + CodeunitRange(0x6b4c, 0x6b4c), + CodeunitRange(0x6b4e, 0x6b4e), + CodeunitRange(0x6b50, 0x6b50), + CodeunitRange(0x6b54, 0x6b54), + CodeunitRange(0x6b59, 0x6b5b), + CodeunitRange(0x6b5f, 0x6b67), + CodeunitRange(0x6b69, 0x6b6a), + CodeunitRange(0x6b6f, 0x6b6f), + CodeunitRange(0x6b72, 0x6b72), + CodeunitRange(0x6b77, 0x6b7b), + CodeunitRange(0x6b7f, 0x6b80), + CodeunitRange(0x6b82, 0x6b84), + CodeunitRange(0x6b86, 0x6b86), + CodeunitRange(0x6b89, 0x6b8a), + CodeunitRange(0x6b8d, 0x6b8d), + CodeunitRange(0x6b91, 0x6b91), + CodeunitRange(0x6b96, 0x6b96), + CodeunitRange(0x6b98, 0x6b98), + CodeunitRange(0x6b9e, 0x6b9e), + CodeunitRange(0x6ba2, 0x6ba2), + CodeunitRange(0x6ba4, 0x6ba4), + CodeunitRange(0x6bab, 0x6bab), + CodeunitRange(0x6bad, 0x6baf), + CodeunitRange(0x6bb2, 0x6bb3), + CodeunitRange(0x6bb5, 0x6bb5), + CodeunitRange(0x6bb7, 0x6bb7), + CodeunitRange(0x6bba, 0x6bba), + CodeunitRange(0x6bbc, 0x6bbd), + CodeunitRange(0x6bbf, 0x6bc1), + CodeunitRange(0x6bc4, 0x6bc6), + CodeunitRange(0x6bcb, 0x6bcb), + CodeunitRange(0x6bcd, 0x6bcd), + CodeunitRange(0x6bcf, 0x6bcf), + CodeunitRange(0x6bd2, 0x6bd4), + CodeunitRange(0x6bd6, 0x6bd8), + CodeunitRange(0x6bda, 0x6bdb), + CodeunitRange(0x6beb, 0x6bec), + CodeunitRange(0x6bef, 0x6bef), + CodeunitRange(0x6bf3, 0x6bf3), + CodeunitRange(0x6bf8, 0x6bf8), + CodeunitRange(0x6bff, 0x6bff), + CodeunitRange(0x6c05, 0x6c05), + CodeunitRange(0x6c08, 0x6c08), + CodeunitRange(0x6c0f, 0x6c11), + CodeunitRange(0x6c13, 0x6c14), + CodeunitRange(0x6c17, 0x6c17), + CodeunitRange(0x6c1b, 0x6c1b), + CodeunitRange(0x6c23, 0x6c24), + CodeunitRange(0x6c33, 0x6c38), + CodeunitRange(0x6c3e, 0x6c43), + CodeunitRange(0x6c4b, 0x6c4b), + CodeunitRange(0x6c4e, 0x6c50), + CodeunitRange(0x6c52, 0x6c55), + CodeunitRange(0x6c57, 0x6c57), + CodeunitRange(0x6c59, 0x6c60), + CodeunitRange(0x6c66, 0x6c66), + CodeunitRange(0x6c68, 0x6c6a), + CodeunitRange(0x6c6d, 0x6c6d), + CodeunitRange(0x6c70, 0x6c70), + CodeunitRange(0x6c72, 0x6c72), + CodeunitRange(0x6c74, 0x6c74), + CodeunitRange(0x6c76, 0x6c76), + CodeunitRange(0x6c7a, 0x6c7a), + CodeunitRange(0x6c7d, 0x6c7e), + CodeunitRange(0x6c81, 0x6c89), + CodeunitRange(0x6c8c, 0x6c8d), + CodeunitRange(0x6c90, 0x6c90), + CodeunitRange(0x6c92, 0x6c96), + CodeunitRange(0x6c98, 0x6c9b), + CodeunitRange(0x6ca2, 0x6ca2), + CodeunitRange(0x6cab, 0x6cac), + CodeunitRange(0x6cae, 0x6cae), + CodeunitRange(0x6cb0, 0x6cb1), + CodeunitRange(0x6cb3, 0x6cb3), + CodeunitRange(0x6cb6, 0x6cb6), + CodeunitRange(0x6cb8, 0x6cb9), + CodeunitRange(0x6cbb, 0x6cbf), + CodeunitRange(0x6cc1, 0x6cc2), + CodeunitRange(0x6cc4, 0x6cc6), + CodeunitRange(0x6cc9, 0x6cca), + CodeunitRange(0x6ccc, 0x6ccc), + CodeunitRange(0x6cd0, 0x6cd1), + CodeunitRange(0x6cd3, 0x6cd5), + CodeunitRange(0x6cd7, 0x6cd7), + CodeunitRange(0x6cd9, 0x6cdd), + CodeunitRange(0x6ce0, 0x6ce3), + CodeunitRange(0x6ce5, 0x6ce5), + CodeunitRange(0x6ce8, 0x6ce8), + CodeunitRange(0x6ceb, 0x6ceb), + CodeunitRange(0x6cee, 0x6cf1), + CodeunitRange(0x6cf3, 0x6cf3), + CodeunitRange(0x6cff, 0x6cff), + CodeunitRange(0x6d04, 0x6d04), + CodeunitRange(0x6d07, 0x6d07), + CodeunitRange(0x6d0a, 0x6d0c), + CodeunitRange(0x6d11, 0x6d12), + CodeunitRange(0x6d14, 0x6d14), + CodeunitRange(0x6d17, 0x6d17), + CodeunitRange(0x6d19, 0x6d19), + CodeunitRange(0x6d1b, 0x6d1b), + CodeunitRange(0x6d1e, 0x6d1f), + CodeunitRange(0x6d23, 0x6d23), + CodeunitRange(0x6d25, 0x6d25), + CodeunitRange(0x6d27, 0x6d2c), + CodeunitRange(0x6d2e, 0x6d2e), + CodeunitRange(0x6d32, 0x6d32), + CodeunitRange(0x6d35, 0x6d36), + CodeunitRange(0x6d38, 0x6d3e), + CodeunitRange(0x6d41, 0x6d41), + CodeunitRange(0x6d59, 0x6d5a), + CodeunitRange(0x6d5c, 0x6d5c), + CodeunitRange(0x6d61, 0x6d61), + CodeunitRange(0x6d63, 0x6d67), + CodeunitRange(0x6d69, 0x6d6a), + CodeunitRange(0x6d6c, 0x6d6c), + CodeunitRange(0x6d6e, 0x6d6f), + CodeunitRange(0x6d72, 0x6d72), + CodeunitRange(0x6d74, 0x6d74), + CodeunitRange(0x6d77, 0x6d79), + CodeunitRange(0x6d7f, 0x6d7f), + CodeunitRange(0x6d82, 0x6d82), + CodeunitRange(0x6d85, 0x6d85), + CodeunitRange(0x6d87, 0x6d89), + CodeunitRange(0x6d8c, 0x6d8f), + CodeunitRange(0x6d91, 0x6d91), + CodeunitRange(0x6d93, 0x6d97), + CodeunitRange(0x6daa, 0x6dac), + CodeunitRange(0x6daf, 0x6daf), + CodeunitRange(0x6db2, 0x6db2), + CodeunitRange(0x6db4, 0x6db5), + CodeunitRange(0x6db7, 0x6db8), + CodeunitRange(0x6dbc, 0x6dbc), + CodeunitRange(0x6dbf, 0x6dc0), + CodeunitRange(0x6dc3, 0x6dc8), + CodeunitRange(0x6dcb, 0x6dcc), + CodeunitRange(0x6dcf, 0x6dd2), + CodeunitRange(0x6dd6, 0x6dd6), + CodeunitRange(0x6dd8, 0x6dda), + CodeunitRange(0x6ddd, 0x6dde), + CodeunitRange(0x6de0, 0x6de6), + CodeunitRange(0x6de8, 0x6de8), + CodeunitRange(0x6dea, 0x6dec), + CodeunitRange(0x6dee, 0x6dee), + CodeunitRange(0x6df1, 0x6df1), + CodeunitRange(0x6df3, 0x6df3), + CodeunitRange(0x6df5, 0x6dfc), + CodeunitRange(0x6e05, 0x6e05), + CodeunitRange(0x6e08, 0x6e08), + CodeunitRange(0x6e0a, 0x6e0a), + CodeunitRange(0x6e17, 0x6e17), + CodeunitRange(0x6e19, 0x6e1b), + CodeunitRange(0x6e1d, 0x6e1d), + CodeunitRange(0x6e1f, 0x6e26), + CodeunitRange(0x6e28, 0x6e28), + CodeunitRange(0x6e2b, 0x6e2d), + CodeunitRange(0x6e2f, 0x6e2f), + CodeunitRange(0x6e32, 0x6e32), + CodeunitRange(0x6e34, 0x6e34), + CodeunitRange(0x6e36, 0x6e38), + CodeunitRange(0x6e3a, 0x6e3a), + CodeunitRange(0x6e3c, 0x6e3e), + CodeunitRange(0x6e40, 0x6e40), + CodeunitRange(0x6e43, 0x6e45), + CodeunitRange(0x6e4a, 0x6e4a), + CodeunitRange(0x6e4d, 0x6e4e), + CodeunitRange(0x6e51, 0x6e51), + CodeunitRange(0x6e53, 0x6e56), + CodeunitRange(0x6e58, 0x6e58), + CodeunitRange(0x6e5b, 0x6e5c), + CodeunitRange(0x6e5e, 0x6e5f), + CodeunitRange(0x6e63, 0x6e63), + CodeunitRange(0x6e67, 0x6e67), + CodeunitRange(0x6e6b, 0x6e6b), + CodeunitRange(0x6e6e, 0x6e6f), + CodeunitRange(0x6e72, 0x6e73), + CodeunitRange(0x6e75, 0x6e75), + CodeunitRange(0x6e7a, 0x6e7a), + CodeunitRange(0x6e8f, 0x6e90), + CodeunitRange(0x6e95, 0x6e96), + CodeunitRange(0x6e98, 0x6e98), + CodeunitRange(0x6e9c, 0x6e9d), + CodeunitRange(0x6e9f, 0x6e9f), + CodeunitRange(0x6ea2, 0x6ea2), + CodeunitRange(0x6ea5, 0x6ea5), + CodeunitRange(0x6ea7, 0x6ea8), + CodeunitRange(0x6eaa, 0x6eab), + CodeunitRange(0x6eaf, 0x6eaf), + CodeunitRange(0x6eb1, 0x6eb2), + CodeunitRange(0x6eb5, 0x6eb7), + CodeunitRange(0x6eba, 0x6eba), + CodeunitRange(0x6ebd, 0x6ebd), + CodeunitRange(0x6ec2, 0x6ec5), + CodeunitRange(0x6ec8, 0x6ec9), + CodeunitRange(0x6ecb, 0x6ecc), + CodeunitRange(0x6ece, 0x6ece), + CodeunitRange(0x6ed1, 0x6ed1), + CodeunitRange(0x6ed3, 0x6ed5), + CodeunitRange(0x6ed9, 0x6ed9), + CodeunitRange(0x6eec, 0x6eed), + CodeunitRange(0x6eef, 0x6eef), + CodeunitRange(0x6ef2, 0x6ef2), + CodeunitRange(0x6ef4, 0x6ef5), + CodeunitRange(0x6ef7, 0x6ef8), + CodeunitRange(0x6efc, 0x6efc), + CodeunitRange(0x6efe, 0x6eff), + CodeunitRange(0x6f01, 0x6f02), + CodeunitRange(0x6f04, 0x6f04), + CodeunitRange(0x6f06, 0x6f06), + CodeunitRange(0x6f09, 0x6f09), + CodeunitRange(0x6f0c, 0x6f0c), + CodeunitRange(0x6f0f, 0x6f0f), + CodeunitRange(0x6f11, 0x6f11), + CodeunitRange(0x6f13, 0x6f15), + CodeunitRange(0x6f19, 0x6f1a), + CodeunitRange(0x6f20, 0x6f20), + CodeunitRange(0x6f22, 0x6f24), + CodeunitRange(0x6f26, 0x6f28), + CodeunitRange(0x6f2a, 0x6f2d), + CodeunitRange(0x6f30, 0x6f33), + CodeunitRange(0x6f38, 0x6f38), + CodeunitRange(0x6f3c, 0x6f3c), + CodeunitRange(0x6f3e, 0x6f3f), + CodeunitRange(0x6f41, 0x6f41), + CodeunitRange(0x6f4f, 0x6f4f), + CodeunitRange(0x6f51, 0x6f52), + CodeunitRange(0x6f54, 0x6f54), + CodeunitRange(0x6f57, 0x6f5f), + CodeunitRange(0x6f61, 0x6f64), + CodeunitRange(0x6f66, 0x6f66), + CodeunitRange(0x6f6d, 0x6f71), + CodeunitRange(0x6f74, 0x6f74), + CodeunitRange(0x6f78, 0x6f78), + CodeunitRange(0x6f7a, 0x6f7a), + CodeunitRange(0x6f7c, 0x6f7e), + CodeunitRange(0x6f81, 0x6f82), + CodeunitRange(0x6f84, 0x6f84), + CodeunitRange(0x6f86, 0x6f89), + CodeunitRange(0x6f8b, 0x6f8e), + CodeunitRange(0x6f90, 0x6f90), + CodeunitRange(0x6f92, 0x6f92), + CodeunitRange(0x6f94, 0x6f98), + CodeunitRange(0x6f9f, 0x6f9f), + CodeunitRange(0x6fa1, 0x6fa1), + CodeunitRange(0x6fa3, 0x6fa5), + CodeunitRange(0x6fa7, 0x6fa8), + CodeunitRange(0x6faa, 0x6faa), + CodeunitRange(0x6fae, 0x6faf), + CodeunitRange(0x6fb1, 0x6fb1), + CodeunitRange(0x6fb3, 0x6fb3), + CodeunitRange(0x6fb6, 0x6fb6), + CodeunitRange(0x6fb9, 0x6fb9), + CodeunitRange(0x6fbe, 0x6fbe), + CodeunitRange(0x6fc0, 0x6fc3), + CodeunitRange(0x6fc6, 0x6fc7), + CodeunitRange(0x6fc9, 0x6fca), + CodeunitRange(0x6fd4, 0x6fd5), + CodeunitRange(0x6fd8, 0x6fd8), + CodeunitRange(0x6fda, 0x6fdb), + CodeunitRange(0x6fde, 0x6fe1), + CodeunitRange(0x6fe4, 0x6fe6), + CodeunitRange(0x6fe9, 0x6fe9), + CodeunitRange(0x6feb, 0x6fec), + CodeunitRange(0x6fee, 0x6fef), + CodeunitRange(0x6ff1, 0x6ff1), + CodeunitRange(0x6ff3, 0x6ff4), + CodeunitRange(0x6ff6, 0x6ff6), + CodeunitRange(0x6ffa, 0x6ffa), + CodeunitRange(0x6ffe, 0x6ffe), + CodeunitRange(0x7001, 0x7001), + CodeunitRange(0x7005, 0x7007), + CodeunitRange(0x7009, 0x7009), + CodeunitRange(0x700b, 0x700b), + CodeunitRange(0x700f, 0x700f), + CodeunitRange(0x7011, 0x7013), + CodeunitRange(0x7015, 0x7015), + CodeunitRange(0x7018, 0x7018), + CodeunitRange(0x701a, 0x701f), + CodeunitRange(0x7023, 0x7023), + CodeunitRange(0x7026, 0x7028), + CodeunitRange(0x702f, 0x7030), + CodeunitRange(0x7032, 0x7032), + CodeunitRange(0x7037, 0x7038), + CodeunitRange(0x703c, 0x703c), + CodeunitRange(0x703e, 0x703e), + CodeunitRange(0x7044, 0x7044), + CodeunitRange(0x7046, 0x7046), + CodeunitRange(0x704c, 0x704c), + CodeunitRange(0x704e, 0x704e), + CodeunitRange(0x7050, 0x7051), + CodeunitRange(0x7053, 0x7053), + CodeunitRange(0x7058, 0x7058), + CodeunitRange(0x705d, 0x705e), + CodeunitRange(0x7063, 0x7063), + CodeunitRange(0x7066, 0x7066), + CodeunitRange(0x7069, 0x7069), + CodeunitRange(0x706b, 0x706c), + CodeunitRange(0x706f, 0x7070), + CodeunitRange(0x7078, 0x7078), + CodeunitRange(0x707c, 0x707e), + CodeunitRange(0x7081, 0x7081), + CodeunitRange(0x7085, 0x7086), + CodeunitRange(0x708a, 0x708a), + CodeunitRange(0x708e, 0x708e), + CodeunitRange(0x7092, 0x7092), + CodeunitRange(0x7095, 0x7095), + CodeunitRange(0x7098, 0x709b), + CodeunitRange(0x70a1, 0x70a1), + CodeunitRange(0x70a4, 0x70a4), + CodeunitRange(0x70a6, 0x70a6), + CodeunitRange(0x70ab, 0x70b0), + CodeunitRange(0x70b3, 0x70b3), + CodeunitRange(0x70b7, 0x70ba), + CodeunitRange(0x70c8, 0x70c8), + CodeunitRange(0x70ca, 0x70cb), + CodeunitRange(0x70cf, 0x70cf), + CodeunitRange(0x70d3, 0x70d4), + CodeunitRange(0x70d8, 0x70d9), + CodeunitRange(0x70dc, 0x70dd), + CodeunitRange(0x70df, 0x70df), + CodeunitRange(0x70ef, 0x70ef), + CodeunitRange(0x70f1, 0x70f1), + CodeunitRange(0x70f9, 0x70fa), + CodeunitRange(0x70fd, 0x70fd), + CodeunitRange(0x7103, 0x7104), + CodeunitRange(0x7106, 0x7106), + CodeunitRange(0x7109, 0x7109), + CodeunitRange(0x710c, 0x710c), + CodeunitRange(0x7119, 0x711a), + CodeunitRange(0x711c, 0x711c), + CodeunitRange(0x711e, 0x711e), + CodeunitRange(0x7120, 0x7121), + CodeunitRange(0x7126, 0x7126), + CodeunitRange(0x712d, 0x7131), + CodeunitRange(0x7136, 0x7136), + CodeunitRange(0x7143, 0x7143), + CodeunitRange(0x7146, 0x7147), + CodeunitRange(0x7149, 0x714a), + CodeunitRange(0x714c, 0x714c), + CodeunitRange(0x714e, 0x714e), + CodeunitRange(0x7150, 0x7150), + CodeunitRange(0x7152, 0x7153), + CodeunitRange(0x7155, 0x7157), + CodeunitRange(0x7159, 0x7159), + CodeunitRange(0x715c, 0x715e), + CodeunitRange(0x7162, 0x7162), + CodeunitRange(0x7164, 0x7169), + CodeunitRange(0x716c, 0x716c), + CodeunitRange(0x716e, 0x716e), + CodeunitRange(0x717d, 0x717d), + CodeunitRange(0x7180, 0x7180), + CodeunitRange(0x7184, 0x7185), + CodeunitRange(0x7187, 0x718a), + CodeunitRange(0x718f, 0x718f), + CodeunitRange(0x7192, 0x7192), + CodeunitRange(0x7194, 0x7194), + CodeunitRange(0x7199, 0x7199), + CodeunitRange(0x719b, 0x719b), + CodeunitRange(0x719f, 0x71a2), + CodeunitRange(0x71a4, 0x71a4), + CodeunitRange(0x71a8, 0x71a9), + CodeunitRange(0x71ac, 0x71ac), + CodeunitRange(0x71af, 0x71af), + CodeunitRange(0x71b1, 0x71b2), + CodeunitRange(0x71b9, 0x71ba), + CodeunitRange(0x71be, 0x71be), + CodeunitRange(0x71c1, 0x71c1), + CodeunitRange(0x71c3, 0x71c3), + CodeunitRange(0x71c8, 0x71c9), + CodeunitRange(0x71cb, 0x71cb), + CodeunitRange(0x71ce, 0x71d0), + CodeunitRange(0x71d2, 0x71d2), + CodeunitRange(0x71d4, 0x71d6), + CodeunitRange(0x71d9, 0x71d9), + CodeunitRange(0x71db, 0x71db), + CodeunitRange(0x71df, 0x71e0), + CodeunitRange(0x71e5, 0x71e7), + CodeunitRange(0x71ec, 0x71ee), + CodeunitRange(0x71f9, 0x71f9), + CodeunitRange(0x71fb, 0x7201), + CodeunitRange(0x7206, 0x7207), + CodeunitRange(0x720b, 0x720d), + CodeunitRange(0x7210, 0x7210), + CodeunitRange(0x7214, 0x7214), + CodeunitRange(0x7217, 0x7217), + CodeunitRange(0x721a, 0x721b), + CodeunitRange(0x721f, 0x721f), + CodeunitRange(0x7225, 0x7225), + CodeunitRange(0x7228, 0x7228), + CodeunitRange(0x722a, 0x722a), + CodeunitRange(0x722c, 0x722d), + CodeunitRange(0x7230, 0x7230), + CodeunitRange(0x7232, 0x7232), + CodeunitRange(0x7235, 0x7236), + CodeunitRange(0x7238, 0x723b), + CodeunitRange(0x723d, 0x7240), + CodeunitRange(0x7242, 0x7242), + CodeunitRange(0x7246, 0x7248), + CodeunitRange(0x724b, 0x724c), + CodeunitRange(0x7252, 0x7254), + CodeunitRange(0x7256, 0x7256), + CodeunitRange(0x7258, 0x725b), + CodeunitRange(0x725d, 0x725d), + CodeunitRange(0x725f, 0x725f), + CodeunitRange(0x7261, 0x7263), + CodeunitRange(0x7267, 0x7267), + CodeunitRange(0x7269, 0x7269), + CodeunitRange(0x726f, 0x726f), + CodeunitRange(0x7272, 0x7272), + CodeunitRange(0x7274, 0x7274), + CodeunitRange(0x7278, 0x7279), + CodeunitRange(0x727d, 0x727d), + CodeunitRange(0x7280, 0x7282), + CodeunitRange(0x7287, 0x7287), + CodeunitRange(0x728d, 0x728d), + CodeunitRange(0x7292, 0x7292), + CodeunitRange(0x7296, 0x7296), + CodeunitRange(0x72a2, 0x72a2), + CodeunitRange(0x72a7, 0x72a7), + CodeunitRange(0x72ac, 0x72ad), + CodeunitRange(0x72af, 0x72af), + CodeunitRange(0x72b3, 0x72b5), + CodeunitRange(0x72c0, 0x72c0), + CodeunitRange(0x72c2, 0x72c2), + CodeunitRange(0x72c4, 0x72c4), + CodeunitRange(0x72c9, 0x72c9), + CodeunitRange(0x72ce, 0x72ce), + CodeunitRange(0x72d0, 0x72d0), + CodeunitRange(0x72d2, 0x72d2), + CodeunitRange(0x72d7, 0x72d7), + CodeunitRange(0x72d9, 0x72d9), + CodeunitRange(0x72e1, 0x72e2), + CodeunitRange(0x72e5, 0x72e5), + CodeunitRange(0x72e8, 0x72e9), + CodeunitRange(0x72ec, 0x72ec), + CodeunitRange(0x72f4, 0x72f4), + CodeunitRange(0x72f7, 0x72fd), + CodeunitRange(0x7309, 0x730a), + CodeunitRange(0x7313, 0x7313), + CodeunitRange(0x7316, 0x7319), + CodeunitRange(0x731b, 0x731d), + CodeunitRange(0x7322, 0x7322), + CodeunitRange(0x7325, 0x7325), + CodeunitRange(0x7327, 0x732b), + CodeunitRange(0x7331, 0x7331), + CodeunitRange(0x7334, 0x7334), + CodeunitRange(0x7336, 0x7337), + CodeunitRange(0x733e, 0x733f), + CodeunitRange(0x7343, 0x7345), + CodeunitRange(0x734e, 0x734e), + CodeunitRange(0x7350, 0x7350), + CodeunitRange(0x7352, 0x7352), + CodeunitRange(0x7357, 0x7358), + CodeunitRange(0x735c, 0x735c), + CodeunitRange(0x7360, 0x7360), + CodeunitRange(0x7368, 0x736c), + CodeunitRange(0x736f, 0x7370), + CodeunitRange(0x7372, 0x7372), + CodeunitRange(0x7375, 0x7375), + CodeunitRange(0x7377, 0x7378), + CodeunitRange(0x737a, 0x737c), + CodeunitRange(0x7381, 0x7381), + CodeunitRange(0x7384, 0x7384), + CodeunitRange(0x7386, 0x7389), + CodeunitRange(0x738b, 0x738b), + CodeunitRange(0x738e, 0x738e), + CodeunitRange(0x7392, 0x7392), + CodeunitRange(0x7394, 0x7398), + CodeunitRange(0x739e, 0x73a0), + CodeunitRange(0x73a6, 0x73a7), + CodeunitRange(0x73a9, 0x73ab), + CodeunitRange(0x73ad, 0x73ad), + CodeunitRange(0x73b2, 0x73b4), + CodeunitRange(0x73b7, 0x73b7), + CodeunitRange(0x73b9, 0x73b9), + CodeunitRange(0x73bb, 0x73bd), + CodeunitRange(0x73bf, 0x73c0), + CodeunitRange(0x73c2, 0x73c2), + CodeunitRange(0x73c6, 0x73c6), + CodeunitRange(0x73c8, 0x73ca), + CodeunitRange(0x73cc, 0x73cd), + CodeunitRange(0x73cf, 0x73cf), + CodeunitRange(0x73d2, 0x73d2), + CodeunitRange(0x73d6, 0x73d9), + CodeunitRange(0x73dd, 0x73de), + CodeunitRange(0x73e0, 0x73e0), + CodeunitRange(0x73e2, 0x73e6), + CodeunitRange(0x73e9, 0x73eb), + CodeunitRange(0x73ed, 0x73ee), + CodeunitRange(0x73f5, 0x73f5), + CodeunitRange(0x73f7, 0x73f9), + CodeunitRange(0x73fd, 0x73fe), + CodeunitRange(0x7401, 0x7401), + CodeunitRange(0x7403, 0x7407), + CodeunitRange(0x7409, 0x7409), + CodeunitRange(0x7413, 0x7413), + CodeunitRange(0x7417, 0x7418), + CodeunitRange(0x741b, 0x741b), + CodeunitRange(0x741d, 0x741d), + CodeunitRange(0x741f, 0x7422), + CodeunitRange(0x7424, 0x7426), + CodeunitRange(0x7428, 0x7428), + CodeunitRange(0x742a, 0x742c), + CodeunitRange(0x742e, 0x7436), + CodeunitRange(0x7438, 0x7438), + CodeunitRange(0x743a, 0x743a), + CodeunitRange(0x743f, 0x7446), + CodeunitRange(0x7448, 0x7449), + CodeunitRange(0x744b, 0x744c), + CodeunitRange(0x744e, 0x744e), + CodeunitRange(0x7455, 0x7455), + CodeunitRange(0x7457, 0x7457), + CodeunitRange(0x7459, 0x7460), + CodeunitRange(0x7462, 0x7465), + CodeunitRange(0x7468, 0x746a), + CodeunitRange(0x746d, 0x7473), + CodeunitRange(0x747d, 0x747e), + CodeunitRange(0x7480, 0x7480), + CodeunitRange(0x7482, 0x7487), + CodeunitRange(0x7489, 0x748c), + CodeunitRange(0x7490, 0x7490), + CodeunitRange(0x7498, 0x7498), + CodeunitRange(0x749c, 0x749f), + CodeunitRange(0x74a1, 0x74a1), + CodeunitRange(0x74a3, 0x74a3), + CodeunitRange(0x74a5, 0x74a5), + CodeunitRange(0x74a7, 0x74a8), + CodeunitRange(0x74aa, 0x74ab), + CodeunitRange(0x74b0, 0x74b2), + CodeunitRange(0x74b5, 0x74b6), + CodeunitRange(0x74b8, 0x74b9), + CodeunitRange(0x74bc, 0x74bd), + CodeunitRange(0x74bf, 0x74c0), + CodeunitRange(0x74c6, 0x74c6), + CodeunitRange(0x74ca, 0x74ca), + CodeunitRange(0x74cd, 0x74cd), + CodeunitRange(0x74cf, 0x74d0), + CodeunitRange(0x74d3, 0x74d4), + CodeunitRange(0x74d8, 0x74d8), + CodeunitRange(0x74da, 0x74dc), + CodeunitRange(0x74e0, 0x74e0), + CodeunitRange(0x74e2, 0x74e3), + CodeunitRange(0x74e6, 0x74e6), + CodeunitRange(0x74e9, 0x74e9), + CodeunitRange(0x74ee, 0x74ee), + CodeunitRange(0x74f2, 0x74f3), + CodeunitRange(0x74f7, 0x74f7), + CodeunitRange(0x7501, 0x7501), + CodeunitRange(0x7503, 0x7504), + CodeunitRange(0x750c, 0x750e), + CodeunitRange(0x7511, 0x7511), + CodeunitRange(0x7513, 0x7513), + CodeunitRange(0x7515, 0x7515), + CodeunitRange(0x7518, 0x7518), + CodeunitRange(0x751a, 0x751c), + CodeunitRange(0x751e, 0x751f), + CodeunitRange(0x7522, 0x7526), + CodeunitRange(0x7528, 0x7528), + CodeunitRange(0x752b, 0x752c), + CodeunitRange(0x7530, 0x7533), + CodeunitRange(0x7537, 0x7538), + CodeunitRange(0x753a, 0x753b), + CodeunitRange(0x753f, 0x753f), + CodeunitRange(0x7543, 0x7543), + CodeunitRange(0x7547, 0x7547), + CodeunitRange(0x754a, 0x754c), + CodeunitRange(0x754e, 0x754f), + CodeunitRange(0x7551, 0x7551), + CodeunitRange(0x7553, 0x7554), + CodeunitRange(0x7559, 0x755d), + CodeunitRange(0x7560, 0x7560), + CodeunitRange(0x7562, 0x7562), + CodeunitRange(0x7564, 0x7567), + CodeunitRange(0x756a, 0x756b), + CodeunitRange(0x756f, 0x7570), + CodeunitRange(0x7575, 0x7576), + CodeunitRange(0x7578, 0x7578), + CodeunitRange(0x757a, 0x757a), + CodeunitRange(0x757f, 0x757f), + CodeunitRange(0x7586, 0x7588), + CodeunitRange(0x758a, 0x758b), + CodeunitRange(0x758e, 0x758f), + CodeunitRange(0x7591, 0x7592), + CodeunitRange(0x7594, 0x7594), + CodeunitRange(0x7599, 0x759a), + CodeunitRange(0x759d, 0x759d), + CodeunitRange(0x75a3, 0x75a3), + CodeunitRange(0x75a5, 0x75a5), + CodeunitRange(0x75a9, 0x75a9), + CodeunitRange(0x75ab, 0x75ab), + CodeunitRange(0x75b1, 0x75b5), + CodeunitRange(0x75b8, 0x75b9), + CodeunitRange(0x75bc, 0x75be), + CodeunitRange(0x75c0, 0x75c0), + CodeunitRange(0x75c2, 0x75c3), + CodeunitRange(0x75c5, 0x75c5), + CodeunitRange(0x75c7, 0x75c7), + CodeunitRange(0x75ca, 0x75ca), + CodeunitRange(0x75cd, 0x75ce), + CodeunitRange(0x75d2, 0x75d5), + CodeunitRange(0x75d8, 0x75d9), + CodeunitRange(0x75db, 0x75db), + CodeunitRange(0x75de, 0x75de), + CodeunitRange(0x75e2, 0x75e4), + CodeunitRange(0x75e7, 0x75e7), + CodeunitRange(0x75f0, 0x75f0), + CodeunitRange(0x75f2, 0x75f4), + CodeunitRange(0x75f9, 0x75fa), + CodeunitRange(0x75fc, 0x75fc), + CodeunitRange(0x75ff, 0x7601), + CodeunitRange(0x7607, 0x7609), + CodeunitRange(0x760b, 0x760b), + CodeunitRange(0x760d, 0x760d), + CodeunitRange(0x7610, 0x7610), + CodeunitRange(0x7615, 0x7615), + CodeunitRange(0x7619, 0x7619), + CodeunitRange(0x761f, 0x7622), + CodeunitRange(0x7624, 0x7624), + CodeunitRange(0x7626, 0x7627), + CodeunitRange(0x762f, 0x7631), + CodeunitRange(0x7633, 0x7634), + CodeunitRange(0x763b, 0x763b), + CodeunitRange(0x7642, 0x7643), + CodeunitRange(0x7646, 0x7649), + CodeunitRange(0x764c, 0x764c), + CodeunitRange(0x764e, 0x764e), + CodeunitRange(0x7652, 0x7652), + CodeunitRange(0x7655, 0x7656), + CodeunitRange(0x7658, 0x7658), + CodeunitRange(0x765c, 0x765c), + CodeunitRange(0x7661, 0x7662), + CodeunitRange(0x7664, 0x7665), + CodeunitRange(0x7667, 0x7669), + CodeunitRange(0x766c, 0x7672), + CodeunitRange(0x7676, 0x7676), + CodeunitRange(0x7678, 0x7678), + CodeunitRange(0x767a, 0x767e), + CodeunitRange(0x7680, 0x7681), + CodeunitRange(0x7683, 0x7684), + CodeunitRange(0x7686, 0x7687), + CodeunitRange(0x768b, 0x768b), + CodeunitRange(0x768e, 0x768e), + CodeunitRange(0x7690, 0x7690), + CodeunitRange(0x7692, 0x7693), + CodeunitRange(0x7696, 0x7697), + CodeunitRange(0x769a, 0x769c), + CodeunitRange(0x769e, 0x769e), + CodeunitRange(0x76a4, 0x76a4), + CodeunitRange(0x76ac, 0x76ac), + CodeunitRange(0x76ae, 0x76ae), + CodeunitRange(0x76b4, 0x76b4), + CodeunitRange(0x76b6, 0x76b6), + CodeunitRange(0x76b8, 0x76b8), + CodeunitRange(0x76ba, 0x76ba), + CodeunitRange(0x76bf, 0x76bf), + CodeunitRange(0x76c2, 0x76c3), + CodeunitRange(0x76c6, 0x76c6), + CodeunitRange(0x76c8, 0x76c8), + CodeunitRange(0x76ca, 0x76ca), + CodeunitRange(0x76cc, 0x76ce), + CodeunitRange(0x76d2, 0x76d4), + CodeunitRange(0x76d6, 0x76d6), + CodeunitRange(0x76d9, 0x76d9), + CodeunitRange(0x76db, 0x76dc), + CodeunitRange(0x76de, 0x76df), + CodeunitRange(0x76e1, 0x76e1), + CodeunitRange(0x76e3, 0x76e5), + CodeunitRange(0x76e7, 0x76e7), + CodeunitRange(0x76ea, 0x76ea), + CodeunitRange(0x76ec, 0x76ec), + CodeunitRange(0x76ee, 0x76ee), + CodeunitRange(0x76f1, 0x76f2), + CodeunitRange(0x76f4, 0x76f4), + CodeunitRange(0x76f8, 0x76f9), + CodeunitRange(0x76fb, 0x76fc), + CodeunitRange(0x76fe, 0x7702), + CodeunitRange(0x7704, 0x7704), + CodeunitRange(0x7707, 0x770c), + CodeunitRange(0x7710, 0x7710), + CodeunitRange(0x771a, 0x771b), + CodeunitRange(0x771e, 0x7720), + CodeunitRange(0x7725, 0x7726), + CodeunitRange(0x7728, 0x7729), + CodeunitRange(0x7734, 0x7734), + CodeunitRange(0x7737, 0x773c), + CodeunitRange(0x773e, 0x773e), + CodeunitRange(0x7740, 0x7740), + CodeunitRange(0x7743, 0x7743), + CodeunitRange(0x7746, 0x7747), + CodeunitRange(0x774d, 0x774d), + CodeunitRange(0x7752, 0x7752), + CodeunitRange(0x775a, 0x775b), + CodeunitRange(0x775f, 0x7763), + CodeunitRange(0x7765, 0x7766), + CodeunitRange(0x7768, 0x7768), + CodeunitRange(0x776b, 0x776c), + CodeunitRange(0x7777, 0x7777), + CodeunitRange(0x7779, 0x7779), + CodeunitRange(0x777d, 0x777f), + CodeunitRange(0x778b, 0x778b), + CodeunitRange(0x778d, 0x778e), + CodeunitRange(0x7791, 0x7791), + CodeunitRange(0x7796, 0x7796), + CodeunitRange(0x7799, 0x7799), + CodeunitRange(0x779e, 0x779e), + CodeunitRange(0x77a0, 0x77a0), + CodeunitRange(0x77a2, 0x77a2), + CodeunitRange(0x77a5, 0x77a5), + CodeunitRange(0x77aa, 0x77aa), + CodeunitRange(0x77ac, 0x77ae), + CodeunitRange(0x77b0, 0x77b0), + CodeunitRange(0x77b3, 0x77b3), + CodeunitRange(0x77b9, 0x77b9), + CodeunitRange(0x77bb, 0x77bd), + CodeunitRange(0x77bf, 0x77bf), + CodeunitRange(0x77c7, 0x77c7), + CodeunitRange(0x77c9, 0x77c9), + CodeunitRange(0x77cd, 0x77cd), + CodeunitRange(0x77d7, 0x77d7), + CodeunitRange(0x77d9, 0x77dc), + CodeunitRange(0x77de, 0x77de), + CodeunitRange(0x77e1, 0x77e3), + CodeunitRange(0x77e5, 0x77e5), + CodeunitRange(0x77e7, 0x77e7), + CodeunitRange(0x77e9, 0x77e9), + CodeunitRange(0x77ed, 0x77f0), + CodeunitRange(0x77f3, 0x77f3), + CodeunitRange(0x77f8, 0x77f8), + CodeunitRange(0x77fa, 0x77fd), + CodeunitRange(0x7802, 0x7802), + CodeunitRange(0x7807, 0x7807), + CodeunitRange(0x780c, 0x780c), + CodeunitRange(0x780f, 0x780f), + CodeunitRange(0x7811, 0x7812), + CodeunitRange(0x7814, 0x7814), + CodeunitRange(0x7822, 0x7822), + CodeunitRange(0x7825, 0x7827), + CodeunitRange(0x782c, 0x782d), + CodeunitRange(0x7830, 0x7830), + CodeunitRange(0x7832, 0x7832), + CodeunitRange(0x7834, 0x7834), + CodeunitRange(0x7843, 0x7843), + CodeunitRange(0x7845, 0x7845), + CodeunitRange(0x784f, 0x784f), + CodeunitRange(0x785c, 0x785d), + CodeunitRange(0x7860, 0x7860), + CodeunitRange(0x7867, 0x7868), + CodeunitRange(0x786a, 0x786c), + CodeunitRange(0x786e, 0x786f), + CodeunitRange(0x787c, 0x787c), + CodeunitRange(0x7881, 0x7881), + CodeunitRange(0x7884, 0x7884), + CodeunitRange(0x7887, 0x7887), + CodeunitRange(0x788c, 0x788f), + CodeunitRange(0x7891, 0x7891), + CodeunitRange(0x7893, 0x7893), + CodeunitRange(0x7897, 0x7897), + CodeunitRange(0x789f, 0x789f), + CodeunitRange(0x78a3, 0x78a4), + CodeunitRange(0x78a7, 0x78a9), + CodeunitRange(0x78ac, 0x78ad), + CodeunitRange(0x78ba, 0x78bc), + CodeunitRange(0x78be, 0x78be), + CodeunitRange(0x78c1, 0x78c1), + CodeunitRange(0x78c5, 0x78c5), + CodeunitRange(0x78c8, 0x78c8), + CodeunitRange(0x78ca, 0x78cb), + CodeunitRange(0x78ce, 0x78d1), + CodeunitRange(0x78d4, 0x78d5), + CodeunitRange(0x78da, 0x78da), + CodeunitRange(0x78e0, 0x78e0), + CodeunitRange(0x78e7, 0x78e8), + CodeunitRange(0x78ea, 0x78ea), + CodeunitRange(0x78ec, 0x78ec), + CodeunitRange(0x78ef, 0x78ef), + CodeunitRange(0x78f4, 0x78f5), + CodeunitRange(0x78f7, 0x78f7), + CodeunitRange(0x78fa, 0x78fd), + CodeunitRange(0x7901, 0x7901), + CodeunitRange(0x790c, 0x790c), + CodeunitRange(0x790e, 0x790f), + CodeunitRange(0x7911, 0x7912), + CodeunitRange(0x7916, 0x7916), + CodeunitRange(0x7919, 0x7919), + CodeunitRange(0x7927, 0x7927), + CodeunitRange(0x792a, 0x792d), + CodeunitRange(0x7931, 0x7931), + CodeunitRange(0x793a, 0x793c), + CodeunitRange(0x793e, 0x793e), + CodeunitRange(0x7940, 0x7941), + CodeunitRange(0x7944, 0x794a), + CodeunitRange(0x7950, 0x7950), + CodeunitRange(0x7953, 0x7958), + CodeunitRange(0x795a, 0x7960), + CodeunitRange(0x7962, 0x7962), + CodeunitRange(0x7965, 0x7965), + CodeunitRange(0x7967, 0x7968), + CodeunitRange(0x796d, 0x796d), + CodeunitRange(0x7979, 0x797a), + CodeunitRange(0x797c, 0x797c), + CodeunitRange(0x797f, 0x7981), + CodeunitRange(0x798a, 0x798b), + CodeunitRange(0x798d, 0x798f), + CodeunitRange(0x7991, 0x7991), + CodeunitRange(0x7994, 0x7994), + CodeunitRange(0x799b, 0x799b), + CodeunitRange(0x799d, 0x799d), + CodeunitRange(0x79a6, 0x79a8), + CodeunitRange(0x79aa, 0x79ab), + CodeunitRange(0x79ae, 0x79ae), + CodeunitRange(0x79b0, 0x79b1), + CodeunitRange(0x79b3, 0x79b4), + CodeunitRange(0x79b8, 0x79c1), + CodeunitRange(0x79c4, 0x79c4), + CodeunitRange(0x79c6, 0x79c6), + CodeunitRange(0x79c9, 0x79cb), + CodeunitRange(0x79d1, 0x79d2), + CodeunitRange(0x79d5, 0x79d5), + CodeunitRange(0x79d8, 0x79d8), + CodeunitRange(0x79de, 0x79df), + CodeunitRange(0x79e2, 0x79e4), + CodeunitRange(0x79e6, 0x79e7), + CodeunitRange(0x79e9, 0x79ec), + CodeunitRange(0x79f5, 0x79f5), + CodeunitRange(0x79f8, 0x79f8), + CodeunitRange(0x79fb, 0x79fb), + CodeunitRange(0x7a00, 0x7a02), + CodeunitRange(0x7a05, 0x7a05), + CodeunitRange(0x7a08, 0x7a08), + CodeunitRange(0x7a0a, 0x7a0d), + CodeunitRange(0x7a14, 0x7a14), + CodeunitRange(0x7a17, 0x7a1a), + CodeunitRange(0x7a1c, 0x7a1c), + CodeunitRange(0x7a1e, 0x7a20), + CodeunitRange(0x7a22, 0x7a22), + CodeunitRange(0x7a27, 0x7a27), + CodeunitRange(0x7a2e, 0x7a2e), + CodeunitRange(0x7a30, 0x7a31), + CodeunitRange(0x7a33, 0x7a33), + CodeunitRange(0x7a36, 0x7a37), + CodeunitRange(0x7a39, 0x7a39), + CodeunitRange(0x7a3b, 0x7a3d), + CodeunitRange(0x7a3f, 0x7a40), + CodeunitRange(0x7a42, 0x7a42), + CodeunitRange(0x7a45, 0x7a46), + CodeunitRange(0x7a49, 0x7a49), + CodeunitRange(0x7a4c, 0x7a4e), + CodeunitRange(0x7a57, 0x7a57), + CodeunitRange(0x7a60, 0x7a62), + CodeunitRange(0x7a66, 0x7a66), + CodeunitRange(0x7a69, 0x7a69), + CodeunitRange(0x7a6b, 0x7a6b), + CodeunitRange(0x7a70, 0x7a70), + CodeunitRange(0x7a74, 0x7a76), + CodeunitRange(0x7a79, 0x7a7a), + CodeunitRange(0x7a7d, 0x7a86), + CodeunitRange(0x7a88, 0x7a88), + CodeunitRange(0x7a8a, 0x7a8a), + CodeunitRange(0x7a92, 0x7a93), + CodeunitRange(0x7a95, 0x7a99), + CodeunitRange(0x7a9b, 0x7a9b), + CodeunitRange(0x7a9f, 0x7aa0), + CodeunitRange(0x7aa3, 0x7aa3), + CodeunitRange(0x7aa9, 0x7aaa), + CodeunitRange(0x7aac, 0x7aac), + CodeunitRange(0x7aae, 0x7aaf), + CodeunitRange(0x7ab3, 0x7ab3), + CodeunitRange(0x7ab6, 0x7ab6), + CodeunitRange(0x7ab9, 0x7abb), + CodeunitRange(0x7abe, 0x7abf), + CodeunitRange(0x7ac4, 0x7ac5), + CodeunitRange(0x7ac7, 0x7ac8), + CodeunitRange(0x7aca, 0x7acb), + CodeunitRange(0x7ad7, 0x7ad7), + CodeunitRange(0x7ad9, 0x7ad9), + CodeunitRange(0x7adc, 0x7add), + CodeunitRange(0x7adf, 0x7ae0), + CodeunitRange(0x7ae2, 0x7ae3), + CodeunitRange(0x7ae5, 0x7ae6), + CodeunitRange(0x7aea, 0x7aea), + CodeunitRange(0x7aed, 0x7aed), + CodeunitRange(0x7aef, 0x7aef), + CodeunitRange(0x7af4, 0x7af4), + CodeunitRange(0x7af6, 0x7af6), + CodeunitRange(0x7af8, 0x7afa), + CodeunitRange(0x7afd, 0x7afd), + CodeunitRange(0x7aff, 0x7aff), + CodeunitRange(0x7b06, 0x7b06), + CodeunitRange(0x7b08, 0x7b08), + CodeunitRange(0x7b0a, 0x7b0a), + CodeunitRange(0x7b0c, 0x7b0c), + CodeunitRange(0x7b0e, 0x7b0f), + CodeunitRange(0x7b11, 0x7b12), + CodeunitRange(0x7b18, 0x7b19), + CodeunitRange(0x7b1b, 0x7b1b), + CodeunitRange(0x7b1e, 0x7b1e), + CodeunitRange(0x7b20, 0x7b20), + CodeunitRange(0x7b25, 0x7b28), + CodeunitRange(0x7b2c, 0x7b2d), + CodeunitRange(0x7b2f, 0x7b2f), + CodeunitRange(0x7b33, 0x7b33), + CodeunitRange(0x7b35, 0x7b35), + CodeunitRange(0x7b39, 0x7b39), + CodeunitRange(0x7b45, 0x7b46), + CodeunitRange(0x7b48, 0x7b49), + CodeunitRange(0x7b4b, 0x7b4d), + CodeunitRange(0x7b4f, 0x7b54), + CodeunitRange(0x7b56, 0x7b56), + CodeunitRange(0x7b5f, 0x7b60), + CodeunitRange(0x7b65, 0x7b67), + CodeunitRange(0x7b69, 0x7b69), + CodeunitRange(0x7b6c, 0x7b6c), + CodeunitRange(0x7b6e, 0x7b6e), + CodeunitRange(0x7b71, 0x7b71), + CodeunitRange(0x7b73, 0x7b73), + CodeunitRange(0x7b75, 0x7b75), + CodeunitRange(0x7b7d, 0x7b7d), + CodeunitRange(0x7b87, 0x7b87), + CodeunitRange(0x7b8b, 0x7b8b), + CodeunitRange(0x7b8d, 0x7b8f), + CodeunitRange(0x7b92, 0x7b92), + CodeunitRange(0x7b94, 0x7b95), + CodeunitRange(0x7b97, 0x7b97), + CodeunitRange(0x7b99, 0x7b9a), + CodeunitRange(0x7b9c, 0x7b9d), + CodeunitRange(0x7ba0, 0x7ba1), + CodeunitRange(0x7bad, 0x7bad), + CodeunitRange(0x7bb1, 0x7bb1), + CodeunitRange(0x7bb4, 0x7bb4), + CodeunitRange(0x7bb8, 0x7bb8), + CodeunitRange(0x7bbe, 0x7bbe), + CodeunitRange(0x7bc0, 0x7bc1), + CodeunitRange(0x7bc4, 0x7bc4), + CodeunitRange(0x7bc6, 0x7bc7), + CodeunitRange(0x7bc9, 0x7bcc), + CodeunitRange(0x7bd2, 0x7bd2), + CodeunitRange(0x7bd4, 0x7bd4), + CodeunitRange(0x7bd9, 0x7bd9), + CodeunitRange(0x7bdb, 0x7bdb), + CodeunitRange(0x7bdd, 0x7bdd), + CodeunitRange(0x7be0, 0x7be1), + CodeunitRange(0x7be4, 0x7be4), + CodeunitRange(0x7be6, 0x7be6), + CodeunitRange(0x7be9, 0x7bea), + CodeunitRange(0x7bf3, 0x7bf3), + CodeunitRange(0x7bf7, 0x7bf7), + CodeunitRange(0x7bfe, 0x7bfe), + CodeunitRange(0x7c00, 0x7c00), + CodeunitRange(0x7c07, 0x7c07), + CodeunitRange(0x7c09, 0x7c09), + CodeunitRange(0x7c0b, 0x7c0b), + CodeunitRange(0x7c0f, 0x7c0f), + CodeunitRange(0x7c12, 0x7c12), + CodeunitRange(0x7c1e, 0x7c21), + CodeunitRange(0x7c27, 0x7c27), + CodeunitRange(0x7c2a, 0x7c2b), + CodeunitRange(0x7c37, 0x7c38), + CodeunitRange(0x7c3d, 0x7c3f), + CodeunitRange(0x7c43, 0x7c43), + CodeunitRange(0x7c4c, 0x7c4d), + CodeunitRange(0x7c50, 0x7c50), + CodeunitRange(0x7c52, 0x7c52), + CodeunitRange(0x7c54, 0x7c54), + CodeunitRange(0x7c5b, 0x7c5c), + CodeunitRange(0x7c5f, 0x7c60), + CodeunitRange(0x7c64, 0x7c65), + CodeunitRange(0x7c67, 0x7c67), + CodeunitRange(0x7c69, 0x7c69), + CodeunitRange(0x7c6c, 0x7c6c), + CodeunitRange(0x7c72, 0x7c73), + CodeunitRange(0x7c7e, 0x7c7e), + CodeunitRange(0x7c81, 0x7c81), + CodeunitRange(0x7c83, 0x7c83), + CodeunitRange(0x7c89, 0x7c89), + CodeunitRange(0x7c8d, 0x7c8d), + CodeunitRange(0x7c92, 0x7c92), + CodeunitRange(0x7c95, 0x7c95), + CodeunitRange(0x7c97, 0x7c98), + CodeunitRange(0x7c9f, 0x7c9f), + CodeunitRange(0x7ca2, 0x7ca2), + CodeunitRange(0x7ca4, 0x7ca8), + CodeunitRange(0x7cae, 0x7cae), + CodeunitRange(0x7cb1, 0x7cb3), + CodeunitRange(0x7cb9, 0x7cb9), + CodeunitRange(0x7cbc, 0x7cbe), + CodeunitRange(0x7cc5, 0x7cc6), + CodeunitRange(0x7cca, 0x7cca), + CodeunitRange(0x7cd5, 0x7cd7), + CodeunitRange(0x7cd9, 0x7cda), + CodeunitRange(0x7cdc, 0x7ce0), + CodeunitRange(0x7ce2, 0x7ce2), + CodeunitRange(0x7ce5, 0x7ce5), + CodeunitRange(0x7ce7, 0x7ce7), + CodeunitRange(0x7cef, 0x7cef), + CodeunitRange(0x7cf1, 0x7cf2), + CodeunitRange(0x7cf4, 0x7cf6), + CodeunitRange(0x7cf8, 0x7cfb), + CodeunitRange(0x7cfe, 0x7cfe), + CodeunitRange(0x7d00, 0x7d00), + CodeunitRange(0x7d02, 0x7d08), + CodeunitRange(0x7d0a, 0x7d0b), + CodeunitRange(0x7d0d, 0x7d0d), + CodeunitRange(0x7d10, 0x7d10), + CodeunitRange(0x7d13, 0x7d15), + CodeunitRange(0x7d17, 0x7d1c), + CodeunitRange(0x7d20, 0x7d22), + CodeunitRange(0x7d2b, 0x7d2c), + CodeunitRange(0x7d2e, 0x7d33), + CodeunitRange(0x7d35, 0x7d35), + CodeunitRange(0x7d38, 0x7d3a), + CodeunitRange(0x7d41, 0x7d46), + CodeunitRange(0x7d49, 0x7d49), + CodeunitRange(0x7d4c, 0x7d4d), + CodeunitRange(0x7d50, 0x7d51), + CodeunitRange(0x7d55, 0x7d56), + CodeunitRange(0x7d59, 0x7d59), + CodeunitRange(0x7d5b, 0x7d5c), + CodeunitRange(0x7d5e, 0x7d5e), + CodeunitRange(0x7d61, 0x7d63), + CodeunitRange(0x7d66, 0x7d66), + CodeunitRange(0x7d68, 0x7d6a), + CodeunitRange(0x7d6e, 0x7d6e), + CodeunitRange(0x7d70, 0x7d73), + CodeunitRange(0x7d75, 0x7d76), + CodeunitRange(0x7d79, 0x7d7a), + CodeunitRange(0x7d7f, 0x7d7f), + CodeunitRange(0x7d83, 0x7d83), + CodeunitRange(0x7d86, 0x7d86), + CodeunitRange(0x7d8e, 0x7d8f), + CodeunitRange(0x7d93, 0x7d93), + CodeunitRange(0x7d98, 0x7d98), + CodeunitRange(0x7d9a, 0x7d9a), + CodeunitRange(0x7d9c, 0x7d9c), + CodeunitRange(0x7da0, 0x7da0), + CodeunitRange(0x7da2, 0x7da3), + CodeunitRange(0x7da5, 0x7da7), + CodeunitRange(0x7da9, 0x7da9), + CodeunitRange(0x7dab, 0x7dae), + CodeunitRange(0x7db0, 0x7db2), + CodeunitRange(0x7db4, 0x7db5), + CodeunitRange(0x7db8, 0x7db8), + CodeunitRange(0x7dba, 0x7dbb), + CodeunitRange(0x7dbd, 0x7dbf), + CodeunitRange(0x7dc4, 0x7dc4), + CodeunitRange(0x7dc7, 0x7dc7), + CodeunitRange(0x7dca, 0x7dcd), + CodeunitRange(0x7dcf, 0x7dcf), + CodeunitRange(0x7dd6, 0x7dd8), + CodeunitRange(0x7dda, 0x7dda), + CodeunitRange(0x7ddc, 0x7dde), + CodeunitRange(0x7de0, 0x7de1), + CodeunitRange(0x7de3, 0x7de3), + CodeunitRange(0x7de6, 0x7de6), + CodeunitRange(0x7de8, 0x7de9), + CodeunitRange(0x7dec, 0x7dec), + CodeunitRange(0x7def, 0x7def), + CodeunitRange(0x7df4, 0x7df4), + CodeunitRange(0x7df6, 0x7df6), + CodeunitRange(0x7df9, 0x7df9), + CodeunitRange(0x7dfb, 0x7dfb), + CodeunitRange(0x7e03, 0x7e03), + CodeunitRange(0x7e08, 0x7e0b), + CodeunitRange(0x7e10, 0x7e11), + CodeunitRange(0x7e15, 0x7e15), + CodeunitRange(0x7e17, 0x7e18), + CodeunitRange(0x7e1b, 0x7e1b), + CodeunitRange(0x7e1d, 0x7e23), + CodeunitRange(0x7e2b, 0x7e2b), + CodeunitRange(0x7e2e, 0x7e2f), + CodeunitRange(0x7e31, 0x7e33), + CodeunitRange(0x7e35, 0x7e35), + CodeunitRange(0x7e37, 0x7e37), + CodeunitRange(0x7e39, 0x7e39), + CodeunitRange(0x7e3b, 0x7e3b), + CodeunitRange(0x7e3d, 0x7e3e), + CodeunitRange(0x7e41, 0x7e41), + CodeunitRange(0x7e43, 0x7e48), + CodeunitRange(0x7e50, 0x7e50), + CodeunitRange(0x7e52, 0x7e52), + CodeunitRange(0x7e54, 0x7e57), + CodeunitRange(0x7e59, 0x7e5a), + CodeunitRange(0x7e5e, 0x7e5e), + CodeunitRange(0x7e61, 0x7e62), + CodeunitRange(0x7e69, 0x7e6b), + CodeunitRange(0x7e6d, 0x7e6d), + CodeunitRange(0x7e6f, 0x7e70), + CodeunitRange(0x7e76, 0x7e76), + CodeunitRange(0x7e79, 0x7e79), + CodeunitRange(0x7e7c, 0x7e7e), + CodeunitRange(0x7e81, 0x7e82), + CodeunitRange(0x7e87, 0x7e88), + CodeunitRange(0x7e8a, 0x7e8a), + CodeunitRange(0x7e8c, 0x7e8d), + CodeunitRange(0x7e8f, 0x7e8f), + CodeunitRange(0x7e93, 0x7e94), + CodeunitRange(0x7e96, 0x7e96), + CodeunitRange(0x7e98, 0x7e98), + CodeunitRange(0x7e9b, 0x7e9c), + CodeunitRange(0x7e9f, 0x7e9f), + CodeunitRange(0x7f36, 0x7f38), + CodeunitRange(0x7f3a, 0x7f3a), + CodeunitRange(0x7f3e, 0x7f3f), + CodeunitRange(0x7f43, 0x7f45), + CodeunitRange(0x7f47, 0x7f47), + CodeunitRange(0x7f4b, 0x7f4e), + CodeunitRange(0x7f50, 0x7f55), + CodeunitRange(0x7f58, 0x7f58), + CodeunitRange(0x7f5d, 0x7f5d), + CodeunitRange(0x7f5f, 0x7f61), + CodeunitRange(0x7f63, 0x7f63), + CodeunitRange(0x7f66, 0x7f66), + CodeunitRange(0x7f68, 0x7f68), + CodeunitRange(0x7f6a, 0x7f6b), + CodeunitRange(0x7f6e, 0x7f6e), + CodeunitRange(0x7f70, 0x7f70), + CodeunitRange(0x7f72, 0x7f72), + CodeunitRange(0x7f75, 0x7f75), + CodeunitRange(0x7f77, 0x7f79), + CodeunitRange(0x7f7c, 0x7f7e), + CodeunitRange(0x7f82, 0x7f82), + CodeunitRange(0x7f85, 0x7f88), + CodeunitRange(0x7f8a, 0x7f8a), + CodeunitRange(0x7f8c, 0x7f8c), + CodeunitRange(0x7f8e, 0x7f8e), + CodeunitRange(0x7f94, 0x7f94), + CodeunitRange(0x7f96, 0x7f98), + CodeunitRange(0x7f9a, 0x7f9a), + CodeunitRange(0x7f9d, 0x7f9e), + CodeunitRange(0x7fa1, 0x7fa1), + CodeunitRange(0x7fa4, 0x7fa4), + CodeunitRange(0x7fa8, 0x7fa9), + CodeunitRange(0x7fab, 0x7fab), + CodeunitRange(0x7faf, 0x7faf), + CodeunitRange(0x7fb2, 0x7fb2), + CodeunitRange(0x7fb6, 0x7fb6), + CodeunitRange(0x7fb8, 0x7fb9), + CodeunitRange(0x7fbd, 0x7fbd), + CodeunitRange(0x7fbf, 0x7fbf), + CodeunitRange(0x7fc1, 0x7fc1), + CodeunitRange(0x7fc5, 0x7fc5), + CodeunitRange(0x7fca, 0x7fca), + CodeunitRange(0x7fcc, 0x7fcc), + CodeunitRange(0x7fce, 0x7fce), + CodeunitRange(0x7fd2, 0x7fd2), + CodeunitRange(0x7fd4, 0x7fd6), + CodeunitRange(0x7fdb, 0x7fdb), + CodeunitRange(0x7fdf, 0x7fe1), + CodeunitRange(0x7fe3, 0x7fe4), + CodeunitRange(0x7fe6, 0x7fe6), + CodeunitRange(0x7fe9, 0x7fe9), + CodeunitRange(0x7feb, 0x7fec), + CodeunitRange(0x7fee, 0x7fee), + CodeunitRange(0x7ff0, 0x7ff0), + CodeunitRange(0x7ff3, 0x7ff3), + CodeunitRange(0x7ff9, 0x7ffc), + CodeunitRange(0x7ffe, 0x7ffe), + CodeunitRange(0x8000, 0x8009), + CodeunitRange(0x800c, 0x800c), + CodeunitRange(0x8010, 0x8012), + CodeunitRange(0x8014, 0x8019), + CodeunitRange(0x801e, 0x801e), + CodeunitRange(0x8021, 0x8021), + CodeunitRange(0x8026, 0x8026), + CodeunitRange(0x8028, 0x8028), + CodeunitRange(0x802c, 0x802d), + CodeunitRange(0x8030, 0x8030), + CodeunitRange(0x8033, 0x8033), + CodeunitRange(0x8036, 0x8036), + CodeunitRange(0x803d, 0x803d), + CodeunitRange(0x803f, 0x803f), + CodeunitRange(0x8043, 0x8043), + CodeunitRange(0x8046, 0x8046), + CodeunitRange(0x8048, 0x8048), + CodeunitRange(0x804a, 0x804a), + CodeunitRange(0x8052, 0x8052), + CodeunitRange(0x8055, 0x8056), + CodeunitRange(0x8058, 0x8058), + CodeunitRange(0x805a, 0x805a), + CodeunitRange(0x805e, 0x805e), + CodeunitRange(0x8061, 0x8061), + CodeunitRange(0x806f, 0x8073), + CodeunitRange(0x8075, 0x8077), + CodeunitRange(0x807d, 0x8080), + CodeunitRange(0x8084, 0x8087), + CodeunitRange(0x8089, 0x8089), + CodeunitRange(0x808b, 0x808c), + CodeunitRange(0x8093, 0x8093), + CodeunitRange(0x8096, 0x8096), + CodeunitRange(0x8098, 0x8098), + CodeunitRange(0x809a, 0x809b), + CodeunitRange(0x809d, 0x809d), + CodeunitRange(0x80a1, 0x80a2), + CodeunitRange(0x80a5, 0x80a6), + CodeunitRange(0x80a9, 0x80ab), + CodeunitRange(0x80ad, 0x80ad), + CodeunitRange(0x80af, 0x80af), + CodeunitRange(0x80b1, 0x80b2), + CodeunitRange(0x80b4, 0x80b5), + CodeunitRange(0x80ba, 0x80ba), + CodeunitRange(0x80c3, 0x80c4), + CodeunitRange(0x80c6, 0x80c6), + CodeunitRange(0x80ca, 0x80ca), + CodeunitRange(0x80cc, 0x80cc), + CodeunitRange(0x80ce, 0x80ce), + CodeunitRange(0x80d5, 0x80d6), + CodeunitRange(0x80d9, 0x80dc), + CodeunitRange(0x80de, 0x80de), + CodeunitRange(0x80e0, 0x80e1), + CodeunitRange(0x80e4, 0x80e5), + CodeunitRange(0x80ef, 0x80ef), + CodeunitRange(0x80f1, 0x80f1), + CodeunitRange(0x80f4, 0x80f4), + CodeunitRange(0x80f7, 0x80f8), + CodeunitRange(0x80fd, 0x80fe), + CodeunitRange(0x8102, 0x8102), + CodeunitRange(0x8105, 0x810a), + CodeunitRange(0x8116, 0x8118), + CodeunitRange(0x811a, 0x811b), + CodeunitRange(0x8123, 0x8124), + CodeunitRange(0x8127, 0x8127), + CodeunitRange(0x8129, 0x8129), + CodeunitRange(0x812b, 0x812b), + CodeunitRange(0x812f, 0x8130), + CodeunitRange(0x8139, 0x813a), + CodeunitRange(0x813e, 0x813e), + CodeunitRange(0x8141, 0x8141), + CodeunitRange(0x8146, 0x8146), + CodeunitRange(0x814a, 0x814b), + CodeunitRange(0x814e, 0x814e), + CodeunitRange(0x8150, 0x8155), + CodeunitRange(0x8160, 0x8160), + CodeunitRange(0x8164, 0x8166), + CodeunitRange(0x816b, 0x816b), + CodeunitRange(0x816d, 0x816d), + CodeunitRange(0x8170, 0x8171), + CodeunitRange(0x8174, 0x8174), + CodeunitRange(0x8176, 0x817a), + CodeunitRange(0x817f, 0x8180), + CodeunitRange(0x8182, 0x8184), + CodeunitRange(0x8186, 0x8186), + CodeunitRange(0x8188, 0x8188), + CodeunitRange(0x818a, 0x818b), + CodeunitRange(0x818f, 0x818f), + CodeunitRange(0x819a, 0x819a), + CodeunitRange(0x819c, 0x819e), + CodeunitRange(0x81a0, 0x81a0), + CodeunitRange(0x81a3, 0x81a3), + CodeunitRange(0x81a8, 0x81a9), + CodeunitRange(0x81b0, 0x81b0), + CodeunitRange(0x81b3, 0x81b5), + CodeunitRange(0x81b8, 0x81ba), + CodeunitRange(0x81bd, 0x81c0), + CodeunitRange(0x81c2, 0x81c2), + CodeunitRange(0x81c6, 0x81c6), + CodeunitRange(0x81ca, 0x81ca), + CodeunitRange(0x81cd, 0x81cd), + CodeunitRange(0x81cf, 0x81cf), + CodeunitRange(0x81d1, 0x81d1), + CodeunitRange(0x81d8, 0x81da), + CodeunitRange(0x81dd, 0x81dd), + CodeunitRange(0x81df, 0x81e0), + CodeunitRange(0x81e3, 0x81e3), + CodeunitRange(0x81e5, 0x81e5), + CodeunitRange(0x81e7, 0x81e8), + CodeunitRange(0x81ea, 0x81ea), + CodeunitRange(0x81ec, 0x81ed), + CodeunitRange(0x81f3, 0x81f4), + CodeunitRange(0x81f6, 0x81f6), + CodeunitRange(0x81fa, 0x81fc), + CodeunitRange(0x81fe, 0x81fe), + CodeunitRange(0x8201, 0x8203), + CodeunitRange(0x8205, 0x8205), + CodeunitRange(0x8207, 0x8208), + CodeunitRange(0x820a, 0x820a), + CodeunitRange(0x820c, 0x820d), + CodeunitRange(0x8210, 0x8210), + CodeunitRange(0x8212, 0x8212), + CodeunitRange(0x8216, 0x8216), + CodeunitRange(0x8218, 0x8218), + CodeunitRange(0x821b, 0x821c), + CodeunitRange(0x821e, 0x821f), + CodeunitRange(0x8221, 0x8221), + CodeunitRange(0x822a, 0x822c), + CodeunitRange(0x8233, 0x8233), + CodeunitRange(0x8235, 0x8239), + CodeunitRange(0x823d, 0x823d), + CodeunitRange(0x8240, 0x8240), + CodeunitRange(0x8245, 0x8245), + CodeunitRange(0x8247, 0x8247), + CodeunitRange(0x8251, 0x8251), + CodeunitRange(0x8258, 0x825a), + CodeunitRange(0x825f, 0x825f), + CodeunitRange(0x8264, 0x8264), + CodeunitRange(0x8266, 0x8266), + CodeunitRange(0x8268, 0x8268), + CodeunitRange(0x826a, 0x826b), + CodeunitRange(0x826e, 0x826f), + CodeunitRange(0x8271, 0x8272), + CodeunitRange(0x8274, 0x8274), + CodeunitRange(0x8276, 0x8279), + CodeunitRange(0x827d, 0x827e), + CodeunitRange(0x8283, 0x8283), + CodeunitRange(0x828a, 0x828b), + CodeunitRange(0x828d, 0x828e), + CodeunitRange(0x8290, 0x8290), + CodeunitRange(0x8292, 0x8292), + CodeunitRange(0x8294, 0x8294), + CodeunitRange(0x8298, 0x829a), + CodeunitRange(0x829d, 0x829d), + CodeunitRange(0x829f, 0x829f), + CodeunitRange(0x82a1, 0x82a3), + CodeunitRange(0x82a5, 0x82b1), + CodeunitRange(0x82b3, 0x82b3), + CodeunitRange(0x82b7, 0x82b9), + CodeunitRange(0x82bb, 0x82bf), + CodeunitRange(0x82c5, 0x82c5), + CodeunitRange(0x82d1, 0x82d5), + CodeunitRange(0x82d7, 0x82d7), + CodeunitRange(0x82db, 0x82dc), + CodeunitRange(0x82de, 0x82e1), + CodeunitRange(0x82e3, 0x82e3), + CodeunitRange(0x82e5, 0x82e7), + CodeunitRange(0x82e9, 0x82e9), + CodeunitRange(0x82eb, 0x82eb), + CodeunitRange(0x82f1, 0x82f1), + CodeunitRange(0x82f3, 0x82f4), + CodeunitRange(0x82f9, 0x82fb), + CodeunitRange(0x82fd, 0x8305), + CodeunitRange(0x8308, 0x8309), + CodeunitRange(0x8317, 0x8317), + CodeunitRange(0x831b, 0x831d), + CodeunitRange(0x8323, 0x8325), + CodeunitRange(0x8328, 0x8328), + CodeunitRange(0x832a, 0x832b), + CodeunitRange(0x832f, 0x832f), + CodeunitRange(0x8331, 0x8336), + CodeunitRange(0x8338, 0x8339), + CodeunitRange(0x833c, 0x833c), + CodeunitRange(0x8340, 0x8340), + CodeunitRange(0x8343, 0x8343), + CodeunitRange(0x8347, 0x8347), + CodeunitRange(0x8349, 0x834a), + CodeunitRange(0x834f, 0x8352), + CodeunitRange(0x8363, 0x8363), + CodeunitRange(0x8373, 0x8373), + CodeunitRange(0x8377, 0x8377), + CodeunitRange(0x837a, 0x837b), + CodeunitRange(0x8382, 0x8382), + CodeunitRange(0x8385, 0x8385), + CodeunitRange(0x8389, 0x838a), + CodeunitRange(0x838e, 0x838e), + CodeunitRange(0x8392, 0x8393), + CodeunitRange(0x8396, 0x8396), + CodeunitRange(0x8398, 0x8398), + CodeunitRange(0x839a, 0x839b), + CodeunitRange(0x839d, 0x83a0), + CodeunitRange(0x83a2, 0x83a2), + CodeunitRange(0x83a8, 0x83ab), + CodeunitRange(0x83bd, 0x83c2), + CodeunitRange(0x83c5, 0x83c5), + CodeunitRange(0x83c9, 0x83ca), + CodeunitRange(0x83cc, 0x83cc), + CodeunitRange(0x83d1, 0x83d1), + CodeunitRange(0x83d3, 0x83d4), + CodeunitRange(0x83d6, 0x83d6), + CodeunitRange(0x83d8, 0x83d8), + CodeunitRange(0x83dc, 0x83dc), + CodeunitRange(0x83df, 0x83e1), + CodeunitRange(0x83e9, 0x83e9), + CodeunitRange(0x83eb, 0x83eb), + CodeunitRange(0x83ef, 0x83f2), + CodeunitRange(0x83f4, 0x83f4), + CodeunitRange(0x83f6, 0x83f6), + CodeunitRange(0x83f9, 0x83f9), + CodeunitRange(0x83fb, 0x83fb), + CodeunitRange(0x83fd, 0x83fd), + CodeunitRange(0x8403, 0x8404), + CodeunitRange(0x8406, 0x8407), + CodeunitRange(0x840a, 0x840e), + CodeunitRange(0x8429, 0x8429), + CodeunitRange(0x842c, 0x842c), + CodeunitRange(0x8431, 0x8431), + CodeunitRange(0x8435, 0x8435), + CodeunitRange(0x8438, 0x8439), + CodeunitRange(0x843c, 0x843d), + CodeunitRange(0x8446, 0x8446), + CodeunitRange(0x8449, 0x844a), + CodeunitRange(0x8451, 0x8451), + CodeunitRange(0x8457, 0x8457), + CodeunitRange(0x845a, 0x845b), + CodeunitRange(0x8461, 0x8461), + CodeunitRange(0x8463, 0x8463), + CodeunitRange(0x8466, 0x8466), + CodeunitRange(0x8469, 0x846d), + CodeunitRange(0x846f, 0x8471), + CodeunitRange(0x8473, 0x8473), + CodeunitRange(0x8475, 0x8475), + CodeunitRange(0x8477, 0x8477), + CodeunitRange(0x847a, 0x847a), + CodeunitRange(0x8482, 0x8482), + CodeunitRange(0x8490, 0x8491), + CodeunitRange(0x8494, 0x8494), + CodeunitRange(0x8499, 0x8499), + CodeunitRange(0x849c, 0x849c), + CodeunitRange(0x849f, 0x849f), + CodeunitRange(0x84a1, 0x84a1), + CodeunitRange(0x84a8, 0x84a8), + CodeunitRange(0x84ad, 0x84ad), + CodeunitRange(0x84af, 0x84af), + CodeunitRange(0x84b2, 0x84b2), + CodeunitRange(0x84b4, 0x84b4), + CodeunitRange(0x84b8, 0x84bd), + CodeunitRange(0x84bf, 0x84c2), + CodeunitRange(0x84c4, 0x84c4), + CodeunitRange(0x84c6, 0x84c6), + CodeunitRange(0x84c9, 0x84cb), + CodeunitRange(0x84cd, 0x84cd), + CodeunitRange(0x84cf, 0x84d1), + CodeunitRange(0x84d3, 0x84d3), + CodeunitRange(0x84d6, 0x84d6), + CodeunitRange(0x84da, 0x84da), + CodeunitRange(0x84ec, 0x84ef), + CodeunitRange(0x84f1, 0x84f1), + CodeunitRange(0x84f4, 0x84f4), + CodeunitRange(0x84fa, 0x84fa), + CodeunitRange(0x84fc, 0x84fd), + CodeunitRange(0x8500, 0x8500), + CodeunitRange(0x8506, 0x8506), + CodeunitRange(0x850e, 0x850e), + CodeunitRange(0x8511, 0x8511), + CodeunitRange(0x8513, 0x8515), + CodeunitRange(0x8517, 0x8518), + CodeunitRange(0x851a, 0x851a), + CodeunitRange(0x851e, 0x851f), + CodeunitRange(0x8521, 0x8521), + CodeunitRange(0x8523, 0x8523), + CodeunitRange(0x8525, 0x8526), + CodeunitRange(0x852a, 0x852a), + CodeunitRange(0x852c, 0x852d), + CodeunitRange(0x852f, 0x8530), + CodeunitRange(0x853d, 0x853d), + CodeunitRange(0x853f, 0x853f), + CodeunitRange(0x8541, 0x8541), + CodeunitRange(0x8543, 0x8543), + CodeunitRange(0x8546, 0x8546), + CodeunitRange(0x8549, 0x854b), + CodeunitRange(0x854e, 0x854e), + CodeunitRange(0x8553, 0x8553), + CodeunitRange(0x8555, 0x8559), + CodeunitRange(0x855e, 0x855e), + CodeunitRange(0x8561, 0x8561), + CodeunitRange(0x8563, 0x8564), + CodeunitRange(0x8568, 0x856b), + CodeunitRange(0x856d, 0x856d), + CodeunitRange(0x8578, 0x8578), + CodeunitRange(0x857a, 0x857a), + CodeunitRange(0x857e, 0x857e), + CodeunitRange(0x8580, 0x8580), + CodeunitRange(0x8584, 0x8584), + CodeunitRange(0x8586, 0x8587), + CodeunitRange(0x8589, 0x858a), + CodeunitRange(0x858c, 0x858c), + CodeunitRange(0x858f, 0x858f), + CodeunitRange(0x8591, 0x8591), + CodeunitRange(0x8594, 0x8594), + CodeunitRange(0x8597, 0x8597), + CodeunitRange(0x8599, 0x8599), + CodeunitRange(0x859b, 0x859b), + CodeunitRange(0x859d, 0x859d), + CodeunitRange(0x85a4, 0x85a6), + CodeunitRange(0x85a8, 0x85ab), + CodeunitRange(0x85af, 0x85b0), + CodeunitRange(0x85ba, 0x85ba), + CodeunitRange(0x85c1, 0x85c1), + CodeunitRange(0x85c7, 0x85c7), + CodeunitRange(0x85c9, 0x85c9), + CodeunitRange(0x85cd, 0x85d0), + CodeunitRange(0x85d5, 0x85d5), + CodeunitRange(0x85dc, 0x85dd), + CodeunitRange(0x85e4, 0x85e5), + CodeunitRange(0x85e9, 0x85ea), + CodeunitRange(0x85f7, 0x85f7), + CodeunitRange(0x85f9, 0x85fb), + CodeunitRange(0x85fd, 0x85fd), + CodeunitRange(0x85ff, 0x8600), + CodeunitRange(0x8602, 0x8602), + CodeunitRange(0x8604, 0x8604), + CodeunitRange(0x8606, 0x8607), + CodeunitRange(0x860a, 0x860b), + CodeunitRange(0x8616, 0x8618), + CodeunitRange(0x861a, 0x861a), + CodeunitRange(0x861f, 0x861f), + CodeunitRange(0x8622, 0x8622), + CodeunitRange(0x8627, 0x8627), + CodeunitRange(0x8629, 0x862a), + CodeunitRange(0x862d, 0x862d), + CodeunitRange(0x862f, 0x862f), + CodeunitRange(0x863c, 0x863c), + CodeunitRange(0x863f, 0x863f), + CodeunitRange(0x8641, 0x8641), + CodeunitRange(0x864d, 0x864e), + CodeunitRange(0x8650, 0x8650), + CodeunitRange(0x8653, 0x8655), + CodeunitRange(0x865b, 0x865c), + CodeunitRange(0x865e, 0x865f), + CodeunitRange(0x8667, 0x8667), + CodeunitRange(0x866b, 0x866c), + CodeunitRange(0x866f, 0x866f), + CodeunitRange(0x8671, 0x8671), + CodeunitRange(0x8678, 0x867b), + CodeunitRange(0x868a, 0x868d), + CodeunitRange(0x8693, 0x8693), + CodeunitRange(0x8695, 0x8695), + CodeunitRange(0x86a3, 0x86a4), + CodeunitRange(0x86a8, 0x86aa), + CodeunitRange(0x86af, 0x86b1), + CodeunitRange(0x86b4, 0x86b4), + CodeunitRange(0x86c0, 0x86c0), + CodeunitRange(0x86c5, 0x86c7), + CodeunitRange(0x86c9, 0x86c9), + CodeunitRange(0x86cb, 0x86cb), + CodeunitRange(0x86d4, 0x86d4), + CodeunitRange(0x86d9, 0x86d9), + CodeunitRange(0x86db, 0x86db), + CodeunitRange(0x86de, 0x86df), + CodeunitRange(0x86e3, 0x86e4), + CodeunitRange(0x86e9, 0x86e9), + CodeunitRange(0x86ec, 0x86ed), + CodeunitRange(0x86f8, 0x86f9), + CodeunitRange(0x86fb, 0x86fb), + CodeunitRange(0x86fe, 0x86fe), + CodeunitRange(0x8700, 0x8700), + CodeunitRange(0x8702, 0x8703), + CodeunitRange(0x8706, 0x8706), + CodeunitRange(0x8708, 0x870b), + CodeunitRange(0x8711, 0x8711), + CodeunitRange(0x8718, 0x8718), + CodeunitRange(0x871a, 0x871a), + CodeunitRange(0x871c, 0x871d), + CodeunitRange(0x8721, 0x8721), + CodeunitRange(0x8725, 0x8725), + CodeunitRange(0x8728, 0x8729), + CodeunitRange(0x8734, 0x8735), + CodeunitRange(0x8737, 0x8737), + CodeunitRange(0x873a, 0x873b), + CodeunitRange(0x873f, 0x8740), + CodeunitRange(0x874c, 0x874c), + CodeunitRange(0x874e, 0x874e), + CodeunitRange(0x8755, 0x8755), + CodeunitRange(0x8757, 0x8757), + CodeunitRange(0x8759, 0x8759), + CodeunitRange(0x875f, 0x8760), + CodeunitRange(0x8764, 0x8766), + CodeunitRange(0x8768, 0x8768), + CodeunitRange(0x876e, 0x876e), + CodeunitRange(0x8774, 0x8774), + CodeunitRange(0x8776, 0x8776), + CodeunitRange(0x8778, 0x8778), + CodeunitRange(0x8782, 0x8783), + CodeunitRange(0x878c, 0x878d), + CodeunitRange(0x8798, 0x8798), + CodeunitRange(0x879e, 0x879f), + CodeunitRange(0x87a2, 0x87a3), + CodeunitRange(0x87ad, 0x87ad), + CodeunitRange(0x87b3, 0x87b4), + CodeunitRange(0x87ba, 0x87bb), + CodeunitRange(0x87bd, 0x87bd), + CodeunitRange(0x87c0, 0x87c0), + CodeunitRange(0x87c4, 0x87c4), + CodeunitRange(0x87c7, 0x87c7), + CodeunitRange(0x87ca, 0x87cb), + CodeunitRange(0x87d2, 0x87d2), + CodeunitRange(0x87da, 0x87db), + CodeunitRange(0x87e0, 0x87e0), + CodeunitRange(0x87e3, 0x87e3), + CodeunitRange(0x87ec, 0x87ec), + CodeunitRange(0x87ef, 0x87ef), + CodeunitRange(0x87f2, 0x87f2), + CodeunitRange(0x87f7, 0x87f7), + CodeunitRange(0x87f9, 0x87f9), + CodeunitRange(0x87fb, 0x87fb), + CodeunitRange(0x87fe, 0x87fe), + CodeunitRange(0x8805, 0x8805), + CodeunitRange(0x880d, 0x880d), + CodeunitRange(0x8811, 0x8811), + CodeunitRange(0x8815, 0x8815), + CodeunitRange(0x881f, 0x881f), + CodeunitRange(0x8821, 0x8823), + CodeunitRange(0x8831, 0x8832), + CodeunitRange(0x8836, 0x8836), + CodeunitRange(0x8839, 0x8839), + CodeunitRange(0x883b, 0x883b), + CodeunitRange(0x8840, 0x8840), + CodeunitRange(0x8844, 0x8844), + CodeunitRange(0x8846, 0x8846), + CodeunitRange(0x884a, 0x884a), + CodeunitRange(0x884c, 0x884e), + CodeunitRange(0x8852, 0x8853), + CodeunitRange(0x8857, 0x8857), + CodeunitRange(0x8859, 0x8859), + CodeunitRange(0x885b, 0x885b), + CodeunitRange(0x885d, 0x885e), + CodeunitRange(0x8861, 0x8864), + CodeunitRange(0x8868, 0x8868), + CodeunitRange(0x886b, 0x886b), + CodeunitRange(0x886e, 0x886e), + CodeunitRange(0x8870, 0x8870), + CodeunitRange(0x8872, 0x8872), + CodeunitRange(0x8877, 0x8877), + CodeunitRange(0x887d, 0x887f), + CodeunitRange(0x8881, 0x8882), + CodeunitRange(0x8888, 0x8888), + CodeunitRange(0x888b, 0x888b), + CodeunitRange(0x888d, 0x888d), + CodeunitRange(0x8892, 0x8892), + CodeunitRange(0x8896, 0x8897), + CodeunitRange(0x889b, 0x889b), + CodeunitRange(0x889d, 0x889e), + CodeunitRange(0x88a2, 0x88a2), + CodeunitRange(0x88aa, 0x88ab), + CodeunitRange(0x88b4, 0x88b4), + CodeunitRange(0x88c0, 0x88c2), + CodeunitRange(0x88c5, 0x88c5), + CodeunitRange(0x88ca, 0x88ca), + CodeunitRange(0x88cd, 0x88cd), + CodeunitRange(0x88cf, 0x88cf), + CodeunitRange(0x88d2, 0x88d2), + CodeunitRange(0x88d4, 0x88d5), + CodeunitRange(0x88d8, 0x88d9), + CodeunitRange(0x88dc, 0x88dd), + CodeunitRange(0x88df, 0x88df), + CodeunitRange(0x88e1, 0x88e1), + CodeunitRange(0x88e8, 0x88e8), + CodeunitRange(0x88ef, 0x88ef), + CodeunitRange(0x88f1, 0x88f1), + CodeunitRange(0x88f3, 0x88f5), + CodeunitRange(0x88f8, 0x88f9), + CodeunitRange(0x88fd, 0x88fe), + CodeunitRange(0x8904, 0x8904), + CodeunitRange(0x8907, 0x8907), + CodeunitRange(0x890a, 0x890a), + CodeunitRange(0x890c, 0x890c), + CodeunitRange(0x8910, 0x8913), + CodeunitRange(0x8915, 0x8915), + CodeunitRange(0x8918, 0x891a), + CodeunitRange(0x8925, 0x8925), + CodeunitRange(0x8927, 0x8927), + CodeunitRange(0x892a, 0x892b), + CodeunitRange(0x892f, 0x8930), + CodeunitRange(0x8936, 0x8936), + CodeunitRange(0x8938, 0x8938), + CodeunitRange(0x893a, 0x893b), + CodeunitRange(0x8941, 0x8941), + CodeunitRange(0x8944, 0x8944), + CodeunitRange(0x894d, 0x894d), + CodeunitRange(0x8952, 0x8952), + CodeunitRange(0x8956, 0x8956), + CodeunitRange(0x8958, 0x8958), + CodeunitRange(0x895c, 0x895c), + CodeunitRange(0x895e, 0x8960), + CodeunitRange(0x8964, 0x8964), + CodeunitRange(0x896a, 0x896a), + CodeunitRange(0x896d, 0x896d), + CodeunitRange(0x896f, 0x896f), + CodeunitRange(0x8972, 0x8972), + CodeunitRange(0x8974, 0x8974), + CodeunitRange(0x897e, 0x8981), + CodeunitRange(0x8983, 0x8983), + CodeunitRange(0x8986, 0x8989), + CodeunitRange(0x898b, 0x898b), + CodeunitRange(0x898f, 0x898f), + CodeunitRange(0x8993, 0x8993), + CodeunitRange(0x8996, 0x8998), + CodeunitRange(0x899a, 0x899a), + CodeunitRange(0x89a0, 0x89a1), + CodeunitRange(0x89a8, 0x89aa), + CodeunitRange(0x89ac, 0x89ac), + CodeunitRange(0x89af, 0x89af), + CodeunitRange(0x89b2, 0x89b3), + CodeunitRange(0x89b6, 0x89b7), + CodeunitRange(0x89ba, 0x89ba), + CodeunitRange(0x89bd, 0x89bd), + CodeunitRange(0x89bf, 0x89c1), + CodeunitRange(0x89d2, 0x89d2), + CodeunitRange(0x89d4, 0x89d4), + CodeunitRange(0x89d6, 0x89d7), + CodeunitRange(0x89da, 0x89da), + CodeunitRange(0x89dc, 0x89dd), + CodeunitRange(0x89e3, 0x89e3), + CodeunitRange(0x89e5, 0x89e7), + CodeunitRange(0x89f0, 0x89f1), + CodeunitRange(0x89f3, 0x89f4), + CodeunitRange(0x89f6, 0x89f6), + CodeunitRange(0x89f8, 0x89f8), + CodeunitRange(0x8a00, 0x8a00), + CodeunitRange(0x8a02, 0x8a03), + CodeunitRange(0x8a07, 0x8a0a), + CodeunitRange(0x8a0c, 0x8a0c), + CodeunitRange(0x8a0e, 0x8a0e), + CodeunitRange(0x8a10, 0x8a18), + CodeunitRange(0x8a1b, 0x8a1b), + CodeunitRange(0x8a1d, 0x8a1d), + CodeunitRange(0x8a1f, 0x8a1f), + CodeunitRange(0x8a22, 0x8a23), + CodeunitRange(0x8a25, 0x8a25), + CodeunitRange(0x8a2a, 0x8a2a), + CodeunitRange(0x8a2d, 0x8a2d), + CodeunitRange(0x8a31, 0x8a31), + CodeunitRange(0x8a33, 0x8a34), + CodeunitRange(0x8a36, 0x8a36), + CodeunitRange(0x8a3a, 0x8a3c), + CodeunitRange(0x8a3e, 0x8a3e), + CodeunitRange(0x8a41, 0x8a41), + CodeunitRange(0x8a46, 0x8a46), + CodeunitRange(0x8a4b, 0x8a4b), + CodeunitRange(0x8a50, 0x8a51), + CodeunitRange(0x8a54, 0x8a58), + CodeunitRange(0x8a5b, 0x8a5b), + CodeunitRange(0x8a5e, 0x8a5e), + CodeunitRange(0x8a60, 0x8a63), + CodeunitRange(0x8a66, 0x8a66), + CodeunitRange(0x8a69, 0x8a69), + CodeunitRange(0x8a6b, 0x8a6e), + CodeunitRange(0x8a70, 0x8a73), + CodeunitRange(0x8a75, 0x8a75), + CodeunitRange(0x8a79, 0x8a79), + CodeunitRange(0x8a7c, 0x8a7c), + CodeunitRange(0x8a7f, 0x8a7f), + CodeunitRange(0x8a82, 0x8a82), + CodeunitRange(0x8a84, 0x8a87), + CodeunitRange(0x8a8c, 0x8a8d), + CodeunitRange(0x8a91, 0x8a91), + CodeunitRange(0x8a93, 0x8a93), + CodeunitRange(0x8a95, 0x8a95), + CodeunitRange(0x8a98, 0x8a98), + CodeunitRange(0x8a9a, 0x8a9a), + CodeunitRange(0x8a9e, 0x8a9e), + CodeunitRange(0x8aa0, 0x8aa8), + CodeunitRange(0x8aaa, 0x8aaa), + CodeunitRange(0x8ab0, 0x8ab0), + CodeunitRange(0x8ab2, 0x8ab2), + CodeunitRange(0x8ab9, 0x8ab9), + CodeunitRange(0x8abc, 0x8abc), + CodeunitRange(0x8abe, 0x8abf), + CodeunitRange(0x8ac2, 0x8ac2), + CodeunitRange(0x8ac4, 0x8ac4), + CodeunitRange(0x8ac7, 0x8ac7), + CodeunitRange(0x8ac9, 0x8ac9), + CodeunitRange(0x8acb, 0x8acb), + CodeunitRange(0x8acd, 0x8acd), + CodeunitRange(0x8acf, 0x8acf), + CodeunitRange(0x8ad2, 0x8ad2), + CodeunitRange(0x8ad6, 0x8ad7), + CodeunitRange(0x8adb, 0x8ae1), + CodeunitRange(0x8ae4, 0x8ae4), + CodeunitRange(0x8ae6, 0x8ae7), + CodeunitRange(0x8aea, 0x8aeb), + CodeunitRange(0x8aed, 0x8aee), + CodeunitRange(0x8af0, 0x8af4), + CodeunitRange(0x8af6, 0x8af8), + CodeunitRange(0x8afa, 0x8afa), + CodeunitRange(0x8afc, 0x8afc), + CodeunitRange(0x8afe, 0x8afe), + CodeunitRange(0x8b00, 0x8b02), + CodeunitRange(0x8b04, 0x8b04), + CodeunitRange(0x8b07, 0x8b07), + CodeunitRange(0x8b0c, 0x8b0c), + CodeunitRange(0x8b0e, 0x8b0e), + CodeunitRange(0x8b10, 0x8b11), + CodeunitRange(0x8b14, 0x8b14), + CodeunitRange(0x8b16, 0x8b17), + CodeunitRange(0x8b19, 0x8b1d), + CodeunitRange(0x8b20, 0x8b20), + CodeunitRange(0x8b23, 0x8b23), + CodeunitRange(0x8b26, 0x8b26), + CodeunitRange(0x8b28, 0x8b28), + CodeunitRange(0x8b2b, 0x8b2c), + CodeunitRange(0x8b33, 0x8b33), + CodeunitRange(0x8b37, 0x8b37), + CodeunitRange(0x8b39, 0x8b39), + CodeunitRange(0x8b3c, 0x8b3c), + CodeunitRange(0x8b3e, 0x8b3e), + CodeunitRange(0x8b41, 0x8b41), + CodeunitRange(0x8b43, 0x8b43), + CodeunitRange(0x8b46, 0x8b46), + CodeunitRange(0x8b49, 0x8b49), + CodeunitRange(0x8b4c, 0x8b4c), + CodeunitRange(0x8b4e, 0x8b4f), + CodeunitRange(0x8b53, 0x8b54), + CodeunitRange(0x8b56, 0x8b56), + CodeunitRange(0x8b58, 0x8b5a), + CodeunitRange(0x8b5c, 0x8b5c), + CodeunitRange(0x8b5e, 0x8b5f), + CodeunitRange(0x8b66, 0x8b66), + CodeunitRange(0x8b6b, 0x8b6c), + CodeunitRange(0x8b6f, 0x8b71), + CodeunitRange(0x8b74, 0x8b74), + CodeunitRange(0x8b77, 0x8b77), + CodeunitRange(0x8b7d, 0x8b7d), + CodeunitRange(0x8b7f, 0x8b80), + CodeunitRange(0x8b83, 0x8b83), + CodeunitRange(0x8b89, 0x8b8a), + CodeunitRange(0x8b8c, 0x8b8c), + CodeunitRange(0x8b8e, 0x8b8e), + CodeunitRange(0x8b90, 0x8b90), + CodeunitRange(0x8b92, 0x8b93), + CodeunitRange(0x8b96, 0x8b96), + CodeunitRange(0x8b9a, 0x8b9a), + CodeunitRange(0x8b9c, 0x8b9c), + CodeunitRange(0x8b9e, 0x8b9e), + CodeunitRange(0x8ba0, 0x8ba0), + CodeunitRange(0x8c37, 0x8c37), + CodeunitRange(0x8c3f, 0x8c3f), + CodeunitRange(0x8c41, 0x8c41), + CodeunitRange(0x8c46, 0x8c4a), + CodeunitRange(0x8c4c, 0x8c4c), + CodeunitRange(0x8c4e, 0x8c4e), + CodeunitRange(0x8c50, 0x8c50), + CodeunitRange(0x8c55, 0x8c56), + CodeunitRange(0x8c5a, 0x8c5a), + CodeunitRange(0x8c61, 0x8c62), + CodeunitRange(0x8c68, 0x8c68), + CodeunitRange(0x8c6a, 0x8c6c), + CodeunitRange(0x8c73, 0x8c73), + CodeunitRange(0x8c78, 0x8c7a), + CodeunitRange(0x8c82, 0x8c83), + CodeunitRange(0x8c8a, 0x8c8a), + CodeunitRange(0x8c8c, 0x8c8d), + CodeunitRange(0x8c93, 0x8c94), + CodeunitRange(0x8c98, 0x8c98), + CodeunitRange(0x8c9d, 0x8ca2), + CodeunitRange(0x8ca7, 0x8cac), + CodeunitRange(0x8caf, 0x8cb0), + CodeunitRange(0x8cb2, 0x8cb4), + CodeunitRange(0x8cb6, 0x8cbd), + CodeunitRange(0x8cbf, 0x8cc4), + CodeunitRange(0x8cc6, 0x8cc8), + CodeunitRange(0x8cca, 0x8cca), + CodeunitRange(0x8cd1, 0x8cd1), + CodeunitRange(0x8cd3, 0x8cd3), + CodeunitRange(0x8cd9, 0x8cdc), + CodeunitRange(0x8cde, 0x8cde), + CodeunitRange(0x8ce0, 0x8ce6), + CodeunitRange(0x8cea, 0x8cea), + CodeunitRange(0x8cec, 0x8ced), + CodeunitRange(0x8cf0, 0x8cf1), + CodeunitRange(0x8cf3, 0x8cf4), + CodeunitRange(0x8cfb, 0x8cfd), + CodeunitRange(0x8d04, 0x8d05), + CodeunitRange(0x8d07, 0x8d08), + CodeunitRange(0x8d0a, 0x8d0b), + CodeunitRange(0x8d0d, 0x8d0d), + CodeunitRange(0x8d0f, 0x8d10), + CodeunitRange(0x8d13, 0x8d14), + CodeunitRange(0x8d16, 0x8d16), + CodeunitRange(0x8d1b, 0x8d1b), + CodeunitRange(0x8d1d, 0x8d1d), + CodeunitRange(0x8d64, 0x8d64), + CodeunitRange(0x8d66, 0x8d67), + CodeunitRange(0x8d6b, 0x8d6b), + CodeunitRange(0x8d6d, 0x8d6e), + CodeunitRange(0x8d70, 0x8d70), + CodeunitRange(0x8d73, 0x8d74), + CodeunitRange(0x8d76, 0x8d77), + CodeunitRange(0x8d81, 0x8d81), + CodeunitRange(0x8d85, 0x8d85), + CodeunitRange(0x8d8a, 0x8d8a), + CodeunitRange(0x8d8e, 0x8d8e), + CodeunitRange(0x8d90, 0x8d90), + CodeunitRange(0x8d99, 0x8d99), + CodeunitRange(0x8da0, 0x8da0), + CodeunitRange(0x8da3, 0x8da3), + CodeunitRange(0x8da8, 0x8da8), + CodeunitRange(0x8dab, 0x8dab), + CodeunitRange(0x8db2, 0x8db3), + CodeunitRange(0x8dba, 0x8dba), + CodeunitRange(0x8dbe, 0x8dbe), + CodeunitRange(0x8dc2, 0x8dc2), + CodeunitRange(0x8dc6, 0x8dc6), + CodeunitRange(0x8dcb, 0x8dcc), + CodeunitRange(0x8dce, 0x8dcf), + CodeunitRange(0x8dd5, 0x8dd7), + CodeunitRange(0x8ddb, 0x8ddb), + CodeunitRange(0x8ddd, 0x8ddd), + CodeunitRange(0x8ddf, 0x8ddf), + CodeunitRange(0x8de1, 0x8de1), + CodeunitRange(0x8de3, 0x8de3), + CodeunitRange(0x8de8, 0x8de8), + CodeunitRange(0x8dea, 0x8ded), + CodeunitRange(0x8def, 0x8def), + CodeunitRange(0x8df1, 0x8df1), + CodeunitRange(0x8df3, 0x8df3), + CodeunitRange(0x8dfc, 0x8dfc), + CodeunitRange(0x8e06, 0x8e06), + CodeunitRange(0x8e08, 0x8e0a), + CodeunitRange(0x8e0f, 0x8e10), + CodeunitRange(0x8e14, 0x8e14), + CodeunitRange(0x8e1d, 0x8e1f), + CodeunitRange(0x8e2a, 0x8e2a), + CodeunitRange(0x8e30, 0x8e30), + CodeunitRange(0x8e34, 0x8e36), + CodeunitRange(0x8e3a, 0x8e3a), + CodeunitRange(0x8e3d, 0x8e3d), + CodeunitRange(0x8e40, 0x8e40), + CodeunitRange(0x8e42, 0x8e42), + CodeunitRange(0x8e44, 0x8e44), + CodeunitRange(0x8e47, 0x8e4a), + CodeunitRange(0x8e4c, 0x8e4c), + CodeunitRange(0x8e4f, 0x8e4f), + CodeunitRange(0x8e55, 0x8e55), + CodeunitRange(0x8e59, 0x8e59), + CodeunitRange(0x8e5c, 0x8e5c), + CodeunitRange(0x8e5f, 0x8e60), + CodeunitRange(0x8e63, 0x8e64), + CodeunitRange(0x8e72, 0x8e72), + CodeunitRange(0x8e74, 0x8e74), + CodeunitRange(0x8e76, 0x8e76), + CodeunitRange(0x8e7b, 0x8e7b), + CodeunitRange(0x8e81, 0x8e81), + CodeunitRange(0x8e85, 0x8e85), + CodeunitRange(0x8e87, 0x8e87), + CodeunitRange(0x8e89, 0x8e8b), + CodeunitRange(0x8e8d, 0x8e8d), + CodeunitRange(0x8e90, 0x8e91), + CodeunitRange(0x8e93, 0x8e94), + CodeunitRange(0x8e99, 0x8e99), + CodeunitRange(0x8e9e, 0x8e9e), + CodeunitRange(0x8ea1, 0x8ea1), + CodeunitRange(0x8ea9, 0x8eac), + CodeunitRange(0x8eb1, 0x8eb1), + CodeunitRange(0x8eb3, 0x8eb3), + CodeunitRange(0x8ebe, 0x8ebe), + CodeunitRange(0x8ec0, 0x8ec0), + CodeunitRange(0x8ec6, 0x8ec6), + CodeunitRange(0x8eca, 0x8ecd), + CodeunitRange(0x8ed2, 0x8ed2), + CodeunitRange(0x8ede, 0x8edf), + CodeunitRange(0x8ee2, 0x8ee2), + CodeunitRange(0x8ee8, 0x8ee8), + CodeunitRange(0x8eeb, 0x8eeb), + CodeunitRange(0x8ef8, 0x8efc), + CodeunitRange(0x8efe, 0x8efe), + CodeunitRange(0x8f03, 0x8f03), + CodeunitRange(0x8f05, 0x8f05), + CodeunitRange(0x8f07, 0x8f09), + CodeunitRange(0x8f12, 0x8f15), + CodeunitRange(0x8f1b, 0x8f1f), + CodeunitRange(0x8f26, 0x8f2a), + CodeunitRange(0x8f2d, 0x8f2d), + CodeunitRange(0x8f2f, 0x8f30), + CodeunitRange(0x8f33, 0x8f33), + CodeunitRange(0x8f38, 0x8f39), + CodeunitRange(0x8f3b, 0x8f3b), + CodeunitRange(0x8f3e, 0x8f40), + CodeunitRange(0x8f42, 0x8f42), + CodeunitRange(0x8f44, 0x8f46), + CodeunitRange(0x8f49, 0x8f49), + CodeunitRange(0x8f4d, 0x8f4e), + CodeunitRange(0x8f52, 0x8f52), + CodeunitRange(0x8f54, 0x8f54), + CodeunitRange(0x8f57, 0x8f58), + CodeunitRange(0x8f5d, 0x8f5f), + CodeunitRange(0x8f61, 0x8f64), + CodeunitRange(0x8f66, 0x8f66), + CodeunitRange(0x8f9b, 0x8f9c), + CodeunitRange(0x8f9f, 0x8f9f), + CodeunitRange(0x8fa2, 0x8fa3), + CodeunitRange(0x8fa6, 0x8fa6), + CodeunitRange(0x8fa8, 0x8fa8), + CodeunitRange(0x8fad, 0x8fb2), + CodeunitRange(0x8fb5, 0x8fb6), + CodeunitRange(0x8fbb, 0x8fbb), + CodeunitRange(0x8fbf, 0x8fc0), + CodeunitRange(0x8fc2, 0x8fc5), + CodeunitRange(0x8fcd, 0x8fce), + CodeunitRange(0x8fd0, 0x8fd1), + CodeunitRange(0x8fd3, 0x8fd5), + CodeunitRange(0x8fe2, 0x8fe2), + CodeunitRange(0x8fe4, 0x8fe6), + CodeunitRange(0x8fe8, 0x8fe8), + CodeunitRange(0x8fea, 0x8fed), + CodeunitRange(0x8ff0, 0x8ff0), + CodeunitRange(0x8ff2, 0x8ff2), + CodeunitRange(0x8ff4, 0x8ff4), + CodeunitRange(0x8ff7, 0x8ffa), + CodeunitRange(0x8ffc, 0x8ffd), + CodeunitRange(0x8fff, 0x9003), + CodeunitRange(0x9005, 0x9006), + CodeunitRange(0x9008, 0x9008), + CodeunitRange(0x900b, 0x9011), + CodeunitRange(0x9014, 0x9017), + CodeunitRange(0x9019, 0x901a), + CodeunitRange(0x901d, 0x9023), + CodeunitRange(0x902e, 0x902e), + CodeunitRange(0x9031, 0x9032), + CodeunitRange(0x9034, 0x9036), + CodeunitRange(0x9038, 0x9038), + CodeunitRange(0x903c, 0x903c), + CodeunitRange(0x903e, 0x903e), + CodeunitRange(0x9041, 0x9042), + CodeunitRange(0x9047, 0x9047), + CodeunitRange(0x9049, 0x904b), + CodeunitRange(0x904d, 0x9055), + CodeunitRange(0x9058, 0x9059), + CodeunitRange(0x905b, 0x905e), + CodeunitRange(0x9060, 0x9061), + CodeunitRange(0x9063, 0x9063), + CodeunitRange(0x9068, 0x9069), + CodeunitRange(0x906c, 0x906f), + CodeunitRange(0x9072, 0x9072), + CodeunitRange(0x9075, 0x9078), + CodeunitRange(0x907a, 0x907a), + CodeunitRange(0x907c, 0x9085), + CodeunitRange(0x9087, 0x9088), + CodeunitRange(0x908a, 0x908a), + CodeunitRange(0x908c, 0x908d), + CodeunitRange(0x908f, 0x9091), + CodeunitRange(0x9095, 0x9095), + CodeunitRange(0x9097, 0x9099), + CodeunitRange(0x90a0, 0x90a0), + CodeunitRange(0x90a2, 0x90a3), + CodeunitRange(0x90a6, 0x90a6), + CodeunitRange(0x90a8, 0x90a8), + CodeunitRange(0x90aa, 0x90aa), + CodeunitRange(0x90af, 0x90b1), + CodeunitRange(0x90b3, 0x90b3), + CodeunitRange(0x90b5, 0x90b5), + CodeunitRange(0x90b8, 0x90b8), + CodeunitRange(0x90bd, 0x90be), + CodeunitRange(0x90c1, 0x90c1), + CodeunitRange(0x90c3, 0x90c5), + CodeunitRange(0x90ca, 0x90ca), + CodeunitRange(0x90ce, 0x90ce), + CodeunitRange(0x90dc, 0x90de), + CodeunitRange(0x90e1, 0x90e2), + CodeunitRange(0x90e8, 0x90e8), + CodeunitRange(0x90ea, 0x90eb), + CodeunitRange(0x90ed, 0x90ed), + CodeunitRange(0x90ef, 0x90ef), + CodeunitRange(0x90f3, 0x90f5), + CodeunitRange(0x90fd, 0x90fd), + CodeunitRange(0x9102, 0x9102), + CodeunitRange(0x9112, 0x9112), + CodeunitRange(0x9115, 0x9117), + CodeunitRange(0x9119, 0x9119), + CodeunitRange(0x911e, 0x911e), + CodeunitRange(0x9122, 0x9123), + CodeunitRange(0x9127, 0x9127), + CodeunitRange(0x912d, 0x912d), + CodeunitRange(0x9130, 0x9132), + CodeunitRange(0x9134, 0x9134), + CodeunitRange(0x913d, 0x913d), + CodeunitRange(0x9148, 0x914e), + CodeunitRange(0x9152, 0x9152), + CodeunitRange(0x9156, 0x9157), + CodeunitRange(0x9162, 0x9165), + CodeunitRange(0x9169, 0x916a), + CodeunitRange(0x916c, 0x916c), + CodeunitRange(0x9172, 0x9172), + CodeunitRange(0x9174, 0x9179), + CodeunitRange(0x9183, 0x9183), + CodeunitRange(0x9187, 0x9187), + CodeunitRange(0x9189, 0x9189), + CodeunitRange(0x918b, 0x918b), + CodeunitRange(0x918d, 0x918d), + CodeunitRange(0x9190, 0x9190), + CodeunitRange(0x9192, 0x9192), + CodeunitRange(0x919c, 0x919c), + CodeunitRange(0x919e, 0x919e), + CodeunitRange(0x91a2, 0x91a2), + CodeunitRange(0x91aa, 0x91ac), + CodeunitRange(0x91ae, 0x91af), + CodeunitRange(0x91b1, 0x91b2), + CodeunitRange(0x91b4, 0x91b5), + CodeunitRange(0x91bc, 0x91bc), + CodeunitRange(0x91c0, 0x91c1), + CodeunitRange(0x91c3, 0x91c3), + CodeunitRange(0x91c5, 0x91c7), + CodeunitRange(0x91c9, 0x91c9), + CodeunitRange(0x91cb, 0x91d1), + CodeunitRange(0x91d7, 0x91d8), + CodeunitRange(0x91dc, 0x91dd), + CodeunitRange(0x91e3, 0x91e7), + CodeunitRange(0x91e9, 0x91ea), + CodeunitRange(0x91ed, 0x91ed), + CodeunitRange(0x91f5, 0x91f5), + CodeunitRange(0x91ff, 0x91ff), + CodeunitRange(0x9207, 0x9207), + CodeunitRange(0x920d, 0x920d), + CodeunitRange(0x9210, 0x9212), + CodeunitRange(0x9214, 0x9215), + CodeunitRange(0x9217, 0x9217), + CodeunitRange(0x921c, 0x921c), + CodeunitRange(0x921e, 0x921f), + CodeunitRange(0x9226, 0x9226), + CodeunitRange(0x9231, 0x9231), + CodeunitRange(0x9234, 0x9235), + CodeunitRange(0x9237, 0x9238), + CodeunitRange(0x923a, 0x923a), + CodeunitRange(0x923f, 0x9241), + CodeunitRange(0x9244, 0x9245), + CodeunitRange(0x9249, 0x9249), + CodeunitRange(0x924b, 0x924b), + CodeunitRange(0x924d, 0x9252), + CodeunitRange(0x9257, 0x9257), + CodeunitRange(0x925b, 0x925b), + CodeunitRange(0x925e, 0x925e), + CodeunitRange(0x9262, 0x9262), + CodeunitRange(0x9264, 0x9266), + CodeunitRange(0x9277, 0x9278), + CodeunitRange(0x927c, 0x927c), + CodeunitRange(0x927e, 0x927e), + CodeunitRange(0x9280, 0x9280), + CodeunitRange(0x9283, 0x9283), + CodeunitRange(0x9285, 0x9285), + CodeunitRange(0x928b, 0x928b), + CodeunitRange(0x9291, 0x9291), + CodeunitRange(0x9293, 0x9293), + CodeunitRange(0x9295, 0x9296), + CodeunitRange(0x9298, 0x929c), + CodeunitRange(0x92b3, 0x92b4), + CodeunitRange(0x92b6, 0x92b7), + CodeunitRange(0x92b9, 0x92b9), + CodeunitRange(0x92c6, 0x92c6), + CodeunitRange(0x92cc, 0x92cc), + CodeunitRange(0x92cf, 0x92cf), + CodeunitRange(0x92d1, 0x92d2), + CodeunitRange(0x92d5, 0x92d5), + CodeunitRange(0x92d7, 0x92d7), + CodeunitRange(0x92df, 0x92df), + CodeunitRange(0x92e4, 0x92e5), + CodeunitRange(0x92ea, 0x92ea), + CodeunitRange(0x92f2, 0x92f2), + CodeunitRange(0x92f8, 0x92fa), + CodeunitRange(0x92fc, 0x92fe), + CodeunitRange(0x9300, 0x9300), + CodeunitRange(0x9304, 0x9304), + CodeunitRange(0x9306, 0x9306), + CodeunitRange(0x930f, 0x9310), + CodeunitRange(0x9315, 0x9315), + CodeunitRange(0x9318, 0x931a), + CodeunitRange(0x931e, 0x9324), + CodeunitRange(0x9326, 0x9328), + CodeunitRange(0x932a, 0x932c), + CodeunitRange(0x932e, 0x932f), + CodeunitRange(0x9348, 0x934b), + CodeunitRange(0x934d, 0x934d), + CodeunitRange(0x9351, 0x9351), + CodeunitRange(0x9354, 0x9354), + CodeunitRange(0x9357, 0x9357), + CodeunitRange(0x935b, 0x935d), + CodeunitRange(0x9364, 0x9365), + CodeunitRange(0x936b, 0x936c), + CodeunitRange(0x936e, 0x936e), + CodeunitRange(0x9370, 0x9370), + CodeunitRange(0x9372, 0x9372), + CodeunitRange(0x9375, 0x9375), + CodeunitRange(0x937c, 0x937c), + CodeunitRange(0x937e, 0x937e), + CodeunitRange(0x938a, 0x938a), + CodeunitRange(0x938c, 0x938c), + CodeunitRange(0x9394, 0x9394), + CodeunitRange(0x9396, 0x9397), + CodeunitRange(0x939a, 0x939b), + CodeunitRange(0x939f, 0x93a1), + CodeunitRange(0x93a3, 0x93a4), + CodeunitRange(0x93a7, 0x93a7), + CodeunitRange(0x93ac, 0x93ad), + CodeunitRange(0x93b0, 0x93b0), + CodeunitRange(0x93bb, 0x93bb), + CodeunitRange(0x93c3, 0x93c3), + CodeunitRange(0x93c7, 0x93c8), + CodeunitRange(0x93ca, 0x93cc), + CodeunitRange(0x93d1, 0x93d1), + CodeunitRange(0x93d6, 0x93d8), + CodeunitRange(0x93dc, 0x93df), + CodeunitRange(0x93e1, 0x93e2), + CodeunitRange(0x93e4, 0x93e4), + CodeunitRange(0x93e6, 0x93e6), + CodeunitRange(0x93e8, 0x93e8), + CodeunitRange(0x93f6, 0x93f6), + CodeunitRange(0x93f8, 0x93f9), + CodeunitRange(0x93fb, 0x93fb), + CodeunitRange(0x9403, 0x9404), + CodeunitRange(0x940f, 0x9410), + CodeunitRange(0x9413, 0x9414), + CodeunitRange(0x9418, 0x9419), + CodeunitRange(0x9425, 0x9425), + CodeunitRange(0x942a, 0x942b), + CodeunitRange(0x9435, 0x9436), + CodeunitRange(0x9438, 0x9438), + CodeunitRange(0x943a, 0x943a), + CodeunitRange(0x9442, 0x9442), + CodeunitRange(0x9444, 0x9444), + CodeunitRange(0x944a, 0x944a), + CodeunitRange(0x944c, 0x944c), + CodeunitRange(0x9451, 0x9452), + CodeunitRange(0x9455, 0x9455), + CodeunitRange(0x945b, 0x945b), + CodeunitRange(0x945e, 0x945e), + CodeunitRange(0x9460, 0x9460), + CodeunitRange(0x9462, 0x9463), + CodeunitRange(0x946a, 0x946b), + CodeunitRange(0x9470, 0x9472), + CodeunitRange(0x9475, 0x9475), + CodeunitRange(0x9477, 0x9477), + CodeunitRange(0x947c, 0x947f), + CodeunitRange(0x9485, 0x9485), + CodeunitRange(0x9577, 0x9578), + CodeunitRange(0x957f, 0x9580), + CodeunitRange(0x9583, 0x9583), + CodeunitRange(0x9588, 0x958b), + CodeunitRange(0x958e, 0x958f), + CodeunitRange(0x9591, 0x9594), + CodeunitRange(0x9598, 0x9598), + CodeunitRange(0x959c, 0x959c), + CodeunitRange(0x959f, 0x95a0), + CodeunitRange(0x95a2, 0x95a5), + CodeunitRange(0x95a8, 0x95a9), + CodeunitRange(0x95ab, 0x95ad), + CodeunitRange(0x95b1, 0x95b1), + CodeunitRange(0x95b6, 0x95b6), + CodeunitRange(0x95b9, 0x95b9), + CodeunitRange(0x95bb, 0x95be), + CodeunitRange(0x95c3, 0x95c3), + CodeunitRange(0x95c7, 0x95c8), + CodeunitRange(0x95ca, 0x95cd), + CodeunitRange(0x95d3, 0x95d6), + CodeunitRange(0x95da, 0x95da), + CodeunitRange(0x95dc, 0x95dc), + CodeunitRange(0x95de, 0x95de), + CodeunitRange(0x95e0, 0x95e2), + CodeunitRange(0x95e5, 0x95e5), + CodeunitRange(0x95e8, 0x95e8), + CodeunitRange(0x961c, 0x961d), + CodeunitRange(0x9621, 0x9621), + CodeunitRange(0x9624, 0x9624), + CodeunitRange(0x9627, 0x962a), + CodeunitRange(0x962d, 0x962f), + CodeunitRange(0x9632, 0x9632), + CodeunitRange(0x963b, 0x963b), + CodeunitRange(0x963f, 0x9640), + CodeunitRange(0x9642, 0x9642), + CodeunitRange(0x9644, 0x9644), + CodeunitRange(0x964b, 0x964d), + CodeunitRange(0x9650, 0x9650), + CodeunitRange(0x9654, 0x9654), + CodeunitRange(0x9656, 0x9656), + CodeunitRange(0x9658, 0x9658), + CodeunitRange(0x965b, 0x965f), + CodeunitRange(0x9661, 0x9664), + CodeunitRange(0x966a, 0x966a), + CodeunitRange(0x966c, 0x966c), + CodeunitRange(0x9670, 0x9670), + CodeunitRange(0x9672, 0x9679), + CodeunitRange(0x967c, 0x967d), + CodeunitRange(0x9684, 0x9686), + CodeunitRange(0x968a, 0x968b), + CodeunitRange(0x968d, 0x968f), + CodeunitRange(0x9691, 0x9691), + CodeunitRange(0x9694, 0x9695), + CodeunitRange(0x9697, 0x9698), + CodeunitRange(0x969b, 0x969c), + CodeunitRange(0x96a3, 0x96a4), + CodeunitRange(0x96a7, 0x96aa), + CodeunitRange(0x96b0, 0x96b1), + CodeunitRange(0x96b3, 0x96b4), + CodeunitRange(0x96b6, 0x96b9), + CodeunitRange(0x96bb, 0x96bc), + CodeunitRange(0x96c0, 0x96c1), + CodeunitRange(0x96c4, 0x96c7), + CodeunitRange(0x96c9, 0x96c9), + CodeunitRange(0x96cb, 0x96ce), + CodeunitRange(0x96d5, 0x96d6), + CodeunitRange(0x96d9, 0x96de), + CodeunitRange(0x96e2, 0x96e3), + CodeunitRange(0x96e8, 0x96ea), + CodeunitRange(0x96ef, 0x96f0), + CodeunitRange(0x96f2, 0x96f2), + CodeunitRange(0x96f6, 0x96f7), + CodeunitRange(0x96f9, 0x96fb), + CodeunitRange(0x9700, 0x9700), + CodeunitRange(0x9704, 0x9709), + CodeunitRange(0x970c, 0x970f), + CodeunitRange(0x9711, 0x9711), + CodeunitRange(0x9713, 0x9714), + CodeunitRange(0x9716, 0x9716), + CodeunitRange(0x9719, 0x9719), + CodeunitRange(0x971c, 0x971c), + CodeunitRange(0x971e, 0x971e), + CodeunitRange(0x9723, 0x9723), + CodeunitRange(0x9726, 0x9727), + CodeunitRange(0x972a, 0x972a), + CodeunitRange(0x9730, 0x9730), + CodeunitRange(0x9732, 0x9732), + CodeunitRange(0x9738, 0x9739), + CodeunitRange(0x973d, 0x973d), + CodeunitRange(0x9742, 0x9742), + CodeunitRange(0x9744, 0x9744), + CodeunitRange(0x9746, 0x9746), + CodeunitRange(0x9748, 0x9749), + CodeunitRange(0x974c, 0x974c), + CodeunitRange(0x9751, 0x9752), + CodeunitRange(0x9755, 0x9756), + CodeunitRange(0x9758, 0x975e), + CodeunitRange(0x9760, 0x9762), + CodeunitRange(0x9766, 0x9766), + CodeunitRange(0x9768, 0x9769), + CodeunitRange(0x976d, 0x976d), + CodeunitRange(0x9773, 0x9775), + CodeunitRange(0x9777, 0x9777), + CodeunitRange(0x977a, 0x977a), + CodeunitRange(0x977c, 0x977c), + CodeunitRange(0x9780, 0x9781), + CodeunitRange(0x9784, 0x9785), + CodeunitRange(0x978b, 0x978b), + CodeunitRange(0x978d, 0x978d), + CodeunitRange(0x978f, 0x978f), + CodeunitRange(0x9798, 0x9798), + CodeunitRange(0x97a0, 0x97a0), + CodeunitRange(0x97a3, 0x97a3), + CodeunitRange(0x97a6, 0x97a6), + CodeunitRange(0x97a8, 0x97a8), + CodeunitRange(0x97ab, 0x97ad), + CodeunitRange(0x97b1, 0x97b1), + CodeunitRange(0x97b4, 0x97b4), + CodeunitRange(0x97b8, 0x97b9), + CodeunitRange(0x97c1, 0x97c1), + CodeunitRange(0x97c3, 0x97c3), + CodeunitRange(0x97c6, 0x97c6), + CodeunitRange(0x97cb, 0x97cd), + CodeunitRange(0x97d0, 0x97d0), + CodeunitRange(0x97d3, 0x97d3), + CodeunitRange(0x97d9, 0x97d9), + CodeunitRange(0x97dc, 0x97de), + CodeunitRange(0x97e0, 0x97e1), + CodeunitRange(0x97e6, 0x97e6), + CodeunitRange(0x97ed, 0x97ee), + CodeunitRange(0x97f1, 0x97f3), + CodeunitRange(0x97f5, 0x97f6), + CodeunitRange(0x97fa, 0x97fb), + CodeunitRange(0x97fe, 0x9803), + CodeunitRange(0x9805, 0x9806), + CodeunitRange(0x9808, 0x9808), + CodeunitRange(0x980a, 0x980a), + CodeunitRange(0x980c, 0x9813), + CodeunitRange(0x9816, 0x9818), + CodeunitRange(0x981e, 0x981e), + CodeunitRange(0x9821, 0x9821), + CodeunitRange(0x9823, 0x9824), + CodeunitRange(0x9826, 0x9826), + CodeunitRange(0x982b, 0x982b), + CodeunitRange(0x982d, 0x982e), + CodeunitRange(0x9830, 0x9830), + CodeunitRange(0x9832, 0x9832), + CodeunitRange(0x9837, 0x9839), + CodeunitRange(0x983b, 0x983c), + CodeunitRange(0x983f, 0x983f), + CodeunitRange(0x9842, 0x9842), + CodeunitRange(0x9846, 0x9848), + CodeunitRange(0x984b, 0x984e), + CodeunitRange(0x9852, 0x9855), + CodeunitRange(0x9858, 0x985a), + CodeunitRange(0x985c, 0x985c), + CodeunitRange(0x985e, 0x985e), + CodeunitRange(0x9865, 0x9867), + CodeunitRange(0x986b, 0x986b), + CodeunitRange(0x986f, 0x9871), + CodeunitRange(0x9873, 0x9875), + CodeunitRange(0x98a8, 0x98a8), + CodeunitRange(0x98ad, 0x98ad), + CodeunitRange(0x98af, 0x98af), + CodeunitRange(0x98b1, 0x98b2), + CodeunitRange(0x98b6, 0x98b6), + CodeunitRange(0x98ba, 0x98ba), + CodeunitRange(0x98bc, 0x98bc), + CodeunitRange(0x98bf, 0x98bf), + CodeunitRange(0x98c2, 0x98c2), + CodeunitRange(0x98c4, 0x98c4), + CodeunitRange(0x98c6, 0x98c7), + CodeunitRange(0x98c9, 0x98c9), + CodeunitRange(0x98cb, 0x98cb), + CodeunitRange(0x98ce, 0x98ce), + CodeunitRange(0x98db, 0x98dc), + CodeunitRange(0x98de, 0x98e2), + CodeunitRange(0x98e6, 0x98e7), + CodeunitRange(0x98ea, 0x98eb), + CodeunitRange(0x98ed, 0x98ef), + CodeunitRange(0x98f1, 0x98f1), + CodeunitRange(0x98f4, 0x98f4), + CodeunitRange(0x98fb, 0x98fe), + CodeunitRange(0x9903, 0x9903), + CodeunitRange(0x9909, 0x990a), + CodeunitRange(0x990c, 0x990c), + CodeunitRange(0x9910, 0x9910), + CodeunitRange(0x9912, 0x9915), + CodeunitRange(0x9918, 0x9918), + CodeunitRange(0x991a, 0x991a), + CodeunitRange(0x991e, 0x991e), + CodeunitRange(0x9920, 0x9920), + CodeunitRange(0x9926, 0x9928), + CodeunitRange(0x992a, 0x992a), + CodeunitRange(0x992c, 0x992c), + CodeunitRange(0x992e, 0x992e), + CodeunitRange(0x9930, 0x9931), + CodeunitRange(0x9933, 0x9933), + CodeunitRange(0x9939, 0x9939), + CodeunitRange(0x993c, 0x993d), + CodeunitRange(0x9942, 0x9942), + CodeunitRange(0x9945, 0x9945), + CodeunitRange(0x9948, 0x9949), + CodeunitRange(0x994b, 0x994d), + CodeunitRange(0x9950, 0x9952), + CodeunitRange(0x9954, 0x9955), + CodeunitRange(0x9957, 0x9957), + CodeunitRange(0x995c, 0x995c), + CodeunitRange(0x995e, 0x995e), + CodeunitRange(0x9963, 0x9963), + CodeunitRange(0x9996, 0x9999), + CodeunitRange(0x999c, 0x999d), + CodeunitRange(0x999f, 0x999f), + CodeunitRange(0x99a1, 0x99a1), + CodeunitRange(0x99a3, 0x99a3), + CodeunitRange(0x99a5, 0x99a5), + CodeunitRange(0x99a7, 0x99a8), + CodeunitRange(0x99aa, 0x99aa), + CodeunitRange(0x99ac, 0x99ae), + CodeunitRange(0x99b0, 0x99b1), + CodeunitRange(0x99b3, 0x99b4), + CodeunitRange(0x99b6, 0x99b6), + CodeunitRange(0x99b9, 0x99b9), + CodeunitRange(0x99c1, 0x99c1), + CodeunitRange(0x99c4, 0x99c5), + CodeunitRange(0x99c8, 0x99c9), + CodeunitRange(0x99cf, 0x99d2), + CodeunitRange(0x99d5, 0x99d5), + CodeunitRange(0x99d8, 0x99d9), + CodeunitRange(0x99db, 0x99df), + CodeunitRange(0x99e2, 0x99e2), + CodeunitRange(0x99e8, 0x99e8), + CodeunitRange(0x99ea, 0x99ea), + CodeunitRange(0x99ed, 0x99ee), + CodeunitRange(0x99f1, 0x99f1), + CodeunitRange(0x99f8, 0x99f8), + CodeunitRange(0x99fa, 0x99fb), + CodeunitRange(0x99fd, 0x99fd), + CodeunitRange(0x99ff, 0x99ff), + CodeunitRange(0x9a01, 0x9a05), + CodeunitRange(0x9a08, 0x9a08), + CodeunitRange(0x9a0b, 0x9a0b), + CodeunitRange(0x9a0d, 0x9a0f), + CodeunitRange(0x9a11, 0x9a11), + CodeunitRange(0x9a16, 0x9a16), + CodeunitRange(0x9a18, 0x9a19), + CodeunitRange(0x9a1b, 0x9a1b), + CodeunitRange(0x9a2b, 0x9a2b), + CodeunitRange(0x9a2d, 0x9a2d), + CodeunitRange(0x9a30, 0x9a30), + CodeunitRange(0x9a35, 0x9a38), + CodeunitRange(0x9a3e, 0x9a3e), + CodeunitRange(0x9a40, 0x9a45), + CodeunitRange(0x9a4a, 0x9a4a), + CodeunitRange(0x9a4c, 0x9a4f), + CodeunitRange(0x9a52, 0x9a52), + CodeunitRange(0x9a55, 0x9a55), + CodeunitRange(0x9a57, 0x9a58), + CodeunitRange(0x9a5a, 0x9a5b), + CodeunitRange(0x9a5f, 0x9a5f), + CodeunitRange(0x9a62, 0x9a62), + CodeunitRange(0x9a64, 0x9a65), + CodeunitRange(0x9a69, 0x9a6a), + CodeunitRange(0x9a6c, 0x9a6c), + CodeunitRange(0x9aa8, 0x9aa8), + CodeunitRange(0x9aaa, 0x9aaa), + CodeunitRange(0x9ab0, 0x9ab0), + CodeunitRange(0x9ab8, 0x9ab9), + CodeunitRange(0x9abc, 0x9abc), + CodeunitRange(0x9abf, 0x9ac0), + CodeunitRange(0x9ac6, 0x9ac6), + CodeunitRange(0x9acf, 0x9acf), + CodeunitRange(0x9ad1, 0x9ad1), + CodeunitRange(0x9ad3, 0x9ad4), + CodeunitRange(0x9ad6, 0x9ad8), + CodeunitRange(0x9adf, 0x9adf), + CodeunitRange(0x9ae1, 0x9ae1), + CodeunitRange(0x9ae3, 0x9ae3), + CodeunitRange(0x9ae5, 0x9ae6), + CodeunitRange(0x9aeb, 0x9aeb), + CodeunitRange(0x9aed, 0x9aee), + CodeunitRange(0x9af0, 0x9af0), + CodeunitRange(0x9af2, 0x9af2), + CodeunitRange(0x9af4, 0x9af4), + CodeunitRange(0x9af9, 0x9afb), + CodeunitRange(0x9afd, 0x9afd), + CodeunitRange(0x9b02, 0x9b02), + CodeunitRange(0x9b05, 0x9b06), + CodeunitRange(0x9b0a, 0x9b0b), + CodeunitRange(0x9b0d, 0x9b0d), + CodeunitRange(0x9b10, 0x9b10), + CodeunitRange(0x9b12, 0x9b12), + CodeunitRange(0x9b16, 0x9b16), + CodeunitRange(0x9b18, 0x9b1a), + CodeunitRange(0x9b1f, 0x9b1f), + CodeunitRange(0x9b22, 0x9b23), + CodeunitRange(0x9b25, 0x9b25), + CodeunitRange(0x9b27, 0x9b2a), + CodeunitRange(0x9b2e, 0x9b2f), + CodeunitRange(0x9b31, 0x9b32), + CodeunitRange(0x9b3a, 0x9b3a), + CodeunitRange(0x9b3c, 0x9b3c), + CodeunitRange(0x9b41, 0x9b45), + CodeunitRange(0x9b48, 0x9b48), + CodeunitRange(0x9b4b, 0x9b4b), + CodeunitRange(0x9b4d, 0x9b4f), + CodeunitRange(0x9b51, 0x9b51), + CodeunitRange(0x9b54, 0x9b54), + CodeunitRange(0x9b58, 0x9b58), + CodeunitRange(0x9b5a, 0x9b5a), + CodeunitRange(0x9b66, 0x9b66), + CodeunitRange(0x9b6f, 0x9b6f), + CodeunitRange(0x9b74, 0x9b74), + CodeunitRange(0x9b80, 0x9b80), + CodeunitRange(0x9b83, 0x9b83), + CodeunitRange(0x9b8e, 0x9b8e), + CodeunitRange(0x9b90, 0x9b93), + CodeunitRange(0x9b97, 0x9b97), + CodeunitRange(0x9b9f, 0x9b9f), + CodeunitRange(0x9ba7, 0x9ba8), + CodeunitRange(0x9baa, 0x9bab), + CodeunitRange(0x9bad, 0x9bae), + CodeunitRange(0x9bb9, 0x9bb9), + CodeunitRange(0x9bc1, 0x9bc1), + CodeunitRange(0x9bc6, 0x9bc6), + CodeunitRange(0x9bc9, 0x9bca), + CodeunitRange(0x9bd4, 0x9bd4), + CodeunitRange(0x9bd6, 0x9bd6), + CodeunitRange(0x9bdb, 0x9bdb), + CodeunitRange(0x9be2, 0x9be2), + CodeunitRange(0x9be4, 0x9be4), + CodeunitRange(0x9be8, 0x9be8), + CodeunitRange(0x9bf7, 0x9bf7), + CodeunitRange(0x9c08, 0x9c08), + CodeunitRange(0x9c0a, 0x9c0a), + CodeunitRange(0x9c0c, 0x9c0d), + CodeunitRange(0x9c10, 0x9c10), + CodeunitRange(0x9c12, 0x9c13), + CodeunitRange(0x9c15, 0x9c15), + CodeunitRange(0x9c24, 0x9c25), + CodeunitRange(0x9c2d, 0x9c2f), + CodeunitRange(0x9c31, 0x9c32), + CodeunitRange(0x9c35, 0x9c35), + CodeunitRange(0x9c39, 0x9c3b), + CodeunitRange(0x9c3e, 0x9c3e), + CodeunitRange(0x9c47, 0x9c47), + CodeunitRange(0x9c49, 0x9c49), + CodeunitRange(0x9c4f, 0x9c4f), + CodeunitRange(0x9c52, 0x9c53), + CodeunitRange(0x9c57, 0x9c57), + CodeunitRange(0x9c60, 0x9c60), + CodeunitRange(0x9c63, 0x9c63), + CodeunitRange(0x9c67, 0x9c67), + CodeunitRange(0x9c78, 0x9c78), + CodeunitRange(0x9c7b, 0x9c7c), + CodeunitRange(0x9ce5, 0x9ce7), + CodeunitRange(0x9ce9, 0x9ce9), + CodeunitRange(0x9cf3, 0x9cf4), + CodeunitRange(0x9cf6, 0x9cf6), + CodeunitRange(0x9d03, 0x9d03), + CodeunitRange(0x9d06, 0x9d09), + CodeunitRange(0x9d0c, 0x9d0c), + CodeunitRange(0x9d12, 0x9d12), + CodeunitRange(0x9d15, 0x9d15), + CodeunitRange(0x9d18, 0x9d19), + CodeunitRange(0x9d1b, 0x9d1b), + CodeunitRange(0x9d1e, 0x9d1f), + CodeunitRange(0x9d23, 0x9d23), + CodeunitRange(0x9d25, 0x9d26), + CodeunitRange(0x9d28, 0x9d28), + CodeunitRange(0x9d2f, 0x9d30), + CodeunitRange(0x9d36, 0x9d36), + CodeunitRange(0x9d3b, 0x9d3b), + CodeunitRange(0x9d41, 0x9d42), + CodeunitRange(0x9d44, 0x9d44), + CodeunitRange(0x9d51, 0x9d51), + CodeunitRange(0x9d53, 0x9d54), + CodeunitRange(0x9d5d, 0x9d5e), + CodeunitRange(0x9d60, 0x9d61), + CodeunitRange(0x9d66, 0x9d66), + CodeunitRange(0x9d69, 0x9d69), + CodeunitRange(0x9d6c, 0x9d6c), + CodeunitRange(0x9d6f, 0x9d70), + CodeunitRange(0x9d72, 0x9d72), + CodeunitRange(0x9d77, 0x9d77), + CodeunitRange(0x9d7b, 0x9d7b), + CodeunitRange(0x9d7e, 0x9d7e), + CodeunitRange(0x9d84, 0x9d84), + CodeunitRange(0x9d89, 0x9d8a), + CodeunitRange(0x9d96, 0x9d96), + CodeunitRange(0x9d9a, 0x9d9a), + CodeunitRange(0x9da1, 0x9da1), + CodeunitRange(0x9da4, 0x9da4), + CodeunitRange(0x9da9, 0x9da9), + CodeunitRange(0x9dac, 0x9dac), + CodeunitRange(0x9daf, 0x9daf), + CodeunitRange(0x9db4, 0x9db5), + CodeunitRange(0x9db8, 0x9db9), + CodeunitRange(0x9dbb, 0x9dbb), + CodeunitRange(0x9dbf, 0x9dbf), + CodeunitRange(0x9dc1, 0x9dc2), + CodeunitRange(0x9dc4, 0x9dc4), + CodeunitRange(0x9dc7, 0x9dc7), + CodeunitRange(0x9dd3, 0x9dd3), + CodeunitRange(0x9dd6, 0x9dd7), + CodeunitRange(0x9dd9, 0x9dd9), + CodeunitRange(0x9de6, 0x9de6), + CodeunitRange(0x9de9, 0x9deb), + CodeunitRange(0x9df0, 0x9df3), + CodeunitRange(0x9df8, 0x9dfa), + CodeunitRange(0x9dfd, 0x9dfd), + CodeunitRange(0x9dff, 0x9dff), + CodeunitRange(0x9e07, 0x9e07), + CodeunitRange(0x9e0f, 0x9e0f), + CodeunitRange(0x9e15, 0x9e15), + CodeunitRange(0x9e1a, 0x9e1f), + CodeunitRange(0x9e75, 0x9e75), + CodeunitRange(0x9e77, 0x9e77), + CodeunitRange(0x9e79, 0x9e7b), + CodeunitRange(0x9e7d, 0x9e7d), + CodeunitRange(0x9e7f, 0x9e80), + CodeunitRange(0x9e82, 0x9e82), + CodeunitRange(0x9e84, 0x9e84), + CodeunitRange(0x9e8b, 0x9e8c), + CodeunitRange(0x9e8f, 0x9e8f), + CodeunitRange(0x9e91, 0x9e93), + CodeunitRange(0x9e97, 0x9e98), + CodeunitRange(0x9e9d, 0x9e9f), + CodeunitRange(0x9ea4, 0x9ea6), + CodeunitRange(0x9ea9, 0x9eaa), + CodeunitRange(0x9eaf, 0x9eaf), + CodeunitRange(0x9eb4, 0x9eb5), + CodeunitRange(0x9ebb, 0x9ebb), + CodeunitRange(0x9ebd, 0x9ebf), + CodeunitRange(0x9ec3, 0x9ec5), + CodeunitRange(0x9ecc, 0x9ed1), + CodeunitRange(0x9ed4, 0x9ed4), + CodeunitRange(0x9ed6, 0x9ed6), + CodeunitRange(0x9ed8, 0x9ed8), + CodeunitRange(0x9eda, 0x9ede), + CodeunitRange(0x9ee0, 0x9ee0), + CodeunitRange(0x9ee5, 0x9ee5), + CodeunitRange(0x9ee8, 0x9ee8), + CodeunitRange(0x9eee, 0x9eef), + CodeunitRange(0x9ef2, 0x9ef2), + CodeunitRange(0x9ef4, 0x9ef7), + CodeunitRange(0x9ef9, 0x9f00), + CodeunitRange(0x9f02, 0x9f02), + CodeunitRange(0x9f04, 0x9f04), + CodeunitRange(0x9f07, 0x9f0a), + CodeunitRange(0x9f0e, 0x9f0e), + CodeunitRange(0x9f10, 0x9f10), + CodeunitRange(0x9f13, 0x9f14), + CodeunitRange(0x9f17, 0x9f17), + CodeunitRange(0x9f19, 0x9f19), + CodeunitRange(0x9f20, 0x9f20), + CodeunitRange(0x9f22, 0x9f22), + CodeunitRange(0x9f2b, 0x9f2c), + CodeunitRange(0x9f2f, 0x9f2f), + CodeunitRange(0x9f34, 0x9f34), + CodeunitRange(0x9f38, 0x9f39), + CodeunitRange(0x9f3b, 0x9f3b), + CodeunitRange(0x9f3e, 0x9f3e), + CodeunitRange(0x9f4a, 0x9f4b), + CodeunitRange(0x9f4e, 0x9f4e), + CodeunitRange(0x9f50, 0x9f50), + CodeunitRange(0x9f52, 0x9f52), + CodeunitRange(0x9f54, 0x9f55), + CodeunitRange(0x9f57, 0x9f57), + CodeunitRange(0x9f5f, 0x9f61), + CodeunitRange(0x9f66, 0x9f67), + CodeunitRange(0x9f69, 0x9f6c), + CodeunitRange(0x9f72, 0x9f72), + CodeunitRange(0x9f76, 0x9f77), + CodeunitRange(0x9f7f, 0x9f7f), + CodeunitRange(0x9f8d, 0x9f8e), + CodeunitRange(0x9f90, 0x9f92), + CodeunitRange(0x9f94, 0x9f95), + CodeunitRange(0x9f99, 0x9f99), + CodeunitRange(0x9f9c, 0x9f9d), + CodeunitRange(0x9f9f, 0x9fa0), + CodeunitRange(0x9fa2, 0x9fa2), + CodeunitRange(0x9fa5, 0x9fa5), + CodeunitRange(0xa960, 0xa97c), + CodeunitRange(0xac00, 0xd7a3), + CodeunitRange(0xd7b0, 0xd7c6), + CodeunitRange(0xd7cb, 0xd7fb), + CodeunitRange(0xf900, 0xf95e), + CodeunitRange(0xf960, 0xf9a9), + CodeunitRange(0xf9ab, 0xfa0b), + CodeunitRange(0xfa12, 0xfa12), + CodeunitRange(0xfa15, 0xfa17), + CodeunitRange(0xfa19, 0xfa1e), + CodeunitRange(0xfa22, 0xfa22), + CodeunitRange(0xfa26, 0xfa26), + CodeunitRange(0xfa2a, 0xfa2c), + CodeunitRange(0xfa2e, 0xfa31), + CodeunitRange(0xfa33, 0xfa3d), + CodeunitRange(0xfa3f, 0xfa3f), + CodeunitRange(0xfa41, 0xfa41), + CodeunitRange(0xfa43, 0xfa55), + CodeunitRange(0xfa57, 0xfa57), + CodeunitRange(0xfa59, 0xfa68), + CodeunitRange(0xfa6a, 0xfa6a), + CodeunitRange(0xfb00, 0xfb04), + CodeunitRange(0xfe10, 0xfe19), + CodeunitRange(0xfe30, 0xfe52), + CodeunitRange(0xfe54, 0xfe66), + CodeunitRange(0xfe68, 0xfe6b), + CodeunitRange(0xff01, 0xffbe), + CodeunitRange(0xffc2, 0xffc7), + CodeunitRange(0xffca, 0xffcf), + CodeunitRange(0xffd2, 0xffd7), + CodeunitRange(0xffda, 0xffdc), + CodeunitRange(0xffe0, 0xffe6), + CodeunitRange(0xffe8, 0xffee), + CodeunitRange(0x1f100, 0x1f10c), + CodeunitRange(0x1f110, 0x1f16c), + CodeunitRange(0x1f170, 0x1f1ac), + CodeunitRange(0x1f200, 0x1f202), + CodeunitRange(0x1f210, 0x1f23b), + CodeunitRange(0x1f240, 0x1f248), + CodeunitRange(0x1f250, 0x1f251), + CodeunitRange(0x200d7, 0x200d7), + CodeunitRange(0x2012c, 0x2012c), + CodeunitRange(0x205ca, 0x205ca), + CodeunitRange(0x20628, 0x20628), + CodeunitRange(0x20984, 0x20984), + CodeunitRange(0x21155, 0x21155), + CodeunitRange(0x2128d, 0x2128d), + CodeunitRange(0x21594, 0x21594), + CodeunitRange(0x21727, 0x21727), + CodeunitRange(0x21f5c, 0x21f5c), + CodeunitRange(0x224b0, 0x224b0), + CodeunitRange(0x224ed, 0x224ed), + CodeunitRange(0x2294f, 0x2294f), + CodeunitRange(0x22c6f, 0x22c6f), + CodeunitRange(0x22ee0, 0x22ee0), + CodeunitRange(0x230fd, 0x230fd), + CodeunitRange(0x23343, 0x23343), + CodeunitRange(0x2363b, 0x2363b), + CodeunitRange(0x23ad9, 0x23ad9), + CodeunitRange(0x242f1, 0x242f1), + CodeunitRange(0x2439d, 0x2439d), + CodeunitRange(0x248e9, 0x248e9), + CodeunitRange(0x248f0, 0x248f0), + CodeunitRange(0x24a01, 0x24a01), + CodeunitRange(0x24a12, 0x24a12), + CodeunitRange(0x25055, 0x25055), + CodeunitRange(0x2533e, 0x2533e), + CodeunitRange(0x253b5, 0x253b5), + CodeunitRange(0x253fe, 0x253fe), + CodeunitRange(0x25832, 0x25832), + CodeunitRange(0x2583a, 0x2583a), + CodeunitRange(0x25874, 0x25874), + CodeunitRange(0x25978, 0x25978), + CodeunitRange(0x25ad7, 0x25ad7), + CodeunitRange(0x25b97, 0x25b97), + CodeunitRange(0x25e44, 0x25e44), + CodeunitRange(0x26057, 0x26057), + CodeunitRange(0x265a4, 0x265a4), + CodeunitRange(0x267d8, 0x267d8), + CodeunitRange(0x26951, 0x26951), + CodeunitRange(0x27144, 0x27144), + CodeunitRange(0x275ff, 0x275ff), + CodeunitRange(0x27625, 0x27625), + CodeunitRange(0x278b2, 0x278b2), + CodeunitRange(0x27a51, 0x27a51), + CodeunitRange(0x27b02, 0x27b02), + CodeunitRange(0x27cef, 0x27cef), + CodeunitRange(0x27e7d, 0x27e7d), + CodeunitRange(0x27f1b, 0x27f1b), + CodeunitRange(0x27fb7, 0x27fb7), + CodeunitRange(0x283f6, 0x283f6), + CodeunitRange(0x284dc, 0x284dc), + CodeunitRange(0x28d8a, 0x28d8a), + CodeunitRange(0x28da1, 0x28da1), + CodeunitRange(0x28e0f, 0x28e0f), + CodeunitRange(0x291d5, 0x291d5), + CodeunitRange(0x291e3, 0x291e3), + CodeunitRange(0x294de, 0x294de), + CodeunitRange(0x29509, 0x29509), + CodeunitRange(0x2967f, 0x2967f), + CodeunitRange(0x29810, 0x29810), + CodeunitRange(0x2983b, 0x2983b), + CodeunitRange(0x2a2ad, 0x2a2ad), + CodeunitRange(0x2a4d0, 0x2a4d0), + CodeunitRange(0x2a664, 0x2a664), + CodeunitRange(0x2c115, 0x2c115), + CodeunitRange(0x2c7d3, 0x2c7d3), + CodeunitRange(0x2d544, 0x2d544), + CodeunitRange(0x2e569, 0x2e569), + CodeunitRange(0x2f815, 0x2f815), + CodeunitRange(0x2f818, 0x2f818), + CodeunitRange(0x2f81a, 0x2f81a), + CodeunitRange(0x2f82c, 0x2f82c), + CodeunitRange(0x2f833, 0x2f833), + CodeunitRange(0x2f852, 0x2f852), + CodeunitRange(0x2f862, 0x2f862), + CodeunitRange(0x2f877, 0x2f877), + CodeunitRange(0x2f884, 0x2f884), + CodeunitRange(0x2f8b2, 0x2f8b2), + CodeunitRange(0x2f8ed, 0x2f8ed), + CodeunitRange(0x2f8fc, 0x2f8fc), + CodeunitRange(0x2f920, 0x2f920), + CodeunitRange(0x2f96c, 0x2f96c), + CodeunitRange(0x2f9d0, 0x2f9d0), + CodeunitRange(0x2f9df, 0x2f9df), + CodeunitRange(0x30729, 0x30729), + CodeunitRange(0x30ede, 0x30ede), + ]), + NotoFont('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x966, 0x96f), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x11080, 0x110c1), + CodeunitRange(0x110cd, 0x110cd), + ]), + NotoFont('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v19/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xc80, 0xc8c), + CodeunitRange(0xc8e, 0xc90), + CodeunitRange(0xc92, 0xca8), + CodeunitRange(0xcaa, 0xcb3), + CodeunitRange(0xcb5, 0xcb9), + CodeunitRange(0xcbc, 0xcc4), + CodeunitRange(0xcc6, 0xcc8), + CodeunitRange(0xcca, 0xccd), + CodeunitRange(0xcd5, 0xcd6), + CodeunitRange(0xcde, 0xcde), + CodeunitRange(0xce0, 0xce3), + CodeunitRange(0xce6, 0xcef), + CodeunitRange(0xcf1, 0xcf2), + CodeunitRange(0x1cd0, 0x1cd0), + CodeunitRange(0x1cd2, 0x1cd2), + CodeunitRange(0x1cda, 0x1cda), + CodeunitRange(0x1cf2, 0x1cf2), + CodeunitRange(0x1cf4, 0x1cf5), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa835), + ]), + NotoFont('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa900, 0xa92f), + ]), + NotoFont('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x10a00, 0x10a03), + CodeunitRange(0x10a05, 0x10a06), + CodeunitRange(0x10a0c, 0x10a13), + CodeunitRange(0x10a15, 0x10a17), + CodeunitRange(0x10a19, 0x10a35), + CodeunitRange(0x10a38, 0x10a3a), + CodeunitRange(0x10a3f, 0x10a48), + CodeunitRange(0x10a50, 0x10a58), + ]), + NotoFont('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v15/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [ + CodeunitRange(0x20, 0x22), + CodeunitRange(0x27, 0x29), + CodeunitRange(0x2c, 0x2f), + CodeunitRange(0x3a, 0x3b), + CodeunitRange(0x3f, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xab, 0xab), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xbb, 0xbb), + CodeunitRange(0x1780, 0x17dd), + CodeunitRange(0x17e0, 0x17e9), + CodeunitRange(0x17f0, 0x17f9), + CodeunitRange(0x19e0, 0x19ff), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xae6, 0xaef), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x11200, 0x11211), + CodeunitRange(0x11213, 0x1123e), + ]), + NotoFont('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x964, 0x965), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x112b0, 0x112ea), + CodeunitRange(0x112f0, 0x112f9), + ]), + NotoFont('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v22/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xe81, 0xe82), + CodeunitRange(0xe84, 0xe84), + CodeunitRange(0xe87, 0xe88), + CodeunitRange(0xe8a, 0xe8a), + CodeunitRange(0xe8d, 0xe8d), + CodeunitRange(0xe94, 0xe97), + CodeunitRange(0xe99, 0xe9f), + CodeunitRange(0xea1, 0xea3), + CodeunitRange(0xea5, 0xea5), + CodeunitRange(0xea7, 0xea7), + CodeunitRange(0xeaa, 0xeab), + CodeunitRange(0xead, 0xeb9), + CodeunitRange(0xebb, 0xebd), + CodeunitRange(0xec0, 0xec4), + CodeunitRange(0xec6, 0xec6), + CodeunitRange(0xec8, 0xecd), + CodeunitRange(0xed0, 0xed9), + CodeunitRange(0xedc, 0xedf), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x20ad, 0x20ad), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1c00, 0x1c37), + CodeunitRange(0x1c3b, 0x1c49), + CodeunitRange(0x1c4d, 0x1c4f), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x965, 0x965), + CodeunitRange(0x1900, 0x191e), + CodeunitRange(0x1920, 0x192b), + CodeunitRange(0x1930, 0x193b), + CodeunitRange(0x1940, 0x1940), + CodeunitRange(0x1944, 0x194f), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10600, 0x10736), + CodeunitRange(0x10740, 0x10755), + CodeunitRange(0x10760, 0x10767), + ]), + NotoFont('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10000, 0x1000b), + CodeunitRange(0x1000d, 0x10026), + CodeunitRange(0x10028, 0x1003a), + CodeunitRange(0x1003c, 0x1003d), + CodeunitRange(0x1003f, 0x1004d), + CodeunitRange(0x10050, 0x1005d), + CodeunitRange(0x10080, 0x100fa), + CodeunitRange(0x10100, 0x10102), + CodeunitRange(0x10107, 0x10133), + CodeunitRange(0x10137, 0x1013f), + ]), + NotoFont('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v19/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x2bc, 0x2bc), + CodeunitRange(0x2cd, 0x2cd), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x300a, 0x300b), + CodeunitRange(0xa4d0, 0xa4ff), + ]), + NotoFont('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10280, 0x1029c), + ]), + NotoFont('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10920, 0x10939), + CodeunitRange(0x1093f, 0x1093f), + ]), + NotoFont('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x964, 0x96f), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x11150, 0x11176), + ]), + NotoFont('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v19/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x323, 0x323), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xd00, 0xd0c), + CodeunitRange(0xd0e, 0xd10), + CodeunitRange(0xd12, 0xd44), + CodeunitRange(0xd46, 0xd48), + CodeunitRange(0xd4a, 0xd4f), + CodeunitRange(0xd54, 0xd63), + CodeunitRange(0xd66, 0xd7f), + CodeunitRange(0x1cda, 0x1cda), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa832), + ]), + NotoFont('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x640, 0x640), + CodeunitRange(0x840, 0x85b), + CodeunitRange(0x85e, 0x85e), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x640, 0x640), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xfe00, 0xfe00), + CodeunitRange(0x10ac0, 0x10ae6), + CodeunitRange(0x10aeb, 0x10af6), + ]), + NotoFont('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11c70, 0x11c8f), + CodeunitRange(0x11c92, 0x11ca7), + CodeunitRange(0x11ca9, 0x11cb6), + ]), + NotoFont('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [ + CodeunitRange(0x20, 0x22), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x2f), + CodeunitRange(0x3a, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x964, 0x965), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11d00, 0x11d06), + CodeunitRange(0x11d08, 0x11d09), + CodeunitRange(0x11d0b, 0x11d36), + CodeunitRange(0x11d3a, 0x11d3a), + CodeunitRange(0x11d3c, 0x11d3d), + CodeunitRange(0x11d3f, 0x11d47), + CodeunitRange(0x11d50, 0x11d59), + ]), + NotoFont('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xa7, 0xa7), + CodeunitRange(0xac, 0xac), + CodeunitRange(0xb1, 0xb1), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x302, 0x303), + CodeunitRange(0x305, 0x305), + CodeunitRange(0x307, 0x308), + CodeunitRange(0x330, 0x330), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3b1, 0x3c9), + CodeunitRange(0x3d1, 0x3d1), + CodeunitRange(0x3d5, 0x3d6), + CodeunitRange(0x3f0, 0x3f1), + CodeunitRange(0x3f4, 0x3f5), + CodeunitRange(0x2032, 0x2037), + CodeunitRange(0x2057, 0x2057), + CodeunitRange(0x20d0, 0x20dc), + CodeunitRange(0x20e1, 0x20e1), + CodeunitRange(0x20e5, 0x20ef), + CodeunitRange(0x2102, 0x2102), + CodeunitRange(0x210a, 0x210e), + CodeunitRange(0x2110, 0x2112), + CodeunitRange(0x2115, 0x2115), + CodeunitRange(0x2119, 0x211d), + CodeunitRange(0x2124, 0x2124), + CodeunitRange(0x2128, 0x2128), + CodeunitRange(0x212c, 0x212d), + CodeunitRange(0x212f, 0x2131), + CodeunitRange(0x2133, 0x2138), + CodeunitRange(0x213c, 0x2140), + CodeunitRange(0x2145, 0x2149), + CodeunitRange(0x2190, 0x21ae), + CodeunitRange(0x21b0, 0x21e5), + CodeunitRange(0x21f1, 0x21f2), + CodeunitRange(0x21f4, 0x22ff), + CodeunitRange(0x2308, 0x230b), + CodeunitRange(0x2310, 0x2310), + CodeunitRange(0x2319, 0x2319), + CodeunitRange(0x231c, 0x2321), + CodeunitRange(0x2336, 0x237a), + CodeunitRange(0x237c, 0x237c), + CodeunitRange(0x2395, 0x2395), + CodeunitRange(0x239b, 0x23b6), + CodeunitRange(0x23d0, 0x23d0), + CodeunitRange(0x23dc, 0x23e1), + CodeunitRange(0x2474, 0x2475), + CodeunitRange(0x25af, 0x25af), + CodeunitRange(0x25b3, 0x25b3), + CodeunitRange(0x25b7, 0x25b7), + CodeunitRange(0x25bd, 0x25bd), + CodeunitRange(0x25c1, 0x25c1), + CodeunitRange(0x25ca, 0x25ca), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x25fb, 0x25fb), + CodeunitRange(0x266d, 0x266f), + CodeunitRange(0x27c0, 0x27ff), + CodeunitRange(0x2900, 0x2aff), + CodeunitRange(0x2b0e, 0x2b11), + CodeunitRange(0x2b30, 0x2b4c), + CodeunitRange(0x2bfe, 0x2bfe), + CodeunitRange(0xff5b, 0xff5b), + CodeunitRange(0xff5d, 0xff5d), + CodeunitRange(0x1d400, 0x1d454), + CodeunitRange(0x1d456, 0x1d49c), + CodeunitRange(0x1d49e, 0x1d49f), + CodeunitRange(0x1d4a2, 0x1d4a2), + CodeunitRange(0x1d4a5, 0x1d4a6), + CodeunitRange(0x1d4a9, 0x1d4ac), + CodeunitRange(0x1d4ae, 0x1d4b9), + CodeunitRange(0x1d4bb, 0x1d4bb), + CodeunitRange(0x1d4bd, 0x1d4c3), + CodeunitRange(0x1d4c5, 0x1d505), + CodeunitRange(0x1d507, 0x1d50a), + CodeunitRange(0x1d50d, 0x1d514), + CodeunitRange(0x1d516, 0x1d51c), + CodeunitRange(0x1d51e, 0x1d539), + CodeunitRange(0x1d53b, 0x1d53e), + CodeunitRange(0x1d540, 0x1d544), + CodeunitRange(0x1d546, 0x1d546), + CodeunitRange(0x1d54a, 0x1d550), + CodeunitRange(0x1d552, 0x1d6a5), + CodeunitRange(0x1d6a8, 0x1d7cb), + CodeunitRange(0x1d7ce, 0x1d7ff), + CodeunitRange(0x1ee00, 0x1ee03), + CodeunitRange(0x1ee05, 0x1ee1f), + CodeunitRange(0x1ee21, 0x1ee22), + CodeunitRange(0x1ee24, 0x1ee24), + CodeunitRange(0x1ee27, 0x1ee27), + CodeunitRange(0x1ee29, 0x1ee32), + CodeunitRange(0x1ee34, 0x1ee37), + CodeunitRange(0x1ee39, 0x1ee39), + CodeunitRange(0x1ee3b, 0x1ee3b), + CodeunitRange(0x1ee42, 0x1ee42), + CodeunitRange(0x1ee47, 0x1ee47), + CodeunitRange(0x1ee49, 0x1ee49), + CodeunitRange(0x1ee4b, 0x1ee4b), + CodeunitRange(0x1ee4d, 0x1ee4f), + CodeunitRange(0x1ee51, 0x1ee52), + CodeunitRange(0x1ee54, 0x1ee54), + CodeunitRange(0x1ee57, 0x1ee57), + CodeunitRange(0x1ee59, 0x1ee59), + CodeunitRange(0x1ee5b, 0x1ee5b), + CodeunitRange(0x1ee5d, 0x1ee5d), + CodeunitRange(0x1ee5f, 0x1ee5f), + CodeunitRange(0x1ee61, 0x1ee62), + CodeunitRange(0x1ee64, 0x1ee64), + CodeunitRange(0x1ee67, 0x1ee6a), + CodeunitRange(0x1ee6c, 0x1ee72), + CodeunitRange(0x1ee74, 0x1ee77), + CodeunitRange(0x1ee79, 0x1ee7c), + CodeunitRange(0x1ee7e, 0x1ee7e), + CodeunitRange(0x1ee80, 0x1ee89), + CodeunitRange(0x1ee8b, 0x1ee9b), + CodeunitRange(0x1eea1, 0x1eea3), + CodeunitRange(0x1eea5, 0x1eea9), + CodeunitRange(0x1eeab, 0x1eebb), + CodeunitRange(0x1eef0, 0x1eef1), + ]), + NotoFont('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1d2e0, 0x1d2f3), + ]), + NotoFont('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x16e40, 0x16e9a), + ]), + NotoFont('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v8/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xaae0, 0xaaf6), + CodeunitRange(0xabc0, 0xabed), + CodeunitRange(0xabf0, 0xabf9), + ]), + NotoFont('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x3a, 0x3a), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x205d, 0x205d), + CodeunitRange(0x10980, 0x109b7), + CodeunitRange(0x109bc, 0x109cf), + CodeunitRange(0x109d2, 0x109ff), + ]), + NotoFont('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x16f00, 0x16f4a), + CodeunitRange(0x16f4f, 0x16f87), + CodeunitRange(0x16f8f, 0x16f9f), + ]), + NotoFont('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x11600, 0x11644), + CodeunitRange(0x11650, 0x11659), + ]), + NotoFont('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [ + CodeunitRange(0x20, 0x22), + CodeunitRange(0x28, 0x29), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0x3f, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1800, 0x180e), + CodeunitRange(0x1810, 0x1819), + CodeunitRange(0x1820, 0x1878), + CodeunitRange(0x1880, 0x18aa), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x202f, 0x202f), + CodeunitRange(0x2048, 0x2049), + CodeunitRange(0x2460, 0x2473), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x3001, 0x3002), + CodeunitRange(0x300a, 0x300f), + CodeunitRange(0xfe3d, 0xfe3e), + CodeunitRange(0xfe41, 0xfe44), + CodeunitRange(0x11660, 0x1166c), + ]), + NotoFont('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x16a40, 0x16a5e), + CodeunitRange(0x16a60, 0x16a69), + CodeunitRange(0x16a6e, 0x16a6f), + ]), + NotoFont('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xa66, 0xa6f), + CodeunitRange(0x11280, 0x11286), + CodeunitRange(0x11288, 0x11288), + CodeunitRange(0x1128a, 0x1128d), + CodeunitRange(0x1128f, 0x1129d), + CodeunitRange(0x1129f, 0x112a9), + ]), + NotoFont('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x3f, 0x3f), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1000, 0x109f), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa92e, 0xa92e), + CodeunitRange(0xa9e0, 0xa9fe), + CodeunitRange(0xaa60, 0xaa7f), + CodeunitRange(0xfe00, 0xfe00), + ]), + NotoFont('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x60c, 0x60c), + CodeunitRange(0x61b, 0x61b), + CodeunitRange(0x61f, 0x61f), + CodeunitRange(0x66a, 0x66a), + CodeunitRange(0x7c0, 0x7fa), + CodeunitRange(0x7fd, 0x7ff), + CodeunitRange(0x200c, 0x200f), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2e1c, 0x2e1d), + CodeunitRange(0xfd3e, 0xfd3f), + ]), + NotoFont('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10880, 0x1089e), + CodeunitRange(0x108a7, 0x108af), + ]), + NotoFont('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1980, 0x19ab), + CodeunitRange(0x19b0, 0x19c9), + CodeunitRange(0x19d0, 0x19da), + CodeunitRange(0x19de, 0x19df), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xb7, 0xb7), + CodeunitRange(0x1dfb, 0x1dfb), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11400, 0x1145b), + CodeunitRange(0x1145d, 0x11461), + ]), + NotoFont('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x16fe1, 0x16fe1), + CodeunitRange(0x1b170, 0x1b2fb), + ]), + NotoFont('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1680, 0x169c), + ]), + NotoFont('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v16/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1c50, 0x1c7f), + CodeunitRange(0x20b9, 0x20b9), + ]), + NotoFont('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200d, 0x200d), + CodeunitRange(0x10c80, 0x10cb2), + CodeunitRange(0x10cc0, 0x10cf2), + CodeunitRange(0x10cfa, 0x10cff), + ]), + NotoFont('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10300, 0x10323), + CodeunitRange(0x1032d, 0x1032f), + ]), + NotoFont('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10a80, 0x10a9f), + ]), + NotoFont('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x300, 0x300), + CodeunitRange(0x306, 0x308), + CodeunitRange(0x313, 0x313), + CodeunitRange(0x483, 0x483), + CodeunitRange(0x20db, 0x20db), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x10350, 0x1037a), + ]), + NotoFont('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x103a0, 0x103c3), + CodeunitRange(0x103c8, 0x103d5), + ]), + NotoFont('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10f00, 0x10f27), + ]), + NotoFont('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10a60, 0x10a7f), + ]), + NotoFont('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10c00, 0x10c48), + ]), + NotoFont('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x2c), + CodeunitRange(0x2e, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xb01, 0xb03), + CodeunitRange(0xb05, 0xb0c), + CodeunitRange(0xb0f, 0xb10), + CodeunitRange(0xb13, 0xb28), + CodeunitRange(0xb2a, 0xb30), + CodeunitRange(0xb32, 0xb33), + CodeunitRange(0xb35, 0xb39), + CodeunitRange(0xb3c, 0xb44), + CodeunitRange(0xb47, 0xb48), + CodeunitRange(0xb4b, 0xb4d), + CodeunitRange(0xb56, 0xb57), + CodeunitRange(0xb5c, 0xb5d), + CodeunitRange(0xb5f, 0xb63), + CodeunitRange(0xb66, 0xb77), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x301, 0x301), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x30b, 0x30b), + CodeunitRange(0x358, 0x358), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x104b0, 0x104d3), + CodeunitRange(0x104d8, 0x104fb), + ]), + NotoFont('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10480, 0x1049d), + CodeunitRange(0x104a0, 0x104a9), + ]), + NotoFont('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x16b00, 0x16b45), + CodeunitRange(0x16b50, 0x16b59), + CodeunitRange(0x16b5b, 0x16b61), + CodeunitRange(0x16b63, 0x16b77), + CodeunitRange(0x16b7d, 0x16b8f), + ]), + NotoFont('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10860, 0x1087f), + ]), + NotoFont('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x11ac0, 0x11af8), + ]), + NotoFont('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1801, 0x1803), + CodeunitRange(0x1805, 0x1805), + CodeunitRange(0x200b, 0x200f), + CodeunitRange(0x2025, 0x2026), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x3001, 0x3002), + CodeunitRange(0x3007, 0x3011), + CodeunitRange(0x3014, 0x301b), + CodeunitRange(0xa840, 0xa877), + CodeunitRange(0xfe00, 0xfe00), + ]), + NotoFont('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10900, 0x1091b), + CodeunitRange(0x1091f, 0x1091f), + ]), + NotoFont('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x640, 0x640), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x10b80, 0x10b91), + CodeunitRange(0x10b99, 0x10b9c), + CodeunitRange(0x10ba9, 0x10baf), + ]), + NotoFont('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa930, 0xa953), + CodeunitRange(0xa95f, 0xa95f), + ]), + NotoFont('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x16a0, 0x16f8), + ]), + NotoFont('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0x103), + CodeunitRange(0x110, 0x113), + CodeunitRange(0x11a, 0x11b), + CodeunitRange(0x128, 0x12b), + CodeunitRange(0x143, 0x144), + CodeunitRange(0x147, 0x148), + CodeunitRange(0x14c, 0x14f), + CodeunitRange(0x152, 0x153), + CodeunitRange(0x168, 0x16d), + CodeunitRange(0x192, 0x192), + CodeunitRange(0x1a0, 0x1a1), + CodeunitRange(0x1af, 0x1b0), + CodeunitRange(0x1cd, 0x1dc), + CodeunitRange(0x1f8, 0x1f9), + CodeunitRange(0x251, 0x251), + CodeunitRange(0x261, 0x261), + CodeunitRange(0x2bb, 0x2bb), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x2c9, 0x2cb), + CodeunitRange(0x2d9, 0x2d9), + CodeunitRange(0x2ea, 0x2eb), + CodeunitRange(0x300, 0x301), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x30c, 0x30c), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3b1, 0x3c9), + CodeunitRange(0x401, 0x401), + CodeunitRange(0x410, 0x44f), + CodeunitRange(0x451, 0x451), + CodeunitRange(0x1e3e, 0x1e3f), + CodeunitRange(0x1ea0, 0x1ef9), + CodeunitRange(0x2002, 0x2003), + CodeunitRange(0x2010, 0x2016), + CodeunitRange(0x2018, 0x201a), + CodeunitRange(0x201c, 0x201e), + CodeunitRange(0x2020, 0x2022), + CodeunitRange(0x2025, 0x2027), + CodeunitRange(0x2030, 0x2030), + CodeunitRange(0x2032, 0x2033), + CodeunitRange(0x2035, 0x2035), + CodeunitRange(0x2039, 0x203c), + CodeunitRange(0x2042, 0x2042), + CodeunitRange(0x2047, 0x2049), + CodeunitRange(0x2051, 0x2051), + CodeunitRange(0x2074, 0x2074), + CodeunitRange(0x20a9, 0x20a9), + CodeunitRange(0x20ab, 0x20ac), + CodeunitRange(0x20dd, 0x20de), + CodeunitRange(0x2100, 0x2100), + CodeunitRange(0x2103, 0x2103), + CodeunitRange(0x2105, 0x2105), + CodeunitRange(0x2109, 0x210a), + CodeunitRange(0x210f, 0x210f), + CodeunitRange(0x2113, 0x2113), + CodeunitRange(0x2116, 0x2116), + CodeunitRange(0x2121, 0x2122), + CodeunitRange(0x2126, 0x2127), + CodeunitRange(0x212b, 0x212b), + CodeunitRange(0x212e, 0x212e), + CodeunitRange(0x2135, 0x2135), + CodeunitRange(0x213b, 0x213b), + CodeunitRange(0x2160, 0x216b), + CodeunitRange(0x2170, 0x217b), + CodeunitRange(0x2190, 0x2199), + CodeunitRange(0x21b8, 0x21b9), + CodeunitRange(0x21c4, 0x21c6), + CodeunitRange(0x21cb, 0x21cc), + CodeunitRange(0x21d0, 0x21d0), + CodeunitRange(0x21d2, 0x21d2), + CodeunitRange(0x21d4, 0x21d4), + CodeunitRange(0x21e6, 0x21e9), + CodeunitRange(0x21f5, 0x21f5), + CodeunitRange(0x2200, 0x2200), + CodeunitRange(0x2202, 0x2203), + CodeunitRange(0x2205, 0x220b), + CodeunitRange(0x220f, 0x220f), + CodeunitRange(0x2211, 0x2213), + CodeunitRange(0x2215, 0x2215), + CodeunitRange(0x221a, 0x221a), + CodeunitRange(0x221d, 0x2220), + CodeunitRange(0x2223, 0x2223), + CodeunitRange(0x2225, 0x222e), + CodeunitRange(0x2234, 0x2237), + CodeunitRange(0x223d, 0x223d), + CodeunitRange(0x2243, 0x2243), + CodeunitRange(0x2245, 0x2245), + CodeunitRange(0x2248, 0x2248), + CodeunitRange(0x224c, 0x224c), + CodeunitRange(0x2252, 0x2252), + CodeunitRange(0x2260, 0x2262), + CodeunitRange(0x2264, 0x2267), + CodeunitRange(0x226a, 0x226b), + CodeunitRange(0x226e, 0x226f), + CodeunitRange(0x2272, 0x2273), + CodeunitRange(0x2276, 0x2277), + CodeunitRange(0x2282, 0x2287), + CodeunitRange(0x228a, 0x228b), + CodeunitRange(0x2295, 0x2299), + CodeunitRange(0x22a0, 0x22a0), + CodeunitRange(0x22a5, 0x22a5), + CodeunitRange(0x22bf, 0x22bf), + CodeunitRange(0x22da, 0x22db), + CodeunitRange(0x22ef, 0x22ef), + CodeunitRange(0x2305, 0x2307), + CodeunitRange(0x2312, 0x2312), + CodeunitRange(0x2318, 0x2318), + CodeunitRange(0x2329, 0x232a), + CodeunitRange(0x23b0, 0x23b1), + CodeunitRange(0x23be, 0x23cc), + CodeunitRange(0x23ce, 0x23ce), + CodeunitRange(0x23da, 0x23db), + CodeunitRange(0x2423, 0x2423), + CodeunitRange(0x2460, 0x25ab), + CodeunitRange(0x25b1, 0x25b3), + CodeunitRange(0x25b6, 0x25b7), + CodeunitRange(0x25bc, 0x25bd), + CodeunitRange(0x25c0, 0x25c1), + CodeunitRange(0x25c6, 0x25cc), + CodeunitRange(0x25ce, 0x25d3), + CodeunitRange(0x25e2, 0x25e6), + CodeunitRange(0x25ef, 0x25ef), + CodeunitRange(0x2600, 0x2603), + CodeunitRange(0x2605, 0x2606), + CodeunitRange(0x2609, 0x2609), + CodeunitRange(0x260e, 0x260f), + CodeunitRange(0x2616, 0x2617), + CodeunitRange(0x261c, 0x261f), + CodeunitRange(0x262f, 0x262f), + CodeunitRange(0x2640, 0x2642), + CodeunitRange(0x2660, 0x266f), + CodeunitRange(0x2672, 0x267d), + CodeunitRange(0x26a0, 0x26a0), + CodeunitRange(0x26bd, 0x26be), + CodeunitRange(0x2702, 0x2702), + CodeunitRange(0x2713, 0x2713), + CodeunitRange(0x271a, 0x271a), + CodeunitRange(0x273d, 0x273d), + CodeunitRange(0x273f, 0x2740), + CodeunitRange(0x2756, 0x2756), + CodeunitRange(0x2776, 0x2793), + CodeunitRange(0x27a1, 0x27a1), + CodeunitRange(0x2934, 0x2935), + CodeunitRange(0x29bf, 0x29bf), + CodeunitRange(0x29fa, 0x29fb), + CodeunitRange(0x2b05, 0x2b07), + CodeunitRange(0x2b1a, 0x2b1a), + CodeunitRange(0x2b95, 0x2b95), + CodeunitRange(0x2e3a, 0x2e3b), + CodeunitRange(0x2e80, 0x2e99), + CodeunitRange(0x2e9b, 0x2ef3), + CodeunitRange(0x2f00, 0x2fd5), + CodeunitRange(0x2ff0, 0x2ffb), + CodeunitRange(0x3000, 0x303f), + CodeunitRange(0x3041, 0x3096), + CodeunitRange(0x3099, 0x30ff), + CodeunitRange(0x3105, 0x312f), + CodeunitRange(0x3131, 0x3163), + CodeunitRange(0x3165, 0x318e), + CodeunitRange(0x3190, 0x31bb), + CodeunitRange(0x31c0, 0x31e3), + CodeunitRange(0x31f0, 0x321e), + CodeunitRange(0x3220, 0x332b), + CodeunitRange(0x332d, 0x4db5), + CodeunitRange(0x4e00, 0x9fef), + CodeunitRange(0xf900, 0xf903), + CodeunitRange(0xf905, 0xf906), + CodeunitRange(0xf90b, 0xf90c), + CodeunitRange(0xf915, 0xf915), + CodeunitRange(0xf917, 0xf91a), + CodeunitRange(0xf921, 0xf921), + CodeunitRange(0xf92c, 0xf92d), + CodeunitRange(0xf92f, 0xf92f), + CodeunitRange(0xf931, 0xf935), + CodeunitRange(0xf937, 0xf93a), + CodeunitRange(0xf943, 0xf943), + CodeunitRange(0xf947, 0xf94a), + CodeunitRange(0xf94e, 0xf94e), + CodeunitRange(0xf952, 0xf953), + CodeunitRange(0xf95e, 0xf95e), + CodeunitRange(0xf962, 0xf967), + CodeunitRange(0xf96e, 0xf96e), + CodeunitRange(0xf972, 0xf972), + CodeunitRange(0xf974, 0xf974), + CodeunitRange(0xf976, 0xf976), + CodeunitRange(0xf979, 0xf97b), + CodeunitRange(0xf97e, 0xf980), + CodeunitRange(0xf984, 0xf985), + CodeunitRange(0xf98a, 0xf98c), + CodeunitRange(0xf98e, 0xf98e), + CodeunitRange(0xf993, 0xf993), + CodeunitRange(0xf995, 0xf995), + CodeunitRange(0xf998, 0xf998), + CodeunitRange(0xf9ae, 0xf9ae), + CodeunitRange(0xf9b3, 0xf9b3), + CodeunitRange(0xf9b7, 0xf9b7), + CodeunitRange(0xf9bb, 0xf9bb), + CodeunitRange(0xf9bd, 0xf9be), + CodeunitRange(0xf9c0, 0xf9c0), + CodeunitRange(0xf9c5, 0xf9c6), + CodeunitRange(0xf9d0, 0xf9d0), + CodeunitRange(0xf9d8, 0xf9d9), + CodeunitRange(0xf9dc, 0xf9e0), + CodeunitRange(0xf9e2, 0xf9e4), + CodeunitRange(0xf9e7, 0xf9e7), + CodeunitRange(0xf9e9, 0xf9e9), + CodeunitRange(0xf9f1, 0xf9f1), + CodeunitRange(0xf9f4, 0xf9f5), + CodeunitRange(0xf9fa, 0xf9fa), + CodeunitRange(0xf9fd, 0xf9fd), + CodeunitRange(0xf9ff, 0xf9ff), + CodeunitRange(0xfa02, 0xfa02), + CodeunitRange(0xfa05, 0xfa08), + CodeunitRange(0xfa0a, 0xfa0a), + CodeunitRange(0xfa0c, 0xfa0f), + CodeunitRange(0xfa11, 0xfa11), + CodeunitRange(0xfa13, 0xfa14), + CodeunitRange(0xfa18, 0xfa18), + CodeunitRange(0xfa1f, 0xfa21), + CodeunitRange(0xfa23, 0xfa24), + CodeunitRange(0xfa27, 0xfa29), + CodeunitRange(0xfa2f, 0xfa2f), + CodeunitRange(0xfa33, 0xfa35), + CodeunitRange(0xfa37, 0xfa38), + CodeunitRange(0xfa3a, 0xfa3a), + CodeunitRange(0xfa47, 0xfa47), + CodeunitRange(0xfa49, 0xfa49), + CodeunitRange(0xfa4b, 0xfa4b), + CodeunitRange(0xfa5d, 0xfa5e), + CodeunitRange(0xfb00, 0xfb04), + CodeunitRange(0xfe10, 0xfe19), + CodeunitRange(0xfe30, 0xfe52), + CodeunitRange(0xfe54, 0xfe66), + CodeunitRange(0xfe68, 0xfe6b), + CodeunitRange(0xff01, 0xff9f), + CodeunitRange(0xffa1, 0xffbe), + CodeunitRange(0xffc2, 0xffc7), + CodeunitRange(0xffca, 0xffcf), + CodeunitRange(0xffd2, 0xffd7), + CodeunitRange(0xffda, 0xffdc), + CodeunitRange(0xffe0, 0xffe6), + CodeunitRange(0xffe8, 0xffee), + CodeunitRange(0x1f100, 0x1f10c), + CodeunitRange(0x1f110, 0x1f16c), + CodeunitRange(0x1f170, 0x1f1ac), + CodeunitRange(0x1f200, 0x1f202), + CodeunitRange(0x1f210, 0x1f23b), + CodeunitRange(0x1f240, 0x1f248), + CodeunitRange(0x1f250, 0x1f251), + CodeunitRange(0x20087, 0x20087), + CodeunitRange(0x20089, 0x20089), + CodeunitRange(0x200cc, 0x200cc), + CodeunitRange(0x20164, 0x20164), + CodeunitRange(0x20628, 0x20628), + CodeunitRange(0x20676, 0x20676), + CodeunitRange(0x20cd0, 0x20cd0), + CodeunitRange(0x2139a, 0x2139a), + CodeunitRange(0x21413, 0x21413), + CodeunitRange(0x215d7, 0x215d7), + CodeunitRange(0x2298f, 0x2298f), + CodeunitRange(0x235cb, 0x235cb), + CodeunitRange(0x23c97, 0x23c98), + CodeunitRange(0x23e23, 0x23e23), + CodeunitRange(0x241fe, 0x241fe), + CodeunitRange(0x2420e, 0x2420e), + CodeunitRange(0x248e9, 0x248e9), + CodeunitRange(0x249db, 0x249db), + CodeunitRange(0x24a01, 0x24a01), + CodeunitRange(0x24a7d, 0x24a7d), + CodeunitRange(0x24ac9, 0x24ac9), + CodeunitRange(0x25532, 0x25532), + CodeunitRange(0x25562, 0x25562), + CodeunitRange(0x255a8, 0x255a8), + CodeunitRange(0x25ad7, 0x25ad7), + CodeunitRange(0x25ed7, 0x25ed7), + CodeunitRange(0x26221, 0x26221), + CodeunitRange(0x2648d, 0x2648d), + CodeunitRange(0x26676, 0x26676), + CodeunitRange(0x2677c, 0x2677c), + CodeunitRange(0x26951, 0x26951), + CodeunitRange(0x26b5c, 0x26b5c), + CodeunitRange(0x26c21, 0x26c21), + CodeunitRange(0x278b2, 0x278b2), + CodeunitRange(0x27eaf, 0x27eaf), + CodeunitRange(0x27fb7, 0x27fb7), + CodeunitRange(0x27ff9, 0x27ff9), + CodeunitRange(0x28408, 0x28408), + CodeunitRange(0x28678, 0x28678), + CodeunitRange(0x28695, 0x28695), + CodeunitRange(0x287e0, 0x287e0), + CodeunitRange(0x28b49, 0x28b49), + CodeunitRange(0x28c47, 0x28c47), + CodeunitRange(0x28c4f, 0x28c4f), + CodeunitRange(0x28c51, 0x28c51), + CodeunitRange(0x28c54, 0x28c54), + CodeunitRange(0x28e0f, 0x28e0f), + CodeunitRange(0x28e99, 0x28e99), + CodeunitRange(0x2967f, 0x2967f), + CodeunitRange(0x29810, 0x29810), + CodeunitRange(0x29f7e, 0x29f7e), + CodeunitRange(0x29f83, 0x29f83), + CodeunitRange(0x29f8c, 0x29f8c), + CodeunitRange(0x2a7dd, 0x2a7dd), + CodeunitRange(0x2a8fb, 0x2a8fb), + CodeunitRange(0x2a917, 0x2a917), + CodeunitRange(0x2aa30, 0x2aa30), + CodeunitRange(0x2aa36, 0x2aa36), + CodeunitRange(0x2aa58, 0x2aa58), + CodeunitRange(0x2afa2, 0x2afa2), + CodeunitRange(0x2b127, 0x2b128), + CodeunitRange(0x2b137, 0x2b138), + CodeunitRange(0x2b1ed, 0x2b1ed), + CodeunitRange(0x2b300, 0x2b300), + CodeunitRange(0x2b363, 0x2b363), + CodeunitRange(0x2b36f, 0x2b36f), + CodeunitRange(0x2b372, 0x2b372), + CodeunitRange(0x2b37d, 0x2b37d), + CodeunitRange(0x2b404, 0x2b404), + CodeunitRange(0x2b410, 0x2b410), + CodeunitRange(0x2b413, 0x2b413), + CodeunitRange(0x2b461, 0x2b461), + CodeunitRange(0x2b4e7, 0x2b4e7), + CodeunitRange(0x2b4ef, 0x2b4ef), + CodeunitRange(0x2b4f6, 0x2b4f6), + CodeunitRange(0x2b4f9, 0x2b4f9), + CodeunitRange(0x2b50d, 0x2b50e), + CodeunitRange(0x2b536, 0x2b536), + CodeunitRange(0x2b5ae, 0x2b5af), + CodeunitRange(0x2b5b3, 0x2b5b3), + CodeunitRange(0x2b5e7, 0x2b5e7), + CodeunitRange(0x2b5f4, 0x2b5f4), + CodeunitRange(0x2b61c, 0x2b61d), + CodeunitRange(0x2b626, 0x2b628), + CodeunitRange(0x2b62a, 0x2b62a), + CodeunitRange(0x2b62c, 0x2b62c), + CodeunitRange(0x2b695, 0x2b696), + CodeunitRange(0x2b6ad, 0x2b6ad), + CodeunitRange(0x2b6ed, 0x2b6ed), + CodeunitRange(0x2b7a9, 0x2b7a9), + CodeunitRange(0x2b7c5, 0x2b7c5), + CodeunitRange(0x2b7e6, 0x2b7e6), + CodeunitRange(0x2b7f9, 0x2b7f9), + CodeunitRange(0x2b7fc, 0x2b7fc), + CodeunitRange(0x2b806, 0x2b806), + CodeunitRange(0x2b80a, 0x2b80a), + CodeunitRange(0x2b81c, 0x2b81c), + CodeunitRange(0x2b8b8, 0x2b8b8), + CodeunitRange(0x2bac7, 0x2bac7), + CodeunitRange(0x2bb5f, 0x2bb5f), + CodeunitRange(0x2bb62, 0x2bb62), + CodeunitRange(0x2bb7c, 0x2bb7c), + CodeunitRange(0x2bb83, 0x2bb83), + CodeunitRange(0x2bc1b, 0x2bc1b), + CodeunitRange(0x2bd77, 0x2bd77), + CodeunitRange(0x2bd87, 0x2bd87), + CodeunitRange(0x2bdf7, 0x2bdf7), + CodeunitRange(0x2be29, 0x2be29), + CodeunitRange(0x2c029, 0x2c02a), + CodeunitRange(0x2c0a9, 0x2c0a9), + CodeunitRange(0x2c0ca, 0x2c0ca), + CodeunitRange(0x2c1d5, 0x2c1d5), + CodeunitRange(0x2c1d9, 0x2c1d9), + CodeunitRange(0x2c1f9, 0x2c1f9), + CodeunitRange(0x2c27c, 0x2c27c), + CodeunitRange(0x2c288, 0x2c288), + CodeunitRange(0x2c2a4, 0x2c2a4), + CodeunitRange(0x2c317, 0x2c317), + CodeunitRange(0x2c35b, 0x2c35b), + CodeunitRange(0x2c361, 0x2c361), + CodeunitRange(0x2c364, 0x2c364), + CodeunitRange(0x2c488, 0x2c488), + CodeunitRange(0x2c494, 0x2c494), + CodeunitRange(0x2c497, 0x2c497), + CodeunitRange(0x2c542, 0x2c542), + CodeunitRange(0x2c613, 0x2c613), + CodeunitRange(0x2c618, 0x2c618), + CodeunitRange(0x2c621, 0x2c621), + CodeunitRange(0x2c629, 0x2c629), + CodeunitRange(0x2c62b, 0x2c62d), + CodeunitRange(0x2c62f, 0x2c62f), + CodeunitRange(0x2c642, 0x2c642), + CodeunitRange(0x2c64a, 0x2c64b), + CodeunitRange(0x2c72c, 0x2c72c), + CodeunitRange(0x2c72f, 0x2c72f), + CodeunitRange(0x2c79f, 0x2c79f), + CodeunitRange(0x2c7c1, 0x2c7c1), + CodeunitRange(0x2c7fd, 0x2c7fd), + CodeunitRange(0x2c8d9, 0x2c8d9), + CodeunitRange(0x2c8de, 0x2c8de), + CodeunitRange(0x2c8e1, 0x2c8e1), + CodeunitRange(0x2c8f3, 0x2c8f3), + CodeunitRange(0x2c907, 0x2c907), + CodeunitRange(0x2c90a, 0x2c90a), + CodeunitRange(0x2c91d, 0x2c91d), + CodeunitRange(0x2ca02, 0x2ca02), + CodeunitRange(0x2ca0e, 0x2ca0e), + CodeunitRange(0x2ca7d, 0x2ca7d), + CodeunitRange(0x2caa9, 0x2caa9), + CodeunitRange(0x2cb29, 0x2cb29), + CodeunitRange(0x2cb2d, 0x2cb2e), + CodeunitRange(0x2cb31, 0x2cb31), + CodeunitRange(0x2cb38, 0x2cb39), + CodeunitRange(0x2cb3b, 0x2cb3b), + CodeunitRange(0x2cb3f, 0x2cb3f), + CodeunitRange(0x2cb41, 0x2cb41), + CodeunitRange(0x2cb4a, 0x2cb4a), + CodeunitRange(0x2cb4e, 0x2cb4e), + CodeunitRange(0x2cb5a, 0x2cb5b), + CodeunitRange(0x2cb64, 0x2cb64), + CodeunitRange(0x2cb69, 0x2cb69), + CodeunitRange(0x2cb6c, 0x2cb6c), + CodeunitRange(0x2cb6f, 0x2cb6f), + CodeunitRange(0x2cb73, 0x2cb73), + CodeunitRange(0x2cb76, 0x2cb76), + CodeunitRange(0x2cb78, 0x2cb78), + CodeunitRange(0x2cb7c, 0x2cb7c), + CodeunitRange(0x2cbb1, 0x2cbb1), + CodeunitRange(0x2cbbf, 0x2cbc0), + CodeunitRange(0x2cbce, 0x2cbce), + CodeunitRange(0x2cc56, 0x2cc56), + CodeunitRange(0x2cc5f, 0x2cc5f), + CodeunitRange(0x2ccf5, 0x2ccf6), + CodeunitRange(0x2ccfd, 0x2ccfd), + CodeunitRange(0x2ccff, 0x2ccff), + CodeunitRange(0x2cd02, 0x2cd03), + CodeunitRange(0x2cd0a, 0x2cd0a), + CodeunitRange(0x2cd8b, 0x2cd8b), + CodeunitRange(0x2cd8d, 0x2cd8d), + CodeunitRange(0x2cd8f, 0x2cd90), + CodeunitRange(0x2cd9f, 0x2cda0), + CodeunitRange(0x2cda8, 0x2cda8), + CodeunitRange(0x2cdad, 0x2cdae), + CodeunitRange(0x2cdd5, 0x2cdd5), + CodeunitRange(0x2ce18, 0x2ce18), + CodeunitRange(0x2ce1a, 0x2ce1a), + CodeunitRange(0x2ce23, 0x2ce23), + CodeunitRange(0x2ce26, 0x2ce26), + CodeunitRange(0x2ce2a, 0x2ce2a), + CodeunitRange(0x2ce7c, 0x2ce7c), + CodeunitRange(0x2ce88, 0x2ce88), + CodeunitRange(0x2ce93, 0x2ce93), + CodeunitRange(0x2d544, 0x2d544), + CodeunitRange(0x2f884, 0x2f884), + CodeunitRange(0x2f8b6, 0x2f8b6), + CodeunitRange(0x30edd, 0x30ede), + CodeunitRange(0x3106c, 0x3106c), + ]), + NotoFont('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa880, 0xa8c5), + CodeunitRange(0xa8ce, 0xa8d9), + ]), + NotoFont('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x951, 0x951), + CodeunitRange(0x1cd7, 0x1cd7), + CodeunitRange(0x1cd9, 0x1cd9), + CodeunitRange(0x1cdc, 0x1cdd), + CodeunitRange(0x1ce0, 0x1ce0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11180, 0x111df), + ]), + NotoFont('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10450, 0x1047f), + ]), + NotoFont('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11580, 0x115b5), + CodeunitRange(0x115b8, 0x115dd), + ]), + NotoFont('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v24/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xd81, 0xd83), + CodeunitRange(0xd85, 0xd96), + CodeunitRange(0xd9a, 0xdb1), + CodeunitRange(0xdb3, 0xdbb), + CodeunitRange(0xdbd, 0xdbd), + CodeunitRange(0xdc0, 0xdc6), + CodeunitRange(0xdca, 0xdca), + CodeunitRange(0xdcf, 0xdd4), + CodeunitRange(0xdd6, 0xdd6), + CodeunitRange(0xdd8, 0xddf), + CodeunitRange(0xde6, 0xdef), + CodeunitRange(0xdf2, 0xdf4), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x111e1, 0x111f4), + ]), + NotoFont('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x640, 0x640), + CodeunitRange(0x200c, 0x200c), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x10f30, 0x10f59), + ]), + NotoFont('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v16/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x110d0, 0x110e8), + CodeunitRange(0x110f0, 0x110f9), + ]), + NotoFont('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11a50, 0x11aa2), + ]), + NotoFont('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v16/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1b80, 0x1bbf), + CodeunitRange(0x1cc0, 0x1cc7), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x964, 0x965), + CodeunitRange(0x9e6, 0x9ef), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2011), + CodeunitRange(0x2055, 0x2055), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa800, 0xa82c), + ]), + NotoFont('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [ + CodeunitRange(0x20, 0x21), + CodeunitRange(0x28, 0x2b), + CodeunitRange(0x2d, 0x2f), + CodeunitRange(0x3a, 0x3a), + CodeunitRange(0x3d, 0x3d), + CodeunitRange(0x5b, 0x5d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xab, 0xab), + CodeunitRange(0xb0, 0xb0), + CodeunitRange(0xbb, 0xbb), + CodeunitRange(0x303, 0x304), + CodeunitRange(0x307, 0x308), + CodeunitRange(0x30a, 0x30a), + CodeunitRange(0x320, 0x320), + CodeunitRange(0x323, 0x325), + CodeunitRange(0x32d, 0x32e), + CodeunitRange(0x330, 0x331), + CodeunitRange(0x60c, 0x60c), + CodeunitRange(0x61b, 0x61b), + CodeunitRange(0x61f, 0x61f), + CodeunitRange(0x621, 0x621), + CodeunitRange(0x640, 0x640), + CodeunitRange(0x64b, 0x655), + CodeunitRange(0x660, 0x66c), + CodeunitRange(0x670, 0x670), + CodeunitRange(0x700, 0x70d), + CodeunitRange(0x70f, 0x74a), + CodeunitRange(0x74d, 0x74f), + CodeunitRange(0x200c, 0x200f), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x2044, 0x2044), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2670, 0x2671), + ]), + NotoFont('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [ + CodeunitRange(0x20, 0x7e), + CodeunitRange(0xa0, 0x103), + CodeunitRange(0x110, 0x113), + CodeunitRange(0x11a, 0x11b), + CodeunitRange(0x128, 0x12b), + CodeunitRange(0x143, 0x144), + CodeunitRange(0x147, 0x148), + CodeunitRange(0x14c, 0x14f), + CodeunitRange(0x152, 0x153), + CodeunitRange(0x168, 0x16d), + CodeunitRange(0x192, 0x192), + CodeunitRange(0x1a0, 0x1a1), + CodeunitRange(0x1af, 0x1b0), + CodeunitRange(0x1cd, 0x1dc), + CodeunitRange(0x1f8, 0x1f9), + CodeunitRange(0x251, 0x251), + CodeunitRange(0x261, 0x261), + CodeunitRange(0x2bb, 0x2bb), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x2c9, 0x2cb), + CodeunitRange(0x2d9, 0x2d9), + CodeunitRange(0x2ea, 0x2eb), + CodeunitRange(0x300, 0x301), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x307, 0x307), + CodeunitRange(0x30c, 0x30c), + CodeunitRange(0x391, 0x3a1), + CodeunitRange(0x3a3, 0x3a9), + CodeunitRange(0x3b1, 0x3c9), + CodeunitRange(0x401, 0x401), + CodeunitRange(0x410, 0x44f), + CodeunitRange(0x451, 0x451), + CodeunitRange(0x1e3e, 0x1e3f), + CodeunitRange(0x1ea0, 0x1ef9), + CodeunitRange(0x2002, 0x2003), + CodeunitRange(0x2010, 0x2016), + CodeunitRange(0x2018, 0x201a), + CodeunitRange(0x201c, 0x201e), + CodeunitRange(0x2020, 0x2022), + CodeunitRange(0x2025, 0x2027), + CodeunitRange(0x2030, 0x2030), + CodeunitRange(0x2032, 0x2033), + CodeunitRange(0x2035, 0x2035), + CodeunitRange(0x2039, 0x203c), + CodeunitRange(0x2042, 0x2042), + CodeunitRange(0x2047, 0x2049), + CodeunitRange(0x2051, 0x2051), + CodeunitRange(0x2074, 0x2074), + CodeunitRange(0x20a9, 0x20a9), + CodeunitRange(0x20ab, 0x20ac), + CodeunitRange(0x20dd, 0x20de), + CodeunitRange(0x2100, 0x2100), + CodeunitRange(0x2103, 0x2103), + CodeunitRange(0x2105, 0x2105), + CodeunitRange(0x2109, 0x210a), + CodeunitRange(0x210f, 0x210f), + CodeunitRange(0x2113, 0x2113), + CodeunitRange(0x2116, 0x2116), + CodeunitRange(0x2121, 0x2122), + CodeunitRange(0x2126, 0x2127), + CodeunitRange(0x212b, 0x212b), + CodeunitRange(0x212e, 0x212e), + CodeunitRange(0x2135, 0x2135), + CodeunitRange(0x213b, 0x213b), + CodeunitRange(0x2160, 0x216b), + CodeunitRange(0x2170, 0x217b), + CodeunitRange(0x2190, 0x2199), + CodeunitRange(0x21b8, 0x21b9), + CodeunitRange(0x21c4, 0x21c6), + CodeunitRange(0x21cb, 0x21cc), + CodeunitRange(0x21d0, 0x21d0), + CodeunitRange(0x21d2, 0x21d2), + CodeunitRange(0x21d4, 0x21d4), + CodeunitRange(0x21e6, 0x21e9), + CodeunitRange(0x21f5, 0x21f5), + CodeunitRange(0x2200, 0x2200), + CodeunitRange(0x2202, 0x2203), + CodeunitRange(0x2205, 0x220b), + CodeunitRange(0x220f, 0x220f), + CodeunitRange(0x2211, 0x2213), + CodeunitRange(0x2215, 0x2215), + CodeunitRange(0x221a, 0x221a), + CodeunitRange(0x221d, 0x2220), + CodeunitRange(0x2223, 0x2223), + CodeunitRange(0x2225, 0x222e), + CodeunitRange(0x2234, 0x2237), + CodeunitRange(0x223d, 0x223d), + CodeunitRange(0x2243, 0x2243), + CodeunitRange(0x2245, 0x2245), + CodeunitRange(0x2248, 0x2248), + CodeunitRange(0x224c, 0x224c), + CodeunitRange(0x2252, 0x2252), + CodeunitRange(0x2260, 0x2262), + CodeunitRange(0x2264, 0x2267), + CodeunitRange(0x226a, 0x226b), + CodeunitRange(0x226e, 0x226f), + CodeunitRange(0x2272, 0x2273), + CodeunitRange(0x2276, 0x2277), + CodeunitRange(0x2282, 0x2287), + CodeunitRange(0x228a, 0x228b), + CodeunitRange(0x2295, 0x2299), + CodeunitRange(0x22a0, 0x22a0), + CodeunitRange(0x22a5, 0x22a5), + CodeunitRange(0x22bf, 0x22bf), + CodeunitRange(0x22da, 0x22db), + CodeunitRange(0x22ef, 0x22ef), + CodeunitRange(0x2305, 0x2307), + CodeunitRange(0x2312, 0x2312), + CodeunitRange(0x2318, 0x2318), + CodeunitRange(0x2329, 0x232a), + CodeunitRange(0x23b0, 0x23b1), + CodeunitRange(0x23be, 0x23cc), + CodeunitRange(0x23ce, 0x23ce), + CodeunitRange(0x23da, 0x23db), + CodeunitRange(0x2423, 0x2423), + CodeunitRange(0x2460, 0x25ab), + CodeunitRange(0x25b1, 0x25b3), + CodeunitRange(0x25b6, 0x25b7), + CodeunitRange(0x25bc, 0x25bd), + CodeunitRange(0x25c0, 0x25c1), + CodeunitRange(0x25c6, 0x25cc), + CodeunitRange(0x25ce, 0x25d3), + CodeunitRange(0x25e2, 0x25e6), + CodeunitRange(0x25ef, 0x25ef), + CodeunitRange(0x2600, 0x2603), + CodeunitRange(0x2605, 0x2606), + CodeunitRange(0x2609, 0x2609), + CodeunitRange(0x260e, 0x260f), + CodeunitRange(0x2616, 0x2617), + CodeunitRange(0x261c, 0x261f), + CodeunitRange(0x262f, 0x262f), + CodeunitRange(0x2640, 0x2642), + CodeunitRange(0x2660, 0x266f), + CodeunitRange(0x2672, 0x267d), + CodeunitRange(0x26a0, 0x26a0), + CodeunitRange(0x26bd, 0x26be), + CodeunitRange(0x2702, 0x2702), + CodeunitRange(0x2713, 0x2713), + CodeunitRange(0x271a, 0x271a), + CodeunitRange(0x273d, 0x273d), + CodeunitRange(0x273f, 0x2740), + CodeunitRange(0x2756, 0x2756), + CodeunitRange(0x2776, 0x2793), + CodeunitRange(0x27a1, 0x27a1), + CodeunitRange(0x2934, 0x2935), + CodeunitRange(0x29bf, 0x29bf), + CodeunitRange(0x29fa, 0x29fb), + CodeunitRange(0x2b05, 0x2b07), + CodeunitRange(0x2b1a, 0x2b1a), + CodeunitRange(0x2b95, 0x2b95), + CodeunitRange(0x2e3a, 0x2e3b), + CodeunitRange(0x2e80, 0x2e99), + CodeunitRange(0x2e9b, 0x2ef3), + CodeunitRange(0x2f00, 0x2fd5), + CodeunitRange(0x2ff0, 0x2ffb), + CodeunitRange(0x3000, 0x303f), + CodeunitRange(0x3041, 0x3096), + CodeunitRange(0x3099, 0x30ff), + CodeunitRange(0x3105, 0x312f), + CodeunitRange(0x3131, 0x3163), + CodeunitRange(0x3165, 0x318e), + CodeunitRange(0x3190, 0x31bb), + CodeunitRange(0x31c0, 0x31e3), + CodeunitRange(0x31f0, 0x321e), + CodeunitRange(0x3220, 0x332b), + CodeunitRange(0x332d, 0x33ff), + CodeunitRange(0x3435, 0x3435), + CodeunitRange(0x3440, 0x3440), + CodeunitRange(0x344a, 0x344a), + CodeunitRange(0x344c, 0x344c), + CodeunitRange(0x3464, 0x3464), + CodeunitRange(0x3473, 0x3473), + CodeunitRange(0x347a, 0x347a), + CodeunitRange(0x347d, 0x347e), + CodeunitRange(0x3493, 0x3493), + CodeunitRange(0x3496, 0x3496), + CodeunitRange(0x34a5, 0x34a5), + CodeunitRange(0x34af, 0x34af), + CodeunitRange(0x34bc, 0x34bc), + CodeunitRange(0x34c1, 0x34c1), + CodeunitRange(0x34c8, 0x34c8), + CodeunitRange(0x34df, 0x34df), + CodeunitRange(0x34e4, 0x34e4), + CodeunitRange(0x34e6, 0x34e6), + CodeunitRange(0x34fb, 0x34fb), + CodeunitRange(0x3506, 0x3506), + CodeunitRange(0x353e, 0x353e), + CodeunitRange(0x3551, 0x3551), + CodeunitRange(0x3553, 0x3553), + CodeunitRange(0x3559, 0x3559), + CodeunitRange(0x3561, 0x3561), + CodeunitRange(0x356d, 0x356d), + CodeunitRange(0x3570, 0x3570), + CodeunitRange(0x3572, 0x3572), + CodeunitRange(0x3577, 0x3578), + CodeunitRange(0x3584, 0x3584), + CodeunitRange(0x3597, 0x3598), + CodeunitRange(0x35a1, 0x35a1), + CodeunitRange(0x35a5, 0x35a5), + CodeunitRange(0x35ad, 0x35ad), + CodeunitRange(0x35bf, 0x35bf), + CodeunitRange(0x35c1, 0x35c1), + CodeunitRange(0x35c5, 0x35c5), + CodeunitRange(0x35c7, 0x35c7), + CodeunitRange(0x35ca, 0x35ca), + CodeunitRange(0x35ce, 0x35ce), + CodeunitRange(0x35d2, 0x35d2), + CodeunitRange(0x35d6, 0x35d6), + CodeunitRange(0x35db, 0x35db), + CodeunitRange(0x35dd, 0x35dd), + CodeunitRange(0x35f1, 0x35f3), + CodeunitRange(0x35fb, 0x35fb), + CodeunitRange(0x35fe, 0x35fe), + CodeunitRange(0x3609, 0x3609), + CodeunitRange(0x3618, 0x3618), + CodeunitRange(0x361a, 0x361a), + CodeunitRange(0x3623, 0x3623), + CodeunitRange(0x3625, 0x3625), + CodeunitRange(0x362d, 0x362d), + CodeunitRange(0x3635, 0x3635), + CodeunitRange(0x3639, 0x3639), + CodeunitRange(0x363e, 0x363e), + CodeunitRange(0x3647, 0x3649), + CodeunitRange(0x364e, 0x364e), + CodeunitRange(0x365f, 0x365f), + CodeunitRange(0x3661, 0x3661), + CodeunitRange(0x367a, 0x367a), + CodeunitRange(0x3681, 0x3681), + CodeunitRange(0x369a, 0x369a), + CodeunitRange(0x36a5, 0x36a5), + CodeunitRange(0x36aa, 0x36aa), + CodeunitRange(0x36ac, 0x36ac), + CodeunitRange(0x36b0, 0x36b1), + CodeunitRange(0x36b5, 0x36b5), + CodeunitRange(0x36b9, 0x36b9), + CodeunitRange(0x36bc, 0x36bc), + CodeunitRange(0x36c1, 0x36c1), + CodeunitRange(0x36c3, 0x36c5), + CodeunitRange(0x36c7, 0x36c8), + CodeunitRange(0x36d3, 0x36d4), + CodeunitRange(0x36d6, 0x36d6), + CodeunitRange(0x36dd, 0x36dd), + CodeunitRange(0x36e1, 0x36e2), + CodeunitRange(0x36e5, 0x36e6), + CodeunitRange(0x36f5, 0x36f5), + CodeunitRange(0x3701, 0x3701), + CodeunitRange(0x3703, 0x3703), + CodeunitRange(0x3708, 0x3708), + CodeunitRange(0x370a, 0x370a), + CodeunitRange(0x370d, 0x370d), + CodeunitRange(0x371c, 0x371c), + CodeunitRange(0x3722, 0x3723), + CodeunitRange(0x3725, 0x3725), + CodeunitRange(0x372c, 0x372d), + CodeunitRange(0x3730, 0x3730), + CodeunitRange(0x3732, 0x3733), + CodeunitRange(0x373a, 0x373a), + CodeunitRange(0x3740, 0x3740), + CodeunitRange(0x3743, 0x3743), + CodeunitRange(0x3762, 0x3762), + CodeunitRange(0x376f, 0x376f), + CodeunitRange(0x3797, 0x3797), + CodeunitRange(0x37a0, 0x37a0), + CodeunitRange(0x37b9, 0x37b9), + CodeunitRange(0x37be, 0x37be), + CodeunitRange(0x37d6, 0x37d6), + CodeunitRange(0x37f2, 0x37f2), + CodeunitRange(0x37f8, 0x37f8), + CodeunitRange(0x37fb, 0x37fb), + CodeunitRange(0x380f, 0x380f), + CodeunitRange(0x3819, 0x3819), + CodeunitRange(0x3820, 0x3820), + CodeunitRange(0x382d, 0x382d), + CodeunitRange(0x3836, 0x3836), + CodeunitRange(0x3838, 0x3838), + CodeunitRange(0x3863, 0x3863), + CodeunitRange(0x3875, 0x3875), + CodeunitRange(0x38a0, 0x38a0), + CodeunitRange(0x38c3, 0x38c3), + CodeunitRange(0x38cc, 0x38cc), + CodeunitRange(0x38d1, 0x38d1), + CodeunitRange(0x38d4, 0x38d4), + CodeunitRange(0x38fa, 0x38fa), + CodeunitRange(0x3908, 0x3908), + CodeunitRange(0x3914, 0x3914), + CodeunitRange(0x3927, 0x3927), + CodeunitRange(0x3932, 0x3932), + CodeunitRange(0x393f, 0x393f), + CodeunitRange(0x394d, 0x394d), + CodeunitRange(0x3963, 0x3963), + CodeunitRange(0x3978, 0x3978), + CodeunitRange(0x3980, 0x3980), + CodeunitRange(0x3989, 0x398a), + CodeunitRange(0x3992, 0x3992), + CodeunitRange(0x3999, 0x3999), + CodeunitRange(0x399b, 0x399b), + CodeunitRange(0x39a1, 0x39a1), + CodeunitRange(0x39a4, 0x39a4), + CodeunitRange(0x39b8, 0x39b8), + CodeunitRange(0x39dc, 0x39dc), + CodeunitRange(0x39e2, 0x39e2), + CodeunitRange(0x39e5, 0x39e5), + CodeunitRange(0x39ec, 0x39ec), + CodeunitRange(0x39f8, 0x39f8), + CodeunitRange(0x39fb, 0x39fb), + CodeunitRange(0x39fe, 0x39fe), + CodeunitRange(0x3a01, 0x3a01), + CodeunitRange(0x3a03, 0x3a03), + CodeunitRange(0x3a06, 0x3a06), + CodeunitRange(0x3a17, 0x3a18), + CodeunitRange(0x3a29, 0x3a2a), + CodeunitRange(0x3a34, 0x3a34), + CodeunitRange(0x3a4b, 0x3a4b), + CodeunitRange(0x3a52, 0x3a52), + CodeunitRange(0x3a57, 0x3a57), + CodeunitRange(0x3a5c, 0x3a5c), + CodeunitRange(0x3a5e, 0x3a5e), + CodeunitRange(0x3a66, 0x3a67), + CodeunitRange(0x3a97, 0x3a97), + CodeunitRange(0x3aab, 0x3aab), + CodeunitRange(0x3abd, 0x3abd), + CodeunitRange(0x3ada, 0x3ada), + CodeunitRange(0x3ade, 0x3ade), + CodeunitRange(0x3ae0, 0x3ae0), + CodeunitRange(0x3af0, 0x3af0), + CodeunitRange(0x3af2, 0x3af2), + CodeunitRange(0x3af5, 0x3af5), + CodeunitRange(0x3afb, 0x3afb), + CodeunitRange(0x3b0e, 0x3b0e), + CodeunitRange(0x3b19, 0x3b19), + CodeunitRange(0x3b22, 0x3b22), + CodeunitRange(0x3b2b, 0x3b2b), + CodeunitRange(0x3b39, 0x3b39), + CodeunitRange(0x3b42, 0x3b42), + CodeunitRange(0x3b58, 0x3b58), + CodeunitRange(0x3b60, 0x3b60), + CodeunitRange(0x3b71, 0x3b72), + CodeunitRange(0x3b7b, 0x3b7c), + CodeunitRange(0x3b80, 0x3b80), + CodeunitRange(0x3b95, 0x3b96), + CodeunitRange(0x3b99, 0x3b99), + CodeunitRange(0x3ba1, 0x3ba1), + CodeunitRange(0x3bbc, 0x3bbc), + CodeunitRange(0x3bbe, 0x3bbe), + CodeunitRange(0x3bc2, 0x3bc2), + CodeunitRange(0x3bc4, 0x3bc4), + CodeunitRange(0x3bd7, 0x3bd7), + CodeunitRange(0x3bdd, 0x3bdd), + CodeunitRange(0x3bec, 0x3bec), + CodeunitRange(0x3bf2, 0x3bf4), + CodeunitRange(0x3c0d, 0x3c0d), + CodeunitRange(0x3c11, 0x3c11), + CodeunitRange(0x3c15, 0x3c15), + CodeunitRange(0x3c18, 0x3c18), + CodeunitRange(0x3c54, 0x3c54), + CodeunitRange(0x3c8b, 0x3c8b), + CodeunitRange(0x3ccb, 0x3ccb), + CodeunitRange(0x3ccd, 0x3ccd), + CodeunitRange(0x3cd1, 0x3cd1), + CodeunitRange(0x3cd6, 0x3cd6), + CodeunitRange(0x3cdc, 0x3cdc), + CodeunitRange(0x3ceb, 0x3ceb), + CodeunitRange(0x3cef, 0x3cef), + CodeunitRange(0x3d12, 0x3d13), + CodeunitRange(0x3d1d, 0x3d1d), + CodeunitRange(0x3d32, 0x3d32), + CodeunitRange(0x3d3b, 0x3d3b), + CodeunitRange(0x3d46, 0x3d46), + CodeunitRange(0x3d4c, 0x3d4c), + CodeunitRange(0x3d4e, 0x3d4e), + CodeunitRange(0x3d51, 0x3d51), + CodeunitRange(0x3d5f, 0x3d5f), + CodeunitRange(0x3d62, 0x3d62), + CodeunitRange(0x3d69, 0x3d6a), + CodeunitRange(0x3d6f, 0x3d6f), + CodeunitRange(0x3d75, 0x3d75), + CodeunitRange(0x3d7d, 0x3d7d), + CodeunitRange(0x3d85, 0x3d85), + CodeunitRange(0x3d88, 0x3d88), + CodeunitRange(0x3d8a, 0x3d8a), + CodeunitRange(0x3d8f, 0x3d8f), + CodeunitRange(0x3d91, 0x3d91), + CodeunitRange(0x3da5, 0x3da5), + CodeunitRange(0x3dad, 0x3dad), + CodeunitRange(0x3db4, 0x3db4), + CodeunitRange(0x3dbf, 0x3dbf), + CodeunitRange(0x3dc6, 0x3dc7), + CodeunitRange(0x3dc9, 0x3dc9), + CodeunitRange(0x3dcc, 0x3dcd), + CodeunitRange(0x3dd3, 0x3dd3), + CodeunitRange(0x3ddb, 0x3ddb), + CodeunitRange(0x3de7, 0x3de8), + CodeunitRange(0x3deb, 0x3deb), + CodeunitRange(0x3df3, 0x3df4), + CodeunitRange(0x3df7, 0x3df7), + CodeunitRange(0x3dfc, 0x3dfd), + CodeunitRange(0x3e06, 0x3e06), + CodeunitRange(0x3e40, 0x3e40), + CodeunitRange(0x3e43, 0x3e43), + CodeunitRange(0x3e48, 0x3e48), + CodeunitRange(0x3e55, 0x3e55), + CodeunitRange(0x3e74, 0x3e74), + CodeunitRange(0x3ea8, 0x3eaa), + CodeunitRange(0x3ead, 0x3ead), + CodeunitRange(0x3eb1, 0x3eb1), + CodeunitRange(0x3eb8, 0x3eb8), + CodeunitRange(0x3ebf, 0x3ebf), + CodeunitRange(0x3ec2, 0x3ec2), + CodeunitRange(0x3ec7, 0x3ec7), + CodeunitRange(0x3eca, 0x3eca), + CodeunitRange(0x3ecc, 0x3ecc), + CodeunitRange(0x3ed0, 0x3ed1), + CodeunitRange(0x3ed6, 0x3ed7), + CodeunitRange(0x3eda, 0x3edb), + CodeunitRange(0x3ede, 0x3ede), + CodeunitRange(0x3ee1, 0x3ee2), + CodeunitRange(0x3ee7, 0x3ee7), + CodeunitRange(0x3ee9, 0x3ee9), + CodeunitRange(0x3eeb, 0x3eec), + CodeunitRange(0x3ef0, 0x3ef0), + CodeunitRange(0x3ef3, 0x3ef4), + CodeunitRange(0x3efa, 0x3efa), + CodeunitRange(0x3efc, 0x3efc), + CodeunitRange(0x3eff, 0x3f00), + CodeunitRange(0x3f04, 0x3f04), + CodeunitRange(0x3f06, 0x3f07), + CodeunitRange(0x3f0e, 0x3f0e), + CodeunitRange(0x3f53, 0x3f53), + CodeunitRange(0x3f58, 0x3f59), + CodeunitRange(0x3f63, 0x3f63), + CodeunitRange(0x3f7c, 0x3f7c), + CodeunitRange(0x3f93, 0x3f93), + CodeunitRange(0x3fc0, 0x3fc0), + CodeunitRange(0x3fc8, 0x3fc8), + CodeunitRange(0x3fd7, 0x3fd7), + CodeunitRange(0x3fdc, 0x3fdc), + CodeunitRange(0x3fe5, 0x3fe5), + CodeunitRange(0x3fed, 0x3fed), + CodeunitRange(0x3ff9, 0x3ffa), + CodeunitRange(0x4004, 0x4004), + CodeunitRange(0x4009, 0x4009), + CodeunitRange(0x401d, 0x401d), + CodeunitRange(0x4039, 0x4039), + CodeunitRange(0x4045, 0x4045), + CodeunitRange(0x4053, 0x4053), + CodeunitRange(0x4057, 0x4057), + CodeunitRange(0x4062, 0x4062), + CodeunitRange(0x4065, 0x4065), + CodeunitRange(0x406a, 0x406a), + CodeunitRange(0x406f, 0x406f), + CodeunitRange(0x4071, 0x4071), + CodeunitRange(0x40a8, 0x40a8), + CodeunitRange(0x40b4, 0x40b4), + CodeunitRange(0x40bb, 0x40bb), + CodeunitRange(0x40bf, 0x40bf), + CodeunitRange(0x40c8, 0x40c8), + CodeunitRange(0x40d8, 0x40d8), + CodeunitRange(0x40df, 0x40df), + CodeunitRange(0x40f8, 0x40f8), + CodeunitRange(0x40fa, 0x40fa), + CodeunitRange(0x4102, 0x4104), + CodeunitRange(0x4109, 0x4109), + CodeunitRange(0x410e, 0x410e), + CodeunitRange(0x4131, 0x4132), + CodeunitRange(0x4167, 0x4167), + CodeunitRange(0x416c, 0x416c), + CodeunitRange(0x416e, 0x416e), + CodeunitRange(0x417c, 0x417c), + CodeunitRange(0x417f, 0x417f), + CodeunitRange(0x4181, 0x4181), + CodeunitRange(0x4190, 0x4190), + CodeunitRange(0x41b2, 0x41b2), + CodeunitRange(0x41c4, 0x41c4), + CodeunitRange(0x41ca, 0x41ca), + CodeunitRange(0x41cf, 0x41cf), + CodeunitRange(0x41db, 0x41db), + CodeunitRange(0x41ed, 0x41ed), + CodeunitRange(0x41ef, 0x41ef), + CodeunitRange(0x41f9, 0x41f9), + CodeunitRange(0x4211, 0x4211), + CodeunitRange(0x4223, 0x4223), + CodeunitRange(0x4240, 0x4240), + CodeunitRange(0x4260, 0x4260), + CodeunitRange(0x426a, 0x426a), + CodeunitRange(0x4276, 0x4276), + CodeunitRange(0x427a, 0x427a), + CodeunitRange(0x428c, 0x428c), + CodeunitRange(0x4294, 0x4294), + CodeunitRange(0x42a2, 0x42a2), + CodeunitRange(0x42b5, 0x42b5), + CodeunitRange(0x42b9, 0x42b9), + CodeunitRange(0x42bc, 0x42bc), + CodeunitRange(0x42f4, 0x42f4), + CodeunitRange(0x42fb, 0x42fc), + CodeunitRange(0x430a, 0x430a), + CodeunitRange(0x432b, 0x432b), + CodeunitRange(0x436e, 0x436e), + CodeunitRange(0x4397, 0x4397), + CodeunitRange(0x439a, 0x439a), + CodeunitRange(0x43ba, 0x43ba), + CodeunitRange(0x43c1, 0x43c1), + CodeunitRange(0x43d9, 0x43d9), + CodeunitRange(0x43df, 0x43df), + CodeunitRange(0x43ed, 0x43ed), + CodeunitRange(0x43f0, 0x43f0), + CodeunitRange(0x43f2, 0x43f2), + CodeunitRange(0x4401, 0x4402), + CodeunitRange(0x4413, 0x4413), + CodeunitRange(0x4425, 0x4425), + CodeunitRange(0x442d, 0x442d), + CodeunitRange(0x447a, 0x447a), + CodeunitRange(0x448f, 0x448f), + CodeunitRange(0x4491, 0x4491), + CodeunitRange(0x449f, 0x44a0), + CodeunitRange(0x44a2, 0x44a2), + CodeunitRange(0x44b0, 0x44b0), + CodeunitRange(0x44b7, 0x44b7), + CodeunitRange(0x44bd, 0x44bd), + CodeunitRange(0x44c0, 0x44c0), + CodeunitRange(0x44c3, 0x44c3), + CodeunitRange(0x44c5, 0x44c5), + CodeunitRange(0x44ce, 0x44ce), + CodeunitRange(0x44dd, 0x44df), + CodeunitRange(0x44e1, 0x44e1), + CodeunitRange(0x44e4, 0x44e4), + CodeunitRange(0x44e9, 0x44ec), + CodeunitRange(0x44f4, 0x44f4), + CodeunitRange(0x4503, 0x4504), + CodeunitRange(0x4509, 0x4509), + CodeunitRange(0x450b, 0x450b), + CodeunitRange(0x4516, 0x4516), + CodeunitRange(0x451b, 0x451b), + CodeunitRange(0x451d, 0x451d), + CodeunitRange(0x4527, 0x4527), + CodeunitRange(0x452e, 0x452e), + CodeunitRange(0x4533, 0x4533), + CodeunitRange(0x4536, 0x4536), + CodeunitRange(0x453b, 0x453b), + CodeunitRange(0x453d, 0x453d), + CodeunitRange(0x453f, 0x453f), + CodeunitRange(0x4543, 0x4543), + CodeunitRange(0x4551, 0x4552), + CodeunitRange(0x4555, 0x4555), + CodeunitRange(0x4558, 0x4558), + CodeunitRange(0x455c, 0x455c), + CodeunitRange(0x4561, 0x4562), + CodeunitRange(0x456a, 0x456a), + CodeunitRange(0x456d, 0x456d), + CodeunitRange(0x4577, 0x4578), + CodeunitRange(0x4585, 0x4585), + CodeunitRange(0x45a6, 0x45a6), + CodeunitRange(0x45b3, 0x45b3), + CodeunitRange(0x45da, 0x45da), + CodeunitRange(0x45e9, 0x45ea), + CodeunitRange(0x4603, 0x4603), + CodeunitRange(0x4606, 0x4606), + CodeunitRange(0x460f, 0x460f), + CodeunitRange(0x4615, 0x4615), + CodeunitRange(0x4617, 0x4617), + CodeunitRange(0x465b, 0x465b), + CodeunitRange(0x467a, 0x467a), + CodeunitRange(0x4680, 0x4680), + CodeunitRange(0x46a1, 0x46a1), + CodeunitRange(0x46ae, 0x46ae), + CodeunitRange(0x46bb, 0x46bb), + CodeunitRange(0x46cf, 0x46d0), + CodeunitRange(0x46f5, 0x46f5), + CodeunitRange(0x46f7, 0x46f7), + CodeunitRange(0x4713, 0x4713), + CodeunitRange(0x4718, 0x4718), + CodeunitRange(0x4736, 0x4736), + CodeunitRange(0x4744, 0x4744), + CodeunitRange(0x474e, 0x474f), + CodeunitRange(0x477c, 0x477c), + CodeunitRange(0x4798, 0x4798), + CodeunitRange(0x47a6, 0x47a6), + CodeunitRange(0x47d5, 0x47d5), + CodeunitRange(0x47ed, 0x47ed), + CodeunitRange(0x47f4, 0x47f4), + CodeunitRange(0x4800, 0x4800), + CodeunitRange(0x480b, 0x480b), + CodeunitRange(0x4837, 0x4837), + CodeunitRange(0x485d, 0x485d), + CodeunitRange(0x4871, 0x4871), + CodeunitRange(0x489b, 0x489b), + CodeunitRange(0x48ad, 0x48ae), + CodeunitRange(0x48d0, 0x48d0), + CodeunitRange(0x48dd, 0x48dd), + CodeunitRange(0x48ed, 0x48ed), + CodeunitRange(0x48f3, 0x48f3), + CodeunitRange(0x48fa, 0x48fa), + CodeunitRange(0x4906, 0x4906), + CodeunitRange(0x4911, 0x4911), + CodeunitRange(0x491e, 0x491e), + CodeunitRange(0x4925, 0x4925), + CodeunitRange(0x492a, 0x492a), + CodeunitRange(0x492d, 0x492d), + CodeunitRange(0x492f, 0x4930), + CodeunitRange(0x4935, 0x4935), + CodeunitRange(0x493c, 0x493c), + CodeunitRange(0x493e, 0x493e), + CodeunitRange(0x4945, 0x4945), + CodeunitRange(0x4951, 0x4951), + CodeunitRange(0x4953, 0x4953), + CodeunitRange(0x4965, 0x4965), + CodeunitRange(0x496a, 0x496a), + CodeunitRange(0x4972, 0x4972), + CodeunitRange(0x4989, 0x4989), + CodeunitRange(0x49a1, 0x49a1), + CodeunitRange(0x49a7, 0x49a7), + CodeunitRange(0x49df, 0x49df), + CodeunitRange(0x49e5, 0x49e5), + CodeunitRange(0x49e7, 0x49e7), + CodeunitRange(0x4a0f, 0x4a0f), + CodeunitRange(0x4a1d, 0x4a1d), + CodeunitRange(0x4a24, 0x4a24), + CodeunitRange(0x4a35, 0x4a35), + CodeunitRange(0x4a96, 0x4a96), + CodeunitRange(0x4aa4, 0x4aa4), + CodeunitRange(0x4ab4, 0x4ab4), + CodeunitRange(0x4ab8, 0x4ab8), + CodeunitRange(0x4ad1, 0x4ad1), + CodeunitRange(0x4ae4, 0x4ae4), + CodeunitRange(0x4aff, 0x4aff), + CodeunitRange(0x4b10, 0x4b10), + CodeunitRange(0x4b19, 0x4b19), + CodeunitRange(0x4b20, 0x4b20), + CodeunitRange(0x4b2c, 0x4b2c), + CodeunitRange(0x4b37, 0x4b37), + CodeunitRange(0x4b6f, 0x4b70), + CodeunitRange(0x4b72, 0x4b72), + CodeunitRange(0x4b7b, 0x4b7b), + CodeunitRange(0x4b7e, 0x4b7e), + CodeunitRange(0x4b8e, 0x4b8e), + CodeunitRange(0x4b90, 0x4b90), + CodeunitRange(0x4b93, 0x4b93), + CodeunitRange(0x4b96, 0x4b97), + CodeunitRange(0x4b9d, 0x4b9d), + CodeunitRange(0x4bbd, 0x4bbe), + CodeunitRange(0x4bc0, 0x4bc0), + CodeunitRange(0x4c04, 0x4c04), + CodeunitRange(0x4c07, 0x4c07), + CodeunitRange(0x4c0e, 0x4c0e), + CodeunitRange(0x4c32, 0x4c32), + CodeunitRange(0x4c3b, 0x4c3b), + CodeunitRange(0x4c3e, 0x4c3e), + CodeunitRange(0x4c40, 0x4c40), + CodeunitRange(0x4c47, 0x4c47), + CodeunitRange(0x4c57, 0x4c57), + CodeunitRange(0x4c5b, 0x4c5b), + CodeunitRange(0x4c6d, 0x4c6d), + CodeunitRange(0x4c77, 0x4c77), + CodeunitRange(0x4c7b, 0x4c7b), + CodeunitRange(0x4c7d, 0x4c7d), + CodeunitRange(0x4c81, 0x4c81), + CodeunitRange(0x4c85, 0x4c85), + CodeunitRange(0x4ca4, 0x4ca4), + CodeunitRange(0x4cae, 0x4cae), + CodeunitRange(0x4cb0, 0x4cb0), + CodeunitRange(0x4cb7, 0x4cb7), + CodeunitRange(0x4ccd, 0x4ccd), + CodeunitRange(0x4ce1, 0x4ce2), + CodeunitRange(0x4ced, 0x4ced), + CodeunitRange(0x4d07, 0x4d07), + CodeunitRange(0x4d09, 0x4d09), + CodeunitRange(0x4d10, 0x4d10), + CodeunitRange(0x4d34, 0x4d34), + CodeunitRange(0x4d76, 0x4d77), + CodeunitRange(0x4d89, 0x4d89), + CodeunitRange(0x4d91, 0x4d91), + CodeunitRange(0x4d9c, 0x4d9c), + CodeunitRange(0x4e00, 0x4e01), + CodeunitRange(0x4e03, 0x4e04), + CodeunitRange(0x4e07, 0x4e11), + CodeunitRange(0x4e14, 0x4e16), + CodeunitRange(0x4e18, 0x4e1a), + CodeunitRange(0x4e1c, 0x4e1c), + CodeunitRange(0x4e1e, 0x4e1f), + CodeunitRange(0x4e21, 0x4e22), + CodeunitRange(0x4e24, 0x4e24), + CodeunitRange(0x4e26, 0x4e26), + CodeunitRange(0x4e28, 0x4e28), + CodeunitRange(0x4e2a, 0x4e33), + CodeunitRange(0x4e36, 0x4e39), + CodeunitRange(0x4e3b, 0x4e3d), + CodeunitRange(0x4e3f, 0x4e3f), + CodeunitRange(0x4e42, 0x4e43), + CodeunitRange(0x4e45, 0x4e45), + CodeunitRange(0x4e47, 0x4e49), + CodeunitRange(0x4e4b, 0x4e4b), + CodeunitRange(0x4e4d, 0x4e4f), + CodeunitRange(0x4e52, 0x4e53), + CodeunitRange(0x4e56, 0x4e56), + CodeunitRange(0x4e58, 0x4e5f), + CodeunitRange(0x4e69, 0x4e6a), + CodeunitRange(0x4e73, 0x4e73), + CodeunitRange(0x4e78, 0x4e78), + CodeunitRange(0x4e7e, 0x4e89), + CodeunitRange(0x4e8b, 0x4e8e), + CodeunitRange(0x4e91, 0x4e95), + CodeunitRange(0x4e98, 0x4e9b), + CodeunitRange(0x4e9e, 0x4ea6), + CodeunitRange(0x4ea8, 0x4ea8), + CodeunitRange(0x4eab, 0x4eae), + CodeunitRange(0x4eb3, 0x4eb3), + CodeunitRange(0x4eb6, 0x4eb7), + CodeunitRange(0x4eb9, 0x4ebc), + CodeunitRange(0x4ebf, 0x4ec4), + CodeunitRange(0x4ec6, 0x4ecb), + CodeunitRange(0x4ecd, 0x4ece), + CodeunitRange(0x4ed4, 0x4eda), + CodeunitRange(0x4edc, 0x4edf), + CodeunitRange(0x4ee1, 0x4ee1), + CodeunitRange(0x4ee3, 0x4ee5), + CodeunitRange(0x4ee8, 0x4eeb), + CodeunitRange(0x4eee, 0x4eee), + CodeunitRange(0x4ef0, 0x4ef8), + CodeunitRange(0x4efb, 0x4efb), + CodeunitRange(0x4efd, 0x4efd), + CodeunitRange(0x4eff, 0x4f05), + CodeunitRange(0x4f08, 0x4f0b), + CodeunitRange(0x4f0d, 0x4f15), + CodeunitRange(0x4f17, 0x4f1a), + CodeunitRange(0x4f1d, 0x4f1d), + CodeunitRange(0x4f22, 0x4f22), + CodeunitRange(0x4f28, 0x4f29), + CodeunitRange(0x4f2c, 0x4f2d), + CodeunitRange(0x4f2f, 0x4f30), + CodeunitRange(0x4f32, 0x4f34), + CodeunitRange(0x4f36, 0x4f3f), + CodeunitRange(0x4f41, 0x4f43), + CodeunitRange(0x4f45, 0x4f49), + CodeunitRange(0x4f4b, 0x4f64), + CodeunitRange(0x4f67, 0x4f67), + CodeunitRange(0x4f69, 0x4f6c), + CodeunitRange(0x4f6e, 0x4f70), + CodeunitRange(0x4f72, 0x4f8b), + CodeunitRange(0x4f8d, 0x4f8d), + CodeunitRange(0x4f8f, 0x4f92), + CodeunitRange(0x4f94, 0x4f98), + CodeunitRange(0x4f9a, 0x4f9e), + CodeunitRange(0x4fa2, 0x4fa2), + CodeunitRange(0x4fa8, 0x4fa8), + CodeunitRange(0x4fab, 0x4fab), + CodeunitRange(0x4fae, 0x4fb0), + CodeunitRange(0x4fb2, 0x4fb7), + CodeunitRange(0x4fb9, 0x4fbb), + CodeunitRange(0x4fbd, 0x4fbd), + CodeunitRange(0x4fbf, 0x4fc5), + CodeunitRange(0x4fc7, 0x4fd1), + CodeunitRange(0x4fd3, 0x4fd4), + CodeunitRange(0x4fd6, 0x4fe1), + CodeunitRange(0x4fe4, 0x4fe5), + CodeunitRange(0x4fec, 0x4fec), + CodeunitRange(0x4fee, 0x4ffa), + CodeunitRange(0x4ffd, 0x4ffe), + CodeunitRange(0x5000, 0x5000), + CodeunitRange(0x5003, 0x5003), + CodeunitRange(0x5005, 0x5009), + CodeunitRange(0x500b, 0x500f), + CodeunitRange(0x5011, 0x501c), + CodeunitRange(0x501e, 0x5023), + CodeunitRange(0x5025, 0x5031), + CodeunitRange(0x5033, 0x5035), + CodeunitRange(0x5037, 0x5037), + CodeunitRange(0x503b, 0x503c), + CodeunitRange(0x5040, 0x5041), + CodeunitRange(0x5043, 0x5043), + CodeunitRange(0x5045, 0x504f), + CodeunitRange(0x5051, 0x5051), + CodeunitRange(0x5053, 0x5053), + CodeunitRange(0x5055, 0x5058), + CodeunitRange(0x505a, 0x5066), + CodeunitRange(0x5068, 0x5070), + CodeunitRange(0x5072, 0x5077), + CodeunitRange(0x507a, 0x507a), + CodeunitRange(0x507d, 0x507d), + CodeunitRange(0x5080, 0x5083), + CodeunitRange(0x5085, 0x5085), + CodeunitRange(0x5087, 0x5088), + CodeunitRange(0x508b, 0x508e), + CodeunitRange(0x5090, 0x5092), + CodeunitRange(0x5094, 0x5096), + CodeunitRange(0x5098, 0x509e), + CodeunitRange(0x50a2, 0x50a3), + CodeunitRange(0x50a6, 0x50a6), + CodeunitRange(0x50ac, 0x50b8), + CodeunitRange(0x50ba, 0x50bf), + CodeunitRange(0x50c1, 0x50c2), + CodeunitRange(0x50c4, 0x50cb), + CodeunitRange(0x50cd, 0x50d1), + CodeunitRange(0x50d3, 0x50d7), + CodeunitRange(0x50d9, 0x50db), + CodeunitRange(0x50dd, 0x50dd), + CodeunitRange(0x50df, 0x50e1), + CodeunitRange(0x50e3, 0x50ea), + CodeunitRange(0x50ec, 0x50f1), + CodeunitRange(0x50f3, 0x50f6), + CodeunitRange(0x50f8, 0x50f9), + CodeunitRange(0x50fb, 0x510e), + CodeunitRange(0x5110, 0x5115), + CodeunitRange(0x5117, 0x5118), + CodeunitRange(0x511a, 0x511a), + CodeunitRange(0x511c, 0x511c), + CodeunitRange(0x511f, 0x5122), + CodeunitRange(0x5124, 0x5126), + CodeunitRange(0x5129, 0x512b), + CodeunitRange(0x512d, 0x512e), + CodeunitRange(0x5130, 0x5135), + CodeunitRange(0x5137, 0x513d), + CodeunitRange(0x513f, 0x5141), + CodeunitRange(0x5143, 0x5149), + CodeunitRange(0x514b, 0x514d), + CodeunitRange(0x5151, 0x5152), + CodeunitRange(0x5154, 0x5157), + CodeunitRange(0x5159, 0x5163), + CodeunitRange(0x5165, 0x5165), + CodeunitRange(0x5167, 0x516e), + CodeunitRange(0x5171, 0x5171), + CodeunitRange(0x5174, 0x5179), + CodeunitRange(0x517c, 0x517c), + CodeunitRange(0x5180, 0x5180), + CodeunitRange(0x5182, 0x5182), + CodeunitRange(0x5186, 0x518a), + CodeunitRange(0x518d, 0x518d), + CodeunitRange(0x518f, 0x518f), + CodeunitRange(0x5191, 0x5198), + CodeunitRange(0x519a, 0x519a), + CodeunitRange(0x519c, 0x519c), + CodeunitRange(0x519e, 0x519e), + CodeunitRange(0x51a0, 0x51a0), + CodeunitRange(0x51a2, 0x51a2), + CodeunitRange(0x51a4, 0x51a5), + CodeunitRange(0x51a7, 0x51a8), + CodeunitRange(0x51aa, 0x51ac), + CodeunitRange(0x51ae, 0x51ae), + CodeunitRange(0x51b0, 0x51b9), + CodeunitRange(0x51bc, 0x51be), + CodeunitRange(0x51c3, 0x51d4), + CodeunitRange(0x51d7, 0x51d8), + CodeunitRange(0x51db, 0x51e2), + CodeunitRange(0x51e4, 0x51e4), + CodeunitRange(0x51ed, 0x51ed), + CodeunitRange(0x51f0, 0x51f1), + CodeunitRange(0x51f3, 0x51f6), + CodeunitRange(0x51f8, 0x51fa), + CodeunitRange(0x51fc, 0x51fe), + CodeunitRange(0x5200, 0x5203), + CodeunitRange(0x5205, 0x520c), + CodeunitRange(0x520e, 0x520e), + CodeunitRange(0x5210, 0x5213), + CodeunitRange(0x5216, 0x5217), + CodeunitRange(0x521c, 0x5221), + CodeunitRange(0x5224, 0x522a), + CodeunitRange(0x522e, 0x522e), + CodeunitRange(0x5230, 0x5238), + CodeunitRange(0x523a, 0x523c), + CodeunitRange(0x5241, 0x5241), + CodeunitRange(0x5243, 0x5244), + CodeunitRange(0x5246, 0x5247), + CodeunitRange(0x5249, 0x524f), + CodeunitRange(0x5252, 0x5252), + CodeunitRange(0x5254, 0x5257), + CodeunitRange(0x5259, 0x5262), + CodeunitRange(0x5268, 0x526f), + CodeunitRange(0x5272, 0x5275), + CodeunitRange(0x5277, 0x527d), + CodeunitRange(0x527f, 0x5284), + CodeunitRange(0x5287, 0x528d), + CodeunitRange(0x528f, 0x5291), + CodeunitRange(0x5293, 0x5294), + CodeunitRange(0x5296, 0x529b), + CodeunitRange(0x529f, 0x52a1), + CodeunitRange(0x52a3, 0x52a4), + CodeunitRange(0x52a6, 0x52a6), + CodeunitRange(0x52a8, 0x52ae), + CodeunitRange(0x52b5, 0x52b5), + CodeunitRange(0x52b9, 0x52b9), + CodeunitRange(0x52bb, 0x52bc), + CodeunitRange(0x52be, 0x52be), + CodeunitRange(0x52c0, 0x52c3), + CodeunitRange(0x52c5, 0x52c5), + CodeunitRange(0x52c7, 0x52c7), + CodeunitRange(0x52c9, 0x52c9), + CodeunitRange(0x52cc, 0x52cd), + CodeunitRange(0x52d0, 0x52d3), + CodeunitRange(0x52d5, 0x52d9), + CodeunitRange(0x52db, 0x52db), + CodeunitRange(0x52dd, 0x52e4), + CodeunitRange(0x52e6, 0x52e6), + CodeunitRange(0x52e9, 0x52e9), + CodeunitRange(0x52eb, 0x52eb), + CodeunitRange(0x52ef, 0x52f1), + CodeunitRange(0x52f3, 0x52f5), + CodeunitRange(0x52f7, 0x52fc), + CodeunitRange(0x52fe, 0x52ff), + CodeunitRange(0x5301, 0x5301), + CodeunitRange(0x5305, 0x5306), + CodeunitRange(0x5308, 0x530b), + CodeunitRange(0x530d, 0x5312), + CodeunitRange(0x5315, 0x5317), + CodeunitRange(0x5319, 0x531a), + CodeunitRange(0x531c, 0x531d), + CodeunitRange(0x531f, 0x5324), + CodeunitRange(0x5327, 0x5327), + CodeunitRange(0x532a, 0x532a), + CodeunitRange(0x532c, 0x532d), + CodeunitRange(0x532f, 0x5334), + CodeunitRange(0x5337, 0x5339), + CodeunitRange(0x533b, 0x5345), + CodeunitRange(0x5347, 0x534a), + CodeunitRange(0x534c, 0x534e), + CodeunitRange(0x5351, 0x5354), + CodeunitRange(0x5357, 0x5357), + CodeunitRange(0x535a, 0x535a), + CodeunitRange(0x535c, 0x5361), + CodeunitRange(0x5363, 0x5364), + CodeunitRange(0x5366, 0x5367), + CodeunitRange(0x5369, 0x5369), + CodeunitRange(0x536c, 0x5375), + CodeunitRange(0x5377, 0x5379), + CodeunitRange(0x537b, 0x537f), + CodeunitRange(0x5382, 0x5382), + CodeunitRange(0x5384, 0x5384), + CodeunitRange(0x538a, 0x538a), + CodeunitRange(0x538e, 0x538f), + CodeunitRange(0x5392, 0x5394), + CodeunitRange(0x5396, 0x539a), + CodeunitRange(0x539c, 0x53a0), + CodeunitRange(0x53a2, 0x53a2), + CodeunitRange(0x53a4, 0x53ae), + CodeunitRange(0x53b0, 0x53b0), + CodeunitRange(0x53b2, 0x53b2), + CodeunitRange(0x53b4, 0x53b4), + CodeunitRange(0x53b6, 0x53b6), + CodeunitRange(0x53b9, 0x53b9), + CodeunitRange(0x53bb, 0x53bb), + CodeunitRange(0x53c1, 0x53c3), + CodeunitRange(0x53c5, 0x53c5), + CodeunitRange(0x53c8, 0x53cd), + CodeunitRange(0x53d0, 0x53d2), + CodeunitRange(0x53d4, 0x53d4), + CodeunitRange(0x53d6, 0x53db), + CodeunitRange(0x53df, 0x53e6), + CodeunitRange(0x53e8, 0x53f3), + CodeunitRange(0x53f5, 0x53f8), + CodeunitRange(0x53fb, 0x53fc), + CodeunitRange(0x53fe, 0x53fe), + CodeunitRange(0x5401, 0x5401), + CodeunitRange(0x5403, 0x5404), + CodeunitRange(0x5406, 0x5414), + CodeunitRange(0x5416, 0x5416), + CodeunitRange(0x5418, 0x5421), + CodeunitRange(0x5423, 0x5439), + CodeunitRange(0x543b, 0x5443), + CodeunitRange(0x5445, 0x5448), + CodeunitRange(0x544a, 0x544f), + CodeunitRange(0x5454, 0x5454), + CodeunitRange(0x5460, 0x546d), + CodeunitRange(0x546f, 0x5478), + CodeunitRange(0x547a, 0x5482), + CodeunitRange(0x5484, 0x5488), + CodeunitRange(0x548b, 0x5498), + CodeunitRange(0x549a, 0x549a), + CodeunitRange(0x549c, 0x549c), + CodeunitRange(0x549e, 0x549e), + CodeunitRange(0x54a0, 0x54b4), + CodeunitRange(0x54b6, 0x54c9), + CodeunitRange(0x54cb, 0x54d0), + CodeunitRange(0x54d6, 0x54d6), + CodeunitRange(0x54da, 0x54da), + CodeunitRange(0x54de, 0x54de), + CodeunitRange(0x54e0, 0x54eb), + CodeunitRange(0x54ed, 0x54ef), + CodeunitRange(0x54f1, 0x54f3), + CodeunitRange(0x54f7, 0x54f8), + CodeunitRange(0x54fa, 0x54fd), + CodeunitRange(0x54ff, 0x54ff), + CodeunitRange(0x5501, 0x5514), + CodeunitRange(0x5517, 0x5518), + CodeunitRange(0x551a, 0x551a), + CodeunitRange(0x551e, 0x551e), + CodeunitRange(0x5523, 0x5523), + CodeunitRange(0x5525, 0x5528), + CodeunitRange(0x552a, 0x5539), + CodeunitRange(0x553b, 0x553c), + CodeunitRange(0x553e, 0x5541), + CodeunitRange(0x5543, 0x554b), + CodeunitRange(0x554d, 0x5553), + CodeunitRange(0x5555, 0x5557), + CodeunitRange(0x555c, 0x555f), + CodeunitRange(0x5561, 0x5566), + CodeunitRange(0x5569, 0x556b), + CodeunitRange(0x5571, 0x5573), + CodeunitRange(0x5575, 0x5577), + CodeunitRange(0x5579, 0x5579), + CodeunitRange(0x557b, 0x5584), + CodeunitRange(0x5586, 0x5595), + CodeunitRange(0x5598, 0x559a), + CodeunitRange(0x559c, 0x559d), + CodeunitRange(0x559f, 0x559f), + CodeunitRange(0x55a1, 0x55ae), + CodeunitRange(0x55b0, 0x55b5), + CodeunitRange(0x55b9, 0x55bc), + CodeunitRange(0x55bf, 0x55df), + CodeunitRange(0x55e1, 0x55ea), + CodeunitRange(0x55ec, 0x55ec), + CodeunitRange(0x55ee, 0x55f2), + CodeunitRange(0x55f5, 0x55f7), + CodeunitRange(0x55f9, 0x5602), + CodeunitRange(0x5604, 0x5606), + CodeunitRange(0x5608, 0x5609), + CodeunitRange(0x560c, 0x5617), + CodeunitRange(0x561b, 0x5623), + CodeunitRange(0x5625, 0x5625), + CodeunitRange(0x5627, 0x5627), + CodeunitRange(0x5629, 0x562a), + CodeunitRange(0x562c, 0x5630), + CodeunitRange(0x5632, 0x563b), + CodeunitRange(0x563d, 0x5643), + CodeunitRange(0x5645, 0x5646), + CodeunitRange(0x5648, 0x564a), + CodeunitRange(0x564c, 0x5650), + CodeunitRange(0x5652, 0x5654), + CodeunitRange(0x5657, 0x565a), + CodeunitRange(0x565d, 0x565e), + CodeunitRange(0x5660, 0x5666), + CodeunitRange(0x5668, 0x5674), + CodeunitRange(0x5676, 0x567c), + CodeunitRange(0x567e, 0x5687), + CodeunitRange(0x5689, 0x5690), + CodeunitRange(0x5692, 0x5693), + CodeunitRange(0x5695, 0x5695), + CodeunitRange(0x5697, 0x569a), + CodeunitRange(0x569c, 0x569f), + CodeunitRange(0x56a1, 0x56a1), + CodeunitRange(0x56a4, 0x56a8), + CodeunitRange(0x56aa, 0x56af), + CodeunitRange(0x56b1, 0x56b7), + CodeunitRange(0x56b9, 0x56b9), + CodeunitRange(0x56bc, 0x56c3), + CodeunitRange(0x56c5, 0x56c6), + CodeunitRange(0x56c8, 0x56cd), + CodeunitRange(0x56d1, 0x56d1), + CodeunitRange(0x56d3, 0x56d4), + CodeunitRange(0x56d6, 0x56d7), + CodeunitRange(0x56da, 0x56db), + CodeunitRange(0x56dd, 0x56e2), + CodeunitRange(0x56e4, 0x56e5), + CodeunitRange(0x56e7, 0x56e7), + CodeunitRange(0x56ea, 0x56eb), + CodeunitRange(0x56ed, 0x56f1), + CodeunitRange(0x56f7, 0x56f7), + CodeunitRange(0x56f9, 0x56fb), + CodeunitRange(0x56fd, 0x56fd), + CodeunitRange(0x56ff, 0x5704), + CodeunitRange(0x5707, 0x570d), + CodeunitRange(0x5712, 0x5716), + CodeunitRange(0x5718, 0x5718), + CodeunitRange(0x571a, 0x5720), + CodeunitRange(0x5722, 0x5723), + CodeunitRange(0x5728, 0x572a), + CodeunitRange(0x572c, 0x5730), + CodeunitRange(0x5732, 0x5734), + CodeunitRange(0x573b, 0x573b), + CodeunitRange(0x573d, 0x5743), + CodeunitRange(0x5745, 0x5747), + CodeunitRange(0x5749, 0x5752), + CodeunitRange(0x5754, 0x5754), + CodeunitRange(0x5757, 0x5757), + CodeunitRange(0x575b, 0x575b), + CodeunitRange(0x575f, 0x575f), + CodeunitRange(0x5761, 0x5762), + CodeunitRange(0x5764, 0x5764), + CodeunitRange(0x5766, 0x576b), + CodeunitRange(0x576d, 0x576d), + CodeunitRange(0x576f, 0x5777), + CodeunitRange(0x577a, 0x5780), + CodeunitRange(0x5782, 0x5783), + CodeunitRange(0x5788, 0x5788), + CodeunitRange(0x578a, 0x578d), + CodeunitRange(0x578f, 0x5790), + CodeunitRange(0x5793, 0x5795), + CodeunitRange(0x5797, 0x57a5), + CodeunitRange(0x57a7, 0x57a7), + CodeunitRange(0x57aa, 0x57aa), + CodeunitRange(0x57ae, 0x57ae), + CodeunitRange(0x57b3, 0x57b6), + CodeunitRange(0x57b8, 0x57bf), + CodeunitRange(0x57c1, 0x57c4), + CodeunitRange(0x57c6, 0x57c8), + CodeunitRange(0x57cb, 0x57cc), + CodeunitRange(0x57ce, 0x57d0), + CodeunitRange(0x57d2, 0x57d2), + CodeunitRange(0x57d4, 0x57d5), + CodeunitRange(0x57d7, 0x57d7), + CodeunitRange(0x57dc, 0x57e7), + CodeunitRange(0x57e9, 0x57e9), + CodeunitRange(0x57ec, 0x57fe), + CodeunitRange(0x5800, 0x580e), + CodeunitRange(0x5810, 0x5810), + CodeunitRange(0x5812, 0x5812), + CodeunitRange(0x5814, 0x5814), + CodeunitRange(0x5818, 0x5819), + CodeunitRange(0x581b, 0x581e), + CodeunitRange(0x5820, 0x582a), + CodeunitRange(0x582c, 0x583b), + CodeunitRange(0x583d, 0x583d), + CodeunitRange(0x583f, 0x5840), + CodeunitRange(0x5844, 0x5844), + CodeunitRange(0x5847, 0x584f), + CodeunitRange(0x5851, 0x5855), + CodeunitRange(0x5857, 0x585f), + CodeunitRange(0x5862, 0x5865), + CodeunitRange(0x5868, 0x5869), + CodeunitRange(0x586b, 0x586d), + CodeunitRange(0x586f, 0x586f), + CodeunitRange(0x5871, 0x5876), + CodeunitRange(0x5879, 0x5883), + CodeunitRange(0x5885, 0x588b), + CodeunitRange(0x588e, 0x5894), + CodeunitRange(0x5896, 0x5896), + CodeunitRange(0x5898, 0x589a), + CodeunitRange(0x589c, 0x58a1), + CodeunitRange(0x58a3, 0x58a3), + CodeunitRange(0x58a5, 0x58ac), + CodeunitRange(0x58ae, 0x58b1), + CodeunitRange(0x58b3, 0x58b3), + CodeunitRange(0x58b5, 0x58b6), + CodeunitRange(0x58ba, 0x58bf), + CodeunitRange(0x58c1, 0x58c2), + CodeunitRange(0x58c5, 0x58c9), + CodeunitRange(0x58cb, 0x58cb), + CodeunitRange(0x58ce, 0x58d6), + CodeunitRange(0x58d8, 0x58e0), + CodeunitRange(0x58e2, 0x58e4), + CodeunitRange(0x58e7, 0x58e9), + CodeunitRange(0x58eb, 0x58ec), + CodeunitRange(0x58ef, 0x58f0), + CodeunitRange(0x58f2, 0x58f4), + CodeunitRange(0x58f9, 0x58ff), + CodeunitRange(0x5902, 0x5907), + CodeunitRange(0x590a, 0x590a), + CodeunitRange(0x590c, 0x590f), + CodeunitRange(0x5911, 0x5912), + CodeunitRange(0x5914, 0x5917), + CodeunitRange(0x5919, 0x591a), + CodeunitRange(0x591c, 0x591d), + CodeunitRange(0x591f, 0x5920), + CodeunitRange(0x5922, 0x5922), + CodeunitRange(0x5924, 0x5925), + CodeunitRange(0x5927, 0x5927), + CodeunitRange(0x5929, 0x592f), + CodeunitRange(0x5931, 0x5932), + CodeunitRange(0x5934, 0x5934), + CodeunitRange(0x5937, 0x5938), + CodeunitRange(0x593c, 0x593c), + CodeunitRange(0x593e, 0x593e), + CodeunitRange(0x5940, 0x5940), + CodeunitRange(0x5944, 0x5945), + CodeunitRange(0x5947, 0x594a), + CodeunitRange(0x594e, 0x5951), + CodeunitRange(0x5953, 0x5955), + CodeunitRange(0x5957, 0x5958), + CodeunitRange(0x595a, 0x595a), + CodeunitRange(0x595c, 0x595c), + CodeunitRange(0x5960, 0x5962), + CodeunitRange(0x5965, 0x5965), + CodeunitRange(0x5967, 0x5967), + CodeunitRange(0x5969, 0x596e), + CodeunitRange(0x5970, 0x5979), + CodeunitRange(0x597b, 0x5985), + CodeunitRange(0x5989, 0x598a), + CodeunitRange(0x598d, 0x5990), + CodeunitRange(0x5992, 0x5994), + CodeunitRange(0x5996, 0x599a), + CodeunitRange(0x599d, 0x59a8), + CodeunitRange(0x59ac, 0x59ac), + CodeunitRange(0x59ae, 0x59c1), + CodeunitRange(0x59c3, 0x59d4), + CodeunitRange(0x59d6, 0x59d6), + CodeunitRange(0x59d8, 0x59de), + CodeunitRange(0x59e0, 0x59e1), + CodeunitRange(0x59e3, 0x59e6), + CodeunitRange(0x59e8, 0x5a03), + CodeunitRange(0x5a09, 0x5a0d), + CodeunitRange(0x5a0f, 0x5a0f), + CodeunitRange(0x5a11, 0x5a13), + CodeunitRange(0x5a15, 0x5a1c), + CodeunitRange(0x5a1e, 0x5a21), + CodeunitRange(0x5a23, 0x5a25), + CodeunitRange(0x5a27, 0x5a27), + CodeunitRange(0x5a29, 0x5a2e), + CodeunitRange(0x5a33, 0x5a33), + CodeunitRange(0x5a35, 0x5a39), + CodeunitRange(0x5a3c, 0x5a3e), + CodeunitRange(0x5a40, 0x5a4a), + CodeunitRange(0x5a4c, 0x5a4d), + CodeunitRange(0x5a50, 0x5a6e), + CodeunitRange(0x5a70, 0x5a71), + CodeunitRange(0x5a77, 0x5a7f), + CodeunitRange(0x5a81, 0x5a84), + CodeunitRange(0x5a86, 0x5a86), + CodeunitRange(0x5a88, 0x5a88), + CodeunitRange(0x5a8a, 0x5a8c), + CodeunitRange(0x5a8e, 0x5a97), + CodeunitRange(0x5a99, 0x5aa2), + CodeunitRange(0x5aa4, 0x5aa7), + CodeunitRange(0x5aa9, 0x5aac), + CodeunitRange(0x5aae, 0x5ac4), + CodeunitRange(0x5ac6, 0x5acf), + CodeunitRange(0x5ad1, 0x5ad1), + CodeunitRange(0x5ad3, 0x5ad3), + CodeunitRange(0x5ad5, 0x5ae6), + CodeunitRange(0x5ae8, 0x5aee), + CodeunitRange(0x5af0, 0x5af0), + CodeunitRange(0x5af2, 0x5afb), + CodeunitRange(0x5afd, 0x5aff), + CodeunitRange(0x5b01, 0x5b03), + CodeunitRange(0x5b05, 0x5b05), + CodeunitRange(0x5b07, 0x5b09), + CodeunitRange(0x5b0b, 0x5b0d), + CodeunitRange(0x5b0f, 0x5b11), + CodeunitRange(0x5b13, 0x5b17), + CodeunitRange(0x5b19, 0x5b1b), + CodeunitRange(0x5b1d, 0x5b21), + CodeunitRange(0x5b23, 0x5b28), + CodeunitRange(0x5b2a, 0x5b30), + CodeunitRange(0x5b32, 0x5b32), + CodeunitRange(0x5b34, 0x5b34), + CodeunitRange(0x5b38, 0x5b38), + CodeunitRange(0x5b3c, 0x5b41), + CodeunitRange(0x5b43, 0x5b48), + CodeunitRange(0x5b4a, 0x5b51), + CodeunitRange(0x5b53, 0x5b58), + CodeunitRange(0x5b5a, 0x5b5d), + CodeunitRange(0x5b5f, 0x5b5f), + CodeunitRange(0x5b62, 0x5b66), + CodeunitRange(0x5b68, 0x5b69), + CodeunitRange(0x5b6b, 0x5b6e), + CodeunitRange(0x5b70, 0x5b78), + CodeunitRange(0x5b7a, 0x5b7d), + CodeunitRange(0x5b7f, 0x5b85), + CodeunitRange(0x5b87, 0x5b89), + CodeunitRange(0x5b8b, 0x5b8c), + CodeunitRange(0x5b8e, 0x5b90), + CodeunitRange(0x5b92, 0x5b93), + CodeunitRange(0x5b95, 0x5b9f), + CodeunitRange(0x5ba2, 0x5ba8), + CodeunitRange(0x5baa, 0x5baa), + CodeunitRange(0x5bac, 0x5bae), + CodeunitRange(0x5bb0, 0x5bb0), + CodeunitRange(0x5bb3, 0x5bb9), + CodeunitRange(0x5bbf, 0x5bc7), + CodeunitRange(0x5bca, 0x5bce), + CodeunitRange(0x5bd0, 0x5bd9), + CodeunitRange(0x5bdb, 0x5bdb), + CodeunitRange(0x5bde, 0x5bec), + CodeunitRange(0x5bee, 0x5bf3), + CodeunitRange(0x5bf5, 0x5bf6), + CodeunitRange(0x5bf8, 0x5bf8), + CodeunitRange(0x5bfa, 0x5bfa), + CodeunitRange(0x5bff, 0x5bff), + CodeunitRange(0x5c01, 0x5c01), + CodeunitRange(0x5c03, 0x5c05), + CodeunitRange(0x5c07, 0x5c16), + CodeunitRange(0x5c1a, 0x5c1a), + CodeunitRange(0x5c1c, 0x5c1c), + CodeunitRange(0x5c1e, 0x5c20), + CodeunitRange(0x5c22, 0x5c25), + CodeunitRange(0x5c28, 0x5c28), + CodeunitRange(0x5c2a, 0x5c2a), + CodeunitRange(0x5c2c, 0x5c2c), + CodeunitRange(0x5c30, 0x5c31), + CodeunitRange(0x5c33, 0x5c33), + CodeunitRange(0x5c37, 0x5c3c), + CodeunitRange(0x5c3e, 0x5c41), + CodeunitRange(0x5c44, 0x5c51), + CodeunitRange(0x5c53, 0x5c56), + CodeunitRange(0x5c58, 0x5c59), + CodeunitRange(0x5c5c, 0x5c5e), + CodeunitRange(0x5c60, 0x5c60), + CodeunitRange(0x5c62, 0x5c65), + CodeunitRange(0x5c67, 0x5c6a), + CodeunitRange(0x5c6c, 0x5c6f), + CodeunitRange(0x5c71, 0x5c71), + CodeunitRange(0x5c73, 0x5c74), + CodeunitRange(0x5c78, 0x5c7c), + CodeunitRange(0x5c7e, 0x5c7e), + CodeunitRange(0x5c85, 0x5c86), + CodeunitRange(0x5c88, 0x5c8d), + CodeunitRange(0x5c8f, 0x5c95), + CodeunitRange(0x5c99, 0x5c9a), + CodeunitRange(0x5c9c, 0x5cb1), + CodeunitRange(0x5cb3, 0x5cb3), + CodeunitRange(0x5cb5, 0x5cb8), + CodeunitRange(0x5cba, 0x5cba), + CodeunitRange(0x5cc1, 0x5cc2), + CodeunitRange(0x5cc6, 0x5ccc), + CodeunitRange(0x5cce, 0x5cdb), + CodeunitRange(0x5cde, 0x5cdf), + CodeunitRange(0x5ce5, 0x5ce5), + CodeunitRange(0x5ce8, 0x5cea), + CodeunitRange(0x5cec, 0x5cf1), + CodeunitRange(0x5cf4, 0x5cf9), + CodeunitRange(0x5cfb, 0x5cfd), + CodeunitRange(0x5cff, 0x5d01), + CodeunitRange(0x5d06, 0x5d07), + CodeunitRange(0x5d0b, 0x5d12), + CodeunitRange(0x5d14, 0x5d1b), + CodeunitRange(0x5d1d, 0x5d20), + CodeunitRange(0x5d22, 0x5d29), + CodeunitRange(0x5d2c, 0x5d2c), + CodeunitRange(0x5d2e, 0x5d3a), + CodeunitRange(0x5d3c, 0x5d43), + CodeunitRange(0x5d45, 0x5d4c), + CodeunitRange(0x5d4e, 0x5d4e), + CodeunitRange(0x5d50, 0x5d52), + CodeunitRange(0x5d55, 0x5d57), + CodeunitRange(0x5d59, 0x5d59), + CodeunitRange(0x5d5b, 0x5d5b), + CodeunitRange(0x5d5e, 0x5d5e), + CodeunitRange(0x5d62, 0x5d63), + CodeunitRange(0x5d65, 0x5d65), + CodeunitRange(0x5d67, 0x5d69), + CodeunitRange(0x5d6b, 0x5d6c), + CodeunitRange(0x5d6f, 0x5d72), + CodeunitRange(0x5d74, 0x5d74), + CodeunitRange(0x5d77, 0x5d82), + CodeunitRange(0x5d84, 0x5d8b), + CodeunitRange(0x5d8d, 0x5d8e), + CodeunitRange(0x5d92, 0x5d95), + CodeunitRange(0x5d97, 0x5d97), + CodeunitRange(0x5d99, 0x5d9a), + CodeunitRange(0x5d9c, 0x5da2), + CodeunitRange(0x5da4, 0x5da4), + CodeunitRange(0x5da7, 0x5db2), + CodeunitRange(0x5db4, 0x5dba), + CodeunitRange(0x5dbc, 0x5dbd), + CodeunitRange(0x5dc0, 0x5dc3), + CodeunitRange(0x5dc6, 0x5dc7), + CodeunitRange(0x5dc9, 0x5dc9), + CodeunitRange(0x5dcb, 0x5dcb), + CodeunitRange(0x5dcd, 0x5dcd), + CodeunitRange(0x5dcf, 0x5dcf), + CodeunitRange(0x5dd1, 0x5dd2), + CodeunitRange(0x5dd4, 0x5dd8), + CodeunitRange(0x5ddb, 0x5ddb), + CodeunitRange(0x5ddd, 0x5de2), + CodeunitRange(0x5de5, 0x5de8), + CodeunitRange(0x5deb, 0x5deb), + CodeunitRange(0x5dee, 0x5dee), + CodeunitRange(0x5df0, 0x5df5), + CodeunitRange(0x5df7, 0x5df7), + CodeunitRange(0x5df9, 0x5df9), + CodeunitRange(0x5dfd, 0x5dff), + CodeunitRange(0x5e02, 0x5e04), + CodeunitRange(0x5e06, 0x5e06), + CodeunitRange(0x5e09, 0x5e0c), + CodeunitRange(0x5e0e, 0x5e0e), + CodeunitRange(0x5e11, 0x5e12), + CodeunitRange(0x5e14, 0x5e1b), + CodeunitRange(0x5e1d, 0x5e1d), + CodeunitRange(0x5e1f, 0x5e25), + CodeunitRange(0x5e28, 0x5e29), + CodeunitRange(0x5e2b, 0x5e2b), + CodeunitRange(0x5e2d, 0x5e2e), + CodeunitRange(0x5e33, 0x5e34), + CodeunitRange(0x5e36, 0x5e38), + CodeunitRange(0x5e3d, 0x5e3e), + CodeunitRange(0x5e40, 0x5e45), + CodeunitRange(0x5e48, 0x5e48), + CodeunitRange(0x5e4a, 0x5e4f), + CodeunitRange(0x5e53, 0x5e55), + CodeunitRange(0x5e57, 0x5e59), + CodeunitRange(0x5e5b, 0x5e63), + CodeunitRange(0x5e66, 0x5e70), + CodeunitRange(0x5e72, 0x5e76), + CodeunitRange(0x5e78, 0x5e80), + CodeunitRange(0x5e82, 0x5e84), + CodeunitRange(0x5e86, 0x5e8d), + CodeunitRange(0x5e8f, 0x5e8f), + CodeunitRange(0x5e92, 0x5e92), + CodeunitRange(0x5e95, 0x5e97), + CodeunitRange(0x5e99, 0x5e9c), + CodeunitRange(0x5ea0, 0x5ea0), + CodeunitRange(0x5ea2, 0x5ea8), + CodeunitRange(0x5eaa, 0x5eae), + CodeunitRange(0x5eb0, 0x5eb9), + CodeunitRange(0x5ebd, 0x5ebe), + CodeunitRange(0x5ec1, 0x5ec2), + CodeunitRange(0x5ec4, 0x5ece), + CodeunitRange(0x5ed0, 0x5ee3), + CodeunitRange(0x5ee5, 0x5ee9), + CodeunitRange(0x5eec, 0x5eec), + CodeunitRange(0x5eee, 0x5eef), + CodeunitRange(0x5ef1, 0x5ef4), + CodeunitRange(0x5ef6, 0x5efc), + CodeunitRange(0x5efe, 0x5eff), + CodeunitRange(0x5f01, 0x5f02), + CodeunitRange(0x5f04, 0x5f05), + CodeunitRange(0x5f07, 0x5f08), + CodeunitRange(0x5f0a, 0x5f0f), + CodeunitRange(0x5f12, 0x5f15), + CodeunitRange(0x5f17, 0x5f18), + CodeunitRange(0x5f1a, 0x5f1b), + CodeunitRange(0x5f1d, 0x5f1d), + CodeunitRange(0x5f1f, 0x5f1f), + CodeunitRange(0x5f22, 0x5f29), + CodeunitRange(0x5f2d, 0x5f2e), + CodeunitRange(0x5f30, 0x5f31), + CodeunitRange(0x5f33, 0x5f33), + CodeunitRange(0x5f35, 0x5f38), + CodeunitRange(0x5f3a, 0x5f3c), + CodeunitRange(0x5f40, 0x5f40), + CodeunitRange(0x5f43, 0x5f46), + CodeunitRange(0x5f48, 0x5f51), + CodeunitRange(0x5f54, 0x5f54), + CodeunitRange(0x5f56, 0x5f59), + CodeunitRange(0x5f5c, 0x5f5e), + CodeunitRange(0x5f61, 0x5f65), + CodeunitRange(0x5f67, 0x5f67), + CodeunitRange(0x5f69, 0x5f6d), + CodeunitRange(0x5f6f, 0x5f74), + CodeunitRange(0x5f76, 0x5f79), + CodeunitRange(0x5f7b, 0x5f83), + CodeunitRange(0x5f85, 0x5f8c), + CodeunitRange(0x5f90, 0x5f92), + CodeunitRange(0x5f96, 0x5f99), + CodeunitRange(0x5f9b, 0x5f9c), + CodeunitRange(0x5f9e, 0x5fa1), + CodeunitRange(0x5fa4, 0x5faf), + CodeunitRange(0x5fb1, 0x5fb2), + CodeunitRange(0x5fb5, 0x5fb7), + CodeunitRange(0x5fb9, 0x5fc5), + CodeunitRange(0x5fc9, 0x5fc9), + CodeunitRange(0x5fcc, 0x5fcd), + CodeunitRange(0x5fcf, 0x5fd2), + CodeunitRange(0x5fd4, 0x5fd9), + CodeunitRange(0x5fdb, 0x5fdb), + CodeunitRange(0x5fdd, 0x5fe1), + CodeunitRange(0x5fe3, 0x5fe5), + CodeunitRange(0x5fe8, 0x5fe8), + CodeunitRange(0x5fea, 0x5feb), + CodeunitRange(0x5fed, 0x5fef), + CodeunitRange(0x5ff1, 0x5ff1), + CodeunitRange(0x5ff3, 0x5ff5), + CodeunitRange(0x5ff7, 0x5ff8), + CodeunitRange(0x5ffa, 0x5ffb), + CodeunitRange(0x5ffd, 0x5ffd), + CodeunitRange(0x5fff, 0x6000), + CodeunitRange(0x6009, 0x6017), + CodeunitRange(0x6019, 0x601e), + CodeunitRange(0x6020, 0x602f), + CodeunitRange(0x6031, 0x6035), + CodeunitRange(0x6037, 0x6037), + CodeunitRange(0x6039, 0x6039), + CodeunitRange(0x603b, 0x603b), + CodeunitRange(0x6040, 0x6047), + CodeunitRange(0x6049, 0x604d), + CodeunitRange(0x6050, 0x6050), + CodeunitRange(0x6052, 0x6055), + CodeunitRange(0x6058, 0x605b), + CodeunitRange(0x605d, 0x605f), + CodeunitRange(0x6062, 0x6070), + CodeunitRange(0x6072, 0x6072), + CodeunitRange(0x6075, 0x6075), + CodeunitRange(0x6077, 0x6077), + CodeunitRange(0x607e, 0x6081), + CodeunitRange(0x6083, 0x608a), + CodeunitRange(0x608c, 0x608e), + CodeunitRange(0x6090, 0x6090), + CodeunitRange(0x6092, 0x6092), + CodeunitRange(0x6094, 0x6097), + CodeunitRange(0x609a, 0x60a0), + CodeunitRange(0x60a2, 0x60a4), + CodeunitRange(0x60a6, 0x60a8), + CodeunitRange(0x60b0, 0x60c1), + CodeunitRange(0x60c3, 0x60cf), + CodeunitRange(0x60d1, 0x60d1), + CodeunitRange(0x60d3, 0x60d5), + CodeunitRange(0x60d7, 0x60e4), + CodeunitRange(0x60e6, 0x60e9), + CodeunitRange(0x60f0, 0x6101), + CodeunitRange(0x6103, 0x6110), + CodeunitRange(0x6112, 0x6116), + CodeunitRange(0x6118, 0x611d), + CodeunitRange(0x611f, 0x6120), + CodeunitRange(0x6122, 0x6123), + CodeunitRange(0x6127, 0x6129), + CodeunitRange(0x612b, 0x612c), + CodeunitRange(0x612e, 0x6130), + CodeunitRange(0x6132, 0x6132), + CodeunitRange(0x6134, 0x6134), + CodeunitRange(0x6136, 0x6137), + CodeunitRange(0x613b, 0x613b), + CodeunitRange(0x613d, 0x6142), + CodeunitRange(0x6144, 0x6150), + CodeunitRange(0x6152, 0x6156), + CodeunitRange(0x6158, 0x6168), + CodeunitRange(0x616a, 0x616c), + CodeunitRange(0x616e, 0x6177), + CodeunitRange(0x6179, 0x617a), + CodeunitRange(0x617c, 0x617e), + CodeunitRange(0x6180, 0x6183), + CodeunitRange(0x6187, 0x6187), + CodeunitRange(0x6189, 0x618e), + CodeunitRange(0x6190, 0x6196), + CodeunitRange(0x6198, 0x619d), + CodeunitRange(0x619f, 0x619f), + CodeunitRange(0x61a1, 0x61a2), + CodeunitRange(0x61a4, 0x61a4), + CodeunitRange(0x61a7, 0x61ba), + CodeunitRange(0x61bc, 0x61bc), + CodeunitRange(0x61be, 0x61c3), + CodeunitRange(0x61c5, 0x61cd), + CodeunitRange(0x61cf, 0x61d0), + CodeunitRange(0x61d3, 0x61d3), + CodeunitRange(0x61d6, 0x61d6), + CodeunitRange(0x61d8, 0x61d8), + CodeunitRange(0x61da, 0x61da), + CodeunitRange(0x61de, 0x61e0), + CodeunitRange(0x61e2, 0x61eb), + CodeunitRange(0x61ed, 0x61ee), + CodeunitRange(0x61f0, 0x61f2), + CodeunitRange(0x61f5, 0x6201), + CodeunitRange(0x6203, 0x6204), + CodeunitRange(0x6207, 0x620a), + CodeunitRange(0x620c, 0x620e), + CodeunitRange(0x6210, 0x6212), + CodeunitRange(0x6214, 0x6216), + CodeunitRange(0x6219, 0x621b), + CodeunitRange(0x621f, 0x6225), + CodeunitRange(0x6227, 0x6227), + CodeunitRange(0x6229, 0x622e), + CodeunitRange(0x6230, 0x6230), + CodeunitRange(0x6232, 0x6234), + CodeunitRange(0x6236, 0x6237), + CodeunitRange(0x6239, 0x623a), + CodeunitRange(0x623d, 0x6243), + CodeunitRange(0x6246, 0x624e), + CodeunitRange(0x6250, 0x6254), + CodeunitRange(0x6258, 0x625c), + CodeunitRange(0x625e, 0x625e), + CodeunitRange(0x6260, 0x6266), + CodeunitRange(0x6268, 0x6268), + CodeunitRange(0x626d, 0x6274), + CodeunitRange(0x6276, 0x6277), + CodeunitRange(0x6279, 0x628a), + CodeunitRange(0x628c, 0x628c), + CodeunitRange(0x628e, 0x6298), + CodeunitRange(0x629d, 0x629d), + CodeunitRange(0x62a4, 0x62a4), + CodeunitRange(0x62a6, 0x62a6), + CodeunitRange(0x62a8, 0x62b1), + CodeunitRange(0x62b3, 0x62b6), + CodeunitRange(0x62b8, 0x62b9), + CodeunitRange(0x62bb, 0x62bf), + CodeunitRange(0x62c1, 0x62dc), + CodeunitRange(0x62df, 0x62df), + CodeunitRange(0x62e5, 0x62e5), + CodeunitRange(0x62eb, 0x6303), + CodeunitRange(0x6307, 0x6309), + CodeunitRange(0x630b, 0x6311), + CodeunitRange(0x6313, 0x6316), + CodeunitRange(0x6318, 0x6318), + CodeunitRange(0x6328, 0x632f), + CodeunitRange(0x6331, 0x633e), + CodeunitRange(0x6340, 0x6351), + CodeunitRange(0x6354, 0x635a), + CodeunitRange(0x635d, 0x635d), + CodeunitRange(0x6364, 0x6365), + CodeunitRange(0x6367, 0x6369), + CodeunitRange(0x636b, 0x6372), + CodeunitRange(0x6375, 0x637d), + CodeunitRange(0x637f, 0x6385), + CodeunitRange(0x6387, 0x6392), + CodeunitRange(0x6394, 0x6394), + CodeunitRange(0x6396, 0x6399), + CodeunitRange(0x639b, 0x63a5), + CodeunitRange(0x63a7, 0x63b1), + CodeunitRange(0x63b9, 0x63b9), + CodeunitRange(0x63bd, 0x63be), + CodeunitRange(0x63c0, 0x63d3), + CodeunitRange(0x63d5, 0x63eb), + CodeunitRange(0x63ed, 0x63f6), + CodeunitRange(0x63f8, 0x63f9), + CodeunitRange(0x63fb, 0x63fc), + CodeunitRange(0x63fe, 0x63fe), + CodeunitRange(0x6406, 0x6407), + CodeunitRange(0x6409, 0x6410), + CodeunitRange(0x6412, 0x6418), + CodeunitRange(0x641a, 0x641c), + CodeunitRange(0x641e, 0x6428), + CodeunitRange(0x642a, 0x6430), + CodeunitRange(0x6432, 0x643b), + CodeunitRange(0x643d, 0x6441), + CodeunitRange(0x6443, 0x6443), + CodeunitRange(0x644b, 0x644b), + CodeunitRange(0x644d, 0x644e), + CodeunitRange(0x6450, 0x6454), + CodeunitRange(0x6458, 0x6461), + CodeunitRange(0x6465, 0x6469), + CodeunitRange(0x646b, 0x647d), + CodeunitRange(0x647f, 0x647f), + CodeunitRange(0x6482, 0x6482), + CodeunitRange(0x6485, 0x6485), + CodeunitRange(0x6487, 0x648d), + CodeunitRange(0x648f, 0x6493), + CodeunitRange(0x6495, 0x649a), + CodeunitRange(0x649c, 0x64a0), + CodeunitRange(0x64a2, 0x64a6), + CodeunitRange(0x64a9, 0x64a9), + CodeunitRange(0x64ab, 0x64b4), + CodeunitRange(0x64b6, 0x64b6), + CodeunitRange(0x64bb, 0x64c5), + CodeunitRange(0x64c7, 0x64c7), + CodeunitRange(0x64c9, 0x64cb), + CodeunitRange(0x64cd, 0x64d0), + CodeunitRange(0x64d2, 0x64d4), + CodeunitRange(0x64d6, 0x64db), + CodeunitRange(0x64dd, 0x64dd), + CodeunitRange(0x64e0, 0x64ed), + CodeunitRange(0x64ef, 0x64f4), + CodeunitRange(0x64f7, 0x64f8), + CodeunitRange(0x64fa, 0x6501), + CodeunitRange(0x6503, 0x6504), + CodeunitRange(0x6506, 0x6507), + CodeunitRange(0x6509, 0x650a), + CodeunitRange(0x650c, 0x6511), + CodeunitRange(0x6513, 0x6519), + CodeunitRange(0x651b, 0x6526), + CodeunitRange(0x6529, 0x6530), + CodeunitRange(0x6532, 0x6539), + CodeunitRange(0x653b, 0x653b), + CodeunitRange(0x653d, 0x653f), + CodeunitRange(0x6541, 0x6541), + CodeunitRange(0x6543, 0x6543), + CodeunitRange(0x6545, 0x6546), + CodeunitRange(0x6548, 0x654a), + CodeunitRange(0x654d, 0x654d), + CodeunitRange(0x654f, 0x654f), + CodeunitRange(0x6551, 0x6551), + CodeunitRange(0x6553, 0x655a), + CodeunitRange(0x655c, 0x655f), + CodeunitRange(0x6562, 0x6568), + CodeunitRange(0x656a, 0x656d), + CodeunitRange(0x656f, 0x656f), + CodeunitRange(0x6572, 0x657c), + CodeunitRange(0x657f, 0x6589), + CodeunitRange(0x658b, 0x658c), + CodeunitRange(0x6590, 0x6592), + CodeunitRange(0x6594, 0x6597), + CodeunitRange(0x6599, 0x6599), + CodeunitRange(0x659b, 0x65a2), + CodeunitRange(0x65a4, 0x65a5), + CodeunitRange(0x65a7, 0x65a8), + CodeunitRange(0x65aa, 0x65ac), + CodeunitRange(0x65ae, 0x65b0), + CodeunitRange(0x65b2, 0x65b3), + CodeunitRange(0x65b5, 0x65b9), + CodeunitRange(0x65bb, 0x65bf), + CodeunitRange(0x65c1, 0x65c6), + CodeunitRange(0x65cb, 0x65d4), + CodeunitRange(0x65d6, 0x65d7), + CodeunitRange(0x65da, 0x65db), + CodeunitRange(0x65dd, 0x65e3), + CodeunitRange(0x65e5, 0x65e6), + CodeunitRange(0x65e8, 0x65e9), + CodeunitRange(0x65ec, 0x65f5), + CodeunitRange(0x65fa, 0x65fd), + CodeunitRange(0x65ff, 0x6600), + CodeunitRange(0x6602, 0x6615), + CodeunitRange(0x6618, 0x6618), + CodeunitRange(0x661c, 0x6628), + CodeunitRange(0x662b, 0x662b), + CodeunitRange(0x662d, 0x6636), + CodeunitRange(0x6639, 0x663a), + CodeunitRange(0x6641, 0x6645), + CodeunitRange(0x6647, 0x664d), + CodeunitRange(0x664f, 0x664f), + CodeunitRange(0x6651, 0x6653), + CodeunitRange(0x6657, 0x6657), + CodeunitRange(0x6659, 0x6668), + CodeunitRange(0x666a, 0x666c), + CodeunitRange(0x666e, 0x6674), + CodeunitRange(0x6676, 0x667e), + CodeunitRange(0x6680, 0x6680), + CodeunitRange(0x6684, 0x668e), + CodeunitRange(0x6690, 0x6692), + CodeunitRange(0x6694, 0x669a), + CodeunitRange(0x669d, 0x669d), + CodeunitRange(0x669f, 0x66a2), + CodeunitRange(0x66a4, 0x66a4), + CodeunitRange(0x66a8, 0x66ab), + CodeunitRange(0x66ad, 0x66bb), + CodeunitRange(0x66bd, 0x66c0), + CodeunitRange(0x66c4, 0x66c4), + CodeunitRange(0x66c6, 0x66cf), + CodeunitRange(0x66d2, 0x66d2), + CodeunitRange(0x66d6, 0x66d6), + CodeunitRange(0x66d8, 0x66de), + CodeunitRange(0x66e0, 0x66e0), + CodeunitRange(0x66e3, 0x66e4), + CodeunitRange(0x66e6, 0x66e9), + CodeunitRange(0x66eb, 0x66ee), + CodeunitRange(0x66f0, 0x66f4), + CodeunitRange(0x66f6, 0x66f9), + CodeunitRange(0x66fc, 0x66fc), + CodeunitRange(0x66fe, 0x6705), + CodeunitRange(0x6708, 0x6710), + CodeunitRange(0x6712, 0x6719), + CodeunitRange(0x671b, 0x671b), + CodeunitRange(0x671d, 0x6723), + CodeunitRange(0x6725, 0x6728), + CodeunitRange(0x672a, 0x672e), + CodeunitRange(0x6731, 0x6731), + CodeunitRange(0x6733, 0x6736), + CodeunitRange(0x6738, 0x673f), + CodeunitRange(0x6744, 0x6749), + CodeunitRange(0x674b, 0x6751), + CodeunitRange(0x6753, 0x6753), + CodeunitRange(0x6755, 0x6757), + CodeunitRange(0x6759, 0x675a), + CodeunitRange(0x675c, 0x6762), + CodeunitRange(0x6767, 0x6767), + CodeunitRange(0x676a, 0x677f), + CodeunitRange(0x6781, 0x6787), + CodeunitRange(0x6789, 0x6789), + CodeunitRange(0x678b, 0x6795), + CodeunitRange(0x6797, 0x679a), + CodeunitRange(0x679c, 0x679d), + CodeunitRange(0x679f, 0x67a0), + CodeunitRange(0x67a4, 0x67a4), + CodeunitRange(0x67ac, 0x67ac), + CodeunitRange(0x67ae, 0x67bb), + CodeunitRange(0x67bf, 0x67c6), + CodeunitRange(0x67c8, 0x67d4), + CodeunitRange(0x67d6, 0x67df), + CodeunitRange(0x67e2, 0x67e7), + CodeunitRange(0x67e9, 0x67fa), + CodeunitRange(0x67fc, 0x67fc), + CodeunitRange(0x67fe, 0x6804), + CodeunitRange(0x680d, 0x680d), + CodeunitRange(0x6810, 0x6810), + CodeunitRange(0x6812, 0x6814), + CodeunitRange(0x6816, 0x6818), + CodeunitRange(0x681a, 0x6822), + CodeunitRange(0x6825, 0x6826), + CodeunitRange(0x6828, 0x682b), + CodeunitRange(0x682d, 0x682f), + CodeunitRange(0x6831, 0x683e), + CodeunitRange(0x6840, 0x6851), + CodeunitRange(0x6853, 0x6856), + CodeunitRange(0x685d, 0x685d), + CodeunitRange(0x6865, 0x6865), + CodeunitRange(0x686b, 0x686b), + CodeunitRange(0x686d, 0x686f), + CodeunitRange(0x6871, 0x6872), + CodeunitRange(0x6874, 0x6879), + CodeunitRange(0x687b, 0x688c), + CodeunitRange(0x688f, 0x6894), + CodeunitRange(0x6896, 0x6898), + CodeunitRange(0x689b, 0x689d), + CodeunitRange(0x689f, 0x68a4), + CodeunitRange(0x68a6, 0x68b6), + CodeunitRange(0x68b9, 0x68b9), + CodeunitRange(0x68bd, 0x68bd), + CodeunitRange(0x68c1, 0x68c1), + CodeunitRange(0x68c3, 0x68ce), + CodeunitRange(0x68d0, 0x68d8), + CodeunitRange(0x68da, 0x68da), + CodeunitRange(0x68dc, 0x68e1), + CodeunitRange(0x68e3, 0x68e4), + CodeunitRange(0x68e6, 0x68ec), + CodeunitRange(0x68ee, 0x68fd), + CodeunitRange(0x6900, 0x6915), + CodeunitRange(0x6917, 0x691b), + CodeunitRange(0x6925, 0x6925), + CodeunitRange(0x692a, 0x692a), + CodeunitRange(0x692c, 0x692c), + CodeunitRange(0x692f, 0x6930), + CodeunitRange(0x6932, 0x6939), + CodeunitRange(0x693b, 0x6946), + CodeunitRange(0x6948, 0x694c), + CodeunitRange(0x694e, 0x694f), + CodeunitRange(0x6951, 0x697b), + CodeunitRange(0x6980, 0x6980), + CodeunitRange(0x6982, 0x6983), + CodeunitRange(0x6985, 0x6986), + CodeunitRange(0x698a, 0x698a), + CodeunitRange(0x698d, 0x698e), + CodeunitRange(0x6990, 0x6991), + CodeunitRange(0x6993, 0x699c), + CodeunitRange(0x699e, 0x69b7), + CodeunitRange(0x69b9, 0x69b9), + CodeunitRange(0x69bb, 0x69c4), + CodeunitRange(0x69c6, 0x69c6), + CodeunitRange(0x69c9, 0x69d1), + CodeunitRange(0x69d3, 0x69d6), + CodeunitRange(0x69d9, 0x69d9), + CodeunitRange(0x69e1, 0x69e2), + CodeunitRange(0x69e4, 0x69e9), + CodeunitRange(0x69eb, 0x69ee), + CodeunitRange(0x69f1, 0x69f4), + CodeunitRange(0x69f6, 0x6a0d), + CodeunitRange(0x6a0f, 0x6a0f), + CodeunitRange(0x6a11, 0x6a11), + CodeunitRange(0x6a13, 0x6a21), + CodeunitRange(0x6a23, 0x6a23), + CodeunitRange(0x6a25, 0x6a29), + CodeunitRange(0x6a2b, 0x6a2d), + CodeunitRange(0x6a32, 0x6a35), + CodeunitRange(0x6a38, 0x6a41), + CodeunitRange(0x6a43, 0x6a49), + CodeunitRange(0x6a4b, 0x6a5b), + CodeunitRange(0x6a5d, 0x6a6b), + CodeunitRange(0x6a6d, 0x6a6d), + CodeunitRange(0x6a6f, 0x6a6f), + CodeunitRange(0x6a71, 0x6a71), + CodeunitRange(0x6a74, 0x6a74), + CodeunitRange(0x6a76, 0x6a76), + CodeunitRange(0x6a7a, 0x6a7a), + CodeunitRange(0x6a7e, 0x6a85), + CodeunitRange(0x6a87, 0x6a87), + CodeunitRange(0x6a89, 0x6a8a), + CodeunitRange(0x6a8c, 0x6a97), + CodeunitRange(0x6a99, 0x6aa8), + CodeunitRange(0x6aab, 0x6aaf), + CodeunitRange(0x6ab1, 0x6abb), + CodeunitRange(0x6abd, 0x6abe), + CodeunitRange(0x6ac2, 0x6ac3), + CodeunitRange(0x6ac5, 0x6acd), + CodeunitRange(0x6acf, 0x6ad1), + CodeunitRange(0x6ad3, 0x6ad4), + CodeunitRange(0x6ad8, 0x6ae1), + CodeunitRange(0x6ae5, 0x6ae5), + CodeunitRange(0x6ae7, 0x6ae8), + CodeunitRange(0x6aea, 0x6aec), + CodeunitRange(0x6aee, 0x6af1), + CodeunitRange(0x6af3, 0x6af3), + CodeunitRange(0x6af6, 0x6af6), + CodeunitRange(0x6af8, 0x6afc), + CodeunitRange(0x6b00, 0x6b00), + CodeunitRange(0x6b02, 0x6b05), + CodeunitRange(0x6b08, 0x6b0b), + CodeunitRange(0x6b0f, 0x6b13), + CodeunitRange(0x6b16, 0x6b1a), + CodeunitRange(0x6b1d, 0x6b1e), + CodeunitRange(0x6b20, 0x6b21), + CodeunitRange(0x6b23, 0x6b23), + CodeunitRange(0x6b25, 0x6b25), + CodeunitRange(0x6b28, 0x6b28), + CodeunitRange(0x6b2c, 0x6b2d), + CodeunitRange(0x6b2f, 0x6b2f), + CodeunitRange(0x6b31, 0x6b3f), + CodeunitRange(0x6b41, 0x6b43), + CodeunitRange(0x6b45, 0x6b4e), + CodeunitRange(0x6b50, 0x6b52), + CodeunitRange(0x6b54, 0x6b57), + CodeunitRange(0x6b59, 0x6b59), + CodeunitRange(0x6b5b, 0x6b5c), + CodeunitRange(0x6b5e, 0x6b67), + CodeunitRange(0x6b6a, 0x6b6a), + CodeunitRange(0x6b6d, 0x6b6d), + CodeunitRange(0x6b6f, 0x6b6f), + CodeunitRange(0x6b72, 0x6b72), + CodeunitRange(0x6b74, 0x6b74), + CodeunitRange(0x6b76, 0x6b7b), + CodeunitRange(0x6b7e, 0x6b84), + CodeunitRange(0x6b86, 0x6b86), + CodeunitRange(0x6b88, 0x6b8a), + CodeunitRange(0x6b8c, 0x6b8f), + CodeunitRange(0x6b91, 0x6b91), + CodeunitRange(0x6b94, 0x6b99), + CodeunitRange(0x6b9b, 0x6b9b), + CodeunitRange(0x6b9e, 0x6ba0), + CodeunitRange(0x6ba2, 0x6ba7), + CodeunitRange(0x6baa, 0x6bab), + CodeunitRange(0x6bad, 0x6bb0), + CodeunitRange(0x6bb2, 0x6bb3), + CodeunitRange(0x6bb5, 0x6bb7), + CodeunitRange(0x6bba, 0x6bba), + CodeunitRange(0x6bbc, 0x6bbd), + CodeunitRange(0x6bbf, 0x6bc1), + CodeunitRange(0x6bc3, 0x6bcd), + CodeunitRange(0x6bcf, 0x6bd0), + CodeunitRange(0x6bd2, 0x6bd4), + CodeunitRange(0x6bd6, 0x6bd8), + CodeunitRange(0x6bda, 0x6bdc), + CodeunitRange(0x6bde, 0x6bde), + CodeunitRange(0x6be0, 0x6be4), + CodeunitRange(0x6be6, 0x6be8), + CodeunitRange(0x6bea, 0x6bec), + CodeunitRange(0x6bef, 0x6bf0), + CodeunitRange(0x6bf2, 0x6bf3), + CodeunitRange(0x6bf7, 0x6c06), + CodeunitRange(0x6c08, 0x6c09), + CodeunitRange(0x6c0b, 0x6c0d), + CodeunitRange(0x6c0f, 0x6c11), + CodeunitRange(0x6c13, 0x6c16), + CodeunitRange(0x6c18, 0x6c1d), + CodeunitRange(0x6c1f, 0x6c21), + CodeunitRange(0x6c23, 0x6c28), + CodeunitRange(0x6c2a, 0x6c2c), + CodeunitRange(0x6c2e, 0x6c3b), + CodeunitRange(0x6c3d, 0x6c43), + CodeunitRange(0x6c46, 0x6c46), + CodeunitRange(0x6c49, 0x6c50), + CodeunitRange(0x6c52, 0x6c52), + CodeunitRange(0x6c54, 0x6c55), + CodeunitRange(0x6c57, 0x6c61), + CodeunitRange(0x6c65, 0x6c6b), + CodeunitRange(0x6c6d, 0x6c76), + CodeunitRange(0x6c78, 0x6c7b), + CodeunitRange(0x6c7d, 0x6c90), + CodeunitRange(0x6c92, 0x6c96), + CodeunitRange(0x6c98, 0x6c9d), + CodeunitRange(0x6c9f, 0x6c9f), + CodeunitRange(0x6ca2, 0x6ca2), + CodeunitRange(0x6caa, 0x6cb4), + CodeunitRange(0x6cb6, 0x6cc7), + CodeunitRange(0x6cc9, 0x6cd7), + CodeunitRange(0x6cd9, 0x6ce3), + CodeunitRange(0x6ce5, 0x6ce5), + CodeunitRange(0x6ce7, 0x6cf3), + CodeunitRange(0x6cf5, 0x6cf5), + CodeunitRange(0x6cf9, 0x6cf9), + CodeunitRange(0x6cff, 0x6d12), + CodeunitRange(0x6d16, 0x6d1b), + CodeunitRange(0x6d1d, 0x6d20), + CodeunitRange(0x6d22, 0x6d22), + CodeunitRange(0x6d24, 0x6d42), + CodeunitRange(0x6d4e, 0x6d4e), + CodeunitRange(0x6d57, 0x6d5c), + CodeunitRange(0x6d5e, 0x6d6a), + CodeunitRange(0x6d6c, 0x6d72), + CodeunitRange(0x6d74, 0x6d98), + CodeunitRange(0x6d9a, 0x6d9a), + CodeunitRange(0x6da4, 0x6da5), + CodeunitRange(0x6daa, 0x6dac), + CodeunitRange(0x6dae, 0x6daf), + CodeunitRange(0x6db1, 0x6db5), + CodeunitRange(0x6db7, 0x6dc0), + CodeunitRange(0x6dc2, 0x6dc2), + CodeunitRange(0x6dc4, 0x6dcd), + CodeunitRange(0x6dcf, 0x6de6), + CodeunitRange(0x6de8, 0x6df7), + CodeunitRange(0x6df9, 0x6dfe), + CodeunitRange(0x6e00, 0x6e00), + CodeunitRange(0x6e02, 0x6e05), + CodeunitRange(0x6e0a, 0x6e0a), + CodeunitRange(0x6e0f, 0x6e0f), + CodeunitRange(0x6e15, 0x6e15), + CodeunitRange(0x6e18, 0x6e1d), + CodeunitRange(0x6e1f, 0x6e36), + CodeunitRange(0x6e38, 0x6e41), + CodeunitRange(0x6e43, 0x6e47), + CodeunitRange(0x6e49, 0x6e4b), + CodeunitRange(0x6e4d, 0x6e69), + CodeunitRange(0x6e6b, 0x6e6b), + CodeunitRange(0x6e6e, 0x6e6f), + CodeunitRange(0x6e71, 0x6e74), + CodeunitRange(0x6e76, 0x6e79), + CodeunitRange(0x6e7c, 0x6e7c), + CodeunitRange(0x6e86, 0x6e86), + CodeunitRange(0x6e88, 0x6e89), + CodeunitRange(0x6e8b, 0x6e8b), + CodeunitRange(0x6e8d, 0x6e90), + CodeunitRange(0x6e92, 0x6e94), + CodeunitRange(0x6e96, 0x6ea7), + CodeunitRange(0x6eaa, 0x6eab), + CodeunitRange(0x6eae, 0x6ed6), + CodeunitRange(0x6ed8, 0x6edd), + CodeunitRange(0x6ee2, 0x6ee2), + CodeunitRange(0x6ee8, 0x6ee9), + CodeunitRange(0x6eeb, 0x6eef), + CodeunitRange(0x6ef1, 0x6ef2), + CodeunitRange(0x6ef4, 0x6f0f), + CodeunitRange(0x6f12, 0x6f1a), + CodeunitRange(0x6f1c, 0x6f1c), + CodeunitRange(0x6f1e, 0x6f27), + CodeunitRange(0x6f29, 0x6f41), + CodeunitRange(0x6f43, 0x6f44), + CodeunitRange(0x6f4e, 0x6f58), + CodeunitRange(0x6f5a, 0x6f64), + CodeunitRange(0x6f66, 0x6f67), + CodeunitRange(0x6f69, 0x6f70), + CodeunitRange(0x6f72, 0x6f74), + CodeunitRange(0x6f76, 0x6f82), + CodeunitRange(0x6f84, 0x6f8e), + CodeunitRange(0x6f90, 0x6f90), + CodeunitRange(0x6f92, 0x6f97), + CodeunitRange(0x6f9d, 0x6fb6), + CodeunitRange(0x6fb8, 0x6fc4), + CodeunitRange(0x6fc6, 0x6fcf), + CodeunitRange(0x6fd3, 0x6fd5), + CodeunitRange(0x6fd8, 0x6fe4), + CodeunitRange(0x6fe6, 0x6fe9), + CodeunitRange(0x6feb, 0x6ff2), + CodeunitRange(0x6ff4, 0x6ff4), + CodeunitRange(0x6ff6, 0x6ff8), + CodeunitRange(0x6ffa, 0x6ffc), + CodeunitRange(0x6ffe, 0x7001), + CodeunitRange(0x7003, 0x7007), + CodeunitRange(0x7009, 0x700f), + CodeunitRange(0x7011, 0x7011), + CodeunitRange(0x7014, 0x7024), + CodeunitRange(0x7026, 0x702c), + CodeunitRange(0x702f, 0x7035), + CodeunitRange(0x7037, 0x703c), + CodeunitRange(0x703e, 0x7046), + CodeunitRange(0x7048, 0x704d), + CodeunitRange(0x7050, 0x7052), + CodeunitRange(0x7054, 0x7058), + CodeunitRange(0x705a, 0x706c), + CodeunitRange(0x706e, 0x7071), + CodeunitRange(0x7074, 0x707a), + CodeunitRange(0x707c, 0x707f), + CodeunitRange(0x7081, 0x7086), + CodeunitRange(0x7089, 0x708b), + CodeunitRange(0x708e, 0x708f), + CodeunitRange(0x7091, 0x7096), + CodeunitRange(0x7098, 0x709a), + CodeunitRange(0x709f, 0x70a1), + CodeunitRange(0x70a3, 0x70a7), + CodeunitRange(0x70a9, 0x70a9), + CodeunitRange(0x70ab, 0x70b1), + CodeunitRange(0x70b3, 0x70b5), + CodeunitRange(0x70b7, 0x70be), + CodeunitRange(0x70c0, 0x70c0), + CodeunitRange(0x70c4, 0x70c8), + CodeunitRange(0x70ca, 0x70da), + CodeunitRange(0x70dc, 0x70e2), + CodeunitRange(0x70e4, 0x70e4), + CodeunitRange(0x70ef, 0x70f1), + CodeunitRange(0x70f3, 0x7100), + CodeunitRange(0x7102, 0x7102), + CodeunitRange(0x7104, 0x7106), + CodeunitRange(0x7109, 0x710e), + CodeunitRange(0x7110, 0x7110), + CodeunitRange(0x7113, 0x7113), + CodeunitRange(0x7117, 0x7117), + CodeunitRange(0x7119, 0x7123), + CodeunitRange(0x7125, 0x7126), + CodeunitRange(0x7128, 0x7129), + CodeunitRange(0x712b, 0x712c), + CodeunitRange(0x712e, 0x7136), + CodeunitRange(0x713a, 0x713b), + CodeunitRange(0x713e, 0x713e), + CodeunitRange(0x7140, 0x7147), + CodeunitRange(0x7149, 0x7154), + CodeunitRange(0x7156, 0x715a), + CodeunitRange(0x715c, 0x716c), + CodeunitRange(0x716e, 0x716e), + CodeunitRange(0x7170, 0x7178), + CodeunitRange(0x717a, 0x717e), + CodeunitRange(0x7180, 0x7182), + CodeunitRange(0x7184, 0x718a), + CodeunitRange(0x718c, 0x718c), + CodeunitRange(0x718e, 0x7192), + CodeunitRange(0x7194, 0x7194), + CodeunitRange(0x7196, 0x71a5), + CodeunitRange(0x71a7, 0x71aa), + CodeunitRange(0x71ac, 0x71ad), + CodeunitRange(0x71af, 0x71b5), + CodeunitRange(0x71b7, 0x71ba), + CodeunitRange(0x71bc, 0x71cb), + CodeunitRange(0x71ce, 0x71d2), + CodeunitRange(0x71d4, 0x71d6), + CodeunitRange(0x71d8, 0x71dd), + CodeunitRange(0x71df, 0x71e2), + CodeunitRange(0x71e4, 0x71e8), + CodeunitRange(0x71eb, 0x71ee), + CodeunitRange(0x71f0, 0x71f2), + CodeunitRange(0x71f4, 0x71f6), + CodeunitRange(0x71f8, 0x71f9), + CodeunitRange(0x71fb, 0x7203), + CodeunitRange(0x7205, 0x7207), + CodeunitRange(0x7209, 0x720a), + CodeunitRange(0x720c, 0x7210), + CodeunitRange(0x7213, 0x7217), + CodeunitRange(0x7219, 0x721b), + CodeunitRange(0x721d, 0x721f), + CodeunitRange(0x7222, 0x722e), + CodeunitRange(0x7230, 0x7230), + CodeunitRange(0x7235, 0x7236), + CodeunitRange(0x7238, 0x723b), + CodeunitRange(0x723d, 0x7242), + CodeunitRange(0x7244, 0x7244), + CodeunitRange(0x7246, 0x724c), + CodeunitRange(0x724f, 0x7250), + CodeunitRange(0x7252, 0x7253), + CodeunitRange(0x7255, 0x7263), + CodeunitRange(0x7266, 0x7267), + CodeunitRange(0x7269, 0x726a), + CodeunitRange(0x726c, 0x726c), + CodeunitRange(0x726e, 0x7270), + CodeunitRange(0x7272, 0x7274), + CodeunitRange(0x7276, 0x7279), + CodeunitRange(0x727b, 0x7282), + CodeunitRange(0x7284, 0x7289), + CodeunitRange(0x728b, 0x7298), + CodeunitRange(0x729a, 0x729b), + CodeunitRange(0x729d, 0x729f), + CodeunitRange(0x72a1, 0x72aa), + CodeunitRange(0x72ac, 0x72b0), + CodeunitRange(0x72b2, 0x72b2), + CodeunitRange(0x72b4, 0x72b5), + CodeunitRange(0x72ba, 0x72ba), + CodeunitRange(0x72bd, 0x72bd), + CodeunitRange(0x72bf, 0x72c6), + CodeunitRange(0x72c9, 0x72ce), + CodeunitRange(0x72d0, 0x72d2), + CodeunitRange(0x72d4, 0x72d4), + CodeunitRange(0x72d6, 0x72da), + CodeunitRange(0x72dc, 0x72dc), + CodeunitRange(0x72df, 0x72e4), + CodeunitRange(0x72e6, 0x72e6), + CodeunitRange(0x72e8, 0x72eb), + CodeunitRange(0x72f3, 0x72f4), + CodeunitRange(0x72f6, 0x7302), + CodeunitRange(0x7304, 0x7304), + CodeunitRange(0x7307, 0x7308), + CodeunitRange(0x730a, 0x730c), + CodeunitRange(0x730f, 0x7313), + CodeunitRange(0x7316, 0x7319), + CodeunitRange(0x731b, 0x731e), + CodeunitRange(0x7322, 0x7323), + CodeunitRange(0x7325, 0x732e), + CodeunitRange(0x7330, 0x733c), + CodeunitRange(0x733e, 0x7345), + CodeunitRange(0x7348, 0x734a), + CodeunitRange(0x734c, 0x7352), + CodeunitRange(0x7357, 0x735b), + CodeunitRange(0x735d, 0x7362), + CodeunitRange(0x7365, 0x736c), + CodeunitRange(0x736e, 0x7378), + CodeunitRange(0x737a, 0x738c), + CodeunitRange(0x738e, 0x738f), + CodeunitRange(0x7392, 0x7398), + CodeunitRange(0x739c, 0x73a2), + CodeunitRange(0x73a4, 0x73ad), + CodeunitRange(0x73b2, 0x73bc), + CodeunitRange(0x73be, 0x73c0), + CodeunitRange(0x73c2, 0x73d0), + CodeunitRange(0x73d2, 0x73de), + CodeunitRange(0x73e0, 0x73eb), + CodeunitRange(0x73ed, 0x73ef), + CodeunitRange(0x73f3, 0x740d), + CodeunitRange(0x7411, 0x7412), + CodeunitRange(0x7414, 0x7417), + CodeunitRange(0x7419, 0x7426), + CodeunitRange(0x7428, 0x743a), + CodeunitRange(0x743c, 0x743c), + CodeunitRange(0x743f, 0x7457), + CodeunitRange(0x7459, 0x7465), + CodeunitRange(0x7467, 0x7476), + CodeunitRange(0x7479, 0x747a), + CodeunitRange(0x747c, 0x7483), + CodeunitRange(0x7485, 0x748d), + CodeunitRange(0x7490, 0x7490), + CodeunitRange(0x7492, 0x7492), + CodeunitRange(0x7494, 0x7495), + CodeunitRange(0x7497, 0x74a1), + CodeunitRange(0x74a3, 0x74ab), + CodeunitRange(0x74ad, 0x74ad), + CodeunitRange(0x74af, 0x74b2), + CodeunitRange(0x74b4, 0x74bb), + CodeunitRange(0x74bd, 0x74c3), + CodeunitRange(0x74c5, 0x74c6), + CodeunitRange(0x74c8, 0x74c8), + CodeunitRange(0x74ca, 0x74cc), + CodeunitRange(0x74cf, 0x74d0), + CodeunitRange(0x74d3, 0x74e9), + CodeunitRange(0x74ec, 0x74ec), + CodeunitRange(0x74ee, 0x74ee), + CodeunitRange(0x74f0, 0x74f2), + CodeunitRange(0x74f4, 0x74f8), + CodeunitRange(0x74fb, 0x74fb), + CodeunitRange(0x74fd, 0x7500), + CodeunitRange(0x7502, 0x7505), + CodeunitRange(0x7507, 0x7508), + CodeunitRange(0x750b, 0x751a), + CodeunitRange(0x751c, 0x751f), + CodeunitRange(0x7521, 0x7522), + CodeunitRange(0x7525, 0x7526), + CodeunitRange(0x7528, 0x7535), + CodeunitRange(0x7537, 0x753b), + CodeunitRange(0x753d, 0x7540), + CodeunitRange(0x7542, 0x7542), + CodeunitRange(0x7546, 0x7548), + CodeunitRange(0x754a, 0x754f), + CodeunitRange(0x7551, 0x7551), + CodeunitRange(0x7553, 0x7555), + CodeunitRange(0x7559, 0x755d), + CodeunitRange(0x755f, 0x7560), + CodeunitRange(0x7562, 0x7567), + CodeunitRange(0x756a, 0x7570), + CodeunitRange(0x7572, 0x7572), + CodeunitRange(0x7576, 0x757a), + CodeunitRange(0x757d, 0x7580), + CodeunitRange(0x7583, 0x7584), + CodeunitRange(0x7586, 0x7587), + CodeunitRange(0x758a, 0x7592), + CodeunitRange(0x7594, 0x7595), + CodeunitRange(0x7598, 0x759a), + CodeunitRange(0x759d, 0x759e), + CodeunitRange(0x75a2, 0x75a5), + CodeunitRange(0x75a7, 0x75a7), + CodeunitRange(0x75aa, 0x75ab), + CodeunitRange(0x75b0, 0x75b6), + CodeunitRange(0x75b8, 0x75c5), + CodeunitRange(0x75c7, 0x75c8), + CodeunitRange(0x75ca, 0x75d2), + CodeunitRange(0x75d4, 0x75d5), + CodeunitRange(0x75d7, 0x75e4), + CodeunitRange(0x75e6, 0x75e7), + CodeunitRange(0x75ed, 0x75ed), + CodeunitRange(0x75ef, 0x7603), + CodeunitRange(0x7607, 0x760d), + CodeunitRange(0x760f, 0x7611), + CodeunitRange(0x7613, 0x7616), + CodeunitRange(0x7619, 0x7629), + CodeunitRange(0x762c, 0x762d), + CodeunitRange(0x762f, 0x7635), + CodeunitRange(0x7638, 0x7638), + CodeunitRange(0x763a, 0x763d), + CodeunitRange(0x7640, 0x7640), + CodeunitRange(0x7642, 0x7643), + CodeunitRange(0x7646, 0x7649), + CodeunitRange(0x764c, 0x7654), + CodeunitRange(0x7656, 0x765a), + CodeunitRange(0x765c, 0x765c), + CodeunitRange(0x765f, 0x7662), + CodeunitRange(0x7664, 0x7667), + CodeunitRange(0x7669, 0x766a), + CodeunitRange(0x766c, 0x7676), + CodeunitRange(0x7678, 0x767f), + CodeunitRange(0x7681, 0x7682), + CodeunitRange(0x7684, 0x7684), + CodeunitRange(0x7686, 0x768b), + CodeunitRange(0x768e, 0x7690), + CodeunitRange(0x7692, 0x7693), + CodeunitRange(0x7695, 0x7696), + CodeunitRange(0x7699, 0x769e), + CodeunitRange(0x76a1, 0x76a1), + CodeunitRange(0x76a4, 0x76a6), + CodeunitRange(0x76aa, 0x76ab), + CodeunitRange(0x76ad, 0x76b0), + CodeunitRange(0x76b4, 0x76b5), + CodeunitRange(0x76b7, 0x76b8), + CodeunitRange(0x76ba, 0x76bb), + CodeunitRange(0x76bd, 0x76bf), + CodeunitRange(0x76c2, 0x76c6), + CodeunitRange(0x76c8, 0x76ca), + CodeunitRange(0x76cc, 0x76ce), + CodeunitRange(0x76d2, 0x76d4), + CodeunitRange(0x76d6, 0x76d6), + CodeunitRange(0x76d9, 0x76df), + CodeunitRange(0x76e1, 0x76e1), + CodeunitRange(0x76e3, 0x76e7), + CodeunitRange(0x76e9, 0x76ea), + CodeunitRange(0x76ec, 0x76f5), + CodeunitRange(0x76f7, 0x76fc), + CodeunitRange(0x76fe, 0x76fe), + CodeunitRange(0x7701, 0x7701), + CodeunitRange(0x7703, 0x7705), + CodeunitRange(0x7707, 0x770c), + CodeunitRange(0x770e, 0x7713), + CodeunitRange(0x7715, 0x7715), + CodeunitRange(0x7719, 0x771b), + CodeunitRange(0x771d, 0x7720), + CodeunitRange(0x7722, 0x7729), + CodeunitRange(0x772b, 0x772b), + CodeunitRange(0x772d, 0x772d), + CodeunitRange(0x772f, 0x772f), + CodeunitRange(0x7731, 0x773e), + CodeunitRange(0x7740, 0x7740), + CodeunitRange(0x7743, 0x7747), + CodeunitRange(0x774a, 0x774f), + CodeunitRange(0x7752, 0x7752), + CodeunitRange(0x7754, 0x7756), + CodeunitRange(0x7758, 0x775c), + CodeunitRange(0x775e, 0x7763), + CodeunitRange(0x7765, 0x776f), + CodeunitRange(0x7772, 0x7772), + CodeunitRange(0x7777, 0x7785), + CodeunitRange(0x7787, 0x7789), + CodeunitRange(0x778b, 0x778f), + CodeunitRange(0x7791, 0x7791), + CodeunitRange(0x7793, 0x7793), + CodeunitRange(0x7795, 0x7795), + CodeunitRange(0x7797, 0x77a3), + CodeunitRange(0x77a5, 0x77a5), + CodeunitRange(0x77a7, 0x77a8), + CodeunitRange(0x77aa, 0x77ad), + CodeunitRange(0x77af, 0x77b7), + CodeunitRange(0x77b9, 0x77bf), + CodeunitRange(0x77c2, 0x77c5), + CodeunitRange(0x77c7, 0x77c7), + CodeunitRange(0x77c9, 0x77d0), + CodeunitRange(0x77d3, 0x77d5), + CodeunitRange(0x77d7, 0x77de), + CodeunitRange(0x77e0, 0x77e0), + CodeunitRange(0x77e2, 0x77e3), + CodeunitRange(0x77e5, 0x77e9), + CodeunitRange(0x77ec, 0x77f4), + CodeunitRange(0x77f7, 0x77fe), + CodeunitRange(0x7802, 0x7803), + CodeunitRange(0x7805, 0x7806), + CodeunitRange(0x7808, 0x7809), + CodeunitRange(0x780c, 0x7814), + CodeunitRange(0x7818, 0x7818), + CodeunitRange(0x781c, 0x7823), + CodeunitRange(0x7825, 0x7835), + CodeunitRange(0x7837, 0x7839), + CodeunitRange(0x783c, 0x783d), + CodeunitRange(0x7842, 0x7845), + CodeunitRange(0x7847, 0x784e), + CodeunitRange(0x7850, 0x7854), + CodeunitRange(0x785c, 0x785e), + CodeunitRange(0x7860, 0x7860), + CodeunitRange(0x7862, 0x7862), + CodeunitRange(0x7864, 0x7866), + CodeunitRange(0x7868, 0x7871), + CodeunitRange(0x7879, 0x787c), + CodeunitRange(0x787e, 0x7881), + CodeunitRange(0x7883, 0x7889), + CodeunitRange(0x788c, 0x788f), + CodeunitRange(0x7891, 0x7891), + CodeunitRange(0x7893, 0x789a), + CodeunitRange(0x789e, 0x78a5), + CodeunitRange(0x78a7, 0x78ad), + CodeunitRange(0x78af, 0x78b4), + CodeunitRange(0x78b6, 0x78b6), + CodeunitRange(0x78b8, 0x78bc), + CodeunitRange(0x78be, 0x78be), + CodeunitRange(0x78c1, 0x78c1), + CodeunitRange(0x78c3, 0x78c5), + CodeunitRange(0x78c7, 0x78d5), + CodeunitRange(0x78d7, 0x78d8), + CodeunitRange(0x78da, 0x78db), + CodeunitRange(0x78dd, 0x78e5), + CodeunitRange(0x78e7, 0x78ea), + CodeunitRange(0x78ec, 0x78f5), + CodeunitRange(0x78f7, 0x78f7), + CodeunitRange(0x78f9, 0x78ff), + CodeunitRange(0x7901, 0x7902), + CodeunitRange(0x7904, 0x7906), + CodeunitRange(0x7909, 0x7909), + CodeunitRange(0x790c, 0x790c), + CodeunitRange(0x790e, 0x790e), + CodeunitRange(0x7910, 0x7914), + CodeunitRange(0x7917, 0x7917), + CodeunitRange(0x7919, 0x7919), + CodeunitRange(0x791b, 0x791e), + CodeunitRange(0x7921, 0x7921), + CodeunitRange(0x7923, 0x792f), + CodeunitRange(0x7931, 0x7936), + CodeunitRange(0x7938, 0x7942), + CodeunitRange(0x7944, 0x794c), + CodeunitRange(0x794f, 0x7965), + CodeunitRange(0x7967, 0x796b), + CodeunitRange(0x796d, 0x796d), + CodeunitRange(0x7970, 0x7974), + CodeunitRange(0x7979, 0x797a), + CodeunitRange(0x797c, 0x7983), + CodeunitRange(0x7986, 0x7988), + CodeunitRange(0x798a, 0x798b), + CodeunitRange(0x798d, 0x799d), + CodeunitRange(0x799f, 0x79a2), + CodeunitRange(0x79a4, 0x79ae), + CodeunitRange(0x79b0, 0x79b4), + CodeunitRange(0x79b6, 0x79bb), + CodeunitRange(0x79bd, 0x79c1), + CodeunitRange(0x79c4, 0x79c6), + CodeunitRange(0x79c8, 0x79d2), + CodeunitRange(0x79d4, 0x79d6), + CodeunitRange(0x79d8, 0x79d8), + CodeunitRange(0x79dc, 0x79e0), + CodeunitRange(0x79e2, 0x79e4), + CodeunitRange(0x79e6, 0x79e7), + CodeunitRange(0x79e9, 0x79ee), + CodeunitRange(0x79f1, 0x79f1), + CodeunitRange(0x79f4, 0x79f4), + CodeunitRange(0x79f6, 0x79f8), + CodeunitRange(0x79fa, 0x79fb), + CodeunitRange(0x7a00, 0x7a00), + CodeunitRange(0x7a02, 0x7a06), + CodeunitRange(0x7a08, 0x7a08), + CodeunitRange(0x7a0a, 0x7a0e), + CodeunitRange(0x7a10, 0x7a15), + CodeunitRange(0x7a17, 0x7a1c), + CodeunitRange(0x7a1e, 0x7a20), + CodeunitRange(0x7a22, 0x7a22), + CodeunitRange(0x7a26, 0x7a26), + CodeunitRange(0x7a28, 0x7a28), + CodeunitRange(0x7a2a, 0x7a32), + CodeunitRange(0x7a37, 0x7a37), + CodeunitRange(0x7a39, 0x7a40), + CodeunitRange(0x7a43, 0x7a4e), + CodeunitRange(0x7a54, 0x7a54), + CodeunitRange(0x7a56, 0x7a58), + CodeunitRange(0x7a5a, 0x7a5c), + CodeunitRange(0x7a5f, 0x7a62), + CodeunitRange(0x7a65, 0x7a65), + CodeunitRange(0x7a67, 0x7a69), + CodeunitRange(0x7a6b, 0x7a6e), + CodeunitRange(0x7a70, 0x7a72), + CodeunitRange(0x7a74, 0x7a76), + CodeunitRange(0x7a78, 0x7a7b), + CodeunitRange(0x7a7d, 0x7a81), + CodeunitRange(0x7a83, 0x7a8c), + CodeunitRange(0x7a8f, 0x7a99), + CodeunitRange(0x7a9e, 0x7aa0), + CodeunitRange(0x7aa2, 0x7aa3), + CodeunitRange(0x7aa8, 0x7aac), + CodeunitRange(0x7aae, 0x7ab8), + CodeunitRange(0x7aba, 0x7abc), + CodeunitRange(0x7abe, 0x7ac5), + CodeunitRange(0x7ac7, 0x7acb), + CodeunitRange(0x7acf, 0x7acf), + CodeunitRange(0x7ad1, 0x7ad1), + CodeunitRange(0x7ad3, 0x7ad3), + CodeunitRange(0x7ad8, 0x7add), + CodeunitRange(0x7adf, 0x7ae0), + CodeunitRange(0x7ae2, 0x7ae7), + CodeunitRange(0x7ae9, 0x7aeb), + CodeunitRange(0x7aed, 0x7aef), + CodeunitRange(0x7af6, 0x7af7), + CodeunitRange(0x7af9, 0x7b01), + CodeunitRange(0x7b04, 0x7b06), + CodeunitRange(0x7b08, 0x7b0c), + CodeunitRange(0x7b0e, 0x7b14), + CodeunitRange(0x7b18, 0x7b1b), + CodeunitRange(0x7b1d, 0x7b20), + CodeunitRange(0x7b22, 0x7b35), + CodeunitRange(0x7b38, 0x7b39), + CodeunitRange(0x7b3b, 0x7b3b), + CodeunitRange(0x7b40, 0x7b40), + CodeunitRange(0x7b42, 0x7b52), + CodeunitRange(0x7b54, 0x7b56), + CodeunitRange(0x7b58, 0x7b58), + CodeunitRange(0x7b60, 0x7b67), + CodeunitRange(0x7b69, 0x7b69), + CodeunitRange(0x7b6c, 0x7b78), + CodeunitRange(0x7b7b, 0x7b7b), + CodeunitRange(0x7b82, 0x7b82), + CodeunitRange(0x7b84, 0x7b85), + CodeunitRange(0x7b87, 0x7b88), + CodeunitRange(0x7b8a, 0x7b92), + CodeunitRange(0x7b94, 0x7b9d), + CodeunitRange(0x7ba0, 0x7ba4), + CodeunitRange(0x7bac, 0x7baf), + CodeunitRange(0x7bb1, 0x7bb2), + CodeunitRange(0x7bb4, 0x7bb5), + CodeunitRange(0x7bb7, 0x7bb9), + CodeunitRange(0x7bbe, 0x7bbe), + CodeunitRange(0x7bc0, 0x7bc1), + CodeunitRange(0x7bc4, 0x7bc7), + CodeunitRange(0x7bc9, 0x7bcc), + CodeunitRange(0x7bce, 0x7bd0), + CodeunitRange(0x7bd4, 0x7bd5), + CodeunitRange(0x7bd8, 0x7bec), + CodeunitRange(0x7bf0, 0x7bf4), + CodeunitRange(0x7bf7, 0x7c03), + CodeunitRange(0x7c05, 0x7c07), + CodeunitRange(0x7c09, 0x7c12), + CodeunitRange(0x7c15, 0x7c15), + CodeunitRange(0x7c19, 0x7c19), + CodeunitRange(0x7c1b, 0x7c23), + CodeunitRange(0x7c25, 0x7c2d), + CodeunitRange(0x7c30, 0x7c30), + CodeunitRange(0x7c33, 0x7c33), + CodeunitRange(0x7c35, 0x7c35), + CodeunitRange(0x7c37, 0x7c39), + CodeunitRange(0x7c3b, 0x7c40), + CodeunitRange(0x7c42, 0x7c45), + CodeunitRange(0x7c47, 0x7c4a), + CodeunitRange(0x7c4c, 0x7c4d), + CodeunitRange(0x7c50, 0x7c51), + CodeunitRange(0x7c53, 0x7c54), + CodeunitRange(0x7c56, 0x7c57), + CodeunitRange(0x7c59, 0x7c5d), + CodeunitRange(0x7c5f, 0x7c60), + CodeunitRange(0x7c63, 0x7c67), + CodeunitRange(0x7c69, 0x7c70), + CodeunitRange(0x7c72, 0x7c75), + CodeunitRange(0x7c78, 0x7c81), + CodeunitRange(0x7c83, 0x7c86), + CodeunitRange(0x7c88, 0x7c8a), + CodeunitRange(0x7c8c, 0x7c8e), + CodeunitRange(0x7c91, 0x7c92), + CodeunitRange(0x7c94, 0x7c98), + CodeunitRange(0x7c9c, 0x7c9c), + CodeunitRange(0x7c9e, 0x7c9f), + CodeunitRange(0x7ca1, 0x7ca3), + CodeunitRange(0x7ca5, 0x7ca8), + CodeunitRange(0x7cac, 0x7cac), + CodeunitRange(0x7cae, 0x7caf), + CodeunitRange(0x7cb1, 0x7cb5), + CodeunitRange(0x7cb8, 0x7cbf), + CodeunitRange(0x7cc2, 0x7cc3), + CodeunitRange(0x7cc5, 0x7cc5), + CodeunitRange(0x7cc7, 0x7cce), + CodeunitRange(0x7cd0, 0x7cd7), + CodeunitRange(0x7cd9, 0x7cda), + CodeunitRange(0x7cdc, 0x7ce0), + CodeunitRange(0x7ce2, 0x7ce2), + CodeunitRange(0x7ce6, 0x7ce8), + CodeunitRange(0x7cea, 0x7cea), + CodeunitRange(0x7cec, 0x7cf9), + CodeunitRange(0x7cfb, 0x7cfe), + CodeunitRange(0x7d00, 0x7d22), + CodeunitRange(0x7d25, 0x7d25), + CodeunitRange(0x7d28, 0x7d29), + CodeunitRange(0x7d2b, 0x7d2c), + CodeunitRange(0x7d2e, 0x7d33), + CodeunitRange(0x7d35, 0x7d36), + CodeunitRange(0x7d38, 0x7d47), + CodeunitRange(0x7d4a, 0x7d4a), + CodeunitRange(0x7d4d, 0x7d56), + CodeunitRange(0x7d58, 0x7d58), + CodeunitRange(0x7d5a, 0x7d5f), + CodeunitRange(0x7d61, 0x7d63), + CodeunitRange(0x7d66, 0x7d6b), + CodeunitRange(0x7d6d, 0x7d73), + CodeunitRange(0x7d79, 0x7d7d), + CodeunitRange(0x7d7f, 0x7d81), + CodeunitRange(0x7d83, 0x7d86), + CodeunitRange(0x7d88, 0x7d89), + CodeunitRange(0x7d8b, 0x7d8f), + CodeunitRange(0x7d91, 0x7d97), + CodeunitRange(0x7d9c, 0x7da4), + CodeunitRange(0x7da6, 0x7db5), + CodeunitRange(0x7db7, 0x7dc2), + CodeunitRange(0x7dc4, 0x7dc7), + CodeunitRange(0x7dc9, 0x7dd0), + CodeunitRange(0x7dd2, 0x7dd4), + CodeunitRange(0x7dd7, 0x7de1), + CodeunitRange(0x7de3, 0x7dea), + CodeunitRange(0x7dec, 0x7dec), + CodeunitRange(0x7dee, 0x7df7), + CodeunitRange(0x7df9, 0x7dfe), + CodeunitRange(0x7e03, 0x7e03), + CodeunitRange(0x7e07, 0x7e17), + CodeunitRange(0x7e1a, 0x7e25), + CodeunitRange(0x7e27, 0x7e27), + CodeunitRange(0x7e29, 0x7e2b), + CodeunitRange(0x7e2d, 0x7e49), + CodeunitRange(0x7e4c, 0x7e4c), + CodeunitRange(0x7e50, 0x7e5c), + CodeunitRange(0x7e5e, 0x7e63), + CodeunitRange(0x7e65, 0x7e65), + CodeunitRange(0x7e67, 0x7e70), + CodeunitRange(0x7e72, 0x7e82), + CodeunitRange(0x7e86, 0x7e88), + CodeunitRange(0x7e8a, 0x7e8f), + CodeunitRange(0x7e91, 0x7e9c), + CodeunitRange(0x7e9f, 0x7e9f), + CodeunitRange(0x7ea4, 0x7ea4), + CodeunitRange(0x7eac, 0x7eac), + CodeunitRange(0x7eba, 0x7eba), + CodeunitRange(0x7ec7, 0x7ec7), + CodeunitRange(0x7ecf, 0x7ecf), + CodeunitRange(0x7edf, 0x7edf), + CodeunitRange(0x7f06, 0x7f06), + CodeunitRange(0x7f36, 0x7f3a), + CodeunitRange(0x7f3d, 0x7f41), + CodeunitRange(0x7f43, 0x7f45), + CodeunitRange(0x7f47, 0x7f55), + CodeunitRange(0x7f58, 0x7f58), + CodeunitRange(0x7f5b, 0x7f61), + CodeunitRange(0x7f63, 0x7f63), + CodeunitRange(0x7f65, 0x7f6e), + CodeunitRange(0x7f70, 0x7f73), + CodeunitRange(0x7f75, 0x7f7f), + CodeunitRange(0x7f83, 0x7f83), + CodeunitRange(0x7f85, 0x7f8f), + CodeunitRange(0x7f91, 0x7f97), + CodeunitRange(0x7f9a, 0x7f9e), + CodeunitRange(0x7fa0, 0x7fa9), + CodeunitRange(0x7fac, 0x7fc3), + CodeunitRange(0x7fc5, 0x7fc5), + CodeunitRange(0x7fc7, 0x7fc7), + CodeunitRange(0x7fc9, 0x7fd2), + CodeunitRange(0x7fd4, 0x7fd5), + CodeunitRange(0x7fd7, 0x7fd7), + CodeunitRange(0x7fdb, 0x7fe3), + CodeunitRange(0x7fe5, 0x7ff5), + CodeunitRange(0x7ff7, 0x8008), + CodeunitRange(0x800b, 0x8012), + CodeunitRange(0x8014, 0x8019), + CodeunitRange(0x801b, 0x8021), + CodeunitRange(0x8024, 0x8026), + CodeunitRange(0x8028, 0x802a), + CodeunitRange(0x802c, 0x802c), + CodeunitRange(0x802e, 0x8031), + CodeunitRange(0x8033, 0x8037), + CodeunitRange(0x8039, 0x8039), + CodeunitRange(0x803b, 0x803f), + CodeunitRange(0x8043, 0x8043), + CodeunitRange(0x8046, 0x8048), + CodeunitRange(0x804a, 0x804a), + CodeunitRange(0x804f, 0x8052), + CodeunitRange(0x8054, 0x8054), + CodeunitRange(0x8056, 0x8056), + CodeunitRange(0x8058, 0x8058), + CodeunitRange(0x805a, 0x805e), + CodeunitRange(0x8061, 0x8064), + CodeunitRange(0x8066, 0x8067), + CodeunitRange(0x806c, 0x806c), + CodeunitRange(0x806f, 0x8073), + CodeunitRange(0x8075, 0x8079), + CodeunitRange(0x807d, 0x8080), + CodeunitRange(0x8082, 0x8082), + CodeunitRange(0x8084, 0x8087), + CodeunitRange(0x8089, 0x808c), + CodeunitRange(0x808f, 0x8090), + CodeunitRange(0x8092, 0x8093), + CodeunitRange(0x8095, 0x8096), + CodeunitRange(0x8098, 0x809d), + CodeunitRange(0x809f, 0x809f), + CodeunitRange(0x80a1, 0x80a3), + CodeunitRange(0x80a5, 0x80a5), + CodeunitRange(0x80a7, 0x80a7), + CodeunitRange(0x80a9, 0x80ab), + CodeunitRange(0x80ad, 0x80af), + CodeunitRange(0x80b1, 0x80b2), + CodeunitRange(0x80b4, 0x80b8), + CodeunitRange(0x80ba, 0x80ba), + CodeunitRange(0x80bc, 0x80bd), + CodeunitRange(0x80c2, 0x80ca), + CodeunitRange(0x80cc, 0x80d1), + CodeunitRange(0x80d4, 0x80de), + CodeunitRange(0x80e0, 0x80e1), + CodeunitRange(0x80e3, 0x80e6), + CodeunitRange(0x80e9, 0x80e9), + CodeunitRange(0x80ec, 0x80ed), + CodeunitRange(0x80ef, 0x80f6), + CodeunitRange(0x80f8, 0x80fe), + CodeunitRange(0x8100, 0x8103), + CodeunitRange(0x8105, 0x810a), + CodeunitRange(0x810c, 0x810c), + CodeunitRange(0x810e, 0x810e), + CodeunitRange(0x8112, 0x8112), + CodeunitRange(0x8114, 0x811b), + CodeunitRange(0x811d, 0x811f), + CodeunitRange(0x8121, 0x8125), + CodeunitRange(0x8127, 0x8127), + CodeunitRange(0x8129, 0x812d), + CodeunitRange(0x812f, 0x8132), + CodeunitRange(0x8134, 0x8134), + CodeunitRange(0x8137, 0x8137), + CodeunitRange(0x8139, 0x813a), + CodeunitRange(0x813d, 0x813e), + CodeunitRange(0x8142, 0x8144), + CodeunitRange(0x8146, 0x8148), + CodeunitRange(0x814a, 0x8156), + CodeunitRange(0x8159, 0x815c), + CodeunitRange(0x815e, 0x815e), + CodeunitRange(0x8160, 0x8162), + CodeunitRange(0x8164, 0x8167), + CodeunitRange(0x8169, 0x8169), + CodeunitRange(0x816b, 0x8174), + CodeunitRange(0x8176, 0x817a), + CodeunitRange(0x817c, 0x817d), + CodeunitRange(0x817f, 0x8180), + CodeunitRange(0x8182, 0x8184), + CodeunitRange(0x8186, 0x818d), + CodeunitRange(0x818f, 0x818f), + CodeunitRange(0x8193, 0x8193), + CodeunitRange(0x8195, 0x8195), + CodeunitRange(0x8197, 0x81a0), + CodeunitRange(0x81a2, 0x81a3), + CodeunitRange(0x81a5, 0x81ac), + CodeunitRange(0x81ae, 0x81ae), + CodeunitRange(0x81b0, 0x81b7), + CodeunitRange(0x81b9, 0x81ca), + CodeunitRange(0x81cc, 0x81cd), + CodeunitRange(0x81cf, 0x81d2), + CodeunitRange(0x81d5, 0x81d5), + CodeunitRange(0x81d7, 0x81db), + CodeunitRange(0x81dd, 0x81ea), + CodeunitRange(0x81ec, 0x81ef), + CodeunitRange(0x81f2, 0x81f4), + CodeunitRange(0x81f6, 0x81fc), + CodeunitRange(0x81fe, 0x8202), + CodeunitRange(0x8204, 0x8205), + CodeunitRange(0x8207, 0x820d), + CodeunitRange(0x8210, 0x8212), + CodeunitRange(0x8214, 0x8216), + CodeunitRange(0x8218, 0x8218), + CodeunitRange(0x821a, 0x8222), + CodeunitRange(0x8225, 0x8226), + CodeunitRange(0x8228, 0x822d), + CodeunitRange(0x822f, 0x822f), + CodeunitRange(0x8232, 0x823a), + CodeunitRange(0x823c, 0x8240), + CodeunitRange(0x8242, 0x8242), + CodeunitRange(0x8244, 0x8245), + CodeunitRange(0x8247, 0x8247), + CodeunitRange(0x8249, 0x8249), + CodeunitRange(0x824b, 0x824b), + CodeunitRange(0x824e, 0x825c), + CodeunitRange(0x825e, 0x825f), + CodeunitRange(0x8261, 0x8266), + CodeunitRange(0x8268, 0x8269), + CodeunitRange(0x826b, 0x826f), + CodeunitRange(0x8271, 0x8272), + CodeunitRange(0x8274, 0x8280), + CodeunitRange(0x8283, 0x8285), + CodeunitRange(0x8287, 0x8287), + CodeunitRange(0x828a, 0x828b), + CodeunitRange(0x828d, 0x8294), + CodeunitRange(0x8298, 0x829b), + CodeunitRange(0x829d, 0x82b1), + CodeunitRange(0x82b3, 0x82c0), + CodeunitRange(0x82c2, 0x82c4), + CodeunitRange(0x82ca, 0x82ca), + CodeunitRange(0x82cf, 0x82d9), + CodeunitRange(0x82db, 0x82dc), + CodeunitRange(0x82de, 0x82e8), + CodeunitRange(0x82ea, 0x8309), + CodeunitRange(0x830b, 0x830d), + CodeunitRange(0x8316, 0x831e), + CodeunitRange(0x8320, 0x8320), + CodeunitRange(0x8322, 0x8322), + CodeunitRange(0x8324, 0x832d), + CodeunitRange(0x832f, 0x832f), + CodeunitRange(0x8331, 0x833d), + CodeunitRange(0x833f, 0x8345), + CodeunitRange(0x8347, 0x8354), + CodeunitRange(0x8356, 0x8357), + CodeunitRange(0x8362, 0x8363), + CodeunitRange(0x8366, 0x8366), + CodeunitRange(0x836f, 0x836f), + CodeunitRange(0x8373, 0x8378), + CodeunitRange(0x837a, 0x837f), + CodeunitRange(0x8381, 0x8381), + CodeunitRange(0x8383, 0x8383), + CodeunitRange(0x8385, 0x839e), + CodeunitRange(0x83a0, 0x83a0), + CodeunitRange(0x83a2, 0x83ac), + CodeunitRange(0x83ae, 0x83b0), + CodeunitRange(0x83b9, 0x83b9), + CodeunitRange(0x83bd, 0x83cf), + CodeunitRange(0x83d1, 0x83d1), + CodeunitRange(0x83d3, 0x83d9), + CodeunitRange(0x83db, 0x83e5), + CodeunitRange(0x83e7, 0x83f6), + CodeunitRange(0x83f8, 0x83ff), + CodeunitRange(0x8401, 0x8401), + CodeunitRange(0x8403, 0x8407), + CodeunitRange(0x8409, 0x8414), + CodeunitRange(0x8416, 0x8416), + CodeunitRange(0x8418, 0x8418), + CodeunitRange(0x841b, 0x841c), + CodeunitRange(0x8420, 0x8421), + CodeunitRange(0x8423, 0x8424), + CodeunitRange(0x8426, 0x8426), + CodeunitRange(0x8429, 0x8429), + CodeunitRange(0x842b, 0x8440), + CodeunitRange(0x8442, 0x844e), + CodeunitRange(0x8450, 0x8469), + CodeunitRange(0x846b, 0x847a), + CodeunitRange(0x847d, 0x8480), + CodeunitRange(0x8482, 0x8482), + CodeunitRange(0x8484, 0x8484), + CodeunitRange(0x8486, 0x8486), + CodeunitRange(0x8488, 0x8488), + CodeunitRange(0x848d, 0x8494), + CodeunitRange(0x8496, 0x84a4), + CodeunitRange(0x84a7, 0x84b2), + CodeunitRange(0x84b4, 0x84b4), + CodeunitRange(0x84b6, 0x84b6), + CodeunitRange(0x84b8, 0x84c2), + CodeunitRange(0x84c4, 0x84c7), + CodeunitRange(0x84c9, 0x84d4), + CodeunitRange(0x84d6, 0x84d7), + CodeunitRange(0x84da, 0x84db), + CodeunitRange(0x84de, 0x84de), + CodeunitRange(0x84e1, 0x84e2), + CodeunitRange(0x84e4, 0x84e5), + CodeunitRange(0x84e7, 0x84ec), + CodeunitRange(0x84ee, 0x84f4), + CodeunitRange(0x84f6, 0x8500), + CodeunitRange(0x8502, 0x851a), + CodeunitRange(0x851c, 0x8521), + CodeunitRange(0x8523, 0x8531), + CodeunitRange(0x8533, 0x8534), + CodeunitRange(0x8538, 0x8538), + CodeunitRange(0x853b, 0x853b), + CodeunitRange(0x853d, 0x853e), + CodeunitRange(0x8540, 0x854e), + CodeunitRange(0x8551, 0x855b), + CodeunitRange(0x855d, 0x8571), + CodeunitRange(0x8573, 0x8573), + CodeunitRange(0x8575, 0x857c), + CodeunitRange(0x857e, 0x857e), + CodeunitRange(0x8580, 0x8591), + CodeunitRange(0x8593, 0x85a4), + CodeunitRange(0x85a6, 0x85aa), + CodeunitRange(0x85af, 0x85b1), + CodeunitRange(0x85b3, 0x85ba), + CodeunitRange(0x85bd, 0x85c9), + CodeunitRange(0x85cb, 0x85cb), + CodeunitRange(0x85cd, 0x85d2), + CodeunitRange(0x85d5, 0x85da), + CodeunitRange(0x85dc, 0x85e6), + CodeunitRange(0x85e8, 0x85f2), + CodeunitRange(0x85f4, 0x85f4), + CodeunitRange(0x85f6, 0x8602), + CodeunitRange(0x8604, 0x8607), + CodeunitRange(0x8609, 0x860d), + CodeunitRange(0x860f, 0x8611), + CodeunitRange(0x8613, 0x8614), + CodeunitRange(0x8616, 0x861c), + CodeunitRange(0x861e, 0x862a), + CodeunitRange(0x862c, 0x862f), + CodeunitRange(0x8631, 0x8636), + CodeunitRange(0x8638, 0x863c), + CodeunitRange(0x863e, 0x8640), + CodeunitRange(0x8642, 0x8643), + CodeunitRange(0x8645, 0x8648), + CodeunitRange(0x864b, 0x864e), + CodeunitRange(0x8650, 0x8650), + CodeunitRange(0x8652, 0x8656), + CodeunitRange(0x8659, 0x8659), + CodeunitRange(0x865b, 0x865c), + CodeunitRange(0x865e, 0x865f), + CodeunitRange(0x8661, 0x8665), + CodeunitRange(0x8667, 0x8674), + CodeunitRange(0x8677, 0x8677), + CodeunitRange(0x8679, 0x867c), + CodeunitRange(0x867e, 0x867e), + CodeunitRange(0x8685, 0x8687), + CodeunitRange(0x868a, 0x868e), + CodeunitRange(0x8690, 0x869a), + CodeunitRange(0x869c, 0x869e), + CodeunitRange(0x86a0, 0x86a5), + CodeunitRange(0x86a7, 0x86aa), + CodeunitRange(0x86ad, 0x86ad), + CodeunitRange(0x86af, 0x86c9), + CodeunitRange(0x86cb, 0x86cc), + CodeunitRange(0x86d0, 0x86d1), + CodeunitRange(0x86d3, 0x86d4), + CodeunitRange(0x86d6, 0x86df), + CodeunitRange(0x86e2, 0x86e4), + CodeunitRange(0x86e6, 0x86e6), + CodeunitRange(0x86e8, 0x86ed), + CodeunitRange(0x86ef, 0x86ef), + CodeunitRange(0x86f5, 0x86fb), + CodeunitRange(0x86fe, 0x86fe), + CodeunitRange(0x8700, 0x870e), + CodeunitRange(0x8711, 0x8713), + CodeunitRange(0x8715, 0x8715), + CodeunitRange(0x8718, 0x871c), + CodeunitRange(0x871e, 0x871e), + CodeunitRange(0x8720, 0x872a), + CodeunitRange(0x872c, 0x872e), + CodeunitRange(0x8730, 0x8735), + CodeunitRange(0x8737, 0x8738), + CodeunitRange(0x873a, 0x873c), + CodeunitRange(0x873e, 0x8743), + CodeunitRange(0x8746, 0x8746), + CodeunitRange(0x874c, 0x8771), + CodeunitRange(0x8773, 0x877b), + CodeunitRange(0x877d, 0x877d), + CodeunitRange(0x8781, 0x8789), + CodeunitRange(0x878b, 0x878d), + CodeunitRange(0x878f, 0x8794), + CodeunitRange(0x8796, 0x8798), + CodeunitRange(0x879a, 0x879f), + CodeunitRange(0x87a2, 0x87a5), + CodeunitRange(0x87a9, 0x87c6), + CodeunitRange(0x87c8, 0x87cc), + CodeunitRange(0x87ce, 0x87ce), + CodeunitRange(0x87d1, 0x87d4), + CodeunitRange(0x87d6, 0x87e8), + CodeunitRange(0x87ea, 0x87ef), + CodeunitRange(0x87f2, 0x87f7), + CodeunitRange(0x87f9, 0x87fc), + CodeunitRange(0x87fe, 0x8806), + CodeunitRange(0x8808, 0x880d), + CodeunitRange(0x880f, 0x8811), + CodeunitRange(0x8813, 0x8819), + CodeunitRange(0x881b, 0x881d), + CodeunitRange(0x881f, 0x8833), + CodeunitRange(0x8835, 0x8839), + CodeunitRange(0x883b, 0x8846), + CodeunitRange(0x8848, 0x8848), + CodeunitRange(0x884a, 0x884f), + CodeunitRange(0x8852, 0x8853), + CodeunitRange(0x8855, 0x8857), + CodeunitRange(0x8859, 0x885b), + CodeunitRange(0x885d, 0x885e), + CodeunitRange(0x8860, 0x8865), + CodeunitRange(0x8867, 0x886b), + CodeunitRange(0x886d, 0x8872), + CodeunitRange(0x8874, 0x8877), + CodeunitRange(0x8879, 0x8879), + CodeunitRange(0x887c, 0x8884), + CodeunitRange(0x8887, 0x8889), + CodeunitRange(0x888b, 0x8893), + CodeunitRange(0x8895, 0x88a2), + CodeunitRange(0x88a4, 0x88a4), + CodeunitRange(0x88a7, 0x88a8), + CodeunitRange(0x88aa, 0x88ac), + CodeunitRange(0x88ae, 0x88ae), + CodeunitRange(0x88b1, 0x88b2), + CodeunitRange(0x88b4, 0x88ba), + CodeunitRange(0x88bc, 0x88c2), + CodeunitRange(0x88c5, 0x88c5), + CodeunitRange(0x88c7, 0x88c7), + CodeunitRange(0x88c9, 0x88d0), + CodeunitRange(0x88d2, 0x88d2), + CodeunitRange(0x88d4, 0x88df), + CodeunitRange(0x88e1, 0x88e1), + CodeunitRange(0x88e6, 0x88e8), + CodeunitRange(0x88eb, 0x88ec), + CodeunitRange(0x88ee, 0x8902), + CodeunitRange(0x8905, 0x8907), + CodeunitRange(0x8909, 0x890c), + CodeunitRange(0x890e, 0x890e), + CodeunitRange(0x8910, 0x891a), + CodeunitRange(0x891e, 0x891f), + CodeunitRange(0x8921, 0x8927), + CodeunitRange(0x8929, 0x8933), + CodeunitRange(0x8935, 0x8938), + CodeunitRange(0x893b, 0x893e), + CodeunitRange(0x8941, 0x8944), + CodeunitRange(0x8946, 0x8947), + CodeunitRange(0x8949, 0x8949), + CodeunitRange(0x894b, 0x894d), + CodeunitRange(0x894f, 0x8954), + CodeunitRange(0x8956, 0x8966), + CodeunitRange(0x8969, 0x896f), + CodeunitRange(0x8971, 0x8974), + CodeunitRange(0x8976, 0x8977), + CodeunitRange(0x8979, 0x897c), + CodeunitRange(0x897e, 0x8983), + CodeunitRange(0x8985, 0x898b), + CodeunitRange(0x898f, 0x898f), + CodeunitRange(0x8991, 0x8991), + CodeunitRange(0x8993, 0x8998), + CodeunitRange(0x899b, 0x899f), + CodeunitRange(0x89a1, 0x89a7), + CodeunitRange(0x89a9, 0x89aa), + CodeunitRange(0x89ac, 0x89af), + CodeunitRange(0x89b2, 0x89b2), + CodeunitRange(0x89b6, 0x89b7), + CodeunitRange(0x89b9, 0x89ba), + CodeunitRange(0x89bc, 0x89c1), + CodeunitRange(0x89c6, 0x89c6), + CodeunitRange(0x89d2, 0x89d6), + CodeunitRange(0x89d9, 0x89dd), + CodeunitRange(0x89df, 0x89e9), + CodeunitRange(0x89eb, 0x89ed), + CodeunitRange(0x89f0, 0x89f4), + CodeunitRange(0x89f6, 0x89f8), + CodeunitRange(0x89fa, 0x89fc), + CodeunitRange(0x89fe, 0x8a00), + CodeunitRange(0x8a02, 0x8a04), + CodeunitRange(0x8a07, 0x8a08), + CodeunitRange(0x8a0a, 0x8a0a), + CodeunitRange(0x8a0c, 0x8a0c), + CodeunitRange(0x8a0e, 0x8a13), + CodeunitRange(0x8a15, 0x8a18), + CodeunitRange(0x8a1b, 0x8a1f), + CodeunitRange(0x8a22, 0x8a23), + CodeunitRange(0x8a25, 0x8a25), + CodeunitRange(0x8a27, 0x8a27), + CodeunitRange(0x8a29, 0x8a2d), + CodeunitRange(0x8a30, 0x8a31), + CodeunitRange(0x8a34, 0x8a34), + CodeunitRange(0x8a36, 0x8a36), + CodeunitRange(0x8a38, 0x8a41), + CodeunitRange(0x8a44, 0x8a46), + CodeunitRange(0x8a48, 0x8a4a), + CodeunitRange(0x8a4c, 0x8a52), + CodeunitRange(0x8a54, 0x8a59), + CodeunitRange(0x8a5b, 0x8a5b), + CodeunitRange(0x8a5e, 0x8a5e), + CodeunitRange(0x8a60, 0x8a63), + CodeunitRange(0x8a66, 0x8a69), + CodeunitRange(0x8a6b, 0x8a6e), + CodeunitRange(0x8a70, 0x8a77), + CodeunitRange(0x8a79, 0x8a7c), + CodeunitRange(0x8a7e, 0x8a7f), + CodeunitRange(0x8a81, 0x8a87), + CodeunitRange(0x8a8b, 0x8a8d), + CodeunitRange(0x8a8f, 0x8a96), + CodeunitRange(0x8a98, 0x8a9a), + CodeunitRange(0x8a9c, 0x8a9c), + CodeunitRange(0x8a9e, 0x8a9e), + CodeunitRange(0x8aa0, 0x8aa1), + CodeunitRange(0x8aa3, 0x8aac), + CodeunitRange(0x8aaf, 0x8ab0), + CodeunitRange(0x8ab2, 0x8ab2), + CodeunitRange(0x8ab4, 0x8ab4), + CodeunitRange(0x8ab6, 0x8ab6), + CodeunitRange(0x8ab8, 0x8ac0), + CodeunitRange(0x8ac2, 0x8ac9), + CodeunitRange(0x8acb, 0x8acd), + CodeunitRange(0x8acf, 0x8acf), + CodeunitRange(0x8ad1, 0x8ae2), + CodeunitRange(0x8ae4, 0x8ae4), + CodeunitRange(0x8ae6, 0x8ae8), + CodeunitRange(0x8aea, 0x8aeb), + CodeunitRange(0x8aed, 0x8afc), + CodeunitRange(0x8afe, 0x8b02), + CodeunitRange(0x8b04, 0x8b08), + CodeunitRange(0x8b0a, 0x8b20), + CodeunitRange(0x8b22, 0x8b28), + CodeunitRange(0x8b2a, 0x8b31), + CodeunitRange(0x8b33, 0x8b33), + CodeunitRange(0x8b35, 0x8b37), + CodeunitRange(0x8b39, 0x8b43), + CodeunitRange(0x8b45, 0x8b5a), + CodeunitRange(0x8b5c, 0x8b60), + CodeunitRange(0x8b62, 0x8b63), + CodeunitRange(0x8b65, 0x8b6d), + CodeunitRange(0x8b6f, 0x8b70), + CodeunitRange(0x8b74, 0x8b74), + CodeunitRange(0x8b77, 0x8b7b), + CodeunitRange(0x8b7d, 0x8b86), + CodeunitRange(0x8b88, 0x8b88), + CodeunitRange(0x8b8a, 0x8b8c), + CodeunitRange(0x8b8e, 0x8b90), + CodeunitRange(0x8b92, 0x8b96), + CodeunitRange(0x8b98, 0x8b9c), + CodeunitRange(0x8b9e, 0x8ba0), + CodeunitRange(0x8bbe, 0x8bbe), + CodeunitRange(0x8be2, 0x8be2), + CodeunitRange(0x8c37, 0x8c37), + CodeunitRange(0x8c39, 0x8c39), + CodeunitRange(0x8c3b, 0x8c3f), + CodeunitRange(0x8c41, 0x8c43), + CodeunitRange(0x8c45, 0x8c51), + CodeunitRange(0x8c54, 0x8c57), + CodeunitRange(0x8c5a, 0x8c5a), + CodeunitRange(0x8c5c, 0x8c5d), + CodeunitRange(0x8c5f, 0x8c5f), + CodeunitRange(0x8c61, 0x8c62), + CodeunitRange(0x8c64, 0x8c66), + CodeunitRange(0x8c68, 0x8c6d), + CodeunitRange(0x8c6f, 0x8c73), + CodeunitRange(0x8c75, 0x8c7b), + CodeunitRange(0x8c7d, 0x8c7d), + CodeunitRange(0x8c80, 0x8c82), + CodeunitRange(0x8c84, 0x8c86), + CodeunitRange(0x8c89, 0x8c8a), + CodeunitRange(0x8c8c, 0x8c8d), + CodeunitRange(0x8c8f, 0x8c95), + CodeunitRange(0x8c97, 0x8ca5), + CodeunitRange(0x8ca7, 0x8cad), + CodeunitRange(0x8caf, 0x8cb0), + CodeunitRange(0x8cb2, 0x8cc5), + CodeunitRange(0x8cc7, 0x8cc8), + CodeunitRange(0x8cca, 0x8cca), + CodeunitRange(0x8ccc, 0x8ccd), + CodeunitRange(0x8ccf, 0x8ccf), + CodeunitRange(0x8cd1, 0x8cd7), + CodeunitRange(0x8cd9, 0x8cee), + CodeunitRange(0x8cf0, 0x8cf5), + CodeunitRange(0x8cf7, 0x8cfe), + CodeunitRange(0x8d00, 0x8d00), + CodeunitRange(0x8d02, 0x8d0d), + CodeunitRange(0x8d0f, 0x8d19), + CodeunitRange(0x8d1b, 0x8d1d), + CodeunitRange(0x8d64, 0x8d64), + CodeunitRange(0x8d66, 0x8d69), + CodeunitRange(0x8d6b, 0x8d70), + CodeunitRange(0x8d72, 0x8d74), + CodeunitRange(0x8d76, 0x8d7b), + CodeunitRange(0x8d7d, 0x8d7d), + CodeunitRange(0x8d80, 0x8d82), + CodeunitRange(0x8d84, 0x8d85), + CodeunitRange(0x8d89, 0x8d8a), + CodeunitRange(0x8d8c, 0x8d96), + CodeunitRange(0x8d99, 0x8d99), + CodeunitRange(0x8d9b, 0x8d9c), + CodeunitRange(0x8d9f, 0x8da1), + CodeunitRange(0x8da3, 0x8da3), + CodeunitRange(0x8da5, 0x8daf), + CodeunitRange(0x8db2, 0x8db7), + CodeunitRange(0x8db9, 0x8dba), + CodeunitRange(0x8dbc, 0x8dbc), + CodeunitRange(0x8dbe, 0x8dc3), + CodeunitRange(0x8dc5, 0x8dc8), + CodeunitRange(0x8dcb, 0x8dd1), + CodeunitRange(0x8dd3, 0x8ddd), + CodeunitRange(0x8ddf, 0x8de4), + CodeunitRange(0x8de6, 0x8dec), + CodeunitRange(0x8dee, 0x8df4), + CodeunitRange(0x8dfa, 0x8dfa), + CodeunitRange(0x8dfc, 0x8e07), + CodeunitRange(0x8e09, 0x8e0a), + CodeunitRange(0x8e0d, 0x8e2b), + CodeunitRange(0x8e2d, 0x8e2e), + CodeunitRange(0x8e30, 0x8e31), + CodeunitRange(0x8e33, 0x8e36), + CodeunitRange(0x8e38, 0x8e3a), + CodeunitRange(0x8e3c, 0x8e42), + CodeunitRange(0x8e44, 0x8e50), + CodeunitRange(0x8e53, 0x8e57), + CodeunitRange(0x8e59, 0x8e6a), + CodeunitRange(0x8e6c, 0x8e6d), + CodeunitRange(0x8e6f, 0x8e6f), + CodeunitRange(0x8e71, 0x8e78), + CodeunitRange(0x8e7a, 0x8e7c), + CodeunitRange(0x8e7e, 0x8e7e), + CodeunitRange(0x8e80, 0x8e82), + CodeunitRange(0x8e84, 0x8e8e), + CodeunitRange(0x8e90, 0x8e98), + CodeunitRange(0x8e9a, 0x8e9a), + CodeunitRange(0x8e9d, 0x8ea1), + CodeunitRange(0x8ea3, 0x8ead), + CodeunitRange(0x8eb0, 0x8eb0), + CodeunitRange(0x8eb2, 0x8eb2), + CodeunitRange(0x8eb6, 0x8eb6), + CodeunitRange(0x8eb9, 0x8eba), + CodeunitRange(0x8ebc, 0x8ebd), + CodeunitRange(0x8ec0, 0x8ec0), + CodeunitRange(0x8ec2, 0x8ec3), + CodeunitRange(0x8ec9, 0x8ecf), + CodeunitRange(0x8ed1, 0x8ed4), + CodeunitRange(0x8ed7, 0x8ed8), + CodeunitRange(0x8eda, 0x8ee2), + CodeunitRange(0x8ee4, 0x8ee9), + CodeunitRange(0x8eeb, 0x8eef), + CodeunitRange(0x8ef1, 0x8ef2), + CodeunitRange(0x8ef4, 0x8efc), + CodeunitRange(0x8efe, 0x8f03), + CodeunitRange(0x8f05, 0x8f0b), + CodeunitRange(0x8f0d, 0x8f0e), + CodeunitRange(0x8f10, 0x8f20), + CodeunitRange(0x8f23, 0x8f26), + CodeunitRange(0x8f29, 0x8f2a), + CodeunitRange(0x8f2c, 0x8f30), + CodeunitRange(0x8f32, 0x8f39), + CodeunitRange(0x8f3b, 0x8f3c), + CodeunitRange(0x8f3e, 0x8f4b), + CodeunitRange(0x8f4d, 0x8f64), + CodeunitRange(0x8f66, 0x8f67), + CodeunitRange(0x8f6e, 0x8f6e), + CodeunitRange(0x8f93, 0x8f93), + CodeunitRange(0x8f9b, 0x8f9c), + CodeunitRange(0x8f9f, 0x8fa0), + CodeunitRange(0x8fa3, 0x8fa3), + CodeunitRange(0x8fa5, 0x8fa8), + CodeunitRange(0x8fad, 0x8fbc), + CodeunitRange(0x8fbe, 0x8fbf), + CodeunitRange(0x8fc1, 0x8fc2), + CodeunitRange(0x8fc4, 0x8fc6), + CodeunitRange(0x8fc9, 0x8fd7), + CodeunitRange(0x8fda, 0x8fda), + CodeunitRange(0x8fe0, 0x8fe6), + CodeunitRange(0x8fe8, 0x8fe8), + CodeunitRange(0x8fea, 0x8feb), + CodeunitRange(0x8fed, 0x8fee), + CodeunitRange(0x8ff0, 0x8ff0), + CodeunitRange(0x8ff4, 0x9006), + CodeunitRange(0x9008, 0x9008), + CodeunitRange(0x900b, 0x900d), + CodeunitRange(0x900f, 0x9012), + CodeunitRange(0x9014, 0x9017), + CodeunitRange(0x9019, 0x9024), + CodeunitRange(0x902d, 0x902f), + CodeunitRange(0x9031, 0x9038), + CodeunitRange(0x903c, 0x903f), + CodeunitRange(0x9041, 0x9042), + CodeunitRange(0x9044, 0x9044), + CodeunitRange(0x9046, 0x9047), + CodeunitRange(0x9049, 0x9056), + CodeunitRange(0x9058, 0x9059), + CodeunitRange(0x905b, 0x905e), + CodeunitRange(0x9060, 0x9064), + CodeunitRange(0x9067, 0x9069), + CodeunitRange(0x906b, 0x9070), + CodeunitRange(0x9072, 0x9088), + CodeunitRange(0x908a, 0x908b), + CodeunitRange(0x908d, 0x908d), + CodeunitRange(0x908f, 0x9091), + CodeunitRange(0x9094, 0x9095), + CodeunitRange(0x9097, 0x9099), + CodeunitRange(0x909b, 0x909b), + CodeunitRange(0x909e, 0x90a3), + CodeunitRange(0x90a5, 0x90a8), + CodeunitRange(0x90aa, 0x90aa), + CodeunitRange(0x90ae, 0x90b6), + CodeunitRange(0x90b8, 0x90b8), + CodeunitRange(0x90bb, 0x90bb), + CodeunitRange(0x90bd, 0x90bf), + CodeunitRange(0x90c1, 0x90c1), + CodeunitRange(0x90c3, 0x90c5), + CodeunitRange(0x90c7, 0x90c8), + CodeunitRange(0x90ca, 0x90cb), + CodeunitRange(0x90ce, 0x90ce), + CodeunitRange(0x90d4, 0x90dd), + CodeunitRange(0x90df, 0x90e5), + CodeunitRange(0x90e8, 0x90ed), + CodeunitRange(0x90ef, 0x90f5), + CodeunitRange(0x90f9, 0x9109), + CodeunitRange(0x910b, 0x910b), + CodeunitRange(0x910d, 0x9112), + CodeunitRange(0x9114, 0x9114), + CodeunitRange(0x9116, 0x9124), + CodeunitRange(0x9126, 0x9136), + CodeunitRange(0x9138, 0x913b), + CodeunitRange(0x913e, 0x9141), + CodeunitRange(0x9143, 0x9153), + CodeunitRange(0x9155, 0x915a), + CodeunitRange(0x915c, 0x915c), + CodeunitRange(0x915e, 0x9165), + CodeunitRange(0x9167, 0x916a), + CodeunitRange(0x916c, 0x916c), + CodeunitRange(0x916e, 0x9170), + CodeunitRange(0x9172, 0x917a), + CodeunitRange(0x917c, 0x917c), + CodeunitRange(0x9180, 0x9187), + CodeunitRange(0x9189, 0x9193), + CodeunitRange(0x9196, 0x9196), + CodeunitRange(0x9199, 0x91a3), + CodeunitRange(0x91a5, 0x91a5), + CodeunitRange(0x91a7, 0x91b7), + CodeunitRange(0x91b9, 0x91be), + CodeunitRange(0x91c0, 0x91c7), + CodeunitRange(0x91c9, 0x91c9), + CodeunitRange(0x91cb, 0x91d1), + CodeunitRange(0x91d3, 0x91da), + CodeunitRange(0x91dc, 0x91dd), + CodeunitRange(0x91df, 0x91df), + CodeunitRange(0x91e2, 0x91ee), + CodeunitRange(0x91f1, 0x91f1), + CodeunitRange(0x91f3, 0x91fa), + CodeunitRange(0x91fd, 0x920a), + CodeunitRange(0x920c, 0x921a), + CodeunitRange(0x921c, 0x921c), + CodeunitRange(0x921e, 0x921e), + CodeunitRange(0x9221, 0x9221), + CodeunitRange(0x9223, 0x9228), + CodeunitRange(0x922a, 0x922b), + CodeunitRange(0x922d, 0x922e), + CodeunitRange(0x9230, 0x923a), + CodeunitRange(0x923c, 0x9241), + CodeunitRange(0x9244, 0x9246), + CodeunitRange(0x9248, 0x9258), + CodeunitRange(0x925a, 0x925b), + CodeunitRange(0x925d, 0x9267), + CodeunitRange(0x926b, 0x9270), + CodeunitRange(0x9272, 0x9272), + CodeunitRange(0x9276, 0x928f), + CodeunitRange(0x9291, 0x9291), + CodeunitRange(0x9293, 0x929d), + CodeunitRange(0x92a0, 0x92ac), + CodeunitRange(0x92ae, 0x92ae), + CodeunitRange(0x92b1, 0x92b7), + CodeunitRange(0x92b9, 0x92bc), + CodeunitRange(0x92be, 0x92d5), + CodeunitRange(0x92d7, 0x92d9), + CodeunitRange(0x92db, 0x92db), + CodeunitRange(0x92dd, 0x92e1), + CodeunitRange(0x92e3, 0x92f4), + CodeunitRange(0x92f6, 0x9304), + CodeunitRange(0x9306, 0x9309), + CodeunitRange(0x930b, 0x9310), + CodeunitRange(0x9312, 0x9316), + CodeunitRange(0x9318, 0x931b), + CodeunitRange(0x931d, 0x9331), + CodeunitRange(0x9333, 0x9336), + CodeunitRange(0x9338, 0x9339), + CodeunitRange(0x933c, 0x933c), + CodeunitRange(0x9340, 0x9352), + CodeunitRange(0x9354, 0x935c), + CodeunitRange(0x935e, 0x936e), + CodeunitRange(0x9370, 0x9371), + CodeunitRange(0x9373, 0x937e), + CodeunitRange(0x9380, 0x938a), + CodeunitRange(0x938c, 0x9392), + CodeunitRange(0x9394, 0x93aa), + CodeunitRange(0x93ac, 0x93b5), + CodeunitRange(0x93b7, 0x93b8), + CodeunitRange(0x93bb, 0x93bb), + CodeunitRange(0x93bd, 0x93bd), + CodeunitRange(0x93bf, 0x93c0), + CodeunitRange(0x93c2, 0x93c4), + CodeunitRange(0x93c6, 0x93c8), + CodeunitRange(0x93ca, 0x93e4), + CodeunitRange(0x93e6, 0x93e8), + CodeunitRange(0x93ec, 0x93ec), + CodeunitRange(0x93ee, 0x93ee), + CodeunitRange(0x93f0, 0x93f1), + CodeunitRange(0x93f3, 0x9401), + CodeunitRange(0x9403, 0x9404), + CodeunitRange(0x9406, 0x9419), + CodeunitRange(0x941b, 0x941b), + CodeunitRange(0x941d, 0x941d), + CodeunitRange(0x9420, 0x9420), + CodeunitRange(0x9424, 0x9433), + CodeunitRange(0x9435, 0x9440), + CodeunitRange(0x9442, 0x944d), + CodeunitRange(0x944f, 0x9452), + CodeunitRange(0x9454, 0x9455), + CodeunitRange(0x9457, 0x9458), + CodeunitRange(0x945b, 0x945b), + CodeunitRange(0x945d, 0x945e), + CodeunitRange(0x9460, 0x9460), + CodeunitRange(0x9462, 0x9465), + CodeunitRange(0x9467, 0x9479), + CodeunitRange(0x947b, 0x9483), + CodeunitRange(0x9485, 0x9485), + CodeunitRange(0x949f, 0x949f), + CodeunitRange(0x94a2, 0x94a2), + CodeunitRange(0x94c1, 0x94c1), + CodeunitRange(0x94c3, 0x94c3), + CodeunitRange(0x94dc, 0x94dc), + CodeunitRange(0x94f6, 0x94f6), + CodeunitRange(0x952d, 0x952d), + CodeunitRange(0x9547, 0x9547), + CodeunitRange(0x9577, 0x9578), + CodeunitRange(0x957a, 0x957d), + CodeunitRange(0x957f, 0x9580), + CodeunitRange(0x9582, 0x9583), + CodeunitRange(0x9585, 0x9586), + CodeunitRange(0x9588, 0x9589), + CodeunitRange(0x958b, 0x9594), + CodeunitRange(0x9596, 0x9599), + CodeunitRange(0x959b, 0x959c), + CodeunitRange(0x959e, 0x95ae), + CodeunitRange(0x95b0, 0x95b2), + CodeunitRange(0x95b5, 0x95b7), + CodeunitRange(0x95b9, 0x95c0), + CodeunitRange(0x95c3, 0x95c3), + CodeunitRange(0x95c5, 0x95cd), + CodeunitRange(0x95d0, 0x95d6), + CodeunitRange(0x95da, 0x95dc), + CodeunitRange(0x95de, 0x95e5), + CodeunitRange(0x95e8, 0x95e8), + CodeunitRange(0x95f4, 0x95f4), + CodeunitRange(0x961c, 0x961e), + CodeunitRange(0x9620, 0x9624), + CodeunitRange(0x9628, 0x9628), + CodeunitRange(0x962a, 0x962a), + CodeunitRange(0x962c, 0x9633), + CodeunitRange(0x9638, 0x963d), + CodeunitRange(0x963f, 0x9645), + CodeunitRange(0x964a, 0x9651), + CodeunitRange(0x9653, 0x9654), + CodeunitRange(0x9656, 0x9656), + CodeunitRange(0x9658, 0x9658), + CodeunitRange(0x965b, 0x965f), + CodeunitRange(0x9661, 0x9664), + CodeunitRange(0x9669, 0x966d), + CodeunitRange(0x966f, 0x9678), + CodeunitRange(0x967b, 0x967e), + CodeunitRange(0x9680, 0x9681), + CodeunitRange(0x9683, 0x968b), + CodeunitRange(0x968d, 0x968f), + CodeunitRange(0x9691, 0x9699), + CodeunitRange(0x969b, 0x969c), + CodeunitRange(0x969e, 0x969e), + CodeunitRange(0x96a1, 0x96a5), + CodeunitRange(0x96a7, 0x96aa), + CodeunitRange(0x96ac, 0x96ac), + CodeunitRange(0x96ae, 0x96ae), + CodeunitRange(0x96b0, 0x96b1), + CodeunitRange(0x96b3, 0x96b4), + CodeunitRange(0x96b6, 0x96b6), + CodeunitRange(0x96b8, 0x96b9), + CodeunitRange(0x96bb, 0x96bd), + CodeunitRange(0x96bf, 0x96ce), + CodeunitRange(0x96d2, 0x96df), + CodeunitRange(0x96e1, 0x96e3), + CodeunitRange(0x96e5, 0x96e5), + CodeunitRange(0x96e8, 0x96ea), + CodeunitRange(0x96ef, 0x96f2), + CodeunitRange(0x96f4, 0x96fb), + CodeunitRange(0x96fd, 0x96fd), + CodeunitRange(0x96ff, 0x9700), + CodeunitRange(0x9702, 0x9709), + CodeunitRange(0x970b, 0x970b), + CodeunitRange(0x970d, 0x9713), + CodeunitRange(0x9716, 0x9716), + CodeunitRange(0x9718, 0x9719), + CodeunitRange(0x971b, 0x972c), + CodeunitRange(0x972e, 0x9732), + CodeunitRange(0x9734, 0x9736), + CodeunitRange(0x9738, 0x973a), + CodeunitRange(0x973d, 0x9744), + CodeunitRange(0x9746, 0x974b), + CodeunitRange(0x9751, 0x9752), + CodeunitRange(0x9755, 0x9758), + CodeunitRange(0x975a, 0x9762), + CodeunitRange(0x9766, 0x9766), + CodeunitRange(0x9768, 0x976a), + CodeunitRange(0x976c, 0x976e), + CodeunitRange(0x9770, 0x9774), + CodeunitRange(0x9776, 0x9778), + CodeunitRange(0x977a, 0x9785), + CodeunitRange(0x9787, 0x978b), + CodeunitRange(0x978d, 0x978f), + CodeunitRange(0x9794, 0x9794), + CodeunitRange(0x9797, 0x97a6), + CodeunitRange(0x97a8, 0x97a8), + CodeunitRange(0x97aa, 0x97ae), + CodeunitRange(0x97b1, 0x97b4), + CodeunitRange(0x97b6, 0x97bb), + CodeunitRange(0x97bd, 0x97c9), + CodeunitRange(0x97cb, 0x97d0), + CodeunitRange(0x97d2, 0x97d9), + CodeunitRange(0x97dc, 0x97e1), + CodeunitRange(0x97e3, 0x97e3), + CodeunitRange(0x97e5, 0x97e6), + CodeunitRange(0x97ed, 0x97ee), + CodeunitRange(0x97f0, 0x97f3), + CodeunitRange(0x97f5, 0x97f6), + CodeunitRange(0x97f8, 0x97fb), + CodeunitRange(0x97fd, 0x9808), + CodeunitRange(0x980a, 0x980a), + CodeunitRange(0x980c, 0x9818), + CodeunitRange(0x981b, 0x9821), + CodeunitRange(0x9823, 0x9824), + CodeunitRange(0x9826, 0x9829), + CodeunitRange(0x982b, 0x982b), + CodeunitRange(0x982d, 0x9830), + CodeunitRange(0x9832, 0x9835), + CodeunitRange(0x9837, 0x9839), + CodeunitRange(0x983b, 0x983b), + CodeunitRange(0x9841, 0x9841), + CodeunitRange(0x9843, 0x9853), + CodeunitRange(0x9856, 0x9859), + CodeunitRange(0x985b, 0x9860), + CodeunitRange(0x9862, 0x986c), + CodeunitRange(0x986f, 0x9875), + CodeunitRange(0x98a8, 0x98a9), + CodeunitRange(0x98ac, 0x98af), + CodeunitRange(0x98b1, 0x98b4), + CodeunitRange(0x98b6, 0x98c4), + CodeunitRange(0x98c6, 0x98cc), + CodeunitRange(0x98ce, 0x98ce), + CodeunitRange(0x98db, 0x98dc), + CodeunitRange(0x98de, 0x98e3), + CodeunitRange(0x98e5, 0x98e7), + CodeunitRange(0x98e9, 0x98ed), + CodeunitRange(0x98ef, 0x98ef), + CodeunitRange(0x98f1, 0x98f2), + CodeunitRange(0x98f4, 0x98f6), + CodeunitRange(0x98f9, 0x98fa), + CodeunitRange(0x98fc, 0x98fe), + CodeunitRange(0x9900, 0x9900), + CodeunitRange(0x9902, 0x9903), + CodeunitRange(0x9905, 0x9905), + CodeunitRange(0x9907, 0x990a), + CodeunitRange(0x990c, 0x990c), + CodeunitRange(0x990e, 0x990e), + CodeunitRange(0x9910, 0x991c), + CodeunitRange(0x991e, 0x991f), + CodeunitRange(0x9921, 0x9921), + CodeunitRange(0x9924, 0x9925), + CodeunitRange(0x9927, 0x9933), + CodeunitRange(0x9935, 0x9935), + CodeunitRange(0x9937, 0x9943), + CodeunitRange(0x9945, 0x9945), + CodeunitRange(0x9947, 0x994e), + CodeunitRange(0x9950, 0x9959), + CodeunitRange(0x995b, 0x995f), + CodeunitRange(0x9961, 0x9963), + CodeunitRange(0x9996, 0x9999), + CodeunitRange(0x999b, 0x999e), + CodeunitRange(0x99a1, 0x99a1), + CodeunitRange(0x99a3, 0x99a8), + CodeunitRange(0x99aa, 0x99b5), + CodeunitRange(0x99b8, 0x99bd), + CodeunitRange(0x99c1, 0x99c5), + CodeunitRange(0x99c7, 0x99c7), + CodeunitRange(0x99c9, 0x99c9), + CodeunitRange(0x99cb, 0x99dd), + CodeunitRange(0x99df, 0x99e7), + CodeunitRange(0x99e9, 0x99ea), + CodeunitRange(0x99ec, 0x99ee), + CodeunitRange(0x99f0, 0x99f1), + CodeunitRange(0x99f4, 0x99ff), + CodeunitRange(0x9a01, 0x9a07), + CodeunitRange(0x9a09, 0x9a11), + CodeunitRange(0x9a14, 0x9a16), + CodeunitRange(0x9a19, 0x9a27), + CodeunitRange(0x9a29, 0x9a32), + CodeunitRange(0x9a34, 0x9a46), + CodeunitRange(0x9a48, 0x9a4a), + CodeunitRange(0x9a4c, 0x9a50), + CodeunitRange(0x9a52, 0x9a5c), + CodeunitRange(0x9a5e, 0x9a60), + CodeunitRange(0x9a62, 0x9a6c), + CodeunitRange(0x9a8f, 0x9a8f), + CodeunitRange(0x9aa8, 0x9aa8), + CodeunitRange(0x9aab, 0x9aab), + CodeunitRange(0x9aad, 0x9aad), + CodeunitRange(0x9aaf, 0x9ab4), + CodeunitRange(0x9ab6, 0x9ac2), + CodeunitRange(0x9ac6, 0x9ac7), + CodeunitRange(0x9aca, 0x9aca), + CodeunitRange(0x9acd, 0x9acd), + CodeunitRange(0x9acf, 0x9ad8), + CodeunitRange(0x9adc, 0x9adc), + CodeunitRange(0x9adf, 0x9ae3), + CodeunitRange(0x9ae6, 0x9ae7), + CodeunitRange(0x9aeb, 0x9aef), + CodeunitRange(0x9af1, 0x9af4), + CodeunitRange(0x9af6, 0x9af7), + CodeunitRange(0x9af9, 0x9aff), + CodeunitRange(0x9b01, 0x9b06), + CodeunitRange(0x9b08, 0x9b12), + CodeunitRange(0x9b14, 0x9b1a), + CodeunitRange(0x9b1e, 0x9b20), + CodeunitRange(0x9b22, 0x9b25), + CodeunitRange(0x9b27, 0x9b2b), + CodeunitRange(0x9b2d, 0x9b2f), + CodeunitRange(0x9b31, 0x9b35), + CodeunitRange(0x9b37, 0x9b37), + CodeunitRange(0x9b39, 0x9b3c), + CodeunitRange(0x9b3e, 0x9b46), + CodeunitRange(0x9b48, 0x9b48), + CodeunitRange(0x9b4a, 0x9b52), + CodeunitRange(0x9b54, 0x9b56), + CodeunitRange(0x9b58, 0x9b5b), + CodeunitRange(0x9b5f, 0x9b61), + CodeunitRange(0x9b64, 0x9b64), + CodeunitRange(0x9b66, 0x9b69), + CodeunitRange(0x9b6c, 0x9b6c), + CodeunitRange(0x9b6f, 0x9b71), + CodeunitRange(0x9b74, 0x9b77), + CodeunitRange(0x9b7a, 0x9b83), + CodeunitRange(0x9b85, 0x9b88), + CodeunitRange(0x9b8b, 0x9b8b), + CodeunitRange(0x9b8d, 0x9b93), + CodeunitRange(0x9b95, 0x9b95), + CodeunitRange(0x9b97, 0x9b97), + CodeunitRange(0x9b9a, 0x9b9b), + CodeunitRange(0x9b9d, 0x9ba2), + CodeunitRange(0x9ba4, 0x9ba6), + CodeunitRange(0x9ba8, 0x9ba8), + CodeunitRange(0x9baa, 0x9bab), + CodeunitRange(0x9bad, 0x9bb0), + CodeunitRange(0x9bb5, 0x9bb6), + CodeunitRange(0x9bb8, 0x9bb9), + CodeunitRange(0x9bbd, 0x9bbd), + CodeunitRange(0x9bbf, 0x9bc1), + CodeunitRange(0x9bc3, 0x9bc4), + CodeunitRange(0x9bc6, 0x9bca), + CodeunitRange(0x9bcf, 0x9bcf), + CodeunitRange(0x9bd3, 0x9bd7), + CodeunitRange(0x9bd9, 0x9bde), + CodeunitRange(0x9be0, 0x9be2), + CodeunitRange(0x9be4, 0x9bed), + CodeunitRange(0x9bf0, 0x9bf1), + CodeunitRange(0x9bf4, 0x9bf4), + CodeunitRange(0x9bf7, 0x9bf8), + CodeunitRange(0x9bfd, 0x9bfd), + CodeunitRange(0x9bff, 0x9bff), + CodeunitRange(0x9c02, 0x9c02), + CodeunitRange(0x9c05, 0x9c0e), + CodeunitRange(0x9c10, 0x9c10), + CodeunitRange(0x9c12, 0x9c15), + CodeunitRange(0x9c17, 0x9c17), + CodeunitRange(0x9c1b, 0x9c1d), + CodeunitRange(0x9c1f, 0x9c21), + CodeunitRange(0x9c23, 0x9c26), + CodeunitRange(0x9c28, 0x9c29), + CodeunitRange(0x9c2b, 0x9c2d), + CodeunitRange(0x9c2f, 0x9c2f), + CodeunitRange(0x9c31, 0x9c37), + CodeunitRange(0x9c39, 0x9c41), + CodeunitRange(0x9c44, 0x9c50), + CodeunitRange(0x9c52, 0x9c59), + CodeunitRange(0x9c5d, 0x9c60), + CodeunitRange(0x9c62, 0x9c63), + CodeunitRange(0x9c66, 0x9c68), + CodeunitRange(0x9c6d, 0x9c6e), + CodeunitRange(0x9c71, 0x9c75), + CodeunitRange(0x9c77, 0x9c7c), + CodeunitRange(0x9ce5, 0x9ce7), + CodeunitRange(0x9ce9, 0x9cea), + CodeunitRange(0x9ced, 0x9ced), + CodeunitRange(0x9cf1, 0x9cf7), + CodeunitRange(0x9cf9, 0x9cfd), + CodeunitRange(0x9cff, 0x9d00), + CodeunitRange(0x9d02, 0x9d09), + CodeunitRange(0x9d0c, 0x9d0c), + CodeunitRange(0x9d10, 0x9d10), + CodeunitRange(0x9d12, 0x9d12), + CodeunitRange(0x9d14, 0x9d19), + CodeunitRange(0x9d1b, 0x9d1b), + CodeunitRange(0x9d1d, 0x9d23), + CodeunitRange(0x9d25, 0x9d26), + CodeunitRange(0x9d28, 0x9d29), + CodeunitRange(0x9d2d, 0x9d31), + CodeunitRange(0x9d33, 0x9d34), + CodeunitRange(0x9d36, 0x9d39), + CodeunitRange(0x9d3b, 0x9d3b), + CodeunitRange(0x9d3d, 0x9d45), + CodeunitRange(0x9d49, 0x9d4c), + CodeunitRange(0x9d4e, 0x9d54), + CodeunitRange(0x9d56, 0x9d61), + CodeunitRange(0x9d67, 0x9d75), + CodeunitRange(0x9d77, 0x9d79), + CodeunitRange(0x9d7b, 0x9d8c), + CodeunitRange(0x9d90, 0x9d90), + CodeunitRange(0x9d92, 0x9d94), + CodeunitRange(0x9d96, 0x9dad), + CodeunitRange(0x9daf, 0x9daf), + CodeunitRange(0x9db1, 0x9dc5), + CodeunitRange(0x9dc7, 0x9ddf), + CodeunitRange(0x9de1, 0x9de6), + CodeunitRange(0x9de8, 0x9de9), + CodeunitRange(0x9deb, 0x9df0), + CodeunitRange(0x9df2, 0x9e07), + CodeunitRange(0x9e09, 0x9e15), + CodeunitRange(0x9e17, 0x9e1f), + CodeunitRange(0x9e75, 0x9e75), + CodeunitRange(0x9e79, 0x9e7d), + CodeunitRange(0x9e7f, 0x9e8e), + CodeunitRange(0x9e90, 0x9ea2), + CodeunitRange(0x9ea4, 0x9eb1), + CodeunitRange(0x9eb4, 0x9eb7), + CodeunitRange(0x9ebb, 0x9ec4), + CodeunitRange(0x9ec6, 0x9ec8), + CodeunitRange(0x9ecc, 0x9ed1), + CodeunitRange(0x9ed3, 0x9ed6), + CodeunitRange(0x9ed8, 0x9ed8), + CodeunitRange(0x9eda, 0x9ee0), + CodeunitRange(0x9ee2, 0x9ee2), + CodeunitRange(0x9ee4, 0x9ee8), + CodeunitRange(0x9eeb, 0x9eeb), + CodeunitRange(0x9eed, 0x9f02), + CodeunitRange(0x9f06, 0x9f0a), + CodeunitRange(0x9f0e, 0x9f10), + CodeunitRange(0x9f12, 0x9f13), + CodeunitRange(0x9f15, 0x9f1c), + CodeunitRange(0x9f1e, 0x9f1e), + CodeunitRange(0x9f20, 0x9f20), + CodeunitRange(0x9f22, 0x9f39), + CodeunitRange(0x9f3b, 0x9f3b), + CodeunitRange(0x9f3d, 0x9f3e), + CodeunitRange(0x9f40, 0x9f50), + CodeunitRange(0x9f52, 0x9f67), + CodeunitRange(0x9f69, 0x9f6c), + CodeunitRange(0x9f6e, 0x9f72), + CodeunitRange(0x9f74, 0x9f7b), + CodeunitRange(0x9f7e, 0x9f7f), + CodeunitRange(0x9f8d, 0x9f8e), + CodeunitRange(0x9f90, 0x9f92), + CodeunitRange(0x9f94, 0x9f99), + CodeunitRange(0x9f9c, 0x9f9c), + CodeunitRange(0x9f9f, 0x9fa0), + CodeunitRange(0x9fa2, 0x9fa2), + CodeunitRange(0x9fa4, 0x9fb3), + CodeunitRange(0x9fc7, 0x9fcb), + CodeunitRange(0x9fd0, 0x9fd0), + CodeunitRange(0xf900, 0xf903), + CodeunitRange(0xf905, 0xf907), + CodeunitRange(0xf90b, 0xf90b), + CodeunitRange(0xf90d, 0xf90d), + CodeunitRange(0xf915, 0xf915), + CodeunitRange(0xf917, 0xf917), + CodeunitRange(0xf91a, 0xf91a), + CodeunitRange(0xf922, 0xf922), + CodeunitRange(0xf92d, 0xf92d), + CodeunitRange(0xf931, 0xf931), + CodeunitRange(0xf937, 0xf937), + CodeunitRange(0xf939, 0xf93a), + CodeunitRange(0xf943, 0xf943), + CodeunitRange(0xf947, 0xf948), + CodeunitRange(0xf94a, 0xf94a), + CodeunitRange(0xf952, 0xf952), + CodeunitRange(0xf95e, 0xf95e), + CodeunitRange(0xf962, 0xf962), + CodeunitRange(0xf965, 0xf965), + CodeunitRange(0xf967, 0xf967), + CodeunitRange(0xf972, 0xf972), + CodeunitRange(0xf976, 0xf976), + CodeunitRange(0xf978, 0xf979), + CodeunitRange(0xf97e, 0xf97e), + CodeunitRange(0xf980, 0xf980), + CodeunitRange(0xf986, 0xf986), + CodeunitRange(0xf98a, 0xf98a), + CodeunitRange(0xf98e, 0xf98e), + CodeunitRange(0xf995, 0xf995), + CodeunitRange(0xf99c, 0xf99c), + CodeunitRange(0xf99f, 0xf99f), + CodeunitRange(0xf9b5, 0xf9b5), + CodeunitRange(0xf9bb, 0xf9bb), + CodeunitRange(0xf9bd, 0xf9bd), + CodeunitRange(0xf9c5, 0xf9c6), + CodeunitRange(0xf9c8, 0xf9c8), + CodeunitRange(0xf9d8, 0xf9d8), + CodeunitRange(0xf9dc, 0xf9de), + CodeunitRange(0xf9e0, 0xf9e0), + CodeunitRange(0xf9e4, 0xf9e4), + CodeunitRange(0xf9e7, 0xf9e7), + CodeunitRange(0xf9e9, 0xf9e9), + CodeunitRange(0xf9f4, 0xf9f5), + CodeunitRange(0xf9fa, 0xf9fa), + CodeunitRange(0xf9fd, 0xf9fd), + CodeunitRange(0xf9ff, 0xf9ff), + CodeunitRange(0xfa02, 0xfa02), + CodeunitRange(0xfa05, 0xfa08), + CodeunitRange(0xfa0a, 0xfa0a), + CodeunitRange(0xfa0c, 0xfa0d), + CodeunitRange(0xfa33, 0xfa35), + CodeunitRange(0xfa3a, 0xfa3a), + CodeunitRange(0xfa49, 0xfa49), + CodeunitRange(0xfa4b, 0xfa4b), + CodeunitRange(0xfa5d, 0xfa5e), + CodeunitRange(0xfb00, 0xfb04), + CodeunitRange(0xfe10, 0xfe19), + CodeunitRange(0xfe30, 0xfe52), + CodeunitRange(0xfe54, 0xfe66), + CodeunitRange(0xfe68, 0xfe6b), + CodeunitRange(0xff01, 0xff9f), + CodeunitRange(0xffa1, 0xffbe), + CodeunitRange(0xffc2, 0xffc7), + CodeunitRange(0xffca, 0xffcf), + CodeunitRange(0xffd2, 0xffd7), + CodeunitRange(0xffda, 0xffdc), + CodeunitRange(0xffe0, 0xffe6), + CodeunitRange(0xffe8, 0xffee), + CodeunitRange(0x1f100, 0x1f10c), + CodeunitRange(0x1f110, 0x1f16c), + CodeunitRange(0x1f170, 0x1f1ac), + CodeunitRange(0x1f200, 0x1f202), + CodeunitRange(0x1f210, 0x1f23b), + CodeunitRange(0x1f240, 0x1f248), + CodeunitRange(0x1f250, 0x1f251), + CodeunitRange(0x20021, 0x20021), + CodeunitRange(0x2003e, 0x2003e), + CodeunitRange(0x20046, 0x20046), + CodeunitRange(0x2004e, 0x2004e), + CodeunitRange(0x20068, 0x20068), + CodeunitRange(0x20086, 0x20087), + CodeunitRange(0x2008a, 0x2008a), + CodeunitRange(0x20094, 0x20094), + CodeunitRange(0x200ca, 0x200cd), + CodeunitRange(0x200d1, 0x200d1), + CodeunitRange(0x200ee, 0x200ee), + CodeunitRange(0x2010c, 0x2010c), + CodeunitRange(0x2010e, 0x2010e), + CodeunitRange(0x20118, 0x20118), + CodeunitRange(0x201a4, 0x201a4), + CodeunitRange(0x201a9, 0x201a9), + CodeunitRange(0x201ab, 0x201ab), + CodeunitRange(0x201c1, 0x201c1), + CodeunitRange(0x201d4, 0x201d4), + CodeunitRange(0x201f2, 0x201f2), + CodeunitRange(0x20204, 0x20204), + CodeunitRange(0x2020c, 0x2020c), + CodeunitRange(0x20214, 0x20214), + CodeunitRange(0x20239, 0x20239), + CodeunitRange(0x2025b, 0x2025b), + CodeunitRange(0x20274, 0x20275), + CodeunitRange(0x20299, 0x20299), + CodeunitRange(0x2029e, 0x2029e), + CodeunitRange(0x202a0, 0x202a0), + CodeunitRange(0x202b7, 0x202b7), + CodeunitRange(0x202bf, 0x202c0), + CodeunitRange(0x202e5, 0x202e5), + CodeunitRange(0x2030a, 0x2030a), + CodeunitRange(0x20325, 0x20325), + CodeunitRange(0x20341, 0x20341), + CodeunitRange(0x20345, 0x20347), + CodeunitRange(0x2037e, 0x20380), + CodeunitRange(0x203a0, 0x203a0), + CodeunitRange(0x203a7, 0x203a7), + CodeunitRange(0x203b5, 0x203b5), + CodeunitRange(0x203c9, 0x203c9), + CodeunitRange(0x203cb, 0x203cb), + CodeunitRange(0x203f5, 0x203f5), + CodeunitRange(0x203fc, 0x203fc), + CodeunitRange(0x20413, 0x20414), + CodeunitRange(0x2041f, 0x2041f), + CodeunitRange(0x20465, 0x20465), + CodeunitRange(0x20487, 0x20487), + CodeunitRange(0x2048e, 0x2048e), + CodeunitRange(0x20491, 0x20492), + CodeunitRange(0x204a3, 0x204a3), + CodeunitRange(0x204d7, 0x204d7), + CodeunitRange(0x204fc, 0x204fc), + CodeunitRange(0x204fe, 0x204fe), + CodeunitRange(0x20547, 0x20547), + CodeunitRange(0x2058e, 0x2058e), + CodeunitRange(0x205a5, 0x205a5), + CodeunitRange(0x205b3, 0x205b3), + CodeunitRange(0x205c3, 0x205c3), + CodeunitRange(0x205ca, 0x205ca), + CodeunitRange(0x205d0, 0x205d0), + CodeunitRange(0x205d5, 0x205d5), + CodeunitRange(0x205df, 0x205e0), + CodeunitRange(0x205eb, 0x205eb), + CodeunitRange(0x20611, 0x20611), + CodeunitRange(0x20615, 0x20615), + CodeunitRange(0x20619, 0x2061a), + CodeunitRange(0x20628, 0x20628), + CodeunitRange(0x20630, 0x20630), + CodeunitRange(0x20656, 0x20656), + CodeunitRange(0x20676, 0x20676), + CodeunitRange(0x2070e, 0x2070e), + CodeunitRange(0x20731, 0x20731), + CodeunitRange(0x20779, 0x20779), + CodeunitRange(0x2082c, 0x2082c), + CodeunitRange(0x20873, 0x20873), + CodeunitRange(0x208d5, 0x208d5), + CodeunitRange(0x20916, 0x20916), + CodeunitRange(0x20923, 0x20923), + CodeunitRange(0x20954, 0x20954), + CodeunitRange(0x20979, 0x20979), + CodeunitRange(0x209e7, 0x209e7), + CodeunitRange(0x20a11, 0x20a11), + CodeunitRange(0x20a50, 0x20a50), + CodeunitRange(0x20a6f, 0x20a6f), + CodeunitRange(0x20a8a, 0x20a8a), + CodeunitRange(0x20ab4, 0x20ab4), + CodeunitRange(0x20ac2, 0x20ac2), + CodeunitRange(0x20acd, 0x20acd), + CodeunitRange(0x20b0d, 0x20b0d), + CodeunitRange(0x20b8f, 0x20b8f), + CodeunitRange(0x20b9f, 0x20b9f), + CodeunitRange(0x20ba8, 0x20ba9), + CodeunitRange(0x20bbf, 0x20bbf), + CodeunitRange(0x20bc6, 0x20bc6), + CodeunitRange(0x20bcb, 0x20bcb), + CodeunitRange(0x20be2, 0x20be2), + CodeunitRange(0x20beb, 0x20beb), + CodeunitRange(0x20bfb, 0x20bfb), + CodeunitRange(0x20bff, 0x20bff), + CodeunitRange(0x20c0b, 0x20c0b), + CodeunitRange(0x20c0d, 0x20c0d), + CodeunitRange(0x20c20, 0x20c20), + CodeunitRange(0x20c34, 0x20c34), + CodeunitRange(0x20c3a, 0x20c3b), + CodeunitRange(0x20c41, 0x20c43), + CodeunitRange(0x20c53, 0x20c53), + CodeunitRange(0x20c65, 0x20c65), + CodeunitRange(0x20c77, 0x20c78), + CodeunitRange(0x20c7c, 0x20c7c), + CodeunitRange(0x20c8d, 0x20c8d), + CodeunitRange(0x20c96, 0x20c96), + CodeunitRange(0x20c9c, 0x20c9c), + CodeunitRange(0x20cb5, 0x20cb5), + CodeunitRange(0x20cb8, 0x20cb8), + CodeunitRange(0x20ccf, 0x20ccf), + CodeunitRange(0x20cd3, 0x20cd6), + CodeunitRange(0x20cdd, 0x20cdd), + CodeunitRange(0x20ced, 0x20ced), + CodeunitRange(0x20cff, 0x20cff), + CodeunitRange(0x20d15, 0x20d15), + CodeunitRange(0x20d28, 0x20d28), + CodeunitRange(0x20d31, 0x20d32), + CodeunitRange(0x20d46, 0x20d49), + CodeunitRange(0x20d4c, 0x20d4e), + CodeunitRange(0x20d6f, 0x20d6f), + CodeunitRange(0x20d71, 0x20d71), + CodeunitRange(0x20d74, 0x20d74), + CodeunitRange(0x20d7c, 0x20d7c), + CodeunitRange(0x20d7e, 0x20d7f), + CodeunitRange(0x20d96, 0x20d96), + CodeunitRange(0x20d9c, 0x20d9c), + CodeunitRange(0x20da7, 0x20da7), + CodeunitRange(0x20db2, 0x20db2), + CodeunitRange(0x20dc8, 0x20dc8), + CodeunitRange(0x20e04, 0x20e04), + CodeunitRange(0x20e09, 0x20e0a), + CodeunitRange(0x20e0d, 0x20e11), + CodeunitRange(0x20e16, 0x20e16), + CodeunitRange(0x20e1d, 0x20e1d), + CodeunitRange(0x20e4c, 0x20e4c), + CodeunitRange(0x20e6d, 0x20e6d), + CodeunitRange(0x20e73, 0x20e73), + CodeunitRange(0x20e75, 0x20e7b), + CodeunitRange(0x20e8c, 0x20e8c), + CodeunitRange(0x20e96, 0x20e96), + CodeunitRange(0x20e98, 0x20e98), + CodeunitRange(0x20e9d, 0x20e9d), + CodeunitRange(0x20ea2, 0x20ea2), + CodeunitRange(0x20eaa, 0x20eac), + CodeunitRange(0x20eb6, 0x20eb6), + CodeunitRange(0x20ed7, 0x20ed8), + CodeunitRange(0x20edd, 0x20edd), + CodeunitRange(0x20ef8, 0x20efb), + CodeunitRange(0x20f1d, 0x20f1d), + CodeunitRange(0x20f26, 0x20f26), + CodeunitRange(0x20f2d, 0x20f2e), + CodeunitRange(0x20f30, 0x20f31), + CodeunitRange(0x20f3b, 0x20f3b), + CodeunitRange(0x20f4c, 0x20f4c), + CodeunitRange(0x20f64, 0x20f64), + CodeunitRange(0x20f8d, 0x20f8d), + CodeunitRange(0x20f90, 0x20f90), + CodeunitRange(0x20fad, 0x20fad), + CodeunitRange(0x20fb4, 0x20fb6), + CodeunitRange(0x20fbc, 0x20fbc), + CodeunitRange(0x20fdf, 0x20fdf), + CodeunitRange(0x20fea, 0x20fed), + CodeunitRange(0x21014, 0x21014), + CodeunitRange(0x2101d, 0x2101e), + CodeunitRange(0x2104f, 0x2104f), + CodeunitRange(0x2105c, 0x2105c), + CodeunitRange(0x2106f, 0x2106f), + CodeunitRange(0x21075, 0x21078), + CodeunitRange(0x2107b, 0x2107b), + CodeunitRange(0x21088, 0x21088), + CodeunitRange(0x21096, 0x21096), + CodeunitRange(0x2109d, 0x2109d), + CodeunitRange(0x210b4, 0x210b4), + CodeunitRange(0x210bf, 0x210c1), + CodeunitRange(0x210c7, 0x210c9), + CodeunitRange(0x210cf, 0x210cf), + CodeunitRange(0x210d3, 0x210d3), + CodeunitRange(0x210e4, 0x210e4), + CodeunitRange(0x210f4, 0x210f6), + CodeunitRange(0x2112f, 0x2112f), + CodeunitRange(0x2113b, 0x2113b), + CodeunitRange(0x2113d, 0x2113d), + CodeunitRange(0x21145, 0x21145), + CodeunitRange(0x21148, 0x21148), + CodeunitRange(0x2114f, 0x2114f), + CodeunitRange(0x21180, 0x21180), + CodeunitRange(0x21187, 0x21187), + CodeunitRange(0x211d9, 0x211d9), + CodeunitRange(0x2123c, 0x2123c), + CodeunitRange(0x2124f, 0x2124f), + CodeunitRange(0x2127c, 0x2127c), + CodeunitRange(0x212a8, 0x212a9), + CodeunitRange(0x212b0, 0x212b0), + CodeunitRange(0x212e3, 0x212e3), + CodeunitRange(0x212fe, 0x212fe), + CodeunitRange(0x21302, 0x21305), + CodeunitRange(0x21336, 0x21336), + CodeunitRange(0x2133a, 0x2133a), + CodeunitRange(0x21375, 0x21376), + CodeunitRange(0x2138e, 0x2138e), + CodeunitRange(0x21398, 0x21398), + CodeunitRange(0x2139c, 0x2139c), + CodeunitRange(0x213c5, 0x213c6), + CodeunitRange(0x213ed, 0x213ed), + CodeunitRange(0x213fe, 0x213fe), + CodeunitRange(0x21413, 0x21413), + CodeunitRange(0x21416, 0x21416), + CodeunitRange(0x21424, 0x21424), + CodeunitRange(0x2143f, 0x2143f), + CodeunitRange(0x21452, 0x21452), + CodeunitRange(0x21454, 0x21455), + CodeunitRange(0x2148a, 0x2148a), + CodeunitRange(0x21497, 0x21497), + CodeunitRange(0x214b6, 0x214b6), + CodeunitRange(0x214e8, 0x214e8), + CodeunitRange(0x214fd, 0x214fd), + CodeunitRange(0x21577, 0x21577), + CodeunitRange(0x21582, 0x21582), + CodeunitRange(0x21596, 0x21596), + CodeunitRange(0x2160a, 0x2160a), + CodeunitRange(0x21613, 0x21613), + CodeunitRange(0x21619, 0x21619), + CodeunitRange(0x2163e, 0x2163e), + CodeunitRange(0x21661, 0x21661), + CodeunitRange(0x21692, 0x21692), + CodeunitRange(0x216b8, 0x216b8), + CodeunitRange(0x216ba, 0x216ba), + CodeunitRange(0x216c0, 0x216c2), + CodeunitRange(0x216d3, 0x216d3), + CodeunitRange(0x216d5, 0x216d5), + CodeunitRange(0x216df, 0x216df), + CodeunitRange(0x216e6, 0x216e8), + CodeunitRange(0x216fa, 0x216fc), + CodeunitRange(0x216fe, 0x216fe), + CodeunitRange(0x2170d, 0x2170d), + CodeunitRange(0x21710, 0x21710), + CodeunitRange(0x21726, 0x21726), + CodeunitRange(0x2173a, 0x2173c), + CodeunitRange(0x21757, 0x21757), + CodeunitRange(0x2176c, 0x21771), + CodeunitRange(0x21773, 0x21774), + CodeunitRange(0x217ab, 0x217ab), + CodeunitRange(0x217b0, 0x217b5), + CodeunitRange(0x217c3, 0x217c3), + CodeunitRange(0x217c7, 0x217c7), + CodeunitRange(0x217d9, 0x217dc), + CodeunitRange(0x217df, 0x217df), + CodeunitRange(0x217ef, 0x217ef), + CodeunitRange(0x217f5, 0x217f6), + CodeunitRange(0x217f8, 0x217fc), + CodeunitRange(0x21820, 0x21820), + CodeunitRange(0x21828, 0x2182a), + CodeunitRange(0x2182d, 0x2182d), + CodeunitRange(0x21839, 0x2183b), + CodeunitRange(0x21840, 0x21840), + CodeunitRange(0x21845, 0x21845), + CodeunitRange(0x21852, 0x21852), + CodeunitRange(0x2185e, 0x2185e), + CodeunitRange(0x21861, 0x21864), + CodeunitRange(0x21877, 0x21877), + CodeunitRange(0x2187b, 0x2187b), + CodeunitRange(0x21883, 0x21885), + CodeunitRange(0x2189e, 0x218a2), + CodeunitRange(0x218be, 0x218bf), + CodeunitRange(0x218d1, 0x218d1), + CodeunitRange(0x218d6, 0x218d9), + CodeunitRange(0x218fa, 0x218fa), + CodeunitRange(0x21903, 0x21905), + CodeunitRange(0x21910, 0x21912), + CodeunitRange(0x21915, 0x21915), + CodeunitRange(0x2191c, 0x2191c), + CodeunitRange(0x21922, 0x21922), + CodeunitRange(0x21927, 0x21927), + CodeunitRange(0x2193b, 0x2193b), + CodeunitRange(0x21944, 0x21944), + CodeunitRange(0x21958, 0x21958), + CodeunitRange(0x2196a, 0x2196a), + CodeunitRange(0x2197c, 0x2197c), + CodeunitRange(0x21980, 0x21980), + CodeunitRange(0x21983, 0x21983), + CodeunitRange(0x21988, 0x21988), + CodeunitRange(0x21996, 0x21996), + CodeunitRange(0x219db, 0x219db), + CodeunitRange(0x219f3, 0x219f3), + CodeunitRange(0x21a2d, 0x21a2d), + CodeunitRange(0x21a34, 0x21a34), + CodeunitRange(0x21a45, 0x21a45), + CodeunitRange(0x21a4b, 0x21a4b), + CodeunitRange(0x21a63, 0x21a63), + CodeunitRange(0x21b44, 0x21b44), + CodeunitRange(0x21bc1, 0x21bc2), + CodeunitRange(0x21c2a, 0x21c2a), + CodeunitRange(0x21c70, 0x21c70), + CodeunitRange(0x21ca2, 0x21ca2), + CodeunitRange(0x21ca5, 0x21ca5), + CodeunitRange(0x21cac, 0x21cac), + CodeunitRange(0x21d46, 0x21d46), + CodeunitRange(0x21d53, 0x21d53), + CodeunitRange(0x21d5e, 0x21d5e), + CodeunitRange(0x21d90, 0x21d90), + CodeunitRange(0x21db6, 0x21db6), + CodeunitRange(0x21dba, 0x21dba), + CodeunitRange(0x21dca, 0x21dca), + CodeunitRange(0x21dd1, 0x21dd1), + CodeunitRange(0x21deb, 0x21deb), + CodeunitRange(0x21df9, 0x21df9), + CodeunitRange(0x21e1c, 0x21e1c), + CodeunitRange(0x21e23, 0x21e23), + CodeunitRange(0x21e37, 0x21e37), + CodeunitRange(0x21e3d, 0x21e3d), + CodeunitRange(0x21e89, 0x21e89), + CodeunitRange(0x21ea4, 0x21ea4), + CodeunitRange(0x21ea8, 0x21ea8), + CodeunitRange(0x21ec8, 0x21ec8), + CodeunitRange(0x21ed5, 0x21ed5), + CodeunitRange(0x21f0f, 0x21f0f), + CodeunitRange(0x21f15, 0x21f15), + CodeunitRange(0x21f6a, 0x21f6a), + CodeunitRange(0x21f9e, 0x21f9e), + CodeunitRange(0x21fa1, 0x21fa1), + CodeunitRange(0x21fe8, 0x21fe8), + CodeunitRange(0x22045, 0x22045), + CodeunitRange(0x22049, 0x22049), + CodeunitRange(0x2207e, 0x2207e), + CodeunitRange(0x2209a, 0x2209a), + CodeunitRange(0x220c7, 0x220c7), + CodeunitRange(0x220fc, 0x220fc), + CodeunitRange(0x2212a, 0x2212a), + CodeunitRange(0x2215b, 0x2215b), + CodeunitRange(0x22173, 0x22173), + CodeunitRange(0x2217a, 0x2217a), + CodeunitRange(0x221a1, 0x221a1), + CodeunitRange(0x221c1, 0x221c1), + CodeunitRange(0x221c3, 0x221c3), + CodeunitRange(0x22208, 0x22208), + CodeunitRange(0x2227c, 0x2227c), + CodeunitRange(0x22321, 0x22321), + CodeunitRange(0x22325, 0x22325), + CodeunitRange(0x223bd, 0x223bd), + CodeunitRange(0x223d0, 0x223d0), + CodeunitRange(0x223d7, 0x223d7), + CodeunitRange(0x223fa, 0x223fa), + CodeunitRange(0x22465, 0x22465), + CodeunitRange(0x22471, 0x22471), + CodeunitRange(0x2248b, 0x2248b), + CodeunitRange(0x22491, 0x22491), + CodeunitRange(0x224b0, 0x224b0), + CodeunitRange(0x224bc, 0x224bc), + CodeunitRange(0x224c1, 0x224c1), + CodeunitRange(0x224c9, 0x224c9), + CodeunitRange(0x224cc, 0x224cc), + CodeunitRange(0x224ed, 0x224ed), + CodeunitRange(0x22513, 0x22513), + CodeunitRange(0x2251b, 0x2251b), + CodeunitRange(0x22530, 0x22530), + CodeunitRange(0x22554, 0x22554), + CodeunitRange(0x2258d, 0x2258d), + CodeunitRange(0x225af, 0x225af), + CodeunitRange(0x225be, 0x225be), + CodeunitRange(0x2261b, 0x2261c), + CodeunitRange(0x2262b, 0x2262b), + CodeunitRange(0x22668, 0x22668), + CodeunitRange(0x2267a, 0x2267a), + CodeunitRange(0x22696, 0x22696), + CodeunitRange(0x22698, 0x22698), + CodeunitRange(0x226f4, 0x226f6), + CodeunitRange(0x22712, 0x22712), + CodeunitRange(0x22714, 0x22714), + CodeunitRange(0x2271b, 0x2271b), + CodeunitRange(0x2271f, 0x2271f), + CodeunitRange(0x2272a, 0x2272a), + CodeunitRange(0x22775, 0x22775), + CodeunitRange(0x22781, 0x22781), + CodeunitRange(0x22796, 0x22796), + CodeunitRange(0x227b4, 0x227b5), + CodeunitRange(0x227cd, 0x227cd), + CodeunitRange(0x22803, 0x22803), + CodeunitRange(0x2285f, 0x22860), + CodeunitRange(0x22871, 0x22871), + CodeunitRange(0x228ad, 0x228ad), + CodeunitRange(0x228c1, 0x228c1), + CodeunitRange(0x228f7, 0x228f7), + CodeunitRange(0x22926, 0x22926), + CodeunitRange(0x22939, 0x22939), + CodeunitRange(0x2294f, 0x2294f), + CodeunitRange(0x22967, 0x22967), + CodeunitRange(0x2296b, 0x2296b), + CodeunitRange(0x22980, 0x22980), + CodeunitRange(0x22993, 0x22993), + CodeunitRange(0x22a66, 0x22a66), + CodeunitRange(0x22acf, 0x22acf), + CodeunitRange(0x22ad5, 0x22ad5), + CodeunitRange(0x22ae6, 0x22ae6), + CodeunitRange(0x22ae8, 0x22ae8), + CodeunitRange(0x22b0e, 0x22b0e), + CodeunitRange(0x22b22, 0x22b22), + CodeunitRange(0x22b3f, 0x22b3f), + CodeunitRange(0x22b43, 0x22b43), + CodeunitRange(0x22b6a, 0x22b6a), + CodeunitRange(0x22bca, 0x22bca), + CodeunitRange(0x22bce, 0x22bce), + CodeunitRange(0x22c26, 0x22c27), + CodeunitRange(0x22c38, 0x22c38), + CodeunitRange(0x22c4c, 0x22c4c), + CodeunitRange(0x22c51, 0x22c51), + CodeunitRange(0x22c55, 0x22c55), + CodeunitRange(0x22c62, 0x22c62), + CodeunitRange(0x22c88, 0x22c88), + CodeunitRange(0x22c9b, 0x22c9b), + CodeunitRange(0x22ca1, 0x22ca1), + CodeunitRange(0x22ca9, 0x22ca9), + CodeunitRange(0x22cb2, 0x22cb2), + CodeunitRange(0x22cb7, 0x22cb7), + CodeunitRange(0x22cc2, 0x22cc2), + CodeunitRange(0x22cc6, 0x22cc6), + CodeunitRange(0x22cc9, 0x22cc9), + CodeunitRange(0x22d07, 0x22d08), + CodeunitRange(0x22d12, 0x22d12), + CodeunitRange(0x22d44, 0x22d44), + CodeunitRange(0x22d4c, 0x22d4c), + CodeunitRange(0x22d67, 0x22d67), + CodeunitRange(0x22d8d, 0x22d8d), + CodeunitRange(0x22d95, 0x22d95), + CodeunitRange(0x22da0, 0x22da0), + CodeunitRange(0x22da3, 0x22da4), + CodeunitRange(0x22db7, 0x22db7), + CodeunitRange(0x22dee, 0x22dee), + CodeunitRange(0x22e0d, 0x22e0d), + CodeunitRange(0x22e36, 0x22e36), + CodeunitRange(0x22e42, 0x22e42), + CodeunitRange(0x22e78, 0x22e78), + CodeunitRange(0x22e8b, 0x22e8b), + CodeunitRange(0x22eb3, 0x22eb3), + CodeunitRange(0x22eef, 0x22eef), + CodeunitRange(0x22f74, 0x22f74), + CodeunitRange(0x22fcc, 0x22fcc), + CodeunitRange(0x22fe3, 0x22fe3), + CodeunitRange(0x23033, 0x23033), + CodeunitRange(0x23044, 0x23044), + CodeunitRange(0x2304b, 0x2304b), + CodeunitRange(0x23066, 0x23066), + CodeunitRange(0x2307d, 0x2307e), + CodeunitRange(0x2308e, 0x2308e), + CodeunitRange(0x230b7, 0x230b7), + CodeunitRange(0x230bc, 0x230bc), + CodeunitRange(0x230da, 0x230da), + CodeunitRange(0x23103, 0x23103), + CodeunitRange(0x2313d, 0x2313d), + CodeunitRange(0x2317d, 0x2317d), + CodeunitRange(0x23182, 0x23182), + CodeunitRange(0x231a4, 0x231a5), + CodeunitRange(0x231b3, 0x231b3), + CodeunitRange(0x231c8, 0x231c9), + CodeunitRange(0x231ea, 0x231ea), + CodeunitRange(0x231f7, 0x231f9), + CodeunitRange(0x2320f, 0x2320f), + CodeunitRange(0x23225, 0x23225), + CodeunitRange(0x2322f, 0x2322f), + CodeunitRange(0x23231, 0x23234), + CodeunitRange(0x23256, 0x23256), + CodeunitRange(0x2325e, 0x2325e), + CodeunitRange(0x23262, 0x23262), + CodeunitRange(0x23281, 0x23281), + CodeunitRange(0x23289, 0x2328a), + CodeunitRange(0x232ab, 0x232ad), + CodeunitRange(0x232d2, 0x232d2), + CodeunitRange(0x232e0, 0x232e1), + CodeunitRange(0x23300, 0x23300), + CodeunitRange(0x2330a, 0x2330a), + CodeunitRange(0x2331f, 0x2331f), + CodeunitRange(0x233b4, 0x233b4), + CodeunitRange(0x233cc, 0x233cc), + CodeunitRange(0x233de, 0x233de), + CodeunitRange(0x233e6, 0x233e6), + CodeunitRange(0x233f4, 0x233f5), + CodeunitRange(0x233f9, 0x233fa), + CodeunitRange(0x233fe, 0x233fe), + CodeunitRange(0x23400, 0x23400), + CodeunitRange(0x2343f, 0x2343f), + CodeunitRange(0x23450, 0x23450), + CodeunitRange(0x2346f, 0x2346f), + CodeunitRange(0x23472, 0x23472), + CodeunitRange(0x234e5, 0x234e5), + CodeunitRange(0x23519, 0x23519), + CodeunitRange(0x23530, 0x23530), + CodeunitRange(0x23551, 0x23551), + CodeunitRange(0x2355a, 0x2355a), + CodeunitRange(0x23567, 0x23567), + CodeunitRange(0x23595, 0x23595), + CodeunitRange(0x23599, 0x23599), + CodeunitRange(0x2359c, 0x2359c), + CodeunitRange(0x235bb, 0x235bb), + CodeunitRange(0x235cd, 0x235cf), + CodeunitRange(0x235f3, 0x235f3), + CodeunitRange(0x23600, 0x23600), + CodeunitRange(0x23617, 0x23617), + CodeunitRange(0x2361a, 0x2361a), + CodeunitRange(0x2363c, 0x2363c), + CodeunitRange(0x23640, 0x23640), + CodeunitRange(0x23659, 0x23659), + CodeunitRange(0x2365f, 0x2365f), + CodeunitRange(0x23677, 0x23677), + CodeunitRange(0x2368e, 0x2368e), + CodeunitRange(0x2369e, 0x2369e), + CodeunitRange(0x236a6, 0x236a6), + CodeunitRange(0x236ad, 0x236ad), + CodeunitRange(0x236ba, 0x236ba), + CodeunitRange(0x236df, 0x236df), + CodeunitRange(0x236ee, 0x236ee), + CodeunitRange(0x23703, 0x23703), + CodeunitRange(0x23716, 0x23716), + CodeunitRange(0x23720, 0x23720), + CodeunitRange(0x2372d, 0x2372d), + CodeunitRange(0x2372f, 0x2372f), + CodeunitRange(0x2373f, 0x2373f), + CodeunitRange(0x23766, 0x23766), + CodeunitRange(0x23781, 0x23781), + CodeunitRange(0x237a2, 0x237a2), + CodeunitRange(0x237bc, 0x237bc), + CodeunitRange(0x237c2, 0x237c2), + CodeunitRange(0x237d5, 0x237d7), + CodeunitRange(0x2383a, 0x2383a), + CodeunitRange(0x239c2, 0x239c2), + CodeunitRange(0x23aa7, 0x23aa7), + CodeunitRange(0x23adb, 0x23adb), + CodeunitRange(0x23aee, 0x23aee), + CodeunitRange(0x23afa, 0x23afa), + CodeunitRange(0x23b1a, 0x23b1a), + CodeunitRange(0x23b5a, 0x23b5a), + CodeunitRange(0x23c63, 0x23c63), + CodeunitRange(0x23c99, 0x23c9b), + CodeunitRange(0x23cb5, 0x23cb5), + CodeunitRange(0x23cb7, 0x23cb7), + CodeunitRange(0x23cc7, 0x23cc9), + CodeunitRange(0x23cfc, 0x23cff), + CodeunitRange(0x23d40, 0x23d40), + CodeunitRange(0x23d5b, 0x23d5b), + CodeunitRange(0x23d7e, 0x23d7e), + CodeunitRange(0x23d8f, 0x23d8f), + CodeunitRange(0x23db6, 0x23dbd), + CodeunitRange(0x23de3, 0x23de3), + CodeunitRange(0x23df8, 0x23df8), + CodeunitRange(0x23e06, 0x23e06), + CodeunitRange(0x23e11, 0x23e11), + CodeunitRange(0x23e2c, 0x23e31), + CodeunitRange(0x23e39, 0x23e39), + CodeunitRange(0x23e88, 0x23e8b), + CodeunitRange(0x23eb9, 0x23eb9), + CodeunitRange(0x23ebf, 0x23ebf), + CodeunitRange(0x23ed7, 0x23ed7), + CodeunitRange(0x23ef7, 0x23efc), + CodeunitRange(0x23f35, 0x23f35), + CodeunitRange(0x23f41, 0x23f41), + CodeunitRange(0x23f4a, 0x23f4a), + CodeunitRange(0x23f61, 0x23f61), + CodeunitRange(0x23f7f, 0x23f82), + CodeunitRange(0x23f8f, 0x23f8f), + CodeunitRange(0x23fb4, 0x23fb4), + CodeunitRange(0x23fb7, 0x23fb7), + CodeunitRange(0x23fc0, 0x23fc0), + CodeunitRange(0x23fc5, 0x23fc5), + CodeunitRange(0x23feb, 0x23ff0), + CodeunitRange(0x24011, 0x24011), + CodeunitRange(0x24039, 0x2403d), + CodeunitRange(0x24057, 0x24057), + CodeunitRange(0x24085, 0x24085), + CodeunitRange(0x2408b, 0x2408d), + CodeunitRange(0x24091, 0x24091), + CodeunitRange(0x240c9, 0x240c9), + CodeunitRange(0x240e1, 0x240e1), + CodeunitRange(0x240ec, 0x240ec), + CodeunitRange(0x24104, 0x24104), + CodeunitRange(0x2410f, 0x2410f), + CodeunitRange(0x24119, 0x24119), + CodeunitRange(0x2413f, 0x24140), + CodeunitRange(0x24144, 0x24144), + CodeunitRange(0x2414e, 0x2414e), + CodeunitRange(0x24155, 0x24157), + CodeunitRange(0x2415c, 0x2415c), + CodeunitRange(0x2415f, 0x2415f), + CodeunitRange(0x24161, 0x24161), + CodeunitRange(0x24177, 0x24177), + CodeunitRange(0x2417a, 0x2417a), + CodeunitRange(0x241a3, 0x241a5), + CodeunitRange(0x241ac, 0x241ac), + CodeunitRange(0x241b5, 0x241b5), + CodeunitRange(0x241cd, 0x241cd), + CodeunitRange(0x241e2, 0x241e2), + CodeunitRange(0x241fc, 0x241fc), + CodeunitRange(0x2421b, 0x2421b), + CodeunitRange(0x2424b, 0x2424b), + CodeunitRange(0x24256, 0x24256), + CodeunitRange(0x24259, 0x24259), + CodeunitRange(0x24276, 0x24278), + CodeunitRange(0x24284, 0x24284), + CodeunitRange(0x24293, 0x24293), + CodeunitRange(0x24295, 0x24295), + CodeunitRange(0x242a5, 0x242a5), + CodeunitRange(0x242bf, 0x242bf), + CodeunitRange(0x242c1, 0x242c1), + CodeunitRange(0x242c9, 0x242ca), + CodeunitRange(0x242ee, 0x242ee), + CodeunitRange(0x242fa, 0x242fa), + CodeunitRange(0x2430d, 0x2430d), + CodeunitRange(0x2431a, 0x2431a), + CodeunitRange(0x24334, 0x24334), + CodeunitRange(0x24348, 0x24348), + CodeunitRange(0x24362, 0x24365), + CodeunitRange(0x2438c, 0x2438c), + CodeunitRange(0x24396, 0x24396), + CodeunitRange(0x2439c, 0x2439c), + CodeunitRange(0x243bd, 0x243bd), + CodeunitRange(0x243c1, 0x243c1), + CodeunitRange(0x243e9, 0x243ea), + CodeunitRange(0x243f2, 0x243f2), + CodeunitRange(0x243f8, 0x243f8), + CodeunitRange(0x24404, 0x24404), + CodeunitRange(0x24435, 0x24436), + CodeunitRange(0x2445a, 0x2445b), + CodeunitRange(0x24473, 0x24473), + CodeunitRange(0x24487, 0x24488), + CodeunitRange(0x244b9, 0x244b9), + CodeunitRange(0x244bc, 0x244bc), + CodeunitRange(0x244ce, 0x244ce), + CodeunitRange(0x244d3, 0x244d3), + CodeunitRange(0x244d6, 0x244d6), + CodeunitRange(0x24505, 0x24505), + CodeunitRange(0x24521, 0x24521), + CodeunitRange(0x24578, 0x24578), + CodeunitRange(0x245c8, 0x245c8), + CodeunitRange(0x24618, 0x24618), + CodeunitRange(0x2462a, 0x2462a), + CodeunitRange(0x24665, 0x24665), + CodeunitRange(0x24674, 0x24674), + CodeunitRange(0x24697, 0x24697), + CodeunitRange(0x246d4, 0x246d4), + CodeunitRange(0x24706, 0x24706), + CodeunitRange(0x24725, 0x24725), + CodeunitRange(0x2472f, 0x2472f), + CodeunitRange(0x2478f, 0x2478f), + CodeunitRange(0x247e0, 0x247e0), + CodeunitRange(0x24812, 0x24812), + CodeunitRange(0x24823, 0x24823), + CodeunitRange(0x24882, 0x24882), + CodeunitRange(0x248e9, 0x248e9), + CodeunitRange(0x248f0, 0x248f3), + CodeunitRange(0x248fb, 0x248fb), + CodeunitRange(0x248ff, 0x24901), + CodeunitRange(0x2490c, 0x2490c), + CodeunitRange(0x24916, 0x24917), + CodeunitRange(0x24919, 0x24919), + CodeunitRange(0x2492f, 0x2492f), + CodeunitRange(0x24933, 0x24934), + CodeunitRange(0x2493e, 0x24943), + CodeunitRange(0x24962, 0x24963), + CodeunitRange(0x24974, 0x24976), + CodeunitRange(0x2497b, 0x2497b), + CodeunitRange(0x2497f, 0x2497f), + CodeunitRange(0x24982, 0x24982), + CodeunitRange(0x24988, 0x2498f), + CodeunitRange(0x24994, 0x24994), + CodeunitRange(0x249a4, 0x249a4), + CodeunitRange(0x249a7, 0x249a7), + CodeunitRange(0x249a9, 0x249a9), + CodeunitRange(0x249ab, 0x249ad), + CodeunitRange(0x249b7, 0x249bb), + CodeunitRange(0x249c5, 0x249c5), + CodeunitRange(0x249d0, 0x249d0), + CodeunitRange(0x249da, 0x249da), + CodeunitRange(0x249de, 0x249df), + CodeunitRange(0x249e3, 0x249e3), + CodeunitRange(0x249e5, 0x249e5), + CodeunitRange(0x249ec, 0x249ed), + CodeunitRange(0x249f6, 0x249f9), + CodeunitRange(0x249fb, 0x249fb), + CodeunitRange(0x24a0e, 0x24a0e), + CodeunitRange(0x24a12, 0x24a13), + CodeunitRange(0x24a15, 0x24a15), + CodeunitRange(0x24a21, 0x24a2a), + CodeunitRange(0x24a3e, 0x24a3e), + CodeunitRange(0x24a42, 0x24a42), + CodeunitRange(0x24a45, 0x24a45), + CodeunitRange(0x24a4a, 0x24a4a), + CodeunitRange(0x24a4e, 0x24a51), + CodeunitRange(0x24a5d, 0x24a5d), + CodeunitRange(0x24a65, 0x24a67), + CodeunitRange(0x24a71, 0x24a71), + CodeunitRange(0x24a77, 0x24a7a), + CodeunitRange(0x24a8c, 0x24a8c), + CodeunitRange(0x24a93, 0x24a96), + CodeunitRange(0x24aa4, 0x24aa7), + CodeunitRange(0x24ab1, 0x24ab3), + CodeunitRange(0x24aba, 0x24abc), + CodeunitRange(0x24ac0, 0x24ac0), + CodeunitRange(0x24ac7, 0x24ac7), + CodeunitRange(0x24aca, 0x24aca), + CodeunitRange(0x24ad1, 0x24ad1), + CodeunitRange(0x24adf, 0x24adf), + CodeunitRange(0x24ae2, 0x24ae2), + CodeunitRange(0x24ae9, 0x24ae9), + CodeunitRange(0x24b0f, 0x24b0f), + CodeunitRange(0x24b6e, 0x24b6e), + CodeunitRange(0x24bf5, 0x24bf5), + CodeunitRange(0x24c09, 0x24c09), + CodeunitRange(0x24c9e, 0x24c9f), + CodeunitRange(0x24cc9, 0x24cc9), + CodeunitRange(0x24cd9, 0x24cd9), + CodeunitRange(0x24d06, 0x24d06), + CodeunitRange(0x24d13, 0x24d13), + CodeunitRange(0x24db8, 0x24db8), + CodeunitRange(0x24dea, 0x24deb), + CodeunitRange(0x24e3b, 0x24e3b), + CodeunitRange(0x24e50, 0x24e50), + CodeunitRange(0x24ea5, 0x24ea5), + CodeunitRange(0x24ea7, 0x24ea7), + CodeunitRange(0x24f0e, 0x24f0e), + CodeunitRange(0x24f5c, 0x24f5c), + CodeunitRange(0x24f82, 0x24f82), + CodeunitRange(0x24f86, 0x24f86), + CodeunitRange(0x24f97, 0x24f97), + CodeunitRange(0x24f9a, 0x24f9a), + CodeunitRange(0x24fa9, 0x24fa9), + CodeunitRange(0x24fb8, 0x24fb8), + CodeunitRange(0x24fc2, 0x24fc2), + CodeunitRange(0x2502c, 0x2502c), + CodeunitRange(0x25052, 0x25052), + CodeunitRange(0x2509d, 0x2509d), + CodeunitRange(0x2512b, 0x2512b), + CodeunitRange(0x25148, 0x25148), + CodeunitRange(0x2517d, 0x2517e), + CodeunitRange(0x251cd, 0x251cd), + CodeunitRange(0x251e3, 0x251e3), + CodeunitRange(0x251e6, 0x251e7), + CodeunitRange(0x25220, 0x25221), + CodeunitRange(0x25250, 0x25250), + CodeunitRange(0x25299, 0x25299), + CodeunitRange(0x252c7, 0x252c7), + CodeunitRange(0x252d8, 0x252d8), + CodeunitRange(0x2530e, 0x2530e), + CodeunitRange(0x25311, 0x25311), + CodeunitRange(0x25313, 0x25313), + CodeunitRange(0x25419, 0x25419), + CodeunitRange(0x25425, 0x25425), + CodeunitRange(0x2542f, 0x25430), + CodeunitRange(0x25446, 0x25446), + CodeunitRange(0x2546c, 0x2546c), + CodeunitRange(0x2546e, 0x2546e), + CodeunitRange(0x2549a, 0x2549a), + CodeunitRange(0x25531, 0x25531), + CodeunitRange(0x25535, 0x25535), + CodeunitRange(0x2553f, 0x2553f), + CodeunitRange(0x2555b, 0x2555e), + CodeunitRange(0x25562, 0x25562), + CodeunitRange(0x25565, 0x25566), + CodeunitRange(0x25581, 0x25581), + CodeunitRange(0x25584, 0x25584), + CodeunitRange(0x2558f, 0x2558f), + CodeunitRange(0x255b9, 0x255b9), + CodeunitRange(0x255d5, 0x255d5), + CodeunitRange(0x255db, 0x255db), + CodeunitRange(0x255e0, 0x255e0), + CodeunitRange(0x25605, 0x25605), + CodeunitRange(0x25635, 0x25635), + CodeunitRange(0x25651, 0x25651), + CodeunitRange(0x25683, 0x25683), + CodeunitRange(0x25695, 0x25695), + CodeunitRange(0x256e3, 0x256e3), + CodeunitRange(0x256f6, 0x256f6), + CodeunitRange(0x25706, 0x25706), + CodeunitRange(0x2571d, 0x2571d), + CodeunitRange(0x25725, 0x25725), + CodeunitRange(0x2573d, 0x2573d), + CodeunitRange(0x25772, 0x25772), + CodeunitRange(0x257c7, 0x257c7), + CodeunitRange(0x257df, 0x257e1), + CodeunitRange(0x25857, 0x25857), + CodeunitRange(0x2585d, 0x2585d), + CodeunitRange(0x25872, 0x25872), + CodeunitRange(0x258c8, 0x258c8), + CodeunitRange(0x258de, 0x258de), + CodeunitRange(0x258e1, 0x258e1), + CodeunitRange(0x25903, 0x25903), + CodeunitRange(0x25946, 0x25946), + CodeunitRange(0x25956, 0x25956), + CodeunitRange(0x259ac, 0x259ac), + CodeunitRange(0x259cc, 0x259cc), + CodeunitRange(0x25a54, 0x25a54), + CodeunitRange(0x25a95, 0x25a95), + CodeunitRange(0x25a9c, 0x25a9c), + CodeunitRange(0x25aae, 0x25aaf), + CodeunitRange(0x25ad7, 0x25ad7), + CodeunitRange(0x25ae9, 0x25ae9), + CodeunitRange(0x25b74, 0x25b74), + CodeunitRange(0x25b89, 0x25b89), + CodeunitRange(0x25bb3, 0x25bb4), + CodeunitRange(0x25bc6, 0x25bc6), + CodeunitRange(0x25be4, 0x25be4), + CodeunitRange(0x25be8, 0x25be8), + CodeunitRange(0x25c01, 0x25c01), + CodeunitRange(0x25c06, 0x25c06), + CodeunitRange(0x25c21, 0x25c21), + CodeunitRange(0x25c4a, 0x25c4a), + CodeunitRange(0x25c65, 0x25c65), + CodeunitRange(0x25c91, 0x25c91), + CodeunitRange(0x25ca4, 0x25ca4), + CodeunitRange(0x25cc0, 0x25cc1), + CodeunitRange(0x25cfe, 0x25cfe), + CodeunitRange(0x25d20, 0x25d20), + CodeunitRange(0x25d30, 0x25d30), + CodeunitRange(0x25d43, 0x25d43), + CodeunitRange(0x25d99, 0x25d99), + CodeunitRange(0x25db9, 0x25db9), + CodeunitRange(0x25e0e, 0x25e0e), + CodeunitRange(0x25e49, 0x25e49), + CodeunitRange(0x25e81, 0x25e83), + CodeunitRange(0x25ea6, 0x25ea6), + CodeunitRange(0x25ebc, 0x25ebc), + CodeunitRange(0x25ed7, 0x25ed8), + CodeunitRange(0x25f1a, 0x25f1a), + CodeunitRange(0x25f4b, 0x25f4b), + CodeunitRange(0x25fe1, 0x25fe2), + CodeunitRange(0x26021, 0x26021), + CodeunitRange(0x26029, 0x26029), + CodeunitRange(0x26048, 0x26048), + CodeunitRange(0x26064, 0x26064), + CodeunitRange(0x26083, 0x26083), + CodeunitRange(0x26097, 0x26097), + CodeunitRange(0x260a4, 0x260a5), + CodeunitRange(0x26102, 0x26102), + CodeunitRange(0x26121, 0x26121), + CodeunitRange(0x26159, 0x2615c), + CodeunitRange(0x261ad, 0x261ae), + CodeunitRange(0x261b2, 0x261b2), + CodeunitRange(0x261dd, 0x261dd), + CodeunitRange(0x26258, 0x26258), + CodeunitRange(0x26261, 0x26261), + CodeunitRange(0x2626a, 0x2626b), + CodeunitRange(0x262d0, 0x262d0), + CodeunitRange(0x26335, 0x26335), + CodeunitRange(0x2634b, 0x2634c), + CodeunitRange(0x26351, 0x26351), + CodeunitRange(0x263be, 0x263be), + CodeunitRange(0x263f5, 0x263f5), + CodeunitRange(0x263f8, 0x263f8), + CodeunitRange(0x26402, 0x26402), + CodeunitRange(0x26410, 0x26412), + CodeunitRange(0x2644a, 0x2644a), + CodeunitRange(0x26469, 0x26469), + CodeunitRange(0x26484, 0x26484), + CodeunitRange(0x26488, 0x26489), + CodeunitRange(0x2648d, 0x2648d), + CodeunitRange(0x26498, 0x26498), + CodeunitRange(0x26512, 0x26512), + CodeunitRange(0x26572, 0x26572), + CodeunitRange(0x265a0, 0x265a0), + CodeunitRange(0x265ad, 0x265ad), + CodeunitRange(0x265bf, 0x265bf), + CodeunitRange(0x26612, 0x26612), + CodeunitRange(0x26626, 0x26626), + CodeunitRange(0x266af, 0x266af), + CodeunitRange(0x266b1, 0x266b1), + CodeunitRange(0x266b5, 0x266b5), + CodeunitRange(0x266da, 0x266da), + CodeunitRange(0x266e8, 0x266e8), + CodeunitRange(0x266fc, 0x266fc), + CodeunitRange(0x26716, 0x26716), + CodeunitRange(0x26741, 0x26741), + CodeunitRange(0x26799, 0x26799), + CodeunitRange(0x267b3, 0x267b4), + CodeunitRange(0x267cc, 0x267cc), + CodeunitRange(0x2681c, 0x2681c), + CodeunitRange(0x26846, 0x26846), + CodeunitRange(0x2685e, 0x2685e), + CodeunitRange(0x2686e, 0x2686e), + CodeunitRange(0x26888, 0x26888), + CodeunitRange(0x2688a, 0x2688a), + CodeunitRange(0x26893, 0x26893), + CodeunitRange(0x268c7, 0x268c7), + CodeunitRange(0x2690e, 0x2690e), + CodeunitRange(0x26911, 0x26911), + CodeunitRange(0x26926, 0x26926), + CodeunitRange(0x26939, 0x26939), + CodeunitRange(0x26951, 0x26951), + CodeunitRange(0x269a8, 0x269a8), + CodeunitRange(0x269b5, 0x269b5), + CodeunitRange(0x269f2, 0x269f2), + CodeunitRange(0x269fa, 0x269fa), + CodeunitRange(0x26a2d, 0x26a2e), + CodeunitRange(0x26a34, 0x26a34), + CodeunitRange(0x26a42, 0x26a42), + CodeunitRange(0x26a51, 0x26a52), + CodeunitRange(0x26b05, 0x26b05), + CodeunitRange(0x26b0a, 0x26b0a), + CodeunitRange(0x26b13, 0x26b13), + CodeunitRange(0x26b15, 0x26b15), + CodeunitRange(0x26b23, 0x26b23), + CodeunitRange(0x26b28, 0x26b28), + CodeunitRange(0x26b50, 0x26b53), + CodeunitRange(0x26b5b, 0x26b5b), + CodeunitRange(0x26b75, 0x26b75), + CodeunitRange(0x26b82, 0x26b82), + CodeunitRange(0x26b96, 0x26b97), + CodeunitRange(0x26b9d, 0x26b9d), + CodeunitRange(0x26bb3, 0x26bb3), + CodeunitRange(0x26bc0, 0x26bc0), + CodeunitRange(0x26bf7, 0x26bf7), + CodeunitRange(0x26c21, 0x26c21), + CodeunitRange(0x26c40, 0x26c41), + CodeunitRange(0x26c46, 0x26c46), + CodeunitRange(0x26c7e, 0x26c82), + CodeunitRange(0x26ca4, 0x26ca4), + CodeunitRange(0x26cb7, 0x26cb8), + CodeunitRange(0x26cbd, 0x26cbd), + CodeunitRange(0x26cc0, 0x26cc0), + CodeunitRange(0x26cc3, 0x26cc3), + CodeunitRange(0x26cd1, 0x26cd1), + CodeunitRange(0x26d22, 0x26d2a), + CodeunitRange(0x26d51, 0x26d51), + CodeunitRange(0x26d74, 0x26d74), + CodeunitRange(0x26da0, 0x26da7), + CodeunitRange(0x26dae, 0x26dae), + CodeunitRange(0x26ddc, 0x26ddc), + CodeunitRange(0x26dea, 0x26deb), + CodeunitRange(0x26df0, 0x26df0), + CodeunitRange(0x26e00, 0x26e00), + CodeunitRange(0x26e05, 0x26e05), + CodeunitRange(0x26e07, 0x26e07), + CodeunitRange(0x26e12, 0x26e12), + CodeunitRange(0x26e42, 0x26e45), + CodeunitRange(0x26e6e, 0x26e6e), + CodeunitRange(0x26e72, 0x26e72), + CodeunitRange(0x26e77, 0x26e77), + CodeunitRange(0x26e84, 0x26e84), + CodeunitRange(0x26e88, 0x26e88), + CodeunitRange(0x26e8b, 0x26e8b), + CodeunitRange(0x26e99, 0x26e99), + CodeunitRange(0x26ed0, 0x26ed7), + CodeunitRange(0x26f26, 0x26f26), + CodeunitRange(0x26f73, 0x26f74), + CodeunitRange(0x26f9f, 0x26f9f), + CodeunitRange(0x26fa1, 0x26fa1), + CodeunitRange(0x26fbe, 0x26fbe), + CodeunitRange(0x26fde, 0x26fdf), + CodeunitRange(0x2700e, 0x2700e), + CodeunitRange(0x2704b, 0x2704b), + CodeunitRange(0x27052, 0x27053), + CodeunitRange(0x27088, 0x27088), + CodeunitRange(0x270ad, 0x270af), + CodeunitRange(0x270cd, 0x270cd), + CodeunitRange(0x270d2, 0x270d2), + CodeunitRange(0x270f0, 0x270f0), + CodeunitRange(0x270f8, 0x270f8), + CodeunitRange(0x27109, 0x27109), + CodeunitRange(0x2710c, 0x2710d), + CodeunitRange(0x27126, 0x27127), + CodeunitRange(0x27164, 0x27165), + CodeunitRange(0x27175, 0x27175), + CodeunitRange(0x271cd, 0x271cd), + CodeunitRange(0x2721b, 0x2721b), + CodeunitRange(0x27267, 0x27267), + CodeunitRange(0x27280, 0x27280), + CodeunitRange(0x27285, 0x27285), + CodeunitRange(0x2728b, 0x2728b), + CodeunitRange(0x272b2, 0x272b2), + CodeunitRange(0x272b6, 0x272b6), + CodeunitRange(0x272e6, 0x272e6), + CodeunitRange(0x27352, 0x27352), + CodeunitRange(0x2739a, 0x2739a), + CodeunitRange(0x273ff, 0x273ff), + CodeunitRange(0x27422, 0x27422), + CodeunitRange(0x27450, 0x27450), + CodeunitRange(0x27484, 0x27484), + CodeunitRange(0x27486, 0x27486), + CodeunitRange(0x27574, 0x27574), + CodeunitRange(0x275a3, 0x275a3), + CodeunitRange(0x275e0, 0x275e0), + CodeunitRange(0x275e4, 0x275e4), + CodeunitRange(0x275fd, 0x275fe), + CodeunitRange(0x27607, 0x27607), + CodeunitRange(0x2760c, 0x2760c), + CodeunitRange(0x27632, 0x27632), + CodeunitRange(0x27639, 0x27639), + CodeunitRange(0x27655, 0x27657), + CodeunitRange(0x27694, 0x27694), + CodeunitRange(0x2770f, 0x2770f), + CodeunitRange(0x27735, 0x27736), + CodeunitRange(0x27741, 0x27741), + CodeunitRange(0x2775e, 0x2775e), + CodeunitRange(0x27784, 0x27785), + CodeunitRange(0x277cc, 0x277cc), + CodeunitRange(0x27858, 0x27858), + CodeunitRange(0x27870, 0x27870), + CodeunitRange(0x2789d, 0x2789d), + CodeunitRange(0x278b2, 0x278b2), + CodeunitRange(0x278c8, 0x278c8), + CodeunitRange(0x27924, 0x27924), + CodeunitRange(0x27967, 0x27967), + CodeunitRange(0x2797a, 0x2797a), + CodeunitRange(0x279a0, 0x279a0), + CodeunitRange(0x279dd, 0x279dd), + CodeunitRange(0x279fd, 0x279fd), + CodeunitRange(0x27a0a, 0x27a0a), + CodeunitRange(0x27a0e, 0x27a0e), + CodeunitRange(0x27a3e, 0x27a3e), + CodeunitRange(0x27a53, 0x27a53), + CodeunitRange(0x27a59, 0x27a59), + CodeunitRange(0x27a79, 0x27a79), + CodeunitRange(0x27a84, 0x27a84), + CodeunitRange(0x27abd, 0x27abe), + CodeunitRange(0x27af4, 0x27af4), + CodeunitRange(0x27b06, 0x27b06), + CodeunitRange(0x27b0b, 0x27b0b), + CodeunitRange(0x27b18, 0x27b18), + CodeunitRange(0x27b38, 0x27b3a), + CodeunitRange(0x27b48, 0x27b48), + CodeunitRange(0x27b65, 0x27b65), + CodeunitRange(0x27bef, 0x27bef), + CodeunitRange(0x27bf4, 0x27bf4), + CodeunitRange(0x27c12, 0x27c12), + CodeunitRange(0x27c6c, 0x27c6c), + CodeunitRange(0x27cb1, 0x27cb1), + CodeunitRange(0x27cc5, 0x27cc5), + CodeunitRange(0x27d2f, 0x27d2f), + CodeunitRange(0x27d53, 0x27d54), + CodeunitRange(0x27d66, 0x27d66), + CodeunitRange(0x27d73, 0x27d73), + CodeunitRange(0x27d84, 0x27d84), + CodeunitRange(0x27d8f, 0x27d8f), + CodeunitRange(0x27d98, 0x27d98), + CodeunitRange(0x27dbd, 0x27dbd), + CodeunitRange(0x27ddc, 0x27ddc), + CodeunitRange(0x27e4d, 0x27e4d), + CodeunitRange(0x27e4f, 0x27e4f), + CodeunitRange(0x27f2e, 0x27f2e), + CodeunitRange(0x27fb7, 0x27fb7), + CodeunitRange(0x27ff9, 0x27ff9), + CodeunitRange(0x28002, 0x28002), + CodeunitRange(0x28009, 0x28009), + CodeunitRange(0x2801e, 0x2801e), + CodeunitRange(0x28023, 0x28024), + CodeunitRange(0x28048, 0x28048), + CodeunitRange(0x28083, 0x28083), + CodeunitRange(0x28090, 0x28090), + CodeunitRange(0x280bd, 0x280be), + CodeunitRange(0x280e8, 0x280e9), + CodeunitRange(0x280f4, 0x280f4), + CodeunitRange(0x2812e, 0x2812e), + CodeunitRange(0x2814f, 0x2814f), + CodeunitRange(0x2815d, 0x2815d), + CodeunitRange(0x2816f, 0x2816f), + CodeunitRange(0x28189, 0x28189), + CodeunitRange(0x281af, 0x281af), + CodeunitRange(0x281bc, 0x281bc), + CodeunitRange(0x28207, 0x28207), + CodeunitRange(0x28218, 0x28218), + CodeunitRange(0x2821a, 0x2821a), + CodeunitRange(0x28256, 0x28256), + CodeunitRange(0x2827c, 0x2827c), + CodeunitRange(0x2829b, 0x2829b), + CodeunitRange(0x282cd, 0x282cd), + CodeunitRange(0x282e2, 0x282e2), + CodeunitRange(0x28306, 0x28306), + CodeunitRange(0x28318, 0x28318), + CodeunitRange(0x2832f, 0x2832f), + CodeunitRange(0x2833a, 0x2833a), + CodeunitRange(0x28365, 0x28365), + CodeunitRange(0x2836d, 0x2836d), + CodeunitRange(0x2837d, 0x2837d), + CodeunitRange(0x2838a, 0x2838a), + CodeunitRange(0x28412, 0x28412), + CodeunitRange(0x28468, 0x28468), + CodeunitRange(0x2846c, 0x2846c), + CodeunitRange(0x28473, 0x28473), + CodeunitRange(0x28482, 0x28482), + CodeunitRange(0x28501, 0x28501), + CodeunitRange(0x2853c, 0x2853d), + CodeunitRange(0x2856c, 0x2856c), + CodeunitRange(0x285e8, 0x285e8), + CodeunitRange(0x285f4, 0x285f4), + CodeunitRange(0x28600, 0x28600), + CodeunitRange(0x2860b, 0x2860b), + CodeunitRange(0x28625, 0x28625), + CodeunitRange(0x2863b, 0x2863b), + CodeunitRange(0x286aa, 0x286ab), + CodeunitRange(0x286b2, 0x286b2), + CodeunitRange(0x286bc, 0x286bc), + CodeunitRange(0x286d8, 0x286d8), + CodeunitRange(0x286e6, 0x286e6), + CodeunitRange(0x2870f, 0x2870f), + CodeunitRange(0x28713, 0x28713), + CodeunitRange(0x28804, 0x28804), + CodeunitRange(0x2882b, 0x2882b), + CodeunitRange(0x2890d, 0x2890d), + CodeunitRange(0x28933, 0x28933), + CodeunitRange(0x28948, 0x28949), + CodeunitRange(0x28956, 0x28956), + CodeunitRange(0x28964, 0x28964), + CodeunitRange(0x28968, 0x28968), + CodeunitRange(0x2896c, 0x2896d), + CodeunitRange(0x2897e, 0x2897e), + CodeunitRange(0x28989, 0x28989), + CodeunitRange(0x289a8, 0x289a8), + CodeunitRange(0x289aa, 0x289ab), + CodeunitRange(0x289b8, 0x289b8), + CodeunitRange(0x289bc, 0x289bc), + CodeunitRange(0x289c0, 0x289c0), + CodeunitRange(0x289dc, 0x289dc), + CodeunitRange(0x289de, 0x289de), + CodeunitRange(0x289e1, 0x289e1), + CodeunitRange(0x289e3, 0x289e4), + CodeunitRange(0x289e7, 0x289e8), + CodeunitRange(0x289f9, 0x289fc), + CodeunitRange(0x28a0f, 0x28a0f), + CodeunitRange(0x28a16, 0x28a16), + CodeunitRange(0x28a25, 0x28a25), + CodeunitRange(0x28a29, 0x28a29), + CodeunitRange(0x28a32, 0x28a32), + CodeunitRange(0x28a36, 0x28a36), + CodeunitRange(0x28a44, 0x28a4b), + CodeunitRange(0x28a59, 0x28a5a), + CodeunitRange(0x28a81, 0x28a83), + CodeunitRange(0x28a9a, 0x28a9c), + CodeunitRange(0x28ac0, 0x28ac0), + CodeunitRange(0x28ac6, 0x28ac6), + CodeunitRange(0x28acb, 0x28acc), + CodeunitRange(0x28ace, 0x28ace), + CodeunitRange(0x28ade, 0x28ae3), + CodeunitRange(0x28ae5, 0x28ae5), + CodeunitRange(0x28aea, 0x28aea), + CodeunitRange(0x28afc, 0x28afc), + CodeunitRange(0x28b0c, 0x28b0c), + CodeunitRange(0x28b13, 0x28b13), + CodeunitRange(0x28b21, 0x28b22), + CodeunitRange(0x28b2b, 0x28b2d), + CodeunitRange(0x28b2f, 0x28b2f), + CodeunitRange(0x28b46, 0x28b46), + CodeunitRange(0x28b4c, 0x28b4c), + CodeunitRange(0x28b4e, 0x28b4e), + CodeunitRange(0x28b50, 0x28b50), + CodeunitRange(0x28b63, 0x28b66), + CodeunitRange(0x28b6c, 0x28b6c), + CodeunitRange(0x28b8f, 0x28b8f), + CodeunitRange(0x28b99, 0x28b99), + CodeunitRange(0x28b9c, 0x28b9d), + CodeunitRange(0x28bb9, 0x28bb9), + CodeunitRange(0x28bc2, 0x28bc2), + CodeunitRange(0x28bc5, 0x28bc5), + CodeunitRange(0x28bd4, 0x28bd4), + CodeunitRange(0x28bd7, 0x28bd7), + CodeunitRange(0x28bd9, 0x28bda), + CodeunitRange(0x28be7, 0x28bec), + CodeunitRange(0x28bf5, 0x28bf5), + CodeunitRange(0x28bff, 0x28bff), + CodeunitRange(0x28c03, 0x28c03), + CodeunitRange(0x28c09, 0x28c09), + CodeunitRange(0x28c1c, 0x28c1d), + CodeunitRange(0x28c23, 0x28c23), + CodeunitRange(0x28c26, 0x28c26), + CodeunitRange(0x28c2b, 0x28c2b), + CodeunitRange(0x28c30, 0x28c30), + CodeunitRange(0x28c39, 0x28c39), + CodeunitRange(0x28c3b, 0x28c3b), + CodeunitRange(0x28cca, 0x28cca), + CodeunitRange(0x28ccd, 0x28ccd), + CodeunitRange(0x28cd2, 0x28cd2), + CodeunitRange(0x28d34, 0x28d34), + CodeunitRange(0x28d99, 0x28d99), + CodeunitRange(0x28db9, 0x28db9), + CodeunitRange(0x28e0f, 0x28e0f), + CodeunitRange(0x28e36, 0x28e36), + CodeunitRange(0x28e39, 0x28e39), + CodeunitRange(0x28e65, 0x28e66), + CodeunitRange(0x28e97, 0x28e97), + CodeunitRange(0x28eac, 0x28eac), + CodeunitRange(0x28eb2, 0x28eb3), + CodeunitRange(0x28ed9, 0x28ed9), + CodeunitRange(0x28ee7, 0x28ee7), + CodeunitRange(0x28fc5, 0x28fc5), + CodeunitRange(0x29079, 0x29079), + CodeunitRange(0x29088, 0x29088), + CodeunitRange(0x2908b, 0x2908b), + CodeunitRange(0x29093, 0x29093), + CodeunitRange(0x290af, 0x290b1), + CodeunitRange(0x290c0, 0x290c0), + CodeunitRange(0x290e4, 0x290e5), + CodeunitRange(0x290ec, 0x290ed), + CodeunitRange(0x2910d, 0x2910d), + CodeunitRange(0x29110, 0x29110), + CodeunitRange(0x2913c, 0x2913c), + CodeunitRange(0x2914d, 0x2914d), + CodeunitRange(0x2915b, 0x2915b), + CodeunitRange(0x2915e, 0x2915e), + CodeunitRange(0x29170, 0x29170), + CodeunitRange(0x2919c, 0x2919c), + CodeunitRange(0x291a8, 0x291a8), + CodeunitRange(0x291d5, 0x291d5), + CodeunitRange(0x291eb, 0x291eb), + CodeunitRange(0x2941d, 0x2941d), + CodeunitRange(0x29420, 0x29420), + CodeunitRange(0x29433, 0x29433), + CodeunitRange(0x2943f, 0x2943f), + CodeunitRange(0x29448, 0x29448), + CodeunitRange(0x294d0, 0x294d0), + CodeunitRange(0x294d9, 0x294da), + CodeunitRange(0x294e5, 0x294e5), + CodeunitRange(0x294e7, 0x294e7), + CodeunitRange(0x2959e, 0x2959e), + CodeunitRange(0x295b0, 0x295b0), + CodeunitRange(0x295b8, 0x295b8), + CodeunitRange(0x295d7, 0x295d7), + CodeunitRange(0x295e9, 0x295e9), + CodeunitRange(0x295f4, 0x295f4), + CodeunitRange(0x2967f, 0x2967f), + CodeunitRange(0x29720, 0x29720), + CodeunitRange(0x29732, 0x29732), + CodeunitRange(0x297d4, 0x297d4), + CodeunitRange(0x29810, 0x29810), + CodeunitRange(0x29857, 0x29857), + CodeunitRange(0x298a4, 0x298a4), + CodeunitRange(0x298d1, 0x298d1), + CodeunitRange(0x298ea, 0x298ea), + CodeunitRange(0x298f1, 0x298f1), + CodeunitRange(0x298fa, 0x298fa), + CodeunitRange(0x29903, 0x29903), + CodeunitRange(0x29905, 0x29905), + CodeunitRange(0x2992f, 0x2992f), + CodeunitRange(0x29945, 0x29945), + CodeunitRange(0x29947, 0x29949), + CodeunitRange(0x2995d, 0x2995d), + CodeunitRange(0x2996a, 0x2996a), + CodeunitRange(0x2999d, 0x2999d), + CodeunitRange(0x299c3, 0x299c3), + CodeunitRange(0x299c9, 0x299c9), + CodeunitRange(0x29a28, 0x29a28), + CodeunitRange(0x29a4d, 0x29a4d), + CodeunitRange(0x29b05, 0x29b05), + CodeunitRange(0x29b0e, 0x29b0e), + CodeunitRange(0x29bd5, 0x29bd5), + CodeunitRange(0x29c73, 0x29c73), + CodeunitRange(0x29cad, 0x29cad), + CodeunitRange(0x29d3e, 0x29d3e), + CodeunitRange(0x29d5a, 0x29d5a), + CodeunitRange(0x29d7c, 0x29d7c), + CodeunitRange(0x29d98, 0x29d98), + CodeunitRange(0x29d9b, 0x29d9b), + CodeunitRange(0x29df6, 0x29df6), + CodeunitRange(0x29e06, 0x29e06), + CodeunitRange(0x29e2d, 0x29e2d), + CodeunitRange(0x29e68, 0x29e68), + CodeunitRange(0x29eac, 0x29eac), + CodeunitRange(0x29eb0, 0x29eb0), + CodeunitRange(0x29ec3, 0x29ec3), + CodeunitRange(0x29ef8, 0x29ef8), + CodeunitRange(0x29f23, 0x29f23), + CodeunitRange(0x29f30, 0x29f30), + CodeunitRange(0x29fb7, 0x29fb7), + CodeunitRange(0x29fde, 0x29fde), + CodeunitRange(0x2a014, 0x2a014), + CodeunitRange(0x2a087, 0x2a087), + CodeunitRange(0x2a0b9, 0x2a0b9), + CodeunitRange(0x2a0e1, 0x2a0e1), + CodeunitRange(0x2a0ed, 0x2a0ed), + CodeunitRange(0x2a0f3, 0x2a0f3), + CodeunitRange(0x2a0f8, 0x2a0f8), + CodeunitRange(0x2a0fe, 0x2a0fe), + CodeunitRange(0x2a107, 0x2a107), + CodeunitRange(0x2a123, 0x2a123), + CodeunitRange(0x2a133, 0x2a134), + CodeunitRange(0x2a150, 0x2a150), + CodeunitRange(0x2a192, 0x2a193), + CodeunitRange(0x2a1ab, 0x2a1ab), + CodeunitRange(0x2a1b4, 0x2a1b5), + CodeunitRange(0x2a1df, 0x2a1df), + CodeunitRange(0x2a1f5, 0x2a1f5), + CodeunitRange(0x2a220, 0x2a220), + CodeunitRange(0x2a233, 0x2a233), + CodeunitRange(0x2a293, 0x2a293), + CodeunitRange(0x2a29f, 0x2a29f), + CodeunitRange(0x2a2b2, 0x2a2b2), + CodeunitRange(0x2a2b4, 0x2a2b4), + CodeunitRange(0x2a2b6, 0x2a2b6), + CodeunitRange(0x2a2ba, 0x2a2ba), + CodeunitRange(0x2a2bd, 0x2a2bd), + CodeunitRange(0x2a2df, 0x2a2df), + CodeunitRange(0x2a2ff, 0x2a2ff), + CodeunitRange(0x2a351, 0x2a351), + CodeunitRange(0x2a3a9, 0x2a3a9), + CodeunitRange(0x2a3ed, 0x2a3ed), + CodeunitRange(0x2a434, 0x2a434), + CodeunitRange(0x2a45b, 0x2a45b), + CodeunitRange(0x2a5c6, 0x2a5c6), + CodeunitRange(0x2a5cb, 0x2a5cb), + CodeunitRange(0x2a601, 0x2a601), + CodeunitRange(0x2a632, 0x2a632), + CodeunitRange(0x2a64a, 0x2a64a), + CodeunitRange(0x2a65b, 0x2a65b), + CodeunitRange(0x2a6a9, 0x2a6a9), + CodeunitRange(0x2adff, 0x2adff), + CodeunitRange(0x2d544, 0x2d544), + CodeunitRange(0x2f825, 0x2f825), + CodeunitRange(0x2f83b, 0x2f83b), + CodeunitRange(0x2f840, 0x2f840), + CodeunitRange(0x2f878, 0x2f878), + CodeunitRange(0x2f894, 0x2f894), + CodeunitRange(0x2f8a6, 0x2f8a6), + CodeunitRange(0x2f8cd, 0x2f8cd), + CodeunitRange(0x2f8db, 0x2f8db), + CodeunitRange(0x2f994, 0x2f994), + CodeunitRange(0x2f9b2, 0x2f9b2), + CodeunitRange(0x2f9bc, 0x2f9bc), + CodeunitRange(0x2f9d4, 0x2f9d4), + CodeunitRange(0x30edd, 0x30ede), + CodeunitRange(0x3106c, 0x3106c), + ]), + NotoFont('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1700, 0x170c), + CodeunitRange(0x170e, 0x1714), + CodeunitRange(0x1735, 0x1736), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1735, 0x1736), + CodeunitRange(0x1760, 0x176c), + CodeunitRange(0x176e, 0x1770), + CodeunitRange(0x1772, 0x1773), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x300, 0x301), + CodeunitRange(0x307, 0x308), + CodeunitRange(0x30c, 0x30c), + CodeunitRange(0x1040, 0x1049), + CodeunitRange(0x1950, 0x196d), + CodeunitRange(0x1970, 0x1974), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x3001, 0x3002), + CodeunitRange(0x3008, 0x300b), + ]), + NotoFont('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v16/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x1a20, 0x1a5e), + CodeunitRange(0x1a60, 0x1a7c), + CodeunitRange(0x1a7f, 0x1a89), + CodeunitRange(0x1a90, 0x1a99), + CodeunitRange(0x1aa0, 0x1aad), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2219, 0x2219), + ]), + NotoFont('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa78b, 0xa78c), + CodeunitRange(0xaa80, 0xaac2), + CodeunitRange(0xaadb, 0xaadf), + ]), + NotoFont('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x964, 0x965), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x11680, 0x116b8), + CodeunitRange(0x116c0, 0x116c9), + ]), + NotoFont('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v20/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xb2, 0xb3), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xb82, 0xb83), + CodeunitRange(0xb85, 0xb8a), + CodeunitRange(0xb8e, 0xb90), + CodeunitRange(0xb92, 0xb95), + CodeunitRange(0xb99, 0xb9a), + CodeunitRange(0xb9c, 0xb9c), + CodeunitRange(0xb9e, 0xb9f), + CodeunitRange(0xba3, 0xba4), + CodeunitRange(0xba8, 0xbaa), + CodeunitRange(0xbae, 0xbb9), + CodeunitRange(0xbbe, 0xbc2), + CodeunitRange(0xbc6, 0xbc8), + CodeunitRange(0xbca, 0xbcd), + CodeunitRange(0xbd0, 0xbd0), + CodeunitRange(0xbd7, 0xbd7), + CodeunitRange(0xbe6, 0xbfa), + CodeunitRange(0x1cda, 0x1cda), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x2074, 0x2074), + CodeunitRange(0x2082, 0x2084), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa8f3, 0xa8f3), + CodeunitRange(0x11301, 0x11301), + CodeunitRange(0x11303, 0x11303), + CodeunitRange(0x1133b, 0x1133c), + ]), + NotoFont('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [ + CodeunitRange(0x11fc0, 0x11ff1), + CodeunitRange(0x11fff, 0x11fff), + ]), + NotoFont('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v18/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [ + CodeunitRange(0x20, 0x23), + CodeunitRange(0x25, 0x25), + CodeunitRange(0x27, 0x3f), + CodeunitRange(0x5b, 0x5f), + CodeunitRange(0x7b, 0x7e), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xad, 0xad), + CodeunitRange(0xd7, 0xd7), + CodeunitRange(0xf7, 0xf7), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0xc00, 0xc0c), + CodeunitRange(0xc0e, 0xc10), + CodeunitRange(0xc12, 0xc28), + CodeunitRange(0xc2a, 0xc39), + CodeunitRange(0xc3d, 0xc44), + CodeunitRange(0xc46, 0xc48), + CodeunitRange(0xc4a, 0xc4d), + CodeunitRange(0xc55, 0xc56), + CodeunitRange(0xc58, 0xc5a), + CodeunitRange(0xc60, 0xc63), + CodeunitRange(0xc66, 0xc6f), + CodeunitRange(0xc77, 0xc7f), + CodeunitRange(0x1cda, 0x1cda), + CodeunitRange(0x1cf2, 0x1cf2), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x2013, 0x2014), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x2026, 0x2026), + CodeunitRange(0x20b9, 0x20b9), + CodeunitRange(0x2212, 0x2212), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v15/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [ + CodeunitRange(0x20, 0x21), + CodeunitRange(0x28, 0x29), + CodeunitRange(0x2c, 0x2c), + CodeunitRange(0x2e, 0x2e), + CodeunitRange(0x3a, 0x3b), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x60c, 0x60c), + CodeunitRange(0x61b, 0x61b), + CodeunitRange(0x61f, 0x61f), + CodeunitRange(0x660, 0x66c), + CodeunitRange(0x780, 0x7b1), + CodeunitRange(0x200b, 0x200f), + CodeunitRange(0x2018, 0x2019), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xfdf2, 0xfdf2), + CodeunitRange(0xfdfd, 0xfdfd), + ]), + NotoFont('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v17/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x2d, 0x2d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x2bc, 0x2bc), + CodeunitRange(0x2d7, 0x2d7), + CodeunitRange(0x303, 0x303), + CodeunitRange(0x331, 0x331), + CodeunitRange(0xe01, 0xe3a), + CodeunitRange(0xe3f, 0xe5b), + CodeunitRange(0x200b, 0x200d), + CodeunitRange(0x2010, 0x2010), + CodeunitRange(0x25cc, 0x25cc), + ]), + NotoFont('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x2c7, 0x2c7), + CodeunitRange(0x301, 0x302), + CodeunitRange(0x304, 0x304), + CodeunitRange(0x306, 0x307), + CodeunitRange(0x309, 0x309), + CodeunitRange(0x323, 0x323), + CodeunitRange(0x331, 0x331), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x202e, 0x202e), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x2d30, 0x2d67), + CodeunitRange(0x2d6f, 0x2d70), + CodeunitRange(0x2d7f, 0x2d7f), + ]), + NotoFont('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x951, 0x952), + CodeunitRange(0x964, 0x965), + CodeunitRange(0x9f4, 0x9f7), + CodeunitRange(0x1cf2, 0x1cf2), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0xa830, 0xa839), + CodeunitRange(0x11480, 0x114c7), + CodeunitRange(0x114d0, 0x114d9), + ]), + NotoFont('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x10380, 0x1039d), + CodeunitRange(0x1039f, 0x1039f), + ]), + NotoFont('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0xa500, 0xa62b), + ]), + NotoFont('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x22, 0x22), + CodeunitRange(0x27, 0x29), + CodeunitRange(0x2c, 0x2f), + CodeunitRange(0x5b, 0x5d), + CodeunitRange(0x7b, 0x7b), + CodeunitRange(0x7d, 0x7d), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x201c, 0x201d), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x1e2c0, 0x1e2f9), + CodeunitRange(0x1e2ff, 0x1e2ff), + ]), + NotoFont('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0x27, 0x27), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x200c, 0x200d), + CodeunitRange(0x118a0, 0x118f2), + CodeunitRange(0x118ff, 0x118ff), + ]), + NotoFont('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x3001, 0x3002), + CodeunitRange(0x3008, 0x3011), + CodeunitRange(0x3014, 0x301b), + CodeunitRange(0x30fb, 0x30fb), + CodeunitRange(0xa000, 0xa48c), + CodeunitRange(0xa490, 0xa4c6), + CodeunitRange(0xff61, 0xff65), + ]), + NotoFont('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [ + CodeunitRange(0x20, 0x20), + CodeunitRange(0xa0, 0xa0), + CodeunitRange(0x25cc, 0x25cc), + CodeunitRange(0x11a00, 0x11a47), + ]), +]; diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 428096a548fa3..974b78a541e4d 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:convert'; import 'dart:typed_data'; import '../dom.dart'; @@ -11,9 +10,11 @@ import '../font_change_util.dart'; import '../platform_dispatcher.dart'; import '../util.dart'; import 'canvaskit_api.dart'; +import 'font_fallback_data.dart'; import 'fonts.dart'; import 'initialization.dart'; import 'interval_tree.dart'; +import 'noto_font.dart'; /// Global static font fallback data. class FontFallbackData { @@ -29,11 +30,6 @@ class FontFallbackData { _instance = FontFallbackData(); } - /// Whether or not "Noto Sans Symbols" and "Noto Color Emoji" fonts have been - /// downloaded. We download these as fallbacks when no other font covers the - /// given code units. - bool registeredSymbolsAndEmoji = false; - /// Code units that no known font has a glyph for. final Set codeUnitsWithNoKnownFont = {}; @@ -47,15 +43,9 @@ class FontFallbackData { final Map> ranges = >{}; - for (final NotoFont font in _notoFonts) { - // TODO(yjbanov): instead of mutating the font tree during reset, it's - // better to construct an immutable tree of resolved fonts - // pointing back to the original NotoFont objects. Then - // resetting the tree would be a matter of reconstructing - // the new resolved tree. - font.reset(); + for (final NotoFont font in fallbackFonts) { // ignore: prefer_foreach - for (final CodeunitRange range in font.approximateUnicodeRanges) { + for (final CodeunitRange range in font.unicodeRanges) { ranges.putIfAbsent(font, () => []).add(range); } } @@ -234,7 +224,7 @@ class FontFallbackData { registeredFallbackFonts.add(RegisteredFont(bytes, countedFamily, typeface)); // Insert emoji font before all other fallback fonts so we use the emoji // whenever it's available. - if (family == 'Noto Color Emoji Compat') { + if (family == 'Noto Emoji') { if (globalFontFallbacks.first == 'Roboto') { globalFontFallbacks.insert(1, countedFamily); } else { @@ -262,209 +252,24 @@ Future findFontsForMissingCodeunits(List codeUnits) async { } } - for (final NotoFont font in fonts) { - await font.ensureResolved(); - } - // The call to `findMinimumFontsForCodeUnits` will remove all code units that // were matched by `fonts` from `unmatchedCodeUnits`. final Set unmatchedCodeUnits = Set.from(coveredCodeUnits); fonts = findMinimumFontsForCodeUnits(unmatchedCodeUnits, fonts); - final Set<_ResolvedNotoSubset> resolvedFonts = <_ResolvedNotoSubset>{}; - for (final int codeUnit in coveredCodeUnits) { - for (final NotoFont font in fonts) { - if (font.resolvedFont == null) { - // We failed to resolve the font earlier. - continue; - } - resolvedFonts.addAll(font.resolvedFont!.tree.intersections(codeUnit)); - } - } - resolvedFonts.forEach(notoDownloadQueue.add); + fonts.forEach(notoDownloadQueue.add); // We looked through the Noto font tree and didn't find any font families // covering some code units, or we did find a font family, but when we // downloaded the fonts we found that they actually didn't cover them. So // we try looking them up in the symbols and emojis fonts. if (missingCodeUnits.isNotEmpty || unmatchedCodeUnits.isNotEmpty) { - if (!data.registeredSymbolsAndEmoji) { - await _registerSymbolsAndEmoji(); - } else { - if (!notoDownloadQueue.isPending) { - printWarning( - 'Could not find a set of Noto fonts to display all missing ' - 'characters. Please add a font asset for the missing characters.' - ' See: https://flutter.dev/docs/cookbook/design/fonts'); - data.codeUnitsWithNoKnownFont.addAll(missingCodeUnits); - } - } - } -} - -/// Parse the CSS file for a font and make a list of resolved subsets. -/// -/// A CSS file from Google Fonts looks like this: -/// -/// /* [0] */ -/// @font-face { -/// font-family: 'Noto Sans KR'; -/// font-style: normal; -/// font-weight: 400; -/// src: url(https://fonts.gstatic.com/s/notosanskr/v13/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2) format('woff2'); -/// unicode-range: U+f9ca-fa0b, U+ff03-ff05, U+ff07, U+ff0a-ff0b, U+ff0d-ff19, U+ff1b, U+ff1d, U+ff20-ff5b, U+ff5d, U+ffe0-ffe3, U+ffe5-ffe6; -/// } -/// /* [1] */ -/// @font-face { -/// font-family: 'Noto Sans KR'; -/// font-style: normal; -/// font-weight: 400; -/// src: url(https://fonts.gstatic.com/s/notosanskr/v13/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.1.woff2) format('woff2'); -/// unicode-range: U+f92f-f980, U+f982-f9c9; -/// } -/// /* [2] */ -/// @font-face { -/// font-family: 'Noto Sans KR'; -/// font-style: normal; -/// font-weight: 400; -/// src: url(https://fonts.gstatic.com/s/notosanskr/v13/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.2.woff2) format('woff2'); -/// unicode-range: U+d723-d728, U+d72a-d733, U+d735-d748, U+d74a-d74f, U+d752-d753, U+d755-d757, U+d75a-d75f, U+d762-d764, U+d766-d768, U+d76a-d76b, U+d76d-d76f, U+d771-d787, U+d789-d78b, U+d78d-d78f, U+d791-d797, U+d79a, U+d79c, U+d79e-d7a3, U+f900-f909, U+f90b-f92e; -/// } -_ResolvedNotoFont? _makeResolvedNotoFontFromCss(String css, String name) { - final List<_ResolvedNotoSubset> subsets = <_ResolvedNotoSubset>[]; - bool resolvingFontFace = false; - String? fontFaceUrl; - List? fontFaceUnicodeRanges; - for (final String line in LineSplitter.split(css)) { - // Search for the beginning of a @font-face. - if (!resolvingFontFace) { - if (line == '@font-face {') { - resolvingFontFace = true; - } else { - continue; - } - } else { - // We are resolving a @font-face, read out the url and ranges. - if (line.startsWith(' src:')) { - final int urlStart = line.indexOf('url('); - if (urlStart == -1) { - printWarning('Unable to resolve Noto font URL: $line'); - return null; - } - final int urlEnd = line.indexOf(')'); - fontFaceUrl = line.substring(urlStart + 4, urlEnd); - } else if (line.startsWith(' unicode-range:')) { - fontFaceUnicodeRanges = []; - final String rangeString = line.substring(17, line.length - 1); - final List rawRanges = rangeString.split(', '); - for (final String rawRange in rawRanges) { - final List startEnd = rawRange.split('-'); - if (startEnd.length == 1) { - final String singleRange = startEnd.single; - assert(singleRange.startsWith('U+')); - final int rangeValue = - int.parse(singleRange.substring(2), radix: 16); - fontFaceUnicodeRanges.add(CodeunitRange(rangeValue, rangeValue)); - } else { - assert(startEnd.length == 2); - final String startRange = startEnd[0]; - final String endRange = startEnd[1]; - assert(startRange.startsWith('U+')); - final int startValue = - int.parse(startRange.substring(2), radix: 16); - final int endValue = int.parse(endRange, radix: 16); - fontFaceUnicodeRanges.add(CodeunitRange(startValue, endValue)); - } - } - } else if (line == '}') { - if (fontFaceUrl == null || fontFaceUnicodeRanges == null) { - printWarning('Unable to parse Google Fonts CSS: $css'); - return null; - } - subsets - .add(_ResolvedNotoSubset(fontFaceUrl, name, fontFaceUnicodeRanges)); - resolvingFontFace = false; - } else { - continue; - } - } - } - - if (resolvingFontFace) { - printWarning('Unable to parse Google Fonts CSS: $css'); - return null; - } - - final Map<_ResolvedNotoSubset, List> rangesMap = - <_ResolvedNotoSubset, List>{}; - for (final _ResolvedNotoSubset subset in subsets) { - // ignore: prefer_foreach - for (final CodeunitRange range in subset.ranges) { - rangesMap.putIfAbsent(subset, () => []).add(range); - } - } - - if (rangesMap.isEmpty) { - printWarning('Parsed Google Fonts CSS was empty: $css'); - return null; - } - - final IntervalTree<_ResolvedNotoSubset> tree = - IntervalTree<_ResolvedNotoSubset>.createFromRanges(rangesMap); - - return _ResolvedNotoFont(name, subsets, tree); -} - -/// In the case where none of the known Noto Fonts cover a set of code units, -/// try the Symbols and Emoji fonts. We don't know the exact range of code units -/// that are covered by these fonts, so we download them and hope for the best. -Future _registerSymbolsAndEmoji() async { - final FontFallbackData data = FontFallbackData.instance; - if (data.registeredSymbolsAndEmoji) { - return; - } - data.registeredSymbolsAndEmoji = true; - const String emojiUrl = - 'https://fonts.googleapis.com/css2?family=Noto+Color+Emoji+Compat'; - const String symbolsUrl = - 'https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols'; - - final String emojiCss = - await notoDownloadQueue.downloader.downloadAsString(emojiUrl); - final String symbolsCss = - await notoDownloadQueue.downloader.downloadAsString(symbolsUrl); - - String? extractUrlFromCss(String css) { - for (final String line in LineSplitter.split(css)) { - if (line.startsWith(' src:')) { - final int urlStart = line.indexOf('url('); - if (urlStart == -1) { - printWarning('Unable to resolve Noto font URL: $line'); - return null; - } - final int urlEnd = line.indexOf(')'); - return line.substring(urlStart + 4, urlEnd); - } + if (!notoDownloadQueue.isPending) { + printWarning('Could not find a set of Noto fonts to display all missing ' + 'characters. Please add a font asset for the missing characters.' + ' See: https://flutter.dev/docs/cookbook/design/fonts'); + data.codeUnitsWithNoKnownFont.addAll(missingCodeUnits); } - printWarning('Unable to determine URL for Noto font'); - return null; - } - - final String? emojiFontUrl = extractUrlFromCss(emojiCss); - final String? symbolsFontUrl = extractUrlFromCss(symbolsCss); - - if (emojiFontUrl != null) { - notoDownloadQueue.add(_ResolvedNotoSubset( - emojiFontUrl, 'Noto Color Emoji Compat', const [])); - } else { - printWarning('Error parsing CSS for Noto Emoji font.'); - } - - if (symbolsFontUrl != null) { - notoDownloadQueue.add(_ResolvedNotoSubset( - symbolsFontUrl, 'Noto Sans Symbols', const [])); - } else { - printWarning('Error parsing CSS for Noto Symbols font.'); } } @@ -493,7 +298,7 @@ Set findMinimumFontsForCodeUnits( for (final NotoFont font in fonts) { int codeUnitsCovered = 0; for (final int codeUnit in codeUnits) { - if (font.resolvedFont?.tree.containsDeep(codeUnit) == true) { + if (font.contains(codeUnit)) { codeUnitsCovered++; } } @@ -539,317 +344,26 @@ Set findMinimumFontsForCodeUnits( } } codeUnits.removeWhere((int codeUnit) { - return bestFont.resolvedFont!.tree.containsDeep(codeUnit); + return bestFont.contains(codeUnit); }); - minimumFonts.addAll(bestFonts); + minimumFonts.add(bestFont); } return minimumFonts; } -class NotoFont { - final String name; - final List approximateUnicodeRanges; - - Completer? _decodingCompleter; - _ResolvedNotoFont? resolvedFont; - - NotoFont(this.name, this.approximateUnicodeRanges); - - String get googleFontsCssUrl => - 'https://fonts.googleapis.com/css2?family=${name.replaceAll(' ', '+')}'; - - Future ensureResolved() async { - if (resolvedFont == null) { - if (_decodingCompleter == null) { - _decodingCompleter = Completer(); - final String googleFontCss = await notoDownloadQueue.downloader - .downloadAsString(googleFontsCssUrl); - final _ResolvedNotoFont? googleFont = - _makeResolvedNotoFontFromCss(googleFontCss, name); - resolvedFont = googleFont; - _decodingCompleter!.complete(); - } else { - await _decodingCompleter!.future; - } - } - } - - void reset() { - resolvedFont = null; - _decodingCompleter = null; - } -} - -class CodeunitRange { - final int start; - final int end; - - const CodeunitRange(this.start, this.end); - - bool contains(int codeUnit) { - return start <= codeUnit && codeUnit <= end; - } - - @override - bool operator ==(dynamic other) { - if (other is! CodeunitRange) { - return false; - } - final CodeunitRange range = other; - return range.start == start && range.end == end; - } - - @override - int get hashCode => Object.hash(start, end); - - @override - String toString() => '[$start, $end]'; -} - -class _ResolvedNotoFont { - final String name; - final List<_ResolvedNotoSubset> subsets; - final IntervalTree<_ResolvedNotoSubset> tree; - - const _ResolvedNotoFont(this.name, this.subsets, this.tree); -} - -class _ResolvedNotoSubset { - final String url; - final String family; - final List ranges; - - _ResolvedNotoSubset(this.url, this.family, this.ranges); - - @override - String toString() => '_ResolvedNotoSubset($family, $url)'; -} - -NotoFont _notoSansSC = NotoFont('Noto Sans SC', [ - const CodeunitRange(12288, 12591), - const CodeunitRange(12800, 13311), - const CodeunitRange(19968, 40959), - const CodeunitRange(65072, 65135), - const CodeunitRange(65280, 65519), -]); - -NotoFont _notoSansTC = NotoFont('Noto Sans TC', [ - const CodeunitRange(12288, 12351), - const CodeunitRange(12549, 12585), - const CodeunitRange(19968, 40959), -]); - -NotoFont _notoSansHK = NotoFont('Noto Sans HK', [ - const CodeunitRange(12288, 12351), - const CodeunitRange(12549, 12585), - const CodeunitRange(19968, 40959), -]); - -NotoFont _notoSansJP = NotoFont('Noto Sans JP', [ - const CodeunitRange(12288, 12543), - const CodeunitRange(19968, 40959), - const CodeunitRange(65280, 65519), -]); - -List _cjkFonts = [ - _notoSansSC, - _notoSansTC, - _notoSansHK, - _notoSansJP, -]; - -List _notoFonts = [ - _notoSansSC, - _notoSansTC, - _notoSansHK, - _notoSansJP, - NotoFont('Noto Naskh Arabic UI', [ - const CodeunitRange(1536, 1791), - const CodeunitRange(8204, 8206), - const CodeunitRange(8208, 8209), - const CodeunitRange(8271, 8271), - const CodeunitRange(11841, 11841), - const CodeunitRange(64336, 65023), - const CodeunitRange(65132, 65276), - ]), - NotoFont('Noto Sans Armenian', [ - const CodeunitRange(1328, 1424), - const CodeunitRange(64275, 64279), - ]), - NotoFont('Noto Sans Bengali UI', [ - const CodeunitRange(2404, 2405), - const CodeunitRange(2433, 2555), - const CodeunitRange(8204, 8205), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Myanmar UI', [ - const CodeunitRange(4096, 4255), - const CodeunitRange(8204, 8205), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Egyptian Hieroglyphs', [ - const CodeunitRange(77824, 78894), - ]), - NotoFont('Noto Sans Ethiopic', [ - const CodeunitRange(4608, 5017), - const CodeunitRange(11648, 11742), - const CodeunitRange(43777, 43822), - ]), - NotoFont('Noto Sans Georgian', [ - const CodeunitRange(1417, 1417), - const CodeunitRange(4256, 4351), - const CodeunitRange(11520, 11567), - ]), - NotoFont('Noto Sans Gujarati UI', [ - const CodeunitRange(2404, 2405), - const CodeunitRange(2688, 2815), - const CodeunitRange(8204, 8205), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - const CodeunitRange(43056, 43065), - ]), - NotoFont('Noto Sans Gurmukhi UI', [ - const CodeunitRange(2404, 2405), - const CodeunitRange(2561, 2677), - const CodeunitRange(8204, 8205), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - const CodeunitRange(9772, 9772), - const CodeunitRange(43056, 43065), - ]), - NotoFont('Noto Sans Hebrew', [ - const CodeunitRange(1424, 1535), - const CodeunitRange(8362, 8362), - const CodeunitRange(9676, 9676), - const CodeunitRange(64285, 64335), - ]), - NotoFont('Noto Sans Devanagari UI', [ - const CodeunitRange(2304, 2431), - const CodeunitRange(7376, 7414), - const CodeunitRange(7416, 7417), - const CodeunitRange(8204, 8205), - const CodeunitRange(8360, 8360), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - const CodeunitRange(43056, 43065), - const CodeunitRange(43232, 43259), - ]), - NotoFont('Noto Sans Kannada UI', [ - const CodeunitRange(2404, 2405), - const CodeunitRange(3202, 3314), - const CodeunitRange(8204, 8205), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Khmer UI', [ - const CodeunitRange(6016, 6143), - const CodeunitRange(8204, 8204), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans KR', [ - const CodeunitRange(12593, 12686), - const CodeunitRange(12800, 12828), - const CodeunitRange(12896, 12923), - const CodeunitRange(44032, 55215), - ]), - NotoFont('Noto Sans Lao UI', [ - const CodeunitRange(3713, 3807), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Malayalam UI', [ - const CodeunitRange(775, 775), - const CodeunitRange(803, 803), - const CodeunitRange(2404, 2405), - const CodeunitRange(3330, 3455), - const CodeunitRange(8204, 8205), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Sinhala', [ - const CodeunitRange(2404, 2405), - const CodeunitRange(3458, 3572), - const CodeunitRange(8204, 8205), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Tamil UI', [ - const CodeunitRange(2404, 2405), - const CodeunitRange(2946, 3066), - const CodeunitRange(8204, 8205), - const CodeunitRange(8377, 8377), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Telugu UI', [ - const CodeunitRange(2385, 2386), - const CodeunitRange(2404, 2405), - const CodeunitRange(3072, 3199), - const CodeunitRange(7386, 7386), - const CodeunitRange(8204, 8205), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans Thai UI', [ - const CodeunitRange(3585, 3675), - const CodeunitRange(8204, 8205), - const CodeunitRange(9676, 9676), - ]), - NotoFont('Noto Sans', [ - const CodeunitRange(0, 255), - const CodeunitRange(305, 305), - const CodeunitRange(338, 339), - const CodeunitRange(699, 700), - const CodeunitRange(710, 710), - const CodeunitRange(730, 730), - const CodeunitRange(732, 732), - const CodeunitRange(8192, 8303), - const CodeunitRange(8308, 8308), - const CodeunitRange(8364, 8364), - const CodeunitRange(8482, 8482), - const CodeunitRange(8593, 8593), - const CodeunitRange(8595, 8595), - const CodeunitRange(8722, 8722), - const CodeunitRange(8725, 8725), - const CodeunitRange(65279, 65279), - const CodeunitRange(65533, 65533), - const CodeunitRange(1024, 1119), - const CodeunitRange(1168, 1169), - const CodeunitRange(1200, 1201), - const CodeunitRange(8470, 8470), - const CodeunitRange(1120, 1327), - const CodeunitRange(7296, 7304), - const CodeunitRange(8372, 8372), - const CodeunitRange(11744, 11775), - const CodeunitRange(42560, 42655), - const CodeunitRange(65070, 65071), - const CodeunitRange(880, 1023), - const CodeunitRange(7936, 8191), - const CodeunitRange(256, 591), - const CodeunitRange(601, 601), - const CodeunitRange(7680, 7935), - const CodeunitRange(8224, 8224), - const CodeunitRange(8352, 8363), - const CodeunitRange(8365, 8399), - const CodeunitRange(8467, 8467), - const CodeunitRange(11360, 11391), - const CodeunitRange(42784, 43007), - const CodeunitRange(258, 259), - const CodeunitRange(272, 273), - const CodeunitRange(296, 297), - const CodeunitRange(360, 361), - const CodeunitRange(416, 417), - const CodeunitRange(431, 432), - const CodeunitRange(7840, 7929), - const CodeunitRange(8363, 8363), - ]), -]; +NotoFont _notoSansSC = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans SC'); +NotoFont _notoSansTC = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans TC'); +NotoFont _notoSansHK = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans HK'); +NotoFont _notoSansJP = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans JP'); +List _cjkFonts = [_notoSansSC, _notoSansTC, _notoSansHK, _notoSansJP]; class FallbackFontDownloadQueue { NotoDownloader downloader = NotoDownloader(); - final Set<_ResolvedNotoSubset> downloadedSubsets = <_ResolvedNotoSubset>{}; - final Map pendingSubsets = - {}; + final Set downloadedFonts = {}; + final Map pendingFonts = {}; - bool get isPending => pendingSubsets.isNotEmpty || _fontsLoading != null; + bool get isPending => pendingFonts.isNotEmpty || _fontsLoading != null; Future? _fontsLoading; bool get debugIsLoadingFonts => _fontsLoading != null; @@ -861,9 +375,9 @@ class FallbackFontDownloadQueue { if (_fontsLoading != null) { await _fontsLoading; } - if (pendingSubsets.isNotEmpty) { + if (pendingFonts.isNotEmpty) { await Future.delayed(const Duration(milliseconds: 100)); - if (pendingSubsets.isEmpty) { + if (pendingFonts.isEmpty) { await Future.delayed(const Duration(milliseconds: 100)); } } @@ -873,13 +387,13 @@ class FallbackFontDownloadQueue { } } - void add(_ResolvedNotoSubset subset) { - if (downloadedSubsets.contains(subset) || - pendingSubsets.containsKey(subset.url)) { + void add(NotoFont font) { + if (downloadedFonts.contains(font) || + pendingFonts.containsKey(font.url)) { return; } - final bool firstInBatch = pendingSubsets.isEmpty; - pendingSubsets[subset.url] = subset; + final bool firstInBatch = pendingFonts.isEmpty; + pendingFonts[font.url] = font; if (firstInBatch) { Timer.run(startDownloads); } @@ -888,20 +402,20 @@ class FallbackFontDownloadQueue { Future startDownloads() async { final Map> downloads = >{}; final Map downloadedData = {}; - for (final _ResolvedNotoSubset subset in pendingSubsets.values) { - downloads[subset.url] = Future(() async { + for (final NotoFont font in pendingFonts.values) { + downloads[font.url] = Future(() async { ByteBuffer buffer; try { - buffer = await downloader.downloadAsBytes(subset.url, - debugDescription: subset.family); + buffer = await downloader.downloadAsBytes(font.url, + debugDescription: font.name); } catch (e) { - pendingSubsets.remove(subset.url); - printWarning('Failed to load font ${subset.family} at ${subset.url}'); + pendingFonts.remove(font.url); + printWarning('Failed to load font ${font.name} at ${font.url}'); printWarning(e.toString()); return; } - downloadedSubsets.add(subset); - downloadedData[subset.url] = buffer.asUint8List(); + downloadedFonts.add(font); + downloadedData[font.url] = buffer.asUint8List(); }); } @@ -913,10 +427,10 @@ class FallbackFontDownloadQueue { final List downloadOrder = (downloadedData.keys.toList()..sort()).reversed.toList(); for (final String url in downloadOrder) { - final _ResolvedNotoSubset subset = pendingSubsets.remove(url)!; + final NotoFont font = pendingFonts.remove(url)!; final Uint8List bytes = downloadedData[url]!; - FontFallbackData.instance.registerFallbackFont(subset.family, bytes); - if (pendingSubsets.isEmpty) { + FontFallbackData.instance.registerFallbackFont(font.name, bytes); + if (pendingFonts.isEmpty) { _fontsLoading = skiaFontCollection.ensureFontsLoaded(); try { await _fontsLoading; @@ -927,7 +441,7 @@ class FallbackFontDownloadQueue { } } - if (pendingSubsets.isNotEmpty) { + if (pendingFonts.isNotEmpty) { await startDownloads(); } } diff --git a/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart b/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart index f3fb5f7dd87ce..e924ef4b9581c 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart @@ -4,7 +4,7 @@ import 'dart:math' as math; -import 'font_fallbacks.dart' show CodeunitRange; +import 'noto_font.dart' show CodeunitRange; /// A tree which stores a set of intervals that can be queried for intersection. class IntervalTree { diff --git a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart new file mode 100644 index 0000000000000..b7434608fb12b --- /dev/null +++ b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart @@ -0,0 +1,53 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +class NotoFont { + final String name; + final String url; + final List unicodeRanges; + + const NotoFont(this.name, this.url, this.unicodeRanges); + + // Returns `true` if this font has a glyph for the given [codeunit]. + bool contains(int codeunit) { + // The list of codeunit ranges is sorted. + for (final CodeunitRange range in unicodeRanges) { + if (range.start > codeunit) { + return false; + } else { + // range.start <= codeunit + if (range.end >= codeunit) { + return true; + } + } + } + return false; + } +} + +class CodeunitRange { + final int start; + final int end; + + const CodeunitRange(this.start, this.end); + + bool contains(int codeUnit) { + return start <= codeUnit && codeUnit <= end; + } + + @override + bool operator ==(dynamic other) { + if (other is! CodeunitRange) { + return false; + } + final CodeunitRange range = other; + return range.start == start && range.end == end; + } + + @override + int get hashCode => Object.hash(start, end); + + @override + String toString() => '[$start, $end]'; +} diff --git a/lib/web_ui/test/canvaskit/canvas_golden_test.dart b/lib/web_ui/test/canvaskit/canvas_golden_test.dart index edf53feb41e2b..e8d33a1573a66 100644 --- a/lib/web_ui/test/canvaskit/canvas_golden_test.dart +++ b/lib/web_ui/test/canvaskit/canvas_golden_test.dart @@ -1331,7 +1331,7 @@ Future testTextStyle( write: write, ); expect(notoDownloadQueue.debugIsLoadingFonts, isFalse); - expect(notoDownloadQueue.pendingSubsets, isEmpty); + expect(notoDownloadQueue.pendingFonts, isEmpty); expect(notoDownloadQueue.downloader.debugActiveDownloadCount, 0); } diff --git a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index 27ea84421557f..9120cde7fc9cb 100644 --- a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -28,8 +28,19 @@ void testMain() { ui.PlatformMessageCallback? savedCallback; setUp(() { + notoDownloadQueue = FallbackFontDownloadQueue(); notoDownloadQueue.downloader = TestDownloader(); TestDownloader.mockDownloads.clear(); + final String notoSansArabicUrl = fallbackFonts + .singleWhere((NotoFont font) => font.name == 'Noto Sans Arabic') + .url; + final String notoEmojiUrl = fallbackFonts + .singleWhere((NotoFont font) => font.name == 'Noto Emoji') + .url; + TestDownloader.mockDownloads[notoSansArabicUrl] = + '/assets/fonts/NotoNaskhArabic-Regular.ttf'; + TestDownloader.mockDownloads[notoEmojiUrl] = + '/assets/fonts/NotoColorEmoji.ttf'; savedCallback = ui.window.onPlatformMessage; FontFallbackData.debugReset(); }); @@ -42,20 +53,7 @@ void testMain() { expect(FontFallbackData.instance.globalFontFallbacks, contains('Roboto')); }); - test('will download Noto Naskh Arabic if Arabic text is added', () async { - TestDownloader.mockDownloads[ - 'https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic+UI'] = - ''' -/* arabic */ -@font-face { - font-family: 'Noto Naskh Arabic UI'; - font-style: normal; - font-weight: 400; - src: url(/assets/fonts/NotoNaskhArabic-Regular.ttf) format('ttf'); - unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; -} -'''; - + test('will download Noto Sans Arabic if Arabic text is added', () async { expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); // Creating this paragraph should cause us to start to download the @@ -70,7 +68,7 @@ void testMain() { await notoDownloadQueue.debugWhenIdle(); expect(FontFallbackData.instance.globalFontFallbacks, - contains('Noto Naskh Arabic UI 0')); + contains('Noto Sans Arabic 0')); final CkPictureRecorder recorder = CkPictureRecorder(); final CkCanvas canvas = recorder.beginRecording(kDefaultRegion); @@ -97,28 +95,6 @@ void testMain() { test('will put the Noto Emoji font before other fallback fonts in the list', () async { - TestDownloader.mockDownloads[ - 'https://fonts.googleapis.com/css2?family=Noto+Color+Emoji+Compat'] = - ''' -@font-face { - font-family: 'Noto Color Emoji'; - src: url(/assets/fonts/NotoColorEmoji.ttf) format('ttf'); -} -'''; - - TestDownloader.mockDownloads[ - 'https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic+UI'] = - ''' -/* arabic */ -@font-face { - font-family: 'Noto Naskh Arabic UI'; - font-style: normal; - font-weight: 400; - src: url(/assets/fonts/NotoNaskhArabic-Regular.ttf) format('ttf'); - unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; -} -'''; - expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); // Creating this paragraph should cause us to start to download the @@ -133,7 +109,7 @@ void testMain() { await notoDownloadQueue.debugWhenIdle(); expect(FontFallbackData.instance.globalFontFallbacks, - ['Roboto', 'Noto Naskh Arabic UI 0']); + ['Roboto', 'Noto Sans Arabic 0']); pb = CkParagraphBuilder( CkParagraphStyle(), @@ -150,22 +126,13 @@ void testMain() { expect(FontFallbackData.instance.globalFontFallbacks, [ 'Roboto', - 'Noto Color Emoji Compat 0', - 'Noto Naskh Arabic UI 0', + 'Noto Emoji 0', + 'Noto Sans Arabic 0', ]); }); test('will download Noto Emojis and Noto Symbols if no matching Noto Font', () async { - TestDownloader.mockDownloads[ - 'https://fonts.googleapis.com/css2?family=Noto+Color+Emoji+Compat'] = - ''' -@font-face { - font-family: 'Noto Color Emoji'; - src: url(/assets/fonts/NotoColorEmoji.ttf) format('ttf'); -} -'''; - expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); // Creating this paragraph should cause us to start to download the @@ -180,7 +147,7 @@ void testMain() { await notoDownloadQueue.debugWhenIdle(); expect(FontFallbackData.instance.globalFontFallbacks, - contains('Noto Color Emoji Compat 0')); + contains('Noto Emoji 0')); final CkPictureRecorder recorder = CkPictureRecorder(); final CkCanvas canvas = recorder.beginRecording(kDefaultRegion); @@ -205,30 +172,6 @@ void testMain() { // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 }, skip: isSafari || isFirefox); - test('will gracefully fail if we cannot parse the Google Fonts CSS', - () async { - TestDownloader.mockDownloads[ - 'https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic+UI'] = - 'invalid CSS... this should cause our parser to fail'; - - expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); - - // Creating this paragraph should cause us to start to download the - // fallback font. - final CkParagraphBuilder pb = CkParagraphBuilder( - CkParagraphStyle(), - ); - pb.addText('مرحبا'); - - // Flush microtasks and test that we didn't start any downloads. - EnginePlatformDispatcher.instance.rasterizer! - .debugRunPostFrameCallbacks(); - await Future.delayed(Duration.zero); - - expect(notoDownloadQueue.isPending, isFalse); - expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); - }); - // Regression test for https://github.com/flutter/flutter/issues/75836 // When we had this bug our font fallback resolution logic would end up in an // infinite loop and this test would freeze and time out. @@ -243,16 +186,12 @@ void testMain() { CkParagraphBuilder(CkParagraphStyle()).addText('ヽಠ'); EnginePlatformDispatcher.instance.rasterizer! .debugRunPostFrameCallbacks(); - await notoDownloadQueue.downloader.debugWhenIdle(); + await notoDownloadQueue.debugWhenIdle(); expect( loggingDownloader.log, [ - 'https://fonts.googleapis.com/css2?family=Noto+Sans+SC', - 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP', - 'https://fonts.googleapis.com/css2?family=Noto+Sans+Kannada+UI', - 'Noto Sans SC', - 'Noto Sans JP', - 'Noto Sans Kannada UI', + 'Noto Sans TC', + 'Noto Sans Kannada', ], ); @@ -261,7 +200,7 @@ void testMain() { CkParagraphBuilder(CkParagraphStyle()).addText('ヽಠ'); EnginePlatformDispatcher.instance.rasterizer! .debugRunPostFrameCallbacks(); - await notoDownloadQueue.downloader.debugWhenIdle(); + await notoDownloadQueue.debugWhenIdle(); expect(loggingDownloader.log, isEmpty); }); @@ -278,7 +217,7 @@ void testMain() { FontFallbackData.instance.notoTree; for (final NotoFont font in notoTree.root.enumerateAllElements()) { testedFonts.add(font.name); - for (final CodeunitRange range in font.approximateUnicodeRanges) { + for (final CodeunitRange range in font.unicodeRanges) { for (int codeUnit = range.start; codeUnit < range.end; codeUnit += 1) { @@ -293,30 +232,146 @@ void testMain() { testedFonts, unorderedEquals({ 'Noto Sans', - 'Noto Sans Malayalam UI', + 'Noto Emoji', + 'Noto Sans Symbols', + 'Noto Sans Symbols 2', + 'Noto Sans Adlam', + 'Noto Sans Anatolian Hieroglyphs', + 'Noto Sans Arabic', 'Noto Sans Armenian', + 'Noto Sans Avestan', + 'Noto Sans Balinese', + 'Noto Sans Bamum', + 'Noto Sans Bassa Vah', + 'Noto Sans Batak', + 'Noto Sans Bengali', + 'Noto Sans Bhaiksuki', + 'Noto Sans Brahmi', + 'Noto Sans Buginese', + 'Noto Sans Buhid', + 'Noto Sans Canadian Aboriginal', + 'Noto Sans Carian', + 'Noto Sans Caucasian Albanian', + 'Noto Sans Chakma', + 'Noto Sans Cham', + 'Noto Sans Cherokee', + 'Noto Sans Coptic', + 'Noto Sans Cuneiform', + 'Noto Sans Cypriot', + 'Noto Sans Deseret', + 'Noto Sans Devanagari', + 'Noto Sans Duployan', + 'Noto Sans Egyptian Hieroglyphs', + 'Noto Sans Elbasan', + 'Noto Sans Elymaic', 'Noto Sans Georgian', + 'Noto Sans Glagolitic', + 'Noto Sans Gothic', + 'Noto Sans Grantha', + 'Noto Sans Gujarati', + 'Noto Sans Gunjala Gondi', + 'Noto Sans Gurmukhi', + 'Noto Sans HK', + 'Noto Sans Hanunoo', + 'Noto Sans Hatran', 'Noto Sans Hebrew', - 'Noto Naskh Arabic UI', - 'Noto Sans Devanagari UI', - 'Noto Sans Telugu UI', - 'Noto Sans Tamil UI', - 'Noto Sans Kannada UI', - 'Noto Sans Sinhala', - 'Noto Sans Gurmukhi UI', - 'Noto Sans Gujarati UI', - 'Noto Sans Bengali UI', - 'Noto Sans Thai UI', - 'Noto Sans Lao UI', - 'Noto Sans Myanmar UI', - 'Noto Sans Ethiopic', - 'Noto Sans Khmer UI', - 'Noto Sans SC', + 'Noto Sans Imperial Aramaic', + 'Noto Sans Indic Siyaq Numbers', + 'Noto Sans Inscriptional Pahlavi', + 'Noto Sans Inscriptional Parthian', 'Noto Sans JP', - 'Noto Sans TC', - 'Noto Sans HK', + 'Noto Sans Javanese', 'Noto Sans KR', - 'Noto Sans Egyptian Hieroglyphs', + 'Noto Sans Kaithi', + 'Noto Sans Kannada', + 'Noto Sans Kayah Li', + 'Noto Sans Kharoshthi', + 'Noto Sans Khmer', + 'Noto Sans Khojki', + 'Noto Sans Khudawadi', + 'Noto Sans Lao', + 'Noto Sans Lepcha', + 'Noto Sans Limbu', + 'Noto Sans Linear A', + 'Noto Sans Linear B', + 'Noto Sans Lisu', + 'Noto Sans Lycian', + 'Noto Sans Lydian', + 'Noto Sans Mahajani', + 'Noto Sans Malayalam', + 'Noto Sans Mandaic', + 'Noto Sans Manichaean', + 'Noto Sans Marchen', + 'Noto Sans Masaram Gondi', + 'Noto Sans Math', + 'Noto Sans Mayan Numerals', + 'Noto Sans Medefaidrin', + 'Noto Sans Meetei Mayek', + 'Noto Sans Meroitic', + 'Noto Sans Miao', + 'Noto Sans Modi', + 'Noto Sans Mongolian', + 'Noto Sans Mro', + 'Noto Sans Multani', + 'Noto Sans Myanmar', + 'Noto Sans N Ko', + 'Noto Sans Nabataean', + 'Noto Sans New Tai Lue', + 'Noto Sans Newa', + 'Noto Sans Nushu', + 'Noto Sans Ogham', + 'Noto Sans Ol Chiki', + 'Noto Sans Old Hungarian', + 'Noto Sans Old Italic', + 'Noto Sans Old North Arabian', + 'Noto Sans Old Permic', + 'Noto Sans Old Persian', + 'Noto Sans Old Sogdian', + 'Noto Sans Old South Arabian', + 'Noto Sans Old Turkic', + 'Noto Sans Oriya', + 'Noto Sans Osage', + 'Noto Sans Osmanya', + 'Noto Sans Pahawh Hmong', + 'Noto Sans Palmyrene', + 'Noto Sans Pau Cin Hau', + 'Noto Sans Phags Pa', + 'Noto Sans Phoenician', + 'Noto Sans Psalter Pahlavi', + 'Noto Sans Rejang', + 'Noto Sans Runic', + 'Noto Sans SC', + 'Noto Sans Saurashtra', + 'Noto Sans Sharada', + 'Noto Sans Shavian', + 'Noto Sans Siddham', + 'Noto Sans Sinhala', + 'Noto Sans Sogdian', + 'Noto Sans Sora Sompeng', + 'Noto Sans Soyombo', + 'Noto Sans Sundanese', + 'Noto Sans Syloti Nagri', + 'Noto Sans Syriac', + 'Noto Sans TC', + 'Noto Sans Tagalog', + 'Noto Sans Tagbanwa', + 'Noto Sans Tai Le', + 'Noto Sans Tai Tham', + 'Noto Sans Tai Viet', + 'Noto Sans Takri', + 'Noto Sans Tamil', + 'Noto Sans Tamil Supplement', + 'Noto Sans Telugu', + 'Noto Sans Thaana', + 'Noto Sans Thai', + 'Noto Sans Tifinagh', + 'Noto Sans Tirhuta', + 'Noto Sans Ugaritic', + 'Noto Sans Vai', + 'Noto Sans Wancho', + 'Noto Sans Warang Citi', + 'Noto Sans Yi', + 'Noto Sans Zanabazar Square', })); // Construct random paragraphs out of supported code units. @@ -361,16 +416,34 @@ void testMain() { } class TestDownloader extends NotoDownloader { + // Where to redirect downloads to. static final Map mockDownloads = {}; @override Future downloadAsString(String url, {String? debugDescription}) async { if (mockDownloads.containsKey(url)) { - return mockDownloads[url]!; + url = mockDownloads[url]!; + final Uri uri = Uri.parse(url); + expect(uri.isScheme('http'), isFalse); + expect(uri.isScheme('https'), isFalse); + return super.downloadAsString(url); } else { return ''; } } + + @override + Future downloadAsBytes(String url, {String? debugDescription}) { + if (mockDownloads.containsKey(url)) { + url = mockDownloads[url]!; + final Uri uri = Uri.parse(url); + expect(uri.isScheme('http'), isFalse); + expect(uri.isScheme('https'), isFalse); + return super.downloadAsBytes(url); + } else { + return Future.value(Uint8List(0).buffer); + } + } } class LoggingDownloader implements NotoDownloader { From dc119fecc07ca84c4f20ca382ba25f845ac6dc39 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 30 Jun 2022 10:53:24 -0700 Subject: [PATCH 06/33] Merge main --- .cirrus.yml | 54 -- BUILD.gn | 1 + DEPS | 36 +- build/archives/BUILD.gn | 24 + build/git_revision.py | 15 +- ci/licenses_golden/licenses_flutter | 17 + ci/licenses_golden/licenses_fuchsia | 2 +- ci/licenses_golden/licenses_skia | 22 +- ci/licenses_golden/licenses_third_party | 4 +- display_list/display_list_image.cc | 4 + display_list/display_list_image.h | 16 + display_list/display_list_image_filter.h | 265 +++++++-- .../display_list_image_filter_unittests.cc | 191 +++++++ flow/BUILD.gn | 9 + flow/layers/backdrop_filter_layer.cc | 48 +- flow/layers/backdrop_filter_layer.h | 7 +- .../layers/backdrop_filter_layer_unittests.cc | 72 +-- flow/layers/cacheable_layer.cc | 38 ++ flow/layers/cacheable_layer.h | 50 ++ flow/layers/clip_path_layer_unittests.cc | 25 +- flow/layers/clip_rect_layer_unittests.cc | 22 +- flow/layers/clip_rrect_layer_unittests.cc | 57 +- flow/layers/clip_shape_layer.h | 40 +- flow/layers/color_filter_layer.cc | 34 +- flow/layers/color_filter_layer.h | 10 +- flow/layers/color_filter_layer_unittests.cc | 142 +++-- flow/layers/container_layer.cc | 15 - flow/layers/container_layer.h | 19 +- flow/layers/container_layer_unittests.cc | 256 +++++++++ flow/layers/display_list_layer.cc | 43 +- flow/layers/display_list_layer.h | 14 +- flow/layers/display_list_layer_unittests.cc | 4 +- flow/layers/display_list_raster_cache_item.cc | 177 ++++++ flow/layers/display_list_raster_cache_item.h | 66 +++ flow/layers/image_filter_layer.cc | 71 +-- flow/layers/image_filter_layer.h | 22 +- flow/layers/image_filter_layer_unittests.cc | 126 +++-- flow/layers/layer.h | 93 ++-- flow/layers/layer_raster_cache_item.cc | 193 +++++++ flow/layers/layer_raster_cache_item.h | 72 +++ flow/layers/layer_tree.cc | 54 +- flow/layers/layer_tree.h | 8 + flow/layers/layer_tree_unittests.cc | 12 +- flow/layers/opacity_layer.cc | 28 +- flow/layers/opacity_layer.h | 6 +- flow/layers/opacity_layer_unittests.cc | 119 ++-- .../performance_overlay_layer_unittests.cc | 2 +- flow/layers/shader_mask_layer.cc | 30 +- flow/layers/shader_mask_layer.h | 7 +- flow/layers/shader_mask_layer_unittests.cc | 34 +- flow/raster_cache.cc | 325 +++-------- flow/raster_cache.h | 191 +++---- flow/raster_cache_item.h | 80 +++ flow/raster_cache_key.cc | 18 +- flow/raster_cache_key.h | 53 +- flow/raster_cache_unittests.cc | 412 ++++++++++---- flow/raster_cache_util.cc | 7 + flow/raster_cache_util.h | 61 ++ flow/testing/layer_test.h | 18 +- flow/testing/mock_layer.cc | 21 + flow/testing/mock_layer.h | 59 ++ flow/testing/mock_raster_cache.cc | 155 ++++-- flow/testing/mock_raster_cache.h | 62 ++- impeller/aiks/aiks_unittests.cc | 6 +- impeller/compiler/BUILD.gn | 4 + impeller/compiler/compiler_test.cc | 5 +- impeller/compiler/compiler_test.h | 4 +- impeller/compiler/compiler_unittests.cc | 6 + impeller/compiler/impellerc_main.cc | 10 +- impeller/compiler/source_options.cc | 8 +- impeller/compiler/source_options.h | 3 +- impeller/compiler/switches.cc | 25 + impeller/compiler/switches.h | 1 + .../display_list/display_list_playground.cc | 6 +- .../contents/filters/filter_contents.cc | 19 +- .../entity/contents/filters/filter_contents.h | 14 +- impeller/entity/entity_pass.cc | 14 +- impeller/entity/entity_pass.h | 4 +- impeller/entity/entity_unittests.cc | 25 + impeller/tessellator/BUILD.gn | 4 + impeller/tools/build_metal_library.py | 13 +- lib/snapshot/BUILD.gn | 4 + lib/ui/BUILD.gn | 2 + lib/ui/compositing.dart | 19 +- lib/ui/compositing/scene.cc | 19 + lib/ui/compositing/scene.h | 4 + lib/ui/compositing/scene_builder.cc | 2 +- lib/ui/painting.dart | 235 +++++--- lib/ui/painting/canvas.cc | 163 ++++-- lib/ui/painting/canvas.h | 78 +-- .../display_list_deferred_image_gpu.cc | 70 +++ .../display_list_deferred_image_gpu.h | 67 +++ lib/ui/painting/image.cc | 11 +- lib/ui/painting/image_encoding.cc | 30 +- lib/ui/painting/image_shader.cc | 32 +- lib/ui/painting/image_shader.h | 10 +- lib/ui/painting/picture.cc | 43 +- lib/ui/painting/picture.h | 9 + lib/ui/snapshot_delegate.h | 10 +- lib/web_ui/lib/canvas.dart | 6 + lib/web_ui/lib/compositing.dart | 1 + lib/web_ui/lib/initialization.dart | 12 +- .../lib/src/engine/browser_detection.dart | 2 +- .../engine/canvaskit/layer_scene_builder.dart | 6 + .../lib/src/engine/canvaskit/picture.dart | 5 + lib/web_ui/lib/src/engine/dom.dart | 50 +- lib/web_ui/lib/src/engine/embedder.dart | 4 +- .../lib/src/engine/font_change_util.dart | 7 +- lib/web_ui/lib/src/engine/html/scene.dart | 5 + lib/web_ui/lib/src/engine/initialization.dart | 7 +- lib/web_ui/lib/src/engine/picture.dart | 5 + .../lib/src/engine/pointer_binding.dart | 35 +- .../lib/src/engine/safe_browser_api.dart | 2 +- lib/web_ui/lib/src/engine/util.dart | 2 +- lib/web_ui/lib/ui.dart | 1 - .../test/canvaskit/embedded_views_test.dart | 83 ++- .../test/canvaskit/image_golden_test.dart | 3 +- lib/web_ui/test/canvaskit/picture_test.dart | 19 + lib/web_ui/test/composition_test.dart | 42 +- lib/web_ui/test/embedder_test.dart | 50 +- .../test/engine/platform_dispatcher_test.dart | 13 +- .../test/engine/pointer_binding_test.dart | 190 ++++--- lib/web_ui/test/engine/profiler_test.dart | 3 +- .../engine/semantics/accessibility_test.dart | 12 +- .../test/engine/semantics/semantics_test.dart | 98 ++-- .../engine/semantics/semantics_tester.dart | 9 +- .../engine/semantics/text_field_test.dart | 39 +- .../engine/surface/platform_view_test.dart | 5 +- lib/web_ui/test/engine/window_test.dart | 8 +- .../test/html/bitmap_canvas_golden_test.dart | 8 +- .../test/html/canvas_context_golden_test.dart | 8 +- .../compositing/compositing_golden_test.dart | 4 +- .../canvas_draw_color_golden_test.dart | 4 +- .../html/shaders/gradient_golden_test.dart | 5 +- .../html/shaders/shader_mask_golden_test.dart | 6 +- lib/web_ui/test/keyboard_test.dart | 40 +- lib/web_ui/test/path_test.dart | 5 +- .../test/text/font_collection_test.dart | 46 +- lib/web_ui/test/text/font_loading_test.dart | 17 +- lib/web_ui/test/text_editing_test.dart | 165 +++--- lib/web_ui/test/text_test.dart | 6 +- lib/web_ui/test/title_test.dart | 22 +- lib/web_ui/test/window_test.dart | 3 +- shell/common/fixtures/shell_test.dart | 23 + shell/common/rasterizer.cc | 67 ++- shell/common/rasterizer.h | 23 +- shell/common/shell_unittests.cc | 82 ++- shell/gpu/gpu_surface_metal_skia.h | 1 + shell/gpu/gpu_surface_metal_skia.mm | 44 +- shell/platform/android/BUILD.gn | 1 + .../FlutterActivityAndFragmentDelegate.java | 5 + .../embedding/android/FlutterFragment.java | 22 +- .../embedding/android/FlutterView.java | 1 - .../embedding/engine/FlutterEngine.java | 2 + .../engine/dart/PlatformTaskQueue.java | 5 +- .../engine/loader/FlutterLoader.java | 3 +- .../io/flutter/util/HandlerCompat.java | 35 ++ .../android/FlutterFragmentTest.java | 80 ++- .../embedding/engine/FlutterEngineTest.java | 57 +- .../io/flutter/util/HandlerCompatTest.java | 29 + shell/platform/embedder/BUILD.gn | 52 +- .../fuchsia/dart-pkg/zircon/sdk_ext/system.cc | 5 +- .../dart_component_controller_v2.cc | 4 + .../dart_test_component_controller_v2.cc | 4 + .../flutter/gfx_external_view_embedder.cc | 115 +--- .../flutter/gfx_external_view_embedder.h | 47 +- .../gfx_external_view_embedder_unittests.cc | 328 +++-------- shell/platform/linux/BUILD.gn | 7 + shell/platform/linux/fl_accessible_node.cc | 356 ++++++++---- shell/platform/linux/fl_accessible_node.h | 62 ++- .../linux/fl_accessible_text_field.cc | 400 +++++++++++++ .../platform/linux/fl_accessible_text_field.h | 34 ++ .../linux/fl_accessible_text_field_test.cc | 524 ++++++++++++++++++ shell/platform/linux/fl_engine.cc | 42 +- shell/platform/linux/fl_engine_private.h | 9 + shell/platform/linux/fl_gnome_settings.cc | 10 + .../platform/linux/fl_gnome_settings_test.cc | 10 + shell/platform/linux/fl_settings.cc | 8 + shell/platform/linux/fl_settings.h | 27 + shell/platform/linux/fl_settings_plugin.cc | 31 +- shell/platform/linux/fl_settings_plugin.h | 6 +- .../platform/linux/fl_settings_plugin_test.cc | 72 ++- shell/platform/linux/fl_settings_portal.cc | 47 +- .../platform/linux/fl_settings_portal_test.cc | 26 + shell/platform/linux/fl_view.cc | 2 - shell/platform/linux/fl_view_accessible.cc | 99 +++- .../platform/linux/fl_view_accessible_test.cc | 15 + shell/platform/linux/testing/mock_engine.cc | 9 + shell/platform/linux/testing/mock_settings.cc | 12 + shell/platform/linux/testing/mock_settings.h | 4 + shell/platform/windows/BUILD.gn | 2 + .../windows/keyboard_manager_win32.cc | 298 +++++----- .../platform/windows/keyboard_manager_win32.h | 65 ++- .../platform/windows/keyboard_win32_common.cc | 28 + .../platform/windows/keyboard_win32_common.h | 8 + .../keyboard_win32_common_unittests.cc | 34 ++ .../windows/keyboard_win32_unittests.cc | 111 ++-- .../windows/text_input_manager_win32.cc | 21 +- shell/platform/windows/text_input_plugin.cc | 4 +- .../windows/text_input_plugin_unittest.cc | 97 +++- .../windows/window_win32_unittests.cc | 19 +- shell/testing/BUILD.gn | 4 + shell/testing/tester_main.cc | 3 +- sky/packages/sky_engine/LICENSE | 2 + testing/dart/canvas_test.dart | 107 ++++ testing/dart/compositing_test.dart | 39 +- testing/dart/image_shader_test.dart | 18 +- testing/run_tests.py | 1 + tools/android_lint/project.xml | 1 + tools/githooks/setup.py | 15 +- tools/gn | 32 +- web_sdk/BUILD.gn | 30 +- 212 files changed, 7094 insertions(+), 2872 deletions(-) delete mode 100644 .cirrus.yml create mode 100644 flow/layers/cacheable_layer.cc create mode 100644 flow/layers/cacheable_layer.h create mode 100644 flow/layers/display_list_raster_cache_item.cc create mode 100644 flow/layers/display_list_raster_cache_item.h create mode 100644 flow/layers/layer_raster_cache_item.cc create mode 100644 flow/layers/layer_raster_cache_item.h create mode 100644 flow/raster_cache_item.h create mode 100644 flow/raster_cache_util.cc create mode 100644 flow/raster_cache_util.h create mode 100644 lib/ui/painting/display_list_deferred_image_gpu.cc create mode 100644 lib/ui/painting/display_list_deferred_image_gpu.h create mode 100644 shell/platform/android/io/flutter/util/HandlerCompat.java create mode 100644 shell/platform/android/test/io/flutter/util/HandlerCompatTest.java create mode 100644 shell/platform/linux/fl_accessible_text_field.cc create mode 100644 shell/platform/linux/fl_accessible_text_field.h create mode 100644 shell/platform/linux/fl_accessible_text_field_test.cc create mode 100644 shell/platform/windows/keyboard_win32_common.cc create mode 100644 shell/platform/windows/keyboard_win32_common_unittests.cc diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index dd72c8857f2fa..0000000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,54 +0,0 @@ -gcp_credentials: ENCRYPTED[!ebad0a1f4f7a446b77944c33651460a7ab010b4617273cb016cf354eb8fc22aa92e37a3c58bfa4a0c40a799351e027a6!] - -# Don't run on 'master' since it's a mirror of 'main'. -only_if: $CIRRUS_BRANCH != 'master' - -# LINUX -task: - gke_container: - dockerfile: "ci/docker/build/Dockerfile" - builder_image_name: docker-builder # gce vm image - builder_image_project: flutter-cirrus - cluster_name: build-32-cluster - zone: us-central1-a - namespace: default - cpu: 30 # can't use all 30-cores; system pods needs cores too - memory: 100Gb # similarly, can't use all 100Gb memory - env: - CIRRUS_DOCKER_CONTEXT: "ci/docker/build" - CIRRUS_WORKING_DIR: "/tmp/github_repo" - ENGINE_PATH: "/tmp/clean_engine" - DEPOT_TOOLS: "/tmp/depot_tools" - FLUTTER_ENGINE: "/tmp/clean_engine/src" - FRAMEWORK_PATH: "/tmp/master_framework" - PATH: "$FLUTTER_ENGINE/third_party/dart/tools/sdks/dart-sdk/bin:$DEPOT_TOOLS:$PATH" - USE_ANDROID: "False" - setup_script: | - git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git $DEPOT_TOOLS - mkdir -p $ENGINE_PATH/src - echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_android_deps" : ' $USE_ANDROID ', "download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient - cd $ENGINE_PATH/src - rm -rf flutter - rm -rf out - mv $CIRRUS_WORKING_DIR flutter - gclient sync - matrix: - - name: build_and_test_linux_unopt_debug - compile_host_script: | - cd $ENGINE_PATH/src - ./flutter/tools/gn --unoptimized --full-dart-sdk - ninja -C out/host_debug_unopt - test_host_script: | - cd $ENGINE_PATH/src - ./flutter/testing/run_tests.sh host_debug_unopt - fetch_framework_script: | - mkdir -p $FRAMEWORK_PATH - cd $FRAMEWORK_PATH - git clone https://github.com/flutter/flutter.git - analyze_framework_script: | - cd $FRAMEWORK_PATH/flutter - rm -rf bin/cache/pkg/sky_engine - mkdir -p bin/cache/pkg/ - cp -r $ENGINE_PATH/src/out/host_debug_unopt/gen/dart-pkg/sky_engine bin/cache/pkg/ - bin/flutter update-packages --local-engine=host_debug_unopt - bin/flutter analyze --flutter-repo --local-engine=host_debug_unopt diff --git a/BUILD.gn b/BUILD.gn index 914c95fe1a4c2..32421b752ed24 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -166,6 +166,7 @@ group("unittests") { "//flutter/runtime:no_dart_plugin_registrant_unittests", "//flutter/runtime:runtime_unittests", "//flutter/shell/common:shell_unittests", + "//flutter/shell/platform/embedder:embedder_a11y_unittests", "//flutter/shell/platform/embedder:embedder_proctable_unittests", "//flutter/shell/platform/embedder:embedder_unittests", "//flutter/testing:testing_unittests", diff --git a/DEPS b/DEPS index cabc31aeaef64..23a6c4430c5a9 100644 --- a/DEPS +++ b/DEPS @@ -27,7 +27,7 @@ vars = { 'skia_git': 'https://skia.googlesource.com', # OCMock is for testing only so there is no google clone 'ocmock_git': 'https://github.com/erikdoe/ocmock.git', - 'skia_revision': 'b5ea90187c0a831efc25de3ccd0079408fa291cd', + 'skia_revision': '3c4759d04cf36e4226919fee4f99708ec7150759', # WARNING: DO NOT EDIT canvaskit_cipd_instance MANUALLY # See `lib/web_ui/README.md` for how to roll CanvasKit to a new version. @@ -45,21 +45,21 @@ vars = { # Dart is: https://github.com/dart-lang/sdk/blob/main/DEPS. # You can use //tools/dart/create_updated_flutter_deps.py to produce # updated revision list of existing dependencies. - 'dart_revision': 'd3b8091c30f023aaf482a6bde81ce202085c4719', + 'dart_revision': '76f3b21e15f6b4f6099d9852994774ae48a0b33b', # WARNING: DO NOT EDIT MANUALLY # The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py 'dart_boringssl_gen_rev': 'ced85ef0a00bbca77ce5a91261a5f2ae61b1e62f', 'dart_boringssl_rev': '87f316d7748268eb56f2dc147bd593254ae93198', 'dart_browser_launcher_rev': '981ca8847dd2b0fe022f9e742045cfb8f214d35f', - 'dart_clock_rev': 'a75eb69c8e939e2e7eab70e4728da3bcf004e717', + 'dart_clock_rev': '2507a228773c5e877fc9e3330080b234aad965c0', 'dart_collection_rev': '414ffa1bc8ba18bd608bbf916d95715311d89ac1', 'dart_devtools_rev': '0aa619c42a68d6db4c94a7838121811aba8f5eb1', - 'dart_protobuf_rev': '3149f6f2d323e11dbcc983b7ac8b3b9e9d686293', + 'dart_protobuf_rev': '7ac39080eb886e6eec55983dcba76e855c038701', 'dart_pub_rev': '9bf4289d6fd5d6872a8929d6312bbd7098f3ea9c', 'dart_root_certificates_rev': '692f6d6488af68e0121317a9c2c9eb393eb0ee50', 'dart_watcher_rev': 'e00c0ea769e32821d91c0880da8eb736839a6e6d', - 'dart_webdev_rev': 'a74737fc46286b3e34475e20e6e44fc92efc8916', + 'dart_webdev_rev': 'b0a4059dcdfb3af2a011cbefc5eb21fb0cfd8032', 'dart_webkit_inspection_protocol_rev': '57522d6b29d94903b765c757079d906555d5a171', 'dart_yaml_edit_rev': '01589b3ce447b03aed991db49f1ec6445ad5476d', 'dart_zlib_rev': '27c2f474b71d0d20764f86f60ef8b00da1a16cda', @@ -111,7 +111,7 @@ allowed_hosts = [ ] deps = { - 'src': 'https://github.com/flutter/buildroot.git' + '@' + 'e27b16edf1fd54c358cc9499aa02297100375354', + 'src': 'https://github.com/flutter/buildroot.git' + '@' + '0813fd008b5c01fbd8170a68482fd19fd00768b4', # Fuchsia compatibility # @@ -212,7 +212,7 @@ deps = { Var('dart_git') + '/dart_style.git@d7b73536a8079331c888b7da539b80e6825270ea', 'src/third_party/dart/third_party/pkg/dartdoc': - Var('dart_git') + '/dartdoc.git@58348a98b992ce99b95d23131b67227bdb2b4875', + Var('dart_git') + '/dartdoc.git@d8195107d3e65e20094bb2ca0a8e8576e3a765bf', 'src/third_party/dart/third_party/pkg/ffi': Var('dart_git') + '/ffi.git@18b2b549d55009ff594600b04705ff6161681e07', @@ -224,7 +224,7 @@ deps = { Var('dart_git') + '/fixnum.git@164712f6547cdfb2709b752188186baf31fd1730', 'src/third_party/dart/third_party/pkg/glob': - Var('dart_git') + '/glob.git@e10eb2407c58427144004458ef85c9bbf7286e56', + Var('dart_git') + '/glob.git@1d51fcc172e5adfbae6e82c3f8f119774cb2fca2', 'src/third_party/dart/third_party/pkg/html': Var('dart_git') + '/html.git@8243e967caad9932c13971af3b2a7c8f028383d5', @@ -233,13 +233,13 @@ deps = { Var('dart_git') + '/http.git@0c2293062d7c1fa472f299da764a7dbb3895ee22', 'src/third_party/dart/third_party/pkg/http_multi_server': - Var('dart_git') + '/http_multi_server.git@35a3b947256768426090e3b1f5132e4fc23c175d', + Var('dart_git') + '/http_multi_server.git@20bf079c8955d1250a45afb9cb096472a724a551', 'src/third_party/dart/third_party/pkg/http_parser': Var('dart_git') + '/http_parser.git@eaa63304c333316acd114e3be7ed701d7d7ba32c', 'src/third_party/dart/third_party/pkg/json_rpc_2': - Var('dart_git') + '/json_rpc_2.git@2de9a1f9821807fa2c85fd48e2f70b9cbcddcb67', + Var('dart_git') + '/json_rpc_2.git@805e6536dd961d66f6b8cd46d8f3e61774f957c9', 'src/third_party/dart/third_party/pkg/linter': Var('dart_git') + '/linter.git@1ddc70948d94f2449fec69a95e3ceb7b6b6c8348', @@ -251,7 +251,7 @@ deps = { Var('dart_git') + '/markdown.git@e3f4bd28c9e61b522f75f291d4d6cfcfeccd83ee', 'src/third_party/dart/third_party/pkg/matcher': - Var('dart_git') + '/matcher.git@12cdc5fbafd666ed908359ae215d5d0306087969', + Var('dart_git') + '/matcher.git@1a7fcae0d7af1604781afabe61fd35d9b404d8ed', 'src/third_party/dart/third_party/pkg/mime': Var('dart_git') + '/mime.git@0a75a41445eb642674a0a271eecde78cb025ee60', @@ -269,7 +269,7 @@ deps = { Var('dart_git') + '/path.git@7a0ed40280345b1c11df4c700c71e590738f4257', 'src/third_party/dart/third_party/pkg/pool': - Var('dart_git') + '/pool.git@c40cc32eabecb9d60f1045d1403108d968805f9a', + Var('dart_git') + '/pool.git@fa84ddd0e39f45bf3f09dcc5d6b9fbdda7820fef', 'src/third_party/dart/third_party/pkg/protobuf': Var('dart_git') + '/protobuf.git' + '@' + Var('dart_protobuf_rev'), @@ -281,7 +281,7 @@ deps = { Var('dart_git') + '/pub_semver.git@5c0b4bfd5ca57fe16f1319c581dc8c882e9b8cb2', 'src/third_party/dart/third_party/pkg/shelf': - Var('dart_git') + '/shelf.git@05f42601d22c9bfe490ceda50e812f83b7d1de77', + Var('dart_git') + '/shelf.git@8f8f3703efd241f9cf6b18e36e0067ca74c47fd8', 'src/third_party/dart/third_party/pkg/source_map_stack_trace': Var('dart_git') + '/source_map_stack_trace.git@72dbf21a33293b2b8434d0a9751e36f9463981ac', @@ -305,10 +305,10 @@ deps = { Var('dart_git') + '/string_scanner.git@c637deb8d998b72a5807afbd06aba8370db725c0', 'src/third_party/dart/third_party/pkg/term_glyph': - Var('dart_git') + '/term_glyph.git@d0f205c67ea70eea47b9f41c8440129a72a9c86e', + Var('dart_git') + '/term_glyph.git@741efdedf9da62ee66a06c295d36fa28f8780e24', 'src/third_party/dart/third_party/pkg/test': - Var('dart_git') + '/test.git@90ec2561a9725d54597498d51b23f1ccf09a6db1', + Var('dart_git') + '/test.git@6d656f60f2c486efce5f4f22ff00dbb037a825f1', 'src/third_party/dart/third_party/pkg/test_reflective_loader': Var('dart_git') + '/test_reflective_loader.git@8d0de01bbe852fea1f8e33aba907abcba50a8a1e', @@ -411,7 +411,7 @@ deps = { Var('chromium_git') + '/external/github.com/libexpat/libexpat.git' + '@' + 'a28238bdeebc087071777001245df1876a11f5ee', 'src/third_party/freetype2': - Var('flutter_git') + '/third_party/freetype2' + '@' + '3234e16d2322c936f777d1ef046e689e78b6c52e', + Var('flutter_git') + '/third_party/freetype2' + '@' + '3bea2761290a1cbe7d8f75c1c5a7ad727f826a66', 'src/third_party/root_certificates': Var('dart_git') + '/root_certificates.git' + '@' + Var('dart_root_certificates_rev'), @@ -648,7 +648,7 @@ deps = { 'packages': [ { 'package': 'fuchsia/sdk/core/mac-amd64', - 'version': 'op6BqsxEf9ZV9H1fJY1O_EzuLulPPQ8wLEkuB-OQdWYC' + 'version': 'Xzjb4GlztxhSOlH349Zm0VaYaSOaqIduyrLTyrsAm_wC' } ], 'condition': 'host_os == "mac" and not download_fuchsia_sdk', @@ -658,7 +658,7 @@ deps = { 'packages': [ { 'package': 'fuchsia/sdk/core/linux-amd64', - 'version': 'aRT7s0Yct4Lq9GgwT91hdeaKh02yh-YUWqS_Vmy3kowC' + 'version': 'KfThq-hkpiyooglfYiKn_TkXL4qLreQqsxDwXagDqRcC' } ], 'condition': 'host_os == "linux" and not download_fuchsia_sdk', diff --git a/build/archives/BUILD.gn b/build/archives/BUILD.gn index f91ca65bec793..e09d101afca0b 100644 --- a/build/archives/BUILD.gn +++ b/build/archives/BUILD.gn @@ -5,6 +5,21 @@ import("//flutter/build/zip_bundle.gni") import("//flutter/common/config.gni") +generated_file("artifacts_entitlement_config") { + outputs = [ "$target_gen_dir/entitlements.txt" ] + + data_keys = [ "entitlement_file_path" ] + + deps = [ "//flutter/lib/snapshot:generate_snapshot_bin" ] + if (flutter_runtime_mode == "debug") { + deps += [ + "//flutter/impeller/compiler:impellerc", + "//flutter/impeller/tessellator:tessellator_shared", + "//flutter/shell/testing:testing", + ] + } +} + if (build_engine_artifacts) { zip_bundle("artifacts") { deps = [ @@ -69,6 +84,15 @@ if (build_engine_artifacts) { destination = "libtessellator$dll" }, ] + if (host_os == "mac") { + deps += [ ":artifacts_entitlement_config" ] + files += [ + { + source = "$target_gen_dir/entitlements.txt" + destination = "entitlements.txt" + }, + ] + } } } diff --git a/build/git_revision.py b/build/git_revision.py index d84886d8b8427..0b0653f3ad3f9 100755 --- a/build/git_revision.py +++ b/build/git_revision.py @@ -10,11 +10,7 @@ import subprocess import os import argparse - - -def is_windows(): - os_id = sys.platform - return os_id.startswith('win32') or os_id.startswith('cygwin') +from shutil import which # Natively supported since python 3.3 def get_repository_version(repository): @@ -22,9 +18,12 @@ def get_repository_version(repository): if not os.path.exists(repository): raise IOError('path does not exist') - git = 'git' - if is_windows(): - git = 'git.bat' + git_candidates = ['git', 'git.sh', 'git.bat'] + git = next(filter(which, git_candidates), None) + if git is None: + candidates = "', '".join(git_candidates) + raise IOError(f"Looks like GIT is not on the path. Tried '{candidates}'") + version = subprocess.check_output([ git, '-C', diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 2d7170138dc42..6407f1b0aa2aa 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -135,6 +135,8 @@ FILE: ../../../flutter/flow/layer_snapshot_store.h FILE: ../../../flutter/flow/layers/backdrop_filter_layer.cc FILE: ../../../flutter/flow/layers/backdrop_filter_layer.h FILE: ../../../flutter/flow/layers/backdrop_filter_layer_unittests.cc +FILE: ../../../flutter/flow/layers/cacheable_layer.cc +FILE: ../../../flutter/flow/layers/cacheable_layer.h FILE: ../../../flutter/flow/layers/checkerboard_layertree_unittests.cc FILE: ../../../flutter/flow/layers/clip_path_layer.cc FILE: ../../../flutter/flow/layers/clip_path_layer.h @@ -155,11 +157,15 @@ FILE: ../../../flutter/flow/layers/container_layer_unittests.cc FILE: ../../../flutter/flow/layers/display_list_layer.cc FILE: ../../../flutter/flow/layers/display_list_layer.h FILE: ../../../flutter/flow/layers/display_list_layer_unittests.cc +FILE: ../../../flutter/flow/layers/display_list_raster_cache_item.cc +FILE: ../../../flutter/flow/layers/display_list_raster_cache_item.h FILE: ../../../flutter/flow/layers/image_filter_layer.cc FILE: ../../../flutter/flow/layers/image_filter_layer.h FILE: ../../../flutter/flow/layers/image_filter_layer_unittests.cc FILE: ../../../flutter/flow/layers/layer.cc FILE: ../../../flutter/flow/layers/layer.h +FILE: ../../../flutter/flow/layers/layer_raster_cache_item.cc +FILE: ../../../flutter/flow/layers/layer_raster_cache_item.h FILE: ../../../flutter/flow/layers/layer_tree.cc FILE: ../../../flutter/flow/layers/layer_tree.h FILE: ../../../flutter/flow/layers/layer_tree_unittests.cc @@ -194,9 +200,12 @@ FILE: ../../../flutter/flow/paint_utils.cc FILE: ../../../flutter/flow/paint_utils.h FILE: ../../../flutter/flow/raster_cache.cc FILE: ../../../flutter/flow/raster_cache.h +FILE: ../../../flutter/flow/raster_cache_item.h FILE: ../../../flutter/flow/raster_cache_key.cc FILE: ../../../flutter/flow/raster_cache_key.h FILE: ../../../flutter/flow/raster_cache_unittests.cc +FILE: ../../../flutter/flow/raster_cache_util.cc +FILE: ../../../flutter/flow/raster_cache_util.h FILE: ../../../flutter/flow/rtree.cc FILE: ../../../flutter/flow/rtree.h FILE: ../../../flutter/flow/rtree_unittests.cc @@ -873,6 +882,8 @@ FILE: ../../../flutter/lib/ui/painting/codec.cc FILE: ../../../flutter/lib/ui/painting/codec.h FILE: ../../../flutter/lib/ui/painting/color_filter.cc FILE: ../../../flutter/lib/ui/painting/color_filter.h +FILE: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu.cc +FILE: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu.h FILE: ../../../flutter/lib/ui/painting/display_list_image_gpu.cc FILE: ../../../flutter/lib/ui/painting/display_list_image_gpu.h FILE: ../../../flutter/lib/ui/painting/engine_layer.cc @@ -1481,6 +1492,7 @@ FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/Platfor FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java +FILE: ../../../flutter/shell/platform/android/io/flutter/util/HandlerCompat.java FILE: ../../../flutter/shell/platform/android/io/flutter/util/PathUtils.java FILE: ../../../flutter/shell/platform/android/io/flutter/util/Preconditions.java FILE: ../../../flutter/shell/platform/android/io/flutter/util/Predicate.java @@ -2131,6 +2143,9 @@ FILE: ../../../flutter/shell/platform/linux/fl_accessibility_plugin.h FILE: ../../../flutter/shell/platform/linux/fl_accessible_node.cc FILE: ../../../flutter/shell/platform/linux/fl_accessible_node.h FILE: ../../../flutter/shell/platform/linux/fl_accessible_node_test.cc +FILE: ../../../flutter/shell/platform/linux/fl_accessible_text_field.cc +FILE: ../../../flutter/shell/platform/linux/fl_accessible_text_field.h +FILE: ../../../flutter/shell/platform/linux/fl_accessible_text_field_test.cc FILE: ../../../flutter/shell/platform/linux/fl_backing_store_provider.cc FILE: ../../../flutter/shell/platform/linux/fl_backing_store_provider.h FILE: ../../../flutter/shell/platform/linux/fl_basic_message_channel.cc @@ -2333,7 +2348,9 @@ FILE: ../../../flutter/shell/platform/windows/keyboard_key_handler.h FILE: ../../../flutter/shell/platform/windows/keyboard_key_handler_unittests.cc FILE: ../../../flutter/shell/platform/windows/keyboard_manager_win32.cc FILE: ../../../flutter/shell/platform/windows/keyboard_manager_win32.h +FILE: ../../../flutter/shell/platform/windows/keyboard_win32_common.cc FILE: ../../../flutter/shell/platform/windows/keyboard_win32_common.h +FILE: ../../../flutter/shell/platform/windows/keyboard_win32_common_unittests.cc FILE: ../../../flutter/shell/platform/windows/keyboard_win32_unittests.cc FILE: ../../../flutter/shell/platform/windows/platform_handler.cc FILE: ../../../flutter/shell/platform/windows/platform_handler.h diff --git a/ci/licenses_golden/licenses_fuchsia b/ci/licenses_golden/licenses_fuchsia index 74051ec51ed0b..6b0973e311be2 100644 --- a/ci/licenses_golden/licenses_fuchsia +++ b/ci/licenses_golden/licenses_fuchsia @@ -1,4 +1,4 @@ -Signature: f2795d04df7d2bf137a1e99e569acc25 +Signature: 0b0de22c2478d07c8aa67a3018058454 UNUSED LICENSES: diff --git a/ci/licenses_golden/licenses_skia b/ci/licenses_golden/licenses_skia index 5594dc730f703..cdeabcb393049 100644 --- a/ci/licenses_golden/licenses_skia +++ b/ci/licenses_golden/licenses_skia @@ -1,4 +1,4 @@ -Signature: f9a825cb11bd6aea9d20ebafaae2f151 +Signature: 261182757d951c95ffb2754f5ab339e4 UNUSED LICENSES: @@ -529,11 +529,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==================================================================================================== LIBRARY: skcms +LIBRARY: skia LIBRARY: vulkan ORIGIN: ../../../third_party/skia/include/third_party/skcms/LICENSE TYPE: LicenseType.bsd FILE: ../../../third_party/skia/include/third_party/skcms/BUILD.bazel FILE: ../../../third_party/skia/include/third_party/vulkan/BUILD.bazel +FILE: ../../../third_party/skia/modules/skcms/BUILD.bazel +FILE: ../../../third_party/skia/modules/skcms/version.sha1 FILE: ../../../third_party/skia/third_party/skcms/BUILD.bazel FILE: ../../../third_party/skia/third_party/skcms/version.sha1 ---------------------------------------------------------------------------------------------------- @@ -568,10 +571,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==================================================================================================== LIBRARY: skcms +LIBRARY: skia LIBRARY: vulkanmemoryallocator ORIGIN: ../../../third_party/skia/include/third_party/skcms/skcms.h + ../../../third_party/skia/include/third_party/skcms/LICENSE TYPE: LicenseType.bsd FILE: ../../../third_party/skia/include/third_party/skcms/skcms.h +FILE: ../../../third_party/skia/modules/skcms/skcms.cc +FILE: ../../../third_party/skia/modules/skcms/skcms.h +FILE: ../../../third_party/skia/modules/skcms/skcms_internal.h +FILE: ../../../third_party/skia/modules/skcms/src/Transform_inl.h FILE: ../../../third_party/skia/third_party/skcms/skcms.cc FILE: ../../../third_party/skia/third_party/skcms/skcms_internal.h FILE: ../../../third_party/skia/third_party/skcms/src/Transform_inl.h @@ -920,6 +928,7 @@ FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.ex FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-arm64-Debug-Android_Vulkan.json FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-arm64-Debug-Graphite.json FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-arm64-Debug-Graphite_NoGpu.json +FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-arm64-Debug-Graphite_NoPrecompile.json FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-arm64-Debug-iOS.json FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-arm64-Release-Graphite.json FILE: ../../../third_party/skia/infra/bots/recipe_modules/build/examples/full.expected/Build-Mac-Clang-x86_64-Debug-ASAN.json @@ -1341,6 +1350,7 @@ FILE: ../../../third_party/skia/src/sksl/sksl_rt_shader.sksl FILE: ../../../third_party/skia/src/sksl/sksl_vert.sksl FILE: ../../../third_party/skia/src/sksl/tracing/BUILD.bazel FILE: ../../../third_party/skia/src/sksl/transform/BUILD.bazel +FILE: ../../../third_party/skia/src/svg/BUILD.bazel FILE: ../../../third_party/skia/src/text/BUILD.bazel FILE: ../../../third_party/skia/src/text/gpu/BUILD.bazel FILE: ../../../third_party/skia/src/utils/BUILD.bazel @@ -5545,6 +5555,8 @@ FILE: ../../../third_party/skia/src/core/SkBuiltInCodeSnippetID.h FILE: ../../../third_party/skia/src/core/SkCapabilities.cpp FILE: ../../../third_party/skia/src/core/SkCombinationBuilder.cpp FILE: ../../../third_party/skia/src/core/SkDebugUtils.h +FILE: ../../../third_party/skia/src/core/SkFactoryFunctions.cpp +FILE: ../../../third_party/skia/src/core/SkFactoryFunctions.h FILE: ../../../third_party/skia/src/core/SkKeyContext.cpp FILE: ../../../third_party/skia/src/core/SkKeyContext.h FILE: ../../../third_party/skia/src/core/SkKeyHelpers.cpp @@ -5553,6 +5565,7 @@ FILE: ../../../third_party/skia/src/core/SkPaintParamsKey.cpp FILE: ../../../third_party/skia/src/core/SkPaintParamsKey.h FILE: ../../../third_party/skia/src/core/SkPipelineData.cpp FILE: ../../../third_party/skia/src/core/SkPipelineData.h +FILE: ../../../third_party/skia/src/core/SkPrecompile.h FILE: ../../../third_party/skia/src/core/SkSLTypeShared.h FILE: ../../../third_party/skia/src/core/SkShaderCodeDictionary.cpp FILE: ../../../third_party/skia/src/core/SkShaderCodeDictionary.h @@ -5565,6 +5578,7 @@ FILE: ../../../third_party/skia/src/gpu/ganesh/tessellate/PathTessellator.h FILE: ../../../third_party/skia/src/gpu/ganesh/tessellate/StrokeTessellator.cpp FILE: ../../../third_party/skia/src/gpu/ganesh/tessellate/StrokeTessellator.h FILE: ../../../third_party/skia/src/gpu/ganesh/tessellate/VertexChunkPatchAllocator.h +FILE: ../../../third_party/skia/src/gpu/graphite/AttachmentTypes.h FILE: ../../../third_party/skia/src/gpu/graphite/ClipStack.cpp FILE: ../../../third_party/skia/src/gpu/graphite/ClipStack_graphite.h FILE: ../../../third_party/skia/src/gpu/graphite/CommandTypes.h @@ -5579,8 +5593,11 @@ FILE: ../../../third_party/skia/src/gpu/graphite/GraphiteResourceKey.h FILE: ../../../third_party/skia/src/gpu/graphite/Log.h FILE: ../../../third_party/skia/src/gpu/graphite/PaintParams.cpp FILE: ../../../third_party/skia/src/gpu/graphite/PaintParams.h +FILE: ../../../third_party/skia/src/gpu/graphite/QueueManager.cpp +FILE: ../../../third_party/skia/src/gpu/graphite/QueueManager.h FILE: ../../../third_party/skia/src/gpu/graphite/RecorderPriv.cpp FILE: ../../../third_party/skia/src/gpu/graphite/RecorderPriv.h +FILE: ../../../third_party/skia/src/gpu/graphite/RecordingPriv.h FILE: ../../../third_party/skia/src/gpu/graphite/Resource.cpp FILE: ../../../third_party/skia/src/gpu/graphite/Resource.h FILE: ../../../third_party/skia/src/gpu/graphite/ResourceCache.cpp @@ -5595,6 +5612,9 @@ FILE: ../../../third_party/skia/src/gpu/graphite/UploadBufferManager.h FILE: ../../../third_party/skia/src/gpu/graphite/UploadTask.cpp FILE: ../../../third_party/skia/src/gpu/graphite/UploadTask.h FILE: ../../../third_party/skia/src/gpu/graphite/geom/Geometry.h +FILE: ../../../third_party/skia/src/gpu/graphite/geom/SubRunData.h +FILE: ../../../third_party/skia/src/gpu/graphite/mtl/MtlQueueManager.h +FILE: ../../../third_party/skia/src/gpu/graphite/mtl/MtlQueueManager.mm FILE: ../../../third_party/skia/src/gpu/graphite/mtl/MtlSampler.h FILE: ../../../third_party/skia/src/gpu/graphite/mtl/MtlSampler.mm FILE: ../../../third_party/skia/src/gpu/graphite/render/CoverBoundsRenderStep.cpp diff --git a/ci/licenses_golden/licenses_third_party b/ci/licenses_golden/licenses_third_party index fa729f57f2055..176f70b04ceab 100644 --- a/ci/licenses_golden/licenses_third_party +++ b/ci/licenses_golden/licenses_third_party @@ -1,4 +1,4 @@ -Signature: f26791c387acff0413d2e29dc9b253d7 +Signature: 4192c70ff7abf2bb32501a76ca4bc85d UNUSED LICENSES: @@ -11560,7 +11560,6 @@ FILE: ../../../third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/js_patch. FILE: ../../../third_party/dart/sdk/lib/_internal/js_runtime/lib/js_patch.dart FILE: ../../../third_party/dart/sdk/lib/_internal/vm/lib/ffi_struct_patch.dart FILE: ../../../third_party/dart/sdk/lib/internal/lowering.dart -FILE: ../../../third_party/dart/sdk/lib/io/network_policy.dart ---------------------------------------------------------------------------------------------------- Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file for details. All rights reserved. @@ -14928,6 +14927,7 @@ FILE: ../../../third_party/freetype2/.gitlab-ci.yml FILE: ../../../third_party/freetype2/.gitmodules FILE: ../../../third_party/freetype2/devel/ft2build.h FILE: ../../../third_party/freetype2/devel/ftoption.h +FILE: ../../../third_party/freetype2/include/freetype-flutter-config/freetype/config/public-macros.h FILE: ../../../third_party/freetype2/include/freetype-flutter-config/ftmodule.h FILE: ../../../third_party/freetype2/include/freetype-flutter-config/ftoption.h FILE: ../../../third_party/freetype2/include/freetype/config/ftconfig.h diff --git a/display_list/display_list_image.cc b/display_list/display_list_image.cc index 1b40c14cfe2a3..7196a4e47cad1 100644 --- a/display_list/display_list_image.cc +++ b/display_list/display_list_image.cc @@ -32,4 +32,8 @@ SkIRect DlImage::bounds() const { return SkIRect::MakeSize(dimensions()); } +std::optional DlImage::get_error() const { + return std::nullopt; +} + } // namespace flutter diff --git a/display_list/display_list_image.h b/display_list/display_list_image.h index ff2aad1adb88d..fafb1504f465b 100644 --- a/display_list/display_list_image.h +++ b/display_list/display_list_image.h @@ -6,6 +6,8 @@ #define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_H_ #include +#include +#include #include "flutter/fml/macros.h" #include "include/core/SkRefCnt.h" @@ -27,6 +29,9 @@ namespace flutter { /// class DlImage : public SkRefCnt { public: + // Describes which GPU context owns this image. + enum class OwningContext { kRaster, kIO }; + static sk_sp Make(const SkImage* image); static sk_sp Make(sk_sp image); @@ -81,6 +86,17 @@ class DlImage : public SkRefCnt { /// SkIRect bounds() const; + //---------------------------------------------------------------------------- + /// @return Specifies which context was used to create this image. The + /// image must be collected on the same task runner as its + /// context. + virtual OwningContext owning_context() const { return OwningContext::kIO; } + + //---------------------------------------------------------------------------- + /// @return An error, if any, that occurred when trying to create the + /// image. + virtual std::optional get_error() const; + protected: DlImage(); }; diff --git a/display_list/display_list_image_filter.h b/display_list/display_list_image_filter.h index 2cea000706662..ea98b494508c7 100644 --- a/display_list/display_list_image_filter.h +++ b/display_list/display_list_image_filter.h @@ -102,9 +102,10 @@ class DlImageFilter // based on the supplied input bounds where both are measured in the local // (untransformed) coordinate space. // - // The output bounds parameter must be supplied and the method will either - // return a pointer to it with the result filled in, or it will return a - // nullptr if it cannot determine the results. + // The method will return a pointer to the output_bounds parameter if it + // can successfully compute the output bounds of the filter, otherwise the + // method will return a nullptr and the output_bounds will be filled with + // a best guess for the answer, even if just a copy of the input_bounds. virtual SkRect* map_local_bounds(const SkRect& input_bounds, SkRect& output_bounds) const = 0; @@ -115,12 +116,108 @@ class DlImageFilter // is used in a rendering operation (for example, the blur radius of a // Blur filter will expand based on the ctm). // - // The output bounds parameter must be supplied and the method will either - // return a pointer to it with the result filled in, or it will return a - // nullptr if it cannot determine the results. + // The method will return a pointer to the output_bounds parameter if it + // can successfully compute the output bounds of the filter, otherwise the + // method will return a nullptr and the output_bounds will be filled with + // a best guess for the answer, even if just a copy of the input_bounds. virtual SkIRect* map_device_bounds(const SkIRect& input_bounds, const SkMatrix& ctm, SkIRect& output_bounds) const = 0; + + // Return the input bounds that will be needed in order for the filter to + // properly fill the indicated output_bounds under the specified + // transformation matrix. Both output_bounds and input_bounds are taken to + // be relative to the transformed coordinate space of the provided |ctm|. + // + // The method will return a pointer to the input_bounds parameter if it + // can successfully compute the required input bounds, otherwise the + // method will return a nullptr and the input_bounds will be filled with + // a best guess for the answer, even if just a copy of the output_bounds. + virtual SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const = 0; + + protected: + static SkVector map_vectors_affine(const SkMatrix& ctm, + SkScalar x, + SkScalar y) { + FML_DCHECK(SkScalarIsFinite(x) && x >= 0); + FML_DCHECK(SkScalarIsFinite(y) && y >= 0); + FML_DCHECK(ctm.isFinite() && !ctm.hasPerspective()); + + // The x and y scalars would have been used to expand a local space + // rectangle which is then transformed by ctm. In order to do the + // expansion correctly, we should look at the relevant math. The + // 4 corners will be moved outward by the following vectors: + // (UL,UR,LR,LL) = ((-x, -y), (+x, -y), (+x, +y), (-x, +y)) + // After applying the transform, each of these vectors could be + // pointing in any direction so we need to examine each transformed + // delta vector and how it affected the bounds. + // Looking at just the affine 2x3 entries of the CTM we can delta + // transform these corner offsets and get the following: + // UL = dCTM(-x, -y) = (- x*m00 - y*m01, - x*m10 - y*m11) + // UR = dCTM(+x, -y) = ( x*m00 - y*m01, x*m10 - y*m11) + // LR = dCTM(+x, +y) = ( x*m00 + y*m01, x*m10 + y*m11) + // LL = dCTM(-x, +y) = (- x*m00 + y*m01, - x*m10 + y*m11) + // The X vectors are all some variation of adding or subtracting + // the sum of x*m00 and y*m01 or their difference. Similarly the Y + // vectors are +/- the associated sum/difference of x*m10 and y*m11. + // The largest displacements, both left/right or up/down, will + // happen when the signs of the m00/m01/m10/m11 matrix entries + // coincide with the signs of the scalars, i.e. are all positive. + return {x * abs(ctm[0]) + y * abs(ctm[1]), + x * abs(ctm[3]) + y * abs(ctm[4])}; + } + + static SkIRect* inset_device_bounds(const SkIRect& input_bounds, + SkScalar radius_x, + SkScalar radius_y, + const SkMatrix& ctm, + SkIRect& output_bounds) { + if (ctm.isFinite()) { + if (ctm.hasPerspective()) { + SkMatrix inverse; + if (ctm.invert(&inverse)) { + SkRect local_bounds = inverse.mapRect(SkRect::Make(input_bounds)); + local_bounds.inset(radius_x, radius_y); + output_bounds = ctm.mapRect(local_bounds).roundOut(); + return &output_bounds; + } + } else { + SkVector device_radius = map_vectors_affine(ctm, radius_x, radius_y); + output_bounds = input_bounds.makeInset(floor(device_radius.fX), // + floor(device_radius.fY)); + return &output_bounds; + } + } + output_bounds = input_bounds; + return nullptr; + } + + static SkIRect* outset_device_bounds(const SkIRect& input_bounds, + SkScalar radius_x, + SkScalar radius_y, + const SkMatrix& ctm, + SkIRect& output_bounds) { + if (ctm.isFinite()) { + if (ctm.hasPerspective()) { + SkMatrix inverse; + if (ctm.invert(&inverse)) { + SkRect local_bounds = inverse.mapRect(SkRect::Make(input_bounds)); + local_bounds.outset(radius_x, radius_y); + output_bounds = ctm.mapRect(local_bounds).roundOut(); + return &output_bounds; + } + } else { + SkVector device_radius = map_vectors_affine(ctm, radius_x, radius_y); + output_bounds = input_bounds.makeOutset(ceil(device_radius.fX), // + ceil(device_radius.fY)); + return &output_bounds; + } + } + output_bounds = input_bounds; + return nullptr; + } }; class DlBlurImageFilter final : public DlImageFilter { @@ -154,16 +251,15 @@ class DlBlurImageFilter final : public DlImageFilter { SkIRect* map_device_bounds(const SkIRect& input_bounds, const SkMatrix& ctm, SkIRect& output_bounds) const override { - SkVector device_sigma = ctm.mapVector(sigma_x_ * 3, sigma_y_ * 3); - if (!SkScalarIsFinite(device_sigma.fX)) { - device_sigma.fX = 0; - } - if (!SkScalarIsFinite(device_sigma.fY)) { - device_sigma.fY = 0; - } - output_bounds = input_bounds.makeOutset(ceil(abs(device_sigma.fX)), - ceil(abs(device_sigma.fY))); - return &output_bounds; + return outset_device_bounds(input_bounds, sigma_x_ * 3.0, sigma_y_ * 3.0, + ctm, output_bounds); + } + + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + // Blurs are symmetric in terms of output-for-input and input-for-output + return map_device_bounds(output_bounds, ctm, input_bounds); } SkScalar sigma_x() const { return sigma_x_; } @@ -217,16 +313,15 @@ class DlDilateImageFilter final : public DlImageFilter { SkIRect* map_device_bounds(const SkIRect& input_bounds, const SkMatrix& ctm, SkIRect& output_bounds) const override { - SkVector device_radius = ctm.mapVector(radius_x_, radius_y_); - if (!SkScalarIsFinite(device_radius.fX)) { - device_radius.fX = 0; - } - if (!SkScalarIsFinite(device_radius.fY)) { - device_radius.fY = 0; - } - output_bounds = input_bounds.makeOutset(ceil(abs(device_radius.fX)), - ceil(abs(device_radius.fY))); - return &output_bounds; + return outset_device_bounds(input_bounds, radius_x_, radius_y_, ctm, + output_bounds); + } + + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + return inset_device_bounds(output_bounds, radius_x_, radius_y_, ctm, + input_bounds); } SkScalar radius_x() const { return radius_x_; } @@ -270,23 +365,22 @@ class DlErodeImageFilter final : public DlImageFilter { SkRect* map_local_bounds(const SkRect& input_bounds, SkRect& output_bounds) const override { - output_bounds = input_bounds.makeOutset(radius_x_, radius_y_); + output_bounds = input_bounds.makeInset(radius_x_, radius_y_); return &output_bounds; } SkIRect* map_device_bounds(const SkIRect& input_bounds, const SkMatrix& ctm, SkIRect& output_bounds) const override { - SkVector device_radius = ctm.mapVector(radius_x_, radius_y_); - if (!SkScalarIsFinite(device_radius.fX)) { - device_radius.fX = 0; - } - if (!SkScalarIsFinite(device_radius.fY)) { - device_radius.fY = 0; - } - output_bounds = input_bounds.makeOutset(ceil(abs(device_radius.fX)), - ceil(abs(device_radius.fY))); - return &output_bounds; + return inset_device_bounds(input_bounds, radius_x_, radius_y_, ctm, + output_bounds); + } + + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + return outset_device_bounds(output_bounds, radius_x_, radius_y_, ctm, + input_bounds); } SkScalar radius_x() const { return radius_x_; } @@ -353,6 +447,23 @@ class DlMatrixImageFilter final : public DlImageFilter { return &output_bounds; } + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + SkMatrix matrix = SkMatrix::Concat(ctm, matrix_); + SkMatrix inverse; + if (!matrix.invert(&inverse)) { + input_bounds = output_bounds; + return nullptr; + } + inverse.postConcat(ctm); + SkRect bounds; + bounds.set(output_bounds); + inverse.mapRect(&bounds); + input_bounds = bounds.roundOut(); + return &input_bounds; + } + sk_sp skia_object() const override { return SkImageFilters::MatrixTransform(matrix_, ToSk(sampling_), nullptr); } @@ -409,41 +520,61 @@ class DlComposeImageFilter final : public DlImageFilter { SkRect* map_local_bounds(const SkRect& input_bounds, SkRect& output_bounds) const override { - SkRect* ret = &output_bounds; + SkRect cur_bounds = input_bounds; + // We set this result in case neither filter is present. + output_bounds = input_bounds; if (inner_) { - if (!inner_->map_local_bounds(input_bounds, output_bounds)) { - ret = nullptr; + if (!inner_->map_local_bounds(cur_bounds, output_bounds)) { + return nullptr; } + cur_bounds = output_bounds; } - if (ret && outer_) { - if (!outer_->map_local_bounds(input_bounds, output_bounds)) { - ret = nullptr; + if (outer_) { + if (!outer_->map_local_bounds(cur_bounds, output_bounds)) { + return nullptr; } } - if (!ret) { - output_bounds = input_bounds; - } - return ret; + return &output_bounds; } SkIRect* map_device_bounds(const SkIRect& input_bounds, const SkMatrix& ctm, SkIRect& output_bounds) const override { - SkIRect* ret = &output_bounds; + SkIRect cur_bounds = input_bounds; + // We set this result in case neither filter is present. + output_bounds = input_bounds; if (inner_) { - if (!inner_->map_device_bounds(input_bounds, ctm, output_bounds)) { - ret = nullptr; + if (!inner_->map_device_bounds(cur_bounds, ctm, output_bounds)) { + return nullptr; } + cur_bounds = output_bounds; } - if (ret && outer_) { - if (!outer_->map_device_bounds(input_bounds, ctm, output_bounds)) { - ret = nullptr; + if (outer_) { + if (!outer_->map_device_bounds(cur_bounds, ctm, output_bounds)) { + return nullptr; } } - if (!ret) { - output_bounds = input_bounds; + return &output_bounds; + } + + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + SkIRect cur_bounds = output_bounds; + // We set this result in case neither filter is present. + input_bounds = output_bounds; + if (outer_) { + if (!outer_->get_input_device_bounds(cur_bounds, ctm, input_bounds)) { + return nullptr; + } + cur_bounds = output_bounds; } - return ret; + if (inner_) { + if (!inner_->get_input_device_bounds(cur_bounds, ctm, input_bounds)) { + return nullptr; + } + } + return &input_bounds; } sk_sp skia_object() const override { @@ -513,6 +644,12 @@ class DlColorFilterImageFilter final : public DlImageFilter { return modifies_transparent_black() ? nullptr : &output_bounds; } + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + return map_device_bounds(output_bounds, ctm, input_bounds); + } + sk_sp skia_object() const override { return SkImageFilters::ColorFilter(color_filter_->skia_object(), nullptr); } @@ -564,8 +701,8 @@ class DlUnknownImageFilter final : public DlImageFilter { SkRect* map_local_bounds(const SkRect& input_bounds, SkRect& output_bounds) const override { - output_bounds = input_bounds; if (modifies_transparent_black()) { + output_bounds = input_bounds; return nullptr; } output_bounds = sk_filter_->computeFastBounds(input_bounds); @@ -575,8 +712,8 @@ class DlUnknownImageFilter final : public DlImageFilter { SkIRect* map_device_bounds(const SkIRect& input_bounds, const SkMatrix& ctm, SkIRect& output_bounds) const override { - output_bounds = input_bounds; if (modifies_transparent_black()) { + output_bounds = input_bounds; return nullptr; } output_bounds = sk_filter_->filterBounds( @@ -584,6 +721,18 @@ class DlUnknownImageFilter final : public DlImageFilter { return &output_bounds; } + SkIRect* get_input_device_bounds(const SkIRect& output_bounds, + const SkMatrix& ctm, + SkIRect& input_bounds) const override { + if (modifies_transparent_black()) { + input_bounds = output_bounds; + return nullptr; + } + input_bounds = sk_filter_->filterBounds( + output_bounds, ctm, SkImageFilter::kReverse_MapDirection); + return &input_bounds; + } + sk_sp skia_object() const override { return sk_filter_; } virtual ~DlUnknownImageFilter() = default; diff --git a/display_list/display_list_image_filter_unittests.cc b/display_list/display_list_image_filter_unittests.cc index 729de1f242b62..2dc6ea51ff1a9 100644 --- a/display_list/display_list_image_filter_unittests.cc +++ b/display_list/display_list_image_filter_unittests.cc @@ -142,6 +142,135 @@ TEST(DisplayListImageFilter, FromSkiaColorFilterImageFilter) { ASSERT_NE(filter->asColorFilter(), nullptr); } +// SkRect::contains treats the rect as a half-open interval which is +// appropriate for so many operations. Unfortunately, we are using +// it here to test containment of the corners of a transformed quad +// so the corners of the quad that are measured against the right +// and bottom edges are contained even if they are on the right or +// bottom edge. This method does the "all sides inclusive" version +// of SkRect::contains. +static bool containsInclusive(const SkRect rect, const SkPoint p) { + // Test with a slight offset of 1E-9 to "forgive" IEEE bit-rounding + // Ending up with bounds that are off by 1E-9 (these numbers are all + // being tested in device space with this method) will be off by a + // negligible amount of a pixel that wouldn't contribute to changing + // the color of a pixel. + return (p.fX >= rect.fLeft - 1E-9 && // + p.fX <= rect.fRight + 1E-9 && // + p.fY >= rect.fTop - 1E-9 && // + p.fY <= rect.fBottom + 1E-9); +} + +static bool containsInclusive(const SkRect rect, const SkPoint quad[4]) { + return (containsInclusive(rect, quad[0]) && // + containsInclusive(rect, quad[1]) && // + containsInclusive(rect, quad[2]) && // + containsInclusive(rect, quad[3])); +} + +static bool containsInclusive(const SkIRect rect, const SkPoint quad[4]) { + return containsInclusive(SkRect::Make(rect), quad); +} + +static bool containsInclusive(const SkIRect rect, const SkRect bounds) { + return (bounds.fLeft >= rect.fLeft - 1E-9 && + bounds.fTop >= rect.fTop - 1E-9 && + bounds.fRight <= rect.fRight + 1E-9 && + bounds.fBottom <= rect.fBottom + 1E-9); +} + +// Used to verify that the expected output bounds and revers engineered +// "input bounds for output bounds" rectangles are included in the rectangle +// returned from the various bounds computation methods under the specified +// matrix. +static void TestBoundsWithMatrix(const DlImageFilter& filter, + const SkMatrix& matrix, + const SkRect& sourceBounds, + const SkPoint expectedLocalOutputQuad[4]) { + SkRect deviceInputBounds = matrix.mapRect(sourceBounds); + SkPoint expectedDeviceOutputQuad[4]; + matrix.mapPoints(expectedDeviceOutputQuad, expectedLocalOutputQuad, 4); + + SkIRect deviceFilterIBounds; + ASSERT_EQ(filter.map_device_bounds(deviceInputBounds.roundOut(), matrix, + deviceFilterIBounds), + &deviceFilterIBounds); + ASSERT_TRUE(containsInclusive(deviceFilterIBounds, expectedDeviceOutputQuad)); + + SkIRect reverseInputIBounds; + ASSERT_EQ(filter.get_input_device_bounds(deviceFilterIBounds, matrix, + reverseInputIBounds), + &reverseInputIBounds); + ASSERT_TRUE(containsInclusive(reverseInputIBounds, deviceInputBounds)); +} + +static void TestInvalidBounds(const DlImageFilter& filter, + const SkMatrix& matrix, + const SkRect& localInputBounds) { + SkIRect deviceInputBounds = matrix.mapRect(localInputBounds).roundOut(); + + SkRect localFilterBounds; + ASSERT_EQ(filter.map_local_bounds(localInputBounds, localFilterBounds), + nullptr); + ASSERT_EQ(localFilterBounds, localInputBounds); + + SkIRect deviceFilterIBounds; + ASSERT_EQ( + filter.map_device_bounds(deviceInputBounds, matrix, deviceFilterIBounds), + nullptr); + ASSERT_EQ(deviceFilterIBounds, deviceInputBounds); + + SkIRect reverseInputIBounds; + ASSERT_EQ(filter.get_input_device_bounds(deviceInputBounds, matrix, + reverseInputIBounds), + nullptr); + ASSERT_EQ(reverseInputIBounds, deviceInputBounds); +} + +// localInputBounds is a sample bounds for testing as input to the filter. +// localExpectOutputBounds is the theoretical output bounds for applying +// the filter to the localInputBounds. +// localExpectInputBounds is the theoretical input bounds required for the +// filter to cover the localExpectOutputBounds +// If either of the expected bounds are nullptr then the bounds methods will +// be assumed to be unable to perform their computations for the given +// image filter and will be returning null. +static void TestBounds(const DlImageFilter& filter, + const SkRect& sourceBounds, + const SkPoint expectedLocalOutputQuad[4]) { + SkRect localFilterBounds; + ASSERT_EQ(filter.map_local_bounds(sourceBounds, localFilterBounds), + &localFilterBounds); + ASSERT_TRUE(containsInclusive(localFilterBounds, expectedLocalOutputQuad)); + + for (int scale = 1; scale <= 4; scale++) { + for (int skew = 0; skew < 8; skew++) { + for (int degrees = 0; degrees <= 360; degrees += 15) { + SkMatrix matrix; + matrix.setScale(scale, scale); + matrix.postSkew(skew / 8.0, skew / 8.0); + matrix.postRotate(degrees); + ASSERT_TRUE(matrix.invert(nullptr)); + TestBoundsWithMatrix(filter, matrix, sourceBounds, + expectedLocalOutputQuad); + matrix.setPerspX(0.01); + matrix.setPerspY(0.01); + ASSERT_TRUE(matrix.invert(nullptr)); + TestBoundsWithMatrix(filter, matrix, sourceBounds, + expectedLocalOutputQuad); + } + } + } +} + +static void TestBounds(const DlImageFilter& filter, + const SkRect& sourceBounds, + const SkRect& expectedLocalOutputBounds) { + SkPoint expectedLocalOutputQuad[4]; + expectedLocalOutputBounds.toQuad(expectedLocalOutputQuad); + TestBounds(filter, sourceBounds, expectedLocalOutputQuad); +} + TEST(DisplayListImageFilter, BlurConstructor) { DlBlurImageFilter filter(5.0, 6.0, DlTileMode::kMirror); } @@ -186,6 +315,14 @@ TEST(DisplayListImageFilter, BlurNotEquals) { TestNotEquals(filter1, filter4, "Tile Mode differs"); } +TEST(DisplayListImageFilter, BlurBounds) { + DlBlurImageFilter filter = DlBlurImageFilter(5, 10, DlTileMode::kDecal); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + SkRect expectOutputBounds = inputBounds.makeOutset(15, 30); + // SkRect expectInputBounds = expectOutputBounds.makeOutset(15, 30); + TestBounds(filter, inputBounds, expectOutputBounds); +} + TEST(DisplayListImageFilter, DilateConstructor) { DlDilateImageFilter filter(5.0, 6.0); } @@ -227,6 +364,13 @@ TEST(DisplayListImageFilter, DilateNotEquals) { TestNotEquals(filter1, filter3, "Radius Y differs"); } +TEST(DisplayListImageFilter, DilateBounds) { + DlDilateImageFilter filter = DlDilateImageFilter(5, 10); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + SkRect expectOutputBounds = inputBounds.makeOutset(5, 10); + TestBounds(filter, inputBounds, expectOutputBounds); +} + TEST(DisplayListImageFilter, ErodeConstructor) { DlErodeImageFilter filter(5.0, 6.0); } @@ -268,6 +412,13 @@ TEST(DisplayListImageFilter, ErodeNotEquals) { TestNotEquals(filter1, filter3, "Radius Y differs"); } +TEST(DisplayListImageFilter, ErodeBounds) { + DlErodeImageFilter filter = DlErodeImageFilter(5, 10); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + SkRect expectOutputBounds = inputBounds.makeInset(5, 10); + TestBounds(filter, inputBounds, expectOutputBounds); +} + TEST(DisplayListImageFilter, MatrixConstructor) { DlMatrixImageFilter filter(SkMatrix::MakeAll(2.0, 0.0, 10, // 0.5, 3.0, 15, // @@ -330,6 +481,23 @@ TEST(DisplayListImageFilter, MatrixNotEquals) { TestNotEquals(filter1, filter3, "Sampling differs"); } +TEST(DisplayListImageFilter, MatrixBounds) { + SkMatrix matrix = SkMatrix::MakeAll(2.0, 0.0, 10, // + 0.5, 3.0, 7, // + 0.0, 0.0, 1); + SkMatrix inverse; + ASSERT_TRUE(matrix.invert(&inverse)); + DlMatrixImageFilter filter(matrix, DlImageSampling::kLinear); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + SkPoint expectedOutputQuad[4] = { + {50, 77}, // (20,20) => (20*2 + 10, 20/2 + 20*3 + 7) == (50, 77) + {50, 257}, // (20,80) => (20*2 + 10, 20/2 + 80*3 + 7) == (50, 257) + {170, 287}, // (80,80) => (80*2 + 10, 80/2 + 80*3 + 7) == (170, 287) + {170, 107}, // (80,20) => (80*2 + 10, 80/2 + 20*3 + 7) == (170, 107) + }; + TestBounds(filter, inputBounds, expectedOutputQuad); +} + TEST(DisplayListImageFilter, ComposeConstructor) { DlMatrixImageFilter outer(SkMatrix::MakeAll(2.0, 0.0, 10, // 0.5, 3.0, 15, // @@ -414,6 +582,15 @@ TEST(DisplayListImageFilter, ComposeNotEquals) { TestNotEquals(filter1, filter3, "Inner differs"); } +TEST(DisplayListImageFilter, ComposeBounds) { + DlDilateImageFilter outer = DlDilateImageFilter(5, 10); + DlBlurImageFilter inner = DlBlurImageFilter(12, 5, DlTileMode::kDecal); + DlComposeImageFilter filter = DlComposeImageFilter(outer, inner); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + SkRect expectOutputBounds = inputBounds.makeOutset(36, 15).makeOutset(5, 10); + TestBounds(filter, inputBounds, expectOutputBounds); +} + TEST(DisplayListImageFilter, ColorFilterConstructor) { DlBlendColorFilter dl_color_filter(DlColor::kRed(), DlBlendMode::kLighten); DlColorFilterImageFilter filter(dl_color_filter); @@ -465,6 +642,20 @@ TEST(DisplayListImageFilter, ColorFilterNotEquals) { TestNotEquals(filter1, filter3, "Blend Mode differs"); } +TEST(DisplayListImageFilter, ColorFilterBounds) { + DlBlendColorFilter dl_color_filter(DlColor::kRed(), DlBlendMode::kSrcIn); + DlColorFilterImageFilter filter(dl_color_filter); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + TestBounds(filter, inputBounds, inputBounds); +} + +TEST(DisplayListImageFilter, ColorFilterModifiesTransparencyBounds) { + DlBlendColorFilter dl_color_filter(DlColor::kRed(), DlBlendMode::kSrcOver); + DlColorFilterImageFilter filter(dl_color_filter); + SkRect inputBounds = SkRect::MakeLTRB(20, 20, 80, 80); + TestInvalidBounds(filter, SkMatrix::I(), inputBounds); +} + TEST(DisplayListImageFilter, UnknownConstructor) { DlUnknownImageFilter filter( SkImageFilters::Blur(5.0, 6.0, SkTileMode::kRepeat, nullptr)); diff --git a/flow/BUILD.gn b/flow/BUILD.gn index f8377c86b8c55..c42fa8e7ab18c 100644 --- a/flow/BUILD.gn +++ b/flow/BUILD.gn @@ -22,6 +22,8 @@ source_set("flow") { "layer_snapshot_store.h", "layers/backdrop_filter_layer.cc", "layers/backdrop_filter_layer.h", + "layers/cacheable_layer.cc", + "layers/cacheable_layer.h", "layers/clip_path_layer.cc", "layers/clip_path_layer.h", "layers/clip_rect_layer.cc", @@ -35,10 +37,14 @@ source_set("flow") { "layers/container_layer.h", "layers/display_list_layer.cc", "layers/display_list_layer.h", + "layers/display_list_raster_cache_item.cc", + "layers/display_list_raster_cache_item.h", "layers/image_filter_layer.cc", "layers/image_filter_layer.h", "layers/layer.cc", "layers/layer.h", + "layers/layer_raster_cache_item.cc", + "layers/layer_raster_cache_item.h", "layers/layer_tree.cc", "layers/layer_tree.h", "layers/offscreen_surface.cc", @@ -63,8 +69,11 @@ source_set("flow") { "paint_utils.h", "raster_cache.cc", "raster_cache.h", + "raster_cache_item.h", "raster_cache_key.cc", "raster_cache_key.h", + "raster_cache_util.cc", + "raster_cache_util.h", "rtree.cc", "rtree.h", "skia_gpu_object.h", diff --git a/flow/layers/backdrop_filter_layer.cc b/flow/layers/backdrop_filter_layer.cc index 8e8ef2628a16b..cc3a00753c14b 100644 --- a/flow/layers/backdrop_filter_layer.cc +++ b/flow/layers/backdrop_filter_layer.cc @@ -6,8 +6,9 @@ namespace flutter { -BackdropFilterLayer::BackdropFilterLayer(sk_sp filter, - SkBlendMode blend_mode) +BackdropFilterLayer::BackdropFilterLayer( + std::shared_ptr filter, + DlBlendMode blend_mode) : filter_(std::move(filter)), blend_mode_(blend_mode) {} void BackdropFilterLayer::Diff(DiffContext* context, const Layer* old_layer) { @@ -15,7 +16,7 @@ void BackdropFilterLayer::Diff(DiffContext* context, const Layer* old_layer) { auto* prev = static_cast(old_layer); if (!context->IsSubtreeDirty()) { FML_DCHECK(prev); - if (filter_ != prev->filter_) { + if (NotEquals(filter_, prev->filter_)) { context->MarkSubtreeDirty(context->GetOldLayerPaintRegion(old_layer)); } } @@ -26,11 +27,11 @@ void BackdropFilterLayer::Diff(DiffContext* context, const Layer* old_layer) { if (filter_) { context->GetTransform().mapRect(&paint_bounds); - auto input_filter_bounds = paint_bounds.roundOut(); - auto filter_bounds = // in screen coordinates - filter_->filterBounds(input_filter_bounds, context->GetTransform(), - SkImageFilter::kReverse_MapDirection); - context->AddReadbackRegion(filter_bounds); + auto filter_target_bounds = paint_bounds.roundOut(); + SkIRect filter_input_bounds; // in screen coordinates + filter_->get_input_device_bounds( + filter_target_bounds, context->GetTransform(), filter_input_bounds); + context->AddReadbackRegion(filter_input_bounds); } DiffChildren(context, prev); @@ -52,15 +53,28 @@ void BackdropFilterLayer::Paint(PaintContext& context) const { TRACE_EVENT0("flutter", "BackdropFilterLayer::Paint"); FML_DCHECK(needs_painting(context)); - SkPaint paint; - paint.setBlendMode(blend_mode_); - Layer::AutoSaveLayer save = Layer::AutoSaveLayer::Create( - context, - SkCanvas::SaveLayerRec{&paint_bounds(), &paint, filter_.get(), 0}, - // BackdropFilter should only happen on the leaf nodes canvas. - // See https:://flutter.dev/go/backdrop-filter-with-overlay-canvas - AutoSaveLayer::SaveMode::kLeafNodesCanvas); - PaintChildren(context); + if (context.leaf_nodes_builder) { + DlPaint paint; + paint.setBlendMode(blend_mode_); + context.leaf_nodes_builder->saveLayer(&paint_bounds(), &paint, + filter_.get()); + + PaintChildren(context); + + context.leaf_nodes_builder->restore(); + } else { + SkPaint paint; + paint.setBlendMode(ToSk(blend_mode_)); + auto sk_filter = filter_ ? filter_->skia_object() : nullptr; + Layer::AutoSaveLayer save = Layer::AutoSaveLayer::Create( + context, + SkCanvas::SaveLayerRec{&paint_bounds(), &paint, sk_filter.get(), 0}, + // BackdropFilter should only happen on the leaf nodes canvas. + // See https:://flutter.dev/go/backdrop-filter-with-overlay-canvas + AutoSaveLayer::SaveMode::kLeafNodesCanvas); + + PaintChildren(context); + } } } // namespace flutter diff --git a/flow/layers/backdrop_filter_layer.h b/flow/layers/backdrop_filter_layer.h index c8cbeba9215e1..8584413698a75 100644 --- a/flow/layers/backdrop_filter_layer.h +++ b/flow/layers/backdrop_filter_layer.h @@ -12,7 +12,8 @@ namespace flutter { class BackdropFilterLayer : public ContainerLayer { public: - BackdropFilterLayer(sk_sp filter, SkBlendMode blend_mode); + BackdropFilterLayer(std::shared_ptr filter, + DlBlendMode blend_mode); void Diff(DiffContext* context, const Layer* old_layer) override; @@ -21,8 +22,8 @@ class BackdropFilterLayer : public ContainerLayer { void Paint(PaintContext& context) const override; private: - sk_sp filter_; - SkBlendMode blend_mode_; + std::shared_ptr filter_; + DlBlendMode blend_mode_; FML_DISALLOW_COPY_AND_ASSIGN(BackdropFilterLayer); }; diff --git a/flow/layers/backdrop_filter_layer_unittests.cc b/flow/layers/backdrop_filter_layer_unittests.cc index 33792a7b3ce17..0cb82f39c59ed 100644 --- a/flow/layers/backdrop_filter_layer_unittests.cc +++ b/flow/layers/backdrop_filter_layer_unittests.cc @@ -22,8 +22,9 @@ using BackdropFilterLayerTest = LayerTest; #ifndef NDEBUG TEST_F(BackdropFilterLayerTest, PaintingEmptyLayerDies) { - auto layer = std::make_shared(sk_sp(), - SkBlendMode::kSrcOver); + auto filter = DlBlurImageFilter(5, 5, DlTileMode::kClamp); + auto layer = std::make_shared(filter.shared(), + DlBlendMode::kSrcOver); auto parent = std::make_shared(kEmptyRect, Clip::hardEdge); parent->Add(layer); @@ -40,8 +41,9 @@ TEST_F(BackdropFilterLayerTest, PaintBeforePrerollDies) { const SkRect child_bounds = SkRect::MakeLTRB(5.0f, 6.0f, 20.5f, 21.5f); const SkPath child_path = SkPath().addRect(child_bounds); auto mock_layer = std::make_shared(child_path); - auto layer = std::make_shared(sk_sp(), - SkBlendMode::kSrcOver); + auto filter = DlBlurImageFilter(5, 5, DlTileMode::kClamp); + auto layer = std::make_shared(filter.shared(), + DlBlendMode::kSrcOver); layer->Add(mock_layer); EXPECT_EQ(layer->paint_bounds(), kEmptyRect); @@ -58,7 +60,7 @@ TEST_F(BackdropFilterLayerTest, EmptyFilter) { const SkPaint child_paint = SkPaint(SkColors::kYellow); auto mock_layer = std::make_shared(child_path, child_paint); auto layer = - std::make_shared(nullptr, SkBlendMode::kSrcOver); + std::make_shared(nullptr, DlBlendMode::kSrcOver); layer->Add(mock_layer); auto parent = std::make_shared(child_bounds, Clip::hardEdge); parent->Add(layer); @@ -87,8 +89,8 @@ TEST_F(BackdropFilterLayerTest, SimpleFilter) { const SkPaint child_paint = SkPaint(SkColors::kYellow); auto layer_filter = SkImageFilters::Paint(SkPaint(SkColors::kMagenta)); auto mock_layer = std::make_shared(child_path, child_paint); - auto layer = std::make_shared(layer_filter, - SkBlendMode::kSrcOver); + auto layer = std::make_shared( + DlImageFilter::From(layer_filter), DlBlendMode::kSrcOver); layer->Add(mock_layer); auto parent = std::make_shared(child_bounds, Clip::hardEdge); parent->Add(layer); @@ -117,8 +119,8 @@ TEST_F(BackdropFilterLayerTest, NonSrcOverBlend) { const SkPaint child_paint = SkPaint(SkColors::kYellow); auto layer_filter = SkImageFilters::Paint(SkPaint(SkColors::kMagenta)); auto mock_layer = std::make_shared(child_path, child_paint); - auto layer = - std::make_shared(layer_filter, SkBlendMode::kSrc); + auto layer = std::make_shared( + DlImageFilter::From(layer_filter), DlBlendMode::kSrc); layer->Add(mock_layer); auto parent = std::make_shared(child_bounds, Clip::hardEdge); parent->Add(layer); @@ -156,8 +158,8 @@ TEST_F(BackdropFilterLayerTest, MultipleChildren) { auto layer_filter = SkImageFilters::Paint(SkPaint(SkColors::kMagenta)); auto mock_layer1 = std::make_shared(child_path1, child_paint1); auto mock_layer2 = std::make_shared(child_path2, child_paint2); - auto layer = std::make_shared(layer_filter, - SkBlendMode::kSrcOver); + auto layer = std::make_shared( + DlImageFilter::From(layer_filter), DlBlendMode::kSrcOver); layer->Add(mock_layer1); layer->Add(mock_layer2); auto parent = @@ -202,10 +204,10 @@ TEST_F(BackdropFilterLayerTest, Nested) { auto layer_filter2 = SkImageFilters::Paint(SkPaint(SkColors::kDkGray)); auto mock_layer1 = std::make_shared(child_path1, child_paint1); auto mock_layer2 = std::make_shared(child_path2, child_paint2); - auto layer1 = std::make_shared(layer_filter1, - SkBlendMode::kSrcOver); - auto layer2 = std::make_shared(layer_filter2, - SkBlendMode::kSrcOver); + auto layer1 = std::make_shared( + DlImageFilter::From(layer_filter1), DlBlendMode::kSrcOver); + auto layer2 = std::make_shared( + DlImageFilter::From(layer_filter2), DlBlendMode::kSrcOver); layer2->Add(mock_layer2); layer1->Add(mock_layer1); layer1->Add(layer2); @@ -243,20 +245,20 @@ TEST_F(BackdropFilterLayerTest, Nested) { } TEST_F(BackdropFilterLayerTest, Readback) { - sk_sp no_filter; - auto layer_filter = SkImageFilters::Paint(SkPaint(SkColors::kMagenta)); + std::shared_ptr no_filter; + auto layer_filter = DlBlurImageFilter(5, 5, DlTileMode::kClamp); auto initial_transform = SkMatrix(); // BDF with filter always reads from surface - auto layer1 = std::make_shared(layer_filter, - SkBlendMode::kSrcOver); + auto layer1 = std::make_shared(layer_filter.shared(), + DlBlendMode::kSrcOver); preroll_context()->surface_needs_readback = false; layer1->Preroll(preroll_context(), initial_transform); EXPECT_TRUE(preroll_context()->surface_needs_readback); // BDF with no filter does not read from surface itself auto layer2 = - std::make_shared(no_filter, SkBlendMode::kSrcOver); + std::make_shared(no_filter, DlBlendMode::kSrcOver); preroll_context()->surface_needs_readback = false; layer2->Preroll(preroll_context(), initial_transform); EXPECT_FALSE(preroll_context()->surface_needs_readback); @@ -278,18 +280,20 @@ TEST_F(BackdropFilterLayerTest, Readback) { using BackdropLayerDiffTest = DiffContextTest; TEST_F(BackdropLayerDiffTest, BackdropLayer) { - auto filter = SkImageFilters::Blur(10, 10, SkTileMode::kClamp, nullptr); + auto filter = DlBlurImageFilter(10, 10, DlTileMode::kClamp); { // tests later assume 30px readback area, fail early if that's not the case - auto readback = filter->filterBounds(SkIRect::MakeWH(10, 10), SkMatrix::I(), - SkImageFilter::kReverse_MapDirection); + SkIRect readback; + EXPECT_EQ(filter.get_input_device_bounds(SkIRect::MakeWH(10, 10), + SkMatrix::I(), readback), + &readback); EXPECT_EQ(readback, SkIRect::MakeLTRB(-30, -30, 40, 40)); } MockLayerTree l1(SkISize::Make(100, 100)); - l1.root()->Add( - std::make_shared(filter, SkBlendMode::kSrcOver)); + l1.root()->Add(std::make_shared(filter.shared(), + DlBlendMode::kSrcOver)); // no clip, effect over entire surface auto damage = DiffLayerTree(l1, MockLayerTree(SkISize::Make(100, 100))); @@ -299,8 +303,8 @@ TEST_F(BackdropLayerDiffTest, BackdropLayer) { auto clip = std::make_shared(SkRect::MakeLTRB(20, 20, 60, 60), Clip::hardEdge); - clip->Add( - std::make_shared(filter, SkBlendMode::kSrcOver)); + clip->Add(std::make_shared(filter.shared(), + DlBlendMode::kSrcOver)); l2.root()->Add(clip); damage = DiffLayerTree(l2, MockLayerTree(SkISize::Make(100, 100))); @@ -334,12 +338,14 @@ TEST_F(BackdropLayerDiffTest, BackdropLayer) { } TEST_F(BackdropLayerDiffTest, BackdropLayerInvalidTransform) { - auto filter = SkImageFilters::Blur(10, 10, SkTileMode::kClamp, nullptr); + auto filter = DlBlurImageFilter(10, 10, DlTileMode::kClamp); { // tests later assume 30px readback area, fail early if that's not the case - auto readback = filter->filterBounds(SkIRect::MakeWH(10, 10), SkMatrix::I(), - SkImageFilter::kReverse_MapDirection); + SkIRect readback; + EXPECT_EQ(filter.get_input_device_bounds(SkIRect::MakeWH(10, 10), + SkMatrix::I(), readback), + &readback); EXPECT_EQ(readback, SkIRect::MakeLTRB(-30, -30, 40, 40)); } @@ -350,11 +356,11 @@ TEST_F(BackdropLayerDiffTest, BackdropLayerInvalidTransform) { auto transform_layer = std::make_shared(transform); l1.root()->Add(transform_layer); - transform_layer->Add( - std::make_shared(filter, SkBlendMode::kSrcOver)); + transform_layer->Add(std::make_shared( + filter.shared(), DlBlendMode::kSrcOver)); auto damage = DiffLayerTree(l1, MockLayerTree(SkISize::Make(100, 100))); - EXPECT_EQ(damage.frame_damage, SkIRect::MakeWH(15, 15)); + EXPECT_EQ(damage.frame_damage, SkIRect::MakeWH(100, 100)); } } // namespace testing diff --git a/flow/layers/cacheable_layer.cc b/flow/layers/cacheable_layer.cc new file mode 100644 index 0000000000000..6c485e89dc155 --- /dev/null +++ b/flow/layers/cacheable_layer.cc @@ -0,0 +1,38 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/flow/layers/cacheable_layer.h" +#include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_item.h" + +namespace flutter { + +AutoCache::AutoCache(RasterCacheItem* raster_cache_item, + PrerollContext* context, + const SkMatrix& matrix) + : raster_cache_item_(raster_cache_item), + context_(context), + matrix_(matrix) { + if (IsCacheEnabled()) { + raster_cache_item->PrerollSetup(context, matrix); + } +} + +bool AutoCache::IsCacheEnabled() { + return raster_cache_item_ && context_ && context_->raster_cache; +} + +AutoCache::~AutoCache() { + if (IsCacheEnabled()) { + raster_cache_item_->PrerollFinalize(context_, matrix_); + } +} + +CacheableContainerLayer::CacheableContainerLayer(int layer_cached_threshold, + bool can_cache_children) { + layer_raster_cache_item_ = LayerRasterCacheItem::Make( + this, layer_cached_threshold, can_cache_children); +} + +} // namespace flutter diff --git a/flow/layers/cacheable_layer.h b/flow/layers/cacheable_layer.h new file mode 100644 index 0000000000000..aac445b4bf054 --- /dev/null +++ b/flow/layers/cacheable_layer.h @@ -0,0 +1,50 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_FLOW_LAYERS_CACHEABLE_LAYER_H_ +#define FLUTTER_FLOW_LAYERS_CACHEABLE_LAYER_H_ + +#include + +#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/display_list_raster_cache_item.h" +#include "flutter/flow/layers/layer_raster_cache_item.h" + +namespace flutter { + +class AutoCache { + public: + AutoCache(RasterCacheItem* raster_cache_item, + PrerollContext* context, + const SkMatrix& matrix); + + void ShouldNotBeCached() { raster_cache_item_ = nullptr; } + + ~AutoCache(); + + private: + inline bool IsCacheEnabled(); + RasterCacheItem* raster_cache_item_ = nullptr; + PrerollContext* context_ = nullptr; + const SkMatrix& matrix_; +}; + +class CacheableContainerLayer : public ContainerLayer { + public: + explicit CacheableContainerLayer( + int layer_cached_threshold = + RasterCacheUtil::kMinimumRendersBeforeCachingFilterLayer, + bool can_cache_children = false); + + const LayerRasterCacheItem* raster_cache_item() const { + return layer_raster_cache_item_.get(); + } + + protected: + std::unique_ptr layer_raster_cache_item_; +}; + +} // namespace flutter + +#endif // FLUTTER_FLOW_LAYERS_CACHEABLE_LAYER_H_ diff --git a/flow/layers/clip_path_layer_unittests.cc b/flow/layers/clip_path_layer_unittests.cc index 2268d34ff2a8a..f65af652ce5f5 100644 --- a/flow/layers/clip_path_layer_unittests.cc +++ b/flow/layers/clip_path_layer_unittests.cc @@ -4,11 +4,15 @@ #include "flutter/flow/layers/clip_path_layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/opacity_layer.h" +#include "flutter/flow/raster_cache_item.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/fml/macros.h" #include "flutter/testing/mock_canvas.h" +#include "gtest/gtest.h" +#include "include/core/SkPaint.h" namespace flutter { namespace testing { @@ -501,24 +505,29 @@ TEST_F(ClipPathLayerTest, LayerCached) { use_mock_raster_cache(); + const auto* clip_cache_item = layer->raster_cache_item(); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), + RasterCacheItem::CacheState::kCurrent); + SkPaint paint; + EXPECT_TRUE(raster_cache()->Draw(clip_cache_item->GetId().value(), + cache_canvas, &paint)); } } // namespace testing diff --git a/flow/layers/clip_rect_layer_unittests.cc b/flow/layers/clip_rect_layer_unittests.cc index 843e2a2c29ccf..35ac1fb46f469 100644 --- a/flow/layers/clip_rect_layer_unittests.cc +++ b/flow/layers/clip_rect_layer_unittests.cc @@ -4,6 +4,7 @@ #include "flutter/flow/layers/clip_rect_layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/opacity_layer.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" @@ -491,24 +492,27 @@ TEST_F(ClipRectLayerTest, LayerCached) { use_mock_raster_cache(); - EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + const auto* clip_cache_item = layer->raster_cache_item(); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), + RasterCacheItem::CacheState::kCurrent); + SkPaint paint; + EXPECT_TRUE(raster_cache()->Draw(clip_cache_item->GetId().value(), + cache_canvas, &paint)); } } // namespace testing diff --git a/flow/layers/clip_rrect_layer_unittests.cc b/flow/layers/clip_rrect_layer_unittests.cc index fa37a6020b0ce..3f47f130ac500 100644 --- a/flow/layers/clip_rrect_layer_unittests.cc +++ b/flow/layers/clip_rrect_layer_unittests.cc @@ -4,6 +4,7 @@ #include "flutter/flow/layers/clip_rrect_layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/opacity_layer.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" @@ -486,6 +487,7 @@ TEST_F(ClipRRectLayerTest, OpacityInheritanceSaveLayerPainting) { TEST_F(ClipRRectLayerTest, LayerCached) { auto path1 = SkPath().addRect({10, 10, 30, 30}); + SkPaint paint = SkPaint(); auto mock1 = MockLayer::MakeOpacityCompatible(path1); SkRect clip_rect = SkRect::MakeWH(500, 500); SkRRect clip_r_rect = SkRRect::MakeRectXY(clip_rect, 20, 20); @@ -500,24 +502,61 @@ TEST_F(ClipRRectLayerTest, LayerCached) { use_mock_raster_cache(); - EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + const auto* clip_cache_item = layer->raster_cache_item(); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(clip_cache_item->cache_state(), + RasterCacheItem::CacheState::kCurrent); + EXPECT_TRUE(raster_cache()->Draw(clip_cache_item->GetId().value(), + cache_canvas, &paint)); +} + +TEST_F(ClipRRectLayerTest, NoSaveLayerShouldNotCache) { + auto path1 = SkPath().addRect({10, 10, 30, 30}); + + auto mock1 = MockLayer::MakeOpacityCompatible(path1); + SkRect clip_rect = SkRect::MakeWH(500, 500); + SkRRect clip_r_rect = SkRRect::MakeRectXY(clip_rect, 20, 20); + auto layer = std::make_shared(clip_r_rect, Clip::antiAlias); + layer->Add(mock1); + + auto initial_transform = SkMatrix::Translate(50.0, 25.5); + SkMatrix cache_ctm = initial_transform; + SkCanvas cache_canvas; + cache_canvas.setMatrix(cache_ctm); + + use_mock_raster_cache(); + + const auto* clip_cache_item = layer->raster_cache_item(); + + layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); + + layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); + + layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(clip_cache_item->cache_state(), RasterCacheItem::CacheState::kNone); } } // namespace testing diff --git a/flow/layers/clip_shape_layer.h b/flow/layers/clip_shape_layer.h index 7adc9b2b9e4cc..d8729e8e83c11 100644 --- a/flow/layers/clip_shape_layer.h +++ b/flow/layers/clip_shape_layer.h @@ -5,19 +5,20 @@ #ifndef FLUTTER_FLOW_LAYERS_CLIP_SHAPE_LAYER_H_ #define FLUTTER_FLOW_LAYERS_CLIP_SHAPE_LAYER_H_ +#include "flutter/flow/layers/cacheable_layer.h" #include "flutter/flow/layers/container_layer.h" #include "flutter/flow/paint_utils.h" namespace flutter { template -class ClipShapeLayer : public ContainerLayer { +class ClipShapeLayer : public CacheableContainerLayer { public: using ClipShape = T; ClipShapeLayer(const ClipShape& clip_shape, Clip clip_behavior) - : clip_shape_(clip_shape), - clip_behavior_(clip_behavior), - render_count_(1) { + : CacheableContainerLayer(), + clip_shape_(clip_shape), + clip_behavior_(clip_behavior) { FML_DCHECK(clip_behavior != Clip::none); } @@ -31,7 +32,6 @@ class ClipShapeLayer : public ContainerLayer { context->MarkSubtreeDirty(context->GetOldLayerPaintRegion(old_layer)); } } - if (context->PushCullRect(clip_shape_bounds())) { DiffChildren(context, prev); } @@ -40,9 +40,18 @@ class ClipShapeLayer : public ContainerLayer { void Preroll(PrerollContext* context, const SkMatrix& matrix) override { SkRect previous_cull_rect = context->cull_rect; + bool uses_save_layer = UsesSaveLayer(); + if (!context->cull_rect.intersect(clip_shape_bounds())) { context->cull_rect.setEmpty(); } + // We can use the raster_cache for children only when the use_save_layer is + // true so if use_save_layer is false we pass the layer_raster_item is + // nullptr which mean we don't do raster cache logic. + AutoCache cache = + AutoCache(uses_save_layer ? layer_raster_cache_item_.get() : nullptr, + context, matrix); + Layer::AutoPrerollSaveLayerState save = Layer::AutoPrerollSaveLayerState::Create(context, UsesSaveLayer()); OnMutatorsStackPushClipShape(context->mutators_stack); @@ -59,15 +68,8 @@ class ClipShapeLayer : public ContainerLayer { // If we use a SaveLayer then we can accept opacity on behalf // of our children and apply it in the saveLayer. - if (UsesSaveLayer()) { + if (uses_save_layer) { context->subtree_can_inherit_opacity = true; - if (render_count_ >= kMinimumRendersBeforeCachingLayer) { - SkMatrix child_matrix(matrix); - TryToPrepareRasterCache(context, this, child_matrix, - RasterCacheLayerStrategy::kLayer); - } else { - render_count_++; - } } context->mutators_stack.Pop(); @@ -86,11 +88,10 @@ class ClipShapeLayer : public ContainerLayer { } AutoCachePaint cache_paint(context); - if (context.raster_cache && - context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayer, - cache_paint.paint())) { - return; + if (context.raster_cache) { + if (layer_raster_cache_item_->Draw(context, cache_paint.paint())) { + return; + } } Layer::AutoSaveLayer save_layer = Layer::AutoSaveLayer::Create( @@ -115,9 +116,6 @@ class ClipShapeLayer : public ContainerLayer { const ClipShape clip_shape_; Clip clip_behavior_; - static constexpr int kMinimumRendersBeforeCachingLayer = 3; - int render_count_; - FML_DISALLOW_COPY_AND_ASSIGN(ClipShapeLayer); }; diff --git a/flow/layers/color_filter_layer.cc b/flow/layers/color_filter_layer.cc index 2109dc62c8ea9..3c1f50157ccd0 100644 --- a/flow/layers/color_filter_layer.cc +++ b/flow/layers/color_filter_layer.cc @@ -3,11 +3,16 @@ // found in the LICENSE file. #include "flutter/flow/layers/color_filter_layer.h" +#include "flutter/flow/raster_cache_item.h" +#include "flutter/flow/raster_cache_util.h" namespace flutter { ColorFilterLayer::ColorFilterLayer(sk_sp filter) - : filter_(std::move(filter)), render_count_(1) {} + : CacheableContainerLayer( + RasterCacheUtil::kMinimumRendersBeforeCachingFilterLayer, + true), + filter_(std::move(filter)) {} void ColorFilterLayer::Diff(DiffContext* context, const Layer* old_layer) { DiffContext::AutoSubtreeRestore subtree(context); @@ -28,22 +33,12 @@ void ColorFilterLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { Layer::AutoPrerollSaveLayerState save = Layer::AutoPrerollSaveLayerState::Create(context); - ContainerLayer::Preroll(context, matrix); + AutoCache cache = AutoCache(layer_raster_cache_item_.get(), context, matrix); + ContainerLayer::Preroll(context, matrix); // We always use a saveLayer (or a cached rendering), so we // can always apply opacity in those cases. context->subtree_can_inherit_opacity = true; - - SkMatrix child_matrix(matrix); - - if (render_count_ >= kMinimumRendersBeforeCachingFilterLayer) { - TryToPrepareRasterCache(context, this, child_matrix, - RasterCacheLayerStrategy::kLayer); - } else { - render_count_++; - TryToPrepareRasterCache(context, this, child_matrix, - RasterCacheLayerStrategy::kLayerChildren); - } } void ColorFilterLayer::Paint(PaintContext& context) const { @@ -53,16 +48,10 @@ void ColorFilterLayer::Paint(PaintContext& context) const { AutoCachePaint cache_paint(context); if (context.raster_cache) { - if (context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayer, - cache_paint.paint())) { - return; + if (layer_raster_cache_item_->IsCacheChildren()) { + cache_paint.setColorFilter(filter_); } - - cache_paint.setColorFilter(filter_); - if (context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayerChildren, - cache_paint.paint())) { + if (layer_raster_cache_item_->Draw(context, cache_paint.paint())) { return; } } @@ -71,6 +60,7 @@ void ColorFilterLayer::Paint(PaintContext& context) const { Layer::AutoSaveLayer save = Layer::AutoSaveLayer::Create( context, paint_bounds(), cache_paint.paint()); + PaintChildren(context); } diff --git a/flow/layers/color_filter_layer.h b/flow/layers/color_filter_layer.h index fc28295d457d7..d896ff34fb7b8 100644 --- a/flow/layers/color_filter_layer.h +++ b/flow/layers/color_filter_layer.h @@ -5,12 +5,12 @@ #ifndef FLUTTER_FLOW_LAYERS_COLOR_FILTER_LAYER_H_ #define FLUTTER_FLOW_LAYERS_COLOR_FILTER_LAYER_H_ -#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/cacheable_layer.h" +#include "flutter/flow/layers/layer.h" #include "third_party/skia/include/core/SkColorFilter.h" - namespace flutter { -class ColorFilterLayer : public ContainerLayer { +class ColorFilterLayer : public CacheableContainerLayer { public: explicit ColorFilterLayer(sk_sp filter); @@ -22,10 +22,6 @@ class ColorFilterLayer : public ContainerLayer { private: sk_sp filter_; - - static constexpr int kMinimumRendersBeforeCachingFilterLayer = 3; - int render_count_; - FML_DISALLOW_COPY_AND_ASSIGN(ColorFilterLayer); }; diff --git a/flow/layers/color_filter_layer_unittests.cc b/flow/layers/color_filter_layer_unittests.cc index ccc9d9201b5db..5ec709f1ab54b 100644 --- a/flow/layers/color_filter_layer_unittests.cc +++ b/flow/layers/color_filter_layer_unittests.cc @@ -2,10 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "flutter/flow/compositor_context.h" #include "flutter/flow/layers/color_filter_layer.h" #include "flutter/display_list/display_list_color_filter.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/opacity_layer.h" +#include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_key.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/fml/macros.h" @@ -228,6 +232,7 @@ TEST_F(ColorFilterLayerTest, CacheChild) { auto initial_transform = SkMatrix::Translate(50.0, 25.5); auto other_transform = SkMatrix::Scale(1.0, 2.0); const SkPath child_path = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); + SkPaint paint = SkPaint(); auto mock_layer = std::make_shared(child_path); auto layer = std::make_shared(layer_filter); layer->Add(mock_layer); @@ -239,32 +244,27 @@ TEST_F(ColorFilterLayerTest, CacheChild) { other_canvas.setMatrix(other_transform); use_mock_raster_cache(); + const auto* cacheable_color_filter_item = layer->raster_cache_item(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + EXPECT_EQ(cacheable_color_filter_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_color_filter_item->GetId().has_value()); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + EXPECT_EQ(cacheable_color_filter_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_EQ( + cacheable_color_filter_item->GetId().value(), + RasterCacheKeyID(RasterCacheKeyID::LayerChildrenIds(layer.get()).value(), + RasterCacheKeyType::kLayerChildren)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_color_filter_item->GetId().value(), other_canvas, &paint)); + EXPECT_TRUE(raster_cache()->Draw(cacheable_color_filter_item->GetId().value(), + cache_canvas, &paint)); } TEST_F(ColorFilterLayerTest, CacheChildren) { @@ -279,6 +279,7 @@ TEST_F(ColorFilterLayerTest, CacheChildren) { auto layer = std::make_shared(layer_filter); layer->Add(mock_layer1); layer->Add(mock_layer2); + SkPaint paint = SkPaint(); SkMatrix cache_ctm = initial_transform; SkCanvas cache_canvas; @@ -289,34 +290,85 @@ TEST_F(ColorFilterLayerTest, CacheChildren) { use_mock_raster_cache(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + const auto* cacheable_color_filter_item = layer->raster_cache_item(); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + + EXPECT_EQ(cacheable_color_filter_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_color_filter_item->GetId().has_value()); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + EXPECT_EQ(cacheable_color_filter_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_EQ( + cacheable_color_filter_item->GetId().value(), + RasterCacheKeyID(RasterCacheKeyID::LayerChildrenIds(layer.get()).value(), + RasterCacheKeyType::kLayerChildren)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_color_filter_item->GetId().value(), other_canvas, &paint)); + EXPECT_TRUE(raster_cache()->Draw(cacheable_color_filter_item->GetId().value(), + cache_canvas, &paint)); +} + +TEST_F(ColorFilterLayerTest, CacheColorFilterLayerSelf) { + auto layer_filter = + SkColorMatrixFilter::MakeLightingFilter(SK_ColorGREEN, SK_ColorYELLOW); + auto initial_transform = SkMatrix::Translate(50.0, 25.5); + auto other_transform = SkMatrix::Scale(1.0, 2.0); + const SkPath child_path1 = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); + const SkPath child_path2 = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); + auto mock_layer1 = std::make_shared(child_path1); + auto mock_layer2 = std::make_shared(child_path2); + auto layer = std::make_shared(layer_filter); + layer->Add(mock_layer1); + layer->Add(mock_layer2); + SkPaint paint = SkPaint(); + + SkMatrix cache_ctm = initial_transform; + SkCanvas cache_canvas; + cache_canvas.setMatrix(cache_ctm); + SkCanvas other_canvas; + other_canvas.setMatrix(other_transform); + + use_mock_raster_cache(); + const auto* cacheable_color_filter_item = layer->raster_cache_item(); + + // frame 1. + layer->Preroll(preroll_context(), initial_transform); + layer->Paint(paint_context()); + // frame 2. + layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + // ColorFilterLayer default cache children. + EXPECT_EQ(cacheable_color_filter_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->Draw(cacheable_color_filter_item->GetId().value(), + cache_canvas, &paint)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_color_filter_item->GetId().value(), other_canvas, &paint)); + layer->Paint(paint_context()); + + // frame 3. + layer->Preroll(preroll_context(), initial_transform); + layer->Paint(paint_context()); + + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + // frame1,2 cache the ColorFilterLayer's children layer, frame3 cache the + // ColorFilterLayer + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)2); + + // ColorFilterLayer default cache itself. + EXPECT_EQ(cacheable_color_filter_item->cache_state(), + RasterCacheItem::CacheState::kCurrent); + EXPECT_EQ(cacheable_color_filter_item->GetId(), + RasterCacheKeyID(layer->unique_id(), RasterCacheKeyType::kLayer)); + EXPECT_TRUE(raster_cache()->Draw(cacheable_color_filter_item->GetId().value(), + cache_canvas, &paint)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_color_filter_item->GetId().value(), other_canvas, &paint)); } TEST_F(ColorFilterLayerTest, OpacityInheritance) { @@ -339,7 +391,7 @@ TEST_F(ColorFilterLayerTest, OpacityInheritance) { PrerollContext* context = preroll_context(); context->subtree_can_inherit_opacity = false; color_filter_layer->Preroll(preroll_context(), initial_transform); - // ImageFilterLayers can always inherit opacity whether or not their + // ColorFilterLayer can always inherit opacity whether or not their // children are compatible. EXPECT_TRUE(context->subtree_can_inherit_opacity); diff --git a/flow/layers/container_layer.cc b/flow/layers/container_layer.cc index 7e9820e4aa1ac..ad6fd9126e200 100644 --- a/flow/layers/container_layer.cc +++ b/flow/layers/container_layer.cc @@ -189,19 +189,4 @@ void ContainerLayer::PaintChildren(PaintContext& context) const { } } -void ContainerLayer::TryToPrepareRasterCache( - PrerollContext* context, - Layer* layer, - const SkMatrix& matrix, - RasterCacheLayerStrategy strategy) { - if (!context->has_platform_view && !context->has_texture_layer && - context->raster_cache && - SkRect::Intersects(context->cull_rect, layer->paint_bounds())) { - context->raster_cache->Prepare(context, layer, matrix, strategy); - } else if (context->raster_cache) { - // Don't evict raster cache entry during partial repaint - context->raster_cache->Touch(layer, matrix, strategy); - } -} - } // namespace flutter diff --git a/flow/layers/container_layer.h b/flow/layers/container_layer.h index 937c4e586da15..cb3d497aa642a 100644 --- a/flow/layers/container_layer.h +++ b/flow/layers/container_layer.h @@ -27,7 +27,9 @@ class ContainerLayer : public Layer { virtual void DiffChildren(DiffContext* context, const ContainerLayer* old_layer); - void PaintChildren(PaintContext& context) const; + + void PaintChildren(PaintContext& context) const override; + const ContainerLayer* as_container_layer() const override { return this; } const SkRect& child_paint_bounds() const { return child_paint_bounds_; } @@ -37,21 +39,6 @@ class ContainerLayer : public Layer { const SkMatrix& child_matrix, SkRect* child_paint_bounds); - // Try to prepare the raster cache for a given layer. - // - // The raster cache would fail if either of the followings is true: - // 1. The context has a platform view. - // 2. The context does not have a valid raster cache. - // 3. The layer's paint bounds does not intersect with the cull rect. - // - // We make this a static function instead of a member function that directly - // uses the "this" pointer as the layer because we sometimes need to raster - // cache a child layer and one can't access its child's protected method. - static void TryToPrepareRasterCache(PrerollContext* context, - Layer* layer, - const SkMatrix& matrix, - RasterCacheLayerStrategy strategy); - private: std::vector> layers_; SkRect child_paint_bounds_; diff --git a/flow/layers/container_layer_unittests.cc b/flow/layers/container_layer_unittests.cc index bdb2661d428c5..89f6477a4ec4b 100644 --- a/flow/layers/container_layer_unittests.cc +++ b/flow/layers/container_layer_unittests.cc @@ -4,11 +4,16 @@ #include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/testing/diff_context_test.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/fml/macros.h" #include "flutter/testing/mock_canvas.h" +#include "gtest/gtest.h" +#include "include/core/SkCanvas.h" +#include "include/core/SkMatrix.h" namespace flutter { namespace testing { @@ -192,6 +197,224 @@ TEST_F(ContainerLayerTest, NeedsSystemComposite) { child_path2, child_paint2}}})); } +TEST_F(ContainerLayerTest, RasterCacheTest) { + // LTRB + const SkPath child_path1 = SkPath().addRect(5.0f, 6.0f, 20.5f, 21.5f); + const SkPath child_path2 = SkPath().addRect(21.0f, 6.0f, 25.5f, 21.5f); + const SkPath child_path3 = SkPath().addRect(26.0f, 6.0f, 30.5f, 21.5f); + const SkPaint child_paint1(SkColors::kGray); + const SkPaint child_paint2(SkColors::kGreen); + const SkPaint paint; + auto cacheable_container_layer1 = + MockCacheableContainerLayer::CacheLayerOrChildren(); + auto cacheable_container_layer2 = + MockCacheableContainerLayer::CacheLayerOnly(); + auto cacheable_container_layer11 = + MockCacheableContainerLayer::CacheLayerOrChildren(); + + auto cacheable_layer111 = + std::make_shared(child_path3, paint); + // if the frame had rendered 2 frames, we will cache the cacheable_layer21 + // layer + auto cacheable_layer21 = + std::make_shared(child_path1, paint, 2); + + // clang-format off +// layer +// | +// ________________________________ ________________________________ +// | | | +// cacheable_container_layer1 mock_layer2 cacheable_container_layer2 +// | | +// cacheable_container_layer11 cacheable_layer21 +// | +// cacheable_layer111 + // clang-format on + + auto mock_layer1 = std::make_shared(child_path1, child_paint1); + auto mock_layer2 = std::make_shared(SkPath(), child_paint2); + auto mock_layer3 = std::make_shared(child_path2, paint); + + cacheable_container_layer1->Add(mock_layer1); + cacheable_container_layer1->Add(mock_layer3); + + cacheable_container_layer1->Add(cacheable_container_layer11); + cacheable_container_layer11->Add(cacheable_layer111); + + cacheable_container_layer2->Add(cacheable_layer21); + auto layer = std::make_shared(); + layer->Add(cacheable_container_layer1); + layer->Add(mock_layer2); + layer->Add(cacheable_container_layer2); + + SkCanvas cache_canvas; + cache_canvas.setMatrix(SkMatrix::I()); + + // Initial Preroll for check the layer paint bounds + layer->Preroll(preroll_context(), SkMatrix::I()); + + EXPECT_EQ(mock_layer1->paint_bounds(), + SkRect::MakeLTRB(5.f, 6.f, 20.5f, 21.5f)); + EXPECT_EQ(mock_layer3->paint_bounds(), + SkRect::MakeLTRB(21.0f, 6.0f, 25.5f, 21.5f)); + EXPECT_EQ(cacheable_layer111->paint_bounds(), + SkRect::MakeLTRB(26.0f, 6.0f, 30.5f, 21.5f)); + EXPECT_EQ(cacheable_container_layer1->paint_bounds(), + SkRect::MakeLTRB(5.f, 6.f, 30.5f, 21.5f)); + + // the preroll context's raster cache is nullptr + EXPECT_EQ(preroll_context()->raster_cached_entries->size(), + static_cast(0)); + { + // frame1 + use_mock_raster_cache(); + preroll_context()->raster_cache->PrepareNewFrame(); + layer->Preroll(preroll_context(), SkMatrix::I()); + // Cache the cacheable entries + LayerTree::TryToRasterCache(*(preroll_context()->raster_cached_entries), + &paint_context()); + + EXPECT_EQ(preroll_context()->raster_cached_entries->size(), + static_cast(5)); + + // cacheable_container_layer1 will cache his children + EXPECT_EQ(cacheable_container_layer1->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_container_layer1->raster_cache_item()->GetId().value(), + SkMatrix::I())); + + EXPECT_EQ(cacheable_container_layer11->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_container_layer11->raster_cache_item()->GetId().value(), + SkMatrix::I())); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_container_layer11->raster_cache_item()->GetId().value(), + cache_canvas, &paint)); + + // The cacheable_layer111 should be cached when rended 3 frames + EXPECT_EQ(cacheable_layer111->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kNone); + // render count < 2 don't cache it + EXPECT_EQ(cacheable_container_layer2->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kNone); + preroll_context()->raster_cache->CleanupAfterFrame(); + } + + { + // frame2 + // new frame the layer tree will create new PrerollContext, so in here we + // clear the cached_entries + preroll_context()->raster_cached_entries->clear(); + preroll_context()->raster_cache->PrepareNewFrame(); + layer->Preroll(preroll_context(), SkMatrix::I()); + + // Cache the cacheable entries + LayerTree::TryToRasterCache(*(preroll_context()->raster_cached_entries), + &paint_context()); + EXPECT_EQ(preroll_context()->raster_cached_entries->size(), + static_cast(5)); + EXPECT_EQ(cacheable_container_layer1->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_container_layer1->raster_cache_item()->GetId().value(), + SkMatrix::I())); + + EXPECT_EQ(cacheable_container_layer11->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_container_layer11->raster_cache_item()->GetId().value(), + SkMatrix::I())); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_container_layer11->raster_cache_item()->GetId().value(), + cache_canvas, &paint)); + + EXPECT_EQ(cacheable_container_layer2->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kNone); + + // render count == 2 cache it + EXPECT_EQ(cacheable_layer21->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kCurrent); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_layer21->raster_cache_item()->GetId().value(), + SkMatrix::I())); + EXPECT_TRUE(raster_cache()->Draw( + cacheable_layer21->raster_cache_item()->GetId().value(), cache_canvas, + &paint)); + preroll_context()->raster_cache->CleanupAfterFrame(); + } + + { + // frame3 + // new frame the layer tree will create new PrerollContext, so in here we + // clear the cached_entries + preroll_context()->raster_cache->PrepareNewFrame(); + preroll_context()->raster_cached_entries->clear(); + layer->Preroll(preroll_context(), SkMatrix::I()); + + // Cache the cacheable entries + LayerTree::TryToRasterCache(*(preroll_context()->raster_cached_entries), + &paint_context()); + EXPECT_EQ(preroll_context()->raster_cached_entries->size(), + static_cast(5)); + EXPECT_EQ(cacheable_container_layer1->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kCurrent); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_container_layer1->raster_cache_item()->GetId().value(), + SkMatrix::I())); + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_container_layer11->raster_cache_item()->GetId().value(), + SkMatrix::I())); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_container_layer11->raster_cache_item()->GetId().value(), + cache_canvas, &paint)); + // The 3td frame, we will cache the cacheable_layer111, but his ancestor has + // been cached, so cacheable_layer111 Draw is false + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_layer111->raster_cache_item()->GetId().value(), + SkMatrix::I())); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_layer111->raster_cache_item()->GetId().value(), cache_canvas, + &paint)); + + // The third frame, we will cache the cacheable_container_layer2 + EXPECT_EQ(cacheable_container_layer2->raster_cache_item()->cache_state(), + RasterCacheItem::CacheState::kCurrent); + + EXPECT_TRUE(raster_cache()->HasEntry( + cacheable_layer21->raster_cache_item()->GetId().value(), + SkMatrix::I())); + preroll_context()->raster_cache->CleanupAfterFrame(); + } + + { + preroll_context()->raster_cache->PrepareNewFrame(); + // frame4 + preroll_context()->raster_cached_entries->clear(); + layer->Preroll(preroll_context(), SkMatrix::I()); + LayerTree::TryToRasterCache(*(preroll_context()->raster_cached_entries), + &paint_context()); + preroll_context()->raster_cache->CleanupAfterFrame(); + + // frame5 + preroll_context()->raster_cache->PrepareNewFrame(); + preroll_context()->raster_cached_entries->clear(); + layer->Preroll(preroll_context(), SkMatrix::I()); + LayerTree::TryToRasterCache(*(preroll_context()->raster_cached_entries), + &paint_context()); + preroll_context()->raster_cache->CleanupAfterFrame(); + + // frame6 + preroll_context()->raster_cache->PrepareNewFrame(); + preroll_context()->raster_cached_entries->clear(); + layer->Preroll(preroll_context(), SkMatrix::I()); + LayerTree::TryToRasterCache(*(preroll_context()->raster_cached_entries), + &paint_context()); + preroll_context()->raster_cache->CleanupAfterFrame(); + } +} + TEST_F(ContainerLayerTest, OpacityInheritance) { auto path1 = SkPath().addRect({10, 10, 30, 30}); auto mock1 = MockLayer::MakeOpacityCompatible(path1); @@ -246,6 +469,39 @@ TEST_F(ContainerLayerTest, OpacityInheritance) { container2->Preroll(context, SkMatrix::I()); EXPECT_FALSE(context->subtree_can_inherit_opacity); } +TEST_F(ContainerLayerTest, CollectionCacheableLayer) { + SkPath child_path; + child_path.addRect(5.0f, 6.0f, 20.5f, 21.5f); + SkPaint child_paint(SkColors::kGreen); + SkMatrix initial_transform = SkMatrix::Translate(-0.5f, -0.5f); + + auto mock_layer1 = std::make_shared(SkPath(), child_paint); + auto mock_cacheable_container_layer1 = + std::make_shared(); + auto mock_container_layer = std::make_shared(); + auto mock_cacheable_layer = + std::make_shared(child_path, child_paint); + mock_cacheable_container_layer1->Add(mock_cacheable_layer); + + // ContainerLayer + // |- MockLayer + // |- MockCacheableContainerLayer + // |- MockCacheableLayer + auto layer = std::make_shared(); + layer->Add(mock_cacheable_container_layer1); + layer->Add(mock_layer1); + + layer->Preroll(preroll_context(), initial_transform); + // raster cache is null, so no entry + ASSERT_EQ(preroll_context()->raster_cached_entries->size(), + static_cast(0)); + + use_mock_raster_cache(); + // preroll_context()->raster_cache = raster_cache(); + layer->Preroll(preroll_context(), initial_transform); + ASSERT_EQ(preroll_context()->raster_cached_entries->size(), + static_cast(2)); +} using ContainerLayerDiffTest = DiffContextTest; diff --git a/flow/layers/display_list_layer.cc b/flow/layers/display_list_layer.cc index 71f79da4591a0..5fb06d57e4ebd 100644 --- a/flow/layers/display_list_layer.cc +++ b/flow/layers/display_list_layer.cc @@ -4,11 +4,15 @@ #include "flutter/flow/layers/display_list_layer.h" +#include + #include "flutter/display_list/display_list_builder.h" #include "flutter/display_list/display_list_flags.h" #include "flutter/flow/layer_snapshot_store.h" +#include "flutter/flow/layers/cacheable_layer.h" #include "flutter/flow/layers/offscreen_surface.h" #include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_util.h" namespace flutter { @@ -16,10 +20,14 @@ DisplayListLayer::DisplayListLayer(const SkPoint& offset, SkiaGPUObject display_list, bool is_complex, bool will_change) - : offset_(offset), - display_list_(std::move(display_list)), - is_complex_(is_complex), - will_change_(will_change) {} + : offset_(offset), display_list_(std::move(display_list)) { + if (display_list_.skia_object() != nullptr) { + bounds_ = display_list_.skia_object()->bounds().makeOffset(offset_.x(), + offset_.y()); + display_list_raster_cache_item_ = DisplayListRasterCacheItem::Make( + display_list_.skia_object().get(), offset_, is_complex, will_change); + } +} bool DisplayListLayer::IsReplacing(DiffContext* context, const Layer* layer) const { @@ -86,28 +94,14 @@ bool DisplayListLayer::Compare(DiffContext::Statistics& statistics, void DisplayListLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { TRACE_EVENT0("flutter", "DisplayListLayer::Preroll"); - DisplayList* disp_list = display_list(); - SkRect bounds = disp_list->bounds().makeOffset(offset_.x(), offset_.y()); - + AutoCache cache = + AutoCache(display_list_raster_cache_item_.get(), context, matrix); if (disp_list->can_apply_group_opacity()) { context->subtree_can_inherit_opacity = true; } - - if (auto* cache = context->raster_cache) { - TRACE_EVENT0("flutter", "DisplayListLayer::RasterCache (Preroll)"); - if (context->cull_rect.intersects(bounds)) { - if (cache->Prepare(context, disp_list, is_complex_, will_change_, matrix, - offset_)) { - context->subtree_can_inherit_opacity = true; - } - } else { - // Don't evict raster cache entry during partial repaint - cache->Touch(disp_list, matrix); - } - } - set_paint_bounds(bounds); + set_paint_bounds(bounds_); } void DisplayListLayer::Paint(PaintContext& context) const { @@ -118,10 +112,9 @@ void DisplayListLayer::Paint(PaintContext& context) const { SkAutoCanvasRestore save(context.leaf_nodes_canvas, true); context.leaf_nodes_canvas->translate(offset_.x(), offset_.y()); - if (context.raster_cache) { + if (context.raster_cache && display_list_raster_cache_item_) { AutoCachePaint cache_paint(context); - if (context.raster_cache->Draw(*display_list(), *context.leaf_nodes_canvas, - cache_paint.paint())) { + if (display_list_raster_cache_item_->Draw(context, cache_paint.paint())) { TRACE_EVENT_INSTANT0("flutter", "raster cache hit"); return; } @@ -148,7 +141,7 @@ void DisplayListLayer::Paint(PaintContext& context) const { fml::TimePoint::Now() - start_time; const SkRect device_bounds = - RasterCache::GetDeviceBounds(paint_bounds(), ctm); + RasterCacheUtil::GetDeviceBounds(paint_bounds(), ctm); sk_sp raster_data = offscreen_surface->GetRasterData(true); LayerSnapshotData snapshot_data(unique_id(), offscreen_render_time, raster_data, device_bounds); diff --git a/flow/layers/display_list_layer.h b/flow/layers/display_list_layer.h index 347077455a205..3eaef523e7d58 100644 --- a/flow/layers/display_list_layer.h +++ b/flow/layers/display_list_layer.h @@ -5,8 +5,12 @@ #ifndef FLUTTER_FLOW_LAYERS_DISPLAY_LIST_LAYER_H_ #define FLUTTER_FLOW_LAYERS_DISPLAY_LIST_LAYER_H_ +#include + #include "flutter/display_list/display_list.h" +#include "flutter/flow/layers/display_list_raster_cache_item.h" #include "flutter/flow/layers/layer.h" +#include "flutter/flow/raster_cache_item.h" #include "flutter/flow/skia_gpu_object.h" namespace flutter { @@ -36,11 +40,17 @@ class DisplayListLayer : public Layer { void Paint(PaintContext& context) const override; + const DisplayListRasterCacheItem* raster_cache_item() const { + return display_list_raster_cache_item_.get(); + } + private: + std::unique_ptr display_list_raster_cache_item_; + SkPoint offset_; + SkRect bounds_; + flutter::SkiaGPUObject display_list_; - bool is_complex_ = false; - bool will_change_ = false; static bool Compare(DiffContext::Statistics& statistics, const DisplayListLayer* l1, diff --git a/flow/layers/display_list_layer_unittests.cc b/flow/layers/display_list_layer_unittests.cc index 54fc20a8f9aa9..941c20702368b 100644 --- a/flow/layers/display_list_layer_unittests.cc +++ b/flow/layers/display_list_layer_unittests.cc @@ -265,11 +265,11 @@ TEST_F(DisplayListLayerTest, CachedIncompatibleDisplayListOpacityInheritance) { // display_list_bounds.makeOffset(layer_offset.fX, layer_offset.fY); // save_layer_bounds.roundOut(&save_layer_bounds); // auto opacity_integral_matrix = - // RasterCache::GetIntegralTransCTM(SkMatrix::Translate(opacity_offset)); + // RasterCacheUtil::GetIntegralTransCTM(SkMatrix::Translate(opacity_offset)); // SkMatrix layer_offset_matrix = opacity_integral_matrix; // layer_offset_matrix.postTranslate(layer_offset.fX, layer_offset.fY); // auto layer_offset_integral_matrix = - // RasterCache::GetIntegralTransCTM(layer_offset_matrix); + // RasterCacheUtil::GetIntegralTransCTM(layer_offset_matrix); // // Using a recorder instead of a DisplayListBuilder so we can hand it // // off to the RasterCache::Draw() method // DisplayListCanvasRecorder recorder(SkRect::MakeWH(1000, 1000)); diff --git a/flow/layers/display_list_raster_cache_item.cc b/flow/layers/display_list_raster_cache_item.cc new file mode 100644 index 0000000000000..75a79bcf33c14 --- /dev/null +++ b/flow/layers/display_list_raster_cache_item.cc @@ -0,0 +1,177 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/flow/layers/display_list_raster_cache_item.h" + +#include +#include + +#include "flutter/display_list/display_list.h" +#include "flutter/flow/layers/layer.h" +#include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_item.h" +#include "flutter/flow/raster_cache_key.h" +#include "flutter/flow/raster_cache_util.h" +#include "flutter/flow/skia_gpu_object.h" + +namespace flutter { + +static bool IsDisplayListWorthRasterizing( + DisplayList* display_list, + bool will_change, + bool is_complex, + DisplayListComplexityCalculator* complexity_calculator) { + if (will_change) { + // If the display list is going to change in the future, there is no point + // in doing to extra work to rasterize. + return false; + } + + if (display_list == nullptr || + !RasterCacheUtil::CanRasterizeRect(display_list->bounds())) { + // No point in deciding whether the display list is worth rasterizing if it + // cannot be rasterized at all. + return false; + } + + if (is_complex) { + // The caller seems to have extra information about the display list and + // thinks the display list is always worth rasterizing. + return true; + } + + unsigned int complexity_score = complexity_calculator->Compute(display_list); + return complexity_calculator->ShouldBeCached(complexity_score); +} + +DisplayListRasterCacheItem::DisplayListRasterCacheItem( + DisplayList* display_list, + const SkPoint& offset, + bool is_complex, + bool will_change) + : RasterCacheItem(RasterCacheKeyID(display_list->unique_id(), + RasterCacheKeyType::kDisplayList), + CacheState::kCurrent), + display_list_(display_list), + offset_(offset), + is_complex_(is_complex), + will_change_(will_change) {} + +std::unique_ptr DisplayListRasterCacheItem::Make( + DisplayList* display_list, + const SkPoint& offset, + bool is_complex, + bool will_change) { + return std::make_unique(display_list, offset, + is_complex, will_change); +} + +void DisplayListRasterCacheItem::PrerollSetup(PrerollContext* context, + const SkMatrix& matrix) { + cache_state_ = CacheState::kNone; + DisplayListComplexityCalculator* complexity_calculator = + context->gr_context ? DisplayListComplexityCalculator::GetForBackend( + context->gr_context->backend()) + : DisplayListComplexityCalculator::GetForSoftware(); + + if (!IsDisplayListWorthRasterizing(display_list_, will_change_, is_complex_, + complexity_calculator)) { + // We only deal with display lists that are worthy of rasterization. + return; + } + + transformation_matrix_ = matrix; + transformation_matrix_.preTranslate(offset_.x(), offset_.y()); + + if (!transformation_matrix_.invert(nullptr)) { + // The matrix was singular. No point in going further. + return; + } + + if (context->raster_cached_entries && context->raster_cache) { + context->raster_cached_entries->push_back(this); + cache_state_ = CacheState::kCurrent; + } + return; +} + +void DisplayListRasterCacheItem::PrerollFinalize(PrerollContext* context, + const SkMatrix& matrix) { + if (cache_state_ == CacheState::kNone || !context->raster_cache || + !context->raster_cached_entries) { + return; + } + auto* raster_cache = context->raster_cache; + SkRect bounds = display_list_->bounds().makeOffset(offset_.x(), offset_.y()); + // We must to create an entry whenever if the react is intersect. + // if the rect is intersect we will get the entry access_count to confirm if + // it great than the threshold. Otherwise we only increase the entry + // access_count. + if (context->cull_rect.intersect(bounds)) { + if (raster_cache->MarkSeen(key_id_, transformation_matrix_) < + raster_cache->access_threshold()) { + cache_state_ = CacheState::kNone; + return; + } + context->subtree_can_inherit_opacity = true; + cache_state_ = CacheState::kCurrent; + } else { + raster_cache->Touch(key_id_, matrix); + } + return; +} + +bool DisplayListRasterCacheItem::Draw(const PaintContext& context, + const SkPaint* paint) const { + return Draw(context, context.leaf_nodes_canvas, paint); +} + +bool DisplayListRasterCacheItem::Draw(const PaintContext& context, + SkCanvas* canvas, + const SkPaint* paint) const { + if (!context.raster_cache || !canvas) { + return false; + } + if (cache_state_ == CacheState::kCurrent) { + return context.raster_cache->Draw(key_id_, *canvas, paint); + } + // This display_list doesn't cache itself, this only increase the entry + // access_count; + context.raster_cache->Touch(key_id_, canvas->getTotalMatrix()); + return false; +} + +static const auto* flow_type = "RasterCacheFlow::DisplayList"; + +bool DisplayListRasterCacheItem::TryToPrepareRasterCache( + const PaintContext& context, + bool parent_cached) const { + // If we don't have raster_cache we should not cache the current display_list. + // If the current node's ancestor has been cached we also should not cache the + // current node. In the current frame, the raster_cache will collect all + // display_list or picture_list to calculate the memory they used, we + // shouldn't cache the current node if the memory is more significant than the + // limit. + if (cache_state_ == kNone || !context.raster_cache || parent_cached || + !context.raster_cache->GenerateNewCacheInThisFrame()) { + return false; + } + SkRect bounds = display_list_->bounds().makeOffset(offset_.x(), offset_.y()); + RasterCache::Context r_context = { + // clang-format off + .gr_context = context.gr_context, + .dst_color_space = context.dst_color_space, + .matrix = transformation_matrix_, + .logical_rect = bounds, + .flow_type = flow_type, + .checkerboard = context.checkerboard_offscreen_layers, + // clang-format on + }; + return context.raster_cache->UpdateCacheEntry( + GetId().value(), r_context, + [display_list = display_list_](SkCanvas* canvas) { + display_list->RenderTo(canvas); + }); +} +} // namespace flutter diff --git a/flow/layers/display_list_raster_cache_item.h b/flow/layers/display_list_raster_cache_item.h new file mode 100644 index 0000000000000..65d838939e92d --- /dev/null +++ b/flow/layers/display_list_raster_cache_item.h @@ -0,0 +1,66 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_FLOW_DISPLAY_LIST_RASTER_CACHE_ITEM_H_ +#define FLUTTER_FLOW_DISPLAY_LIST_RASTER_CACHE_ITEM_H_ + +#include +#include + +#include "flutter/display_list/display_list.h" +#include "flutter/display_list/display_list_utils.h" +#include "flutter/flow/embedded_views.h" +#include "flutter/flow/raster_cache_item.h" +#include "include/core/SkCanvas.h" +#include "include/core/SkColorSpace.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkPicture.h" +#include "include/core/SkPoint.h" +#include "include/core/SkRect.h" + +namespace flutter { + +class DisplayListRasterCacheItem : public RasterCacheItem { + public: + DisplayListRasterCacheItem(DisplayList* display_list, + const SkPoint& offset, + bool is_complex = true, + bool will_change = false); + + static std::unique_ptr Make(DisplayList*, + const SkPoint& offset, + bool is_complex, + bool will_change); + + void PrerollSetup(PrerollContext* context, const SkMatrix& matrix) override; + + void PrerollFinalize(PrerollContext* context, + const SkMatrix& matrix) override; + + bool Draw(const PaintContext& context, const SkPaint* paint) const override; + + bool Draw(const PaintContext& context, + SkCanvas* canvas, + const SkPaint* paint) const override; + + bool TryToPrepareRasterCache(const PaintContext& context, + bool parent_cached = false) const override; + + void ModifyMatrix(SkPoint offset) const { + matrix_ = matrix_.preTranslate(offset.x(), offset.y()); + } + + const DisplayList* display_list() const { return display_list_; } + + private: + SkMatrix transformation_matrix_; + DisplayList* display_list_; + SkPoint offset_; + bool is_complex_; + bool will_change_; +}; + +} // namespace flutter + +#endif // FLUTTER_FLOW_DISPLAY_LIST_RASTER_CACHE_ITEM_H_ diff --git a/flow/layers/image_filter_layer.cc b/flow/layers/image_filter_layer.cc index c39505dea320a..e210309ac95ab 100644 --- a/flow/layers/image_filter_layer.cc +++ b/flow/layers/image_filter_layer.cc @@ -3,13 +3,16 @@ // found in the LICENSE file. #include "flutter/flow/layers/image_filter_layer.h" +#include "flutter/flow/layers/layer.h" +#include "flutter/flow/raster_cache_util.h" namespace flutter { ImageFilterLayer::ImageFilterLayer(sk_sp filter) - : filter_(std::move(filter)), - transformed_filter_(nullptr), - render_count_(1) {} + : CacheableContainerLayer( + RasterCacheUtil::kMinimumRendersBeforeCachingFilterLayer), + filter_(std::move(filter)), + transformed_filter_(nullptr) {} void ImageFilterLayer::Diff(DiffContext* context, const Layer* old_layer) { DiffContext::AutoSubtreeRestore subtree(context); @@ -39,9 +42,12 @@ void ImageFilterLayer::Diff(DiffContext* context, const Layer* old_layer) { void ImageFilterLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { TRACE_EVENT0("flutter", "ImageFilterLayer::Preroll"); + Layer::AutoPrerollSaveLayerState save = Layer::AutoPrerollSaveLayerState::Create(context); + AutoCache cache = AutoCache(layer_raster_cache_item_.get(), context, matrix); + SkRect child_bounds = SkRect::MakeEmpty(); PrerollChildren(context, matrix, &child_bounds); context->subtree_can_inherit_opacity = true; @@ -62,39 +68,13 @@ void ImageFilterLayer::Preroll(PrerollContext* context, set_paint_bounds(child_bounds); - SkMatrix child_matrix(matrix); - - transformed_filter_ = nullptr; - if (render_count_ >= kMinimumRendersBeforeCachingFilterLayer) { - // We have rendered this same ImageFilterLayer object enough - // times to consider its properties and children to be stable - // from frame to frame so we try to cache the layer itself - // for maximum performance. - TryToPrepareRasterCache(context, this, child_matrix, - RasterCacheLayerStrategy::kLayer); - } else { - // This ImageFilterLayer is not yet considered stable so we - // increment the count to measure how many times it has been - // seen from frame to frame. - render_count_++; - - // Now we will try to pre-render the children into the cache. - // To apply the filter to pre-rendered children, we must first - // modify the filter to be aware of the transform under which - // the cached bitmap was produced. Some SkImageFilter - // instances can do this operation on some transforms and some - // (filters or transforms) cannot. We can only cache the children - // and apply the filter on the fly if this operation succeeds. - transformed_filter_ = filter_->makeWithLocalMatrix(child_matrix); - if (transformed_filter_) { - // With a modified SkImageFilter we can now try to cache the - // children to avoid their rendering costs if they remain - // stable between frames and also avoiding a rendering surface - // switch during the Paint phase even if they are not stable. - // This benefit is seen most during animations. - TryToPrepareRasterCache(context, this, matrix, - RasterCacheLayerStrategy::kLayerChildren); - } + // CacheChildren only when the transformed_filter_ doesn't equal null. + // So in here we reset the LayerRasterCacheItem cache state. + layer_raster_cache_item_->MarkNotCacheChildren(); + + transformed_filter_ = filter_->makeWithLocalMatrix(matrix); + if (transformed_filter_) { + layer_raster_cache_item_->MarkCacheChildren(); } } @@ -104,20 +84,11 @@ void ImageFilterLayer::Paint(PaintContext& context) const { AutoCachePaint cache_paint(context); - if (context.raster_cache) { - if (context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayer, - cache_paint.paint())) { - return; - } - if (transformed_filter_) { - cache_paint.setImageFilter(transformed_filter_); - if (context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayerChildren, - cache_paint.paint())) { - return; - } - } + if (layer_raster_cache_item_->IsCacheChildren()) { + cache_paint.setImageFilter(transformed_filter_); + } + if (layer_raster_cache_item_->Draw(context, cache_paint.paint())) { + return; } cache_paint.setImageFilter(filter_); diff --git a/flow/layers/image_filter_layer.h b/flow/layers/image_filter_layer.h index 2e2b2a3c5da9a..bb2f3a6d60335 100644 --- a/flow/layers/image_filter_layer.h +++ b/flow/layers/image_filter_layer.h @@ -5,12 +5,13 @@ #ifndef FLUTTER_FLOW_LAYERS_IMAGE_FILTER_LAYER_H_ #define FLUTTER_FLOW_LAYERS_IMAGE_FILTER_LAYER_H_ -#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/cacheable_layer.h" +#include "flutter/flow/layers/layer.h" #include "third_party/skia/include/core/SkImageFilter.h" namespace flutter { -class ImageFilterLayer : public ContainerLayer { +class ImageFilterLayer : public CacheableContainerLayer { public: explicit ImageFilterLayer(sk_sp filter); @@ -21,25 +22,8 @@ class ImageFilterLayer : public ContainerLayer { void Paint(PaintContext& context) const override; private: - // The ImageFilterLayer might cache the filtered output of this layer - // if the layer remains stable (if it is not animating for instance). - // If the ImageFilterLayer is not the same between rendered frames, - // though, it will cache its children instead and filter their cached - // output on the fly. - // Caching just the children saves the time to render them and also - // avoids a rendering surface switch to draw them. - // Caching the layer itself avoids all of that and additionally avoids - // the cost of applying the filter, but can be worse than caching the - // children if the filter itself is not stable from frame to frame. - // This constant controls how many times we will Preroll and Paint this - // same ImageFilterLayer before we consider the layer and filter to be - // stable enough to switch from caching the children to caching the - // filtered output of this layer. - static constexpr int kMinimumRendersBeforeCachingFilterLayer = 3; - sk_sp filter_; sk_sp transformed_filter_; - int render_count_; FML_DISALLOW_COPY_AND_ASSIGN(ImageFilterLayer); }; diff --git a/flow/layers/image_filter_layer_unittests.cc b/flow/layers/image_filter_layer_unittests.cc index 880f7fda628c8..546331452a9fa 100644 --- a/flow/layers/image_filter_layer_unittests.cc +++ b/flow/layers/image_filter_layer_unittests.cc @@ -4,12 +4,16 @@ #include "flutter/flow/layers/image_filter_layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/transform_layer.h" #include "flutter/flow/testing/diff_context_test.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/fml/macros.h" #include "flutter/testing/mock_canvas.h" +#include "gtest/gtest.h" +#include "include/core/SkPaint.h" +#include "include/core/SkPath.h" #include "third_party/skia/include/effects/SkImageFilters.h" namespace flutter { @@ -290,34 +294,29 @@ TEST_F(ImageFilterLayerTest, CacheChild) { cache_canvas.setMatrix(cache_ctm); SkCanvas other_canvas; other_canvas.setMatrix(other_transform); + SkPaint paint = SkPaint(); use_mock_raster_cache(); + const auto* cacheable_image_filter_item = layer->raster_cache_item(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + // ImageFilterLayer default cache itself. + EXPECT_EQ(cacheable_image_filter_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_image_filter_item->Draw(paint_context(), &paint)); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + // The layer_cache_item's strategy is Children, mean we will must cache + // his children + EXPECT_EQ(cacheable_image_filter_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->Draw(cacheable_image_filter_item->GetId().value(), + cache_canvas, &paint)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_image_filter_item->GetId().value(), other_canvas, &paint)); } TEST_F(ImageFilterLayerTest, CacheChildren) { @@ -326,6 +325,7 @@ TEST_F(ImageFilterLayerTest, CacheChildren) { SkSamplingOptions(SkFilterMode::kLinear, SkMipmapMode::kLinear), nullptr); auto initial_transform = SkMatrix::Translate(50.0, 25.5); auto other_transform = SkMatrix::Scale(1.0, 2.0); + SkPaint paint = SkPaint(); const SkPath child_path1 = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); const SkPath child_path2 = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); auto mock_layer1 = std::make_shared(child_path1); @@ -342,35 +342,73 @@ TEST_F(ImageFilterLayerTest, CacheChildren) { use_mock_raster_cache(); + const auto* cacheable_image_filter_item = layer->raster_cache_item(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + + // ImageFilterLayer default cache itself. + EXPECT_EQ(cacheable_image_filter_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_image_filter_item->Draw(paint_context(), &paint)); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + + // The layer_cache_item's strategy is Children, mean we will must cache his + // children + EXPECT_EQ(cacheable_image_filter_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_TRUE(raster_cache()->Draw(cacheable_image_filter_item->GetId().value(), + cache_canvas, &paint)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_image_filter_item->GetId().value(), other_canvas, &paint)); +} + +TEST_F(ImageFilterLayerTest, CacheImageFilterLayerSelf) { + auto layer_filter = SkImageFilters::MatrixTransform( + SkMatrix(), + SkSamplingOptions(SkFilterMode::kLinear, SkMipmapMode::kLinear), nullptr); + auto initial_transform = SkMatrix::Translate(50.0, 25.5); + auto other_transform = SkMatrix::Scale(1.0, 2.0); + const SkPath child_path = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); + auto mock_layer = std::make_shared(child_path); + auto layer = std::make_shared(layer_filter); + layer->Add(mock_layer); + + SkMatrix cache_ctm = initial_transform; + SkCanvas cache_canvas; + cache_canvas.setMatrix(cache_ctm); + SkCanvas other_canvas; + other_canvas.setMatrix(other_transform); + SkPaint paint = SkPaint(); + + use_mock_raster_cache(); + const auto* cacheable_image_filter_item = layer->raster_cache_item(); + // frame 1. + layer->Preroll(preroll_context(), initial_transform); + layer->Paint(paint_context()); + // frame 2. + layer->Preroll(preroll_context(), initial_transform); + layer->Paint(paint_context()); + // frame 3. + layer->Preroll(preroll_context(), initial_transform); + layer->Paint(paint_context()); + + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + // frame1,2 cache the ImageFilter's children layer, frame3 cache the + // ImageFilterLayer + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)2); + + // ImageFilterLayer default cache itself. + EXPECT_EQ(cacheable_image_filter_item->cache_state(), + RasterCacheItem::CacheState::kCurrent); + EXPECT_EQ(cacheable_image_filter_item->GetId(), + RasterCacheKeyID(layer->unique_id(), RasterCacheKeyType::kLayer)); + EXPECT_TRUE(raster_cache()->Draw(cacheable_image_filter_item->GetId().value(), + cache_canvas, &paint)); + EXPECT_FALSE(raster_cache()->Draw( + cacheable_image_filter_item->GetId().value(), other_canvas, &paint)); } TEST_F(ImageFilterLayerTest, OpacityInheritance) { diff --git a/flow/layers/layer.h b/flow/layers/layer.h index 898fa103152a3..f36c13200e367 100644 --- a/flow/layers/layer.h +++ b/flow/layers/layer.h @@ -5,7 +5,9 @@ #ifndef FLUTTER_FLOW_LAYERS_LAYER_H_ #define FLUTTER_FLOW_LAYERS_LAYER_H_ +#include #include +#include #include #include "flutter/common/graphics/texture.h" @@ -24,17 +26,20 @@ #include "third_party/skia/include/core/SkColorFilter.h" #include "third_party/skia/include/core/SkMatrix.h" #include "third_party/skia/include/core/SkPath.h" -#include "third_party/skia/include/core/SkPicture.h" #include "third_party/skia/include/core/SkRRect.h" #include "third_party/skia/include/core/SkRect.h" #include "third_party/skia/include/utils/SkNWayCanvas.h" - namespace flutter { - namespace testing { class MockLayer; } // namespace testing +class ContainerLayer; +class DisplayListLayer; +class PerformanceOverlayLayer; +class TextureLayer; +class RasterCacheItem; + static constexpr SkRect kGiantRect = SkRect::MakeLTRB(-1E9F, -1E9F, 1E9F, 1E9F); // This should be an exact copy of the Clip enum in painting.dart. @@ -99,12 +104,47 @@ struct PrerollContext { // from your Preroll method. (eg. layers that always apply a // saveLayer when rendering anyway can apply the opacity there) bool subtree_can_inherit_opacity = false; + + std::vector* raster_cached_entries; }; -class ContainerLayer; -class DisplayListLayer; -class PerformanceOverlayLayer; -class TextureLayer; +struct PaintContext { + // When splitting the scene into multiple canvases (e.g when embedding + // a platform view on iOS) during the paint traversal we apply the non leaf + // flow layers to all canvases, and leaf layers just to the "current" + // canvas. Applying the non leaf layers to all canvases ensures that when + // we switch a canvas (when painting a PlatformViewLayer) the next canvas + // has the exact same state as the current canvas. + // The internal_nodes_canvas is a SkNWayCanvas which is used by non leaf + // and applies the operations to all canvases. + // The leaf_nodes_canvas is the "current" canvas and is used by leaf + // layers. + SkCanvas* internal_nodes_canvas; + SkCanvas* leaf_nodes_canvas; + GrDirectContext* gr_context; + SkColorSpace* dst_color_space; + ExternalViewEmbedder* view_embedder; + const Stopwatch& raster_time; + const Stopwatch& ui_time; + TextureRegistry& texture_registry; + const RasterCache* raster_cache; + const bool checkerboard_offscreen_layers; + const float frame_device_pixel_ratio = 1.0f; + + // Snapshot store to collect leaf layer snapshots. The store is non-null + // only when leaf layer tracing is enabled. + LayerSnapshotStore* layer_snapshot_store = nullptr; + bool enable_leaf_layer_tracing = false; + + // The following value should be used to modulate the opacity of the + // layer during |Paint|. If the layer does not set the corresponding + // |layer_can_inherit_opacity()| flag, then this value should always + // be |SK_Scalar1|. The value is to be applied as if by using a + // |saveLayer| with an |SkPaint| initialized to this alphaf value and + // a |kSrcOver| blend mode. + SkScalar inherited_opacity = SK_Scalar1; + DisplayListBuilder* leaf_nodes_builder = nullptr; +}; // Represents a single composited layer. Created on the UI thread but then // subquently used on the Rasterizer thread. @@ -164,43 +204,6 @@ class Layer { bool prev_surface_needs_readback_; }; - struct PaintContext { - // When splitting the scene into multiple canvases (e.g when embedding - // a platform view on iOS) during the paint traversal we apply the non leaf - // flow layers to all canvases, and leaf layers just to the "current" - // canvas. Applying the non leaf layers to all canvases ensures that when - // we switch a canvas (when painting a PlatformViewLayer) the next canvas - // has the exact same state as the current canvas. - // The internal_nodes_canvas is a SkNWayCanvas which is used by non leaf - // and applies the operations to all canvases. - // The leaf_nodes_canvas is the "current" canvas and is used by leaf - // layers. - SkCanvas* internal_nodes_canvas; - SkCanvas* leaf_nodes_canvas; - GrDirectContext* gr_context; - ExternalViewEmbedder* view_embedder; - const Stopwatch& raster_time; - const Stopwatch& ui_time; - TextureRegistry& texture_registry; - const RasterCache* raster_cache; - const bool checkerboard_offscreen_layers; - const float frame_device_pixel_ratio = 1.0f; - - // Snapshot store to collect leaf layer snapshots. The store is non-null - // only when leaf layer tracing is enabled. - LayerSnapshotStore* layer_snapshot_store = nullptr; - bool enable_leaf_layer_tracing = false; - - // The following value should be used to modulate the opacity of the - // layer during |Paint|. If the layer does not set the corresponding - // |layer_can_inherit_opacity()| flag, then this value should always - // be |SK_Scalar1|. The value is to be applied as if by using a - // |saveLayer| with an |SkPaint| initialized to this alphaf value and - // a |kSrcOver| blend mode. - SkScalar inherited_opacity = SK_Scalar1; - DisplayListBuilder* leaf_nodes_builder = nullptr; - }; - class AutoCachePaint { public: explicit AutoCachePaint(PaintContext& context) : context_(context) { @@ -299,6 +302,8 @@ class Layer { virtual void Paint(PaintContext& context) const = 0; + virtual void PaintChildren(PaintContext& context) const { FML_DCHECK(false); } + bool subtree_has_platform_view() const { return subtree_has_platform_view_; } void set_subtree_has_platform_view(bool value) { subtree_has_platform_view_ = value; diff --git a/flow/layers/layer_raster_cache_item.cc b/flow/layers/layer_raster_cache_item.cc new file mode 100644 index 0000000000000..d0d987fcaa793 --- /dev/null +++ b/flow/layers/layer_raster_cache_item.cc @@ -0,0 +1,193 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/flow/layers/layer_raster_cache_item.h" +#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/raster_cache_item.h" + +namespace flutter { + +LayerRasterCacheItem::LayerRasterCacheItem(Layer* layer, + int layer_cached_threshold, + bool can_cache_children) + : RasterCacheItem( + RasterCacheKeyID(layer->unique_id(), RasterCacheKeyType::kLayer), + // The layer raster_cache_item's cache state default value is none. + CacheState::kNone), + layer_(layer), + layer_cached_threshold_(layer_cached_threshold), + can_cache_children_(can_cache_children) {} + +void LayerRasterCacheItem::PrerollSetup(PrerollContext* context, + const SkMatrix& matrix) { + cache_state_ = CacheState::kNone; + if (context->raster_cache && context->raster_cached_entries) { + context->raster_cached_entries->push_back(this); + child_items_ = context->raster_cached_entries->size(); + matrix_ = matrix; + } +} + +std::unique_ptr LayerRasterCacheItem::Make( + Layer* layer, + int layer_cache_threshold, + bool can_cache_children) { + return std::make_unique(layer, layer_cache_threshold, + can_cache_children); +} + +void LayerRasterCacheItem::PrerollFinalize(PrerollContext* context, + const SkMatrix& matrix) { + if (!context->raster_cache || !context->raster_cached_entries) { + return; + } + // We've marked the cache entry that we would like to cache so it stays + // alive, but if the following conditions apply then we need to set our + // state back to kDoNotCache so that we don't populate the entry later. + if (context->has_platform_view || context->has_texture_layer || + !SkRect::Intersects(context->cull_rect, layer_->paint_bounds())) { + return; + } + child_items_ = context->raster_cached_entries->size() - child_items_; + if (num_cache_attempts_ >= layer_cached_threshold_) { + // the layer can be cached + cache_state_ = CacheState::kCurrent; + context->raster_cache->MarkSeen(key_id_, matrix_); + } else { + num_cache_attempts_++; + // access current layer + if (can_cache_children_) { + if (!layer_children_id_.has_value()) { + auto ids = RasterCacheKeyID::LayerChildrenIds(layer_); + if (!ids.has_value()) { + return; + } + layer_children_id_.emplace(std::move(ids.value()), + RasterCacheKeyType::kLayerChildren); + } + cache_state_ = CacheState::kChildren; + context->raster_cache->MarkSeen(layer_children_id_.value(), matrix_); + } + } +} + +std::optional LayerRasterCacheItem::GetId() const { + switch (cache_state_) { + case kCurrent: + return key_id_; + case kChildren: + return layer_children_id_; + default: + return {}; + } +} + +const SkRect* LayerRasterCacheItem::GetPaintBoundsFromLayer() const { + switch (cache_state_) { + case CacheState::kCurrent: + return &(layer_->paint_bounds()); + case CacheState::kChildren: + FML_DCHECK(layer_->as_container_layer()); + return &(layer_->as_container_layer()->child_paint_bounds()); + default: + FML_DCHECK(cache_state_ != CacheState::kNone); + return nullptr; + } +} + +bool Rasterize(RasterCacheItem::CacheState cache_state, + Layer* layer, + const PaintContext& paint_context, + SkCanvas* canvas) { + FML_DCHECK(cache_state != RasterCacheItem::CacheState::kNone); + SkISize canvas_size = canvas->getBaseLayerSize(); + SkNWayCanvas internal_nodes_canvas(canvas_size.width(), canvas_size.height()); + internal_nodes_canvas.setMatrix(canvas->getTotalMatrix()); + internal_nodes_canvas.addCanvas(canvas); + PaintContext context = { + // clang-format off + .internal_nodes_canvas = static_cast(&internal_nodes_canvas), + .leaf_nodes_canvas = canvas, + .gr_context = paint_context.gr_context, + .dst_color_space = paint_context.dst_color_space, + .view_embedder = paint_context.view_embedder, + .raster_time = paint_context.raster_time, + .ui_time = paint_context.ui_time, + .texture_registry = paint_context.texture_registry, + .raster_cache = paint_context.raster_cache, + .checkerboard_offscreen_layers = paint_context.checkerboard_offscreen_layers, + .frame_device_pixel_ratio = paint_context.frame_device_pixel_ratio, + // clang-format on + }; + + switch (cache_state) { + case RasterCacheItem::CacheState::kCurrent: + FML_DCHECK(layer->needs_painting(context)); + layer->Paint(context); + break; + case RasterCacheItem::CacheState::kChildren: + layer->PaintChildren(context); + break; + case RasterCacheItem::CacheState::kNone: + FML_DCHECK(cache_state != RasterCacheItem::CacheState::kNone); + return false; + } + return true; +} + +static const auto* flow_type = "RasterCacheFlow::Layer"; + +bool LayerRasterCacheItem::TryToPrepareRasterCache(const PaintContext& context, + bool parent_cached) const { + if (!context.raster_cache || parent_cached) { + return false; + } + if (cache_state_ != kNone) { + if (const SkRect* paint_bounds = GetPaintBoundsFromLayer()) { + RasterCache::Context r_context = { + // clang-format off + .gr_context = context.gr_context, + .dst_color_space = context.dst_color_space, + .matrix = matrix_, + .logical_rect = *paint_bounds, + .flow_type = flow_type, + .checkerboard = context.checkerboard_offscreen_layers, + // clang-format on + }; + return context.raster_cache->UpdateCacheEntry( + GetId().value(), r_context, + [ctx = context, cache_state = cache_state_, + layer = layer_](SkCanvas* canvas) { + Rasterize(cache_state, layer, ctx, canvas); + }); + } + } + return false; +} + +bool LayerRasterCacheItem::Draw(const PaintContext& context, + const SkPaint* paint) const { + return Draw(context, context.leaf_nodes_canvas, paint); +} + +bool LayerRasterCacheItem::Draw(const PaintContext& context, + SkCanvas* canvas, + const SkPaint* paint) const { + if (!context.raster_cache || !canvas) { + return false; + } + switch (cache_state_) { + case RasterCacheItem::kNone: + return false; + case RasterCacheItem::kCurrent: { + return context.raster_cache->Draw(key_id_, *canvas, paint); + } + case RasterCacheItem::kChildren: { + return context.raster_cache->Draw(layer_children_id_.value(), *canvas, + paint); + } + } +} + +} // namespace flutter diff --git a/flow/layers/layer_raster_cache_item.h b/flow/layers/layer_raster_cache_item.h new file mode 100644 index 0000000000000..3588abdf3b627 --- /dev/null +++ b/flow/layers/layer_raster_cache_item.h @@ -0,0 +1,72 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_FLOW_LAYER_RASTER_CACHE_ITEM_H_ +#define FLUTTER_FLOW_LAYER_RASTER_CACHE_ITEM_H_ + +#include +#include + +#include "flutter/flow/raster_cache_item.h" + +namespace flutter { + +class LayerRasterCacheItem : public RasterCacheItem { + public: + explicit LayerRasterCacheItem(Layer* layer, + int layer_cached_threshold = 1, + bool can_cache_children = false); + + /** + * @brief Create a LayerRasterCacheItem, connect a layer and manage the + * Layer's raster cache + * + * @param layer_cache_threshold after how many frames to start trying to + * cache the layer self + * @param can_cache_children the layer can do a cache for his children + */ + static std::unique_ptr + Make(Layer*, int layer_cache_threshold, bool can_cache_children = false); + + std::optional GetId() const override; + + void PrerollSetup(PrerollContext* context, const SkMatrix& matrix) override; + + void PrerollFinalize(PrerollContext* context, + const SkMatrix& matrix) override; + + bool Draw(const PaintContext& context, const SkPaint* paint) const override; + + bool Draw(const PaintContext& context, + SkCanvas* canvas, + const SkPaint* paint) const override; + + bool TryToPrepareRasterCache(const PaintContext& context, + bool parent_cached = false) const override; + + void MarkCacheChildren() { can_cache_children_ = true; } + + void MarkNotCacheChildren() { can_cache_children_ = false; } + + bool IsCacheChildren() const { return cache_state_ == CacheState::kChildren; } + + protected: + const SkRect* GetPaintBoundsFromLayer() const; + + Layer* layer_; + + // The id for cache the layer's children. + std::optional layer_children_id_; + + int layer_cached_threshold_ = 1; + + // if the layer's children can be directly cache, set the param is true; + bool can_cache_children_ = false; + + mutable int num_cache_attempts_ = 1; +}; + +} // namespace flutter + +#endif // FLUTTER_FLOW_LAYER_RASTER_CACHE_ITEM_H_ diff --git a/flow/layers/layer_tree.cc b/flow/layers/layer_tree.cc index 643c40b10f3cd..79cf6cc13ecd3 100644 --- a/flow/layers/layer_tree.cc +++ b/flow/layers/layer_tree.cc @@ -4,11 +4,15 @@ #include "flutter/flow/layers/layer_tree.h" +#include "flutter/flow/embedded_views.h" #include "flutter/flow/frame_timings.h" #include "flutter/flow/layer_snapshot_store.h" +#include "flutter/flow/layers/cacheable_layer.h" #include "flutter/flow/layers/layer.h" +#include "flutter/flow/raster_cache.h" #include "flutter/fml/time/time_point.h" #include "flutter/fml/trace_event.h" +#include "include/core/SkMatrix.h" #include "third_party/skia/include/core/SkPictureRecorder.h" #include "third_party/skia/include/utils/SkNWayCanvas.h" @@ -23,6 +27,10 @@ LayerTree::LayerTree(const SkISize& frame_size, float device_pixel_ratio) FML_CHECK(device_pixel_ratio_ != 0.0f); } +inline SkColorSpace* GetColorSpace(SkCanvas* canvas) { + return canvas ? canvas->imageInfo().colorSpace() : nullptr; +} + bool LayerTree::Preroll(CompositorContext::ScopedFrame& frame, bool ignore_raster_cache, SkRect cull_rect) { @@ -33,13 +41,14 @@ bool LayerTree::Preroll(CompositorContext::ScopedFrame& frame, return false; } - SkColorSpace* color_space = - frame.canvas() ? frame.canvas()->imageInfo().colorSpace() : nullptr; + SkColorSpace* color_space = GetColorSpace(frame.canvas()); frame.context().raster_cache().SetCheckboardCacheImages( checkerboard_raster_cache_images_); MutatorsStack stack; RasterCache* cache = ignore_raster_cache ? nullptr : &frame.context().raster_cache(); + raster_cache_items_.clear(); + PrerollContext context = { // clang-format off .raster_cache = cache, @@ -54,13 +63,43 @@ bool LayerTree::Preroll(CompositorContext::ScopedFrame& frame, .texture_registry = frame.context().texture_registry(), .checkerboard_offscreen_layers = checkerboard_offscreen_layers_, .frame_device_pixel_ratio = device_pixel_ratio_, + .raster_cached_entries = &raster_cache_items_, // clang-format on }; root_layer_->Preroll(&context, frame.root_surface_transformation()); + return context.surface_needs_readback; } +void LayerTree::TryToRasterCache( + const std::vector& raster_cached_items, + const PaintContext* paint_context, + bool ignore_raster_cache) { + unsigned i = 0; + const auto item_size = raster_cached_items.size(); + while (i < item_size) { + auto* item = raster_cached_items[i]; + if (item->need_caching()) { + // try to cache current layer + // If parent failed to cache, just proceed to the next entry + // cache current entry, this entry's parent must not cache + if (item->TryToPrepareRasterCache(*paint_context, false)) { + // if parent cached, then foreach child layer to touch them. + for (unsigned j = 0; j < item->child_items(); j++) { + auto* child_item = raster_cached_items[i + j + 1]; + if (child_item->need_caching()) { + child_item->TryToPrepareRasterCache(*paint_context, true); + } + } + i += item->child_items() + 1; + continue; + } + } + i++; + } +} + void LayerTree::Paint(CompositorContext::ScopedFrame& frame, bool ignore_raster_cache) const { TRACE_EVENT0("flutter", "LayerTree::Paint"); @@ -87,13 +126,15 @@ void LayerTree::Paint(CompositorContext::ScopedFrame& frame, snapshot_store = &frame.context().snapshot_store(); } + SkColorSpace* color_space = GetColorSpace(frame.canvas()); RasterCache* cache = ignore_raster_cache ? nullptr : &frame.context().raster_cache(); - Layer::PaintContext context = { + PaintContext context = { // clang-format off .internal_nodes_canvas = &internal_nodes_canvas, .leaf_nodes_canvas = frame.canvas(), .gr_context = frame.gr_context(), + .dst_color_space = color_space, .view_embedder = frame.view_embedder(), .raster_time = frame.context().raster_time(), .ui_time = frame.context().ui_time(), @@ -108,6 +149,10 @@ void LayerTree::Paint(CompositorContext::ScopedFrame& frame, // clang-format on }; + if (cache) { + TryToRasterCache(raster_cache_items_, &context, ignore_raster_cache); + } + if (root_layer_->needs_painting(context)) { root_layer_->Paint(context); } @@ -146,11 +191,12 @@ sk_sp LayerTree::Flatten(const SkRect& bounds) { SkNWayCanvas internal_nodes_canvas(canvas_size.width(), canvas_size.height()); internal_nodes_canvas.addCanvas(&builder); - Layer::PaintContext paint_context = { + PaintContext paint_context = { // clang-format off .internal_nodes_canvas = &internal_nodes_canvas, .leaf_nodes_canvas = &builder, .gr_context = nullptr, + .dst_color_space = nullptr, .view_embedder = nullptr, .raster_time = unused_stopwatch, .ui_time = unused_stopwatch, diff --git a/flow/layers/layer_tree.h b/flow/layers/layer_tree.h index 6b1db0bc54fd4..c7daa5f809e9f 100644 --- a/flow/layers/layer_tree.h +++ b/flow/layers/layer_tree.h @@ -10,6 +10,7 @@ #include "flutter/flow/compositor_context.h" #include "flutter/flow/layers/layer.h" +#include "flutter/flow/raster_cache.h" #include "flutter/fml/macros.h" #include "flutter/fml/time/time_delta.h" #include "third_party/skia/include/core/SkPicture.h" @@ -32,6 +33,11 @@ class LayerTree { bool ignore_raster_cache = false, SkRect cull_rect = kGiantRect); + static void TryToRasterCache( + const std::vector& raster_cached_entries, + const PaintContext* paint_context, + bool ignore_raster_cache = false); + void Paint(CompositorContext::ScopedFrame& frame, bool ignore_raster_cache = false) const; @@ -91,6 +97,8 @@ class LayerTree { PaintRegionMap paint_region_map_; + std::vector raster_cache_items_; + FML_DISALLOW_COPY_AND_ASSIGN(LayerTree); }; diff --git a/flow/layers/layer_tree_unittests.cc b/flow/layers/layer_tree_unittests.cc index 289139b1b8067..fa3bb00b455eb 100644 --- a/flow/layers/layer_tree_unittests.cc +++ b/flow/layers/layer_tree_unittests.cc @@ -2,10 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include #include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/compositor_context.h" #include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/raster_cache.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/fml/macros.h" #include "flutter/testing/canvas_test.h" @@ -14,7 +16,6 @@ namespace flutter { namespace testing { - class LayerTreeTest : public CanvasTest { public: LayerTreeTest() @@ -198,7 +199,7 @@ TEST_F(LayerTreeTest, PrerollContextInitialization) { // PrerollContext that this test must be revisited and updated. // If any fields get removed or replaced, then the expect_defaults closure // will fail to compile, again bringing attention to updating this test. - EXPECT_EQ(sizeof(PrerollContext), size_t(104)); + EXPECT_EQ(sizeof(PrerollContext), size_t(112)); MutatorsStack mock_mutators; FixedRefreshRateStopwatch mock_raster_time; @@ -225,6 +226,7 @@ TEST_F(LayerTreeTest, PrerollContextInitialization) { EXPECT_EQ(context.has_texture_layer, false); EXPECT_EQ(context.subtree_can_inherit_opacity, false); + EXPECT_EQ(context.raster_cached_entries, nullptr); }; // These 4 initializers are required because they are handled by reference @@ -242,14 +244,14 @@ TEST_F(LayerTreeTest, PaintContextInitialization) { // PaintContext that this test must be revisited and updated. // If any fields get removed or replaced, then the expect_defaults closure // will fail to compile, again bringing attention to updating this test. - EXPECT_EQ(sizeof(Layer::PaintContext), size_t(96)); + EXPECT_EQ(sizeof(PaintContext), size_t(104)); FixedRefreshRateStopwatch mock_raster_time; FixedRefreshRateStopwatch mock_ui_time; TextureRegistry mock_registry; auto expect_defaults = [&mock_raster_time, &mock_ui_time, - &mock_registry](const Layer::PaintContext& context) { + &mock_registry](const PaintContext& context) { EXPECT_EQ(context.internal_nodes_canvas, nullptr); EXPECT_EQ(context.leaf_nodes_canvas, nullptr); EXPECT_EQ(context.gr_context, nullptr); @@ -269,7 +271,7 @@ TEST_F(LayerTreeTest, PaintContextInitialization) { }; // These 4 initializers are required because they are handled by reference - Layer::PaintContext context{ + PaintContext context{ .raster_time = mock_raster_time, .ui_time = mock_ui_time, .texture_registry = mock_registry, diff --git a/flow/layers/opacity_layer.cc b/flow/layers/opacity_layer.cc index 21acc35007ba9..e9702629052ca 100644 --- a/flow/layers/opacity_layer.cc +++ b/flow/layers/opacity_layer.cc @@ -4,13 +4,18 @@ #include "flutter/flow/layers/opacity_layer.h" -#include "flutter/fml/trace_event.h" +#include "flutter/flow/layers/cacheable_layer.h" #include "third_party/skia/include/core/SkPaint.h" namespace flutter { +// the opacity_layer couldn't cache itself, so the cache_threshold is the +// max_int OpacityLayer::OpacityLayer(SkAlpha alpha, const SkPoint& offset) - : alpha_(alpha), offset_(offset), children_can_accept_opacity_(false) {} + : CacheableContainerLayer(std::numeric_limits::max(), true), + alpha_(alpha), + offset_(offset), + children_can_accept_opacity_(false) {} void OpacityLayer::Diff(DiffContext* context, const Layer* old_layer) { DiffContext::AutoSubtreeRestore subtree(context); @@ -40,32 +45,34 @@ void OpacityLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { context->mutators_stack.PushTransform( SkMatrix::Translate(offset_.fX, offset_.fY)); context->mutators_stack.PushOpacity(alpha_); + + AutoCache auto_cache = + AutoCache(layer_raster_cache_item_.get(), context, matrix); Layer::AutoPrerollSaveLayerState save = Layer::AutoPrerollSaveLayerState::Create(context); // Collect inheritance information on our children in Preroll so that // we can decide whether or not to use a saveLayer in Paint. context->subtree_can_inherit_opacity = true; - // ContainerLayer will turn the flag off if any children are // incompatible or if they overlap ContainerLayer::Preroll(context, child_matrix); - // We store the inheritance ability of our children for |Paint| set_children_can_accept_opacity(context->subtree_can_inherit_opacity); // Now we let our parent layers know that we, too, can inherit opacity // regardless of what our children are capable of context->subtree_can_inherit_opacity = true; - context->mutators_stack.Pop(); context->mutators_stack.Pop(); set_paint_bounds(paint_bounds().makeOffset(offset_.fX, offset_.fY)); - if (!children_can_accept_opacity()) { - TryToPrepareRasterCache(context, this, child_matrix, - RasterCacheLayerStrategy::kLayerChildren); + if (children_can_accept_opacity()) { + // For opacity layer, we can use raster_cache children only when the + // children can't accept opacity so if the children_can_accept_opacity we + // should tell the AutoCache object don't do raster_cache. + auto_cache.ShouldNotBeCached(); } // Restore cull_rect @@ -92,10 +99,7 @@ void OpacityLayer::Paint(PaintContext& context) const { SkPaint paint; paint.setAlphaf(subtree_opacity); - if (context.raster_cache && - context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayerChildren, - &paint)) { + if (layer_raster_cache_item_->Draw(context, &paint)) { return; } diff --git a/flow/layers/opacity_layer.h b/flow/layers/opacity_layer.h index 32c25c5ba1948..aed2e7c7b0fd6 100644 --- a/flow/layers/opacity_layer.h +++ b/flow/layers/opacity_layer.h @@ -5,7 +5,9 @@ #ifndef FLUTTER_FLOW_LAYERS_OPACITY_LAYER_H_ #define FLUTTER_FLOW_LAYERS_OPACITY_LAYER_H_ -#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/cacheable_layer.h" +#include "flutter/flow/layers/layer.h" +#include "include/core/SkMatrix.h" namespace flutter { @@ -13,7 +15,7 @@ namespace flutter { // OpacityLayer is very costly due to the saveLayer call. If there's no child, // having the OpacityLayer or not has the same effect. In debug_unopt build, // |Preroll| will assert if there are no children. -class OpacityLayer : public ContainerLayer { +class OpacityLayer : public CacheableContainerLayer { public: // An offset is provided here because OpacityLayer.addToScene method in the // Flutter framework can take an optional offset argument. diff --git a/flow/layers/opacity_layer_unittests.cc b/flow/layers/opacity_layer_unittests.cc index eafef0e52636c..c662e73284ec4 100644 --- a/flow/layers/opacity_layer_unittests.cc +++ b/flow/layers/opacity_layer_unittests.cc @@ -6,6 +6,7 @@ #include "flutter/flow/layers/clip_rect_layer.h" #include "flutter/flow/layers/image_filter_layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/transform_layer.h" #include "flutter/flow/testing/diff_context_test.h" #include "flutter/flow/testing/layer_test.h" @@ -13,6 +14,8 @@ #include "flutter/fml/macros.h" #include "flutter/testing/display_list_testing.h" #include "flutter/testing/mock_canvas.h" +#include "gtest/gtest.h" +#include "include/core/SkPaint.h" namespace flutter { namespace testing { @@ -84,6 +87,7 @@ TEST_F(OpacityLayerTest, CacheChild) { auto layer = std::make_shared(alpha_half, SkPoint::Make(0.0f, 0.0f)); layer->Add(mock_layer); + SkPaint paint; SkMatrix cache_ctm = initial_transform; SkCanvas cache_canvas; @@ -94,30 +98,29 @@ TEST_F(OpacityLayerTest, CacheChild) { use_mock_raster_cache(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + + const auto* cacheable_opacity_item = layer->raster_cache_item(); + + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(cacheable_opacity_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_opacity_item->GetId().has_value()); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + + EXPECT_EQ(cacheable_opacity_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_EQ( + cacheable_opacity_item->GetId().value(), + RasterCacheKeyID(RasterCacheKeyID::LayerChildrenIds(layer.get()).value(), + RasterCacheKeyType::kLayerChildren)); + EXPECT_FALSE(raster_cache()->Draw(cacheable_opacity_item->GetId().value(), + other_canvas, &paint)); + EXPECT_TRUE(raster_cache()->Draw(cacheable_opacity_item->GetId().value(), + cache_canvas, &paint)); } TEST_F(OpacityLayerTest, CacheChildren) { @@ -126,6 +129,7 @@ TEST_F(OpacityLayerTest, CacheChildren) { auto other_transform = SkMatrix::Scale(1.0, 2.0); const SkPath child_path1 = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); const SkPath child_path2 = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); + SkPaint paint; auto mock_layer1 = std::make_shared(child_path1); auto mock_layer2 = std::make_shared(child_path2); auto layer = @@ -142,34 +146,61 @@ TEST_F(OpacityLayerTest, CacheChildren) { use_mock_raster_cache(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + + const auto* cacheable_opacity_item = layer->raster_cache_item(); + + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(cacheable_opacity_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_opacity_item->GetId().has_value()); layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer1.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), other_canvas)); - EXPECT_FALSE(raster_cache()->Draw(mock_layer2.get(), cache_canvas)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), other_canvas, - RasterCacheLayerStrategy::kLayerChildren)); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayerChildren)); + + EXPECT_EQ(cacheable_opacity_item->cache_state(), + RasterCacheItem::CacheState::kChildren); + EXPECT_EQ( + cacheable_opacity_item->GetId().value(), + RasterCacheKeyID(RasterCacheKeyID::LayerChildrenIds(layer.get()).value(), + RasterCacheKeyType::kLayerChildren)); + EXPECT_FALSE(raster_cache()->Draw(cacheable_opacity_item->GetId().value(), + other_canvas, &paint)); + EXPECT_TRUE(raster_cache()->Draw(cacheable_opacity_item->GetId().value(), + cache_canvas, &paint)); +} + +TEST_F(OpacityLayerTest, ShouldNotCacheChildren) { + SkPaint paint; + auto opacityLayer = + std::make_shared(128, SkPoint::Make(20, 20)); + auto mockLayer = MockLayer::MakeOpacityCompatible(SkPath()); + opacityLayer->Add(mockLayer); + + PrerollContext* context = preroll_context(); + context->subtree_can_inherit_opacity = false; + + use_mock_raster_cache(); + + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + + const auto* cacheable_opacity_item = opacityLayer->raster_cache_item(); + + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(cacheable_opacity_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_opacity_item->GetId().has_value()); + + opacityLayer->Preroll(preroll_context(), SkMatrix::I()); + + EXPECT_TRUE(context->subtree_can_inherit_opacity); + EXPECT_TRUE(opacityLayer->children_can_accept_opacity()); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); + EXPECT_EQ(cacheable_opacity_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_opacity_item->Draw(paint_context(), &paint)); } TEST_F(OpacityLayerTest, FullyOpaque) { diff --git a/flow/layers/performance_overlay_layer_unittests.cc b/flow/layers/performance_overlay_layer_unittests.cc index 88ca5b9ab08f8..ae9eec8b767e4 100644 --- a/flow/layers/performance_overlay_layer_unittests.cc +++ b/flow/layers/performance_overlay_layer_unittests.cc @@ -59,7 +59,7 @@ static void TestPerformanceOverlayLayerGold(int refresh_rate) { ASSERT_TRUE(surface != nullptr); flutter::TextureRegistry unused_texture_registry; - flutter::Layer::PaintContext paintContext = { + flutter::PaintContext paintContext = { // clang-format off .internal_nodes_canvas = nullptr, .leaf_nodes_canvas = surface->getCanvas(), diff --git a/flow/layers/shader_mask_layer.cc b/flow/layers/shader_mask_layer.cc index 936acb281c20f..ee1dacae86c7a 100644 --- a/flow/layers/shader_mask_layer.cc +++ b/flow/layers/shader_mask_layer.cc @@ -3,16 +3,18 @@ // found in the LICENSE file. #include "flutter/flow/layers/shader_mask_layer.h" +#include "flutter/flow/raster_cache_util.h" namespace flutter { ShaderMaskLayer::ShaderMaskLayer(sk_sp shader, const SkRect& mask_rect, SkBlendMode blend_mode) - : shader_(shader), + : CacheableContainerLayer( + RasterCacheUtil::kMinimumRendersBeforeCachingFilterLayer), + shader_(shader), mask_rect_(mask_rect), - blend_mode_(blend_mode), - render_count_(1) {} + blend_mode_(blend_mode) {} void ShaderMaskLayer::Diff(DiffContext* context, const Layer* old_layer) { DiffContext::AutoSubtreeRestore subtree(context); @@ -24,7 +26,6 @@ void ShaderMaskLayer::Diff(DiffContext* context, const Layer* old_layer) { context->MarkSubtreeDirty(context->GetOldLayerPaintRegion(old_layer)); } } - DiffChildren(context, prev); context->SetLayerPaintRegion(this, context->CurrentSubtreeRegion()); @@ -33,19 +34,13 @@ void ShaderMaskLayer::Diff(DiffContext* context, const Layer* old_layer) { void ShaderMaskLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { Layer::AutoPrerollSaveLayerState save = Layer::AutoPrerollSaveLayerState::Create(context); - ContainerLayer::Preroll(context, matrix); + AutoCache cache = AutoCache(layer_raster_cache_item_.get(), context, matrix); + + ContainerLayer::Preroll(context, matrix); // We always paint with a saveLayer (or a cached rendering), // so we can always apply opacity in any of those cases. context->subtree_can_inherit_opacity = true; - - SkMatrix child_matrix(matrix); - if (render_count_ >= kMinimumRendersBeforeCachingFilterLayer) { - TryToPrepareRasterCache(context, this, child_matrix, - RasterCacheLayerStrategy::kLayer); - } else { - render_count_++; - } } void ShaderMaskLayer::Paint(PaintContext& context) const { @@ -54,11 +49,10 @@ void ShaderMaskLayer::Paint(PaintContext& context) const { AutoCachePaint cache_paint(context); - if (context.raster_cache && - context.raster_cache->Draw(this, *context.leaf_nodes_canvas, - RasterCacheLayerStrategy::kLayer, - cache_paint.paint())) { - return; + if (context.raster_cache) { + if (layer_raster_cache_item_->Draw(context, cache_paint.paint())) { + return; + } } Layer::AutoSaveLayer save = Layer::AutoSaveLayer::Create( diff --git a/flow/layers/shader_mask_layer.h b/flow/layers/shader_mask_layer.h index 06bd1622458cb..0dd44e3dedec7 100644 --- a/flow/layers/shader_mask_layer.h +++ b/flow/layers/shader_mask_layer.h @@ -5,12 +5,12 @@ #ifndef FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_ #define FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_ -#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/cacheable_layer.h" #include "third_party/skia/include/core/SkShader.h" namespace flutter { -class ShaderMaskLayer : public ContainerLayer { +class ShaderMaskLayer : public CacheableContainerLayer { public: ShaderMaskLayer(sk_sp shader, const SkRect& mask_rect, @@ -27,9 +27,6 @@ class ShaderMaskLayer : public ContainerLayer { SkRect mask_rect_; SkBlendMode blend_mode_; - static constexpr int kMinimumRendersBeforeCachingFilterLayer = 3; - int render_count_; - FML_DISALLOW_COPY_AND_ASSIGN(ShaderMaskLayer); }; diff --git a/flow/layers/shader_mask_layer_unittests.cc b/flow/layers/shader_mask_layer_unittests.cc index 532ab78425e89..d57a2753d4bea 100644 --- a/flow/layers/shader_mask_layer_unittests.cc +++ b/flow/layers/shader_mask_layer_unittests.cc @@ -4,11 +4,14 @@ #include "flutter/flow/layers/shader_mask_layer.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/opacity_layer.h" +#include "flutter/flow/raster_cache.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/fml/macros.h" #include "flutter/testing/mock_canvas.h" +#include "gtest/gtest.h" #include "third_party/skia/include/core/SkShader.h" #include "third_party/skia/include/effects/SkPerlinNoiseShader.h" @@ -286,6 +289,7 @@ TEST_F(ShaderMaskLayerTest, Readback) { TEST_F(ShaderMaskLayerTest, LayerCached) { auto layer_filter = SkPerlinNoiseShader::MakeFractalNoise(1.0f, 1.0f, 1, 1.0f); + SkPaint paint; const SkRect layer_bounds = SkRect::MakeLTRB(2.0f, 4.0f, 20.5f, 20.5f); auto initial_transform = SkMatrix::Translate(50.0, 25.5); const SkPath child_path = SkPath().addRect(SkRect::MakeWH(5.0f, 5.0f)); @@ -299,25 +303,39 @@ TEST_F(ShaderMaskLayerTest, LayerCached) { cache_canvas.setMatrix(cache_ctm); use_mock_raster_cache(); + const auto* cacheable_shader_masker_item = layer->raster_cache_item(); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(cacheable_shader_masker_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_shader_masker_item->GetId().has_value()); + // frame 1. layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); + EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(cacheable_shader_masker_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_shader_masker_item->GetId().has_value()); + // frame 2. layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)0); - EXPECT_FALSE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(cacheable_shader_masker_item->cache_state(), + RasterCacheItem::CacheState::kNone); + EXPECT_FALSE(cacheable_shader_masker_item->GetId().has_value()); + // frame 3. layer->Preroll(preroll_context(), initial_transform); + LayerTree::TryToRasterCache(cacheable_items(), &paint_context()); EXPECT_EQ(raster_cache()->GetLayerCachedEntriesCount(), (size_t)1); - EXPECT_TRUE(raster_cache()->Draw(layer.get(), cache_canvas, - RasterCacheLayerStrategy::kLayer)); + EXPECT_EQ(cacheable_shader_masker_item->cache_state(), + RasterCacheItem::CacheState::kCurrent); + + EXPECT_TRUE(raster_cache()->Draw( + cacheable_shader_masker_item->GetId().value(), cache_canvas, &paint)); } TEST_F(ShaderMaskLayerTest, OpacityInheritance) { diff --git a/flow/raster_cache.cc b/flow/raster_cache.cc index f65a9b3842a85..720efea1866ff 100644 --- a/flow/raster_cache.cc +++ b/flow/raster_cache.cc @@ -4,17 +4,20 @@ #include "flutter/flow/raster_cache.h" +#include #include #include "flutter/common/constants.h" #include "flutter/flow/layers/container_layer.h" #include "flutter/flow/layers/layer.h" #include "flutter/flow/paint_utils.h" +#include "flutter/flow/raster_cache_util.h" #include "flutter/fml/logging.h" #include "flutter/fml/trace_event.h" #include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkColorSpace.h" #include "third_party/skia/include/core/SkImage.h" +#include "third_party/skia/include/core/SkPicture.h" #include "third_party/skia/include/core/SkSurface.h" #include "third_party/skia/include/gpu/GrDirectContext.h" @@ -30,7 +33,7 @@ void RasterCacheResult::draw(SkCanvas& canvas, const SkPaint* paint) const { SkAutoCanvasRestore auto_restore(&canvas, true); SkRect bounds = - RasterCache::GetDeviceBounds(logical_rect_, canvas.getTotalMatrix()); + RasterCacheUtil::GetDeviceBounds(logical_rect_, canvas.getTotalMatrix()); FML_DCHECK(std::abs(bounds.width() - image_->dimensions().width()) <= 1 && std::abs(bounds.height() - image_->dimensions().height()) <= 1); canvas.resetMatrix(); @@ -45,71 +48,25 @@ RasterCache::RasterCache(size_t access_threshold, display_list_cache_limit_per_frame_(display_list_cache_limit_per_frame), checkerboard_images_(false) {} -static bool CanRasterizeRect(const SkRect& cull_rect) { - if (cull_rect.isEmpty()) { - // No point in ever rasterizing an empty display list. - return false; - } - - if (!cull_rect.isFinite()) { - // Cannot attempt to rasterize into an infinitely large surface. - FML_LOG(INFO) << "Attempted to raster cache non-finite display list"; - return false; - } - - return true; -} - -static bool IsDisplayListWorthRasterizing( - DisplayList* display_list, - bool will_change, - bool is_complex, - DisplayListComplexityCalculator* complexity_calculator) { - if (will_change) { - // If the display list is going to change in the future, there is no point - // in doing to extra work to rasterize. - return false; - } - - if (display_list == nullptr || !CanRasterizeRect(display_list->bounds())) { - // No point in deciding whether the display list is worth rasterizing if it - // cannot be rasterized at all. - return false; - } - - if (is_complex) { - // The caller seems to have extra information about the display list and - // thinks the display list is always worth rasterizing. - return true; - } - - unsigned int complexity_score = complexity_calculator->Compute(display_list); - return complexity_calculator->ShouldBeCached(complexity_score); -} - /// @note Procedure doesn't copy all closures. -static std::unique_ptr Rasterize( - GrDirectContext* context, - const SkMatrix& ctm, - SkColorSpace* dst_color_space, - bool checkerboard, - const SkRect& logical_rect, - const char* type, +std::unique_ptr RasterCache::Rasterize( + const RasterCache::Context& context, const std::function& draw_function) { TRACE_EVENT0("flutter", "RasterCachePopulate"); - SkRect dest_rect = RasterCache::GetDeviceBounds(logical_rect, ctm); + SkRect dest_rect = + RasterCacheUtil::GetDeviceBounds(context.logical_rect, context.matrix); // we always round out here so that the texture is integer sized. int width = SkScalarCeilToInt(dest_rect.width()); int height = SkScalarCeilToInt(dest_rect.height()); - const SkImageInfo image_info = - SkImageInfo::MakeN32Premul(width, height, sk_ref_sp(dst_color_space)); + const SkImageInfo image_info = SkImageInfo::MakeN32Premul( + width, height, sk_ref_sp(context.dst_color_space)); sk_sp surface = - context - ? SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, image_info) - : SkSurface::MakeRaster(image_info); + context.gr_context ? SkSurface::MakeRenderTarget( + context.gr_context, SkBudgeted::kYes, image_info) + : SkSurface::MakeRaster(image_info); if (!surface) { return nullptr; @@ -118,230 +75,74 @@ static std::unique_ptr Rasterize( SkCanvas* canvas = surface->getCanvas(); canvas->clear(SK_ColorTRANSPARENT); canvas->translate(-dest_rect.left(), -dest_rect.top()); - canvas->concat(ctm); + canvas->concat(context.matrix); draw_function(canvas); - if (checkerboard) { - DrawCheckerboard(canvas, logical_rect); + if (context.checkerboard) { + DrawCheckerboard(canvas, context.logical_rect); } - return std::make_unique(surface->makeImageSnapshot(), - logical_rect, type); + return std::make_unique( + surface->makeImageSnapshot(), context.logical_rect, context.flow_type); } -std::unique_ptr RasterCache::RasterizeDisplayList( - DisplayList* display_list, - GrDirectContext* context, - const SkMatrix& ctm, - SkColorSpace* dst_color_space, - bool checkerboard) const { - return Rasterize(context, ctm, dst_color_space, checkerboard, - display_list->bounds(), "RasterCacheFlow::DisplayList", - [=](SkCanvas* canvas) { display_list->RenderTo(canvas); }); -} - -void RasterCache::Prepare(PrerollContext* context, - Layer* layer, - const SkMatrix& ctm, - RasterCacheLayerStrategy strategy) { - auto cache_key_optional = - TryToMakeRasterCacheKeyForLayer(layer, strategy, ctm); - if (!cache_key_optional) { - return; - } - Entry& entry = cache_[cache_key_optional.value()]; - entry.access_count++; +bool RasterCache::UpdateCacheEntry( + const RasterCacheKeyID& id, + const Context& raster_cache_context, + const std::function& render_function) const { + RasterCacheKey key = RasterCacheKey(id, raster_cache_context.matrix); + Entry& entry = cache_[key]; entry.used_this_frame = true; if (!entry.image) { - entry.image = - RasterizeLayer(context, layer, strategy, ctm, checkerboard_images_); - } -} - -std::optional RasterCache::TryToMakeRasterCacheKeyForLayer( - const Layer* layer, - RasterCacheLayerStrategy strategy, - const SkMatrix& ctm) const { - switch (strategy) { - case RasterCacheLayerStrategy::kLayer: - return RasterCacheKey(layer->unique_id(), RasterCacheKeyType::kLayer, - ctm); - case RasterCacheLayerStrategy::kLayerChildren: - FML_DCHECK(layer->as_container_layer()); - auto& children_layers = layer->as_container_layer()->layers(); - auto children_count = children_layers.size(); - if (children_count == 0) { - return std::nullopt; - } - std::vector ids; - std::transform(children_layers.begin(), children_layers.end(), - std::back_inserter(ids), [](auto& layer) -> uint64_t { - return layer->unique_id(); - }); - return RasterCacheKey(RasterCacheKeyID(std::move(ids)), - RasterCacheKeyType::kLayerChildren, ctm); - } -} - -std::unique_ptr RasterCache::RasterizeLayer( - PrerollContext* context, - Layer* layer, - RasterCacheLayerStrategy strategy, - const SkMatrix& ctm, - bool checkerboard) const { - const SkRect& paint_bounds = GetPaintBoundsFromLayer(layer, strategy); - - return Rasterize( - context->gr_context, ctm, context->dst_color_space, checkerboard, - paint_bounds, "RasterCacheFlow::Layer", - [layer, context, strategy](SkCanvas* canvas) { - SkISize canvas_size = canvas->getBaseLayerSize(); - SkNWayCanvas internal_nodes_canvas(canvas_size.width(), - canvas_size.height()); - internal_nodes_canvas.setMatrix(canvas->getTotalMatrix()); - internal_nodes_canvas.addCanvas(canvas); - Layer::PaintContext paintContext = { - /* internal_nodes_canvas= */ static_cast( - &internal_nodes_canvas), - /* leaf_nodes_canvas= */ canvas, - /* gr_context= */ context->gr_context, - /* view_embedder= */ nullptr, - context->raster_time, - context->ui_time, - context->texture_registry, - context->has_platform_view ? nullptr : context->raster_cache, - context->checkerboard_offscreen_layers, - context->frame_device_pixel_ratio}; - switch (strategy) { - case RasterCacheLayerStrategy::kLayer: - if (layer->needs_painting(paintContext)) { - layer->Paint(paintContext); - } - break; - case RasterCacheLayerStrategy::kLayerChildren: - FML_DCHECK(layer->as_container_layer()); - layer->as_container_layer()->PaintChildren(paintContext); - break; + entry.image = Rasterize(raster_cache_context, render_function); + if (entry.image != nullptr) { + switch (id.type()) { + case RasterCacheKeyType::kDisplayList: { + display_list_cached_this_frame_++; + break; } - }); -} - -const SkRect& RasterCache::GetPaintBoundsFromLayer( - Layer* layer, - RasterCacheLayerStrategy strategy) const { - switch (strategy) { - case RasterCacheLayerStrategy::kLayer: - return layer->paint_bounds(); - case RasterCacheLayerStrategy::kLayerChildren: - FML_DCHECK(layer->as_container_layer()); - return layer->as_container_layer()->child_paint_bounds(); - } -} - -bool RasterCache::Prepare(PrerollContext* context, - DisplayList* display_list, - bool is_complex, - bool will_change, - const SkMatrix& untranslated_matrix, - const SkPoint& offset) { - if (!GenerateNewCacheInThisFrame()) { - return false; - } - - DisplayListComplexityCalculator* complexity_calculator = - context->gr_context ? DisplayListComplexityCalculator::GetForBackend( - context->gr_context->backend()) - : DisplayListComplexityCalculator::GetForSoftware(); - - if (!IsDisplayListWorthRasterizing(display_list, will_change, is_complex, - complexity_calculator)) { - // We only deal with display lists that are worthy of rasterization. - return false; - } - - SkMatrix transformation_matrix = untranslated_matrix; - transformation_matrix.preTranslate(offset.x(), offset.y()); - - if (!transformation_matrix.invert(nullptr)) { - // The matrix was singular. No point in going further. - return false; - } - - RasterCacheKey cache_key(display_list->unique_id(), - RasterCacheKeyType::kDisplayList, - transformation_matrix); - - // Creates an entry, if not present prior. - Entry& entry = cache_[cache_key]; - if (entry.access_count < access_threshold_) { - // Frame threshold has not yet been reached. - return false; - } - - if (!entry.image) { - // GetIntegralTransCTM effect for matrix which only contains scale, - // translate, so it won't affect result of matrix decomposition and cache - // key. - entry.image = RasterizeDisplayList( - display_list, context->gr_context, transformation_matrix, - context->dst_color_space, checkerboard_images_); - display_list_cached_this_frame_++; - } - return true; -} - -void RasterCache::Touch(Layer* layer, - const SkMatrix& ctm, - RasterCacheLayerStrategy strategey) { - auto cache_key_optional = - TryToMakeRasterCacheKeyForLayer(layer, strategey, ctm); - if (!cache_key_optional) { - return; + default: + break; + } + return true; + } } - Touch(cache_key_optional.value()); -} - -void RasterCache::Touch(DisplayList* display_list, - const SkMatrix& transformation_matrix) { - RasterCacheKey cache_key(display_list->unique_id(), - RasterCacheKeyType::kDisplayList, - transformation_matrix); - Touch(cache_key); + return entry.image != nullptr; } -void RasterCache::Touch(const RasterCacheKey& cache_key) { +bool RasterCache::Touch(const RasterCacheKeyID& id, + const SkMatrix& matrix) const { + RasterCacheKey cache_key = RasterCacheKey(id, matrix); auto it = cache_.find(cache_key); if (it != cache_.end()) { - it->second.used_this_frame = true; it->second.access_count++; + it->second.used_this_frame = true; + return true; } + return false; } -bool RasterCache::Draw(const DisplayList& display_list, - SkCanvas& canvas, - const SkPaint* paint) const { - RasterCacheKey cache_key(display_list.unique_id(), - RasterCacheKeyType::kDisplayList, - canvas.getTotalMatrix()); - return Draw(cache_key, canvas, paint); +int RasterCache::MarkSeen(const RasterCacheKeyID& id, + const SkMatrix& matrix) const { + RasterCacheKey key = RasterCacheKey(id, matrix); + Entry& entry = cache_[key]; + entry.used_this_frame = true; + return entry.access_count; } -bool RasterCache::Draw(const Layer* layer, - SkCanvas& canvas, - RasterCacheLayerStrategy strategy, - const SkPaint* paint) const { - auto cache_key_optional = - TryToMakeRasterCacheKeyForLayer(layer, strategy, canvas.getTotalMatrix()); - if (!cache_key_optional) { - return false; +bool RasterCache::HasEntry(const RasterCacheKeyID& id, + const SkMatrix& matrix) const { + RasterCacheKey key = RasterCacheKey(id, matrix); + if (cache_.find(key) != cache_.cend()) { + return true; } - return Draw(cache_key_optional.value(), canvas, paint); + return false; } -bool RasterCache::Draw(const RasterCacheKey& cache_key, +bool RasterCache::Draw(const RasterCacheKeyID& id, SkCanvas& canvas, const SkPaint* paint) const { - auto it = cache_.find(cache_key); + auto it = cache_.find(RasterCacheKey(id, canvas.getTotalMatrix())); if (it == cache_.end()) { return false; } @@ -375,7 +176,7 @@ void RasterCache::SweepOneCacheAfterFrame(RasterCacheKey::Map& cache, } else if (entry.image) { RasterCacheKeyKind kind = it->first.kind(); switch (kind) { - case RasterCacheKeyKind::kPictureMetrics: + case RasterCacheKeyKind::kDisplayListMetrics: picture_metrics.in_use_count++; picture_metrics.in_use_bytes += entry.image->image_bytes(); break; @@ -392,7 +193,7 @@ void RasterCache::SweepOneCacheAfterFrame(RasterCacheKey::Map& cache, if (it->second.image) { RasterCacheKeyKind kind = it->first.kind(); switch (kind) { - case RasterCacheKeyKind::kPictureMetrics: + case RasterCacheKeyKind::kDisplayListMetrics: picture_metrics.eviction_count++; picture_metrics.eviction_bytes += it->second.image->image_bytes(); break; @@ -434,13 +235,13 @@ size_t RasterCache::GetLayerCachedEntriesCount() const { } size_t RasterCache::GetPictureCachedEntriesCount() const { - size_t picture_cached_entries_count = 0; + size_t display_list_cached_entries_count = 0; for (const auto& item : cache_) { - if (item.first.kind() == RasterCacheKeyKind::kPictureMetrics) { - picture_cached_entries_count++; + if (item.first.kind() == RasterCacheKeyKind::kDisplayListMetrics) { + display_list_cached_entries_count++; } } - return picture_cached_entries_count; + return display_list_cached_entries_count; } void RasterCache::SetCheckboardCacheImages(bool checkerboard) { @@ -482,7 +283,7 @@ size_t RasterCache::EstimateLayerCacheByteSize() const { size_t RasterCache::EstimatePictureCacheByteSize() const { size_t picture_cache_bytes = 0; for (const auto& item : cache_) { - if (item.first.kind() == RasterCacheKeyKind::kPictureMetrics && + if (item.first.kind() == RasterCacheKeyKind::kDisplayListMetrics && item.second.image) { picture_cache_bytes += item.second.image->image_bytes(); } diff --git a/flow/raster_cache.h b/flow/raster_cache.h index 2212efac88ecc..95feec68dbf0c 100644 --- a/flow/raster_cache.h +++ b/flow/raster_cache.h @@ -11,9 +11,13 @@ #include "flutter/display_list/display_list.h" #include "flutter/display_list/display_list_complexity.h" #include "flutter/flow/raster_cache_key.h" +#include "flutter/flow/raster_cache_util.h" #include "flutter/fml/macros.h" #include "flutter/fml/memory/weak_ptr.h" #include "flutter/fml/trace_event.h" +#include "include/core/SkCanvas.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkRect.h" #include "third_party/skia/include/core/SkImage.h" #include "third_party/skia/include/core/SkSize.h" @@ -48,7 +52,9 @@ class RasterCacheResult { }; class Layer; +class RasterCacheItem; struct PrerollContext; +struct PaintContext; struct RasterCacheMetrics { /** @@ -88,118 +94,41 @@ struct RasterCacheMetrics { class RasterCache { public: - // The default max number of picture and display list raster caches to be - // generated per frame. Generating too many caches in one frame may cause jank - // on that frame. This limit allows us to throttle the cache and distribute - // the work across multiple frames. - static constexpr int kDefaultDispLayListCacheLimitPerFrame = 3; + struct Context { + GrDirectContext* gr_context; + const SkColorSpace* dst_color_space; + const SkMatrix& matrix; + const SkRect& logical_rect; + const char* flow_type; + bool checkerboard; + }; + + static std::unique_ptr Rasterize( + const RasterCache::Context& context, + const std::function& draw_function); - explicit RasterCache(size_t access_threshold = 3, - size_t display_list_cache_limit_per_frame = - kDefaultDispLayListCacheLimitPerFrame); + explicit RasterCache( + size_t access_threshold = 3, + size_t picture_and_display_list_cache_limit_per_frame = + RasterCacheUtil::kDefaultPictureAndDispLayListCacheLimitPerFrame); virtual ~RasterCache() = default; - /** - * @brief Rasterize a display list object and produce a RasterCacheResult - * to be stored in the cache. - * - * @param display_list the DisplayList object to be cached. - * @param context the GrDirectContext used for rendering. - * @param ctm the transformation matrix used for rendering. - * @param dst_color_space the destination color space that the cached - * rendering will be drawn into - * @param checkerboard a flag indicating whether or not a checkerboard - * pattern should be rendered into the cached image for debug - * analysis - * @return a RasterCacheResult that can draw the rendered display list into - * the destination using a simple image blit - */ - virtual std::unique_ptr RasterizeDisplayList( - DisplayList* display_list, - GrDirectContext* context, - const SkMatrix& ctm, - SkColorSpace* dst_color_space, - bool checkerboard) const; + // Draws this item if it should be rendered from the cache and returns + // true iff it was successfully drawn. Typically this should only fail + // if the item was disabled due to conditions discovered during |Preroll| + // or if the attempt to populate the entry failed due to bounds overflow + // conditions. + bool Draw(const RasterCacheKeyID& id, + SkCanvas& canvas, + const SkPaint* paint) const; - /** - * @brief Rasterize an engine Layer and produce a RasterCacheResult - * to be stored in the cache. - * - * @param context the PrerollContext containing important information - * needed for rendering a layer. - * @param layer the Layer object to be cached. - * @param ctm the transformation matrix used for rendering. - * @param checkerboard a flag indicating whether or not a checkerboard - * pattern should be rendered into the cached image for debug - * analysis - * @return a RasterCacheResult that can draw the rendered layer into - * the destination using a simple image blit - */ - virtual std::unique_ptr RasterizeLayer( - PrerollContext* context, - Layer* layer, - RasterCacheLayerStrategy strategy, - const SkMatrix& ctm, - bool checkerboard) const; - - static SkRect GetDeviceBounds(const SkRect& rect, const SkMatrix& ctm) { - SkRect device_rect; - ctm.mapRect(&device_rect, rect); - return device_rect; - } + bool Touch(const RasterCacheKeyID& id, const SkMatrix& matrix) const; - // Return true if the cache is generated. - // - // We may return false and not generate the cache if - // 1. There are too many display lists to be cached in the current frame. - // (See also kDefaultDispLayListCacheLimitPerFrame.) - // 2. The display list is not worth rasterizing - // 3. The matrix is singular - // 4. The display list is accessed too few times - bool Prepare(PrerollContext* context, - DisplayList* display_list, - bool is_complex, - bool will_change, - const SkMatrix& untranslated_matrix, - const SkPoint& offset = SkPoint()); - - // If there is cache entry for this display list or layer, mark it as - // used for this frame in order to not get evicted. This is needed during - // partial repaint for layers that are outside of current clip and are culled - // away. - void Touch(DisplayList* display_list, const SkMatrix& transformation_matrix); - void Touch( - Layer* layer, - const SkMatrix& ctm, - RasterCacheLayerStrategy strategey = RasterCacheLayerStrategy::kLayer); - - void Prepare( - PrerollContext* context, - Layer* layer, - const SkMatrix& ctm, - RasterCacheLayerStrategy strategey = RasterCacheLayerStrategy::kLayer); - - // Find the raster cache for the display list and draw it to the canvas. - // - // Return true if it's found and drawn. - bool Draw(const DisplayList& display_list, - SkCanvas& canvas, - const SkPaint* paint = nullptr) const; - - // Find the raster cache for the layer and draw it to the canvas. - // - // Additional paint can be given to change how the raster cache is drawn - // (e.g., draw the raster cache with some opacity). - // - // Return true if the layer raster cache is found and drawn. - bool Draw( - const Layer* layer, - SkCanvas& canvas, - RasterCacheLayerStrategy strategey = RasterCacheLayerStrategy::kLayer, - const SkPaint* paint = nullptr) const; + bool HasEntry(const RasterCacheKeyID& id, const SkMatrix&) const; void PrepareNewFrame(); + void CleanupAfterFrame(); void Clear(); @@ -218,14 +147,16 @@ class RasterCache { size_t GetLayerCachedEntriesCount() const; /** - * Return the number of map entries in the picture cache regardless of whether - * the entries have been populated with an image. + * Return the number of map entries in the picture caches (SkPicture and + * DisplayList) regardless of whether the entries have been populated with + * an image. */ size_t GetPictureCachedEntriesCount() const; /** * @brief Estimate how much memory is used by picture raster cache entries in - * bytes, including cache entries in the DisplayList cache. + * bytes, including cache entries in the SkPicture cache and the DisplayList + * cache. * * Only SkImage's memory usage is counted as other objects are often much * smaller compared to SkImage. SkImageInfo::computeMinByteSize is used to @@ -253,6 +184,26 @@ class RasterCache { */ int access_threshold() const { return access_threshold_; } + bool GenerateNewCacheInThisFrame() const { + // Disabling caching when access_threshold is zero is historic behavior. + return access_threshold_ != 0 && display_list_cached_this_frame_ < + display_list_cache_limit_per_frame_; + } + + /** + * @brief The entry which RasterCacheId is generated by RasterCacheKeyID and + * matrix, that will be used by the current frame. If current frame doesn't + * have this entry we will create a new entry. + * @return the number of times the entry has been hit since it was created. If + * a new entry that will be 1. + */ + int MarkSeen(const RasterCacheKeyID& id, const SkMatrix& matrix) const; + + bool UpdateCacheEntry( + const RasterCacheKeyID& id, + const Context& raster_cache_context, + const std::function& render_function) const; + private: struct Entry { bool used_this_frame = false; @@ -260,34 +211,13 @@ class RasterCache { std::unique_ptr image; }; - void Touch(const RasterCacheKey& cache_key); - - bool Draw(const RasterCacheKey& cache_key, - SkCanvas& canvas, - const SkPaint* paint) const; - void SweepOneCacheAfterFrame(RasterCacheKey::Map& cache, RasterCacheMetrics& picture_metrics, RasterCacheMetrics& layer_metrics); - bool GenerateNewCacheInThisFrame() const { - // Disabling caching when access_threshold is zero is historic behavior. - return access_threshold_ != 0 && display_list_cached_this_frame_ < - display_list_cache_limit_per_frame_; - } - - std::optional TryToMakeRasterCacheKeyForLayer( - const Layer* layer, - RasterCacheLayerStrategy strategy, - const SkMatrix& ctm) const; - - const SkRect& GetPaintBoundsFromLayer( - Layer* layer, - RasterCacheLayerStrategy strategy) const; - const size_t access_threshold_; const size_t display_list_cache_limit_per_frame_; - size_t display_list_cached_this_frame_ = 0; + mutable size_t display_list_cached_this_frame_ = 0; RasterCacheMetrics layer_metrics_; RasterCacheMetrics picture_metrics_; mutable RasterCacheKey::Map cache_; @@ -295,6 +225,9 @@ class RasterCache { void TraceStatsToTimeline() const; + friend class RasterCacheItem; + friend class LayerRasterCacheItem; + FML_DISALLOW_COPY_AND_ASSIGN(RasterCache); }; diff --git a/flow/raster_cache_item.h b/flow/raster_cache_item.h new file mode 100644 index 0000000000000..8509775589077 --- /dev/null +++ b/flow/raster_cache_item.h @@ -0,0 +1,80 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_FLOW_RASTER_CACHE_ITEM_H_ +#define FLUTTER_FLOW_RASTER_CACHE_ITEM_H_ + +#include +#include + +#include "flutter/flow/raster_cache_key.h" +#include "include/core/SkCanvas.h" +#include "include/core/SkPaint.h" +#include "include/core/SkPicture.h" +#include "include/core/SkPoint.h" + +namespace flutter { + +struct PrerollContext; +struct PaintContext; +class DisplayList; +class RasterCache; +class LayerRasterCacheItem; +class DisplayListRasterCacheItem; +class SkPictureRasterCacheItem; + +class RasterCacheItem { + public: + enum CacheState { + kNone = 0, + kCurrent, + kChildren, + }; + + explicit RasterCacheItem(RasterCacheKeyID key_id, + CacheState cache_state = CacheState::kNone, + unsigned child_entries = 0) + : key_id_(key_id), + cache_state_(cache_state), + child_items_(child_entries) {} + + virtual void PrerollSetup(PrerollContext* context, + const SkMatrix& matrix) = 0; + + virtual void PrerollFinalize(PrerollContext* context, + const SkMatrix& matrix) = 0; + + virtual bool Draw(const PaintContext& context, + const SkPaint* paint) const = 0; + + virtual bool Draw(const PaintContext& context, + SkCanvas* canvas, + const SkPaint* paint) const = 0; + + virtual std::optional GetId() const { return key_id_; } + + virtual bool TryToPrepareRasterCache(const PaintContext& context, + bool parent_cached = false) const = 0; + + unsigned child_items() const { return child_items_; } + + void set_matrix(const SkMatrix& matrix) { matrix_ = matrix; } + + CacheState cache_state() const { return cache_state_; } + + bool need_caching() const { return cache_state_ != CacheState::kNone; } + + virtual ~RasterCacheItem() = default; + + protected: + // The id for cache the layer self. + RasterCacheKeyID key_id_; + CacheState cache_state_ = CacheState::kNone; + mutable SkMatrix matrix_; + unsigned child_items_; +}; + +} // namespace flutter + +#endif // FLUTTER_FLOW_RASTER_CACHE_ITEM_H_ diff --git a/flow/raster_cache_key.cc b/flow/raster_cache_key.cc index 0a20cde72dcc6..c8eedf9b641c5 100644 --- a/flow/raster_cache_key.cc +++ b/flow/raster_cache_key.cc @@ -3,9 +3,25 @@ // found in the LICENSE file. #include "flutter/flow/raster_cache_key.h" - +#include +#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/layer.h" namespace flutter { // +std::optional> RasterCacheKeyID::LayerChildrenIds( + Layer* layer) { + auto& children_layers = layer->as_container_layer()->layers(); + auto children_count = children_layers.size(); + if (children_count == 0) { + return std::nullopt; + } + std::vector ids; + std::transform(children_layers.begin(), children_layers.end(), + std::back_inserter(ids), + [](auto& layer) -> uint64_t { return layer->unique_id(); }); + return ids; +} + } // namespace flutter diff --git a/flow/raster_cache_key.h b/flow/raster_cache_key.h index d3152046c2afa..2f61f8f6d8ba1 100644 --- a/flow/raster_cache_key.h +++ b/flow/raster_cache_key.h @@ -5,6 +5,7 @@ #ifndef FLUTTER_FLOW_RASTER_CACHE_KEY_H_ #define FLUTTER_FLOW_RASTER_CACHE_KEY_H_ +#include #include #include #include @@ -15,22 +16,34 @@ namespace flutter { +class Layer; + +enum class RasterCacheKeyType { kLayer, kDisplayList, kLayerChildren }; + class RasterCacheKeyID { public: - RasterCacheKeyID(const std::vector ids) : ids_(ids) {} + RasterCacheKeyID(uint16_t id, RasterCacheKeyType type) + : ids_({id}), type_(type) {} + + RasterCacheKeyID(const std::vector ids, RasterCacheKeyType type) + : ids_(ids), type_(type) {} + + const std::vector& ids() const { return ids_; } + + RasterCacheKeyType type() const { return type_; } - const std::vector& ids() { return ids_; } + static std::optional> LayerChildrenIds(Layer* layer); std::size_t GetHash() const { std::size_t seed = fml::HashCombine(); for (auto id : ids_) { fml::HashCombineSeed(seed, id); } - return seed; + return fml::HashCombine(seed, type_); } bool operator==(const RasterCacheKeyID& other) const { - return ids_ == other.ids_; + return type_ == other.type_ && ids_ == other.ids_; } bool operator!=(const RasterCacheKeyID& other) const { @@ -39,39 +52,30 @@ class RasterCacheKeyID { private: const std::vector ids_; + const RasterCacheKeyType type_; }; -enum class RasterCacheKeyType { - kLayer, - kPicture, - kDisplayList, - kLayerChildren -}; - -enum class RasterCacheKeyKind { kLayerMetrics, kPictureMetrics }; +enum class RasterCacheKeyKind { kLayerMetrics, kDisplayListMetrics }; class RasterCacheKey { public: RasterCacheKey(uint64_t id, RasterCacheKeyType type, const SkMatrix& ctm) - : RasterCacheKey(RasterCacheKeyID({id}), type, ctm) {} + : RasterCacheKey(RasterCacheKeyID(id, type), ctm) {} - RasterCacheKey(RasterCacheKeyID id, - RasterCacheKeyType type, - const SkMatrix& ctm) - : id_(std::move(id)), type_(type), matrix_(ctm) { + RasterCacheKey(RasterCacheKeyID id, const SkMatrix& ctm) + : id_(std::move(id)), matrix_(ctm) { matrix_[SkMatrix::kMTransX] = 0; matrix_[SkMatrix::kMTransY] = 0; } const RasterCacheKeyID& id() const { return id_; } - RasterCacheKeyType type() const { return type_; } + RasterCacheKeyType type() const { return id_.type(); } const SkMatrix& matrix() const { return matrix_; } RasterCacheKeyKind kind() const { - switch (type_) { - case RasterCacheKeyType::kPicture: + switch (id_.type()) { case RasterCacheKeyType::kDisplayList: - return RasterCacheKeyKind::kPictureMetrics; + return RasterCacheKeyKind::kDisplayListMetrics; case RasterCacheKeyType::kLayer: case RasterCacheKeyType::kLayerChildren: return RasterCacheKeyKind::kLayerMetrics; @@ -80,15 +84,14 @@ class RasterCacheKey { struct Hash { std::size_t operator()(RasterCacheKey const& key) const { - return fml::HashCombine(key.id_.GetHash(), key.type_); + return key.id_.GetHash(); } }; struct Equal { constexpr bool operator()(const RasterCacheKey& lhs, const RasterCacheKey& rhs) const { - return lhs.id_ == rhs.id_ && lhs.type_ == rhs.type_ && - lhs.matrix_ == rhs.matrix_; + return lhs.id_ == rhs.id_ && lhs.matrix_ == rhs.matrix_; } }; @@ -98,8 +101,6 @@ class RasterCacheKey { private: RasterCacheKeyID id_; - RasterCacheKeyType type_; - // ctm where only fractional (0-1) translations are preserved: // matrix_ = ctm; // matrix_[SkMatrix::kMTransX] = SkScalarFraction(ctm.getTranslateX()); diff --git a/flow/raster_cache_unittests.cc b/flow/raster_cache_unittests.cc index 19199ab9b75c4..067e045fa91b6 100644 --- a/flow/raster_cache_unittests.cc +++ b/flow/raster_cache_unittests.cc @@ -6,10 +6,15 @@ #include "flutter/display_list/display_list_builder.h" #include "flutter/display_list/display_list_test_utils.h" #include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_item.h" #include "flutter/flow/testing/mock_raster_cache.h" #include "gtest/gtest.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkPoint.h" #include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkPaint.h" +#include "third_party/skia/include/core/SkPicture.h" +#include "third_party/skia/include/core/SkPictureRecorder.h" namespace flutter { namespace testing { @@ -28,26 +33,32 @@ TEST(RasterCache, MetricsOmitUnpopulatedEntries) { auto display_list = GetSampleDisplayList(); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); // 1st access. - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); ASSERT_EQ(cache.picture_metrics().total_count(), 0u); ASSERT_EQ(cache.picture_metrics().total_bytes(), 0u); cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); - // 2nd access. - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); ASSERT_EQ(cache.picture_metrics().total_count(), 0u); @@ -55,9 +66,9 @@ TEST(RasterCache, MetricsOmitUnpopulatedEntries) { cache.PrepareNewFrame(); // Now Prepare should cache it. - ASSERT_TRUE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); - ASSERT_TRUE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_TRUE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); ASSERT_EQ(cache.picture_metrics().total_count(), 1u); @@ -74,32 +85,65 @@ TEST(RasterCache, ThresholdIsRespectedForDisplayList) { auto display_list = GetSampleDisplayList(); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); + // 1st access. - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); - // 2nd access. - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); // Now Prepare should cache it. - ASSERT_TRUE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); - ASSERT_TRUE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_TRUE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); +} + +TEST(RasterCache, AccessThresholdOfZeroDisablesCachingForSkPicture) { + size_t threshold = 0; + flutter::RasterCache cache(threshold); + + SkMatrix matrix = SkMatrix::I(); + + auto display_list = GetSampleDisplayList(); + ; + + SkCanvas dummy_canvas; + SkPaint paint; + + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; + + cache.PrepareNewFrame(); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); } TEST(RasterCache, AccessThresholdOfZeroDisablesCachingForDisplayList) { @@ -111,15 +155,54 @@ TEST(RasterCache, AccessThresholdOfZeroDisablesCachingForDisplayList) { auto display_list = GetSampleDisplayList(); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); +} + +TEST(RasterCache, PictureCacheLimitPerFrameIsRespectedWhenZeroForSkPicture) { + size_t picture_cache_limit_per_frame = 0; + flutter::RasterCache cache(3, picture_cache_limit_per_frame); + + SkMatrix matrix = SkMatrix::I(); + + auto display_list = GetSampleDisplayList(); + ; - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + SkCanvas dummy_canvas; + SkPaint paint; + + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; + + cache.PrepareNewFrame(); + + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); } TEST(RasterCache, PictureCacheLimitPerFrameIsRespectedWhenZeroForDisplayList) { @@ -131,15 +214,73 @@ TEST(RasterCache, PictureCacheLimitPerFrameIsRespectedWhenZeroForDisplayList) { auto display_list = GetSampleDisplayList(); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); + // 1st access. + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); + // 2nd access. + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); + // the picture_cache_limit_per_frame = 0, so don't cache it + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); +} - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); +TEST(RasterCache, SweepsRemoveUnusedSkPictures) { + size_t threshold = 1; + flutter::RasterCache cache(threshold); + + SkMatrix matrix = SkMatrix::I(); + + auto display_list = GetSampleDisplayList(); + ; + + SkCanvas dummy_canvas; + SkPaint paint; + + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; + + DisplayListRasterCacheItem display_item(display_list.get(), SkPoint(), true, + false); + // 1. + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_item.Draw(paint_context, &dummy_canvas, &paint)); + + cache.CleanupAfterFrame(); + cache.PrepareNewFrame(); + // 2. + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_item, preroll_context, paint_context, matrix)); + ASSERT_TRUE(display_item.Draw(paint_context, &dummy_canvas, &paint)); + + cache.CleanupAfterFrame(); + + cache.PrepareNewFrame(); + cache.CleanupAfterFrame(); // Extra frame without a Get image access. + + cache.PrepareNewFrame(); + + ASSERT_FALSE(cache.Draw(display_item.GetId().value(), dummy_canvas, &paint)); + ASSERT_FALSE(display_item.Draw(paint_context, &dummy_canvas, &paint)); } TEST(RasterCache, SweepsRemoveUnusedDisplayLists) { @@ -151,21 +292,29 @@ TEST(RasterCache, SweepsRemoveUnusedDisplayLists) { auto display_list = GetSampleDisplayList(); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); // 1 - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); + + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); - ASSERT_TRUE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrix)); // 2 - ASSERT_TRUE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_TRUE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); @@ -173,14 +322,15 @@ TEST(RasterCache, SweepsRemoveUnusedDisplayLists) { cache.CleanupAfterFrame(); // Extra frame without a Get image access. cache.PrepareNewFrame(); - - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE( + cache.Draw(display_list_item.GetId().value(), dummy_canvas, &paint)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); } TEST(RasterCache, ComputeDeviceRectBasedOnFractionalTranslation) { SkRect logical_rect = SkRect::MakeLTRB(0, 0, 300.2, 300.3); SkMatrix ctm = SkMatrix::MakeAll(2.0, 0, 0, 0, 2.0, 0, 0, 0, 1); - auto result = RasterCache::GetDeviceBounds(logical_rect, ctm); + auto result = RasterCacheUtil::GetDeviceBounds(logical_rect, ctm); ASSERT_EQ(result, SkRect::MakeLTRB(0.0, 0.0, 600.4, 600.6)); } @@ -198,27 +348,35 @@ TEST(RasterCache, DeviceRectRoundOutForDisplayList) { sk_sp display_list = builder.Build(); SkMatrix ctm = SkMatrix::MakeAll(1.3312, 0, 233, 0, 1.3312, 206, 0, 0, 1); + SkPaint paint; SkCanvas canvas(100, 100, nullptr); canvas.setMatrix(ctm); - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, ctm)); - ASSERT_FALSE(cache.Draw(*display_list, canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, ctm)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); - ASSERT_TRUE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, ctm)); - ASSERT_TRUE(cache.Draw(*display_list, canvas)); + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, ctm)); + ASSERT_TRUE(display_list_item.Draw(paint_context, &canvas, &paint)); canvas.translate(248, 0); - ASSERT_TRUE(cache.Draw(*display_list, canvas)); + ASSERT_TRUE(cache.Draw(display_list_item.GetId().value(), canvas, &paint)); + ASSERT_TRUE(display_list_item.Draw(paint_context, &canvas, &paint)); } TEST(RasterCache, NestedOpCountMetricUsedForDisplayList) { @@ -232,21 +390,29 @@ TEST(RasterCache, NestedOpCountMetricUsedForDisplayList) { ASSERT_EQ(display_list->op_count(true), 36u); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), false, false, matrix)); - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + false, false); + + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); - ASSERT_TRUE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), false, false, matrix)); - ASSERT_TRUE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_TRUE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); } TEST(RasterCache, NaiveComplexityScoringDisplayList) { @@ -267,21 +433,29 @@ TEST(RasterCache, NaiveComplexityScoringDisplayList) { ASSERT_FALSE(calculator->ShouldBeCached(complexity_score)); SkCanvas dummy_canvas; + SkPaint paint; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), false, false, matrix)); - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + false, false); + + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), false, false, matrix)); - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item.Draw(paint_context, &dummy_canvas, &paint)); // Six raster ops should be cached display_list = GetSampleDisplayList(6); @@ -291,18 +465,20 @@ TEST(RasterCache, NaiveComplexityScoringDisplayList) { ASSERT_EQ(display_list->op_count(), 6u); ASSERT_TRUE(calculator->ShouldBeCached(complexity_score)); + DisplayListRasterCacheItem display_list_item_2 = + DisplayListRasterCacheItem(display_list.get(), SkPoint(), false, false); cache.PrepareNewFrame(); - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), false, false, matrix)); - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item_2, preroll_context, paint_context, matrix)); + ASSERT_FALSE(display_list_item_2.Draw(paint_context, &dummy_canvas, &paint)); cache.CleanupAfterFrame(); cache.PrepareNewFrame(); - ASSERT_TRUE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), false, false, matrix)); - ASSERT_TRUE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_TRUE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item_2, preroll_context, paint_context, matrix)); + ASSERT_TRUE(display_list_item_2.Draw(paint_context, &dummy_canvas, &paint)); } TEST(RasterCache, DisplayListWithSingularMatrixIsNotCached) { @@ -319,20 +495,30 @@ TEST(RasterCache, DisplayListWithSingularMatrixIsNotCached) { auto display_list = GetSampleDisplayList(); SkCanvas dummy_canvas; + SkPaint paint; + + PrerollContextHolder preroll_context_holder = + GetSamplePrerollContextHolder(&cache); + PaintContextHolder paint_context_holder = GetSamplePaintContextHolder(&cache); + auto& preroll_context = preroll_context_holder.preroll_context; + auto& paint_context = paint_context_holder.paint_context; - PrerollContextHolder preroll_context_holder = GetSamplePrerollContextHolder(); + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); for (int i = 0; i < 10; i++) { cache.PrepareNewFrame(); for (int j = 0; j < matrixCount; j++) { - ASSERT_FALSE(cache.Prepare(&preroll_context_holder.preroll_context, - display_list.get(), true, false, matrices[j])); + display_list_item.set_matrix(matrices[j]); + ASSERT_FALSE(DisplayListRasterCacheItemTryToRasterCache( + display_list_item, preroll_context, paint_context, matrices[j])); } for (int j = 0; j < matrixCount; j++) { dummy_canvas.setMatrix(matrices[j]); - ASSERT_FALSE(cache.Draw(*display_list, dummy_canvas)); + ASSERT_FALSE( + display_list_item.Draw(paint_context, &dummy_canvas, &paint)); } cache.CleanupAfterFrame(); @@ -345,29 +531,23 @@ TEST(RasterCache, RasterCacheKeyHashFunction) { SkMatrix matrix = SkMatrix::I(); uint64_t id = 5; RasterCacheKey layer_key(id, RasterCacheKeyType::kLayer, matrix); - RasterCacheKey picture_key(id, RasterCacheKeyType::kPicture, matrix); RasterCacheKey display_list_key(id, RasterCacheKeyType::kDisplayList, matrix); RasterCacheKey layer_children_key(id, RasterCacheKeyType::kLayerChildren, matrix); - auto raster_cache_key_id = RasterCacheKeyID({id}); + auto layer_cache_key_id = RasterCacheKeyID(id, RasterCacheKeyType::kLayer); auto layer_hash_code = hash_function(layer_key); - ASSERT_EQ(layer_hash_code, fml::HashCombine(raster_cache_key_id.GetHash(), - RasterCacheKeyType::kLayer)); - - auto picture_hash_code = hash_function(picture_key); - ASSERT_EQ(picture_hash_code, fml::HashCombine(raster_cache_key_id.GetHash(), - RasterCacheKeyType::kPicture)); + ASSERT_EQ(layer_hash_code, layer_cache_key_id.GetHash()); + auto display_list_cache_key_id = + RasterCacheKeyID(id, RasterCacheKeyType::kDisplayList); auto display_list_hash_code = hash_function(display_list_key); - ASSERT_EQ(display_list_hash_code, - fml::HashCombine(raster_cache_key_id.GetHash(), - RasterCacheKeyType::kDisplayList)); + ASSERT_EQ(display_list_hash_code, display_list_cache_key_id.GetHash()); + auto layer_children_cache_key_id = + RasterCacheKeyID(id, RasterCacheKeyType::kLayerChildren); auto layer_children_hash_code = hash_function(layer_children_key); - ASSERT_EQ(layer_children_hash_code, - fml::HashCombine(raster_cache_key_id.GetHash(), - RasterCacheKeyType::kLayerChildren)); + ASSERT_EQ(layer_children_hash_code, layer_children_cache_key_id.GetHash()); } TEST(RasterCache, RasterCacheKeySameID) { @@ -375,17 +555,14 @@ TEST(RasterCache, RasterCacheKeySameID) { SkMatrix matrix = SkMatrix::I(); uint64_t id = 5; RasterCacheKey layer_key(id, RasterCacheKeyType::kLayer, matrix); - RasterCacheKey picture_key(id, RasterCacheKeyType::kPicture, matrix); RasterCacheKey display_list_key(id, RasterCacheKeyType::kDisplayList, matrix); RasterCacheKey layer_children_key(id, RasterCacheKeyType::kLayerChildren, matrix); map[layer_key] = 100; - map[picture_key] = 200; map[display_list_key] = 300; map[layer_children_key] = 400; ASSERT_EQ(map[layer_key], 100); - ASSERT_EQ(map[picture_key], 200); ASSERT_EQ(map[display_list_key], 300); ASSERT_EQ(map[layer_children_key], 400); } @@ -405,7 +582,7 @@ TEST(RasterCache, RasterCacheKeySameType) { ASSERT_EQ(map[layer_second_key], 100); ASSERT_EQ(map[layer_third_key], 150); - type = RasterCacheKeyType::kPicture; + type = RasterCacheKeyType::kDisplayList; RasterCacheKey picture_first_key(20, type, matrix); RasterCacheKey picture_second_key(25, type, matrix); RasterCacheKey picture_third_key(30, type, matrix); @@ -428,11 +605,11 @@ TEST(RasterCache, RasterCacheKeySameType) { ASSERT_EQ(map[display_list_third_key], 450); type = RasterCacheKeyType::kLayerChildren; - RasterCacheKey layer_children_first_key(RasterCacheKeyID({1, 2, 3}), type, + RasterCacheKey layer_children_first_key(RasterCacheKeyID({1, 2, 3}, type), matrix); - RasterCacheKey layer_children_second_key(RasterCacheKeyID({2, 3, 1}), type, + RasterCacheKey layer_children_second_key(RasterCacheKeyID({2, 3, 1}, type), matrix); - RasterCacheKey layer_children_third_key(RasterCacheKeyID({3, 2, 1}), type, + RasterCacheKey layer_children_third_key(RasterCacheKeyID({3, 2, 1}, type), matrix); map[layer_children_first_key] = 100; map[layer_children_second_key] = 200; @@ -443,29 +620,46 @@ TEST(RasterCache, RasterCacheKeySameType) { } TEST(RasterCache, RasterCacheKeyID_Equal) { - RasterCacheKeyID first = RasterCacheKeyID({1}); - RasterCacheKeyID second = RasterCacheKeyID({1}); - RasterCacheKeyID third = RasterCacheKeyID({2}); - ASSERT_EQ(first, second); + RasterCacheKeyID first = RasterCacheKeyID(1, RasterCacheKeyType::kLayer); + RasterCacheKeyID second = + RasterCacheKeyID(1, RasterCacheKeyType::kLayerChildren); + RasterCacheKeyID third = RasterCacheKeyID(2, RasterCacheKeyType::kLayer); + ASSERT_NE(first, second); ASSERT_NE(first, third); + ASSERT_NE(second, third); + + RasterCacheKeyID fourth = + RasterCacheKeyID({1, 2}, RasterCacheKeyType::kLayer); + RasterCacheKeyID fifth = + RasterCacheKeyID({1, 2}, RasterCacheKeyType::kLayerChildren); + RasterCacheKeyID sixth = + RasterCacheKeyID({2, 1}, RasterCacheKeyType::kLayerChildren); + ASSERT_NE(fourth, fifth); + ASSERT_NE(fifth, sixth); +} - RasterCacheKeyID fourth = RasterCacheKeyID({1, 2}); - RasterCacheKeyID fifth = RasterCacheKeyID({1, 2}); - RasterCacheKeyID sixth = RasterCacheKeyID({2, 1}); - ASSERT_EQ(fourth, fifth); - ASSERT_NE(fourth, sixth); +size_t HashIds(std::vector ids, RasterCacheKeyType type) { + std::size_t seed = fml::HashCombine(); + for (auto id : ids) { + fml::HashCombineSeed(seed, id); + } + return fml::HashCombine(seed, type); } TEST(RasterCache, RasterCacheKeyID_HashCode) { uint64_t foo = 1; uint64_t bar = 2; - RasterCacheKeyID first = RasterCacheKeyID({foo}); - RasterCacheKeyID second = RasterCacheKeyID({foo, bar}); - RasterCacheKeyID third = RasterCacheKeyID({bar, foo}); - - ASSERT_EQ(first.GetHash(), fml::HashCombine(foo)); - ASSERT_EQ(second.GetHash(), fml::HashCombine(foo, bar)); - ASSERT_EQ(third.GetHash(), fml::HashCombine(bar, foo)); + RasterCacheKeyID first = RasterCacheKeyID(foo, RasterCacheKeyType::kLayer); + RasterCacheKeyID second = + RasterCacheKeyID({foo, bar}, RasterCacheKeyType::kLayerChildren); + RasterCacheKeyID third = + RasterCacheKeyID({bar, foo}, RasterCacheKeyType::kLayerChildren); + + ASSERT_EQ(first.GetHash(), HashIds({foo}, RasterCacheKeyType::kLayer)); + ASSERT_EQ(second.GetHash(), + HashIds({foo, bar}, RasterCacheKeyType::kLayerChildren)); + ASSERT_EQ(third.GetHash(), + HashIds({bar, foo}, RasterCacheKeyType::kLayerChildren)); } } // namespace testing diff --git a/flow/raster_cache_util.cc b/flow/raster_cache_util.cc new file mode 100644 index 0000000000000..25061f29f07b8 --- /dev/null +++ b/flow/raster_cache_util.cc @@ -0,0 +1,7 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/flow/raster_cache_util.h" + +namespace flutter {} diff --git a/flow/raster_cache_util.h b/flow/raster_cache_util.h new file mode 100644 index 0000000000000..35abaf2d5f56c --- /dev/null +++ b/flow/raster_cache_util.h @@ -0,0 +1,61 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_FLOW_RASTER_CACHE_UTIL_H_ +#define FLUTTER_FLOW_RASTER_CACHE_UTIL_H_ + +#include "flutter/fml/logging.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkRect.h" + +namespace flutter { + +struct RasterCacheUtil { + // The default max number of picture and display list raster caches to be + // generated per frame. Generating too many caches in one frame may cause jank + // on that frame. This limit allows us to throttle the cache and distribute + // the work across multiple frames. + static constexpr int kDefaultPictureAndDispLayListCacheLimitPerFrame = 3; + + // The ImageFilterLayer might cache the filtered output of this layer + // if the layer remains stable (if it is not animating for instance). + // If the ImageFilterLayer is not the same between rendered frames, + // though, it will cache its children instead and filter their cached + // output on the fly. + // Caching just the children saves the time to render them and also + // avoids a rendering surface switch to draw them. + // Caching the layer itself avoids all of that and additionally avoids + // the cost of applying the filter, but can be worse than caching the + // children if the filter itself is not stable from frame to frame. + // This constant controls how many times we will Preroll and Paint this + // same ImageFilterLayer before we consider the layer and filter to be + // stable enough to switch from caching the children to caching the + // filtered output of this layer. + static constexpr int kMinimumRendersBeforeCachingFilterLayer = 3; + + static bool CanRasterizeRect(const SkRect& cull_rect) { + if (cull_rect.isEmpty()) { + // No point in ever rasterizing an empty display list. + return false; + } + + if (!cull_rect.isFinite()) { + // Cannot attempt to rasterize into an infinitely large surface. + FML_LOG(INFO) << "Attempted to raster cache non-finite display list"; + return false; + } + + return true; + } + + static SkRect GetDeviceBounds(const SkRect& rect, const SkMatrix& ctm) { + SkRect device_rect; + ctm.mapRect(&device_rect, rect); + return device_rect; + } +}; + +} // namespace flutter + +#endif // FLUTTER_FLOW_RASTER_CACHE_UTIL_H_ diff --git a/flow/testing/layer_test.h b/flow/testing/layer_test.h index 650f50ca96649..e5672e1eacdd1 100644 --- a/flow/testing/layer_test.h +++ b/flow/testing/layer_test.h @@ -10,6 +10,7 @@ #include #include +#include #include "flutter/flow/testing/mock_raster_cache.h" #include "flutter/fml/macros.h" @@ -58,6 +59,7 @@ class LayerTestBase : public CanvasTestBase { .checkerboard_offscreen_layers = false, .frame_device_pixel_ratio = 1.0f, .has_platform_view = false, + .raster_cached_entries = &cacheable_items_, // clang-format on }, paint_context_{ @@ -158,14 +160,16 @@ class LayerTestBase : public CanvasTestBase { set_raster_cache_(std::make_unique()); } + std::vector& cacheable_items() { return cacheable_items_; } + TextureRegistry& texture_regitry() { return texture_registry_; } RasterCache* raster_cache() { return raster_cache_.get(); } PrerollContext* preroll_context() { return &preroll_context_; } - Layer::PaintContext& paint_context() { return paint_context_; } - Layer::PaintContext& display_list_paint_context() { + PaintContext& paint_context() { return paint_context_; } + PaintContext& display_list_paint_context() { return display_list_paint_context_; } - Layer::PaintContext& check_board_context() { return check_board_context_; } + PaintContext& check_board_context() { return check_board_context_; } LayerSnapshotStore& layer_snapshot_store() { return snapshot_store_; } sk_sp display_list() { @@ -205,14 +209,16 @@ class LayerTestBase : public CanvasTestBase { std::unique_ptr raster_cache_; PrerollContext preroll_context_; - Layer::PaintContext paint_context_; + PaintContext paint_context_; DisplayListCanvasRecorder display_list_recorder_; sk_sp display_list_; SkNWayCanvas internal_display_list_canvas_; - Layer::PaintContext display_list_paint_context_; - Layer::PaintContext check_board_context_; + PaintContext display_list_paint_context_; + PaintContext check_board_context_; LayerSnapshotStore snapshot_store_; + std::vector cacheable_items_; + FML_DISALLOW_COPY_AND_ASSIGN(LayerTestBase); }; using LayerTest = LayerTestBase<::testing::Test>; diff --git a/flow/testing/mock_layer.cc b/flow/testing/mock_layer.cc index 09b7c20ccde5f..6ff049469c2b1 100644 --- a/flow/testing/mock_layer.cc +++ b/flow/testing/mock_layer.cc @@ -4,6 +4,9 @@ #include "flutter/flow/testing/mock_layer.h" +#include "flutter/flow/layers/container_layer.h" +#include "flutter/flow/layers/layer.h" +#include "flutter/flow/testing/mock_raster_cache.h" namespace flutter { namespace testing { @@ -63,5 +66,23 @@ void MockLayer::Paint(PaintContext& context) const { } } +void MockCacheableContainerLayer::Preroll(PrerollContext* context, + const SkMatrix& matrix) { + Layer::AutoPrerollSaveLayerState save = + Layer::AutoPrerollSaveLayerState::Create(context); + auto cache = AutoCache(layer_raster_cache_item_.get(), context, matrix); + + ContainerLayer::Preroll(context, matrix); +} + +void MockCacheableLayer::Preroll(PrerollContext* context, + const SkMatrix& matrix) { + Layer::AutoPrerollSaveLayerState save = + Layer::AutoPrerollSaveLayerState::Create(context); + auto cache = AutoCache(raster_cache_item_.get(), context, matrix); + + MockLayer::Preroll(context, matrix); +} + } // namespace testing } // namespace flutter diff --git a/flow/testing/mock_layer.h b/flow/testing/mock_layer.h index 54a555c8dc87a..4e34fa1639d77 100644 --- a/flow/testing/mock_layer.h +++ b/flow/testing/mock_layer.h @@ -5,7 +5,15 @@ #ifndef FLOW_TESTING_MOCK_LAYER_H_ #define FLOW_TESTING_MOCK_LAYER_H_ +#include +#include +#include "flutter/flow/diff_context.h" +#include "flutter/flow/layers/cacheable_layer.h" +#include "flutter/flow/layers/container_layer.h" #include "flutter/flow/layers/layer.h" +#include "flutter/flow/layers/layer_raster_cache_item.h" +#include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_item.h" namespace flutter { namespace testing { @@ -57,6 +65,57 @@ class MockLayer : public Layer { FML_DISALLOW_COPY_AND_ASSIGN(MockLayer); }; +class MockCacheableContainerLayer : public CacheableContainerLayer { + public: + // if render more than 3 frames, try to cache itself. + // if less 3 frames, cache his children + static std::shared_ptr CacheLayerOrChildren() { + return std::make_shared(true); + } + + // if render more than 3 frames, try to cache itself. + // if less 3 frames, cache nothing + static std::shared_ptr CacheLayerOnly() { + return std::make_shared(); + } + + void Preroll(PrerollContext* context, const SkMatrix& matrix) override; + + explicit MockCacheableContainerLayer(bool cache_children = false) + : CacheableContainerLayer(3, cache_children) {} +}; + +class MockLayerCacheableItem : public LayerRasterCacheItem { + public: + using LayerRasterCacheItem::LayerRasterCacheItem; +}; +class MockCacheableLayer : public MockLayer { + public: + explicit MockCacheableLayer(SkPath path, + SkPaint paint = SkPaint(), + int render_limit = 3, + bool fake_has_platform_view = false, + bool fake_reads_surface = false, + bool fake_opacity_compatible = false) + : MockLayer(path, + paint, + fake_has_platform_view, + fake_reads_surface, + fake_opacity_compatible) { + raster_cache_item_ = + std::make_unique(this, render_limit); + } + + const LayerRasterCacheItem* raster_cache_item() const { + return raster_cache_item_.get(); + } + + void Preroll(PrerollContext* context, const SkMatrix& matrix) override; + + private: + std::unique_ptr raster_cache_item_; +}; + } // namespace testing } // namespace flutter diff --git a/flow/testing/mock_raster_cache.cc b/flow/testing/mock_raster_cache.cc index b9907d4c77187..9b69eb39103c2 100644 --- a/flow/testing/mock_raster_cache.cc +++ b/flow/testing/mock_raster_cache.cc @@ -4,6 +4,15 @@ #include "flutter/flow/testing/mock_raster_cache.h" +#include "flutter/flow/layers/display_list_raster_cache_item.h" +#include "flutter/flow/layers/layer.h" +#include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_item.h" +#include "include/core/SkCanvas.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkPoint.h" +#include "third_party/skia/include/core/SkPictureRecorder.h" + namespace flutter { namespace testing { @@ -11,37 +20,29 @@ MockRasterCacheResult::MockRasterCacheResult(SkRect device_rect) : RasterCacheResult(nullptr, SkRect::MakeEmpty(), "RasterCacheFlow::test"), device_rect_(device_rect) {} -std::unique_ptr MockRasterCache::RasterizeDisplayList( - DisplayList* display_list, - GrDirectContext* context, - const SkMatrix& ctm, - SkColorSpace* dst_color_space, - bool checkerboard) const { - SkRect logical_rect = display_list->bounds(); - SkRect cache_rect = RasterCache::GetDeviceBounds(logical_rect, ctm); - - return std::make_unique(cache_rect); -} - -std::unique_ptr MockRasterCache::RasterizeLayer( - PrerollContext* context, - Layer* layer, - RasterCacheLayerStrategy strategy, - const SkMatrix& ctm, - bool checkerboard) const { - SkRect logical_rect = layer->paint_bounds(); - SkRect cache_rect = RasterCache::GetDeviceBounds(logical_rect, ctm); - - return std::make_unique(cache_rect); -} - void MockRasterCache::AddMockLayer(int width, int height) { SkMatrix ctm = SkMatrix::I(); SkPath path; path.addRect(100, 100, 100 + width, 100 + height); - MockLayer layer = MockLayer(path); + MockCacheableLayer layer = MockCacheableLayer(path); layer.Preroll(&preroll_context_, ctm); - Prepare(&preroll_context_, &layer, ctm); + layer.raster_cache_item()->TryToPrepareRasterCache(paint_context_); + RasterCache::Context r_context = { + // clang-format off + .gr_context = preroll_context_.gr_context, + .dst_color_space = preroll_context_.dst_color_space, + .matrix = ctm, + .logical_rect = layer.paint_bounds(), + .checkerboard = preroll_context_.checkerboard_offscreen_layers, + // clang-format on + }; + UpdateCacheEntry( + RasterCacheKeyID(layer.unique_id(), RasterCacheKeyType::kLayer), + r_context, [&](SkCanvas* canvas) { + SkRect cache_rect = RasterCacheUtil::GetDeviceBounds( + r_context.logical_rect, r_context.matrix); + return std::make_unique(cache_rect); + }); } void MockRasterCache::AddMockPicture(int width, int height) { @@ -53,38 +54,108 @@ void MockRasterCache::AddMockPicture(int width, int height) { path.addRect(100, 100, 100 + width, 100 + height); recorder.drawPath(path, SkPaint()); sk_sp display_list = recorder.Build(); - PrerollContextHolder holder = GetSamplePrerollContextHolder(); - holder.preroll_context.dst_color_space = color_space_; + + PaintContextHolder holder = GetSamplePaintContextHolder(this); + holder.paint_context.dst_color_space = color_space_; + + DisplayListRasterCacheItem display_list_item(display_list.get(), SkPoint(), + true, false); for (int i = 0; i < access_threshold(); i++) { - Prepare(&holder.preroll_context, display_list.get(), true, false, ctm); - Draw(*display_list, mock_canvas_); + MarkSeen(display_list_item.GetId().value(), ctm); + Draw(display_list_item.GetId().value(), mock_canvas_, nullptr); } - Prepare(&holder.preroll_context, display_list.get(), true, false, ctm); + MarkSeen(display_list_item.GetId().value(), ctm); + RasterCache::Context r_context = { + // clang-format off + .gr_context = preroll_context_.gr_context, + .dst_color_space = preroll_context_.dst_color_space, + .matrix = ctm, + .logical_rect = display_list->bounds(), + .checkerboard = preroll_context_.checkerboard_offscreen_layers, + // clang-format on + }; + UpdateCacheEntry(RasterCacheKeyID(display_list->unique_id(), + RasterCacheKeyType::kDisplayList), + r_context, [&](SkCanvas* canvas) { + SkRect cache_rect = RasterCacheUtil::GetDeviceBounds( + r_context.logical_rect, r_context.matrix); + return std::make_unique(cache_rect); + }); } -PrerollContextHolder GetSamplePrerollContextHolder() { +static std::vector raster_cache_items_; +PrerollContextHolder GetSamplePrerollContextHolder(RasterCache* raster_cache) { FixedRefreshRateStopwatch raster_time; FixedRefreshRateStopwatch ui_time; MutatorsStack mutators_stack; TextureRegistry texture_registry; sk_sp srgb = SkColorSpace::MakeSRGB(); + PrerollContextHolder holder = { { - nullptr, /* raster_cache */ - nullptr, /* gr_context */ - nullptr, /* external_view_embedder */ - mutators_stack, srgb.get(), /* color_space */ - kGiantRect, /* cull_rect */ - false, /* layer reads from surface */ - raster_time, ui_time, texture_registry, - false, /* checkerboard_offscreen_layers */ - 1.0f, /* frame_device_pixel_ratio */ - false, /* has_platform_view */ + // clang-format off + .raster_cache = raster_cache, + .gr_context = nullptr, + .view_embedder = nullptr, + .mutators_stack = mutators_stack, + .dst_color_space = srgb.get(), + .cull_rect = kGiantRect, + .surface_needs_readback = false, + .raster_time = raster_time, + .ui_time = ui_time, + .texture_registry = texture_registry, + .checkerboard_offscreen_layers = false, + .frame_device_pixel_ratio = 1.0f, + .has_platform_view = false, + .has_texture_layer = false, + .raster_cached_entries = &raster_cache_items_, + // clang-format on }, srgb}; return holder; } +PaintContextHolder GetSamplePaintContextHolder(RasterCache* raster_cache) { + FixedRefreshRateStopwatch raster_time; + FixedRefreshRateStopwatch ui_time; + MutatorsStack mutators_stack; + TextureRegistry texture_registry; + sk_sp srgb = SkColorSpace::MakeSRGB(); + PaintContextHolder holder = {// clang-format off + { + .internal_nodes_canvas = nullptr, + .leaf_nodes_canvas = nullptr, + .gr_context = nullptr, + .dst_color_space = srgb.get(), + .view_embedder = nullptr, + .raster_time = raster_time, + .ui_time = ui_time, + .texture_registry = texture_registry, + .raster_cache = raster_cache, + .checkerboard_offscreen_layers = false, + .frame_device_pixel_ratio = 1.0f, + .inherited_opacity = SK_Scalar1, + }, + // clang-format on + srgb}; + + return holder; +} + +bool DisplayListRasterCacheItemTryToRasterCache( + DisplayListRasterCacheItem& display_list_item, + PrerollContext& context, + PaintContext& paint_context, + const SkMatrix& matrix) { + display_list_item.PrerollSetup(&context, matrix); + display_list_item.PrerollFinalize(&context, matrix); + if (display_list_item.cache_state() == + RasterCacheItem::CacheState::kCurrent) { + return display_list_item.TryToPrepareRasterCache(paint_context); + } + return false; +} + } // namespace testing } // namespace flutter diff --git a/flow/testing/mock_raster_cache.h b/flow/testing/mock_raster_cache.h index bd99b94cb3682..0a240985f850d 100644 --- a/flow/testing/mock_raster_cache.h +++ b/flow/testing/mock_raster_cache.h @@ -5,13 +5,17 @@ #ifndef FLOW_TESTING_MOCK_RASTER_CACHE_H_ #define FLOW_TESTING_MOCK_RASTER_CACHE_H_ +#include #include "flutter/flow/layers/layer.h" #include "flutter/flow/raster_cache.h" +#include "flutter/flow/raster_cache_item.h" #include "flutter/flow/testing/mock_layer.h" #include "flutter/testing/mock_canvas.h" +#include "include/core/SkCanvas.h" #include "third_party/skia/include/core/SkColorSpace.h" #include "third_party/skia/include/core/SkColorType.h" #include "third_party/skia/include/core/SkImage.h" +#include "third_party/skia/include/core/SkPicture.h" namespace flutter { namespace testing { @@ -50,24 +54,12 @@ class MockRasterCacheResult : public RasterCacheResult { */ class MockRasterCache : public RasterCache { public: - explicit MockRasterCache(size_t access_threshold = 3, - size_t display_list_cache_limit_per_frame = - kDefaultDispLayListCacheLimitPerFrame) - : RasterCache(access_threshold, display_list_cache_limit_per_frame) {} - - std::unique_ptr RasterizeDisplayList( - DisplayList* display_list, - GrDirectContext* context, - const SkMatrix& ctm, - SkColorSpace* dst_color_space, - bool checkerboard) const override; - - std::unique_ptr RasterizeLayer( - PrerollContext* context, - Layer* layer, - RasterCacheLayerStrategy stategy, - const SkMatrix& ctm, - bool checkerboard) const override; + explicit MockRasterCache( + size_t access_threshold = 3, + size_t picture_and_display_list_cache_limit_per_frame = + RasterCacheUtil::kDefaultPictureAndDispLayListCacheLimitPerFrame) + : RasterCache(access_threshold, + picture_and_display_list_cache_limit_per_frame) {} void AddMockLayer(int width, int height); void AddMockPicture(int width, int height); @@ -97,6 +89,23 @@ class MockRasterCache : public RasterCache { .has_texture_layer = false, // clang-format on }; + + PaintContext paint_context_ = { + // clang-format off + .internal_nodes_canvas = nullptr, + .leaf_nodes_canvas = nullptr, + .gr_context = nullptr, + .dst_color_space = color_space_, + .view_embedder = nullptr, + .raster_time = raster_time_, + .ui_time = ui_time_, + .texture_registry = texture_registry_, + .raster_cache = nullptr, + .checkerboard_offscreen_layers = false, + .frame_device_pixel_ratio = 1.0f, + .inherited_opacity = SK_Scalar1, + // clang-format on + }; }; struct PrerollContextHolder { @@ -104,7 +113,22 @@ struct PrerollContextHolder { sk_sp srgb; }; -PrerollContextHolder GetSamplePrerollContextHolder(); +struct PaintContextHolder { + PaintContext paint_context; + sk_sp srgb; +}; + +PrerollContextHolder GetSamplePrerollContextHolder( + RasterCache* raster_cache = nullptr); + +PaintContextHolder GetSamplePaintContextHolder( + RasterCache* raster_cache = nullptr); + +bool DisplayListRasterCacheItemTryToRasterCache( + DisplayListRasterCacheItem& display_list_item, + PrerollContext& context, + PaintContext& paint_context, + const SkMatrix& matrix); } // namespace testing } // namespace flutter diff --git a/impeller/aiks/aiks_unittests.cc b/impeller/aiks/aiks_unittests.cc index 1be47193fde8b..8a255dbf87f56 100644 --- a/impeller/aiks/aiks_unittests.cc +++ b/impeller/aiks/aiks_unittests.cc @@ -395,12 +395,14 @@ static sk_sp OpenFixtureAsSkData(const char* fixture_name) { if (!mapping) { return nullptr; } - return SkData::MakeWithProc( + auto data = SkData::MakeWithProc( mapping->GetMapping(), mapping->GetSize(), [](const void* ptr, void* context) { delete reinterpret_cast(context); }, - mapping.release()); + mapping.get()); + mapping.release(); + return data; } bool RenderTextInCanvas(std::shared_ptr context, diff --git a/impeller/compiler/BUILD.gn b/impeller/compiler/BUILD.gn index 54f2b8560b73e..9bd3ffda346a6 100644 --- a/impeller/compiler/BUILD.gn +++ b/impeller/compiler/BUILD.gn @@ -89,6 +89,10 @@ impeller_component("impellerc") { sources = [ "impellerc_main.cc" ] deps = [ ":compiler_lib" ] + + metadata = { + entitlement_file_path = [ "impellerc" ] + } } group("compiler") { diff --git a/impeller/compiler/compiler_test.cc b/impeller/compiler/compiler_test.cc index 62d63a2b61334..85b3abaa5f9c5 100644 --- a/impeller/compiler/compiler_test.cc +++ b/impeller/compiler/compiler_test.cc @@ -58,14 +58,15 @@ static std::string SLFileName(const char* fixture_name, return stream.str(); } -bool CompilerTest::CanCompileAndReflect(const char* fixture_name) const { +bool CompilerTest::CanCompileAndReflect(const char* fixture_name, + SourceType source_type) const { auto fixture = flutter::testing::OpenFixtureAsMapping(fixture_name); if (!fixture->GetMapping()) { VALIDATION_LOG << "Could not find shader in fixtures: " << fixture_name; return false; } - SourceOptions source_options(fixture_name); + SourceOptions source_options(fixture_name, source_type); source_options.target_platform = GetParam(); source_options.working_directory = std::make_shared( flutter::testing::OpenFixturesDirectory()); diff --git a/impeller/compiler/compiler_test.h b/impeller/compiler/compiler_test.h index f3141c2135749..a7be1c688b198 100644 --- a/impeller/compiler/compiler_test.h +++ b/impeller/compiler/compiler_test.h @@ -21,7 +21,9 @@ class CompilerTest : public ::testing::TestWithParam { ~CompilerTest(); - bool CanCompileAndReflect(const char* fixture_name) const; + bool CanCompileAndReflect( + const char* fixture_name, + SourceType source_type = SourceType::kUnknown) const; private: fml::UniqueFD intermediates_directory_; diff --git a/impeller/compiler/compiler_unittests.cc b/impeller/compiler/compiler_unittests.cc index 3aa20e6fefa58..d19d9f00c98c0 100644 --- a/impeller/compiler/compiler_unittests.cc +++ b/impeller/compiler/compiler_unittests.cc @@ -27,14 +27,19 @@ TEST(CompilerTest, ShaderKindMatchingIsSuccessful) { TEST_P(CompilerTest, CanCompile) { ASSERT_TRUE(CanCompileAndReflect("sample.vert")); + ASSERT_TRUE(CanCompileAndReflect("sample.vert", SourceType::kVertexShader)); } TEST_P(CompilerTest, CanCompileTessellationControlShader) { ASSERT_TRUE(CanCompileAndReflect("sample.tesc")); + ASSERT_TRUE(CanCompileAndReflect("sample.tesc", + SourceType::kTessellationControlShader)); } TEST_P(CompilerTest, CanCompileTessellationEvaluationShader) { ASSERT_TRUE(CanCompileAndReflect("sample.tese")); + ASSERT_TRUE(CanCompileAndReflect("sample.tese", + SourceType::kTessellationEvaluationShader)); } TEST_P(CompilerTest, CanCompileComputeShader) { @@ -42,6 +47,7 @@ TEST_P(CompilerTest, CanCompileComputeShader) { GTEST_SKIP_("Only enabled on Metal backends till ES 3.2 support is added."); } ASSERT_TRUE(CanCompileAndReflect("sample.comp")); + ASSERT_TRUE(CanCompileAndReflect("sample.comp", SourceType::kComputeShader)); } TEST_P(CompilerTest, MustFailDueToMultipleLocationPerStructMember) { diff --git a/impeller/compiler/impellerc_main.cc b/impeller/compiler/impellerc_main.cc index 0f8458de013d2..79ff437355df9 100644 --- a/impeller/compiler/impellerc_main.cc +++ b/impeller/compiler/impellerc_main.cc @@ -13,6 +13,7 @@ #include "impeller/compiler/compiler.h" #include "impeller/compiler/source_options.h" #include "impeller/compiler/switches.h" +#include "impeller/compiler/types.h" #include "impeller/compiler/utilities.h" #include "third_party/shaderc/libshaderc/include/shaderc/shaderc.hpp" @@ -42,14 +43,17 @@ bool Main(const fml::CommandLine& command_line) { SourceOptions options; options.target_platform = switches.target_platform; - options.type = SourceTypeFromFileName(switches.source_file_name); + if (switches.input_type == SourceType::kUnknown) { + options.type = SourceTypeFromFileName(switches.source_file_name); + } else { + options.type = switches.input_type; + } options.working_directory = switches.working_directory; options.file_name = switches.source_file_name; options.include_dirs = switches.include_directories; options.defines = switches.defines; options.entry_point_name = EntryPointFunctionNameFromSourceName( - switches.source_file_name, - SourceTypeFromFileName(switches.source_file_name)); + switches.source_file_name, options.type); Reflector::Options reflector_options; reflector_options.target_platform = switches.target_platform; diff --git a/impeller/compiler/source_options.cc b/impeller/compiler/source_options.cc index eeb1bcf8b7023..ace19b5f1f825 100644 --- a/impeller/compiler/source_options.cc +++ b/impeller/compiler/source_options.cc @@ -9,8 +9,12 @@ namespace compiler { SourceOptions::SourceOptions() = default; -SourceOptions::SourceOptions(const std::string& file_name) - : type(SourceTypeFromFileName(file_name)), file_name(file_name) {} +SourceOptions::SourceOptions(const std::string& file_name, + SourceType source_type) + : type(source_type == SourceType::kUnknown + ? SourceTypeFromFileName(file_name) + : source_type), + file_name(file_name) {} SourceOptions::~SourceOptions() = default; diff --git a/impeller/compiler/source_options.h b/impeller/compiler/source_options.h index 636c0a5bf9754..7a23ae2e9b80c 100644 --- a/impeller/compiler/source_options.h +++ b/impeller/compiler/source_options.h @@ -29,7 +29,8 @@ struct SourceOptions { ~SourceOptions(); - SourceOptions(const std::string& file_name); + explicit SourceOptions(const std::string& file_name, + SourceType source_type = SourceType::kUnknown); }; } // namespace compiler diff --git a/impeller/compiler/switches.cc b/impeller/compiler/switches.cc index 02b495fe57180..aae3f076021bb 100644 --- a/impeller/compiler/switches.cc +++ b/impeller/compiler/switches.cc @@ -22,6 +22,14 @@ static const std::map kKnownPlatforms = { {"runtime-stage-gles", TargetPlatform::kRuntimeStageGLES}, }; +static const std::map kKnownSourceTypes = { + {"vert", SourceType::kVertexShader}, + {"frag", SourceType::kFragmentShader}, + {"tesc", SourceType::kTessellationControlShader}, + {"tese", SourceType::kTessellationEvaluationShader}, + {"comp", SourceType::kComputeShader}, +}; + void Switches::PrintHelp(std::ostream& stream) { stream << std::endl; stream << "ImpellerC is an offline shader processor and reflection engine." @@ -35,6 +43,11 @@ void Switches::PrintHelp(std::ostream& stream) { } stream << " ]" << std::endl; stream << "--input=" << std::endl; + stream << "[optional] --input-kind={"; + for (const auto& source_type : kKnownSourceTypes) { + stream << source_type.first << ", "; + } + stream << "}" << std::endl; stream << "--sl=" << std::endl; stream << "--spirv=" << std::endl; stream << "[optional] --reflection-json=" << std::endl; @@ -68,6 +81,17 @@ static TargetPlatform TargetPlatformFromCommandLine( return target; } +static SourceType SourceTypeFromCommandLine( + const fml::CommandLine& command_line) { + auto source_type_option = + command_line.GetOptionValueWithDefault("input-type", ""); + auto source_type_search = kKnownSourceTypes.find(source_type_option); + if (source_type_search == kKnownSourceTypes.end()) { + return SourceType::kUnknown; + } + return source_type_search->second; +} + Switches::Switches(const fml::CommandLine& command_line) : target_platform(TargetPlatformFromCommandLine(command_line)), working_directory(std::make_shared(fml::OpenDirectory( @@ -75,6 +99,7 @@ Switches::Switches(const fml::CommandLine& command_line) false, // create if necessary, fml::FilePermission::kRead))), source_file_name(command_line.GetOptionValueWithDefault("input", "")), + input_type(SourceTypeFromCommandLine(command_line)), sl_file_name(command_line.GetOptionValueWithDefault("sl", "")), spirv_file_name(command_line.GetOptionValueWithDefault("spirv", "")), reflection_json_name( diff --git a/impeller/compiler/switches.h b/impeller/compiler/switches.h index 38a0aab318727..8d73ceb36c778 100644 --- a/impeller/compiler/switches.h +++ b/impeller/compiler/switches.h @@ -22,6 +22,7 @@ struct Switches { std::shared_ptr working_directory; std::vector include_directories; std::string source_file_name; + SourceType input_type; std::string sl_file_name; std::string spirv_file_name; std::string reflection_json_name; diff --git a/impeller/display_list/display_list_playground.cc b/impeller/display_list/display_list_playground.cc index 68776392984b1..c9da19ad90b98 100644 --- a/impeller/display_list/display_list_playground.cc +++ b/impeller/display_list/display_list_playground.cc @@ -52,12 +52,14 @@ static sk_sp OpenFixtureAsSkData(const char* fixture_name) { if (!mapping) { return nullptr; } - return SkData::MakeWithProc( + auto data = SkData::MakeWithProc( mapping->GetMapping(), mapping->GetSize(), [](const void* ptr, void* context) { delete reinterpret_cast(context); }, - mapping.release()); + mapping.get()); + mapping.release(); + return data; } SkFont DisplayListPlayground::CreateTestFontOfSize(SkScalar scalar) { diff --git a/impeller/entity/contents/filters/filter_contents.cc b/impeller/entity/contents/filters/filter_contents.cc index 84488213be0e8..70b83a9613b50 100644 --- a/impeller/entity/contents/filters/filter_contents.cc +++ b/impeller/entity/contents/filters/filter_contents.cc @@ -116,6 +116,10 @@ void FilterContents::SetInputs(FilterInput::Vector inputs) { inputs_ = std::move(inputs); } +void FilterContents::SetCoverageCrop(std::optional coverage_crop) { + coverage_crop_ = coverage_crop; +} + bool FilterContents::Render(const ContentContext& renderer, const Entity& entity, RenderPass& pass) const { @@ -146,11 +150,22 @@ bool FilterContents::Render(const ContentContext& renderer, return contents->Render(renderer, e, pass); } +std::optional FilterContents::GetLocalCoverage( + const Entity& local_entity) const { + auto coverage = GetFilterCoverage(inputs_, local_entity); + if (coverage_crop_.has_value() && coverage.has_value()) { + coverage = coverage->Intersection(coverage_crop_.value()); + } + + return coverage; +} + std::optional FilterContents::GetCoverage(const Entity& entity) const { Entity entity_with_local_transform = entity; entity_with_local_transform.SetTransformation( GetTransform(entity.GetTransformation())); - return GetFilterCoverage(inputs_, entity_with_local_transform); + + return GetLocalCoverage(entity_with_local_transform); } std::optional FilterContents::GetFilterCoverage( @@ -186,7 +201,7 @@ std::optional FilterContents::RenderToSnapshot( entity_with_local_transform.SetTransformation( GetTransform(entity.GetTransformation())); - auto coverage = GetFilterCoverage(inputs_, entity_with_local_transform); + auto coverage = GetLocalCoverage(entity_with_local_transform); if (!coverage.has_value() || coverage->IsEmpty()) { return std::nullopt; } diff --git a/impeller/entity/contents/filters/filter_contents.h b/impeller/entity/contents/filters/filter_contents.h index 4d16b1873fb81..43d2af2512b7f 100644 --- a/impeller/entity/contents/filters/filter_contents.h +++ b/impeller/entity/contents/filters/filter_contents.h @@ -109,13 +109,16 @@ class FilterContents : public Contents { ~FilterContents() override; - /// @brief The input texture sources for this filter. Each input's emitted - /// texture is expected to have premultiplied alpha colors. + /// @brief The input texture sources for this filter. Each input's emitted + /// texture is expected to have premultiplied alpha colors. /// - /// The number of required or optional textures depends on the - /// particular filter's implementation. + /// The number of required or optional textures depends on the + /// particular filter's implementation. void SetInputs(FilterInput::Vector inputs); + /// @brief Screen space bounds to use for cropping the filter output. + void SetCoverageCrop(std::optional coverage_crop); + // |Contents| bool Render(const ContentContext& renderer, const Entity& entity, @@ -145,7 +148,10 @@ class FilterContents : public Contents { RenderPass& pass, const Rect& coverage) const = 0; + std::optional GetLocalCoverage(const Entity& local_entity) const; + FilterInput::Vector inputs_; + std::optional coverage_crop_; FML_DISALLOW_COPY_AND_ASSIGN(FilterContents); }; diff --git a/impeller/entity/entity_pass.cc b/impeller/entity/entity_pass.cc index 071ac71c6f460..04231efc5b894 100644 --- a/impeller/entity/entity_pass.cc +++ b/impeller/entity/entity_pass.cc @@ -65,7 +65,7 @@ const std::shared_ptr& EntityPass::GetLazyGlyphAtlas() const { } std::optional EntityPass::GetElementsCoverage( - std::optional coverage_clip) const { + std::optional coverage_crop) const { std::optional result; for (const auto& element : elements_) { std::optional coverage; @@ -73,12 +73,12 @@ std::optional EntityPass::GetElementsCoverage( if (auto entity = std::get_if(&element)) { coverage = entity->GetCoverage(); - if (coverage.has_value() && coverage_clip.has_value()) { - coverage = coverage->Intersection(coverage_clip.value()); + if (coverage.has_value() && coverage_crop.has_value()) { + coverage = coverage->Intersection(coverage_crop.value()); } } else if (auto subpass = std::get_if>(&element)) { - coverage = GetSubpassCoverage(*subpass->get(), coverage_clip); + coverage = GetSubpassCoverage(*subpass->get(), coverage_crop); } else { FML_UNREACHABLE(); } @@ -427,8 +427,10 @@ bool EntityPass::OnRender(ContentContext& renderer, FilterInput::Make(result.entity.GetContents()), FilterInput::Make(texture, result.entity.GetTransformation().Invert())}; - result.entity.SetContents( - FilterContents::MakeBlend(result.entity.GetBlendMode(), inputs)); + auto contents = + FilterContents::MakeBlend(result.entity.GetBlendMode(), inputs); + contents->SetCoverageCrop(result.entity.GetCoverage()); + result.entity.SetContents(std::move(contents)); result.entity.SetBlendMode(Entity::BlendMode::kSourceOver); } diff --git a/impeller/entity/entity_pass.h b/impeller/entity/entity_pass.h index 621f7b57a3aaa..87c7bddd4cd33 100644 --- a/impeller/entity/entity_pass.h +++ b/impeller/entity/entity_pass.h @@ -62,10 +62,10 @@ class EntityPass { std::optional GetSubpassCoverage( const EntityPass& subpass, - std::optional coverage_clip) const; + std::optional coverage_crop) const; std::optional GetElementsCoverage( - std::optional coverage_clip) const; + std::optional coverage_crop) const; private: struct EntityResult { diff --git a/impeller/entity/entity_unittests.cc b/impeller/entity/entity_unittests.cc index 2b96ce4984937..85249f6a099fd 100644 --- a/impeller/entity/entity_unittests.cc +++ b/impeller/entity/entity_unittests.cc @@ -131,6 +131,31 @@ TEST_P(EntityTest, EntityPassCoverageRespectsCoverageLimit) { } } +TEST_P(EntityTest, FilterCoverageRespectsCropRect) { + auto image = CreateTextureForFixture("boston.jpg"); + auto filter = FilterContents::MakeBlend(Entity::BlendMode::kSoftLight, + FilterInput::Make({image})); + + // Without the crop rect (default behavior). + { + auto actual = filter->GetCoverage({}); + auto expected = Rect::MakeSize(Size(image->GetSize())); + + ASSERT_TRUE(actual.has_value()); + ASSERT_RECT_NEAR(actual.value(), expected); + } + + // With the crop rect. + { + auto expected = Rect::MakeLTRB(50, 50, 100, 100); + filter->SetCoverageCrop(expected); + auto actual = filter->GetCoverage({}); + + ASSERT_TRUE(actual.has_value()); + ASSERT_RECT_NEAR(actual.value(), expected); + } +} + TEST_P(EntityTest, CanDrawRect) { Entity entity; entity.SetTransformation(Matrix::MakeScale(GetContentScale())); diff --git a/impeller/tessellator/BUILD.gn b/impeller/tessellator/BUILD.gn index a3d1b3ef1c42e..d3915f9996679 100644 --- a/impeller/tessellator/BUILD.gn +++ b/impeller/tessellator/BUILD.gn @@ -34,6 +34,10 @@ impeller_component("tessellator_shared") { "../geometry", "//third_party/libtess2", ] + + metadata = { + entitlement_file_path = [ "libtessellator.dylib" ] + } } impeller_component("tessellator_unittests") { diff --git a/impeller/tools/build_metal_library.py b/impeller/tools/build_metal_library.py index c23ac736f51ea..d78a2e5dcfab6 100644 --- a/impeller/tools/build_metal_library.py +++ b/impeller/tools/build_metal_library.py @@ -93,11 +93,6 @@ def main(): command += [ '--std=macos-metal1.2', ] - elif args.platform == 'ios': - command += [ - '--std=ios-metal1.2', - '-mios-version-min=10.0', - ] if args.optimize: command += [ @@ -106,6 +101,14 @@ def main(): # Allow aggressive, lossy floating-point optimizations. '-ffast-math', ] + if args.platform == 'ios': + # limiting to ios-metal1.2 disables shader debug symbols, only + # enabling these in optimize mode. + # see https://github.com/flutter/flutter/issues/106066 + command += [ + '--std=ios-metal1.2', + '-mios-version-min=10.0', + ] else: command += [ # Embeds both sources and driver options in the output. This aids in diff --git a/lib/snapshot/BUILD.gn b/lib/snapshot/BUILD.gn index 01cbbc12277a7..f78ff9f98d0ba 100644 --- a/lib/snapshot/BUILD.gn +++ b/lib/snapshot/BUILD.gn @@ -67,6 +67,10 @@ compiled_action("generate_snapshot_bin") { } args += [ rebase_path(platform_kernel) ] + + metadata = { + entitlement_file_path = [ "gen_snapshot" ] + } } # Generates an assembly file defining a given symbol with the bytes from a diff --git a/lib/ui/BUILD.gn b/lib/ui/BUILD.gn index a4f45330def81..80b4f773f9bf2 100644 --- a/lib/ui/BUILD.gn +++ b/lib/ui/BUILD.gn @@ -30,6 +30,8 @@ source_set("ui") { "painting/codec.h", "painting/color_filter.cc", "painting/color_filter.h", + "painting/display_list_deferred_image_gpu.cc", + "painting/display_list_deferred_image_gpu.h", "painting/display_list_image_gpu.cc", "painting/display_list_image_gpu.h", "painting/engine_layer.cc", diff --git a/lib/ui/compositing.dart b/lib/ui/compositing.dart index ce87901e82a03..dbfc6918ce461 100644 --- a/lib/ui/compositing.dart +++ b/lib/ui/compositing.dart @@ -21,6 +21,23 @@ class Scene extends NativeFieldWrapperClass1 { @pragma('vm:entry-point') Scene._(); + /// Creates a GPU resident image from this scene. + /// + /// {@macro dart.ui.painting.Picture.toGpuImage} + Image toGpuImage(int width, int height) { + if (width <= 0 || height <= 0) { + throw Exception('Invalid image dimensions.'); + } + + final _Image image = _Image._(); + final String? result = _toGpuImage(width, height, image); + if (result != null) { + throw PictureRasterizationException._(result); + } + return Image._(image, image.width, image.height); + } + String? _toGpuImage(int width, int height, _Image outImage) native 'Scene_toGpuImage'; + /// Creates a raster image representation of the current state of the scene. /// This is a slow operation that is performed on a background thread. /// @@ -35,7 +52,7 @@ class Scene extends NativeFieldWrapperClass1 { if (image == null) { callback(null); } else { - callback(Image._(image)); + callback(Image._(image, image.width, image.height)); } }), ); diff --git a/lib/ui/compositing/scene.cc b/lib/ui/compositing/scene.cc index a6448970f662d..e42ec7c8d60ac 100644 --- a/lib/ui/compositing/scene.cc +++ b/lib/ui/compositing/scene.cc @@ -22,6 +22,7 @@ namespace flutter { IMPLEMENT_WRAPPERTYPEINFO(ui, Scene); #define FOR_EACH_BINDING(V) \ + V(Scene, toGpuImage) \ V(Scene, toImage) \ V(Scene, dispose) @@ -66,6 +67,24 @@ void Scene::dispose() { ClearDartWrapper(); } +Dart_Handle Scene::toGpuImage(uint32_t width, + uint32_t height, + Dart_Handle raw_image_handle) { + TRACE_EVENT0("flutter", "Scene::toGpuImage"); + + if (!layer_tree_) { + return tonic::ToDart("Scene did not contain a layer tree."); + } + + auto picture = layer_tree_->Flatten(SkRect::MakeWH(width, height)); + if (!picture) { + return tonic::ToDart("Could not flatten scene into a layer tree."); + } + + Picture::RasterizeToGpuImage(picture, width, height, raw_image_handle); + return Dart_Null(); +} + Dart_Handle Scene::toImage(uint32_t width, uint32_t height, Dart_Handle raw_image_callback) { diff --git a/lib/ui/compositing/scene.h b/lib/ui/compositing/scene.h index f7a8d93711814..29b66d150fa1e 100644 --- a/lib/ui/compositing/scene.h +++ b/lib/ui/compositing/scene.h @@ -32,6 +32,10 @@ class Scene : public RefCountedDartWrappable { std::unique_ptr takeLayerTree(); + Dart_Handle toGpuImage(uint32_t width, + uint32_t height, + Dart_Handle raw_image_handle); + Dart_Handle toImage(uint32_t width, uint32_t height, Dart_Handle image_callback); diff --git a/lib/ui/compositing/scene_builder.cc b/lib/ui/compositing/scene_builder.cc index 2a2810ba99fa3..297e3b7c1092a 100644 --- a/lib/ui/compositing/scene_builder.cc +++ b/lib/ui/compositing/scene_builder.cc @@ -203,7 +203,7 @@ void SceneBuilder::pushBackdropFilter(Dart_Handle layer_handle, int blendMode, fml::RefPtr oldLayer) { auto layer = std::make_shared( - filter->filter()->skia_object(), static_cast(blendMode)); + filter->filter(), static_cast(blendMode)); PushLayer(layer); EngineLayer::MakeRetained(layer_handle, layer); diff --git a/lib/ui/painting.dart b/lib/ui/painting.dart index f5ed75057e359..91803c611273e 100644 --- a/lib/ui/painting.dart +++ b/lib/ui/painting.dart @@ -1646,7 +1646,7 @@ enum PixelFormat { /// creating a codec to decode it. /// * [instantiateImageCodec], a utility method that wraps [ImageDescriptor]. class Image { - Image._(this._image) { + Image._(this._image, this.width, this.height) { assert(() { _debugStack = StackTrace.current; return true; @@ -1661,16 +1661,10 @@ class Image { StackTrace? _debugStack; /// The number of image pixels along the image's horizontal axis. - int get width { - assert(!_disposed && !_image._disposed); - return _image.width; - } + final int width; /// The number of image pixels along the image's vertical axis. - int get height { - assert(!_disposed && !_image._disposed); - return _image.height; - } + final int height; bool _disposed = false; /// Release this handle's claim on the underlying Image. This handle is no @@ -1820,7 +1814,7 @@ class Image { ); } assert(!_image._disposed); - return Image._(_image); + return Image._(_image, width, height); } /// Returns true if `other` is a [clone] of this and thus shares the same @@ -1999,7 +1993,7 @@ class Codec extends NativeFieldWrapperClass1 { completer.completeError(Exception('Codec failed to produce an image, possibly due to invalid image data.')); } else { completer.complete(FrameInfo._( - image: Image._(image), + image: Image._(image, image.width, image.height), duration: Duration(milliseconds: durationMilliseconds), )); } @@ -3885,10 +3879,13 @@ class ImageShader extends Shader { if (matrix4.length != 16) throw ArgumentError('"matrix4" must have 16 entries.'); _constructor(); - _initWithImage(image._image, tmx.index, tmy.index, filterQuality?.index ?? -1, matrix4); + final String? error = _initWithImage(image._image, tmx.index, tmy.index, filterQuality?.index ?? -1, matrix4); + if (error != null) { + throw Exception(error); + } } void _constructor() native 'ImageShader_constructor'; - void _initWithImage(_Image image, int tmx, int tmy, int filterQualityIndex, Float64List matrix4) native 'ImageShader_initWithImage'; + String? _initWithImage(_Image image, int tmx, int tmy, int filterQualityIndex, Float64List matrix4) native 'ImageShader_initWithImage'; } /// An instance of [FragmentProgram] creates [Shader] objects (as used by [Paint.shader]) that run SPIR-V code. @@ -4752,14 +4749,17 @@ class Canvas extends NativeFieldWrapperClass1 { assert(image != null); // image is checked on the engine side assert(_offsetIsValid(offset)); assert(paint != null); - _drawImage(image._image, offset.dx, offset.dy, paint._objects, paint._data, paint.filterQuality.index); + final String? error = _drawImage(image._image, offset.dx, offset.dy, paint._objects, paint._data, paint.filterQuality.index); + if (error != null) { + throw PictureRasterizationException._(error, stack: image._debugStack); + } } - void _drawImage(_Image image, - double x, - double y, - List? paintObjects, - ByteData paintData, - int filterQualityIndex) native 'Canvas_drawImage'; + String? _drawImage(_Image image, + double x, + double y, + List? paintObjects, + ByteData paintData, + int filterQualityIndex) native 'Canvas_drawImage'; /// Draws the subset of the given image described by the `src` argument into /// the canvas in the axis-aligned rectangle given by the `dst` argument. @@ -4775,31 +4775,34 @@ class Canvas extends NativeFieldWrapperClass1 { assert(_rectIsValid(src)); assert(_rectIsValid(dst)); assert(paint != null); - _drawImageRect(image._image, - src.left, - src.top, - src.right, - src.bottom, - dst.left, - dst.top, - dst.right, - dst.bottom, - paint._objects, - paint._data, - paint.filterQuality.index); - } - void _drawImageRect(_Image image, - double srcLeft, - double srcTop, - double srcRight, - double srcBottom, - double dstLeft, - double dstTop, - double dstRight, - double dstBottom, - List? paintObjects, - ByteData paintData, - int filterQualityIndex) native 'Canvas_drawImageRect'; + final String? error = _drawImageRect(image._image, + src.left, + src.top, + src.right, + src.bottom, + dst.left, + dst.top, + dst.right, + dst.bottom, + paint._objects, + paint._data, + paint.filterQuality.index); + if (error != null) { + throw PictureRasterizationException._(error, stack: image._debugStack); + } + } + String? _drawImageRect(_Image image, + double srcLeft, + double srcTop, + double srcRight, + double srcBottom, + double dstLeft, + double dstTop, + double dstRight, + double dstBottom, + List? paintObjects, + ByteData paintData, + int filterQualityIndex) native 'Canvas_drawImageRect'; /// Draws the given [Image] into the canvas using the given [Paint]. /// @@ -4819,31 +4822,34 @@ class Canvas extends NativeFieldWrapperClass1 { assert(_rectIsValid(center)); assert(_rectIsValid(dst)); assert(paint != null); - _drawImageNine(image._image, - center.left, - center.top, - center.right, - center.bottom, - dst.left, - dst.top, - dst.right, - dst.bottom, - paint._objects, - paint._data, - paint.filterQuality.index); - } - void _drawImageNine(_Image image, - double centerLeft, - double centerTop, - double centerRight, - double centerBottom, - double dstLeft, - double dstTop, - double dstRight, - double dstBottom, - List? paintObjects, - ByteData paintData, - int filterQualityIndex) native 'Canvas_drawImageNine'; + final String? error = _drawImageNine(image._image, + center.left, + center.top, + center.right, + center.bottom, + dst.left, + dst.top, + dst.right, + dst.bottom, + paint._objects, + paint._data, + paint.filterQuality.index); + if (error != null) { + throw PictureRasterizationException._(error, stack: image._debugStack); + } + } + String? _drawImageNine(_Image image, + double centerLeft, + double centerTop, + double centerRight, + double centerBottom, + double dstLeft, + double dstTop, + double dstRight, + double dstBottom, + List? paintObjects, + ByteData paintData, + int filterQualityIndex) native 'Canvas_drawImageNine'; /// Draw the given picture onto the canvas. To create a picture, see /// [PictureRecorder]. @@ -5121,10 +5127,14 @@ class Canvas extends NativeFieldWrapperClass1 { final Float32List? cullRectBuffer = cullRect?._getValue32(); final int qualityIndex = paint.filterQuality.index; - _drawAtlas( + final String? error = _drawAtlas( paint._objects, paint._data, qualityIndex, atlas._image, rstTransformBuffer, rectBuffer, colorBuffer, (blendMode ?? BlendMode.src).index, cullRectBuffer ); + + if (error != null) { + throw PictureRasterizationException._(error, stack: atlas._debugStack); + } } /// Draws many parts of an image - the [atlas] - onto the canvas. @@ -5290,21 +5300,25 @@ class Canvas extends NativeFieldWrapperClass1 { throw ArgumentError('If non-null, "colors" length must be one fourth the length of "rstTransforms" and "rects".'); final int qualityIndex = paint.filterQuality.index; - _drawAtlas( + final String? error = _drawAtlas( paint._objects, paint._data, qualityIndex, atlas._image, rstTransforms, rects, colors, (blendMode ?? BlendMode.src).index, cullRect?._getValue32() ); + + if (error != null) { + throw PictureRasterizationException._(error, stack: atlas._debugStack); + } } - void _drawAtlas(List? paintObjects, - ByteData paintData, - int filterQualityIndex, - _Image atlas, - Float32List rstTransforms, - Float32List rects, - Int32List? colors, - int blendMode, - Float32List? cullRect) native 'Canvas_drawAtlas'; + String? _drawAtlas(List? paintObjects, + ByteData paintData, + int filterQualityIndex, + _Image atlas, + Float32List rstTransforms, + Float32List rects, + Int32List? colors, + int blendMode, + Float32List? cullRect) native 'Canvas_drawAtlas'; /// Draws a shadow for a [Path] representing the given material elevation. /// @@ -5345,9 +5359,6 @@ class Picture extends NativeFieldWrapperClass1 { /// The returned image will be `width` pixels wide and `height` pixels high. /// The picture is rasterized within the 0 (left), 0 (top), `width` (right), /// `height` (bottom) bounds. Content outside these bounds is clipped. - /// - /// Although the image is returned synchronously, the picture is actually - /// rasterized the first time the image is drawn and then cached. Future toImage(int width, int height) { assert(!_disposed); if (width <= 0 || height <= 0) @@ -5357,14 +5368,39 @@ class Picture extends NativeFieldWrapperClass1 { if (image == null) { callback(null); } else { - callback(Image._(image)); + callback(Image._(image, image.width, image.height)); } }), ); } - String? _toImage(int width, int height, _Callback<_Image?> callback) native 'Picture_toImage'; + /// Creates a GPU resident image from this picture. + /// + /// {@template dart.ui.painting.Picture.toGpuImage} + /// The returned image will be `width` pixels wide and `height` pixels high. + /// The picture is rasterized within the 0 (left), 0 (top), `width` (right), + /// `height` (bottom) bounds. Content outside these bounds is clipped. + /// + /// The image object is created and returned synchronously, but is rasterized + /// asynchronously. If the rasterization fails, an exception will be thrown + /// when the image is drawn to a [Canvas]. + /// + /// In the flutter_tester, this will always created a light gray and white + /// checkerboard bitmap with the requested dimensions. + /// {@endtemplate} + Image toGpuImage(int width, int height) { + assert(!_disposed); + if (width <= 0 || height <= 0) { + throw Exception('Invalid image dimensions.'); + } + + final _Image image = _Image._(); + _toGpuImage(width, height, image); + return Image._(image, image.width, image.height); + } + void _toGpuImage(int width, int height, _Image outImage) native 'Picture_toGpuImage'; + /// Release the resources used by this object. The object is no longer usable /// after this method is called. void dispose() { @@ -5871,3 +5907,30 @@ Future _futurize(_Callbacker callbacker) { throw Exception(error); return completer.future; } + +/// An exception thrown by [Canvas.drawImage] and related methods when drawing +/// an [Image] created via [Picture.toGpuImage] that is in an invalid state. +/// +/// This exception may be thrown if the requested image dimensions exceeded the +/// maximum 2D texture size allowed by the GPU, or if no GPU surface or context +/// was available for rasterization at request time. +class PictureRasterizationException implements Exception { + const PictureRasterizationException._(this.message, {this.stack}); + + /// A string containing details about the failure. + final String message; + + /// If available, the stack trace at the time [Picture.toGpuImage] was called. + final StackTrace? stack; + + @override + String toString() { + final StringBuffer buffer = StringBuffer('Failed to rasterize a picture: $message.'); + if (stack != null) { + buffer.writeln(); + buffer.writeln('The callstack when the image was created was:'); + buffer.writeln(stack!.toString()); + } + return buffer.toString(); + } +} diff --git a/lib/ui/painting/canvas.cc b/lib/ui/painting/canvas.cc index 068c21a782bcc..fea8a02b7ccfc 100644 --- a/lib/ui/painting/canvas.cc +++ b/lib/ui/painting/canvas.cc @@ -385,74 +385,98 @@ void Canvas::drawPath(const CanvasPath* path, } } -void Canvas::drawImage(const CanvasImage* image, - double x, - double y, - const Paint& paint, - const PaintData& paint_data, - int filterQualityIndex) { +Dart_Handle Canvas::drawImage(const CanvasImage* image, + double x, + double y, + const Paint& paint, + const PaintData& paint_data, + int filterQualityIndex) { FML_DCHECK(paint.isNotNull()); if (!image) { - Dart_ThrowException( - ToDart("Canvas.drawImage called with non-genuine Image.")); - return; + return ToDart("Canvas.drawImage called with non-genuine Image."); } + + auto dl_image = image->image(); + if (!dl_image) { + return Dart_Null(); + } + auto error = dl_image->get_error(); + if (error) { + return ToDart(error.value()); + } + auto sampling = ImageFilter::SamplingFromIndex(filterQualityIndex); if (display_list_recorder_) { bool with_attributes = paint.sync_to(builder(), kDrawImageWithPaintFlags); - builder()->drawImage(image->image(), SkPoint::Make(x, y), sampling, + builder()->drawImage(dl_image, SkPoint::Make(x, y), sampling, with_attributes); } -} - -void Canvas::drawImageRect(const CanvasImage* image, - double src_left, - double src_top, - double src_right, - double src_bottom, - double dst_left, - double dst_top, - double dst_right, - double dst_bottom, - const Paint& paint, - const PaintData& paint_data, - int filterQualityIndex) { + return Dart_Null(); +} + +Dart_Handle Canvas::drawImageRect(const CanvasImage* image, + double src_left, + double src_top, + double src_right, + double src_bottom, + double dst_left, + double dst_top, + double dst_right, + double dst_bottom, + const Paint& paint, + const PaintData& paint_data, + int filterQualityIndex) { FML_DCHECK(paint.isNotNull()); if (!image) { - Dart_ThrowException( - ToDart("Canvas.drawImageRect called with non-genuine Image.")); - return; + return ToDart("Canvas.drawImageRect called with non-genuine Image."); + } + + auto dl_image = image->image(); + if (!dl_image) { + return Dart_Null(); } + auto error = dl_image->get_error(); + if (error) { + return ToDart(error.value()); + } + SkRect src = SkRect::MakeLTRB(src_left, src_top, src_right, src_bottom); SkRect dst = SkRect::MakeLTRB(dst_left, dst_top, dst_right, dst_bottom); auto sampling = ImageFilter::SamplingFromIndex(filterQualityIndex); if (display_list_recorder_) { bool with_attributes = paint.sync_to(builder(), kDrawImageRectWithPaintFlags); - builder()->drawImageRect(image->image(), src, dst, sampling, - with_attributes, + builder()->drawImageRect(dl_image, src, dst, sampling, with_attributes, SkCanvas::kFast_SrcRectConstraint); } -} - -void Canvas::drawImageNine(const CanvasImage* image, - double center_left, - double center_top, - double center_right, - double center_bottom, - double dst_left, - double dst_top, - double dst_right, - double dst_bottom, - const Paint& paint, - const PaintData& paint_data, - int bitmapSamplingIndex) { + return Dart_Null(); +} + +Dart_Handle Canvas::drawImageNine(const CanvasImage* image, + double center_left, + double center_top, + double center_right, + double center_bottom, + double dst_left, + double dst_top, + double dst_right, + double dst_bottom, + const Paint& paint, + const PaintData& paint_data, + int bitmapSamplingIndex) { FML_DCHECK(paint.isNotNull()); if (!image) { - Dart_ThrowException( - ToDart("Canvas.drawImageNine called with non-genuine Image.")); - return; + return ToDart("Canvas.drawImageNine called with non-genuine Image."); + } + auto dl_image = image->image(); + if (!dl_image) { + return Dart_Null(); } + auto error = dl_image->get_error(); + if (error) { + return ToDart(error.value()); + } + SkRect center = SkRect::MakeLTRB(center_left, center_top, center_right, center_bottom); SkIRect icenter; @@ -462,9 +486,9 @@ void Canvas::drawImageNine(const CanvasImage* image, if (display_list_recorder_) { bool with_attributes = paint.sync_to(builder(), kDrawImageNineWithPaintFlags); - builder()->drawImageNine(image->image(), icenter, dst, filter, - with_attributes); + builder()->drawImageNine(dl_image, icenter, dst, filter, with_attributes); } + return Dart_Null(); } void Canvas::drawPicture(Picture* picture) { @@ -526,23 +550,34 @@ void Canvas::drawVertices(const Vertices* vertices, } } -void Canvas::drawAtlas(const Paint& paint, - const PaintData& paint_data, - int filterQualityIndex, - CanvasImage* atlas, - const tonic::Float32List& transforms, - const tonic::Float32List& rects, - const tonic::Int32List& colors, - DlBlendMode blend_mode, - const tonic::Float32List& cull_rect) { +Dart_Handle Canvas::drawAtlas(const Paint& paint, + const PaintData& paint_data, + int filterQualityIndex, + CanvasImage* atlas, + tonic::Float32List& transforms, + tonic::Float32List& rects, + tonic::Int32List& colors, + DlBlendMode blend_mode, + tonic::Float32List& cull_rect) { if (!atlas) { - Dart_ThrowException( - ToDart("Canvas.drawAtlas or Canvas.drawRawAtlas called with " - "non-genuine Image.")); - return; + transforms.Release(); + rects.Release(); + colors.Release(); + cull_rect.Release(); + return ToDart( + "Canvas.drawAtlas or Canvas.drawRawAtlas called with " + "non-genuine Image."); } auto dl_image = atlas->image(); + auto error = dl_image->get_error(); + if (error) { + transforms.Release(); + rects.Release(); + colors.Release(); + cull_rect.Release(); + return ToDart(error.value()); + } static_assert(sizeof(SkRSXform) == sizeof(float) * 4, "SkRSXform doesn't use floats."); @@ -562,6 +597,12 @@ void Canvas::drawAtlas(const Paint& paint, blend_mode, sampling, reinterpret_cast(cull_rect.data()), with_attributes); } + + transforms.Release(); + rects.Release(); + colors.Release(); + cull_rect.Release(); + return Dart_Null(); } void Canvas::drawShadow(const CanvasPath* path, diff --git a/lib/ui/painting/canvas.h b/lib/ui/painting/canvas.h index ff5b39c3c0c29..d80b329491887 100644 --- a/lib/ui/painting/canvas.h +++ b/lib/ui/painting/canvas.h @@ -110,36 +110,36 @@ class Canvas : public RefCountedDartWrappable, DisplayListOpFlags { void drawPath(const CanvasPath* path, const Paint& paint, const PaintData& paint_data); - void drawImage(const CanvasImage* image, - double x, - double y, - const Paint& paint, - const PaintData& paint_data, - int filterQualityIndex); - void drawImageRect(const CanvasImage* image, - double src_left, - double src_top, - double src_right, - double src_bottom, - double dst_left, - double dst_top, - double dst_right, - double dst_bottom, - const Paint& paint, - const PaintData& paint_data, - int filterQualityIndex); - void drawImageNine(const CanvasImage* image, - double center_left, - double center_top, - double center_right, - double center_bottom, - double dst_left, - double dst_top, - double dst_right, - double dst_bottom, - const Paint& paint, - const PaintData& paint_data, - int bitmapSamplingIndex); + Dart_Handle drawImage(const CanvasImage* image, + double x, + double y, + const Paint& paint, + const PaintData& paint_data, + int filterQualityIndex); + Dart_Handle drawImageRect(const CanvasImage* image, + double src_left, + double src_top, + double src_right, + double src_bottom, + double dst_left, + double dst_top, + double dst_right, + double dst_bottom, + const Paint& paint, + const PaintData& paint_data, + int filterQualityIndex); + Dart_Handle drawImageNine(const CanvasImage* image, + double center_left, + double center_top, + double center_right, + double center_bottom, + double dst_left, + double dst_top, + double dst_right, + double dst_bottom, + const Paint& paint, + const PaintData& paint_data, + int bitmapSamplingIndex); void drawPicture(Picture* picture); // The paint argument is first for the following functions because Paint @@ -157,15 +157,15 @@ class Canvas : public RefCountedDartWrappable, DisplayListOpFlags { const Paint& paint, const PaintData& paint_data); - void drawAtlas(const Paint& paint, - const PaintData& paint_data, - int filterQualityIndex, - CanvasImage* atlas, - const tonic::Float32List& transforms, - const tonic::Float32List& rects, - const tonic::Int32List& colors, - DlBlendMode blend_mode, - const tonic::Float32List& cull_rect); + Dart_Handle drawAtlas(const Paint& paint, + const PaintData& paint_data, + int filterQualityIndex, + CanvasImage* atlas, + tonic::Float32List& transforms, + tonic::Float32List& rects, + tonic::Int32List& colors, + DlBlendMode blend_mode, + tonic::Float32List& cull_rect); void drawShadow(const CanvasPath* path, SkColor color, diff --git a/lib/ui/painting/display_list_deferred_image_gpu.cc b/lib/ui/painting/display_list_deferred_image_gpu.cc new file mode 100644 index 0000000000000..3868cf1f06c0f --- /dev/null +++ b/lib/ui/painting/display_list_deferred_image_gpu.cc @@ -0,0 +1,70 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/lib/ui/painting/display_list_deferred_image_gpu.h" + +namespace flutter { + +sk_sp DlDeferredImageGPU::Make(SkISize size) { + return sk_sp(new DlDeferredImageGPU(size)); +} + +DlDeferredImageGPU::DlDeferredImageGPU(SkISize size) : size_(size) {} + +// |DlImage| +DlDeferredImageGPU::~DlDeferredImageGPU() = default; + +// |DlImage| +sk_sp DlDeferredImageGPU::skia_image() const { + return image_; +}; + +// |DlImage| +std::shared_ptr DlDeferredImageGPU::impeller_texture() + const { + return nullptr; +} + +// |DlImage| +bool DlDeferredImageGPU::isTextureBacked() const { + if (auto image = skia_image()) { + return image->isTextureBacked(); + } + return false; +} + +// |DlImage| +SkISize DlDeferredImageGPU::dimensions() const { + return size_; +} + +// |DlImage| +size_t DlDeferredImageGPU::GetApproximateByteSize() const { + // This call is accessed on the UI thread, and image_ may not be available + // yet. The image is not mipmapped and it's created using N32 pixels, so this + // is safe. + if (size_.isEmpty()) { + return sizeof(this); + } + return sizeof(this) + size_.width() * size_.height() * 4; +} + +void DlDeferredImageGPU::set_image(sk_sp image) { + FML_DCHECK(image); + FML_DCHECK(image->dimensions() == size_); + image_ = std::move(image); +} + +void DlDeferredImageGPU::set_error(const std::string& error) { + FML_DCHECK(!image_); + std::scoped_lock lock(error_mutex_); + error_ = std::move(error); +} + +std::optional DlDeferredImageGPU::get_error() const { + std::scoped_lock lock(error_mutex_); + return error_; +} + +} // namespace flutter diff --git a/lib/ui/painting/display_list_deferred_image_gpu.h b/lib/ui/painting/display_list_deferred_image_gpu.h new file mode 100644 index 0000000000000..0cec807fe7a99 --- /dev/null +++ b/lib/ui/painting/display_list_deferred_image_gpu.h @@ -0,0 +1,67 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_LIB_UI_PAINTING_DISPLAY_LIST_DEFERRED_IMAGE_GPU_H_ +#define FLUTTER_LIB_UI_PAINTING_DISPLAY_LIST_DEFERRED_IMAGE_GPU_H_ + +#include + +#include "flutter/display_list/display_list_image.h" +#include "flutter/flow/skia_gpu_object.h" +#include "flutter/fml/macros.h" + +namespace flutter { + +class DlDeferredImageGPU final : public DlImage { + public: + static sk_sp Make(SkISize size); + + // |DlImage| + ~DlDeferredImageGPU() override; + + // |DlImage| + // This method is only safe to call from the raster thread. + sk_sp skia_image() const override; + + // |DlImage| + std::shared_ptr impeller_texture() const override; + + // |DlImage| + bool isTextureBacked() const override; + + // |DlImage| + SkISize dimensions() const override; + + // |DlImage| + virtual size_t GetApproximateByteSize() const override; + + // This method must only be called from the raster thread. + void set_image(sk_sp image); + + // This method is safe to call from any thread. + void set_error(const std::string& error); + + // |DlImage| + // This method is safe to call from any thread. + std::optional get_error() const override; + + // |DlImage| + OwningContext owning_context() const override { + return OwningContext::kRaster; + } + + private: + sk_sp image_; + SkISize size_; + mutable std::mutex error_mutex_; + std::optional error_; + + explicit DlDeferredImageGPU(SkISize size); + + FML_DISALLOW_COPY_AND_ASSIGN(DlDeferredImageGPU); +}; + +} // namespace flutter + +#endif // FLUTTER_LIB_UI_PAINTING_DISPLAY_LIST_DEFERRED_IMAGE_GPU_H_ diff --git a/lib/ui/painting/image.cc b/lib/ui/painting/image.cc index 3e8865e55552f..0ef33bf6f1f30 100644 --- a/lib/ui/painting/image.cc +++ b/lib/ui/painting/image.cc @@ -4,6 +4,9 @@ #include "flutter/lib/ui/painting/image.h" +#include +#include + #include "flutter/lib/ui/painting/image_encoding.h" #include "third_party/tonic/converter/dart_converter.h" #include "third_party/tonic/dart_args.h" @@ -53,7 +56,11 @@ size_t CanvasImage::GetAllocationSize() const { if (image_) { size += image_->GetApproximateByteSize(); } - return size; + // The VM will assert if we set a value larger than or close to + // std::numeric_limits::max(). + // https://github.com/dart-lang/sdk/issues/49332 + return std::clamp( + size, static_cast(0), + static_cast(std::numeric_limits::max() / 10)); } - } // namespace flutter diff --git a/lib/ui/painting/image_encoding.cc b/lib/ui/painting/image_encoding.cc index c8df75ebb68a8..b3149f80d60bc 100644 --- a/lib/ui/painting/image_encoding.cc +++ b/lib/ui/painting/image_encoding.cc @@ -60,6 +60,21 @@ void InvokeDataCallback(std::unique_ptr callback, DartInvoke(callback->value(), {dart_data}); } +static void ConvertGpuImageToRaster( + sk_sp dl_image, + std::function)> encode_task, + fml::RefPtr raster_task_runner) { + fml::TaskRunner::RunNowOrPostTask( + raster_task_runner, [dl_image, encode_task = std::move(encode_task)]() { + auto image = dl_image->skia_image(); + if (image == nullptr) { + encode_task(nullptr); + return; + } + encode_task(image->makeRasterImage()); + }); +} + void ConvertImageToRaster( sk_sp dl_image, std::function)> encode_task, @@ -228,9 +243,18 @@ void EncodeImageAndInvokeDataCallback( }); }; - ConvertImageToRaster(std::move(image), encode_task, raster_task_runner, - io_task_runner, resource_context, snapshot_delegate, - is_gpu_disabled_sync_switch); + FML_DCHECK(image); + switch (image->owning_context()) { + case DlImage::OwningContext::kRaster: + ConvertGpuImageToRaster(std::move(image), encode_task, + raster_task_runner); + break; + case DlImage::OwningContext::kIO: + ConvertImageToRaster(std::move(image), encode_task, raster_task_runner, + io_task_runner, resource_context, snapshot_delegate, + is_gpu_disabled_sync_switch); + break; + } } } // namespace diff --git a/lib/ui/painting/image_shader.cc b/lib/ui/painting/image_shader.cc index fb32e7a2f9194..cb12c5d7b0d38 100644 --- a/lib/ui/painting/image_shader.cc +++ b/lib/ui/painting/image_shader.cc @@ -5,8 +5,8 @@ #include "flutter/lib/ui/painting/image_shader.h" #include "flutter/lib/ui/painting/image_filter.h" -#include "flutter/lib/ui/ui_dart_state.h" #include "flutter/lib/ui/painting/display_list_image_gpu.h" +#include "flutter/lib/ui/ui_dart_state.h" #include "third_party/tonic/converter/dart_converter.h" #include "third_party/tonic/dart_args.h" #include "third_party/tonic/dart_binding_macros.h" @@ -36,30 +36,38 @@ fml::RefPtr ImageShader::Create() { return fml::MakeRefCounted(); } -void ImageShader::initWithImage(CanvasImage* image, - SkTileMode tmx, - SkTileMode tmy, - int filter_quality_index, - const tonic::Float64List& matrix4) { +Dart_Handle ImageShader::initWithImage(CanvasImage* image, + SkTileMode tmx, + SkTileMode tmy, + int filter_quality_index, + tonic::Float64List& matrix4) { if (!image) { - Dart_ThrowException( - ToDart("ImageShader constructor called with non-genuine Image.")); - return; + matrix4.Release(); + return ToDart("ImageShader constructor called with non-genuine Image."); } + + if (image->image()->owning_context() != DlImage::OwningContext::kIO) { + matrix4.Release(); + // TODO(dnfield): it should be possible to support this + // https://github.com/flutter/flutter/issues/105085 + return ToDart("ImageShader constructor with GPU image is not supported."); + } + auto raw_sk_image = image->image()->skia_image(); if (!raw_sk_image) { - Dart_ThrowException( - ToDart("ImageShader constructor with Impeller is not supported.")); - return; + matrix4.Release(); + return ToDart("ImageShader constructor with Impeller is not supported."); } sk_image_ = UIDartState::CreateGPUObject(std::move(raw_sk_image)); SkMatrix local_matrix = ToSkMatrix(matrix4); + matrix4.Release(); sampling_is_locked_ = filter_quality_index >= 0; DlImageSampling sampling = sampling_is_locked_ ? ImageFilter::SamplingFromIndex(filter_quality_index) : DlImageSampling::kLinear; cached_shader_ = UIDartState::CreateGPUObject(sk_make_sp( sk_image_.skia_object(), ToDl(tmx), ToDl(tmy), sampling, &local_matrix)); + return Dart_Null(); } std::shared_ptr ImageShader::shader(DlImageSampling sampling) { diff --git a/lib/ui/painting/image_shader.h b/lib/ui/painting/image_shader.h index 04d1e49a32718..785ebef28f2b3 100644 --- a/lib/ui/painting/image_shader.h +++ b/lib/ui/painting/image_shader.h @@ -28,11 +28,11 @@ class ImageShader : public Shader { ~ImageShader() override; static fml::RefPtr Create(); - void initWithImage(CanvasImage* image, - SkTileMode tmx, - SkTileMode tmy, - int filter_quality_index, - const tonic::Float64List& matrix4); + Dart_Handle initWithImage(CanvasImage* image, + SkTileMode tmx, + SkTileMode tmy, + int filter_quality_index, + tonic::Float64List& matrix4); std::shared_ptr shader(DlImageSampling) override; diff --git a/lib/ui/painting/picture.cc b/lib/ui/painting/picture.cc index aa7056b37acbc..816c555da3775 100644 --- a/lib/ui/painting/picture.cc +++ b/lib/ui/painting/picture.cc @@ -8,8 +8,8 @@ #include "flutter/fml/make_copyable.h" #include "flutter/lib/ui/painting/canvas.h" +#include "flutter/lib/ui/painting/display_list_deferred_image_gpu.h" #include "flutter/lib/ui/ui_dart_state.h" -#include "third_party/skia/include/core/SkImage.h" #include "third_party/tonic/converter/dart_converter.h" #include "third_party/tonic/dart_args.h" #include "third_party/tonic/dart_binding_macros.h" @@ -23,6 +23,7 @@ IMPLEMENT_WRAPPERTYPEINFO(ui, Picture); #define FOR_EACH_BINDING(V) \ V(Picture, toImage) \ + V(Picture, toGpuImage) \ V(Picture, dispose) \ V(Picture, GetAllocationSize) @@ -52,6 +53,46 @@ Dart_Handle Picture::toImage(uint32_t width, raw_image_callback); } +void Picture::toGpuImage(uint32_t width, + uint32_t height, + Dart_Handle raw_image_handle) { + FML_DCHECK(display_list_.skia_object()); + RasterizeToGpuImage(display_list_.skia_object(), width, height, + raw_image_handle); +} + +// static +void Picture::RasterizeToGpuImage(sk_sp display_list, + uint32_t width, + uint32_t height, + Dart_Handle raw_image_handle) { + auto* dart_state = UIDartState::Current(); + auto unref_queue = dart_state->GetSkiaUnrefQueue(); + auto snapshot_delegate = dart_state->GetSnapshotDelegate(); + auto raster_task_runner = dart_state->GetTaskRunners().GetRasterTaskRunner(); + + auto image = CanvasImage::Create(); + auto dl_image = DlDeferredImageGPU::Make(SkISize::Make(width, height)); + image->set_image(dl_image); + + fml::TaskRunner::RunNowOrPostTask( + raster_task_runner, + [snapshot_delegate, unref_queue, dl_image = std::move(dl_image), + display_list = std::move(display_list)]() { + sk_sp sk_image; + std::string error; + std::tie(sk_image, error) = snapshot_delegate->MakeGpuImage( + display_list, dl_image->dimensions()); + if (sk_image) { + dl_image->set_image(std::move(sk_image)); + } else { + dl_image->set_error(std::move(error)); + } + }); + + image->AssociateWithDartWrapper(raw_image_handle); +} + void Picture::dispose() { display_list_.reset(); ClearDartWrapper(); diff --git a/lib/ui/painting/picture.h b/lib/ui/painting/picture.h index 33e5cb5772cf4..e7f4f02e2c88f 100644 --- a/lib/ui/painting/picture.h +++ b/lib/ui/painting/picture.h @@ -37,12 +37,21 @@ class Picture : public RefCountedDartWrappable { uint32_t height, Dart_Handle raw_image_callback); + void toGpuImage(uint32_t width, + uint32_t height, + Dart_Handle raw_image_handle); + void dispose(); size_t GetAllocationSize() const override; static void RegisterNatives(tonic::DartLibraryNatives* natives); + static void RasterizeToGpuImage(sk_sp display_list, + uint32_t width, + uint32_t height, + Dart_Handle raw_image_handle); + static Dart_Handle RasterizeToImage(sk_sp display_list, uint32_t width, uint32_t height, diff --git a/lib/ui/snapshot_delegate.h b/lib/ui/snapshot_delegate.h index a1f7c618b0653..7c87a01c865d9 100644 --- a/lib/ui/snapshot_delegate.h +++ b/lib/ui/snapshot_delegate.h @@ -5,13 +5,21 @@ #ifndef FLUTTER_LIB_UI_SNAPSHOT_DELEGATE_H_ #define FLUTTER_LIB_UI_SNAPSHOT_DELEGATE_H_ +#include + +#include "flutter/display_list/display_list.h" #include "third_party/skia/include/core/SkImage.h" #include "third_party/skia/include/core/SkPicture.h" - +#include "third_party/skia/include/core/SkPromiseImageTexture.h" +#include "third_party/skia/include/gpu/GrContextThreadSafeProxy.h" namespace flutter { class SnapshotDelegate { public: + virtual std::pair, std::string> MakeGpuImage( + sk_sp display_list, + SkISize picture_size) = 0; + virtual sk_sp MakeRasterSnapshot( std::function draw_callback, SkISize picture_size) = 0; diff --git a/lib/web_ui/lib/canvas.dart b/lib/web_ui/lib/canvas.dart index 2b0de7976e76a..b78e19e415afa 100644 --- a/lib/web_ui/lib/canvas.dart +++ b/lib/web_ui/lib/canvas.dart @@ -155,6 +155,7 @@ abstract class Canvas { abstract class Picture { Future toImage(int width, int height); + Image toGpuImage(int width, int height); void dispose(); bool get debugDisposed; int get approximateBytesUsed; @@ -173,3 +174,8 @@ enum PathOperation { xor, reverseDifference, } + +abstract class PictureRasterizationException implements Exception { + String get message; + StackTrace? stack; +} diff --git a/lib/web_ui/lib/compositing.dart b/lib/web_ui/lib/compositing.dart index de1e6cdbee255..c18280559bd00 100644 --- a/lib/web_ui/lib/compositing.dart +++ b/lib/web_ui/lib/compositing.dart @@ -6,6 +6,7 @@ part of ui; abstract class Scene { Future toImage(int width, int height); + Image toGpuImage(int width, int height); void dispose(); } diff --git a/lib/web_ui/lib/initialization.dart b/lib/web_ui/lib/initialization.dart index 75f1f24e657ca..8ee067b5ef8cf 100644 --- a/lib/web_ui/lib/initialization.dart +++ b/lib/web_ui/lib/initialization.dart @@ -4,6 +4,8 @@ // TODO(yjbanov): rename this file to web_only_api.dart. // https://github.com/flutter/flutter/issues/100394 +// Rather than extending this file with new APIs, we +// should instead use js interop. // This file contains extra web-only API that non-web engines do not have. // @@ -129,13 +131,13 @@ void webOnlySetPluginHandler(Future Function(String, ByteData?, PlatformMe engine.pluginMessageCallHandler = handler; } -/// A function which takes a unique `id` and creates an HTML element. -typedef PlatformViewFactory = html.Element Function(int viewId); - /// A registry for factories that create platform views. class PlatformViewRegistry { - /// Register [viewTypeId] as being creating by the given [factory]. - bool registerViewFactory(String viewTypeId, PlatformViewFactory viewFactory, + /// Register [viewTypeId] as being creating by the given [viewFactory]. + /// [viewFactory] can be any function that takes an integer and returns an + /// `HTMLElement` DOM object. + bool registerViewFactory(String viewTypeId, + Object Function(int viewId) viewFactory, {bool isVisible = true}) { // TODO(web): Deprecate this once there's another way of calling `registerFactory` (js interop?) return engine.platformViewManager diff --git a/lib/web_ui/lib/src/engine/browser_detection.dart b/lib/web_ui/lib/src/engine/browser_detection.dart index 59dc018b309aa..8718be3d115ba 100644 --- a/lib/web_ui/lib/src/engine/browser_detection.dart +++ b/lib/web_ui/lib/src/engine/browser_detection.dart @@ -185,7 +185,7 @@ OperatingSystem detectOperatingSystem({ return OperatingSystem.iOs; } else if (userAgent.contains('Android')) { // The Android OS reports itself as "Linux armv8l" in - // [html.window.navigator.platform]. So we have to check the user-agent to + // [domWindow.navigator.platform]. So we have to check the user-agent to // determine if the OS is Android or not. return OperatingSystem.android; } else if (platform.startsWith('Linux')) { diff --git a/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart b/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart index f0cbd4a12a545..eff0fa26d962c 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart @@ -25,6 +25,12 @@ class LayerScene implements ui.Scene { final ui.Picture picture = layerTree.flatten(); return picture.toImage(width, height); } + + @override + ui.Image toGpuImage(int width, int height) { + final ui.Picture picture = layerTree.flatten(); + return picture.toGpuImage(width, height); + } } class LayerSceneBuilder implements ui.SceneBuilder { diff --git a/lib/web_ui/lib/src/engine/canvaskit/picture.dart b/lib/web_ui/lib/src/engine/canvaskit/picture.dart index 0227246be5157..a02a9a2cf54a7 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/picture.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/picture.dart @@ -92,6 +92,11 @@ class CkPicture extends ManagedSkiaObject implements ui.Picture { @override Future toImage(int width, int height) async { + return toGpuImage(width, height); + } + + @override + ui.Image toGpuImage(int width, int height) { assert(debugCheckNotDisposed('Cannot convert picture to image.')); final SkSurface skSurface = canvasKit.MakeSurface(width, height); final SkCanvas skCanvas = skSurface.getCanvas(); diff --git a/lib/web_ui/lib/src/engine/dom.dart b/lib/web_ui/lib/src/engine/dom.dart index 88dcd3e138f36..d409f61c837b3 100644 --- a/lib/web_ui/lib/src/engine/dom.dart +++ b/lib/web_ui/lib/src/engine/dom.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:async'; +import 'dart:math' as math; import 'dart:typed_data'; import 'package:js/js.dart'; @@ -47,8 +48,11 @@ extension DomWindowExtension on DomWindow { if (pseudoElt != null) pseudoElt ]) as DomCSSStyleDeclaration; external DomScreen? get screen; + external int requestAnimationFrame(DomRequestAnimationFrameCallback callback); } +typedef DomRequestAnimationFrameCallback = void Function(num highResTime); + @JS() @staticInterop class DomConsole {} @@ -95,6 +99,7 @@ extension DomDocumentExtension on DomDocument { external DomText createTextNode(String data); external DomEvent createEvent(String eventType); external DomElement? get activeElement; + external DomElement? elementFromPoint(int x, int y); } @JS() @@ -106,10 +111,12 @@ extension DomHTMLDocumentExtension on DomHTMLDocument { external DomHTMLHeadElement? get head; external DomHTMLBodyElement? get body; external set title(String? value); + external String? get title; Iterable getElementsByTagName(String tag) => createDomListWrapper(js_util .callMethod<_DomList>(this, 'getElementsByTagName', [tag])); external DomElement? get activeElement; + external DomElement? getElementById(String id); } @JS('document') @@ -262,6 +269,7 @@ extension DomElementExtension on DomElement { js_util.setProperty(this, 'scrollLeft', value.round()); external DomTokenList get classList; external set className(String value); + external String get className; external void blur(); List getElementsByTagName(String tag) => js_util.callMethod>( @@ -683,7 +691,7 @@ extension DomCanvasGradientExtension on DomCanvasGradient { @staticInterop class DomXMLHttpRequestEventTarget extends DomEventTarget {} -@JS('XMLHttpRequest') +@JS() @staticInterop class DomXMLHttpRequest extends DomXMLHttpRequestEventTarget {} @@ -693,18 +701,20 @@ DomXMLHttpRequest createDomXMLHttpRequest() => extension DomXMLHttpRequestExtension on DomXMLHttpRequest { external dynamic get response; + external String? get responseText; external String get responseType; external int? get status; external set responseType(String value); void open(String method, String url, [bool? async]) => js_util.callMethod( this, 'open', [method, url, if (async != null) async]); - external void send(); + void send([Object? bodyOrData]) => js_util + .callMethod(this, 'send', [if (bodyOrData != null) bodyOrData]); } -Future domHttpRequest(String url, {String? responseType}) { +Future domHttpRequest(String url, + {String? responseType, String method = 'GET', dynamic sendData}) { final Completer completer = Completer(); final DomXMLHttpRequest xhr = createDomXMLHttpRequest(); - const String method = 'GET'; xhr.open(method, url, /* async */ true); if (responseType != null) { xhr.responseType = responseType; @@ -724,7 +734,7 @@ Future domHttpRequest(String url, {String? responseType}) { })); xhr.addEventListener('error', allowInterop(completer.completeError)); - xhr.send(); + xhr.send(sendData); return completer.future; } @@ -775,6 +785,15 @@ extension DomRectReadOnlyExtension on DomRectReadOnly { external num get left; } +DomRect createDomRectFromPoints(DomPoint a, DomPoint b) { + final num left = math.min(a.x, b.x); + final num width = math.max(a.x, b.x) - left; + final num top = math.min(a.y, b.y); + final num height = math.max(a.y, b.y) - top; + return domCallConstructorString( + 'DOMRect', [left, top, width, height])! as DomRect; +} + @JS() @staticInterop class DomRect extends DomRectReadOnly {} @@ -794,6 +813,7 @@ DomFontFace createDomFontFace(String family, Object source, extension DomFontFaceExtension on DomFontFace { Future load() => js_util.promiseToFuture(js_util.callMethod(this, 'load', [])); + external String? get family; } @JS() @@ -803,8 +823,12 @@ class DomFontFaceSet extends DomEventTarget {} extension DomFontFaceSetExtension on DomFontFaceSet { external DomFontFaceSet? add(DomFontFace font); external void clear(); + external void forEach(DomFontFaceSetForEachCallback callback); } +typedef DomFontFaceSetForEachCallback = void Function( + DomFontFace fontFace, DomFontFace fontFaceAgain, DomFontFaceSet set); + @JS() @staticInterop class DomVisualViewport extends DomEventTarget {} @@ -828,6 +852,8 @@ extension DomHTMLTextAreaElementExtension on DomHTMLTextAreaElement { external set name(String value); external int? get selectionStart; external int? get selectionEnd; + external set selectionStart(int? value); + external set selectionEnd(int? value); external String? get value; void setSelectionRange(int start, int end, [String? direction]) => js_util.callMethod(this, 'setSelectionRange', @@ -1090,18 +1116,27 @@ extension DomTouchExtension on DomTouch { DomPoint get client => DomPoint(clientX, clientY); } +DomTouch createDomTouch([Map? init]) => + js_util.callConstructor(domGetConstructor('Touch')!, + [if (init != null) js_util.jsify(init)]) as DomTouch; + DomTouchEvent createDomTouchEvent(String type, [Map? init]) => js_util.callConstructor(domGetConstructor('TouchEvent')!, [type, if (init != null) js_util.jsify(init)]); @JS() @staticInterop -class DomCompositionEvent {} +class DomCompositionEvent extends DomUIEvent {} extension DomCompositionEventExtension on DomCompositionEvent { external String? get data; } +DomCompositionEvent createDomCompositionEvent(String type, [Map? options]) => + js_util.callConstructor(domGetConstructor('CompositionEvent')!, + [type, if (options != null) js_util.jsify(options)]); + @JS() @staticInterop class DomHTMLInputElement extends DomHTMLElement {} @@ -1119,6 +1154,8 @@ extension DomHTMLInputElementExtension on DomHTMLInputElement { external set autocomplete(String value); external int? get selectionStart; external int? get selectionEnd; + external set selectionStart(int? value); + external set selectionEnd(int? value); void setSelectionRange(int start, int end, [String? direction]) => js_util.callMethod(this, 'setSelectionRange', [start, end, if (direction != null) direction]); @@ -1217,6 +1254,7 @@ extension DomShadowRootExtension on DomShadowRoot { external DomElement? get host; external String? get mode; external bool? get delegatesFocus; + external DomElement? elementFromPoint(int x, int y); } @JS() diff --git a/lib/web_ui/lib/src/engine/embedder.dart b/lib/web_ui/lib/src/engine/embedder.dart index 0aa7f845431bd..a343133e41209 100644 --- a/lib/web_ui/lib/src/engine/embedder.dart +++ b/lib/web_ui/lib/src/engine/embedder.dart @@ -345,7 +345,7 @@ class FlutterViewEmbedder { // // VisualViewport API is not enabled in Firefox as well. On the other hand // Firefox returns correct values for innerHeight, innerWidth. - // Firefox also triggers html.window.onResize therefore this timer does + // Firefox also triggers domWindow.onResize therefore this timer does // not need to be set up for Firefox. final int initialInnerWidth = domWindow.innerWidth!; // Counts how many times screen size was checked. It is checked up to 5 @@ -539,7 +539,7 @@ class FlutterViewEmbedder { String get currentHtml => _rootApplicationElement?.outerHTML ?? ''; } -// Applies the required global CSS to an incoming [html.CssStyleSheet] `sheet`. +// Applies the required global CSS to an incoming [DomCSSStyleSheet] `sheet`. void applyGlobalCssRulesToSheet( DomCSSStyleSheet sheet, { required BrowserEngine browserEngine, diff --git a/lib/web_ui/lib/src/engine/font_change_util.dart b/lib/web_ui/lib/src/engine/font_change_util.dart index 14cfcf0a5bf1d..c4b876741f9b6 100644 --- a/lib/web_ui/lib/src/engine/font_change_util.dart +++ b/lib/web_ui/lib/src/engine/font_change_util.dart @@ -3,10 +3,11 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'dart:typed_data'; +import 'dom.dart'; import 'platform_dispatcher.dart'; +import 'safe_browser_api.dart'; import 'services.dart'; final ByteData? _fontChangeMessage = @@ -22,13 +23,13 @@ FutureOr sendFontChangeMessage() async { if (!_fontChangeScheduled) { _fontChangeScheduled = true; // Batch updates into next animationframe. - html.window.requestAnimationFrame((num _) { + domWindow.requestAnimationFrame(allowInterop((num _) { _fontChangeScheduled = false; EnginePlatformDispatcher.instance.invokeOnPlatformMessage( 'flutter/system', _fontChangeMessage, (_) {}, ); - }); + })); } } diff --git a/lib/web_ui/lib/src/engine/html/scene.dart b/lib/web_ui/lib/src/engine/html/scene.dart index 7ae9a36d69096..50cee45690b7c 100644 --- a/lib/web_ui/lib/src/engine/html/scene.dart +++ b/lib/web_ui/lib/src/engine/html/scene.dart @@ -24,6 +24,11 @@ class SurfaceScene implements ui.Scene { throw UnsupportedError('toImage is not supported on the Web'); } + @override + ui.Image toGpuImage(int width, int height) { + throw UnsupportedError('toGpuImage is not supported on the Web'); + } + /// Releases the resources used by this scene. /// /// After calling this function, the scene is cannot be used further. diff --git a/lib/web_ui/lib/src/engine/initialization.dart b/lib/web_ui/lib/src/engine/initialization.dart index f1210d8110d51..71da02a9c3bcb 100644 --- a/lib/web_ui/lib/src/engine/initialization.dart +++ b/lib/web_ui/lib/src/engine/initialization.dart @@ -4,7 +4,6 @@ import 'dart:async'; import 'dart:developer' as developer; -import 'dart:html' as html; import 'package:ui/src/engine/assets.dart'; import 'package:ui/src/engine/browser_detection.dart'; @@ -22,6 +21,8 @@ import 'package:ui/src/engine/text/line_break_properties.dart'; import 'package:ui/src/engine/window.dart'; import 'package:ui/ui.dart' as ui; +import 'dom.dart'; + /// The mode the app is running in. /// Keep these in sync with the same constants on the framework-side under foundation/constants.dart. const bool kReleaseMode = @@ -178,7 +179,7 @@ Future initializeEngineServices({ // fires. if (!waitingForAnimation) { waitingForAnimation = true; - html.window.requestAnimationFrame((num highResTime) { + domWindow.requestAnimationFrame(allowInterop((num highResTime) { frameTimingsOnVsync(); // Reset immediately, because `frameHandler` can schedule more frames. @@ -210,7 +211,7 @@ Future initializeEngineServices({ // implement it properly. EnginePlatformDispatcher.instance.invokeOnDrawFrame(); } - }); + })); } }; diff --git a/lib/web_ui/lib/src/engine/picture.dart b/lib/web_ui/lib/src/engine/picture.dart index 6cc68063c91bf..1734c414ccd1c 100644 --- a/lib/web_ui/lib/src/engine/picture.dart +++ b/lib/web_ui/lib/src/engine/picture.dart @@ -88,6 +88,11 @@ class EnginePicture implements ui.Picture { return onImageLoaded.future; } + @override + ui.Image toGpuImage(int width, int height) { + throw UnsupportedError('toGpuImage is not supported on the HTML backend. Use drawPicture instead, or toImage.'); + } + bool _disposed = false; @override diff --git a/lib/web_ui/lib/src/engine/pointer_binding.dart b/lib/web_ui/lib/src/engine/pointer_binding.dart index e09a01c88d6c2..d3e2d2eb28c58 100644 --- a/lib/web_ui/lib/src/engine/pointer_binding.dart +++ b/lib/web_ui/lib/src/engine/pointer_binding.dart @@ -577,9 +577,12 @@ class _PointerAdapter extends _BaseAdapter with _WheelEventListenerMixin { } _ButtonSanitizer _getSanitizer(int device) { - final _ButtonSanitizer sanitizer = _sanitizers[device]!; - assert(sanitizer != null); // ignore: unnecessary_null_comparison - return sanitizer; + assert(_sanitizers[device] != null); + return _sanitizers[device]!; + } + + bool _hasSanitizer(int device) { + return _sanitizers.containsKey(device); } void _removePointerIfUnhoverable(DomPointerEvent event) { @@ -649,12 +652,14 @@ class _PointerAdapter extends _BaseAdapter with _WheelEventListenerMixin { _addPointerEventListener(domWindow, 'pointerup', (DomPointerEvent event) { final int device = _getPointerId(event); - final List pointerData = []; - final _SanitizedDetails? details = _getSanitizer(device).sanitizeUpEvent(buttons: event.buttons); - _removePointerIfUnhoverable(event); - if (details != null) { - _convertEventsToPointerData(data: pointerData, event: event, details: details); - _callback(pointerData); + if (_hasSanitizer(device)) { + final List pointerData = []; + final _SanitizedDetails? details = _getSanitizer(device).sanitizeUpEvent(buttons: event.buttons); + _removePointerIfUnhoverable(event); + if (details != null) { + _convertEventsToPointerData(data: pointerData, event: event, details: details); + _callback(pointerData); + } } }); @@ -662,11 +667,13 @@ class _PointerAdapter extends _BaseAdapter with _WheelEventListenerMixin { // be able to generate events (example: device is deactivated) _addPointerEventListener(glassPaneElement, 'pointercancel', (DomPointerEvent event) { final int device = _getPointerId(event); - final List pointerData = []; - final _SanitizedDetails details = _getSanitizer(device).sanitizeCancelEvent(); - _removePointerIfUnhoverable(event); - _convertEventsToPointerData(data: pointerData, event: event, details: details); - _callback(pointerData); + if (_hasSanitizer(device)) { + final List pointerData = []; + final _SanitizedDetails details = _getSanitizer(device).sanitizeCancelEvent(); + _removePointerIfUnhoverable(event); + _convertEventsToPointerData(data: pointerData, event: event, details: details); + _callback(pointerData); + } }); _addWheelEventListener((DomEvent event) { diff --git a/lib/web_ui/lib/src/engine/safe_browser_api.dart b/lib/web_ui/lib/src/engine/safe_browser_api.dart index b2b29a4718a65..3b918a17318ae 100644 --- a/lib/web_ui/lib/src/engine/safe_browser_api.dart +++ b/lib/web_ui/lib/src/engine/safe_browser_api.dart @@ -64,7 +64,7 @@ T setJsProperty(Object object, String name, T value) { 'Attempted to set property "$name" on a JavaScript object. This property ' 'has not been checked for safety. Possible solutions to this problem:\n' ' - Do not set this property.\n' - ' - Use a `dart:html` API that does the same thing.\n' + ' - Use a `js_util` API that does the same thing.\n' ' - Ensure that the property is safe then add it to _safeJsProperties set.', ); return js_util.setProperty(object, name, value); diff --git a/lib/web_ui/lib/src/engine/util.dart b/lib/web_ui/lib/src/engine/util.dart index 0cea4ae4a03c3..860da3a4db3d3 100644 --- a/lib/web_ui/lib/src/engine/util.dart +++ b/lib/web_ui/lib/src/engine/util.dart @@ -557,7 +557,7 @@ bool unsafeIsNull(dynamic object) { return object == null; } -/// A typed variant of [html.Window.fetch]. +/// A typed variant of [domWindow.fetch]. Future httpFetch(String url) async { final Object? result = await domWindow.fetch(url); return result! as DomResponse; diff --git a/lib/web_ui/lib/ui.dart b/lib/web_ui/lib/ui.dart index baa2a5c2b7a26..a01d53936b6e0 100644 --- a/lib/web_ui/lib/ui.dart +++ b/lib/web_ui/lib/ui.dart @@ -10,7 +10,6 @@ library ui; import 'dart:async'; import 'dart:collection' as collection; import 'dart:convert'; -import 'dart:html' as html; import 'dart:math' as math; import 'dart:typed_data'; diff --git a/lib/web_ui/test/canvaskit/embedded_views_test.dart b/lib/web_ui/test/canvaskit/embedded_views_test.dart index 30b332f7c39af..52b1214ee2923 100644 --- a/lib/web_ui/test/canvaskit/embedded_views_test.dart +++ b/lib/web_ui/test/canvaskit/embedded_views_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -27,7 +26,7 @@ void testMain() { test('embeds interactive platform views', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -41,12 +40,12 @@ void testMain() { // The platform view is now split in two parts. The contents live // as a child of the glassPane, and the slot lives in the glassPane // shadow root. The slot is the one that has pointer events auto. - final html.Element contents = flutterViewEmbedder.glassPaneElement! - .querySelector('#view-0')! as html.Element; - final html.Element slot = flutterViewEmbedder.sceneElement! - .querySelector('slot')! as html.Element; - final html.Element contentsHost = contents.parent!; - final html.Element slotHost = slot.parent!; + final DomElement contents = flutterViewEmbedder.glassPaneElement! + .querySelector('#view-0')!; + final DomElement slot = flutterViewEmbedder.sceneElement! + .querySelector('slot')!; + final DomElement contentsHost = contents.parent!; + final DomElement slotHost = slot.parent!; expect(contents, isNotNull, reason: 'The view from the factory is injected in the DOM.'); @@ -63,7 +62,7 @@ void testMain() { test('clips platform views with RRects', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -103,7 +102,7 @@ void testMain() { test('correctly transforms platform views', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -120,8 +119,8 @@ void testMain() { dispatcher.rasterizer!.draw(sb.build().layerTree); // Transformations happen on the slot element. - final html.Element slotHost = flutterViewEmbedder.sceneElement! - .querySelector('flt-platform-view-slot')! as html.Element; + final DomElement slotHost = flutterViewEmbedder.sceneElement! + .querySelector('flt-platform-view-slot')!; expect( slotHost.style.transform, @@ -135,7 +134,7 @@ void testMain() { test('correctly offsets platform views', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -145,15 +144,15 @@ void testMain() { sb.addPlatformView(0, offset: const ui.Offset(3, 4), width: 5, height: 6); dispatcher.rasterizer!.draw(sb.build().layerTree); - final html.Element slotHost = flutterViewEmbedder.sceneElement! - .querySelector('flt-platform-view-slot')! as html.Element; - final html.CssStyleDeclaration style = slotHost.style; + final DomElement slotHost = flutterViewEmbedder.sceneElement! + .querySelector('flt-platform-view-slot')!; + final DomCSSStyleDeclaration style = slotHost.style; expect(style.transform, 'matrix(1, 0, 0, 1, 3, 4)'); expect(style.width, '5px'); expect(style.height, '6px'); - final html.Rectangle slotRect = slotHost.getBoundingClientRect(); + final DomRect slotRect = slotHost.getBoundingClientRect(); expect(slotRect.left, 3); expect(slotRect.top, 4); expect(slotRect.right, 8); @@ -162,9 +161,9 @@ void testMain() { // Returns the list of CSS transforms applied to the ancestor chain of // elements starting from `viewHost`, up until and excluding . - List getTransformChain(html.Element viewHost) { + List getTransformChain(DomElement viewHost) { final List chain = []; - html.Element? element = viewHost; + DomElement? element = viewHost; while (element != null && element.tagName.toLowerCase() != 'flt-scene') { chain.add(element.style.transform); element = element.parent; @@ -175,7 +174,7 @@ void testMain() { test('correctly offsets when clip chain length is changed', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -190,8 +189,8 @@ void testMain() { dispatcher.rasterizer!.draw(sb.build().layerTree); // Transformations happen on the slot element. - html.Element slotHost = flutterViewEmbedder.sceneElement! - .querySelector('flt-platform-view-slot')! as html.Element; + DomElement slotHost = flutterViewEmbedder.sceneElement! + .querySelector('flt-platform-view-slot')!; expect( getTransformChain(slotHost), @@ -212,7 +211,7 @@ void testMain() { // Transformations happen on the slot element. slotHost = flutterViewEmbedder.sceneElement! - .querySelector('flt-platform-view-slot')! as html.Element; + .querySelector('flt-platform-view-slot')!; expect( getTransformChain(slotHost), @@ -228,7 +227,7 @@ void testMain() { window.debugOverrideDevicePixelRatio(4); ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -242,8 +241,8 @@ void testMain() { dispatcher.rasterizer!.draw(sb.build().layerTree); // Transformations happen on the slot element. - final html.Element slotHost = flutterViewEmbedder.sceneElement! - .querySelector('flt-platform-view-slot')! as html.Element; + final DomElement slotHost = flutterViewEmbedder.sceneElement! + .querySelector('flt-platform-view-slot')!; expect( getTransformChain(slotHost), @@ -255,7 +254,7 @@ void testMain() { window.debugOverrideDevicePixelRatio(4); ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -271,8 +270,8 @@ void testMain() { dispatcher.rasterizer!.draw(sb.build().layerTree); // Transformations happen on the slot element. - final html.Element slotHost = flutterViewEmbedder.sceneElement! - .querySelector('flt-platform-view-slot')! as html.Element; + final DomElement slotHost = flutterViewEmbedder.sceneElement! + .querySelector('flt-platform-view-slot')!; expect( getTransformChain(slotHost), @@ -297,7 +296,7 @@ void testMain() { for (int i = 0; i < 16; i++) { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-$i', + (int viewId) => createDomHTMLDivElement()..id = 'view-$i', ); await createPlatformView(i, 'test-platform-view'); platformViewIds.add(i); @@ -453,7 +452,7 @@ void testMain() { for (int i = 0; i < 20; i++) { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-$i', + (int viewId) => createDomHTMLDivElement()..id = 'view-$i', ); await createPlatformView(i, 'test-platform-view'); platformViewIds.add(i); @@ -583,7 +582,7 @@ void testMain() { test('embeds and disposes of a platform view', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -626,7 +625,7 @@ void testMain() { test('removed the DOM node of an unrendered platform view', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -688,7 +687,7 @@ void testMain() { () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'test-view', + (int viewId) => createDomHTMLDivElement()..id = 'test-view', ); await createPlatformView(0, 'test-platform-view'); @@ -704,8 +703,8 @@ void testMain() { dispatcher.rasterizer!.draw(sb.build().layerTree); } - final html.Node skPathDefs = flutterViewEmbedder.sceneElement! - .querySelector('#sk_path_defs')! as html.Node; + final DomNode skPathDefs = flutterViewEmbedder.sceneElement! + .querySelector('#sk_path_defs')!; expect(skPathDefs.childNodes, hasLength(0)); @@ -725,7 +724,7 @@ void testMain() { () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -748,7 +747,7 @@ void testMain() { HtmlViewEmbedder.debugDisableOverlays = true; ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); @@ -778,7 +777,7 @@ void testMain() { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); await createPlatformView(1, 'test-platform-view'); @@ -824,7 +823,7 @@ void testMain() { HtmlViewEmbedder.debugDisableOverlays = true; ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); await createPlatformView(1, 'test-platform-view'); @@ -863,11 +862,11 @@ void testMain() { ui.platformViewRegistry.registerViewFactory( 'test-visible-view', (int viewId) => - html.DivElement()..className = 'visible-platform-view'); + createDomHTMLDivElement()..className = 'visible-platform-view'); ui.platformViewRegistry.registerViewFactory( 'test-invisible-view', (int viewId) => - html.DivElement()..className = 'invisible-platform-view', + createDomHTMLDivElement()..className = 'invisible-platform-view', isVisible: false, ); await createPlatformView(0, 'test-visible-view'); diff --git a/lib/web_ui/test/canvaskit/image_golden_test.dart b/lib/web_ui/test/canvaskit/image_golden_test.dart index ca4626fa1afcc..06cb0ff770905 100644 --- a/lib/web_ui/test/canvaskit/image_golden_test.dart +++ b/lib/web_ui/test/canvaskit/image_golden_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'dart:typed_data'; import 'package:js/js.dart'; @@ -533,7 +532,7 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) { test('the same image can be rendered on difference surfaces', () async { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement()..id = 'view-0', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', ); await createPlatformView(0, 'test-platform-view'); diff --git a/lib/web_ui/test/canvaskit/picture_test.dart b/lib/web_ui/test/canvaskit/picture_test.dart index 59851bfc7c3bc..1c437293a7452 100644 --- a/lib/web_ui/test/canvaskit/picture_test.dart +++ b/lib/web_ui/test/canvaskit/picture_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:typed_data'; + import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -83,6 +85,23 @@ void testMain() { expect(picture.resurrect(), isNotNull); }); }); + + test('toGpuImage', () async { + const ui.Color color = ui.Color(0xFFAAAAAA); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawPaint(ui.Paint()..color = color); + final ui.Picture picture = recorder.endRecording(); + final ui.Image image = picture.toGpuImage(10, 15); + + expect(image.width, 10); + expect(image.height, 15); + + final ByteData? data = await image.toByteData(); + expect(data, isNotNull); + expect(data!.lengthInBytes, 10 * 15 * 4); + expect(data.buffer.asUint32List().first, color.value); + }); // TODO(hterkelsen): https://github.com/flutter/flutter/issues/60040 }, skip: isIosSafari); } diff --git a/lib/web_ui/test/composition_test.dart b/lib/web_ui/test/composition_test.dart index ed4f4636a3245..a0a333725aaf0 100644 --- a/lib/web_ui/test/composition_test.dart +++ b/lib/web_ui/test/composition_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -27,8 +26,8 @@ class _MockWithCompositionAwareMixin with CompositionAwareMixin { static const String _kCompositionEnd = 'compositionend'; } -html.InputElement get _inputElement { - return defaultTextEditingRoot.querySelectorAll('input').first as html.InputElement; +DomHTMLInputElement get _inputElement { + return defaultTextEditingRoot.querySelectorAll('input').first as DomHTMLInputElement; } GloballyPositionedTextEditingStrategy _enableEditingStrategy({ @@ -69,10 +68,9 @@ Future testMain() async { final _MockWithCompositionAwareMixin mockWithCompositionAwareMixin = _MockWithCompositionAwareMixin(); mockWithCompositionAwareMixin.composingText = fakeComposingText; - mockWithCompositionAwareMixin.addCompositionEventHandlers(_inputElement - as DomHTMLElement); + mockWithCompositionAwareMixin.addCompositionEventHandlers(_inputElement); - _inputElement.dispatchEvent(html.Event(_MockWithCompositionAwareMixin._kCompositionEnd)); + _inputElement.dispatchEvent(createDomEvent('Event', _MockWithCompositionAwareMixin._kCompositionEnd)); expect(mockWithCompositionAwareMixin.composingText, null); }); @@ -83,10 +81,9 @@ Future testMain() async { final _MockWithCompositionAwareMixin mockWithCompositionAwareMixin = _MockWithCompositionAwareMixin(); mockWithCompositionAwareMixin.composingText = fakeComposingText; - mockWithCompositionAwareMixin.addCompositionEventHandlers(_inputElement - as DomHTMLElement); + mockWithCompositionAwareMixin.addCompositionEventHandlers(_inputElement); - _inputElement.dispatchEvent(html.Event(_MockWithCompositionAwareMixin._kCompositionStart)); + _inputElement.dispatchEvent(createDomEvent('Event', _MockWithCompositionAwareMixin._kCompositionStart)); expect(mockWithCompositionAwareMixin.composingText, null); }); @@ -98,12 +95,11 @@ Future testMain() async { final _MockWithCompositionAwareMixin mockWithCompositionAwareMixin = _MockWithCompositionAwareMixin(); mockWithCompositionAwareMixin.composingText = fakeComposingText; - mockWithCompositionAwareMixin.addCompositionEventHandlers(_inputElement - as DomHTMLElement); + mockWithCompositionAwareMixin.addCompositionEventHandlers(_inputElement); - _inputElement.dispatchEvent(html.CompositionEvent( + _inputElement.dispatchEvent(createDomCompositionEvent( _MockWithCompositionAwareMixin._kCompositionUpdate, - data: fakeEventText + { 'data': fakeEventText } )); expect(mockWithCompositionAwareMixin.composingText, fakeEventText); @@ -150,11 +146,13 @@ Future testMain() async { test('should be [0, compostionStrLength] on new composition', () { const String composingText = 'hi'; - _inputElement.dispatchEvent(html.CompositionEvent(_MockWithCompositionAwareMixin._kCompositionUpdate, data: composingText)); + _inputElement.dispatchEvent(createDomCompositionEvent( + _MockWithCompositionAwareMixin._kCompositionUpdate, + {'data': composingText})); // Set the selection text. _inputElement.value = composingText; - _inputElement.dispatchEvent(html.Event.eventType('Event', 'input')); + _inputElement.dispatchEvent(createDomEvent('Event', 'input')); expect( editingStrategy.lastEditingState, @@ -176,13 +174,13 @@ Future testMain() async { _inputElement.value = '$beforeComposingText$afterComposingText'; _inputElement.setSelectionRange(beforeComposingText.length, beforeComposingText.length); - _inputElement.dispatchEvent(html.CompositionEvent( + _inputElement.dispatchEvent(createDomCompositionEvent( _MockWithCompositionAwareMixin._kCompositionUpdate, - data: composingText + { 'data': composingText } )); // Flush editing state (since we did not compositionend). - _inputElement.dispatchEvent(html.Event.eventType('Event', 'input')); + _inputElement.dispatchEvent(createDomEvent('Event', 'input')); expect( editingStrategy.lastEditingState, @@ -224,9 +222,9 @@ Future testMain() async { )); - _inputElement.dispatchEvent(html.CompositionEvent( + _inputElement.dispatchEvent(createDomCompositionEvent( _MockWithCompositionAwareMixin._kCompositionUpdate, - data: newComposingText)); + { 'data': newComposingText })); await containExpect; }); @@ -248,9 +246,9 @@ Future testMain() async { .having((TextEditingDeltaState deltaState) => deltaState.composingExtent, 'composingExtent', currCharIndex + 1) )); - _inputElement.dispatchEvent(html.CompositionEvent( + _inputElement.dispatchEvent(createDomCompositionEvent( _MockWithCompositionAwareMixin._kCompositionUpdate, - data: currComposingSubstr)); + { 'data': currComposingSubstr })); await containExpect; } diff --git a/lib/web_ui/test/embedder_test.dart b/lib/web_ui/test/embedder_test.dart index d227b0f687567..adf141d7fde31 100644 --- a/lib/web_ui/test/embedder_test.dart +++ b/lib/web_ui/test/embedder_test.dart @@ -4,8 +4,6 @@ @JS() library embedder_test; // We need this to mess with the ShadowDOM. -import 'dart:html' as html; - import 'package:js/js.dart'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -18,24 +16,24 @@ void main() { void testMain() { test('populates flt-renderer and flt-build-mode', () { FlutterViewEmbedder(); - expect(html.document.body!.attributes['flt-renderer'], + expect(domDocument.body!.getAttribute('flt-renderer'), 'html (requested explicitly)'); - expect(html.document.body!.attributes['flt-build-mode'], 'debug'); + expect(domDocument.body!.getAttribute('flt-build-mode'), 'debug'); }); test('innerHeight/innerWidth are equal to visualViewport height and width', () { - if (html.window.visualViewport != null) { - expect(html.window.visualViewport!.width, html.window.innerWidth); - expect(html.window.visualViewport!.height, html.window.innerHeight); + if (domWindow.visualViewport != null) { + expect(domWindow.visualViewport!.width, domWindow.innerWidth); + expect(domWindow.visualViewport!.height, domWindow.innerHeight); } }); test('replaces viewport meta tags during style reset', () { - final html.MetaElement existingMeta = html.MetaElement() + final DomHTMLMetaElement existingMeta = createDomHTMLMetaElement() ..name = 'viewport' ..content = 'foo=bar'; - html.document.head!.append(existingMeta); + domDocument.head!.append(existingMeta); expect(existingMeta.isConnected, isTrue); final FlutterViewEmbedder embedder = FlutterViewEmbedder(); @@ -58,7 +56,7 @@ void testMain() { test('renders a shadowRoot by default', () { final FlutterViewEmbedder embedder = FlutterViewEmbedder(); final HostNode hostNode = embedder.glassPaneShadow!; - expect(hostNode.node, isA()); + expect(domInstanceOfString(hostNode.node, 'ShadowRoot'), isTrue); }); test('starts without shadowDom available too', () { @@ -69,9 +67,9 @@ void testMain() { final FlutterViewEmbedder embedder = FlutterViewEmbedder(); final HostNode hostNode = embedder.glassPaneShadow!; - expect(hostNode.node, isA()); + expect(domInstanceOfString(hostNode.node, 'Element'), isTrue); expect( - (hostNode.node as html.Element).tagName, + (hostNode.node as DomElement).tagName, equalsIgnoringCase('flt-element-host-node'), ); attachShadow = oldAttachShadow; // Restore ShadowDOM @@ -79,39 +77,39 @@ void testMain() { test('should add/remove global resource', () { final FlutterViewEmbedder embedder = FlutterViewEmbedder(); - final html.DivElement resource = html.DivElement(); - embedder.addResource(resource as DomHTMLDivElement); - final html.Element? resourceRoot = resource.parent; + final DomHTMLDivElement resource = createDomHTMLDivElement(); + embedder.addResource(resource); + final DomElement? resourceRoot = resource.parent; expect(resourceRoot, isNotNull); expect(resourceRoot!.childNodes.length, 1); - embedder.removeResource(resource as DomHTMLDivElement); + embedder.removeResource(resource); expect(resourceRoot.childNodes.length, 0); }); test('hide placeholder text for textfield', () { final FlutterViewEmbedder embedder = FlutterViewEmbedder(); - final html.InputElement regularTextField = html.InputElement(); + final DomHTMLInputElement regularTextField = createDomHTMLInputElement(); regularTextField.placeholder = 'Now you see me'; - embedder.addResource(regularTextField as DomHTMLInputElement); + embedder.addResource(regularTextField); regularTextField.focus(); - html.CssStyleDeclaration? style = domWindow.getComputedStyle( + DomCSSStyleDeclaration? style = domWindow.getComputedStyle( embedder.glassPaneShadow!.querySelector('input')!, - '::placeholder') as html.CssStyleDeclaration?; + '::placeholder'); expect(style, isNotNull); - expect(style?.opacity, isNot('0')); + expect(style.opacity, isNot('0')); - final html.InputElement textField = html.InputElement(); + final DomHTMLInputElement textField = createDomHTMLInputElement(); textField.placeholder = 'Now you dont'; - textField.classes.add('flt-text-editing'); - embedder.addResource(textField as DomHTMLInputElement); + textField.classList.add('flt-text-editing'); + embedder.addResource(textField); textField.focus(); style = domWindow.getComputedStyle( embedder.glassPaneShadow!.querySelector('input.flt-text-editing')!, - '::placeholder') as html.CssStyleDeclaration?; + '::placeholder'); expect(style, isNotNull); - expect(style?.opacity, '0'); + expect(style.opacity, '0'); }, skip: browserEngine != BrowserEngine.firefox); } diff --git a/lib/web_ui/test/engine/platform_dispatcher_test.dart b/lib/web_ui/test/engine/platform_dispatcher_test.dart index e98ada7345eac..a2febdb73ff55 100644 --- a/lib/web_ui/test/engine/platform_dispatcher_test.dart +++ b/lib/web_ui/test/engine/platform_dispatcher_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'dart:js_util' as js_util; import 'dart:typed_data'; @@ -61,8 +60,8 @@ void testMain() { () async { // Patch browser so that clipboard api is not available. final Object? originalClipboard = - js_util.getProperty(html.window.navigator, 'clipboard'); - js_util.setProperty(html.window.navigator, 'clipboard', null); + js_util.getProperty(domWindow.navigator, 'clipboard'); + js_util.setProperty(domWindow.navigator, 'clipboard', null); const MethodCodec codec = JSONMethodCodec(); final Completer completer = Completer(); ui.PlatformDispatcher.instance.sendPlatformMessage( @@ -80,13 +79,13 @@ void testMain() { ); } js_util.setProperty( - html.window.navigator, 'clipboard', originalClipboard); + domWindow.navigator, 'clipboard', originalClipboard); }); test('can find text scale factor', () async { const double deltaTolerance = 1e-5; - final html.Element root = html.document.documentElement!; + final DomElement root = domDocument.documentElement!; final String oldFontSize = root.style.fontSize; addTearDown(() { @@ -108,14 +107,14 @@ void testMain() { root.style.fontSize = '12.8px'; expect(findBrowserTextScaleFactor(), closeTo(0.8, deltaTolerance)); - root.style.fontSize = null; + root.style.fontSize = ''; expect(findBrowserTextScaleFactor(), 1.0); }); test( 'calls onTextScaleFactorChanged when the element\'s font-size changes', () async { - final html.Element root = html.document.documentElement!; + final DomElement root = domDocument.documentElement!; final String oldFontSize = root.style.fontSize; final ui.VoidCallback? oldCallback = ui.PlatformDispatcher.instance.onTextScaleFactorChanged; diff --git a/lib/web_ui/test/engine/pointer_binding_test.dart b/lib/web_ui/test/engine/pointer_binding_test.dart index f2f4611379d84..f73dd87419a29 100644 --- a/lib/web_ui/test/engine/pointer_binding_test.dart +++ b/lib/web_ui/test/engine/pointer_binding_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; import 'dart:js_util' as js_util; import 'package:test/bootstrap/browser.dart'; @@ -46,8 +45,7 @@ void main() { void testMain() { ensureFlutterViewEmbedderInitialized(); - final html.Element glassPane = flutterViewEmbedder.glassPaneElement! as - html.Element; + final DomElement glassPane = flutterViewEmbedder.glassPaneElement!; double dpi = 1.0; setUp(() { @@ -69,18 +67,18 @@ void testMain() { return; } - html.PointerEvent expectCorrectType(html.Event e) { - expect(e.runtimeType, equals(html.PointerEvent)); - return e as html.PointerEvent; + DomPointerEvent expectCorrectType(DomEvent e) { + expect(domInstanceOfString(e, 'PointerEvent'), isTrue); + return e as DomPointerEvent; } - List expectCorrectTypes(List events) { + List expectCorrectTypes(List events) { return events.map(expectCorrectType).toList(); } final _PointerEventContext context = _PointerEventContext(); - html.PointerEvent event; - List events; + DomPointerEvent event; + List events; event = expectCorrectType(context.primaryDown(clientX: 100, clientY: 101)); expect(event.type, equals('pointerdown')); @@ -245,18 +243,18 @@ void testMain() { return; } - html.TouchEvent expectCorrectType(html.Event e) { - expect(e.runtimeType, equals(html.TouchEvent)); - return e as html.TouchEvent; + DomTouchEvent expectCorrectType(DomEvent e) { + expect(domInstanceOfString(e, 'TouchEvent'), isTrue); + return e as DomTouchEvent; } - List expectCorrectTypes(List events) { + List expectCorrectTypes(List events) { return events.map(expectCorrectType).toList(); } final _TouchEventContext context = _TouchEventContext(); - html.TouchEvent event; - List events; + DomTouchEvent event; + List events; event = expectCorrectType(context.primaryDown(clientX: 100, clientY: 101)); expect(event.type, equals('touchstart')); @@ -341,13 +339,13 @@ void testMain() { return; } - html.MouseEvent expectCorrectType(html.Event e) { - expect(e.runtimeType, equals(html.MouseEvent)); - return e as html.MouseEvent; + DomMouseEvent expectCorrectType(DomEvent e) { + expect(domInstanceOfString(e, 'MouseEvent'), isTrue); + return e as DomMouseEvent; } final _MouseEventContext context = _MouseEventContext(); - html.MouseEvent event; + DomMouseEvent event; event = expectCorrectType(context.primaryDown(clientX: 100, clientY: 101)); expect(event.type, equals('mousedown')); @@ -485,8 +483,8 @@ void testMain() { packets.add(packet); }; - final html.Element semanticsPlaceholder = - html.Element.tag('flt-semantics-placeholder'); + final DomElement semanticsPlaceholder = + createDomElement('flt-semantics-placeholder'); glassPane.append(semanticsPlaceholder); // Press on the semantics placeholder. @@ -526,7 +524,7 @@ void testMain() { packets.clear(); // Release the pointer on the semantics placeholder. - html.window.dispatchEvent(context.primaryUp( + domWindow.dispatchEvent(context.primaryUp( clientX: 100.0, clientY: 200.0, )); @@ -1828,7 +1826,7 @@ void testMain() { packets.clear(); // Move outside the glasspane. - html.window.dispatchEvent(context.primaryMove( + domWindow.dispatchEvent(context.primaryMove( clientX: 900.0, clientY: 1900.0, )); @@ -1840,7 +1838,7 @@ void testMain() { packets.clear(); // Release outside the glasspane. - html.window.dispatchEvent(context.primaryUp( + domWindow.dispatchEvent(context.primaryUp( clientX: 1000.0, clientY: 2000.0, )); @@ -2136,6 +2134,30 @@ void testMain() { }, ); + _testEach<_PointerEventContext>( + <_PointerEventContext>[ + if (!isIosSafari) _PointerEventContext(), + ], + 'ignores pointer up or pointer cancel events for unknown device', + (_PointerEventContext context) { + PointerBinding.instance!.debugOverrideDetector(context); + final List packets = []; + ui.window.onPointerDataPacket = (ui.PointerDataPacket packet) { + packets.add(packet); + }; + + context.multiTouchUp(const <_TouchDetails>[ + _TouchDetails(pointer: 23, clientX: 200, clientY: 202), + ]).forEach(glassPane.dispatchEvent); + expect(packets, hasLength(0)); + + context.multiTouchCancel(const <_TouchDetails>[ + _TouchDetails(pointer: 24, clientX: 200, clientY: 202), + ]).forEach(glassPane.dispatchEvent); + expect(packets, hasLength(0)); + }, + ); + _testEach<_PointerEventContext>( <_PointerEventContext>[ _PointerEventContext(), @@ -2306,44 +2328,43 @@ abstract class _BasicEventContext implements PointerSupportDetector { // // * For mouse, a left click // * For touch, a touch down - html.Event primaryDown({double clientX, double clientY}); + DomEvent primaryDown({double clientX, double clientY}); // Generate an event that is: // // * For mouse, a drag with LMB down // * For touch, a touch drag - html.Event primaryMove({double clientX, double clientY}); + DomEvent primaryMove({double clientX, double clientY}); // Generate an event that is: // // * For mouse, release LMB // * For touch, a touch up - html.Event primaryUp({double clientX, double clientY}); + DomEvent primaryUp({double clientX, double clientY}); } mixin _ButtonedEventMixin on _BasicEventContext { // Generate an event that is a mouse down with the specific buttons. - html.Event mouseDown( + DomEvent mouseDown( {double? clientX, double? clientY, int? button, int? buttons}); // Generate an event that is a mouse drag with the specific buttons, or button // changes during the drag. // // If there is no button change, assign `button` with _kNoButtonChange. - html.Event mouseMove( + DomEvent mouseMove( {double? clientX, double? clientY, required int button, required int buttons}); // Generate an event that moves the mouse outside of the tracked area. - html.Event mouseLeave({double? clientX, double? clientY, required int buttons}); + DomEvent mouseLeave({double? clientX, double? clientY, required int buttons}); // Generate an event that releases all mouse buttons. - html.Event mouseUp( - {double? clientX, double? clientY, int? button, int? buttons}); + DomEvent mouseUp({double? clientX, double? clientY, int? button, int? buttons}); - html.Event hover({double? clientX, double? clientY}) { + DomEvent hover({double? clientX, double? clientY}) { return mouseMove( buttons: 0, button: _kNoButtonChange, @@ -2353,7 +2374,7 @@ mixin _ButtonedEventMixin on _BasicEventContext { } @override - html.Event primaryDown({double? clientX, double? clientY}) { + DomEvent primaryDown({double? clientX, double? clientY}) { return mouseDown( buttons: 1, button: 0, @@ -2363,7 +2384,7 @@ mixin _ButtonedEventMixin on _BasicEventContext { } @override - html.Event primaryMove({double? clientX, double? clientY}) { + DomEvent primaryMove({double? clientX, double? clientY}) { return mouseMove( buttons: 1, button: _kNoButtonChange, @@ -2373,7 +2394,7 @@ mixin _ButtonedEventMixin on _BasicEventContext { } @override - html.Event primaryUp({double? clientX, double? clientY}) { + DomEvent primaryUp({double? clientX, double? clientY}) { return mouseUp( button: 0, clientX: clientX, @@ -2381,15 +2402,14 @@ mixin _ButtonedEventMixin on _BasicEventContext { ); } - html.Event wheel({ + DomEvent wheel({ required int? buttons, required double? clientX, required double? clientY, required double? deltaX, required double? deltaY, }) { - final Function jsWheelEvent = - js_util.getProperty(html.window, 'WheelEvent'); + final Function jsWheelEvent = js_util.getProperty(domWindow, 'WheelEvent'); final List eventArgs = [ 'wheel', { @@ -2400,7 +2420,7 @@ mixin _ButtonedEventMixin on _BasicEventContext { 'deltaY': deltaY, } ]; - return js_util.callConstructor( + return js_util.callConstructor( jsWheelEvent, js_util.jsify(eventArgs) as List, ); @@ -2416,13 +2436,13 @@ class _TouchDetails { } mixin _MultiPointerEventMixin on _BasicEventContext { - List multiTouchDown(List<_TouchDetails> touches); - List multiTouchMove(List<_TouchDetails> touches); - List multiTouchUp(List<_TouchDetails> touches); - List multiTouchCancel(List<_TouchDetails> touches); + List multiTouchDown(List<_TouchDetails> touches); + List multiTouchMove(List<_TouchDetails> touches); + List multiTouchUp(List<_TouchDetails> touches); + List multiTouchCancel(List<_TouchDetails> touches); @override - html.Event primaryDown({double? clientX, double? clientY}) { + DomEvent primaryDown({double? clientX, double? clientY}) { return multiTouchDown(<_TouchDetails>[ _TouchDetails( pointer: 1, @@ -2433,7 +2453,7 @@ mixin _MultiPointerEventMixin on _BasicEventContext { } @override - html.Event primaryMove({double? clientX, double? clientY}) { + DomEvent primaryMove({double? clientX, double? clientY}) { return multiTouchMove(<_TouchDetails>[ _TouchDetails( pointer: 1, @@ -2444,7 +2464,7 @@ mixin _MultiPointerEventMixin on _BasicEventContext { } @override - html.Event primaryUp({double? clientX, double? clientY}) { + DomEvent primaryUp({double? clientX, double? clientY}) { return multiTouchUp(<_TouchDetails>[ _TouchDetails( pointer: 1, @@ -2460,7 +2480,7 @@ mixin _MultiPointerEventMixin on _BasicEventContext { class _TouchEventContext extends _BasicEventContext with _MultiPointerEventMixin implements PointerSupportDetector { - _TouchEventContext() : _target = html.document.createElement('div'); + _TouchEventContext() : _target = domDocument.createElement('div'); @override String get name => 'TouchAdapter'; @@ -2477,14 +2497,14 @@ class _TouchEventContext extends _BasicEventContext @override bool get hasMouseEvents => false; - html.EventTarget _target; + DomEventTarget _target; - html.Touch _createTouch({ + DomTouch _createTouch({ int? identifier, double? clientX, double? clientY, }) { - return html.Touch({ + return createDomTouch({ 'identifier': identifier, 'clientX': clientX, 'clientY': clientY, @@ -2492,9 +2512,9 @@ class _TouchEventContext extends _BasicEventContext }); } - html.TouchEvent _createTouchEvent( + DomTouchEvent _createTouchEvent( String eventType, List<_TouchDetails> touches) { - return html.TouchEvent( + return createDomTouchEvent( eventType, { 'changedTouches': touches @@ -2511,23 +2531,23 @@ class _TouchEventContext extends _BasicEventContext } @override - List multiTouchDown(List<_TouchDetails> touches) { - return [_createTouchEvent('touchstart', touches)]; + List multiTouchDown(List<_TouchDetails> touches) { + return [_createTouchEvent('touchstart', touches)]; } @override - List multiTouchMove(List<_TouchDetails> touches) { - return [_createTouchEvent('touchmove', touches)]; + List multiTouchMove(List<_TouchDetails> touches) { + return [_createTouchEvent('touchmove', touches)]; } @override - List multiTouchUp(List<_TouchDetails> touches) { - return [_createTouchEvent('touchend', touches)]; + List multiTouchUp(List<_TouchDetails> touches) { + return [_createTouchEvent('touchend', touches)]; } @override - List multiTouchCancel(List<_TouchDetails> touches) { - return [_createTouchEvent('touchcancel', touches)]; + List multiTouchCancel(List<_TouchDetails> touches) { + return [_createTouchEvent('touchcancel', touches)]; } } @@ -2554,7 +2574,7 @@ class _MouseEventContext extends _BasicEventContext bool get hasMouseEvents => true; @override - html.Event mouseDown({ + DomEvent mouseDown({ double? clientX, double? clientY, int? button, @@ -2570,7 +2590,7 @@ class _MouseEventContext extends _BasicEventContext } @override - html.Event mouseMove({ + DomEvent mouseMove({ double? clientX, double? clientY, required int button, @@ -2595,7 +2615,7 @@ class _MouseEventContext extends _BasicEventContext } @override - html.Event mouseLeave({ + DomEvent mouseLeave({ double? clientX, double? clientY, required int buttons, @@ -2610,7 +2630,7 @@ class _MouseEventContext extends _BasicEventContext } @override - html.Event mouseUp({ + DomEvent mouseUp({ double? clientX, double? clientY, int? button, @@ -2625,7 +2645,7 @@ class _MouseEventContext extends _BasicEventContext ); } - html.MouseEvent _createMouseEvent( + DomMouseEvent _createMouseEvent( String type, { int? buttons, int? button, @@ -2633,7 +2653,7 @@ class _MouseEventContext extends _BasicEventContext double? clientY, }) { final Function jsMouseEvent = - js_util.getProperty(html.window, 'MouseEvent'); + js_util.getProperty(domWindow, 'MouseEvent'); final List eventArgs = [ type, { @@ -2643,7 +2663,7 @@ class _MouseEventContext extends _BasicEventContext 'clientY': clientY, } ]; - return js_util.callConstructor( + return js_util.callConstructor( jsMouseEvent, js_util.jsify(eventArgs) as List, ); @@ -2673,7 +2693,7 @@ class _PointerEventContext extends _BasicEventContext bool get hasMouseEvents => false; @override - List multiTouchDown(List<_TouchDetails> touches) { + List multiTouchDown(List<_TouchDetails> touches) { return touches .map((_TouchDetails details) => _downWithFullDetails( pointer: details.pointer, @@ -2687,7 +2707,7 @@ class _PointerEventContext extends _BasicEventContext } @override - html.Event mouseDown({ + DomEvent mouseDown({ double? clientX, double? clientY, int? button, @@ -2704,7 +2724,7 @@ class _PointerEventContext extends _BasicEventContext ); } - html.Event _downWithFullDetails({ + DomEvent _downWithFullDetails({ double? clientX, double? clientY, int? button, @@ -2712,7 +2732,7 @@ class _PointerEventContext extends _BasicEventContext int? pointer, String? pointerType, }) { - return html.PointerEvent('pointerdown', { + return createDomPointerEvent('pointerdown', { 'pointerId': pointer, 'button': button, 'buttons': buttons, @@ -2723,7 +2743,7 @@ class _PointerEventContext extends _BasicEventContext } @override - List multiTouchMove(List<_TouchDetails> touches) { + List multiTouchMove(List<_TouchDetails> touches) { return touches .map((_TouchDetails details) => _moveWithFullDetails( pointer: details.pointer, @@ -2737,7 +2757,7 @@ class _PointerEventContext extends _BasicEventContext } @override - html.Event mouseMove({ + DomEvent mouseMove({ double? clientX, double? clientY, required int button, @@ -2754,7 +2774,7 @@ class _PointerEventContext extends _BasicEventContext ); } - html.Event _moveWithFullDetails({ + DomEvent _moveWithFullDetails({ double? clientX, double? clientY, int? button, @@ -2762,7 +2782,7 @@ class _PointerEventContext extends _BasicEventContext int? pointer, String? pointerType, }) { - return html.PointerEvent('pointermove', { + return createDomPointerEvent('pointermove', { 'pointerId': pointer, 'button': button, 'buttons': buttons, @@ -2773,7 +2793,7 @@ class _PointerEventContext extends _BasicEventContext } @override - html.Event mouseLeave({ + DomEvent mouseLeave({ double? clientX, double? clientY, required int buttons, @@ -2789,7 +2809,7 @@ class _PointerEventContext extends _BasicEventContext ); } - html.Event _leaveWithFullDetails({ + DomEvent _leaveWithFullDetails({ double? clientX, double? clientY, int? button, @@ -2797,7 +2817,7 @@ class _PointerEventContext extends _BasicEventContext int? pointer, String? pointerType, }) { - return html.PointerEvent('pointerleave', { + return createDomPointerEvent('pointerleave', { 'pointerId': pointer, 'button': button, 'buttons': buttons, @@ -2808,7 +2828,7 @@ class _PointerEventContext extends _BasicEventContext } @override - List multiTouchUp(List<_TouchDetails> touches) { + List multiTouchUp(List<_TouchDetails> touches) { return touches .map((_TouchDetails details) => _upWithFullDetails( pointer: details.pointer, @@ -2821,7 +2841,7 @@ class _PointerEventContext extends _BasicEventContext } @override - html.Event mouseUp({ + DomEvent mouseUp({ double? clientX, double? clientY, int? button, @@ -2838,7 +2858,7 @@ class _PointerEventContext extends _BasicEventContext ); } - html.Event _upWithFullDetails({ + DomEvent _upWithFullDetails({ double? clientX, double? clientY, int? button, @@ -2846,7 +2866,7 @@ class _PointerEventContext extends _BasicEventContext int? pointer, String? pointerType, }) { - return html.PointerEvent('pointerup', { + return createDomPointerEvent('pointerup', { 'pointerId': pointer, 'button': button, 'buttons': buttons, @@ -2857,10 +2877,10 @@ class _PointerEventContext extends _BasicEventContext } @override - List multiTouchCancel(List<_TouchDetails> touches) { + List multiTouchCancel(List<_TouchDetails> touches) { return touches .map((_TouchDetails details) => - html.PointerEvent('pointercancel', { + createDomPointerEvent('pointercancel', { 'pointerId': details.pointer, 'button': 0, 'buttons': 0, diff --git a/lib/web_ui/test/engine/profiler_test.dart b/lib/web_ui/test/engine/profiler_test.dart index 2fd9e420afcf7..9d96f54b9b697 100644 --- a/lib/web_ui/test/engine/profiler_test.dart +++ b/lib/web_ui/test/engine/profiler_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; import 'dart:js' as js; import 'dart:js_util' as js_util; @@ -160,7 +159,7 @@ class BenchmarkDatapoint { void jsOnBenchmark(dynamic listener) { js_util.setProperty( - html.window, + domWindow, '_flutter_internal_on_benchmark', listener is Function ? js.allowInterop(listener) diff --git a/lib/web_ui/test/engine/semantics/accessibility_test.dart b/lib/web_ui/test/engine/semantics/accessibility_test.dart index a66483b4b8f78..fde66c76fe6ad 100644 --- a/lib/web_ui/test/engine/semantics/accessibility_test.dart +++ b/lib/web_ui/test/engine/semantics/accessibility_test.dart @@ -3,10 +3,10 @@ // found in the LICENSE file. import 'dart:async' show Future; -import 'dart:html'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; +import 'package:ui/src/engine/dom.dart'; import 'package:ui/src/engine/semantics.dart'; import 'package:ui/src/engine/services.dart'; @@ -36,16 +36,16 @@ void testMain() { const Duration(milliseconds: 500); // Initially there is no accessibility-element - expect(document.getElementById('accessibility-element'), isNull); + expect(domDocument.getElementById('accessibility-element'), isNull); accessibilityAnnouncements.handleMessage(codec, codec.encodeMessage(testInput)); expect( - document.getElementById('accessibility-element'), + domDocument.getElementById('accessibility-element'), isNotNull, ); - final LabelElement input = - document.getElementById('accessibility-element')! as LabelElement; + final DomHTMLLabelElement input = + domDocument.getElementById('accessibility-element')! as DomHTMLLabelElement; expect(input.getAttribute('aria-live'), equals('polite')); expect(input.text, testMessage); @@ -53,7 +53,7 @@ void testMain() { Future.delayed( accessibilityAnnouncements.durationA11yMessageIsOnDom, () => - expect(document.getElementById('accessibility-element'), isNull)); + expect(domDocument.getElementById('accessibility-element'), isNull)); }); }); } diff --git a/lib/web_ui/test/engine/semantics/semantics_test.dart b/lib/web_ui/test/engine/semantics/semantics_test.dart index 972d24e4909fd..a9bde99c504b1 100644 --- a/lib/web_ui/test/engine/semantics/semantics_test.dart +++ b/lib/web_ui/test/engine/semantics/semantics_test.dart @@ -5,7 +5,6 @@ @TestOn('chrome || safari || firefox') import 'dart:async'; -import 'dart:html' as html; import 'dart:typed_data'; import 'package:quiver/testing/async.dart'; @@ -96,16 +95,17 @@ void _testEngineSemanticsOwner() { expect(semantics().semanticsEnabled, isFalse); // Synthesize a click on the placeholder. - final html.Element placeholder = - appHostNode.querySelector('flt-semantics-placeholder')! as html.Element; + final DomElement placeholder = + appHostNode.querySelector('flt-semantics-placeholder')!; expect(placeholder.isConnected, isTrue); - final html.Rectangle rect = placeholder.getBoundingClientRect(); - placeholder.dispatchEvent(html.MouseEvent( - 'click', - clientX: (rect.left + (rect.right - rect.left) / 2).floor(), - clientY: (rect.top + (rect.bottom - rect.top) / 2).floor(), + final DomRect rect = placeholder.getBoundingClientRect(); + placeholder.dispatchEvent(createDomMouseEvent( + 'click', { + 'clientX': (rect.left + (rect.right - rect.left) / 2).floor(), + 'clientY': (rect.top + (rect.bottom - rect.top) / 2).floor(), + } )); // On mobile semantics is enabled asynchronously. @@ -192,8 +192,8 @@ void _testEngineSemanticsOwner() { .instance.configuration.accessibilityFeatures.accessibleNavigation, isFalse); - final html.Element placeholder = - appHostNode.querySelector('flt-semantics-placeholder')! as html.Element; + final DomElement placeholder = + appHostNode.querySelector('flt-semantics-placeholder')!; expect(placeholder.isConnected, isTrue); @@ -521,10 +521,10 @@ void _testContainer() { '''); - final html.Element parentElement = - appHostNode.querySelector('flt-semantics')! as html.Element; - final html.Element container = - appHostNode.querySelector('flt-semantics-container')! as html.Element; + final DomElement parentElement = + appHostNode.querySelector('flt-semantics')!; + final DomElement container = + appHostNode.querySelector('flt-semantics-container')!; if (isMacOrIOS) { expect(parentElement.style.top, '0px'); @@ -575,10 +575,10 @@ void _testContainer() { '''); - final html.Element parentElement = - appHostNode.querySelector('flt-semantics')! as html.Element; - final html.Element container = - appHostNode.querySelector('flt-semantics-container')! as html.Element; + final DomElement parentElement = + appHostNode.querySelector('flt-semantics')!; + final DomElement container = + appHostNode.querySelector('flt-semantics-container')!; expect(parentElement.style.transform, 'matrix(1, 0, 0, 1, 10, 10)'); expect(parentElement.style.transformOrigin, '0px 0px 0px'); @@ -618,10 +618,10 @@ void _testContainer() { '''); - final html.Element parentElement = - appHostNode.querySelector('flt-semantics')! as html.Element; - final html.Element container = - appHostNode.querySelector('flt-semantics-container')! as html.Element; + final DomElement parentElement = + appHostNode.querySelector('flt-semantics')!; + final DomElement container = + appHostNode.querySelector('flt-semantics-container')!; if (isMacOrIOS) { expect(parentElement.style.top, '0px'); @@ -826,7 +826,7 @@ void _testVerticalScrolling() { '''); - final html.Element? scrollable = findScrollable(); + final DomElement? scrollable = findScrollable(); expect(scrollable, isNotNull); // When there's less content than the available size the neutral scrollTop @@ -896,7 +896,7 @@ void _testVerticalScrolling() { '''); - final html.Element? scrollable = findScrollable(); + final DomElement? scrollable = findScrollable(); expect(scrollable, isNotNull); // When there's more content than the available size the neutral scrollTop @@ -984,7 +984,7 @@ void _testHorizontalScrolling() { '''); - final html.Element? scrollable = findScrollable(); + final DomElement? scrollable = findScrollable(); expect(scrollable, isNotNull); // When there's less content than the available size the neutral @@ -1035,7 +1035,7 @@ void _testHorizontalScrolling() { '''); - final html.Element? scrollable = findScrollable(); + final DomElement? scrollable = findScrollable(); expect(scrollable, isNotNull); // When there's more content than the available size the neutral scrollTop @@ -1117,9 +1117,10 @@ void _testIncrementables() { '''); - final html.InputElement input = appHostNode.querySelector('input')! as html.InputElement; + final DomHTMLInputElement input = appHostNode.querySelector('input')! as + DomHTMLInputElement; input.value = '2'; - input.dispatchEvent(html.Event('change')); + input.dispatchEvent(createDomEvent('Event', 'change')); expect(await logger.idLog.first, 0); expect(await logger.actionLog.first, ui.SemanticsAction.increase); @@ -1151,9 +1152,10 @@ void _testIncrementables() { '''); - final html.InputElement input = appHostNode.querySelector('input')! as html.InputElement; + final DomHTMLInputElement input = appHostNode.querySelector('input')! as + DomHTMLInputElement; input.value = '0'; - input.dispatchEvent(html.Event('change')); + input.dispatchEvent(createDomEvent('Event', 'change')); expect(await logger.idLog.first, 0); expect(await logger.actionLog.first, ui.SemanticsAction.decrease); @@ -1238,9 +1240,8 @@ void _testTextField() { semantics().updateSemantics(builder.build()); - final html.Element textField = - appHostNode.querySelector('input[data-semantics-role="text-field"]')! as - html.Element; + final DomElement textField = + appHostNode.querySelector('input[data-semantics-role="text-field"]')!; expect(appHostNode.activeElement, isNot(textField)); @@ -1806,7 +1807,7 @@ void _testPlatformView() { ui.platformViewRegistry.registerViewFactory( 'test-platform-view', - (int viewId) => html.DivElement() + (int viewId) => createDomHTMLDivElement() ..id = 'view-0' ..style.width = '100%' ..style.height = '100%', @@ -1861,37 +1862,36 @@ void _testPlatformView() { final DomElement root = appHostNode.querySelector('#flt-semantic-node-0')!; expect(root.style.pointerEvents, 'none'); - final html.Element child1 = - appHostNode.querySelector('#flt-semantic-node-1')! as html.Element; + final DomElement child1 = + appHostNode.querySelector('#flt-semantic-node-1')!; expect(child1.style.pointerEvents, 'all'); - final html.Rectangle child1Rect = child1.getBoundingClientRect(); + final DomRect child1Rect = child1.getBoundingClientRect(); expect(child1Rect.left, 0); expect(child1Rect.top, 0); expect(child1Rect.right, 20); expect(child1Rect.bottom, 25); - final html.Element child2 = - appHostNode.querySelector('#flt-semantic-node-2')! as html.Element; + final DomElement child2 = + appHostNode.querySelector('#flt-semantic-node-2')!; expect(child2.style.pointerEvents, 'none'); - final html.Rectangle child2Rect = child2.getBoundingClientRect(); + final DomRect child2Rect = child2.getBoundingClientRect(); expect(child2Rect.left, 0); expect(child2Rect.top, 15); expect(child2Rect.right, 20); expect(child2Rect.bottom, 45); - final html.Element child3 = - appHostNode.querySelector('#flt-semantic-node-3')! as html.Element; + final DomElement child3 = + appHostNode.querySelector('#flt-semantic-node-3')!; expect(child3.style.pointerEvents, 'all'); - final html.Rectangle child3Rect = child3.getBoundingClientRect(); + final DomRect child3Rect = child3.getBoundingClientRect(); expect(child3Rect.left, 0); expect(child3Rect.top, 35); expect(child3Rect.right, 20); expect(child3Rect.bottom, 60); - final html.Element platformViewElement = - flutterViewEmbedder.glassPaneElement!.querySelector('#view-0')! as - html.Element; - final html.Rectangle platformViewRect = platformViewElement.getBoundingClientRect(); + final DomElement platformViewElement = + flutterViewEmbedder.glassPaneElement!.querySelector('#view-0')!; + final DomRect platformViewRect = platformViewElement.getBoundingClientRect(); expect(platformViewRect.left, 0); expect(platformViewRect.top, 15); expect(platformViewRect.right, 20); @@ -1899,7 +1899,7 @@ void _testPlatformView() { // This test is only relevant for shadow DOM because we only really support // proper platform view embedding in browsers that support shadow DOM. - final html.ShadowRoot shadowRoot = appHostNode.node as html.ShadowRoot; + final DomShadowRoot shadowRoot = appHostNode.node as DomShadowRoot; // Hit test child 1 expect(shadowRoot.elementFromPoint(10, 10)!, child1); @@ -1922,7 +1922,7 @@ void _testPlatformView() { // See: // * https://github.com/w3c/csswg-drafts/issues/556 // * https://bugzilla.mozilla.org/show_bug.cgi?id=1502369 - expect(html.document.elementFromPoint(10, 30)!, platformViewElement); + expect(domDocument.elementFromPoint(10, 30)!, platformViewElement); // Hit test overlap between child 2 and 3 expect(shadowRoot.elementFromPoint(10, 40)!, child3); diff --git a/lib/web_ui/test/engine/semantics/semantics_tester.dart b/lib/web_ui/test/engine/semantics/semantics_tester.dart index e441379bf68ae..1fdeac1bb5ef3 100644 --- a/lib/web_ui/test/engine/semantics/semantics_tester.dart +++ b/lib/web_ui/test/engine/semantics/semantics_tester.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'dart:typed_data'; import 'package:test/test.dart'; @@ -21,8 +20,8 @@ import '../../matchers.dart'; /// Gets the DOM host where the Flutter app is being rendered. /// /// This function returns the correct host for the flutter app under testing, -/// so we don't have to hardcode html.document across the test. (The host of a -/// normal flutter app used to be html.document, but now that the app is wrapped +/// so we don't have to hardcode domDocument across the test. (The host of a +/// normal flutter app used to be domDocument, but now that the app is wrapped /// in a Shadow DOM, that's not the case anymore.) HostNode get appHostNode => flutterViewEmbedder.glassPaneShadow!; @@ -369,14 +368,14 @@ void expectSemanticsTree(String semanticsHtml) { } /// Finds the first HTML element in the semantics tree used for scrolling. -html.Element? findScrollable() { +DomElement? findScrollable() { return appHostNode.querySelectorAll('flt-semantics').firstWhereOrNull( (DomElement? element) { return element!.style.overflow == 'hidden' || element.style.overflowY == 'scroll' || element.style.overflowX == 'scroll'; }, - ) as html.Element?; + ); } /// Logs semantics actions dispatched to [ui.window]. diff --git a/lib/web_ui/test/engine/semantics/text_field_test.dart b/lib/web_ui/test/engine/semantics/text_field_test.dart index d902e53ad80ba..fc0cd0ec73da0 100644 --- a/lib/web_ui/test/engine/semantics/text_field_test.dart +++ b/lib/web_ui/test/engine/semantics/text_field_test.dart @@ -4,8 +4,6 @@ @TestOn('chrome || safari || firefox') -import 'dart:html' as html; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -77,9 +75,8 @@ void testMain() { createTextFieldSemantics(value: 'hello'); - final html.Element textField = appHostNode - .querySelector('input[data-semantics-role="text-field"]')! as - html.Element; + final DomElement textField = appHostNode + .querySelector('input[data-semantics-role="text-field"]')!; expect(appHostNode.activeElement, isNot(textField)); @@ -100,7 +97,7 @@ void testMain() { ..debugOverrideTimestampFunction(() => _testTime) ..semanticsEnabled = true; - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); int changeCount = 0; @@ -124,7 +121,7 @@ void testMain() { ); final TextField textField = textFieldSemantics.debugRoleManagerFor(Role.textField)! as TextField; - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, strategy.domElement); expect(textField.editableElement, strategy.domElement); expect((textField.editableElement as dynamic).value, 'hello'); @@ -140,7 +137,7 @@ void testMain() { rect: const ui.Rect.fromLTWH(0, 0, 12, 17), ); - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); expect(strategy.domElement, null); expect((textField.editableElement as dynamic).value, 'bye'); @@ -162,7 +159,7 @@ void testMain() { ..debugOverrideTimestampFunction(() => _testTime) ..semanticsEnabled = true; - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); strategy.enable( @@ -177,12 +174,12 @@ void testMain() { final TextField textField = textFieldSemantics.debugRoleManagerFor(Role.textField)! as TextField; expect(textField.editableElement, strategy.domElement); - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, strategy.domElement); // The input should not refocus after blur. textField.editableElement.blur(); - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); strategy.disable(); semantics().semanticsEnabled = false; @@ -208,7 +205,7 @@ void testMain() { isFocused: true, ); expect(strategy.domElement, isNotNull); - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, strategy.domElement); strategy.disable(); @@ -219,7 +216,7 @@ void testMain() { expect(appHostNode.contains(textField.editableElement), isTrue); // Editing element is not enabled. expect(strategy.isEnabled, isFalse); - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); semantics().semanticsEnabled = false; }); @@ -240,12 +237,12 @@ void testMain() { isFocused: true, ); expect(strategy.domElement, isNotNull); - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, strategy.domElement); // Blur the element without telling the framework. strategy.activeDomElement.blur(); - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); // The input will have focus after editing state is set and semantics updated. @@ -264,7 +261,7 @@ void testMain() { value: 'hello', isFocused: true, ); - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, strategy.domElement); strategy.disable(); @@ -287,9 +284,9 @@ void testMain() { isMultiline: true, ); - final html.TextAreaElement textArea = strategy.domElement! as html.TextAreaElement; + final DomHTMLTextAreaElement textArea = strategy.domElement! as DomHTMLTextAreaElement; - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, strategy.domElement); strategy.enable( @@ -299,12 +296,12 @@ void testMain() { ); textArea.blur(); - expect(html.document.activeElement, html.document.body); + expect(domDocument.activeElement, domDocument.body); expect(appHostNode.activeElement, null); strategy.disable(); // It doesn't remove the textarea from the DOM. - expect(appHostNode.contains(textArea as DomNode), isTrue); + expect(appHostNode.contains(textArea), isTrue); // Editing element is not enabled. expect(strategy.isEnabled, isFalse); semantics().semanticsEnabled = false; @@ -395,7 +392,7 @@ void testMain() { createTwoFieldSemantics(tester, focusFieldId: 1); expect(tester.apply().length, 3); - expect(html.document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(appHostNode.activeElement, tester.getTextField(1).editableElement); expect(strategy.domElement, tester.getTextField(1).editableElement); diff --git a/lib/web_ui/test/engine/surface/platform_view_test.dart b/lib/web_ui/test/engine/surface/platform_view_test.dart index 9c763a4fb698c..86c506a85052c 100644 --- a/lib/web_ui/test/engine/surface/platform_view_test.dart +++ b/lib/web_ui/test/engine/surface/platform_view_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -28,11 +27,11 @@ Future testMain() async { setUp(() async { platformViewRegistry.registerViewFactory( 'test-0', - (int viewId) => html.DivElement(), + (int viewId) => createDomHTMLDivElement(), ); platformViewRegistry.registerViewFactory( 'test-1', - (int viewId) => html.DivElement(), + (int viewId) => createDomHTMLDivElement(), ); // Ensure the views are created... await Future.wait(>[ diff --git a/lib/web_ui/test/engine/window_test.dart b/lib/web_ui/test/engine/window_test.dart index dd0c41c384943..5447964725fc8 100644 --- a/lib/web_ui/test/engine/window_test.dart +++ b/lib/web_ui/test/engine/window_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'dart:js_util' as js_util; import 'dart:typed_data'; @@ -302,7 +301,7 @@ Future testMain() async { /// Regression test for https://github.com/flutter/flutter/issues/66128. test('setPreferredOrientation responds even if browser doesn\'t support api', () async { - final html.Screen screen = html.window.screen!; + final DomScreen screen = domWindow.screen!; js_util.setProperty(screen, 'orientation', null); final Completer completer = Completer(); @@ -343,14 +342,15 @@ Future testMain() async { expect(window.locales, isEmpty); expect(window.locale, equals(const ui.Locale.fromSubtags())); expect(localeChangedCount, 0); - html.window.dispatchEvent(html.Event('languagechange')); + domWindow.dispatchEvent(createDomEvent('Event', 'languagechange')); expect(window.locales, isNotEmpty); expect(localeChangedCount, 1); }); test('dispatches browser event on flutter/service_worker channel', () async { final Completer completer = Completer(); - html.window.addEventListener('flutter-first-frame', completer.complete); + domWindow.addEventListener('flutter-first-frame', + allowInterop(completer.complete)); final Zone innerZone = Zone.current.fork(); innerZone.runGuarded(() { diff --git a/lib/web_ui/test/html/bitmap_canvas_golden_test.dart b/lib/web_ui/test/html/bitmap_canvas_golden_test.dart index df748bc2c032b..ed45f6c9afc3e 100644 --- a/lib/web_ui/test/html/bitmap_canvas_golden_test.dart +++ b/lib/web_ui/test/html/bitmap_canvas_golden_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; import 'dart:math' as math; import 'package:test/bootstrap/browser.dart'; @@ -24,16 +23,15 @@ Future testMain() async { void appendToScene() { // Create a element to make sure our CSS reset applies correctly. - final html.Element testScene = html.Element.tag('flt-scene'); + final DomElement testScene = createDomElement('flt-scene'); if (isIosSafari) { // Shrink to fit on the iPhone screen. testScene.style.position = 'absolute'; testScene.style.transformOrigin = '0 0 0'; testScene.style.transform = 'scale(0.3)'; } - testScene.append(canvas.rootElement as html.Node); - flutterViewEmbedder.glassPaneShadow!.querySelector('flt-scene-host')!.append(testScene - as DomElement); + testScene.append(canvas.rootElement); + flutterViewEmbedder.glassPaneShadow!.querySelector('flt-scene-host')!.append(testScene); } setUpStableTestFonts(); diff --git a/lib/web_ui/test/html/canvas_context_golden_test.dart b/lib/web_ui/test/html/canvas_context_golden_test.dart index 23c43298cab47..f53c95f60072b 100644 --- a/lib/web_ui/test/html/canvas_context_golden_test.dart +++ b/lib/web_ui/test/html/canvas_context_golden_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart' as engine; @@ -32,7 +30,7 @@ Future testMain() async { rc.apply(engineCanvas, screenRect); // Wrap in so that our CSS selectors kick in. - final html.Element sceneElement = html.Element.tag('flt-scene'); + final engine.DomElement sceneElement = engine.createDomElement('flt-scene'); if (isIosSafari) { // Shrink to fit on the iPhone screen. sceneElement.style.position = 'absolute'; @@ -41,8 +39,8 @@ Future testMain() async { } try { - sceneElement.append(engineCanvas.rootElement as html.Element); - html.document.body!.append(sceneElement); + sceneElement.append(engineCanvas.rootElement); + engine.domDocument.body!.append(sceneElement); // TODO(yjbanov): 10% diff rate is excessive. Update goldens. await matchGoldenFile('$fileName.png', region: region); } finally { diff --git a/lib/web_ui/test/html/compositing/compositing_golden_test.dart b/lib/web_ui/test/html/compositing/compositing_golden_test.dart index 1711c365e8db2..36d6efbb1744c 100644 --- a/lib/web_ui/test/html/compositing/compositing_golden_test.dart +++ b/lib/web_ui/test/html/compositing/compositing_golden_test.dart @@ -691,8 +691,8 @@ void _testCullRectComputation() { .toFloat64()); // TODO(yjbanov): see the TODO below. - // final double screenWidth = html.window.innerWidth.toDouble(); - // final double screenHeight = html.window.innerHeight.toDouble(); + // final double screenWidth = domWindow.innerWidth.toDouble(); + // final double screenHeight = domWindow.innerHeight.toDouble(); final Matrix4 scaleTransform = Matrix4.identity().scaled(0.5, 0.2); builder.pushTransform( diff --git a/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart b/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart index 95f4478f5334b..13f3e5d70ccd0 100644 --- a/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart +++ b/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; @@ -25,7 +23,7 @@ Future testMain() async { }); tearDown(() { - for (final html.Node scene in html.document.querySelectorAll('flt-scene')) { + for (final DomNode scene in domDocument.querySelectorAll('flt-scene')) { scene.remove(); } }); diff --git a/lib/web_ui/test/html/shaders/gradient_golden_test.dart b/lib/web_ui/test/html/shaders/gradient_golden_test.dart index 553d29a75c5eb..75c4dd39f79c6 100644 --- a/lib/web_ui/test/html/shaders/gradient_golden_test.dart +++ b/lib/web_ui/test/html/shaders/gradient_golden_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; import 'dart:math' as math; import 'dart:typed_data'; import 'dart:web_gl'; @@ -392,8 +391,8 @@ Future testMain() async { test('Creating lots of gradients doesn\'t create too many webgl contexts', () async { - final html.CanvasElement sideCanvas = - html.CanvasElement(width: 5, height: 5); + final DomCanvasElement sideCanvas = + createDomCanvasElement(width: 5, height: 5); final RenderingContext? context = sideCanvas.getContext('webgl') as RenderingContext?; expect(context, isNotNull); diff --git a/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart b/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart index 6b3567fcda5b3..3c94e2f368815 100644 --- a/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart +++ b/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart' @@ -38,8 +36,8 @@ Future testMain() async { setUp(() async { SurfaceSceneBuilder.debugForgetFrameScene(); - for (final html.Node scene in - flutterViewEmbedder.sceneHostElement!.querySelectorAll('flt-scene').cast()) { + for (final DomNode scene in + flutterViewEmbedder.sceneHostElement!.querySelectorAll('flt-scene').cast()) { scene.remove(); } initWebGl(); diff --git a/lib/web_ui/test/keyboard_test.dart b/lib/web_ui/test/keyboard_test.dart index 8541f499fc87e..3225e3ec6d789 100644 --- a/lib/web_ui/test/keyboard_test.dart +++ b/lib/web_ui/test/keyboard_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; import 'dart:js_util' as js_util; import 'dart:typed_data'; @@ -10,6 +9,7 @@ import 'package:quiver/testing/async.dart'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine/browser_detection.dart'; +import 'package:ui/src/engine/dom.dart'; import 'package:ui/src/engine/keyboard.dart'; import 'package:ui/src/engine/services.dart'; import 'package:ui/src/engine/text_editing/text_editing.dart'; @@ -51,7 +51,7 @@ void testMain() { dataReceived = const JSONMessageCodec().decodeMessage(data) as Map?; }; - html.KeyboardEvent event; + DomKeyboardEvent event; event = dispatchKeyboardEvent('keyup', key: 'SomeKey', code: 'SomeCode', keyCode: 1); @@ -83,7 +83,7 @@ void testMain() { dataReceived = const JSONMessageCodec().decodeMessage(data) as Map?; }; - html.KeyboardEvent event; + DomKeyboardEvent event; event = dispatchKeyboardEvent('keydown', key: 'SomeKey', code: 'SomeCode', keyCode: 1); @@ -114,7 +114,7 @@ void testMain() { dataReceived = const JSONMessageCodec().decodeMessage(data) as Map?; }; - html.KeyboardEvent event; + DomKeyboardEvent event; event = dispatchKeyboardEvent( 'keydown', @@ -168,7 +168,7 @@ void testMain() { messages.add(const JSONMessageCodec().decodeMessage(data) as Map); }; - html.KeyboardEvent event; + DomKeyboardEvent event; event = dispatchKeyboardEvent( 'keydown', @@ -249,7 +249,7 @@ void testMain() { callback!(response); }; - final html.KeyboardEvent event = dispatchKeyboardEvent( + final DomKeyboardEvent event = dispatchKeyboardEvent( 'keydown', key: 'Tab', code: 'Tab', @@ -272,7 +272,7 @@ void testMain() { callback!(response); }; - final html.KeyboardEvent event = dispatchKeyboardEvent( + final DomKeyboardEvent event = dispatchKeyboardEvent( 'keydown', key: 'Tab', code: 'Tab', @@ -293,8 +293,8 @@ void testMain() { count += 1; }; - useTextEditingElement((html.Element element) { - final html.KeyboardEvent event = dispatchKeyboardEvent( + useTextEditingElement((DomElement element) { + final DomKeyboardEvent event = dispatchKeyboardEvent( 'keydown', key: 'SomeKey', code: 'SomeCode', @@ -319,8 +319,8 @@ void testMain() { callback!(response); }; - useTextEditingElement((html.Element element) { - final html.KeyboardEvent event = dispatchKeyboardEvent( + useTextEditingElement((DomElement element) { + final DomKeyboardEvent event = dispatchKeyboardEvent( 'keydown', key: 'Tab', code: 'Tab', @@ -703,23 +703,23 @@ void testMain() { }); } -typedef ElementCallback = void Function(html.Element element); +typedef ElementCallback = void Function(DomElement element); void useTextEditingElement(ElementCallback callback) { - final html.InputElement input = html.InputElement(); - input.classes.add(HybridTextEditing.textEditingClass); + final DomHTMLInputElement input = createDomHTMLInputElement(); + input.classList.add(HybridTextEditing.textEditingClass); try { - html.document.body!.append(input); + domDocument.body!.append(input); callback(input); } finally { input.remove(); } } -html.KeyboardEvent dispatchKeyboardEvent( +DomKeyboardEvent dispatchKeyboardEvent( String type, { - html.EventTarget? target, + DomEventTarget? target, String? key, String? code, int location = 0, @@ -730,10 +730,10 @@ html.KeyboardEvent dispatchKeyboardEvent( bool isMetaPressed = false, int keyCode = 0, }) { - target ??= html.window; + target ??= domWindow; final Function jsKeyboardEvent = - js_util.getProperty(html.window, 'KeyboardEvent'); + js_util.getProperty(domWindow, 'KeyboardEvent'); final List eventArgs = [ type, { @@ -750,7 +750,7 @@ html.KeyboardEvent dispatchKeyboardEvent( 'cancelable': true, } ]; - final html.KeyboardEvent event = js_util.callConstructor( + final DomKeyboardEvent event = js_util.callConstructor( jsKeyboardEvent, js_util.jsify(eventArgs) as List, ); diff --git a/lib/web_ui/test/path_test.dart b/lib/web_ui/test/path_test.dart index 55f9496dd16ab..f37dba893ac1c 100644 --- a/lib/web_ui/test/path_test.dart +++ b/lib/web_ui/test/path_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. -import 'dart:html' as html; import 'dart:js_util' as js_util; import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; @@ -412,7 +411,7 @@ void testMain() { // Regression test for https://github.com/flutter/flutter/issues/44470 test('Should handle contains for devicepixelratio != 1.0', () { - js_util.setProperty(html.window, 'devicePixelRatio', 4.0); + js_util.setProperty(domWindow, 'devicePixelRatio', 4.0); window.debugOverrideDevicePixelRatio(4.0); final Path path = Path() ..moveTo(50, 0) @@ -421,7 +420,7 @@ void testMain() { ..lineTo(50, 0) ..close(); expect(path.contains(const Offset(50, 50)), isTrue); - js_util.setProperty(html.window, 'devicePixelRatio', 1.0); + js_util.setProperty(domWindow, 'devicePixelRatio', 1.0); window.debugOverrideDevicePixelRatio(1.0); // TODO(ferhat): Investigate failure on CI. Locally this passes. // [Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE)" diff --git a/lib/web_ui/test/text/font_collection_test.dart b/lib/web_ui/test/text/font_collection_test.dart index e76d16cddc307..97d290eb8f98d 100644 --- a/lib/web_ui/test/text/font_collection_test.dart +++ b/lib/web_ui/test/text/font_collection_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html' as html; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -23,7 +21,7 @@ void testMain() { }); tearDown(() { - html.document.fonts!.clear(); + domDocument.fonts!.clear(); }); group('regular special characters', () { @@ -34,10 +32,10 @@ void testMain() { fontManager.registerAsset( _testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); expect(fontFamilyList.length, equals(1)); expect(fontFamilyList.first, 'Ahem'); @@ -52,10 +50,10 @@ void testMain() { fontManager.registerAsset( _testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); expect(fontFamilyList.length, equals(1)); expect(fontFamilyList.first, 'Ahem ahem ahem'); @@ -72,10 +70,10 @@ void testMain() { fontManager.registerAsset( _testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); expect(fontFamilyList.length, equals(1)); expect(fontFamilyList.first, 'AhEm'); @@ -92,10 +90,10 @@ void testMain() { fontManager.registerAsset( _testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); if (browserEngine != BrowserEngine.firefox) { expect(fontFamilyList.length, equals(2)); @@ -118,10 +116,10 @@ void testMain() { fontManager.registerAsset( _testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); if (browserEngine != BrowserEngine.firefox) { expect(fontFamilyList.length, equals(2)); @@ -144,10 +142,10 @@ void testMain() { fontManager.registerAsset( _testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); if (browserEngine != BrowserEngine.firefox) { expect(fontFamilyList.length, equals(2)); @@ -171,10 +169,10 @@ void testMain() { fontManager.registerAsset( testFontFamily, 'url($_testFontUrl)', const {}); await fontManager.ensureFontsLoaded(); - html.document.fonts! - .forEach((html.FontFace f, html.FontFace f2, html.FontFaceSet s) { + domDocument.fonts! + .forEach(allowInterop((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { fontFamilyList.add(f.family!); - }); + })); if (browserEngine != BrowserEngine.firefox) { expect(fontFamilyList.length, equals(2)); diff --git a/lib/web_ui/test/text/font_loading_test.dart b/lib/web_ui/test/text/font_loading_test.dart index d6795bbb20c1c..b6cd0d963349f 100644 --- a/lib/web_ui/test/text/font_loading_test.dart +++ b/lib/web_ui/test/text/font_loading_test.dart @@ -4,7 +4,6 @@ import 'dart:async'; import 'dart:convert'; -import 'dart:html' as html; import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; @@ -22,7 +21,7 @@ Future testMain() async { const String _testFontUrl = '/assets/fonts/ahem.ttf'; tearDown(() { - html.document.fonts!.clear(); + domDocument.fonts!.clear(); }); test('surfaces error from invalid font buffer', () async { @@ -38,7 +37,7 @@ Future testMain() async { test('loads Blehm font from buffer', () async { expect(_containsFontFamily('Blehm'), isFalse); - final html.HttpRequest response = await html.HttpRequest.request( + final DomXMLHttpRequest response = await domHttpRequest( _testFontUrl, responseType: 'arraybuffer'); await ui.loadFontFromList(Uint8List.view(response.response as ByteBuffer), @@ -64,7 +63,7 @@ Future testMain() async { // Now, loads a new font using loadFontFromList. This should clear the // cache - final html.HttpRequest response = await html.HttpRequest.request( + final DomXMLHttpRequest response = await domHttpRequest( _testFontUrl, responseType: 'arraybuffer'); await ui.loadFontFromList(Uint8List.view(response.response as ByteBuffer), @@ -91,13 +90,13 @@ Future testMain() async { buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); message = utf8.decode(list); }; - final html.HttpRequest response = await html.HttpRequest.request( + final DomXMLHttpRequest response = await domHttpRequest( _testFontUrl, responseType: 'arraybuffer'); await ui.loadFontFromList(Uint8List.view(response.response as ByteBuffer), fontFamily: 'Blehm'); final Completer completer = Completer(); - html.window.requestAnimationFrame( (_) { completer.complete(); } ); + domWindow.requestAnimationFrame(allowInterop((_) { completer.complete();}) ); await (completer.future); // ignore: unnecessary_parenthesis window.onPlatformMessage = oldHandler; expect(actualName, 'flutter/system'); @@ -112,11 +111,11 @@ Future testMain() async { bool _containsFontFamily(String family) { bool found = false; - html.document.fonts!.forEach((html.FontFace fontFace, - html.FontFace fontFaceAgain, html.FontFaceSet fontFaceSet) { + domDocument.fonts!.forEach(allowInterop((DomFontFace fontFace, + DomFontFace fontFaceAgain, DomFontFaceSet fontFaceSet) { if (fontFace.family == family) { found = true; } - }); + })); return found; } diff --git a/lib/web_ui/test/text_editing_test.dart b/lib/web_ui/test/text_editing_test.dart index c5d00564a3d54..fa5d082f0fffe 100644 --- a/lib/web_ui/test/text_editing_test.dart +++ b/lib/web_ui/test/text_editing_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html'; import 'dart:js_util' as js_util; import 'dart:typed_data'; @@ -14,6 +13,7 @@ import 'package:ui/src/engine.dart' show flutterViewEmbedder; import 'package:ui/src/engine/browser_detection.dart'; import 'package:ui/src/engine/dom.dart'; import 'package:ui/src/engine/initialization.dart'; +import 'package:ui/src/engine/safe_browser_api.dart'; import 'package:ui/src/engine/services.dart'; import 'package:ui/src/engine/text_editing/autofill_hint.dart'; import 'package:ui/src/engine/text_editing/input_type.dart'; @@ -88,11 +88,11 @@ Future testMain() async { test('Creates element when enabled and removes it when disabled', () { expect( - document.getElementsByTagName('input'), + domDocument.getElementsByTagName('input'), hasLength(0), ); // The focus initially is on the body. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); expect(defaultTextEditingRoot.activeElement, null); editingStrategy!.enable( @@ -105,11 +105,10 @@ Future testMain() async { defaultTextEditingRoot.querySelectorAll('input'), hasLength(1), ); - final Element input = defaultTextEditingRoot.querySelector('input')! as - Element; + final DomElement input = defaultTextEditingRoot.querySelector('input')!; // Now the editing element should have focus. - expect(document.activeElement, flutterViewEmbedder.glassPaneElement); + expect(domDocument.activeElement, flutterViewEmbedder.glassPaneElement); expect(defaultTextEditingRoot.activeElement, input); expect(editingStrategy!.domElement, input); @@ -124,7 +123,7 @@ Future testMain() async { hasLength(0), ); // The focus is back to the body. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); expect(defaultTextEditingRoot.activeElement, null); }); @@ -138,8 +137,7 @@ Future testMain() async { onAction: trackInputAction, ); expect(defaultTextEditingRoot.querySelectorAll('input'), hasLength(1)); - final Element input = defaultTextEditingRoot.querySelector('input')! as - Element; + final DomElement input = defaultTextEditingRoot.querySelector('input')!; expect(editingStrategy!.domElement, input); expect(input.getAttribute('readonly'), 'readonly'); @@ -156,8 +154,7 @@ Future testMain() async { onAction: trackInputAction, ); expect(defaultTextEditingRoot.querySelectorAll('input'), hasLength(1)); - final Element input = defaultTextEditingRoot.querySelector('input')! as - Element; + final DomElement input = defaultTextEditingRoot.querySelector('input')!; expect(editingStrategy!.domElement, input); expect(input.getAttribute('type'), 'password'); @@ -174,8 +171,7 @@ Future testMain() async { onAction: trackInputAction, ); expect(defaultTextEditingRoot.querySelectorAll('input'), hasLength(1)); - final Element input = defaultTextEditingRoot.querySelector('input')! as - Element; + final DomElement input = defaultTextEditingRoot.querySelector('input')!; expect(editingStrategy!.domElement, input); expect(input.getAttribute('autocorrect'), 'off'); @@ -192,8 +188,7 @@ Future testMain() async { onAction: trackInputAction, ); expect(defaultTextEditingRoot.querySelectorAll('input'), hasLength(1)); - final Element input = defaultTextEditingRoot.querySelector('input')! as - Element; + final DomElement input = defaultTextEditingRoot.querySelector('input')!; expect(editingStrategy!.domElement, input); expect(input.getAttribute('autocorrect'), 'on'); @@ -210,8 +205,7 @@ Future testMain() async { onAction: trackInputAction, ); expect(defaultTextEditingRoot.querySelectorAll('input'), hasLength(1)); - final Element input = defaultTextEditingRoot.querySelector('input')! as - Element; + final DomElement input = defaultTextEditingRoot.querySelector('input')!; expect(editingStrategy!.domElement, input); expect(input.getAttribute('autocomplete'), 'off'); @@ -225,16 +219,16 @@ Future testMain() async { onAction: trackInputAction, ); - final InputElement input = editingStrategy!.domElement! as InputElement; + final DomHTMLInputElement input = editingStrategy!.domElement! as DomHTMLInputElement; input.value = 'foo bar'; - input.dispatchEvent(Event.eventType('Event', 'input')); + input.dispatchEvent(createDomEvent('Event', 'input')); expect( lastEditingState, EditingState(text: 'foo bar', baseOffset: 7, extentOffset: 7), ); input.setSelectionRange(4, 6); - document.dispatchEvent(Event.eventType('Event', 'selectionchange')); + domDocument.dispatchEvent(createDomEvent('Event', 'selectionchange')); expect( lastEditingState, EditingState(text: 'foo bar', baseOffset: 4, extentOffset: 6), @@ -261,7 +255,7 @@ Future testMain() async { test('Multi-line mode also works', () { // The textarea element is created lazily. - expect(document.getElementsByTagName('textarea'), hasLength(0)); + expect(domDocument.getElementsByTagName('textarea'), hasLength(0)); editingStrategy!.enable( multilineConfig, onChange: trackEditingState, @@ -278,7 +272,7 @@ Future testMain() async { textarea.value = 'foo\nbar'; textarea.dispatchEvent(createDomEvent('Event', 'input')); textarea.setSelectionRange(4, 6); - document.dispatchEvent(Event.eventType('Event', 'selectionchange')); + domDocument.dispatchEvent(createDomEvent('Event', 'selectionchange')); // Can read textarea state correctly (and preserves new lines). expect( lastEditingState, @@ -302,8 +296,8 @@ Future testMain() async { test('Same instance can be re-enabled with different config', () { // Make sure there's nothing in the DOM yet. - expect(document.getElementsByTagName('input'), hasLength(0)); - expect(document.getElementsByTagName('textarea'), hasLength(0)); + expect(domDocument.getElementsByTagName('input'), hasLength(0)); + expect(domDocument.getElementsByTagName('textarea'), hasLength(0)); // Use single-line config and expect an `` to be created. editingStrategy!.enable( @@ -487,7 +481,7 @@ Future testMain() async { sendFrameworkMessage(codec.encodeMethodCall(setClient)); // Editing shouldn't have started yet. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); const MethodCall show = MethodCall('TextInput.show'); sendFrameworkMessage(codec.encodeMethodCall(show)); @@ -518,7 +512,7 @@ Future testMain() async { sendFrameworkMessage(codec.encodeMethodCall(hide)); // Text editing should've stopped. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); // Confirm that [HybridTextEditing] didn't send any messages. expect(spy.messages, isEmpty); @@ -538,7 +532,7 @@ Future testMain() async { sendFrameworkMessage(codec.encodeMethodCall(setEditingState)); // Editing shouldn't have started yet. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); const MethodCall show = MethodCall('TextInput.show'); sendFrameworkMessage(codec.encodeMethodCall(show)); @@ -558,7 +552,7 @@ Future testMain() async { const MethodCall clearClient = MethodCall('TextInput.clearClient'); sendFrameworkMessage(codec.encodeMethodCall(clearClient)); - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); // Confirm that [HybridTextEditing] didn't send any messages. expect(spy.messages, isEmpty); @@ -580,7 +574,7 @@ Future testMain() async { sendFrameworkMessage(codec.encodeMethodCall(setEditingState)); // Editing shouldn't have started yet. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); // The "setSizeAndTransform" message has to be here before we call // checkInputEditingState, since on some platforms (e.g. Desktop Safari) @@ -879,10 +873,12 @@ Future testMain() async { // Form is added to DOM. expect(defaultTextEditingRoot.querySelectorAll('form'), isNotEmpty); - final FormElement formElement = defaultTextEditingRoot.querySelector('form')! as FormElement; + final DomHTMLFormElement formElement = + defaultTextEditingRoot.querySelector('form')! as DomHTMLFormElement; final Completer submittedForm = Completer(); formElement.addEventListener( - 'submit', (Event event) => submittedForm.complete(true)); + 'submit', allowInterop((DomEvent event) => + submittedForm.complete(true))); const MethodCall clearClient = MethodCall('TextInput.clearClient'); sendFrameworkMessage(codec.encodeMethodCall(clearClient)); @@ -932,10 +928,12 @@ Future testMain() async { // Form is added to DOM. expect(defaultTextEditingRoot.querySelectorAll('form'), isNotEmpty); - final FormElement formElement = defaultTextEditingRoot.querySelector('form')! as FormElement; + final DomHTMLFormElement formElement = + defaultTextEditingRoot.querySelector('form')! as DomHTMLFormElement; final Completer submittedForm = Completer(); formElement.addEventListener( - 'submit', (Event event) => submittedForm.complete(true)); + 'submit', allowInterop((DomEvent event) => + submittedForm.complete(true))); // Clear client is not called. The used requested context to be finalized. const MethodCall finishAutofillContext = @@ -970,7 +968,7 @@ Future testMain() async { sendFrameworkMessage(codec.encodeMethodCall(setEditingState)); // Editing shouldn't have started yet. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); const MethodCall show = MethodCall('TextInput.show'); sendFrameworkMessage(codec.encodeMethodCall(show)); @@ -993,7 +991,7 @@ Future testMain() async { // Receiving another client via setClient should stop editing, hence // should remove the previous active element. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); // Confirm that [HybridTextEditing] didn't send any messages. expect(spy.messages, isEmpty); @@ -1079,7 +1077,8 @@ Future testMain() async { checkInputEditingState( textEditing!.strategy.domElement, 'abcd', 2, 3); - final FormElement formElement = defaultTextEditingRoot.querySelector('form')! as FormElement; + final DomHTMLFormElement formElement = + defaultTextEditingRoot.querySelector('form')! as DomHTMLFormElement; // The form has one input element and one submit button. expect(formElement.childNodes, hasLength(2)); @@ -1123,8 +1122,8 @@ Future testMain() async { Matrix4.translationValues(10.0, 10.0, 10.0).storage.toList()); sendFrameworkMessage(codec.encodeMethodCall(setSizeAndTransform)); - final InputElement inputElement = - textEditing!.strategy.domElement! as InputElement; + final DomHTMLInputElement inputElement = + textEditing!.strategy.domElement! as DomHTMLInputElement; expect(inputElement.value, 'abcd'); if (!(browserEngine == BrowserEngine.webkit && operatingSystem == OperatingSystem.macOs)) { @@ -1202,7 +1201,8 @@ Future testMain() async { checkInputEditingState( textEditing!.strategy.domElement, 'abcd', 2, 3); - final FormElement formElement = defaultTextEditingRoot.querySelector('form')! as FormElement; + final DomHTMLFormElement formElement = + defaultTextEditingRoot.querySelector('form')! as DomHTMLFormElement; // The form has 4 input elements and one submit button. expect(formElement.childNodes, hasLength(5)); @@ -1324,8 +1324,8 @@ Future testMain() async { // Check if the location and styling is correct. expect( domElement.getBoundingClientRect(), - Rectangle.fromPoints(const Point(10.0, 20.0), - const Point(160.0, 70.0))); + createDomRectFromPoints(DomPoint(10.0, 20.0), + DomPoint(160.0, 70.0))); expect(domElement.style.transform, 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 20, 30, 1)'); expect(textEditing!.strategy.domElement!.style.font, @@ -1384,8 +1384,8 @@ Future testMain() async { // Check if the position is correct. expect( domElement.getBoundingClientRect(), - Rectangle.fromPoints( - const Point(10.0, 20.0), const Point(160.0, 70.0)), + createDomRectFromPoints( + DomPoint(10.0, 20.0), DomPoint(160.0, 70.0)), ); expect( domElement.style.transform, @@ -1446,8 +1446,8 @@ Future testMain() async { // Check if the location and styling is correct. expect( domElement.getBoundingClientRect(), - Rectangle.fromPoints(const Point(10.0, 20.0), - const Point(160.0, 70.0))); + createDomRectFromPoints(DomPoint(10.0, 20.0), + DomPoint(160.0, 70.0))); expect(domElement.style.transform, 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 20, 30, 1)'); expect( @@ -1542,10 +1542,11 @@ Future testMain() async { const MethodCall show = MethodCall('TextInput.show'); sendFrameworkMessage(codec.encodeMethodCall(show)); - final InputElement input = textEditing!.strategy.domElement! as InputElement; + final DomHTMLInputElement input = textEditing!.strategy.domElement! as + DomHTMLInputElement; input.value = 'something'; - input.dispatchEvent(Event.eventType('Event', 'input')); + input.dispatchEvent(createDomEvent('Event', 'input')); expect(spy.messages, hasLength(1)); expect(spy.messages[0].channel, 'flutter/textinput'); @@ -1567,10 +1568,10 @@ Future testMain() async { input.setSelectionRange(2, 5); if (browserEngine == BrowserEngine.firefox) { - final Event keyup = KeyboardEvent('keyup'); - textEditing!.strategy.domElement!.dispatchEvent(keyup as DomEvent); + final DomEvent keyup = createDomEvent('Event', 'keyup'); + textEditing!.strategy.domElement!.dispatchEvent(keyup); } else { - document.dispatchEvent(Event.eventType('Event', 'selectionchange')); + domDocument.dispatchEvent(createDomEvent('Event', 'selectionchange')); } expect(spy.messages, hasLength(1)); @@ -1610,19 +1611,20 @@ Future testMain() async { const MethodCall show = MethodCall('TextInput.show'); sendFrameworkMessage(codec.encodeMethodCall(show)); - final InputElement input = textEditing!.strategy.domElement! as InputElement; + final DomHTMLInputElement input = textEditing!.strategy.domElement! as + DomHTMLInputElement; input.value = 'something'; - input.dispatchEvent(Event.eventType('Event', 'input')); + input.dispatchEvent(createDomEvent('Event', 'input')); spy.messages.clear(); input.setSelectionRange(2, 5); if (browserEngine == BrowserEngine.firefox) { - final Event keyup = KeyboardEvent('keyup'); - textEditing!.strategy.domElement!.dispatchEvent(keyup as DomEvent); + final DomEvent keyup = createDomEvent('Event', 'keyup'); + textEditing!.strategy.domElement!.dispatchEvent(keyup); } else { - document.dispatchEvent(Event.eventType('Event', 'selectionchange')); + domDocument.dispatchEvent(createDomEvent('Event', 'selectionchange')); } expect(spy.messages, hasLength(1)); @@ -1693,12 +1695,14 @@ Future testMain() async { checkInputEditingState( textEditing!.strategy.domElement, 'abcd', 2, 3); - final FormElement formElement = defaultTextEditingRoot.querySelector('form')! as FormElement; + final DomHTMLFormElement formElement = + defaultTextEditingRoot.querySelector('form')! as DomHTMLFormElement; // The form has 4 input elements and one submit button. expect(formElement.childNodes, hasLength(5)); // Autofill one of the form elements. - final InputElement element = formElement.childNodes.first as InputElement; + final DomHTMLInputElement element = formElement.childNodes.toList()[0] as + DomHTMLInputElement; if (browserEngine == BrowserEngine.firefox) { expect(element.name, BrowserAutofillHints.instance.flutterToEngine(hintForFirstElement)); @@ -1707,7 +1711,7 @@ Future testMain() async { BrowserAutofillHints.instance.flutterToEngine(hintForFirstElement)); } element.value = 'something'; - element.dispatchEvent(Event.eventType('Event', 'input')); + element.dispatchEvent(createDomEvent('Event', 'input')); expect(spy.messages, hasLength(1)); expect(spy.messages[0].channel, 'flutter/textinput'); @@ -1777,7 +1781,7 @@ Future testMain() async { textEditing!.strategy.domElement! .dispatchEvent(createDomEvent('Event', 'keyup')); } else { - document.dispatchEvent(Event.eventType('Event', 'selectionchange')); + domDocument.dispatchEvent(createDomEvent('Event', 'selectionchange')); } // Two messages should've been sent. One for the 'input' event and one for @@ -1821,7 +1825,7 @@ Future testMain() async { sendFrameworkMessage(codec.encodeMethodCall(hide)); // Text editing should've stopped. - expect(document.activeElement, document.body); + expect(domDocument.activeElement, domDocument.body); // Confirm that [HybridTextEditing] didn't send any more messages. expect(spy.messages, isEmpty); @@ -1997,7 +2001,7 @@ Future testMain() async { expect(firstElement.selectionEnd, 0); // Element is hidden. - final CssStyleDeclaration css = firstElement.style as CssStyleDeclaration; + final DomCSSStyleDeclaration css = firstElement.style; expect(css.color, 'transparent'); expect(css.backgroundColor, 'transparent'); @@ -2041,7 +2045,8 @@ Future testMain() async { final DomHTMLFormElement form = autofillForm.formElement; expect(form.childNodes, hasLength(4)); - final FormElement formOnDom = defaultTextEditingRoot.querySelector('form')! as FormElement; + final DomHTMLFormElement formOnDom = + defaultTextEditingRoot.querySelector('form')! as DomHTMLFormElement; // Form is attached to the DOM. expect(form, equals(formOnDom)); @@ -2068,7 +2073,8 @@ Future testMain() async { final DomHTMLFormElement form = autofillForm.formElement; // Submit button is added to the form. expect(form.childNodes, isNotEmpty); - final InputElement inputElement = form.childNodes.toList()[0] as InputElement; + final DomHTMLInputElement inputElement = form.childNodes.toList()[0] as + DomHTMLInputElement; expect(inputElement.type, 'submit'); // The submit button should have class `submitBtn`. @@ -2231,11 +2237,12 @@ Future testMain() async { }); test('Configure input element from the editing state', () { - final InputElement input = defaultTextEditingRoot.querySelector('input')! as InputElement; + final DomHTMLInputElement input = + defaultTextEditingRoot.querySelector('input')! as DomHTMLInputElement; _editingState = EditingState(text: 'Test', baseOffset: 1, extentOffset: 2); - _editingState.applyToDomElement(input as DomHTMLInputElement); + _editingState.applyToDomElement(input); expect(input.value, 'Test'); expect(input.selectionStart, 1); @@ -2250,12 +2257,12 @@ Future testMain() async { onAction: trackInputAction, ); - final TextAreaElement textArea = - defaultTextEditingRoot.querySelector('textarea')! as TextAreaElement; + final DomHTMLTextAreaElement textArea = + defaultTextEditingRoot.querySelector('textarea')! as DomHTMLTextAreaElement; _editingState = EditingState(text: 'Test', baseOffset: 1, extentOffset: 2); - _editingState.applyToDomElement(textArea as DomHTMLTextAreaElement); + _editingState.applyToDomElement(textArea); expect(textArea.value, 'Test'); expect(textArea.selectionStart, 1); @@ -2263,12 +2270,13 @@ Future testMain() async { }); test('Get Editing State from input element', () { - final InputElement input = defaultTextEditingRoot.querySelector('input')! as InputElement; + final DomHTMLInputElement input = + defaultTextEditingRoot.querySelector('input')! as DomHTMLInputElement; input.value = 'Test'; input.selectionStart = 1; input.selectionEnd = 2; - _editingState = EditingState.fromDomElement(input as DomHTMLInputElement); + _editingState = EditingState.fromDomElement(input); expect(_editingState.text, 'Test'); expect(_editingState.baseOffset, 1); @@ -2283,13 +2291,13 @@ Future testMain() async { onAction: trackInputAction, ); - final TextAreaElement input = defaultTextEditingRoot.querySelector('textarea')! as TextAreaElement; + final DomHTMLTextAreaElement input = + defaultTextEditingRoot.querySelector('textarea')! as DomHTMLTextAreaElement; input.value = 'Test'; input.selectionStart = 1; input.selectionEnd = 2; - _editingState = EditingState.fromDomElement(input as - DomHTMLTextAreaElement); + _editingState = EditingState.fromDomElement(input); expect(_editingState.text, 'Test'); expect(_editingState.baseOffset, 1); @@ -2298,17 +2306,18 @@ Future testMain() async { group('comparing editing states', () { test('From dom element', () { - final InputElement input = defaultTextEditingRoot.querySelector('input')! as InputElement; + final DomHTMLInputElement input = defaultTextEditingRoot.querySelector('input')! + as DomHTMLInputElement; input.value = 'Test'; input.selectionStart = 1; input.selectionEnd = 2; - final EditingState editingState1 = EditingState.fromDomElement(input as DomHTMLInputElement); - final EditingState editingState2 = EditingState.fromDomElement(input as DomHTMLInputElement); + final EditingState editingState1 = EditingState.fromDomElement(input); + final EditingState editingState2 = EditingState.fromDomElement(input); input.setSelectionRange(1, 3); - final EditingState editingState3 = EditingState.fromDomElement(input as DomHTMLInputElement); + final EditingState editingState3 = EditingState.fromDomElement(input); expect(editingState1 == editingState2, isTrue); expect(editingState1 != editingState3, isTrue); @@ -2420,7 +2429,7 @@ DomKeyboardEvent dispatchKeyboardEvent( String type, { required int keyCode, }) { - final Function jsKeyboardEvent = js_util.getProperty(window, 'KeyboardEvent'); + final Function jsKeyboardEvent = js_util.getProperty(domWindow, 'KeyboardEvent'); final List eventArgs = [ type, { diff --git a/lib/web_ui/test/text_test.dart b/lib/web_ui/test/text_test.dart index 2ecf480ac683d..546602ccb5732 100644 --- a/lib/web_ui/test/text_test.dart +++ b/lib/web_ui/test/text_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html'; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -224,8 +222,8 @@ Future testMain() async { final CanvasParagraph paragraph = builder.build() as CanvasParagraph; paragraph.layout(const ParagraphConstraints(width: 800.0)); expect(paragraph.plainText, 'abcdef'); - final List spans = - paragraph.toDomElement().querySelectorAll('flt-span').cast().toList(); + final List spans = + paragraph.toDomElement().querySelectorAll('flt-span').toList(); expect(spans[0].style.fontFamily, 'Ahem, $fallback, sans-serif'); // The nested span here should not set it's family to default sans-serif. expect(spans[1].style.fontFamily, 'Ahem, $fallback, sans-serif'); diff --git a/lib/web_ui/test/title_test.dart b/lib/web_ui/test/title_test.dart index a1839eadb7693..f80556598f5cb 100644 --- a/lib/web_ui/test/title_test.dart +++ b/lib/web_ui/test/title_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:html'; - import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; @@ -22,8 +20,8 @@ void testMain() { ui.debugEmulateFlutterTesterEnvironment = false; // TODO(yjbanov): https://github.com/flutter/flutter/issues/39159 - document.title = ''; - expect(document.title, ''); + domDocument.title = ''; + expect(domDocument.title, ''); ui.window.sendPlatformMessage( 'flutter/platform', @@ -35,7 +33,7 @@ void testMain() { })), null); - expect(document.title, 'Title Test'); + expect(domDocument.title, 'Title Test'); ui.window.sendPlatformMessage( 'flutter/platform', @@ -47,7 +45,7 @@ void testMain() { })), null); - expect(document.title, 'Different title'); + expect(domDocument.title, 'Different title'); }); test('supports null title and primaryColor', () { @@ -55,8 +53,8 @@ void testMain() { ui.debugEmulateFlutterTesterEnvironment = false; // TODO(yjbanov): https://github.com/flutter/flutter/issues/39159 - document.title = 'Something Else'; - expect(document.title, 'Something Else'); + domDocument.title = 'Something Else'; + expect(domDocument.title, 'Something Else'); ui.window.sendPlatformMessage( 'flutter/platform', @@ -68,10 +66,10 @@ void testMain() { })), null); - expect(document.title, ''); + expect(domDocument.title, ''); - document.title = 'Something Else'; - expect(document.title, 'Something Else'); + domDocument.title = 'Something Else'; + expect(domDocument.title, 'Something Else'); ui.window.sendPlatformMessage( 'flutter/platform', @@ -81,7 +79,7 @@ void testMain() { })), null); - expect(document.title, ''); + expect(domDocument.title, ''); }); }); } diff --git a/lib/web_ui/test/window_test.dart b/lib/web_ui/test/window_test.dart index a44eed7e7d96d..f22cf7d6a163a 100644 --- a/lib/web_ui/test/window_test.dart +++ b/lib/web_ui/test/window_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:html' as html; import 'dart:js_util' as js_util; import 'package:test/bootstrap/browser.dart'; @@ -472,7 +471,7 @@ void testMain() { void jsSetUrlStrategy(dynamic strategy) { js_util.callMethod( - html.window, + domWindow, '_flutter_web_set_location_strategy', [strategy], ); diff --git a/shell/common/fixtures/shell_test.dart b/shell/common/fixtures/shell_test.dart index f9d526ae6db45..4aded8ad832b2 100644 --- a/shell/common/fixtures/shell_test.dart +++ b/shell/common/fixtures/shell_test.dart @@ -321,3 +321,26 @@ void scene_with_red_box() { }; PlatformDispatcher.instance.scheduleFrame(); } + + +@pragma('vm:entry-point') +Future toGpuImage() async { + final PictureRecorder recorder = PictureRecorder(); + final Canvas canvas = Canvas(recorder); + canvas.drawPaint(Paint()..color = const Color(0xFFAAAAAA)); + final Picture picture = recorder.endRecording(); + + final Image image = picture.toGpuImage(20, 25); + void expect(Object? a, Object? b) { + if (a != b) { + throw 'Expected $a to == $b'; + } + } + expect(image.width, 20); + expect(image.height, 25); + + final ByteData data = (await image.toByteData())!; + expect(data.lengthInBytes, 20 * 25 * 4); + expect(data.buffer.asUint32List().every((int byte) => byte == 0xFFAAAAAA), true); + notifyNative(); +} diff --git a/shell/common/rasterizer.cc b/shell/common/rasterizer.cc index 077bb33365824..f246d1ceadb3e 100644 --- a/shell/common/rasterizer.cc +++ b/shell/common/rasterizer.cc @@ -28,8 +28,10 @@ namespace flutter { // used within this interval. static constexpr std::chrono::milliseconds kSkiaCleanupExpiration(15000); -Rasterizer::Rasterizer(Delegate& delegate) +Rasterizer::Rasterizer(Delegate& delegate, + MakeGpuImageBehavior gpu_image_behavior) : delegate_(delegate), + gpu_image_behavior_(gpu_image_behavior), compositor_context_(std::make_unique(*this)), user_override_resource_cache_bytes_(false), weak_factory_(this) { @@ -245,6 +247,69 @@ bool Rasterizer::ShouldResubmitFrame(const RasterStatus& raster_status) { raster_status == RasterStatus::kSkipAndRetry; } +namespace { +std::pair, std::string> MakeBitmapImage(SkISize picture_size) { + // Use 16384 as a proxy for the maximum texture size for a GPU image. + // This is meant to be large enough to avoid false positives in test contexts, + // but not so artificially large to be completely unrealistic on any platform. + // This limit is taken from the Metal specification. D3D, Vulkan, and GL + // generally have lower limits. + if (picture_size.width() > 16384 || picture_size.height() > 16384) { + return {nullptr, "unable to create render target at specified size"}; + } + SkBitmap bitmap; + if (!bitmap.tryAllocN32Pixels(picture_size.width(), picture_size.height())) { + return {nullptr, "unable to create render target at specified size"}; + } + bitmap.eraseColor(SK_ColorLTGRAY); + uint32_t half_width = std::floor(picture_size.width() / 2); + uint32_t half_height = std::floor(picture_size.height() / 2); + bitmap.erase(SK_ColorWHITE, SkIRect::MakeLTRB(0, 0, half_width, half_height)); + bitmap.erase(SK_ColorWHITE, + SkIRect::MakeLTRB(half_width, half_height, picture_size.width(), + picture_size.height())); + bitmap.setImmutable(); + return {bitmap.asImage(), ""}; +} +} // namespace + +std::pair, std::string> Rasterizer::MakeGpuImage( + sk_sp display_list, + SkISize picture_size) { + TRACE_EVENT0("flutter", "Rasterizer::MakeGpuImage"); + FML_DCHECK(display_list); + + switch (gpu_image_behavior_) { + case MakeGpuImageBehavior::kGpu: + break; + case MakeGpuImageBehavior::kBitmap: + return MakeBitmapImage(picture_size); + } + + if (!surface_) { + return {nullptr, "GPU surface unavilable"}; + } + + auto* context = surface_->GetContext(); + if (!context) { + return {nullptr, "GPU context unavailable"}; + } + + const SkImageInfo image_info = SkImageInfo::MakeN32Premul(picture_size); + sk_sp surface = + SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, image_info); + if (!surface) { + return {nullptr, "unable to create render target at specified size"}; + } + + SkCanvas* canvas = surface->getCanvas(); + canvas->clear(SK_ColorTRANSPARENT); + display_list->RenderTo(canvas); + + sk_sp image = surface->makeImageSnapshot(); + return {image, image ? "" : "Unable to create image"}; +} + namespace { sk_sp DrawSnapshot( sk_sp surface, diff --git a/shell/common/rasterizer.h b/shell/common/rasterizer.h index 1979c1db3c284..425b8214e5bd4 100644 --- a/shell/common/rasterizer.h +++ b/shell/common/rasterizer.h @@ -25,6 +25,7 @@ #include "flutter/lib/ui/snapshot_delegate.h" #include "flutter/shell/common/pipeline.h" #include "flutter/shell/common/snapshot_surface_producer.h" +#include "third_party/skia/include/core/SkImage.h" namespace flutter { @@ -98,6 +99,16 @@ class Rasterizer final : public SnapshotDelegate, const = 0; }; + //---------------------------------------------------------------------------- + /// @brief How to handle calls to MakeGpuImage. + enum class MakeGpuImageBehavior { + /// MakeGpuImage returns a GPU resident image, if possible. + kGpu, + /// MakeGpuImage returns a checkerboard bitmap. This is useful in test + /// contexts where no GPU surface is available. + kBitmap, + }; + //---------------------------------------------------------------------------- /// @brief Creates a new instance of a rasterizer. Rasterizers may only /// be created on the raster task runner. Rasterizers are @@ -105,8 +116,12 @@ class Rasterizer final : public SnapshotDelegate, /// as the rasterizer delegate). /// /// @param[in] delegate The rasterizer delegate. + /// @param[in] gpu_image_behavior How to handle calls to + /// MakeGpuImage. /// - explicit Rasterizer(Delegate& delegate); + explicit Rasterizer( + Delegate& delegate, + MakeGpuImageBehavior gpu_image_behavior = MakeGpuImageBehavior::kGpu); //---------------------------------------------------------------------------- /// @brief Destroys the rasterizer. This must happen on the raster task @@ -454,6 +469,11 @@ class Rasterizer final : public SnapshotDelegate, void DisableThreadMergerIfNeeded(); private: + // |SnapshotDelegate| + std::pair, std::string> MakeGpuImage( + sk_sp display_list, + SkISize picture_size) override; + // |SnapshotDelegate| sk_sp MakeRasterSnapshot( std::function draw_callback, @@ -498,6 +518,7 @@ class Rasterizer final : public SnapshotDelegate, static bool ShouldResubmitFrame(const RasterStatus& raster_status); Delegate& delegate_; + MakeGpuImageBehavior gpu_image_behavior_; std::unique_ptr surface_; std::unique_ptr snapshot_surface_producer_; std::unique_ptr compositor_context_; diff --git a/shell/common/shell_unittests.cc b/shell/common/shell_unittests.cc index 18737e57f6d6f..9c7de893b4a98 100644 --- a/shell/common/shell_unittests.cc +++ b/shell/common/shell_unittests.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "include/core/SkMatrix.h" #define FML_USED_ON_EMBEDDER #include @@ -13,6 +14,7 @@ #include "assets/directory_asset_bundle.h" #include "common/graphics/persistent_cache.h" #include "flutter/flow/layers/display_list_layer.h" +#include "flutter/flow/layers/layer_raster_cache_item.h" #include "flutter/flow/layers/transform_layer.h" #include "flutter/fml/command_line.h" #include "flutter/fml/dart/dart_converter.h" @@ -2370,8 +2372,10 @@ TEST_F(ShellTest, OnServiceProtocolEstimateRasterCacheMemoryWorks) { // 2. Rasterize the picture and the picture layer in the raster cache. std::promise rasterized; + shell->GetTaskRunners().GetRasterTaskRunner()->PostTask( [&shell, &rasterized, &display_list, &display_list_layer] { + std::vector raster_cache_items; auto* compositor_context = shell->GetRasterizer()->compositor_context(); auto& raster_cache = compositor_context->raster_cache(); @@ -2379,9 +2383,26 @@ TEST_F(ShellTest, OnServiceProtocolEstimateRasterCacheMemoryWorks) { FixedRefreshRateStopwatch ui_time; MutatorsStack mutators_stack; TextureRegistry texture_registry; + PaintContext paint_context = { + // clang-format off + .internal_nodes_canvas = nullptr, + .leaf_nodes_canvas = nullptr, + .gr_context = nullptr, + .dst_color_space = nullptr, + .view_embedder = nullptr, + .raster_time = raster_time, + .ui_time = ui_time, + .texture_registry = texture_registry, + .raster_cache = &raster_cache, + .checkerboard_offscreen_layers = false, + .frame_device_pixel_ratio = 1.0f, + .inherited_opacity = SK_Scalar1, + // clang-format on + }; + PrerollContext preroll_context = { // clang-format off - .raster_cache = nullptr, + .raster_cache = &raster_cache, .gr_context = nullptr, .view_embedder = nullptr, .mutators_stack = mutators_stack, @@ -2394,25 +2415,38 @@ TEST_F(ShellTest, OnServiceProtocolEstimateRasterCacheMemoryWorks) { .checkerboard_offscreen_layers = false, .frame_device_pixel_ratio = 1.0f, .has_platform_view = false, + .has_texture_layer = false, + .raster_cached_entries = &raster_cache_items, // clang-format on }; // 2.1. Rasterize the picture. Call Draw multiple times to pass the // access threshold (default to 3) so a cache can be generated. SkCanvas dummy_canvas; + SkPaint paint; bool picture_cache_generated; + DisplayListRasterCacheItem display_list_raster_cache_item( + display_list.get(), SkPoint(), true, false); for (int i = 0; i < 4; i += 1) { SkMatrix matrix = SkMatrix::I(); - - picture_cache_generated = raster_cache.Prepare( - &preroll_context, display_list.get(), true, false, matrix); - raster_cache.Draw(*display_list, dummy_canvas); + display_list_raster_cache_item.PrerollSetup(&preroll_context, matrix); + display_list_raster_cache_item.PrerollFinalize(&preroll_context, + matrix); + picture_cache_generated = + display_list_raster_cache_item.need_caching(); + display_list_raster_cache_item.TryToPrepareRasterCache(paint_context); + display_list_raster_cache_item.Draw(paint_context, &dummy_canvas, + &paint); } ASSERT_TRUE(picture_cache_generated); // 2.2. Rasterize the picture layer. - raster_cache.Prepare(&preroll_context, display_list_layer.get(), - SkMatrix::I()); + LayerRasterCacheItem layer_raster_cache_item(display_list_layer.get()); + layer_raster_cache_item.PrerollSetup(&preroll_context, SkMatrix::I()); + layer_raster_cache_item.PrerollFinalize(&preroll_context, + SkMatrix::I()); + layer_raster_cache_item.TryToPrepareRasterCache(paint_context); + layer_raster_cache_item.Draw(paint_context, &dummy_canvas, &paint); rasterized.set_value(true); }); rasterized.get_future().wait(); @@ -3720,6 +3754,40 @@ TEST_F(ShellTest, SpawnWorksWithOnError) { ASSERT_FALSE(DartVMRef::IsInstanceRunning()); } +TEST_F(ShellTest, PictureToGpuImage) { +#if !SHELL_ENABLE_GL + // GL emulation does not exist on Fuchsia. + GTEST_SKIP(); +#endif // !SHELL_ENABLE_GL + auto settings = CreateSettingsForFixture(); + std::unique_ptr shell = + CreateShell(settings, // + GetTaskRunnersForFixture(), // + false, // + nullptr, // + false, // + ShellTestPlatformView::BackendType::kGLBackend // + ); + + fml::AutoResetWaitableEvent latch; + AddNativeCallback("NotifyNative", CREATE_NATIVE_ENTRY([&latch](auto args) { + latch.Signal(); + })); + + ASSERT_NE(shell, nullptr); + ASSERT_TRUE(shell->IsSetup()); + auto configuration = RunConfiguration::InferFromSettings(settings); + PlatformViewNotifyCreated(shell.get()); + configuration.SetEntrypoint("toGpuImage"); + RunEngine(shell.get(), std::move(configuration)); + PumpOneFrame(shell.get()); + + latch.Wait(); + + PlatformViewNotifyDestroyed(shell.get()); + DestroyShell(std::move(shell)); +} + } // namespace testing } // namespace flutter diff --git a/shell/gpu/gpu_surface_metal_skia.h b/shell/gpu/gpu_surface_metal_skia.h index d2518df8db460..1628b60098c95 100644 --- a/shell/gpu/gpu_surface_metal_skia.h +++ b/shell/gpu/gpu_surface_metal_skia.h @@ -38,6 +38,7 @@ class SK_API_AVAILABLE_CA_METAL_LAYER GPUSurfaceMetalSkia : public Surface { // hack to make avoid allocating resources for the root surface when an // external view embedder is present. bool render_to_surface_ = true; + bool disable_partial_repaint_ = false; // Accumulated damage for each framebuffer; Key is address of underlying // MTLTexture for each drawable diff --git a/shell/gpu/gpu_surface_metal_skia.mm b/shell/gpu/gpu_surface_metal_skia.mm index f308948c2b6d6..9ebe7f17c8ed2 100644 --- a/shell/gpu/gpu_surface_metal_skia.mm +++ b/shell/gpu/gpu_surface_metal_skia.mm @@ -54,7 +54,14 @@ render_target_type_(delegate->GetRenderTargetType()), context_(std::move(context)), msaa_samples_(msaa_samples), - render_to_surface_(render_to_surface) {} + render_to_surface_(render_to_surface) { + // If this preference is explicitly set, we allow for disabling partial repaint. + NSNumber* disablePartialRepaint = + [[NSBundle mainBundle] objectForInfoDictionaryKey:@"FLTDisablePartialRepaint"]; + if (disablePartialRepaint != nil) { + disable_partial_repaint_ = disablePartialRepaint.boolValue; + } +} GPUSurfaceMetalSkia::~GPUSurfaceMetalSkia() = default; @@ -149,17 +156,19 @@ canvas->flush(); } - uintptr_t texture = reinterpret_cast(drawable.get().texture); - for (auto& entry : damage_) { - if (entry.first != texture) { - // Accumulate damage for other framebuffers - if (surface_frame.submit_info().frame_damage) { - entry.second.join(*surface_frame.submit_info().frame_damage); + if (!disable_partial_repaint_) { + uintptr_t texture = reinterpret_cast(drawable.get().texture); + for (auto& entry : damage_) { + if (entry.first != texture) { + // Accumulate damage for other framebuffers + if (surface_frame.submit_info().frame_damage) { + entry.second.join(*surface_frame.submit_info().frame_damage); + } } } + // Reset accumulated damage for current framebuffer + damage_[texture] = SkIRect::MakeEmpty(); } - // Reset accumulated damage for current framebuffer - damage_[texture] = SkIRect::MakeEmpty(); return delegate_->PresentDrawable(drawable); }; @@ -167,14 +176,17 @@ SurfaceFrame::FramebufferInfo framebuffer_info; framebuffer_info.supports_readback = true; - // Provide accumulated damage to rasterizer (area in current framebuffer that lags behind - // front buffer) - uintptr_t texture = reinterpret_cast(drawable.get().texture); - auto i = damage_.find(texture); - if (i != damage_.end()) { - framebuffer_info.existing_damage = i->second; + if (!disable_partial_repaint_) { + // Provide accumulated damage to rasterizer (area in current framebuffer that lags behind + // front buffer) + uintptr_t texture = reinterpret_cast(drawable.get().texture); + auto i = damage_.find(texture); + if (i != damage_.end()) { + framebuffer_info.existing_damage = i->second; + } + framebuffer_info.supports_partial_repaint = true; } - framebuffer_info.supports_partial_repaint = true; + return std::make_unique(std::move(surface), framebuffer_info, submit_callback); } diff --git a/shell/platform/android/BUILD.gn b/shell/platform/android/BUILD.gn index 84827f4610e77..c727e4f34371f 100644 --- a/shell/platform/android/BUILD.gn +++ b/shell/platform/android/BUILD.gn @@ -288,6 +288,7 @@ android_java_sources = [ "io/flutter/plugin/platform/PlatformViewsController.java", "io/flutter/plugin/platform/SingleViewPresentation.java", "io/flutter/plugin/platform/VirtualDisplayController.java", + "io/flutter/util/HandlerCompat.java", "io/flutter/util/PathUtils.java", "io/flutter/util/Preconditions.java", "io/flutter/util/Predicate.java", diff --git a/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java b/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java index 4ee757ac019a5..93baa6e6b90bc 100644 --- a/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java +++ b/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java @@ -71,6 +71,11 @@ private static final String PLUGINS_RESTORATION_BUNDLE_KEY = "plugins"; private static final int FLUTTER_SPLASH_VIEW_FALLBACK_ID = 486947586; + /** Factory to obtain a FlutterActivityAndFragmentDelegate instance. */ + public interface DelegateFactory { + FlutterActivityAndFragmentDelegate createDelegate(FlutterActivityAndFragmentDelegate.Host host); + } + // The FlutterActivity or FlutterFragment that is delegating most of its calls // to this FlutterActivityAndFragmentDelegate. @NonNull private Host host; diff --git a/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java b/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java index b9ea5ec21f035..4b0b11e0b2bd0 100644 --- a/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java +++ b/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java @@ -94,7 +94,9 @@ * Activity}, as well as forwarding lifecycle calls from an {@code Activity} or a {@code Fragment}. */ public class FlutterFragment extends Fragment - implements FlutterActivityAndFragmentDelegate.Host, ComponentCallbacks2 { + implements FlutterActivityAndFragmentDelegate.Host, + ComponentCallbacks2, + FlutterActivityAndFragmentDelegate.DelegateFactory { /** * The ID of the {@code FlutterView} created by this activity. * @@ -732,6 +734,14 @@ public T build() { // implementation for details about why it exists. @VisibleForTesting @Nullable /* package */ FlutterActivityAndFragmentDelegate delegate; + @NonNull private FlutterActivityAndFragmentDelegate.DelegateFactory delegateFactory = this; + + /** Default delegate factory that creates a simple FlutterActivityAndFragmentDelegate instance. */ + public FlutterActivityAndFragmentDelegate createDelegate( + FlutterActivityAndFragmentDelegate.Host host) { + return new FlutterActivityAndFragmentDelegate(host); + } + private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(true) { @Override @@ -757,8 +767,10 @@ public FlutterFragment() { // TODO(mattcarroll): remove this when tests allow for it // (https://github.com/flutter/flutter/issues/43798) @VisibleForTesting - /* package */ void setDelegate(@NonNull FlutterActivityAndFragmentDelegate delegate) { - this.delegate = delegate; + /* package */ void setDelegateFactory( + @NonNull FlutterActivityAndFragmentDelegate.DelegateFactory delegateFactory) { + this.delegateFactory = delegateFactory; + delegate = delegateFactory.createDelegate(this); } /** @@ -773,11 +785,12 @@ public ExclusiveAppComponent getExclusiveAppComponent() { @Override public void onAttach(@NonNull Context context) { super.onAttach(context); - delegate = new FlutterActivityAndFragmentDelegate(this); + delegate = delegateFactory.createDelegate(this); delegate.onAttach(context); if (getArguments().getBoolean(ARG_SHOULD_AUTOMATICALLY_HANDLE_ON_BACK_PRESSED, false)) { requireActivity().getOnBackPressedDispatcher().addCallback(this, onBackPressedCallback); } + context.registerComponentCallbacks(this); } @Override @@ -873,6 +886,7 @@ public void detachFromFlutterEngine() { @Override public void onDetach() { + getContext().unregisterComponentCallbacks(this); super.onDetach(); if (delegate != null) { delegate.onDetach(); diff --git a/shell/platform/android/io/flutter/embedding/android/FlutterView.java b/shell/platform/android/io/flutter/embedding/android/FlutterView.java index da32f3205b23c..f63e899b4e8c9 100644 --- a/shell/platform/android/io/flutter/embedding/android/FlutterView.java +++ b/shell/platform/android/io/flutter/embedding/android/FlutterView.java @@ -1210,7 +1210,6 @@ public void attachToFlutterEngine(@NonNull FlutterEngine flutterEngine) { false, systemSettingsObserver); - localizationPlugin.sendLocalesToFlutter(getResources().getConfiguration()); sendViewportMetricsToFlutter(); flutterEngine.getPlatformViewsController().attachToView(this); diff --git a/shell/platform/android/io/flutter/embedding/engine/FlutterEngine.java b/shell/platform/android/io/flutter/embedding/engine/FlutterEngine.java index 518e18c733d26..708e3f4a8c241 100644 --- a/shell/platform/android/io/flutter/embedding/engine/FlutterEngine.java +++ b/shell/platform/android/io/flutter/embedding/engine/FlutterEngine.java @@ -349,6 +349,8 @@ public FlutterEngine( this.pluginRegistry = new FlutterEngineConnectionRegistry(context.getApplicationContext(), this, flutterLoader); + localizationPlugin.sendLocalesToFlutter(context.getResources().getConfiguration()); + // Only automatically register plugins if both constructor parameter and // loaded AndroidManifest config turn this feature on. if (automaticallyRegisterPlugins && flutterLoader.automaticallyRegisterPlugins()) { diff --git a/shell/platform/android/io/flutter/embedding/engine/dart/PlatformTaskQueue.java b/shell/platform/android/io/flutter/embedding/engine/dart/PlatformTaskQueue.java index e90ab89e62223..82d022a43907d 100644 --- a/shell/platform/android/io/flutter/embedding/engine/dart/PlatformTaskQueue.java +++ b/shell/platform/android/io/flutter/embedding/engine/dart/PlatformTaskQueue.java @@ -7,10 +7,13 @@ import android.os.Handler; import android.os.Looper; import androidx.annotation.NonNull; +import io.flutter.util.HandlerCompat; /** A BinaryMessenger.TaskQueue that posts to the platform thread (aka main thread). */ public class PlatformTaskQueue implements DartMessenger.DartMessengerTaskQueue { - @NonNull private final Handler handler = new Handler(Looper.getMainLooper()); + // Use an async handler because the default is subject to vsync synchronization and can result + // in delays when dispatching tasks. + @NonNull private final Handler handler = HandlerCompat.createAsyncHandler(Looper.getMainLooper()); @Override public void dispatch(@NonNull Runnable runnable) { diff --git a/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java b/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java index 629984600d758..b09be89e4b57f 100644 --- a/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java +++ b/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java @@ -23,6 +23,7 @@ import io.flutter.FlutterInjector; import io.flutter.Log; import io.flutter.embedding.engine.FlutterJNI; +import io.flutter.util.HandlerCompat; import io.flutter.util.PathUtils; import io.flutter.util.TraceSection; import io.flutter.view.VsyncWaiter; @@ -385,7 +386,7 @@ public void ensureInitializationCompleteAsync( Log.e(TAG, "Flutter initialization failed.", e); throw new RuntimeException(e); } - new Handler(Looper.getMainLooper()) + HandlerCompat.createAsyncHandler(Looper.getMainLooper()) .post( () -> { ensureInitializationComplete(applicationContext.getApplicationContext(), args); diff --git a/shell/platform/android/io/flutter/util/HandlerCompat.java b/shell/platform/android/io/flutter/util/HandlerCompat.java new file mode 100644 index 0000000000000..de391419a9abd --- /dev/null +++ b/shell/platform/android/io/flutter/util/HandlerCompat.java @@ -0,0 +1,35 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package io.flutter.util; + +import android.os.Build; +import android.os.Handler; +import android.os.Looper; + +/** Compatability wrapper over {@link Handler}. */ +public final class HandlerCompat { + /** + * Create a new Handler whose posted messages and runnables are not subject to synchronization + * barriers such as display vsync. + * + *

Messages sent to an async handler are guaranteed to be ordered with respect to one another, + * but not necessarily with respect to messages from other Handlers. Compatibility behavior: + * + *

    + *
  • SDK 28 and above, this method matches platform behavior. + *
  • Otherwise, returns a synchronous handler instance. + *
+ * + * @param looper the Looper that the new Handler should be bound to + * @return a new async Handler instance + * @see Handler#createAsync(Looper) + */ + public static Handler createAsyncHandler(Looper looper) { + if (Build.VERSION.SDK_INT >= 28) { + return Handler.createAsync(looper); + } + return new Handler(looper); + } +} diff --git a/shell/platform/android/test/io/flutter/embedding/android/FlutterFragmentTest.java b/shell/platform/android/test/io/flutter/embedding/android/FlutterFragmentTest.java index 402d3dbcb18ce..33b7b25504c4f 100644 --- a/shell/platform/android/test/io/flutter/embedding/android/FlutterFragmentTest.java +++ b/shell/platform/android/test/io/flutter/embedding/android/FlutterFragmentTest.java @@ -6,9 +6,11 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -36,10 +38,25 @@ public class FlutterFragmentTest { private final Context ctx = ApplicationProvider.getApplicationContext(); boolean isDelegateAttached; + class TestDelegateFactory implements FlutterActivityAndFragmentDelegate.DelegateFactory { + FlutterActivityAndFragmentDelegate delegate; + + TestDelegateFactory(FlutterActivityAndFragmentDelegate delegate) { + this.delegate = delegate; + } + + public FlutterActivityAndFragmentDelegate createDelegate( + FlutterActivityAndFragmentDelegate.Host host) { + return delegate; + } + } + @Test public void itCreatesDefaultFragmentWithExpectedDefaults() { FlutterFragment fragment = FlutterFragment.createDefault(); - fragment.setDelegate(new FlutterActivityAndFragmentDelegate(fragment)); + TestDelegateFactory delegateFactory = + new TestDelegateFactory(new FlutterActivityAndFragmentDelegate(fragment)); + fragment.setDelegateFactory(delegateFactory); assertEquals("main", fragment.getDartEntrypointFunctionName()); assertNull(fragment.getDartEntrypointLibraryUri()); @@ -68,7 +85,9 @@ public void itCreatesNewEngineFragmentWithRequestedSettings() { .renderMode(RenderMode.texture) .transparencyMode(TransparencyMode.opaque) .build(); - fragment.setDelegate(new FlutterActivityAndFragmentDelegate(fragment)); + TestDelegateFactory delegateFactory = + new TestDelegateFactory(new FlutterActivityAndFragmentDelegate(fragment)); + fragment.setDelegateFactory(delegateFactory); assertEquals("custom_entrypoint", fragment.getDartEntrypointFunctionName()); assertEquals("package:foo/bar.dart", fragment.getDartEntrypointLibraryUri()); @@ -127,6 +146,7 @@ public void itCreatesCachedEngineFragmentThatDelaysFirstDrawWhenRequested() { public void itCanBeDetachedFromTheEngineAndStopSendingFurtherEvents() { FlutterActivityAndFragmentDelegate mockDelegate = mock(FlutterActivityAndFragmentDelegate.class); + TestDelegateFactory delegateFactory = new TestDelegateFactory(mockDelegate); FlutterFragment fragment = FlutterFragment.withCachedEngine("my_cached_engine") .destroyEngineWithFragment(true) @@ -136,7 +156,7 @@ public void itCanBeDetachedFromTheEngineAndStopSendingFurtherEvents() { when(mockDelegate.isAttached()).thenAnswer(invocation -> isDelegateAttached); doAnswer(invocation -> isDelegateAttached = false).when(mockDelegate).onDetach(); - fragment.setDelegate(mockDelegate); + fragment.setDelegateFactory(delegateFactory); fragment.onStart(); fragment.onResume(); fragment.onPostResume(); @@ -175,13 +195,14 @@ public void itDoesNotReleaseEnginewhenDetachFromFlutterEngine() { isDelegateAttached = true; when(mockDelegate.isAttached()).thenAnswer(invocation -> isDelegateAttached); doAnswer(invocation -> isDelegateAttached = false).when(mockDelegate).onDetach(); + TestDelegateFactory delegateFactory = new TestDelegateFactory(mockDelegate); FlutterFragment fragment = FlutterFragment.withCachedEngine("my_cached_engine") .destroyEngineWithFragment(true) .build(); - fragment.setDelegate(mockDelegate); + fragment.setDelegateFactory(delegateFactory); fragment.onStart(); fragment.onResume(); fragment.onPostResume(); @@ -201,13 +222,16 @@ public void itReleaseEngineWhenOnDetach() { isDelegateAttached = true; when(mockDelegate.isAttached()).thenAnswer(invocation -> isDelegateAttached); doAnswer(invocation -> isDelegateAttached = false).when(mockDelegate).onDetach(); + TestDelegateFactory delegateFactory = new TestDelegateFactory(mockDelegate); FlutterFragment fragment = - FlutterFragment.withCachedEngine("my_cached_engine") - .destroyEngineWithFragment(true) - .build(); + spy( + FlutterFragment.withCachedEngine("my_cached_engine") + .destroyEngineWithFragment(true) + .build()); + when(fragment.getContext()).thenReturn(mock(Context.class)); - fragment.setDelegate(mockDelegate); + fragment.setDelegateFactory(delegateFactory); fragment.onStart(); fragment.onResume(); fragment.onPostResume(); @@ -224,7 +248,8 @@ public void itReleaseEngineWhenOnDetach() { public void itReturnsExclusiveAppComponent() { FlutterFragment fragment = FlutterFragment.createDefault(); FlutterActivityAndFragmentDelegate delegate = new FlutterActivityAndFragmentDelegate(fragment); - fragment.setDelegate(delegate); + TestDelegateFactory delegateFactory = new TestDelegateFactory(delegate); + fragment.setDelegateFactory(delegateFactory); assertEquals(fragment.getExclusiveAppComponent(), delegate); } @@ -255,7 +280,8 @@ public void itDelegatesOnBackPressedAutomaticallyWhenEnabled() { isDelegateAttached = true; when(mockDelegate.isAttached()).thenAnswer(invocation -> isDelegateAttached); doAnswer(invocation -> isDelegateAttached = false).when(mockDelegate).onDetach(); - fragment.setDelegate(mockDelegate); + TestDelegateFactory delegateFactory = new TestDelegateFactory(mockDelegate); + fragment.setDelegateFactory(delegateFactory); activity.onBackPressed(); @@ -294,11 +320,43 @@ public void handleOnBackPressed() { FlutterActivityAndFragmentDelegate mockDelegate = mock(FlutterActivityAndFragmentDelegate.class); - fragment.setDelegate(mockDelegate); + TestDelegateFactory delegateFactory = new TestDelegateFactory(mockDelegate); + fragment.setDelegateFactory(delegateFactory); assertTrue(fragment.popSystemNavigator()); verify(mockDelegate, never()).onBackPressed(); assertTrue(onBackPressedCalled.get()); } + + @Test + public void itRegistersComponentCallbacks() { + FlutterActivityAndFragmentDelegate mockDelegate = + mock(FlutterActivityAndFragmentDelegate.class); + isDelegateAttached = true; + when(mockDelegate.isAttached()).thenAnswer(invocation -> isDelegateAttached); + doAnswer(invocation -> isDelegateAttached = false).when(mockDelegate).onDetach(); + TestDelegateFactory delegateFactory = new TestDelegateFactory(mockDelegate); + + Context spyCtx = spy(ctx); + // We need to mock FlutterJNI to avoid triggering native code. + FlutterJNI flutterJNI = mock(FlutterJNI.class); + when(flutterJNI.isAttached()).thenReturn(true); + + FlutterEngine flutterEngine = + new FlutterEngine(spyCtx, new FlutterLoader(), flutterJNI, null, false); + FlutterEngineCache.getInstance().put("my_cached_engine", flutterEngine); + + FlutterFragment fragment = spy(FlutterFragment.withCachedEngine("my_cached_engine").build()); + when(fragment.getContext()).thenReturn(spyCtx); + fragment.setDelegateFactory(delegateFactory); + + fragment.onAttach(spyCtx); + verify(spyCtx, times(1)).registerComponentCallbacks(any()); + verify(spyCtx, never()).unregisterComponentCallbacks(any()); + + fragment.onDetach(); + verify(spyCtx, times(1)).registerComponentCallbacks(any()); + verify(spyCtx, times(1)).unregisterComponentCallbacks(any()); + } } diff --git a/shell/platform/android/test/io/flutter/embedding/engine/FlutterEngineTest.java b/shell/platform/android/test/io/flutter/embedding/engine/FlutterEngineTest.java index 98a8e37757bdb..308ab1d07cf56 100644 --- a/shell/platform/android/test/io/flutter/embedding/engine/FlutterEngineTest.java +++ b/shell/platform/android/test/io/flutter/embedding/engine/FlutterEngineTest.java @@ -7,6 +7,8 @@ import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -15,6 +17,9 @@ import android.content.Context; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.os.LocaleList; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import io.flutter.FlutterInjector; @@ -41,12 +46,20 @@ @RunWith(AndroidJUnit4.class) public class FlutterEngineTest { private final Context ctx = ApplicationProvider.getApplicationContext(); + private final Context mockContext = mock(Context.class); @Mock FlutterJNI flutterJNI; boolean jniAttached; @Before public void setUp() { MockitoAnnotations.openMocks(this); + + Resources mockResources = mock(Resources.class); + Configuration mockConfiguration = mock(Configuration.class); + doReturn(mockResources).when(mockContext).getResources(); + doReturn(mockConfiguration).when(mockResources).getConfiguration(); + doReturn(LocaleList.getEmptyLocaleList()).when(mockConfiguration).getLocales(); + jniAttached = false; when(flutterJNI.isAttached()).thenAnswer(invocation -> jniAttached); doAnswer( @@ -82,6 +95,20 @@ public void itAutomaticallyRegistersPluginsByDefault() { assertEquals(flutterEngine, registeredEngines.get(0)); } + @Test + public void itSendLocalesOnEngineInit() { + FlutterJNI mockFlutterJNI = mock(FlutterJNI.class); + when(mockFlutterJNI.isAttached()).thenReturn(true); + + assertTrue(GeneratedPluginRegistrant.getRegisteredEngines().isEmpty()); + FlutterLoader mockFlutterLoader = mock(FlutterLoader.class); + when(mockFlutterLoader.automaticallyRegisterPlugins()).thenReturn(true); + FlutterEngine flutterEngine = new FlutterEngine(ctx, mockFlutterLoader, mockFlutterJNI); + + verify(mockFlutterJNI, times(1)) + .dispatchPlatformMessage(eq("flutter/localization"), any(), anyInt(), anyInt()); + } + // Helps show the root cause of MissingPluginException type errors like // https://github.com/flutter/flutter/issues/78625. @Test @@ -194,36 +221,34 @@ public void itNotifiesPlatformViewsControllerAboutJNILifecycle() { @Test public void itUsesApplicationContext() throws NameNotFoundException { - Context context = mock(Context.class); Context packageContext = mock(Context.class); - when(context.createPackageContext(any(), anyInt())).thenReturn(packageContext); + when(mockContext.createPackageContext(any(), anyInt())).thenReturn(packageContext); new FlutterEngine( - context, + mockContext, mock(FlutterLoader.class), flutterJNI, /*dartVmArgs=*/ new String[] {}, /*automaticallyRegisterPlugins=*/ false); - verify(context, atLeast(1)).getApplicationContext(); + verify(mockContext, atLeast(1)).getApplicationContext(); } @Test public void itUsesPackageContextForAssetManager() throws NameNotFoundException { - Context context = mock(Context.class); Context packageContext = mock(Context.class); - when(context.createPackageContext(any(), anyInt())).thenReturn(packageContext); + when(mockContext.createPackageContext(any(), anyInt())).thenReturn(packageContext); new FlutterEngine( - context, + mockContext, mock(FlutterLoader.class), flutterJNI, /*dartVmArgs=*/ new String[] {}, /*automaticallyRegisterPlugins=*/ false); verify(packageContext, atLeast(1)).getAssets(); - verify(context, times(0)).getAssets(); + verify(mockContext, times(0)).getAssets(); } @Test @@ -232,7 +257,6 @@ public void itCanUseFlutterLoaderInjectionViaFlutterInjector() throws NameNotFou FlutterLoader mockFlutterLoader = mock(FlutterLoader.class); FlutterInjector.setInstance( new FlutterInjector.Builder().setFlutterLoader(mockFlutterLoader).build()); - Context mockContext = mock(Context.class); Context packageContext = mock(Context.class); when(mockContext.createPackageContext(any(), anyInt())).thenReturn(packageContext); @@ -246,14 +270,13 @@ public void itCanUseFlutterLoaderInjectionViaFlutterInjector() throws NameNotFou @Test public void itNotifiesListenersForDestruction() throws NameNotFoundException { - Context context = mock(Context.class); Context packageContext = mock(Context.class); - when(context.createPackageContext(any(), anyInt())).thenReturn(packageContext); + when(mockContext.createPackageContext(any(), anyInt())).thenReturn(packageContext); FlutterEngine engineUnderTest = new FlutterEngine( - context, + mockContext, mock(FlutterLoader.class), flutterJNI, /*dartVmArgs=*/ new String[] {}, @@ -267,15 +290,14 @@ public void itNotifiesListenersForDestruction() throws NameNotFoundException { @Test public void itDoesNotAttachAgainWhenBuiltWithAnAttachedJNI() throws NameNotFoundException { - Context context = mock(Context.class); Context packageContext = mock(Context.class); - when(context.createPackageContext(any(), anyInt())).thenReturn(packageContext); + when(mockContext.createPackageContext(any(), anyInt())).thenReturn(packageContext); when(flutterJNI.isAttached()).thenReturn(true); FlutterEngine engineUnderTest = new FlutterEngine( - context, + mockContext, mock(FlutterLoader.class), flutterJNI, /*dartVmArgs=*/ new String[] {}, @@ -286,15 +308,14 @@ public void itDoesNotAttachAgainWhenBuiltWithAnAttachedJNI() throws NameNotFound @Test public void itComesWithARunningDartExecutorIfJNIIsAlreadyAttached() throws NameNotFoundException { - Context context = mock(Context.class); Context packageContext = mock(Context.class); - when(context.createPackageContext(any(), anyInt())).thenReturn(packageContext); + when(mockContext.createPackageContext(any(), anyInt())).thenReturn(packageContext); when(flutterJNI.isAttached()).thenReturn(true); FlutterEngine engineUnderTest = new FlutterEngine( - context, + mockContext, mock(FlutterLoader.class), flutterJNI, /*dartVmArgs=*/ new String[] {}, diff --git a/shell/platform/android/test/io/flutter/util/HandlerCompatTest.java b/shell/platform/android/test/io/flutter/util/HandlerCompatTest.java new file mode 100644 index 0000000000000..df1352aee666f --- /dev/null +++ b/shell/platform/android/test/io/flutter/util/HandlerCompatTest.java @@ -0,0 +1,29 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package io.flutter.util; + +import static org.junit.Assert.assertTrue; + +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; + +@RunWith(RobolectricTestRunner.class) +public class HandlerCompatTest { + @Test + @Config(sdk = 28) + public void createAsync_createsAnAsyncHandler() { + Handler handler = Handler.createAsync(Looper.getMainLooper()); + + Message message = Message.obtain(); + handler.sendMessageAtTime(message, 0); + + assertTrue(message.isAsynchronous()); + } +} diff --git a/shell/platform/embedder/BUILD.gn b/shell/platform/embedder/BUILD.gn index c3c32e90bcca4..eec4dba678282 100644 --- a/shell/platform/embedder/BUILD.gn +++ b/shell/platform/embedder/BUILD.gn @@ -189,7 +189,7 @@ test_fixtures("fixtures") { } if (enable_unittests) { - executable("embedder_unittests") { + source_set("embedder_unittests_library") { testonly = true configs += [ @@ -200,7 +200,6 @@ if (enable_unittests) { include_dirs = [ "." ] sources = [ - "tests/embedder_a11y_unittests.cc", "tests/embedder_config_builder.cc", "tests/embedder_config_builder.h", "tests/embedder_test.cc", @@ -215,11 +214,10 @@ if (enable_unittests) { "tests/embedder_test_context.h", "tests/embedder_test_context_software.cc", "tests/embedder_test_context_software.h", - "tests/embedder_unittests.cc", "tests/embedder_unittests_util.cc", ] - deps = [ + public_deps = [ ":embedder", ":embedder_gpu_configuration", ":fixtures", @@ -241,10 +239,9 @@ if (enable_unittests) { "tests/embedder_test_compositor_gl.h", "tests/embedder_test_context_gl.cc", "tests/embedder_test_context_gl.h", - "tests/embedder_unittests_gl.cc", ] - deps += [ + public_deps += [ "//flutter/testing:opengl", "//third_party/vulkan-deps/vulkan-headers/src:vulkan_headers", ] @@ -256,10 +253,9 @@ if (enable_unittests) { "tests/embedder_test_compositor_metal.h", "tests/embedder_test_context_metal.cc", "tests/embedder_test_context_metal.h", - "tests/embedder_unittests_metal.mm", ] - deps += [ "//flutter/testing:metal" ] + public_deps += [ "//flutter/testing:metal" ] } if (test_enable_vulkan) { @@ -270,13 +266,51 @@ if (enable_unittests) { "tests/embedder_test_context_vulkan.h", ] - deps += [ + public_deps += [ "//flutter/testing:vulkan", "//flutter/vulkan", ] } } + executable("embedder_unittests") { + testonly = true + + configs += [ + ":embedder_gpu_configuration_config", + "//flutter:export_dynamic_symbols", + ] + + include_dirs = [ "." ] + + sources = [ "tests/embedder_unittests.cc" ] + + deps = [ ":embedder_unittests_library" ] + + if (test_enable_gl) { + sources += [ "tests/embedder_unittests_gl.cc" ] + } + + if (test_enable_metal) { + sources += [ "tests/embedder_unittests_metal.mm" ] + } + } + + executable("embedder_a11y_unittests") { + testonly = true + + configs += [ + ":embedder_gpu_configuration_config", + "//flutter:export_dynamic_symbols", + ] + + include_dirs = [ "." ] + + sources = [ "tests/embedder_a11y_unittests.cc" ] + + deps = [ ":embedder_unittests_library" ] + } + # Tests that build in FLUTTER_ENGINE_NO_PROTOTYPES mode. executable("embedder_proctable_unittests") { testonly = true diff --git a/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc b/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc index da4bf54e7985d..b455909feb5b1 100644 --- a/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc +++ b/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc @@ -203,9 +203,8 @@ Dart_Handle System::ChannelCreate(uint32_t options) { zx_status_t System::ConnectToService(std::string path, fml::RefPtr channel) { - return fdio_ns_connect(GetNamespace(), path.c_str(), - ZX_FS_RIGHT_READABLE | ZX_FS_RIGHT_WRITABLE, - channel->ReleaseHandle()); + return fdio_ns_service_connect(GetNamespace(), path.c_str(), + channel->ReleaseHandle()); } zx::channel System::CloneChannelFromFileDescriptor(int fd) { diff --git a/shell/platform/fuchsia/dart_runner/dart_component_controller_v2.cc b/shell/platform/fuchsia/dart_runner/dart_component_controller_v2.cc index 31bec7d29e0c0..043a70a052445 100644 --- a/shell/platform/fuchsia/dart_runner/dart_component_controller_v2.cc +++ b/shell/platform/fuchsia/dart_runner/dart_component_controller_v2.cc @@ -133,6 +133,10 @@ DartComponentControllerV2::DartComponentControllerV2( idle_wait_.set_trigger(ZX_TIMER_SIGNALED); idle_wait_.Begin(async_get_default_dispatcher()); } + + // Close the runtime_dir channel if we don't intend to serve it. Otherwise any + // access to the runtime_dir will hang forever. + start_info_.clear_runtime_dir(); } DartComponentControllerV2::~DartComponentControllerV2() { diff --git a/shell/platform/fuchsia/dart_runner/dart_test_component_controller_v2.cc b/shell/platform/fuchsia/dart_runner/dart_test_component_controller_v2.cc index f22dcb6b741a0..92f51aa39233e 100644 --- a/shell/platform/fuchsia/dart_runner/dart_test_component_controller_v2.cc +++ b/shell/platform/fuchsia/dart_runner/dart_test_component_controller_v2.cc @@ -136,6 +136,10 @@ DartTestComponentControllerV2::DartTestComponentControllerV2( idle_wait_.set_trigger(ZX_TIMER_SIGNALED); idle_wait_.Begin(async_get_default_dispatcher()); } + + // Close the runtime_dir channel if we don't intend to serve it. Otherwise any + // access to the runtime_dir will hang forever. + start_info_.clear_runtime_dir(); } DartTestComponentControllerV2::~DartTestComponentControllerV2() { diff --git a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc index 225cf31b0c3c0..a98fb019e4152 100644 --- a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc +++ b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc @@ -10,7 +10,6 @@ #include // For std::clamp -#include "flutter/fml/logging.h" #include "flutter/fml/trace_event.h" #include "third_party/skia/include/core/SkPicture.h" #include "third_party/skia/include/core/SkSurface.h" @@ -170,9 +169,8 @@ void GfxExternalViewEmbedder::PrerollCompositeEmbeddedView( zx_handle_t handle = static_cast(view_id); FML_CHECK(frame_layers_.count(handle) == 0); - frame_layers_.emplace(std::make_pair( - EmbedderLayerId{handle}, - EmbedderLayer(frame_size_, *params, flutter::RTreeFactory()))); + frame_layers_.emplace(std::make_pair(EmbedderLayerId{handle}, + EmbedderLayer(frame_size_, *params))); frame_composition_order_.push_back(handle); } @@ -202,9 +200,8 @@ void GfxExternalViewEmbedder::BeginFrame( frame_dpr_ = device_pixel_ratio; // Create the root layer. - frame_layers_.emplace(std::make_pair( - kRootLayerId, - EmbedderLayer(frame_size, std::nullopt, flutter::RTreeFactory()))); + frame_layers_.emplace( + std::make_pair(kRootLayerId, EmbedderLayer(frame_size, std::nullopt))); frame_composition_order_.push_back(kRootLayerId); // Set up the input interceptor at the top of the scene, if applicable. @@ -274,19 +271,6 @@ void GfxExternalViewEmbedder::SubmitFrame( } } - // Finish recording SkPictures. - { - TRACE_EVENT0("flutter", "FinishRecordingPictures"); - - for (const auto& surface_index : frame_surface_indices) { - const auto& layer = frame_layers_.find(surface_index.first); - FML_CHECK(layer != frame_layers_.end()); - layer->second.picture = - layer->second.recorder->finishRecordingAsPicture(); - FML_CHECK(layer->second.picture != nullptr); - } - } - // Submit layers and platform views to Scenic in composition order. { TRACE_EVENT0("flutter", "SubmitLayers"); @@ -453,18 +437,10 @@ void GfxExternalViewEmbedder::SubmitFrame( FML_CHECK(scenic_layer_index <= scenic_layers_.size()); if (scenic_layer_index == scenic_layers_.size()) { ScenicLayer new_layer{ - .layer_node = scenic::EntityNode(session_->get()), - .image = - ScenicImage{ - .shape_node = scenic::ShapeNode(session_->get()), - .material = scenic::Material(session_->get()), - }, - // We'll set hit regions later. - .hit_regions = {}, + .shape_node = scenic::ShapeNode(session_->get()), + .material = scenic::Material(session_->get()), }; - new_layer.layer_node.SetLabel("Flutter::Layer"); - new_layer.layer_node.AddChild(new_layer.image.shape_node); - new_layer.image.shape_node.SetMaterial(new_layer.image.material); + new_layer.shape_node.SetMaterial(new_layer.material); scenic_layers_.emplace_back(std::move(new_layer)); } @@ -515,50 +491,25 @@ void GfxExternalViewEmbedder::SubmitFrame( embedded_views_height; auto& scenic_layer = scenic_layers_[scenic_layer_index]; auto& scenic_rect = found_rects->second[rect_index]; - auto& image = scenic_layer.image; - image.shape_node.SetLabel("Flutter::Layer::Image"); - image.shape_node.SetShape(scenic_rect); - image.shape_node.SetTranslation( + scenic_layer.shape_node.SetLabel("Flutter::Layer"); + scenic_layer.shape_node.SetShape(scenic_rect); + scenic_layer.shape_node.SetTranslation( layer->second.surface_size.width() * 0.5f, layer->second.surface_size.height() * 0.5f, -layer_elevation); - image.material.SetColor(SK_AlphaOPAQUE, SK_AlphaOPAQUE, SK_AlphaOPAQUE, - layer_opacity); - image.material.SetTexture(surface_for_layer->GetImageId()); - - // We'll set hit regions expliclty on a separate ShapeNode, so the image - // itself should be unhittable and semantically invisible. - image.shape_node.SetHitTestBehavior( - fuchsia::ui::gfx::HitTestBehavior::kSuppress); - image.shape_node.SetSemanticVisibility(false); + scenic_layer.material.SetColor(SK_AlphaOPAQUE, SK_AlphaOPAQUE, + SK_AlphaOPAQUE, layer_opacity); + scenic_layer.material.SetTexture(surface_for_layer->GetImageId()); + + // Only the first (i.e. the bottom-most) layer should receive input. + // TODO: Workaround for invisible overlays stealing input. Remove when + // the underlying bug is fixed. + const fuchsia::ui::gfx::HitTestBehavior layer_hit_test_behavior = + first_layer ? fuchsia::ui::gfx::HitTestBehavior::kDefault + : fuchsia::ui::gfx::HitTestBehavior::kSuppress; + scenic_layer.shape_node.SetHitTestBehavior(layer_hit_test_behavior); // Attach the ScenicLayer to the main scene graph. - layer_tree_node_.AddChild(scenic_layer.layer_node); - - // Compute the set of non-overlapping set of bounding boxes for the - // painted content in this layer. - { - FML_CHECK(layer->second.rtree); - std::list intersection_rects = - layer->second.rtree->searchNonOverlappingDrawnRects( - SkRect::Make(layer->second.surface_size)); - - // SkRect joined_rect = SkRect::MakeEmpty(); - for (const SkRect& rect : intersection_rects) { - auto paint_bounds = - scenic::Rectangle(session_->get(), rect.width(), rect.height()); - auto hit_region = scenic::ShapeNode(session_->get()); - hit_region.SetLabel("Flutter::Layer::HitRegion"); - hit_region.SetShape(paint_bounds); - hit_region.SetTranslation(rect.centerX(), rect.centerY(), - -layer_elevation); - hit_region.SetHitTestBehavior( - fuchsia::ui::gfx::HitTestBehavior::kDefault); - hit_region.SetSemanticVisibility(true); - - scenic_layer.layer_node.AddChild(hit_region); - scenic_layer.hit_regions.push_back(std::move(hit_region)); - } - } + layer_tree_node_.AddChild(scenic_layer.shape_node); } // Reset for the next pass: @@ -576,11 +527,7 @@ void GfxExternalViewEmbedder::SubmitFrame( session_->Present(); } - // Flush pending skia operations. - // NOTE: This operation MUST occur AFTER the `Present() ` call above. We - // pipeline the Skia rendering work with scenic IPC, and scenic will delay - // internally until Skia is finished. So, doing this work before calling - // `Present()` would adversely affect performance. + // Render the recorded SkPictures into the surfaces. { TRACE_EVENT0("flutter", "RasterizeSurfaces"); @@ -601,10 +548,13 @@ void GfxExternalViewEmbedder::SubmitFrame( const auto& layer = frame_layers_.find(surface_index.first); FML_CHECK(layer != frame_layers_.end()); + sk_sp picture = + layer->second.recorder->finishRecordingAsPicture(); + FML_CHECK(picture != nullptr); canvas->setMatrix(SkMatrix::I()); canvas->clear(SK_ColorTRANSPARENT); - canvas->drawPicture(layer->second.picture); + canvas->drawPicture(picture); canvas->flush(); } } @@ -686,16 +636,7 @@ void GfxExternalViewEmbedder::Reset() { // Clear images on all layers so they aren't cached unnecessarily. for (auto& layer : scenic_layers_) { - layer.image.material.SetTexture(0); - - // Detach hit regions; otherwise, they may persist across frames - // incorrectly. - for (auto& hit_region : layer.hit_regions) { - hit_region.Detach(); - } - - // Remove cached hit regions so that we don't recreate stale ones. - layer.hit_regions.clear(); + layer.material.SetTexture(0); } } diff --git a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h index 81b061776973b..1e0a5e3eab67d 100644 --- a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h +++ b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h @@ -17,7 +17,6 @@ #include #include "flutter/flow/embedded_views.h" -#include "flutter/flow/rtree.h" #include "flutter/fml/logging.h" #include "flutter/fml/macros.h" #include "flutter/shell/common/canvas_spy.h" @@ -139,29 +138,18 @@ class GfxExternalViewEmbedder final : public flutter::ExternalViewEmbedder { struct EmbedderLayer { EmbedderLayer(const SkISize& frame_size, - std::optional view_params, - flutter::RTreeFactory rtree_factory) - : rtree(rtree_factory.getInstance()), - embedded_view_params(std::move(view_params)), + std::optional view_params) + : embedded_view_params(std::move(view_params)), recorder(std::make_unique()), canvas_spy(std::make_unique( - recorder->beginRecording(SkRect::Make(frame_size), - &rtree_factory))), - surface_size(frame_size), - picture(nullptr) {} - - // Records paint operations applied to this layer's `SkCanvas`. - // These records are used to determine which portions of this layer - // contain content. The embedder propagates this information to scenic, so - // that scenic can accurately decide which portions of this layer may - // interact with input. - sk_sp rtree; + recorder->beginRecording(frame_size.width(), + frame_size.height()))), + surface_size(frame_size) {} std::optional embedded_view_params; std::unique_ptr recorder; std::unique_ptr canvas_spy; SkISize surface_size; - sk_sp picture; }; using EmbedderLayerId = std::optional; constexpr static EmbedderLayerId kRootLayerId = EmbedderLayerId{}; @@ -184,34 +172,11 @@ class GfxExternalViewEmbedder final : public flutter::ExternalViewEmbedder { bool pending_focusable = true; }; - // GFX resources required to render a composited flutter layer (i.e. an - // SkPicture). - struct ScenicImage { + struct ScenicLayer { scenic::ShapeNode shape_node; scenic::Material material; }; - // All resources required to represent a flutter layer in the GFX scene - // graph. The structure of the subgraph for a particular layer is: - // - // layer_node - // / \ - // image node hit regions (zero or more) - // - // NOTE: `hit_regions` must be cleared before submitting each new frame; - // otherwise, we will report stale hittable geometry to scenic. - struct ScenicLayer { - // Root of the subtree containing the scenic resources for this layer. - scenic::EntityNode layer_node; - - // Scenic resources used to render this layer's image. - ScenicImage image; - - // Scenic resources that specify which parts of this layer are responsive - // to input. - std::vector hit_regions; - }; - std::shared_ptr session_; std::shared_ptr surface_producer_; diff --git a/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc b/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc index f99c54fb1904a..58690960d03cb 100644 --- a/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc +++ b/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc @@ -149,6 +149,18 @@ class FakeSurfaceProducer : public SurfaceProducer { uint32_t buffer_id_{1}; }; +struct FakeCompositorLayer { + enum class LayerType : uint32_t { + Image, + View, + }; + + std::shared_ptr layer_root; + + LayerType layer_type{LayerType::Image}; + size_t layer_index{0}; +}; + std::string GetCurrentTestName() { return ::testing::UnitTest::GetInstance()->current_test_info()->name(); } @@ -241,28 +253,12 @@ void ExpectRootSceneGraph( EXPECT_EQ(scene_graph.resource_map.size(), 3u); } -/// Verifies the scene subgraph for a particular flutter embedder layer. -/// -/// ARGUMENTS -/// -/// scenic_node: The root of the layer's scenic subgraph. -/// -/// layer_size: The expected dimensions of the layer's image. -/// -/// flutter_layer_index: This layer's 0-indexed position in the list of -/// flutter layers present in this frame, sorted in paint order. -/// -/// paint_regions: List of non-overlapping rects, in canvas coordinate space, -/// where content was drawn. For each "paint region" present in the frame, the -/// embedder reports a corresponding "hit region" to scenic as a hittable -/// ShapeNode. ShapeNodes are centered at (0, 0), by default, so they must be -/// translated to match the locations of the corresopnding paint regions. -void ExpectImageCompositorLayer(const FakeResource& scenic_node, - const SkISize layer_size, - size_t flutter_layer_index, - std::vector paint_regions) { +void ExpectImageCompositorLayer(const FakeCompositorLayer& layer, + const SkISize layer_size) { const SkSize float_layer_size = SkSize::Make(layer_size.width(), layer_size.height()); + const size_t flutter_layer_index = + (layer.layer_index + 1) / 2; // Integer division const float views_under_layer_depth = flutter_layer_index * GfxExternalViewEmbedder::kScenicZElevationForPlatformView; @@ -270,50 +266,27 @@ void ExpectImageCompositorLayer(const FakeResource& scenic_node, flutter_layer_index * GfxExternalViewEmbedder::kScenicZElevationBetweenLayers + views_under_layer_depth; + const bool layer_hit_testable = (flutter_layer_index == 0) + ? FakeNode::kIsHitTestable + : FakeNode::kIsNotHitTestable; const float layer_opacity = (flutter_layer_index == 0) ? GfxExternalViewEmbedder::kBackgroundLayerOpacity / 255.f : GfxExternalViewEmbedder::kOverlayLayerOpacity / 255.f; - + EXPECT_EQ(layer.layer_type, FakeCompositorLayer::LayerType::Image); + EXPECT_EQ(layer.layer_index % 2, 0u); EXPECT_THAT( - scenic_node, - FieldsAre( - _, "Flutter::Layer", FakeResource::kDefaultEmptyEventMask, - VariantWith(FieldsAre( - FieldsAre( - // Verify children separately below, since the - // expected number of children may vary across - // different test cases that call this method. - _, FakeNode::kDefaultZeroRotation, FakeNode::kDefaultOneScale, - FakeNode::kDefaultZeroTranslation, - FakeNode::kDefaultZeroAnchor, FakeNode::kIsHitTestable, - FakeNode::kIsSemanticallyVisible), - _)))); - - const auto* layer_node_state = - std::get_if(&scenic_node.state); - ASSERT_TRUE(layer_node_state); - - const auto& layer_node_children = layer_node_state->node_state.children; - - // The layer entity node should have a child node for the image, and - // separate children for each of the hit regions. - ASSERT_EQ(layer_node_children.size(), paint_regions.size() + 1); - - // Verify image node. - EXPECT_THAT( - layer_node_children[0], + layer.layer_root, Pointee(FieldsAre( - _, "Flutter::Layer::Image", FakeResource::kDefaultEmptyEventMask, + _, "Flutter::Layer", FakeResource::kDefaultEmptyEventMask, VariantWith(FieldsAre( FieldsAre(IsEmpty(), FakeNode::kDefaultZeroRotation, FakeNode::kDefaultOneScale, std::array{float_layer_size.width() / 2.f, float_layer_size.height() / 2.f, -layer_depth}, - FakeNode::kDefaultZeroAnchor, - FakeNode::kIsNotHitTestable, - FakeNode::kIsNotSemanticallyVisible), + FakeNode::kDefaultZeroAnchor, layer_hit_testable, + FakeNode::kIsSemanticallyVisible), Pointee( FieldsAre(_, "", FakeResource::kDefaultEmptyEventMask, VariantWith( @@ -332,39 +305,13 @@ void ExpectImageCompositorLayer(const FakeResource& scenic_node, IsNull())))), std::array{1.f, 1.f, 1.f, layer_opacity}))))))))); - - // Verify hit regions. - for (size_t i = 0; i < paint_regions.size(); ++i) { - ASSERT_LT(i, layer_node_children.size()); - const auto& paint_region = paint_regions[i]; - EXPECT_THAT( - layer_node_children[i + 1], - Pointee(FieldsAre( - _, "Flutter::Layer::HitRegion", - FakeResource::kDefaultEmptyEventMask, - VariantWith(FieldsAre( - FieldsAre(IsEmpty(), FakeNode::kDefaultZeroRotation, - FakeNode::kDefaultOneScale, - std::array{ - paint_region.x() + paint_region.width() / 2.f, - paint_region.y() + paint_region.height() / 2.f, - -layer_depth}, - FakeNode::kDefaultZeroAnchor, - FakeNode::kIsHitTestable, - FakeNode::kIsSemanticallyVisible), - Pointee(FieldsAre( - _, "", FakeResource::kDefaultEmptyEventMask, - VariantWith(FieldsAre( - VariantWith(FieldsAre( - paint_region.width(), paint_region.height())))))), - IsNull()))))); - } } -void ExpectViewCompositorLayer(const FakeResource& scenic_node, +void ExpectViewCompositorLayer(const FakeCompositorLayer& layer, const fuchsia::ui::views::ViewToken& view_token, - const flutter::EmbeddedViewParams& view_params, - size_t flutter_layer_index) { + const flutter::EmbeddedViewParams& view_params) { + const size_t flutter_layer_index = + (layer.layer_index + 1) / 2; // Integer division const float views_under_layer_depth = flutter_layer_index > 0 ? (flutter_layer_index - 1) * @@ -374,9 +321,11 @@ void ExpectViewCompositorLayer(const FakeResource& scenic_node, flutter_layer_index * GfxExternalViewEmbedder::kScenicZElevationBetweenLayers + views_under_layer_depth; + EXPECT_EQ(layer.layer_type, FakeCompositorLayer::LayerType::View); + EXPECT_EQ(layer.layer_index % 2, 1u); EXPECT_THAT( - scenic_node, - FieldsAre( + layer.layer_root, + Pointee(FieldsAre( _, _ /*"Flutter::PlatformView::OpacityMutator" */, FakeResource::kDefaultEmptyEventMask, VariantWith(FieldsAre( @@ -423,10 +372,10 @@ void ExpectViewCompositorLayer(const FakeResource& scenic_node, FakeNode::kDefaultZeroTranslation, FakeNode::kDefaultZeroAnchor, FakeNode::kIsHitTestable, FakeNode::kIsSemanticallyVisible), - FakeOpacityNode::kDefaultOneOpacity)))); + FakeOpacityNode::kDefaultOneOpacity))))); } -std::vector ExtractLayersFromSceneGraph( +std::vector ExtractLayersFromSceneGraph( const FakeSceneGraph& scene_graph) { AssertRootSceneGraph(scene_graph, false); @@ -438,12 +387,20 @@ std::vector ExtractLayersFromSceneGraph( auto* layer_tree_state = std::get_if( &metrics_watcher_state->node_state.children[0]->state); - std::vector scenic_layers; + std::vector layers; for (auto& layer_resource : layer_tree_state->node_state.children) { - scenic_layers.push_back(*layer_resource); + const size_t layer_index = layers.size(); + const FakeCompositorLayer::LayerType layer_type = + (layer_index % 2 == 0) ? FakeCompositorLayer::LayerType::Image + : FakeCompositorLayer::LayerType::View; + layers.emplace_back(FakeCompositorLayer{ + .layer_root = layer_resource, + .layer_type = layer_type, + .layer_index = layer_index, + }); } - return scenic_layers; + return layers; } void DrawSimpleFrame(GfxExternalViewEmbedder& external_view_embedder, @@ -571,7 +528,6 @@ class GfxExternalViewEmbedderTest std::shared_ptr fake_surface_producer_; }; -// Tests the trivial case where flutter does not present any content to scenic. TEST_F(GfxExternalViewEmbedderTest, RootScene) { const std::string debug_name = GetCurrentTestName(); auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); @@ -602,7 +558,6 @@ TEST_F(GfxExternalViewEmbedderTest, RootScene) { view_holder_token, view_ref); } -// Tests the case where flutter renders a single image. TEST_F(GfxExternalViewEmbedderTest, SimpleScene) { const std::string debug_name = GetCurrentTestName(); auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); @@ -624,34 +579,29 @@ TEST_F(GfxExternalViewEmbedderTest, SimpleScene) { // Draw the scene. The scene graph shouldn't change yet. const SkISize frame_size = SkISize::Make(512, 512); - SkRect paint_region; DrawSimpleFrame( - external_view_embedder, frame_size, 1.f, - [&paint_region](SkCanvas* canvas) { + external_view_embedder, frame_size, 1.f, [](SkCanvas* canvas) { const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), canvas->imageInfo().height()); SkPaint rect_paint; rect_paint.setColor(SK_ColorGREEN); - - paint_region = SkRect::MakeXYWH( - canvas_size.width() / 4.f, canvas_size.height() / 2.f, - canvas_size.width() / 32.f, canvas_size.height() / 32.f); - - canvas->drawRect(paint_region, rect_paint); + canvas->translate(canvas_size.width() / 4.f, + canvas_size.height() / 2.f); + canvas->drawRect(SkRect::MakeWH(canvas_size.width() / 32.f, + canvas_size.height() / 32.f), + rect_paint); }); ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, view_holder_token, view_ref); // Pump the message loop. The scene updates should propogate to Scenic. loop().RunUntilIdle(); - std::vector scenic_layers = + std::vector compositor_layers = ExtractLayersFromSceneGraph(fake_session().SceneGraph()); - EXPECT_EQ(scenic_layers.size(), 1u); - ExpectImageCompositorLayer(scenic_layers[0], frame_size, - /* flutter layer index = */ 0, {paint_region}); + EXPECT_EQ(compositor_layers.size(), 1u); + ExpectImageCompositorLayer(compositor_layers[0], frame_size); } -// Tests the case where flutter embeds a platform view on top of an image layer. TEST_F(GfxExternalViewEmbedderTest, SceneWithOneView) { const std::string debug_name = GetCurrentTestName(); auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); @@ -683,51 +633,42 @@ TEST_F(GfxExternalViewEmbedderTest, SceneWithOneView) { // Draw the scene. The scene graph shouldn't change yet. const SkISize frame_size = SkISize::Make(512, 512); - - SkRect main_surface_paint_region, overlay_paint_region; - DrawFrameWithView( external_view_embedder, frame_size, 1.f, child_view_id, child_view_params, - [&main_surface_paint_region](SkCanvas* canvas) { + [](SkCanvas* canvas) { const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), canvas->imageInfo().height()); - - main_surface_paint_region = SkRect::MakeXYWH( - canvas_size.width() / 4.f, canvas_size.width() / 2.f, - canvas_size.width() / 32.f, canvas_size.height() / 32.f); - SkPaint rect_paint; rect_paint.setColor(SK_ColorGREEN); - canvas->drawRect(main_surface_paint_region, rect_paint); + canvas->translate(canvas_size.width() / 4.f, + canvas_size.height() / 2.f); + canvas->drawRect(SkRect::MakeWH(canvas_size.width() / 32.f, + canvas_size.height() / 32.f), + rect_paint); }, - [&overlay_paint_region](SkCanvas* canvas) { + [](SkCanvas* canvas) { const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), canvas->imageInfo().height()); - overlay_paint_region = SkRect::MakeXYWH( - canvas_size.width() * 3.f / 4.f, canvas_size.height() / 2.f, - canvas_size.width() / 32.f, canvas_size.height() / 32.f); - SkPaint rect_paint; rect_paint.setColor(SK_ColorRED); - canvas->drawRect(overlay_paint_region, rect_paint); + canvas->translate(canvas_size.width() * 3.f / 4.f, + canvas_size.height() / 2.f); + canvas->drawRect(SkRect::MakeWH(canvas_size.width() / 32.f, + canvas_size.height() / 32.f), + rect_paint); }); ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, view_holder_token, view_ref); // Pump the message loop. The scene updates should propagate to Scenic. loop().RunUntilIdle(); - std::vector scenic_layers = + std::vector compositor_layers = ExtractLayersFromSceneGraph(fake_session().SceneGraph()); - EXPECT_EQ(scenic_layers.size(), 3u); - ExpectImageCompositorLayer(scenic_layers[0], frame_size, - /* flutter layer index = */ 0, - {main_surface_paint_region}); - ExpectViewCompositorLayer(scenic_layers[1], child_view_token, - child_view_params, - /* flutter layer index = */ 1); - ExpectImageCompositorLayer(scenic_layers[2], frame_size, - /* flutter layer index = */ 1, - {overlay_paint_region}); + EXPECT_EQ(compositor_layers.size(), 3u); + ExpectImageCompositorLayer(compositor_layers[0], frame_size); + ExpectViewCompositorLayer(compositor_layers[1], child_view_token, + child_view_params); + ExpectImageCompositorLayer(compositor_layers[2], frame_size); // Destroy the view. external_view_embedder.DestroyView(child_view_id, [](scenic::ResourceId) {}); @@ -736,127 +677,4 @@ TEST_F(GfxExternalViewEmbedderTest, SceneWithOneView) { loop().RunUntilIdle(); } -// Tests the case where flutter renders an image with two non-overlapping pieces -// of content. In this case, the embedder should report two separate hit regions -// to scenic. -TEST_F(GfxExternalViewEmbedderTest, SimpleSceneDisjointHitRegions) { - const std::string debug_name = GetCurrentTestName(); - auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); - auto view_ref_pair = scenic::ViewRefPair::New(); - fuchsia::ui::views::ViewRef view_ref; - view_ref_pair.view_ref.Clone(&view_ref); - - // Create the `GfxExternalViewEmbedder` and pump the message loop until - // the initial scene graph is setup. - GfxExternalViewEmbedder external_view_embedder( - debug_name, std::move(view_token), std::move(view_ref_pair), - session_connection(), fake_surface_producer()); - loop().RunUntilIdle(); - fake_session().FireOnFramePresentedEvent( - MakeFramePresentedInfoForOnePresent(0, 0)); - loop().RunUntilIdle(); - ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, - view_holder_token, view_ref); - - // Draw the scene. The scene graph shouldn't change yet. - SkRect paint_region_1, paint_region_2; - const SkISize frame_size = SkISize::Make(512, 512); - DrawSimpleFrame( - external_view_embedder, frame_size, 1.f, - [&paint_region_1, &paint_region_2](SkCanvas* canvas) { - const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), - canvas->imageInfo().height()); - - paint_region_1 = SkRect::MakeXYWH( - canvas_size.width() / 4.f, canvas_size.height() / 2.f, - canvas_size.width() / 32.f, canvas_size.height() / 32.f); - - SkPaint rect_paint; - rect_paint.setColor(SK_ColorGREEN); - canvas->drawRect(paint_region_1, rect_paint); - - paint_region_2 = SkRect::MakeXYWH( - canvas_size.width() * 3.f / 4.f, canvas_size.height() / 2.f, - canvas_size.width() / 32.f, canvas_size.height() / 32.f); - - rect_paint.setColor(SK_ColorRED); - canvas->drawRect(paint_region_2, rect_paint); - }); - ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, - view_holder_token, view_ref); - - // Pump the message loop. The scene updates should propogate to Scenic. - loop().RunUntilIdle(); - std::vector scenic_layers = - ExtractLayersFromSceneGraph(fake_session().SceneGraph()); - EXPECT_EQ(scenic_layers.size(), 1u); - ExpectImageCompositorLayer(scenic_layers[0], frame_size, - /* flutter layer index = */ 0, - {paint_region_1, paint_region_2}); -} - -// Tests the case where flutter renders an image with two overlapping pieces of -// content. In this case, the embedder should report a single joint hit region -// to scenic. -TEST_F(GfxExternalViewEmbedderTest, SimpleSceneOverlappingHitRegions) { - const std::string debug_name = GetCurrentTestName(); - auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); - auto view_ref_pair = scenic::ViewRefPair::New(); - fuchsia::ui::views::ViewRef view_ref; - view_ref_pair.view_ref.Clone(&view_ref); - - // Create the `GfxExternalViewEmbedder` and pump the message loop until - // the initial scene graph is setup. - GfxExternalViewEmbedder external_view_embedder( - debug_name, std::move(view_token), std::move(view_ref_pair), - session_connection(), fake_surface_producer()); - loop().RunUntilIdle(); - fake_session().FireOnFramePresentedEvent( - MakeFramePresentedInfoForOnePresent(0, 0)); - loop().RunUntilIdle(); - ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, - view_holder_token, view_ref); - - // Draw the scene. The scene graph shouldn't change yet. - SkRect joined_paint_region = SkRect::MakeEmpty(); - const SkISize frame_size = SkISize::Make(512, 512); - DrawSimpleFrame( - external_view_embedder, frame_size, 1.f, - [&joined_paint_region](SkCanvas* canvas) { - const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), - canvas->imageInfo().height()); - - auto paint_region_1 = SkRect::MakeXYWH( - canvas_size.width() / 4.f, canvas_size.height() / 4.f, - canvas_size.width() / 2.f, canvas_size.height() / 2.f); - SkPaint rect_paint; - rect_paint.setColor(SK_ColorGREEN); - canvas->drawRect(paint_region_1, rect_paint); - - auto paint_region_2 = SkRect::MakeXYWH( - canvas_size.width() * 3.f / 8.f, canvas_size.height() / 4.f, - canvas_size.width() / 2.f, canvas_size.height() / 2.f); - rect_paint.setColor(SK_ColorRED); - canvas->drawRect(paint_region_2, rect_paint); - - joined_paint_region.join(paint_region_1); - joined_paint_region.join(paint_region_2); - }); - ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, - view_holder_token, view_ref); - - EXPECT_EQ(joined_paint_region.x(), 128.f); - EXPECT_EQ(joined_paint_region.y(), 128.f); - EXPECT_EQ(joined_paint_region.width(), 320.f); - EXPECT_EQ(joined_paint_region.height(), 256.f); - // Pump the message loop. The scene updates should propogate to Scenic. - loop().RunUntilIdle(); - std::vector scenic_layers = - ExtractLayersFromSceneGraph(fake_session().SceneGraph()); - EXPECT_EQ(scenic_layers.size(), 1u); - ExpectImageCompositorLayer(scenic_layers[0], frame_size, - /* flutter layer index = */ 0, - {joined_paint_region}); -} - } // namespace flutter_runner::testing diff --git a/shell/platform/linux/BUILD.gn b/shell/platform/linux/BUILD.gn index 9ee2a2ea7d3de..6e70e49162033 100644 --- a/shell/platform/linux/BUILD.gn +++ b/shell/platform/linux/BUILD.gn @@ -99,6 +99,7 @@ source_set("flutter_linux_sources") { sources = [ "fl_accessibility_plugin.cc", "fl_accessible_node.cc", + "fl_accessible_text_field.cc", "fl_backing_store_provider.cc", "fl_basic_message_channel.cc", "fl_binary_codec.cc", @@ -192,6 +193,7 @@ executable("flutter_linux_unittests") { sources = [ "fl_accessible_node_test.cc", + "fl_accessible_text_field_test.cc", "fl_basic_message_channel_test.cc", "fl_binary_codec_test.cc", "fl_binary_messenger_test.cc", @@ -281,6 +283,7 @@ zip_bundle("flutter_gtk") { deps = [ ":flutter_linux_gtk", ":publish_headers_linux", + "//third_party/dart/runtime/bin:gen_snapshot", ] sources = get_target_outputs(":publish_headers_linux") tmp_files = [] @@ -297,6 +300,10 @@ zip_bundle("flutter_gtk") { source = "$root_build_dir/libflutter_${host_os}_gtk.so" destination = "libflutter_${host_os}_gtk.so" }, + { + source = "$root_build_dir/gen_snapshot" + destination = "gen_snapshot" + }, ] files = tmp_files } diff --git a/shell/platform/linux/fl_accessible_node.cc b/shell/platform/linux/fl_accessible_node.cc index 9e5f262d9e81e..0ecbf9b50af14 100644 --- a/shell/platform/linux/fl_accessible_node.cc +++ b/shell/platform/linux/fl_accessible_node.cc @@ -24,6 +24,7 @@ static struct { {ATK_STATE_ENABLED, kFlutterSemanticsFlagIsEnabled, FALSE}, {ATK_STATE_SENSITIVE, kFlutterSemanticsFlagIsEnabled, FALSE}, {ATK_STATE_READ_ONLY, kFlutterSemanticsFlagIsReadOnly, FALSE}, + {ATK_STATE_EDITABLE, kFlutterSemanticsFlagIsTextField, FALSE}, {ATK_STATE_INVALID, static_cast(0), FALSE}, }; @@ -46,7 +47,6 @@ static ActionData action_mapping[] = { "MoveCursorForwardByCharacter"}, {kFlutterSemanticsActionMoveCursorBackwardByCharacter, "MoveCursorBackwardByCharacter"}, - {kFlutterSemanticsActionSetSelection, "SetSelection"}, {kFlutterSemanticsActionCopy, "Copy"}, {kFlutterSemanticsActionCut, "Cut"}, {kFlutterSemanticsActionPaste, "Paste"}, @@ -61,7 +61,7 @@ static ActionData action_mapping[] = { "MoveCursorBackwardByWord"}, {static_cast(0), nullptr}}; -struct _FlAccessibleNode { +struct FlAccessibleNodePrivate { AtkObject parent_instance; // Weak reference to the engine this node is created for. @@ -80,6 +80,12 @@ struct _FlAccessibleNode { FlutterSemanticsFlag flags; }; +enum { kProp0, kPropEngine, kPropId, kPropLast }; + +#define FL_ACCESSIBLE_NODE_GET_PRIVATE(node) \ + ((FlAccessibleNodePrivate*)fl_accessible_node_get_instance_private( \ + FL_ACCESSIBLE_NODE(node))) + static void fl_accessible_node_component_interface_init( AtkComponentIface* iface); static void fl_accessible_node_action_interface_init(AtkActionIface* iface); @@ -89,12 +95,13 @@ G_DEFINE_TYPE_WITH_CODE( FlAccessibleNode, fl_accessible_node, ATK_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE(ATK_TYPE_COMPONENT, - fl_accessible_node_component_interface_init) - G_IMPLEMENT_INTERFACE(ATK_TYPE_ACTION, - fl_accessible_node_action_interface_init) - G_IMPLEMENT_INTERFACE(ATK_TYPE_TEXT, - fl_accessible_node_text_interface_init)) + G_ADD_PRIVATE(FlAccessibleNode) + G_IMPLEMENT_INTERFACE(ATK_TYPE_COMPONENT, + fl_accessible_node_component_interface_init) + G_IMPLEMENT_INTERFACE(ATK_TYPE_ACTION, + fl_accessible_node_action_interface_init) + G_IMPLEMENT_INTERFACE(ATK_TYPE_TEXT, + fl_accessible_node_text_interface_init)) // Returns TRUE if [flag] has changed between [old_flags] and [flags]. static gboolean flag_is_changed(FlutterSemanticsFlag old_flags, @@ -116,11 +123,11 @@ static gboolean has_action(FlutterSemanticsAction actions, } // Gets the nth action. -static ActionData* get_action(FlAccessibleNode* self, gint index) { - if (index < 0 || static_cast(index) >= self->actions->len) { +static ActionData* get_action(FlAccessibleNodePrivate* priv, gint index) { + if (index < 0 || static_cast(index) >= priv->actions->len) { return nullptr; } - return static_cast(g_ptr_array_index(self->actions, index)); + return static_cast(g_ptr_array_index(priv->actions, index)); } // Checks if [object] is in [children]. @@ -134,94 +141,115 @@ static gboolean has_child(GPtrArray* children, AtkObject* object) { return FALSE; } +static void fl_accessible_node_set_property(GObject* object, + guint prop_id, + const GValue* value, + GParamSpec* pspec) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(object); + switch (prop_id) { + case kPropEngine: + g_assert(priv->engine == nullptr); + priv->engine = FL_ENGINE(g_value_get_object(value)); + g_object_add_weak_pointer(object, + reinterpret_cast(&priv->engine)); + break; + case kPropId: + priv->id = g_value_get_int(value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); + break; + } +} + static void fl_accessible_node_dispose(GObject* object) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(object); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(object); - if (self->engine != nullptr) { - g_object_remove_weak_pointer(G_OBJECT(self), - reinterpret_cast(&(self->engine))); - self->engine = nullptr; + if (priv->engine != nullptr) { + g_object_remove_weak_pointer(object, + reinterpret_cast(&(priv->engine))); + priv->engine = nullptr; } - if (self->parent != nullptr) { - g_object_remove_weak_pointer(G_OBJECT(self), - reinterpret_cast(&(self->parent))); - self->parent = nullptr; + if (priv->parent != nullptr) { + g_object_remove_weak_pointer(object, + reinterpret_cast(&(priv->parent))); + priv->parent = nullptr; } - g_clear_pointer(&self->name, g_free); - g_clear_pointer(&self->actions, g_ptr_array_unref); - g_clear_pointer(&self->children, g_ptr_array_unref); + g_clear_pointer(&priv->name, g_free); + g_clear_pointer(&priv->actions, g_ptr_array_unref); + g_clear_pointer(&priv->children, g_ptr_array_unref); G_OBJECT_CLASS(fl_accessible_node_parent_class)->dispose(object); } // Implements AtkObject::get_name. static const gchar* fl_accessible_node_get_name(AtkObject* accessible) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); - return self->name; + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); + return priv->name; } // Implements AtkObject::get_parent. static AtkObject* fl_accessible_node_get_parent(AtkObject* accessible) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); - return self->parent; + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); + return priv->parent; } // Implements AtkObject::get_index_in_parent. static gint fl_accessible_node_get_index_in_parent(AtkObject* accessible) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); - return self->index; + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); + return priv->index; } // Implements AtkObject::get_n_children. static gint fl_accessible_node_get_n_children(AtkObject* accessible) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); - return self->children->len; + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); + return priv->children->len; } // Implements AtkObject::ref_child. static AtkObject* fl_accessible_node_ref_child(AtkObject* accessible, gint i) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); - if (i < 0 || static_cast(i) >= self->children->len) { + if (i < 0 || static_cast(i) >= priv->children->len) { return nullptr; } - return ATK_OBJECT(g_object_ref(g_ptr_array_index(self->children, i))); + return ATK_OBJECT(g_object_ref(g_ptr_array_index(priv->children, i))); } // Implements AtkObject::get_role. static AtkRole fl_accessible_node_get_role(AtkObject* accessible) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); - if ((self->flags & kFlutterSemanticsFlagIsButton) != 0) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); + if ((priv->flags & kFlutterSemanticsFlagIsButton) != 0) { return ATK_ROLE_PUSH_BUTTON; } - if ((self->flags & kFlutterSemanticsFlagIsInMutuallyExclusiveGroup) != 0 && - (self->flags & kFlutterSemanticsFlagHasCheckedState) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsInMutuallyExclusiveGroup) != 0 && + (priv->flags & kFlutterSemanticsFlagHasCheckedState) != 0) { return ATK_ROLE_RADIO_BUTTON; } - if ((self->flags & kFlutterSemanticsFlagHasCheckedState) != 0) { + if ((priv->flags & kFlutterSemanticsFlagHasCheckedState) != 0) { return ATK_ROLE_CHECK_BOX; } - if ((self->flags & kFlutterSemanticsFlagHasToggledState) != 0) { + if ((priv->flags & kFlutterSemanticsFlagHasToggledState) != 0) { return ATK_ROLE_TOGGLE_BUTTON; } - if ((self->flags & kFlutterSemanticsFlagIsSlider) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsSlider) != 0) { return ATK_ROLE_SLIDER; } - if ((self->flags & kFlutterSemanticsFlagIsTextField) != 0 && - (self->flags & kFlutterSemanticsFlagIsObscured) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsTextField) != 0 && + (priv->flags & kFlutterSemanticsFlagIsObscured) != 0) { return ATK_ROLE_PASSWORD_TEXT; } - if ((self->flags & kFlutterSemanticsFlagIsTextField) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsTextField) != 0) { return ATK_ROLE_TEXT; } - if ((self->flags & kFlutterSemanticsFlagIsHeader) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsHeader) != 0) { return ATK_ROLE_HEADER; } - if ((self->flags & kFlutterSemanticsFlagIsLink) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsLink) != 0) { return ATK_ROLE_LINK; } - if ((self->flags & kFlutterSemanticsFlagIsImage) != 0) { + if ((priv->flags & kFlutterSemanticsFlagIsImage) != 0) { return ATK_ROLE_IMAGE; } @@ -230,12 +258,12 @@ static AtkRole fl_accessible_node_get_role(AtkObject* accessible) { // Implements AtkObject::ref_state_set. static AtkStateSet* fl_accessible_node_ref_state_set(AtkObject* accessible) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(accessible); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(accessible); AtkStateSet* state_set = atk_state_set_new(); for (int i = 0; flag_mapping[i].state != ATK_STATE_INVALID; i++) { - gboolean enabled = has_flag(self->flags, flag_mapping[i].flag); + gboolean enabled = has_flag(priv->flags, flag_mapping[i].flag); if (flag_mapping[i].invert) { enabled = !enabled; } @@ -254,19 +282,19 @@ static void fl_accessible_node_get_extents(AtkComponent* component, gint* width, gint* height, AtkCoordType coord_type) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(component); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(component); *x = 0; *y = 0; - if (self->parent != nullptr) { - atk_component_get_extents(ATK_COMPONENT(self->parent), x, y, nullptr, + if (priv->parent != nullptr) { + atk_component_get_extents(ATK_COMPONENT(priv->parent), x, y, nullptr, nullptr, coord_type); } - *x += self->x; - *y += self->y; - *width = self->width; - *height = self->height; + *x += priv->x; + *y += priv->y; + *width = priv->width; + *height = priv->height; } // Implements AtkComponent::get_layer. @@ -276,33 +304,33 @@ static AtkLayer fl_accessible_node_get_layer(AtkComponent* component) { // Implements AtkAction::do_action. static gboolean fl_accessible_node_do_action(AtkAction* action, gint i) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(action); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(action); - if (self->engine == nullptr) { + if (priv->engine == nullptr) { return FALSE; } - ActionData* data = get_action(self, i); + ActionData* data = get_action(priv, i); if (data == nullptr) { return FALSE; } - fl_engine_dispatch_semantics_action(self->engine, self->id, data->action, - nullptr); + fl_accessible_node_perform_action(FL_ACCESSIBLE_NODE(action), data->action, + nullptr); return TRUE; } // Implements AtkAction::get_n_actions. static gint fl_accessible_node_get_n_actions(AtkAction* action) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(action); - return self->actions->len; + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(action); + return priv->actions->len; } // Implements AtkAction::get_name. static const gchar* fl_accessible_node_get_name(AtkAction* action, gint i) { - FlAccessibleNode* self = FL_ACCESSIBLE_NODE(action); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(action); - ActionData* data = get_action(self, i); + ActionData* data = get_action(priv, i); if (data == nullptr) { return nullptr; } @@ -317,7 +345,87 @@ static gchar* fl_accessible_node_get_text(AtkText* text, return nullptr; } +// Implements FlAccessibleNode::set_name. +static void fl_accessible_node_set_name_impl(FlAccessibleNode* self, + const gchar* name) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + g_free(priv->name); + priv->name = g_strdup(name); +} + +// Implements FlAccessibleNode::set_extents. +static void fl_accessible_node_set_extents_impl(FlAccessibleNode* self, + gint x, + gint y, + gint width, + gint height) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + priv->x = x; + priv->y = y; + priv->width = width; + priv->height = height; +} + +// Implements FlAccessibleNode::set_flags. +static void fl_accessible_node_set_flags_impl(FlAccessibleNode* self, + FlutterSemanticsFlag flags) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + + FlutterSemanticsFlag old_flags = priv->flags; + priv->flags = flags; + + for (int i = 0; flag_mapping[i].state != ATK_STATE_INVALID; i++) { + if (flag_is_changed(old_flags, flags, flag_mapping[i].flag)) { + gboolean enabled = has_flag(flags, flag_mapping[i].flag); + if (flag_mapping[i].invert) { + enabled = !enabled; + } + + atk_object_notify_state_change(ATK_OBJECT(self), flag_mapping[i].state, + enabled); + } + } +} + +// Implements FlAccessibleNode::set_actions. +static void fl_accessible_node_set_actions_impl( + FlAccessibleNode* self, + FlutterSemanticsAction actions) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + + // NOTE(robert-ancell): It appears that AtkAction doesn't have a method of + // notifying that actions have changed, and even if it did an ATK client + // might access the old IDs before checking for new ones. Keep an eye + // out for a case where Flutter changes the actions on an item and see + // if we can resolve this in another way. + g_ptr_array_remove_range(priv->actions, 0, priv->actions->len); + for (int i = 0; action_mapping[i].name != nullptr; i++) { + if (has_action(actions, action_mapping[i].action)) { + g_ptr_array_add(priv->actions, &action_mapping[i]); + } + } +} + +// Implements FlAccessibleNode::set_value. +static void fl_accessible_node_set_value_impl(FlAccessibleNode* self, + const gchar* value) {} + +// Implements FlAccessibleNode::set_text_selection. +static void fl_accessible_node_set_text_selection_impl(FlAccessibleNode* self, + gint base, + gint extent) {} + +// Implements FlAccessibleNode::perform_action. +static void fl_accessible_node_perform_action_impl( + FlAccessibleNode* self, + FlutterSemanticsAction action, + GBytes* data) { + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + fl_engine_dispatch_semantics_action(priv->engine, priv->id, action, data); +} + static void fl_accessible_node_class_init(FlAccessibleNodeClass* klass) { + G_OBJECT_CLASS(klass)->set_property = fl_accessible_node_set_property; G_OBJECT_CLASS(klass)->dispose = fl_accessible_node_dispose; ATK_OBJECT_CLASS(klass)->get_name = fl_accessible_node_get_name; ATK_OBJECT_CLASS(klass)->get_parent = fl_accessible_node_get_parent; @@ -327,6 +435,32 @@ static void fl_accessible_node_class_init(FlAccessibleNodeClass* klass) { ATK_OBJECT_CLASS(klass)->ref_child = fl_accessible_node_ref_child; ATK_OBJECT_CLASS(klass)->get_role = fl_accessible_node_get_role; ATK_OBJECT_CLASS(klass)->ref_state_set = fl_accessible_node_ref_state_set; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_name = fl_accessible_node_set_name_impl; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_extents = + fl_accessible_node_set_extents_impl; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_flags = + fl_accessible_node_set_flags_impl; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_actions = + fl_accessible_node_set_actions_impl; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_value = + fl_accessible_node_set_value_impl; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_text_selection = + fl_accessible_node_set_text_selection_impl; + FL_ACCESSIBLE_NODE_CLASS(klass)->perform_action = + fl_accessible_node_perform_action_impl; + + g_object_class_install_property( + G_OBJECT_CLASS(klass), kPropEngine, + g_param_spec_object( + "engine", "engine", "Flutter engine", fl_engine_get_type(), + static_cast(G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS))); + g_object_class_install_property( + G_OBJECT_CLASS(klass), kPropId, + g_param_spec_int( + "id", "id", "Accessibility node ID", 0, G_MAXINT, 0, + static_cast(G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS))); } static void fl_accessible_node_component_interface_init( @@ -346,17 +480,14 @@ static void fl_accessible_node_text_interface_init(AtkTextIface* iface) { } static void fl_accessible_node_init(FlAccessibleNode* self) { - self->actions = g_ptr_array_new(); - self->children = g_ptr_array_new_with_free_func(g_object_unref); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + priv->actions = g_ptr_array_new(); + priv->children = g_ptr_array_new_with_free_func(g_object_unref); } FlAccessibleNode* fl_accessible_node_new(FlEngine* engine, int32_t id) { - FlAccessibleNode* self = - FL_ACCESSIBLE_NODE(g_object_new(fl_accessible_node_get_type(), nullptr)); - self->engine = engine; - g_object_add_weak_pointer(G_OBJECT(self), - reinterpret_cast(&(self->engine))); - self->id = id; + FlAccessibleNode* self = FL_ACCESSIBLE_NODE(g_object_new( + fl_accessible_node_get_type(), "engine", engine, "id", id, nullptr)); return self; } @@ -364,33 +495,35 @@ void fl_accessible_node_set_parent(FlAccessibleNode* self, AtkObject* parent, gint index) { g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); - self->parent = parent; - self->index = index; + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); + priv->parent = parent; + priv->index = index; g_object_add_weak_pointer(G_OBJECT(self), - reinterpret_cast(&(self->parent))); + reinterpret_cast(&(priv->parent))); } void fl_accessible_node_set_children(FlAccessibleNode* self, GPtrArray* children) { g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); + FlAccessibleNodePrivate* priv = FL_ACCESSIBLE_NODE_GET_PRIVATE(self); // Remove nodes that are no longer required. - for (guint i = 0; i < self->children->len;) { - AtkObject* object = ATK_OBJECT(g_ptr_array_index(self->children, i)); + for (guint i = 0; i < priv->children->len;) { + AtkObject* object = ATK_OBJECT(g_ptr_array_index(priv->children, i)); if (has_child(children, object)) { i++; } else { g_signal_emit_by_name(self, "children-changed::remove", i, object, nullptr); - g_ptr_array_remove_index(self->children, i); + g_ptr_array_remove_index(priv->children, i); } } // Add new nodes. for (guint i = 0; i < children->len; i++) { AtkObject* object = ATK_OBJECT(g_ptr_array_index(children, i)); - if (!has_child(self->children, object)) { - g_ptr_array_add(self->children, g_object_ref(object)); + if (!has_child(priv->children, object)) { + g_ptr_array_add(priv->children, g_object_ref(object)); g_signal_emit_by_name(self, "children-changed::add", i, object, nullptr); } } @@ -398,8 +531,8 @@ void fl_accessible_node_set_children(FlAccessibleNode* self, void fl_accessible_node_set_name(FlAccessibleNode* self, const gchar* name) { g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); - g_free(self->name); - self->name = g_strdup(name); + + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->set_name(self, name); } void fl_accessible_node_set_extents(FlAccessibleNode* self, @@ -408,45 +541,44 @@ void fl_accessible_node_set_extents(FlAccessibleNode* self, gint width, gint height) { g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); - self->x = x; - self->y = y; - self->width = width; - self->height = height; + + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->set_extents(self, x, y, width, + height); } void fl_accessible_node_set_flags(FlAccessibleNode* self, FlutterSemanticsFlag flags) { g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); - FlutterSemanticsFlag old_flags = self->flags; - self->flags = flags; - - for (int i = 0; flag_mapping[i].state != ATK_STATE_INVALID; i++) { - if (flag_is_changed(old_flags, flags, flag_mapping[i].flag)) { - gboolean enabled = has_flag(flags, flag_mapping[i].flag); - if (flag_mapping[i].invert) { - enabled = !enabled; - } - - atk_object_notify_state_change(ATK_OBJECT(self), flag_mapping[i].state, - enabled); - } - } + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->set_flags(self, flags); } void fl_accessible_node_set_actions(FlAccessibleNode* self, FlutterSemanticsAction actions) { g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); - // NOTE(robert-ancell): It appears that AtkAction doesn't have a method of - // notifying that actions have changed, and even if it did an ATK client - // might access the old IDs before checking for new ones. Keep an eye - // out for a case where Flutter changes the actions on an item and see - // if we can resolve this in another way. - g_ptr_array_remove_range(self->actions, 0, self->actions->len); - for (int i = 0; action_mapping[i].name != nullptr; i++) { - if (has_action(actions, action_mapping[i].action)) { - g_ptr_array_add(self->actions, &action_mapping[i]); - } - } + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->set_actions(self, actions); +} + +void fl_accessible_node_set_value(FlAccessibleNode* self, const gchar* value) { + g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); + + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->set_value(self, value); +} + +void fl_accessible_node_set_text_selection(FlAccessibleNode* self, + gint base, + gint extent) { + g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); + + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->set_text_selection(self, base, + extent); +} + +void fl_accessible_node_perform_action(FlAccessibleNode* self, + FlutterSemanticsAction action, + GBytes* data) { + g_return_if_fail(FL_IS_ACCESSIBLE_NODE(self)); + + return FL_ACCESSIBLE_NODE_GET_CLASS(self)->perform_action(self, action, data); } diff --git a/shell/platform/linux/fl_accessible_node.h b/shell/platform/linux/fl_accessible_node.h index 0d392256edae9..ff38ad49c60dc 100644 --- a/shell/platform/linux/fl_accessible_node.h +++ b/shell/platform/linux/fl_accessible_node.h @@ -16,11 +16,12 @@ G_BEGIN_DECLS // https://gitlab.gnome.org/GNOME/atk/-/issues/10 G_DEFINE_AUTOPTR_CLEANUP_FUNC(AtkObject, g_object_unref) -G_DECLARE_FINAL_TYPE(FlAccessibleNode, - fl_accessible_node, - FL, - ACCESSIBLE_NODE, - AtkObject); +#define FL_TYPE_ACCESSIBLE_NODE fl_accessible_node_get_type() +G_DECLARE_DERIVABLE_TYPE(FlAccessibleNode, + fl_accessible_node, + FL, + ACCESSIBLE_NODE, + AtkObject); /** * FlAccessibleNode: @@ -28,6 +29,24 @@ G_DECLARE_FINAL_TYPE(FlAccessibleNode, * #FlAccessibleNode is an object that exposes a Flutter accessibility node to * ATK. */ +struct _FlAccessibleNodeClass { + AtkObjectClass parent_class; + + void (*set_name)(FlAccessibleNode* node, const gchar* name); + void (*set_extents)(FlAccessibleNode* node, + gint x, + gint y, + gint width, + gint height); + void (*set_flags)(FlAccessibleNode* node, FlutterSemanticsFlag flags); + void (*set_actions)(FlAccessibleNode* node, FlutterSemanticsAction actions); + void (*set_value)(FlAccessibleNode* node, const gchar* value); + void (*set_text_selection)(FlAccessibleNode* node, gint base, gint extent); + + void (*perform_action)(FlAccessibleNode* node, + FlutterSemanticsAction action, + GBytes* data); +}; /** * fl_accessible_node_new: @@ -108,6 +127,39 @@ void fl_accessible_node_set_flags(FlAccessibleNode* node, void fl_accessible_node_set_actions(FlAccessibleNode* node, FlutterSemanticsAction actions); +/** + * fl_accessible_node_set_value: + * @node: an #FlAccessibleNode. + * @value: a node value. + * + * Sets the value of this node. + */ +void fl_accessible_node_set_value(FlAccessibleNode* node, const gchar* value); + +/** + * fl_accessible_node_set_text_selection: + * @node: an #FlAccessibleNode. + * @base: the position at which the text selection originates. + * @extent: the position at which the text selection terminates. + * + * Sets the text selection of this node. + */ +void fl_accessible_node_set_text_selection(FlAccessibleNode* node, + gint base, + gint extent); + +/** + * fl_accessible_node_dispatch_action: + * @node: an #FlAccessibleNode. + * @action: the action being dispatched. + * @data: (allow-none): data associated with the action. + * + * Performs a semantic action for this node. + */ +void fl_accessible_node_perform_action(FlAccessibleNode* node, + FlutterSemanticsAction action, + GBytes* data); + G_END_DECLS #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_ACCESSIBLE_NODE_H_ diff --git a/shell/platform/linux/fl_accessible_text_field.cc b/shell/platform/linux/fl_accessible_text_field.cc new file mode 100644 index 0000000000000..9c483e61fe360 --- /dev/null +++ b/shell/platform/linux/fl_accessible_text_field.cc @@ -0,0 +1,400 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/shell/platform/linux/fl_accessible_text_field.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_standard_message_codec.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h" + +struct _FlAccessibleTextField { + FlAccessibleNode parent_instance; + + gint selection_base; + gint selection_extent; + GtkEntryBuffer* buffer; +}; + +static void fl_accessible_text_iface_init(AtkTextIface* iface); +static void fl_accessible_editable_text_iface_init(AtkEditableTextIface* iface); + +G_DEFINE_TYPE_WITH_CODE( + FlAccessibleTextField, + fl_accessible_text_field, + FL_TYPE_ACCESSIBLE_NODE, + G_IMPLEMENT_INTERFACE(ATK_TYPE_TEXT, fl_accessible_text_iface_init) + G_IMPLEMENT_INTERFACE(ATK_TYPE_EDITABLE_TEXT, + fl_accessible_editable_text_iface_init)) + +static gchar* get_substring(FlAccessibleTextField* self, + glong start, + glong end) { + const gchar* value = gtk_entry_buffer_get_text(self->buffer); + if (end == -1) { + // g_utf8_substring() accepts -1 since 2.72 + end = g_utf8_strlen(value, -1); + } + return g_utf8_substring(value, start, end); +} + +static void perform_set_text_action(FlAccessibleTextField* self, + const char* text) { + g_autoptr(FlValue) value = fl_value_new_string(text); + g_autoptr(FlStandardMessageCodec) codec = fl_standard_message_codec_new(); + g_autoptr(GBytes) message = + fl_message_codec_encode_message(FL_MESSAGE_CODEC(codec), value, nullptr); + + fl_accessible_node_perform_action(FL_ACCESSIBLE_NODE(self), + kFlutterSemanticsActionSetText, message); +} + +static void perform_set_selection_action(FlAccessibleTextField* self, + gint base, + gint extent) { + g_autoptr(FlValue) value = fl_value_new_map(); + fl_value_set_string_take(value, "base", fl_value_new_int(base)); + fl_value_set_string_take(value, "extent", fl_value_new_int(extent)); + + g_autoptr(FlStandardMessageCodec) codec = fl_standard_message_codec_new(); + g_autoptr(GBytes) message = + fl_message_codec_encode_message(FL_MESSAGE_CODEC(codec), value, nullptr); + + fl_accessible_node_perform_action( + FL_ACCESSIBLE_NODE(self), kFlutterSemanticsActionSetSelection, message); +} + +// Implements GObject::dispose. +static void fl_accessible_text_field_dispose(GObject* object) { + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(object); + + g_clear_object(&self->buffer); + + G_OBJECT_CLASS(fl_accessible_text_field_parent_class)->dispose(object); +} + +// Implements FlAccessibleNode::set_value. +static void fl_accessible_text_field_set_value(FlAccessibleNode* node, + const gchar* value) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(node)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(node); + + if (g_strcmp0(gtk_entry_buffer_get_text(self->buffer), value) == 0) { + return; + } + + gtk_entry_buffer_set_text(self->buffer, value, -1); +} + +// Implements FlAccessibleNode::set_text_selection. +static void fl_accessible_text_field_set_text_selection(FlAccessibleNode* node, + gint base, + gint extent) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(node)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(node); + + gboolean caret_moved = extent != self->selection_extent; + gboolean has_selection = base != extent; + gboolean had_selection = self->selection_base != self->selection_extent; + gboolean selection_changed = (has_selection || had_selection) && + (caret_moved || base != self->selection_base); + + self->selection_base = base; + self->selection_extent = extent; + + if (selection_changed) { + g_signal_emit_by_name(self, "text-selection-changed", nullptr); + } + + if (caret_moved) { + g_signal_emit_by_name(self, "text-caret-moved", extent, nullptr); + } +} + +// Overrides FlAccessibleNode::perform_action. +void fl_accessible_text_field_perform_action(FlAccessibleNode* self, + FlutterSemanticsAction action, + GBytes* data) { + FlAccessibleNodeClass* parent_class = + FL_ACCESSIBLE_NODE_CLASS(fl_accessible_text_field_parent_class); + + switch (action) { + case kFlutterSemanticsActionMoveCursorForwardByCharacter: + case kFlutterSemanticsActionMoveCursorBackwardByCharacter: + case kFlutterSemanticsActionMoveCursorForwardByWord: + case kFlutterSemanticsActionMoveCursorBackwardByWord: { + // These actions require a boolean argument that indicates whether the + // selection should be extended or collapsed when moving the cursor. + g_autoptr(FlValue) extend_selection = fl_value_new_bool(false); + g_autoptr(FlStandardMessageCodec) codec = fl_standard_message_codec_new(); + g_autoptr(GBytes) message = fl_message_codec_encode_message( + FL_MESSAGE_CODEC(codec), extend_selection, nullptr); + parent_class->perform_action(self, action, message); + break; + } + default: + parent_class->perform_action(self, action, data); + break; + } +} + +// Implements AtkText::get_character_count. +static gint fl_accessible_text_field_get_character_count(AtkText* text) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), 0); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + return gtk_entry_buffer_get_length(self->buffer); +} + +// Implements AtkText::get_text. +static gchar* fl_accessible_text_field_get_text(AtkText* text, + gint start_offset, + gint end_offset) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), nullptr); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + return get_substring(self, start_offset, end_offset); +} + +// Implements AtkText::get_caret_offset. +static gint fl_accessible_text_field_get_caret_offset(AtkText* text) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), -1); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + return self->selection_extent; +} + +// Implements AtkText::set_caret_offset. +static gboolean fl_accessible_text_field_set_caret_offset(AtkText* text, + gint offset) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), false); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + perform_set_selection_action(self, offset, offset); + return true; +} + +// Implements AtkText::get_n_selections. +static gint fl_accessible_text_field_get_n_selections(AtkText* text) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), 0); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + if (self->selection_base == self->selection_extent) { + return 0; + } + + return 1; +} + +// Implements AtkText::get_selection. +static gchar* fl_accessible_text_field_get_selection(AtkText* text, + gint selection_num, + gint* start_offset, + gint* end_offset) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), nullptr); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + if (selection_num != 0 || self->selection_base == self->selection_extent) { + return nullptr; + } + + gint start = MIN(self->selection_base, self->selection_extent); + gint end = MAX(self->selection_base, self->selection_extent); + + if (start_offset != nullptr) { + *start_offset = start; + } + if (end_offset != nullptr) { + *end_offset = end; + } + + return get_substring(self, start, end); +} + +// Implements AtkText::add_selection. +static gboolean fl_accessible_text_field_add_selection(AtkText* text, + gint start_offset, + gint end_offset) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), false); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + if (self->selection_base != self->selection_extent) { + return false; + } + + perform_set_selection_action(self, start_offset, end_offset); + return true; +} + +// Implements AtkText::remove_selection. +static gboolean fl_accessible_text_field_remove_selection(AtkText* text, + gint selection_num) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), false); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + if (selection_num != 0 || self->selection_base == self->selection_extent) { + return false; + } + + perform_set_selection_action(self, self->selection_extent, + self->selection_extent); + return true; +} + +// Implements AtkText::set_selection. +static gboolean fl_accessible_text_field_set_selection(AtkText* text, + gint selection_num, + gint start_offset, + gint end_offset) { + g_return_val_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(text), false); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(text); + + if (selection_num != 0) { + return false; + } + + perform_set_selection_action(self, start_offset, end_offset); + return true; +} + +// Implements AtkEditableText::set_text_contents. +static void fl_accessible_text_field_set_text_contents( + AtkEditableText* editable_text, + const gchar* string) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(editable_text)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(editable_text); + + perform_set_text_action(self, string); +} + +// Implements AtkEditableText::insert_text. +static void fl_accessible_text_field_insert_text(AtkEditableText* editable_text, + const gchar* string, + gint length, + gint* position) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(editable_text)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(editable_text); + + *position += + gtk_entry_buffer_insert_text(self->buffer, *position, string, length); + + perform_set_text_action(self, gtk_entry_buffer_get_text(self->buffer)); + perform_set_selection_action(self, *position, *position); +} + +// Implements AtkEditableText::delete_text. +static void fl_accessible_node_delete_text(AtkEditableText* editable_text, + gint start_pos, + gint end_pos) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(editable_text)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(editable_text); + + gtk_entry_buffer_delete_text(self->buffer, start_pos, end_pos - start_pos); + + perform_set_text_action(self, gtk_entry_buffer_get_text(self->buffer)); + perform_set_selection_action(self, start_pos, start_pos); +} + +// Implement AtkEditableText::copy_text. +static void fl_accessible_text_field_copy_text(AtkEditableText* editable_text, + gint start_pos, + gint end_pos) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(editable_text)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(editable_text); + + perform_set_selection_action(self, start_pos, end_pos); + + fl_accessible_node_perform_action(FL_ACCESSIBLE_NODE(editable_text), + kFlutterSemanticsActionCopy, nullptr); +} + +// Implements AtkEditableText::cut_text. +static void fl_accessible_text_field_cut_text(AtkEditableText* editable_text, + gint start_pos, + gint end_pos) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(editable_text)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(editable_text); + + perform_set_selection_action(self, start_pos, end_pos); + + fl_accessible_node_perform_action(FL_ACCESSIBLE_NODE(editable_text), + kFlutterSemanticsActionCut, nullptr); +} + +// Implements AtkEditableText::paste_text. +static void fl_accessible_text_field_paste_text(AtkEditableText* editable_text, + gint position) { + g_return_if_fail(FL_IS_ACCESSIBLE_TEXT_FIELD(editable_text)); + FlAccessibleTextField* self = FL_ACCESSIBLE_TEXT_FIELD(editable_text); + + perform_set_selection_action(self, position, position); + + fl_accessible_node_perform_action(FL_ACCESSIBLE_NODE(editable_text), + kFlutterSemanticsActionPaste, nullptr); +} + +static void fl_accessible_text_field_class_init( + FlAccessibleTextFieldClass* klass) { + G_OBJECT_CLASS(klass)->dispose = fl_accessible_text_field_dispose; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_value = + fl_accessible_text_field_set_value; + FL_ACCESSIBLE_NODE_CLASS(klass)->set_text_selection = + fl_accessible_text_field_set_text_selection; + FL_ACCESSIBLE_NODE_CLASS(klass)->perform_action = + fl_accessible_text_field_perform_action; +} + +static void fl_accessible_text_iface_init(AtkTextIface* iface) { + iface->get_character_count = fl_accessible_text_field_get_character_count; + iface->get_text = fl_accessible_text_field_get_text; + // TODO(jpnurmi): get_text_at/before/after_offset + + iface->get_caret_offset = fl_accessible_text_field_get_caret_offset; + iface->set_caret_offset = fl_accessible_text_field_set_caret_offset; + + iface->get_n_selections = fl_accessible_text_field_get_n_selections; + iface->get_selection = fl_accessible_text_field_get_selection; + iface->add_selection = fl_accessible_text_field_add_selection; + iface->remove_selection = fl_accessible_text_field_remove_selection; + iface->set_selection = fl_accessible_text_field_set_selection; +} + +static void fl_accessible_editable_text_iface_init( + AtkEditableTextIface* iface) { + iface->set_text_contents = fl_accessible_text_field_set_text_contents; + iface->insert_text = fl_accessible_text_field_insert_text; + iface->delete_text = fl_accessible_node_delete_text; + + iface->copy_text = fl_accessible_text_field_copy_text; + iface->cut_text = fl_accessible_text_field_cut_text; + iface->paste_text = fl_accessible_text_field_paste_text; +} + +static void fl_accessible_text_field_init(FlAccessibleTextField* self) { + self->selection_base = -1; + self->selection_extent = -1; + + self->buffer = gtk_entry_buffer_new("", 0); + + g_signal_connect_object( + self->buffer, "inserted-text", + G_CALLBACK(+[](FlAccessibleTextField* self, guint position, gchar* chars, + guint n_chars) { + g_signal_emit_by_name(self, "text-insert", position, n_chars, chars, + nullptr); + }), + self, G_CONNECT_SWAPPED); + + g_signal_connect_object(self->buffer, "deleted-text", + G_CALLBACK(+[](FlAccessibleTextField* self, + guint position, guint n_chars) { + g_autofree gchar* chars = atk_text_get_text( + ATK_TEXT(self), position, position + n_chars); + g_signal_emit_by_name(self, "text-remove", position, + n_chars, chars, nullptr); + }), + self, G_CONNECT_SWAPPED); +} + +FlAccessibleNode* fl_accessible_text_field_new(FlEngine* engine, int32_t id) { + return FL_ACCESSIBLE_NODE(g_object_new(fl_accessible_text_field_get_type(), + "engine", engine, "id", id, nullptr)); +} diff --git a/shell/platform/linux/fl_accessible_text_field.h b/shell/platform/linux/fl_accessible_text_field.h new file mode 100644 index 0000000000000..c3346abda1637 --- /dev/null +++ b/shell/platform/linux/fl_accessible_text_field.h @@ -0,0 +1,34 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_ACCESSIBLE_TEXT_FIELD_H_ +#define FLUTTER_SHELL_PLATFORM_LINUX_FL_ACCESSIBLE_TEXT_FIELD_H_ + +#include + +#include "flutter/shell/platform/linux/fl_accessible_node.h" + +G_BEGIN_DECLS + +G_DECLARE_FINAL_TYPE(FlAccessibleTextField, + fl_accessible_text_field, + FL, + ACCESSIBLE_TEXT_FIELD, + FlAccessibleNode); + +/** + * fl_accessible_text_field_new: + * @engine: the #FlEngine this node came from. + * @id: the semantics node ID this object represents. + * + * Creates a new accessibility object that exposes an editable Flutter text + * field to ATK. + * + * Returns: a new #FlAccessibleNode. + */ +FlAccessibleNode* fl_accessible_text_field_new(FlEngine* engine, int32_t id); + +G_END_DECLS + +#endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_ACCESSIBLE_TEXT_FIELD_H_ diff --git a/shell/platform/linux/fl_accessible_text_field_test.cc b/shell/platform/linux/fl_accessible_text_field_test.cc new file mode 100644 index 0000000000000..475711345ab67 --- /dev/null +++ b/shell/platform/linux/fl_accessible_text_field_test.cc @@ -0,0 +1,524 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Included first as it collides with the X11 headers. +#include "gtest/gtest.h" + +#include "flutter/shell/platform/embedder/test_utils/proc_table_replacement.h" +#include "flutter/shell/platform/linux/fl_accessible_text_field.h" +#include "flutter/shell/platform/linux/fl_engine_private.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_standard_message_codec.h" +#include "flutter/shell/platform/linux/testing/fl_test.h" +#include "flutter/shell/platform/linux/testing/mock_signal_handler.h" + +// MOCK_ENGINE_PROC is leaky by design +// NOLINTBEGIN(clang-analyzer-core.StackAddressEscape) + +static FlValue* decode_semantic_data(const uint8_t* data, size_t data_length) { + g_autoptr(GBytes) bytes = g_bytes_new(data, data_length); + g_autoptr(FlStandardMessageCodec) codec = fl_standard_message_codec_new(); + return fl_message_codec_decode_message(FL_MESSAGE_CODEC(codec), bytes, + nullptr); +} + +// Tests that semantic node value updates from Flutter emit AtkText::text-insert +// and AtkText::text-remove signals as expected. +TEST(FlAccessibleTextFieldTest, SetValue) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + // "" -> "Flutter" + { + flutter::testing::MockSignalHandler2 text_inserted(node, + "text-insert"); + flutter::testing::MockSignalHandler text_removed(node, "text-remove"); + + EXPECT_SIGNAL2(text_inserted, ::testing::Eq(0), ::testing::Eq(7)); + EXPECT_SIGNAL(text_removed).Times(0); + + fl_accessible_node_set_value(node, "Flutter"); + } + + // "Flutter" -> "Flutter" + { + flutter::testing::MockSignalHandler text_inserted(node, "text-insert"); + flutter::testing::MockSignalHandler text_removed(node, "text-remove"); + + EXPECT_SIGNAL(text_inserted).Times(0); + EXPECT_SIGNAL(text_removed).Times(0); + + fl_accessible_node_set_value(node, "Flutter"); + } + + // "Flutter" -> "engine" + { + flutter::testing::MockSignalHandler2 text_inserted(node, + "text-insert"); + flutter::testing::MockSignalHandler2 text_removed(node, + "text-remove"); + + EXPECT_SIGNAL2(text_inserted, ::testing::Eq(0), ::testing::Eq(6)); + EXPECT_SIGNAL2(text_removed, ::testing::Eq(0), ::testing::Eq(7)); + + fl_accessible_node_set_value(node, "engine"); + } + + // "engine" -> "" + { + flutter::testing::MockSignalHandler text_inserted(node, "text-insert"); + flutter::testing::MockSignalHandler2 text_removed(node, + "text-remove"); + + EXPECT_SIGNAL(text_inserted).Times(0); + EXPECT_SIGNAL2(text_removed, ::testing::Eq(0), ::testing::Eq(6)); + + fl_accessible_node_set_value(node, ""); + } +} + +// Tests that semantic node selection updates from Flutter emit +// AtkText::text-selection-changed and AtkText::text-caret-moved signals as +// expected. +TEST(FlAccessibleTextFieldTest, SetTextSelection) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + // [-1,-1] -> [2,3] + { + flutter::testing::MockSignalHandler text_selection_changed( + node, "text-selection-changed"); + flutter::testing::MockSignalHandler1 text_caret_moved( + node, "text-caret-moved"); + + EXPECT_SIGNAL(text_selection_changed); + EXPECT_SIGNAL1(text_caret_moved, ::testing::Eq(3)); + + fl_accessible_node_set_text_selection(node, 2, 3); + } + + // [2,3] -> [3,3] + { + flutter::testing::MockSignalHandler text_selection_changed( + node, "text-selection-changed"); + flutter::testing::MockSignalHandler text_caret_moved(node, + "text-caret-moved"); + + EXPECT_SIGNAL(text_selection_changed); + EXPECT_SIGNAL(text_caret_moved).Times(0); + + fl_accessible_node_set_text_selection(node, 3, 3); + } + + // [3,3] -> [3,3] + { + flutter::testing::MockSignalHandler text_selection_changed( + node, "text-selection-changed"); + flutter::testing::MockSignalHandler text_caret_moved(node, + "text-caret-moved"); + + EXPECT_SIGNAL(text_selection_changed).Times(0); + EXPECT_SIGNAL(text_caret_moved).Times(0); + + fl_accessible_node_set_text_selection(node, 3, 3); + } + + // [3,3] -> [4,4] + { + flutter::testing::MockSignalHandler text_selection_changed( + node, "text-selection-changed"); + flutter::testing::MockSignalHandler1 text_caret_moved( + node, "text-caret-moved"); + + EXPECT_SIGNAL(text_selection_changed).Times(0); + EXPECT_SIGNAL1(text_caret_moved, ::testing::Eq(4)); + + fl_accessible_node_set_text_selection(node, 4, 4); + } +} + +// Tests that fl_accessible_text_field_perform_action() passes the required +// "expandSelection" argument for semantic cursor move actions. +TEST(FlAccessibleTextFieldTest, PerformAction) { + g_autoptr(GPtrArray) action_datas = g_ptr_array_new_with_free_func( + reinterpret_cast(fl_value_unref)); + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&action_datas](auto engine, uint64_t id, + FlutterSemanticsAction action, const uint8_t* data, + size_t data_length) { + g_ptr_array_add(action_datas, + decode_semantic_data(data, data_length)); + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + fl_accessible_node_set_actions( + node, static_cast( + kFlutterSemanticsActionMoveCursorForwardByCharacter | + kFlutterSemanticsActionMoveCursorBackwardByCharacter | + kFlutterSemanticsActionMoveCursorForwardByWord | + kFlutterSemanticsActionMoveCursorBackwardByWord)); + + g_autoptr(FlValue) expand_selection = fl_value_new_bool(false); + + for (int i = 0; i < 4; ++i) { + atk_action_do_action(ATK_ACTION(node), i); + + FlValue* data = static_cast(g_ptr_array_index(action_datas, i)); + EXPECT_NE(data, nullptr); + EXPECT_TRUE(fl_value_equal(data, expand_selection)); + } +} + +// Tests AtkText::get_character_count. +TEST(FlAccessibleTextFieldTest, GetCharacterCount) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + EXPECT_EQ(atk_text_get_character_count(ATK_TEXT(node)), 0); + + fl_accessible_node_set_value(node, "Flutter!"); + + EXPECT_EQ(atk_text_get_character_count(ATK_TEXT(node)), 8); +} + +// Tests AtkText::get_text. +TEST(FlAccessibleTextFieldTest, GetText) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + g_autofree gchar* empty = atk_text_get_text(ATK_TEXT(node), 0, -1); + EXPECT_STREQ(empty, ""); + + flutter::testing::MockSignalHandler text_inserted(node, "text-insert"); + EXPECT_SIGNAL(text_inserted).Times(1); + + fl_accessible_node_set_value(node, "Flutter!"); + + g_autofree gchar* flutter = atk_text_get_text(ATK_TEXT(node), 0, -1); + EXPECT_STREQ(flutter, "Flutter!"); + + g_autofree gchar* tt = atk_text_get_text(ATK_TEXT(node), 3, 5); + EXPECT_STREQ(tt, "tt"); +} + +// Tests AtkText::get_caret_offset. +TEST(FlAccessibleTextFieldTest, GetCaretOffset) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + EXPECT_EQ(atk_text_get_caret_offset(ATK_TEXT(node)), -1); + + fl_accessible_node_set_text_selection(node, 1, 2); + + EXPECT_EQ(atk_text_get_caret_offset(ATK_TEXT(node)), 2); +} + +// Tests AtkText::set_caret_offset. +TEST(FlAccessibleTextFieldTest, SetCaretOffset) { + int base = -1; + int extent = -1; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&base, &extent](auto engine, uint64_t id, + FlutterSemanticsAction action, const uint8_t* data, + size_t data_length) { + EXPECT_EQ(action, kFlutterSemanticsActionSetSelection); + g_autoptr(FlValue) value = decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_MAP); + base = fl_value_get_int(fl_value_lookup_string(value, "base")); + extent = fl_value_get_int(fl_value_lookup_string(value, "extent")); + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + EXPECT_TRUE(atk_text_set_caret_offset(ATK_TEXT(node), 3)); + EXPECT_EQ(base, 3); + EXPECT_EQ(extent, 3); +} + +// Tests AtkText::get_n_selections. +TEST(FlAccessibleTextFieldTest, GetNSelections) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + EXPECT_EQ(atk_text_get_n_selections(ATK_TEXT(node)), 0); + + fl_accessible_node_set_text_selection(node, 1, 2); + + EXPECT_EQ(atk_text_get_n_selections(ATK_TEXT(node)), 1); +} + +// Tests AtkText::get_selection. +TEST(FlAccessibleTextFieldTest, GetSelection) { + g_autoptr(FlEngine) engine = make_mock_engine(); + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + EXPECT_EQ(atk_text_get_selection(ATK_TEXT(node), 0, nullptr, nullptr), + nullptr); + + fl_accessible_node_set_value(node, "Flutter"); + fl_accessible_node_set_text_selection(node, 2, 5); + + gint start, end; + g_autofree gchar* selection = + atk_text_get_selection(ATK_TEXT(node), 0, &start, &end); + EXPECT_STREQ(selection, "utt"); + EXPECT_EQ(start, 2); + EXPECT_EQ(end, 5); + + // reverse + fl_accessible_node_set_text_selection(node, 5, 2); + g_autofree gchar* reverse = + atk_text_get_selection(ATK_TEXT(node), 0, &start, &end); + EXPECT_STREQ(reverse, "utt"); + EXPECT_EQ(start, 2); + EXPECT_EQ(end, 5); + + // empty + fl_accessible_node_set_text_selection(node, 5, 5); + EXPECT_EQ(atk_text_get_selection(ATK_TEXT(node), 0, &start, &end), nullptr); + + // selection num != 0 + EXPECT_EQ(atk_text_get_selection(ATK_TEXT(node), 1, &start, &end), nullptr); +} + +// Tests AtkText::add_selection. +TEST(FlAccessibleTextFieldTest, AddSelection) { + int base = -1; + int extent = -1; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&base, &extent](auto engine, uint64_t id, + FlutterSemanticsAction action, const uint8_t* data, + size_t data_length) { + EXPECT_EQ(action, kFlutterSemanticsActionSetSelection); + g_autoptr(FlValue) value = decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_MAP); + base = fl_value_get_int(fl_value_lookup_string(value, "base")); + extent = fl_value_get_int(fl_value_lookup_string(value, "extent")); + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + EXPECT_TRUE(atk_text_add_selection(ATK_TEXT(node), 2, 4)); + EXPECT_EQ(base, 2); + EXPECT_EQ(extent, 4); + + fl_accessible_node_set_text_selection(node, 2, 4); + + // already has selection + EXPECT_FALSE(atk_text_add_selection(ATK_TEXT(node), 6, 7)); + EXPECT_EQ(base, 2); + EXPECT_EQ(extent, 4); +} + +// Tests AtkText::remove_selection. +TEST(FlAccessibleTextFieldTest, RemoveSelection) { + int base = -1; + int extent = -1; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&base, &extent](auto engine, uint64_t id, + FlutterSemanticsAction action, const uint8_t* data, + size_t data_length) { + EXPECT_EQ(action, kFlutterSemanticsActionSetSelection); + g_autoptr(FlValue) value = decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_MAP); + base = fl_value_get_int(fl_value_lookup_string(value, "base")); + extent = fl_value_get_int(fl_value_lookup_string(value, "extent")); + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + // no selection + EXPECT_FALSE(atk_text_remove_selection(ATK_TEXT(node), 0)); + EXPECT_EQ(base, -1); + EXPECT_EQ(extent, -1); + + fl_accessible_node_set_text_selection(node, 2, 4); + + // selection num != 0 + EXPECT_FALSE(atk_text_remove_selection(ATK_TEXT(node), 1)); + EXPECT_EQ(base, -1); + EXPECT_EQ(extent, -1); + + // ok, collapses selection + EXPECT_TRUE(atk_text_remove_selection(ATK_TEXT(node), 0)); + EXPECT_EQ(base, 4); + EXPECT_EQ(extent, 4); +} + +// Tests AtkText::set_selection. +TEST(FlAccessibleTextFieldTest, SetSelection) { + int base = -1; + int extent = -1; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&base, &extent](auto engine, uint64_t id, + FlutterSemanticsAction action, const uint8_t* data, + size_t data_length) { + EXPECT_EQ(action, kFlutterSemanticsActionSetSelection); + g_autoptr(FlValue) value = decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_MAP); + base = fl_value_get_int(fl_value_lookup_string(value, "base")); + extent = fl_value_get_int(fl_value_lookup_string(value, "extent")); + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + // selection num != 0 + EXPECT_FALSE(atk_text_set_selection(ATK_TEXT(node), 1, 2, 4)); + EXPECT_EQ(base, -1); + EXPECT_EQ(extent, -1); + + EXPECT_TRUE(atk_text_set_selection(ATK_TEXT(node), 0, 2, 4)); + EXPECT_EQ(base, 2); + EXPECT_EQ(extent, 4); + + EXPECT_TRUE(atk_text_set_selection(ATK_TEXT(node), 0, 5, 1)); + EXPECT_EQ(base, 5); + EXPECT_EQ(extent, 1); +} + +// Tests AtkEditableText::set_text_contents. +TEST(FlAccessibleTextFieldTest, SetTextContents) { + g_autofree gchar* text = nullptr; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&text](auto engine, uint64_t id, FlutterSemanticsAction action, + const uint8_t* data, size_t data_length) { + EXPECT_EQ(action, kFlutterSemanticsActionSetText); + g_autoptr(FlValue) value = decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_STRING); + text = g_strdup(fl_value_get_string(value)); + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(node), "Flutter"); + EXPECT_STREQ(text, "Flutter"); +} + +// Tests AtkEditableText::insert/delete_text. +TEST(FlAccessibleTextFieldTest, InsertDeleteText) { + g_autofree gchar* text = nullptr; + int base = -1; + int extent = -1; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&text, &base, &extent](auto engine, uint64_t id, + FlutterSemanticsAction action, + const uint8_t* data, size_t data_length) { + EXPECT_THAT(action, + ::testing::AnyOf(kFlutterSemanticsActionSetText, + kFlutterSemanticsActionSetSelection)); + if (action == kFlutterSemanticsActionSetText) { + g_autoptr(FlValue) value = + decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_STRING); + g_free(text); + text = g_strdup(fl_value_get_string(value)); + } else { + g_autoptr(FlValue) value = + decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_MAP); + base = fl_value_get_int(fl_value_lookup_string(value, "base")); + extent = + fl_value_get_int(fl_value_lookup_string(value, "extent")); + } + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + fl_accessible_node_set_value(node, "Fler"); + + gint pos = 2; + atk_editable_text_insert_text(ATK_EDITABLE_TEXT(node), "utt", 3, &pos); + EXPECT_EQ(pos, 5); + EXPECT_STREQ(text, "Flutter"); + EXPECT_EQ(base, pos); + EXPECT_EQ(extent, pos); + + atk_editable_text_delete_text(ATK_EDITABLE_TEXT(node), 2, 5); + EXPECT_STREQ(text, "Fler"); + EXPECT_EQ(base, 2); + EXPECT_EQ(extent, 2); +} + +// Tests AtkEditableText::copy/cut/paste_text. +TEST(FlAccessibleTextFieldTest, CopyCutPasteText) { + int base = -1; + int extent = -1; + FlutterSemanticsAction act = kFlutterSemanticsActionCustomAction; + + g_autoptr(FlEngine) engine = make_mock_engine(); + fl_engine_get_embedder_api(engine)->DispatchSemanticsAction = + MOCK_ENGINE_PROC( + DispatchSemanticsAction, + ([&act, &base, &extent](auto engine, uint64_t id, + FlutterSemanticsAction action, + const uint8_t* data, size_t data_length) { + EXPECT_THAT(action, + ::testing::AnyOf(kFlutterSemanticsActionCut, + kFlutterSemanticsActionCopy, + kFlutterSemanticsActionPaste, + kFlutterSemanticsActionSetSelection)); + act = action; + if (action == kFlutterSemanticsActionSetSelection) { + g_autoptr(FlValue) value = + decode_semantic_data(data, data_length); + EXPECT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_MAP); + base = fl_value_get_int(fl_value_lookup_string(value, "base")); + extent = + fl_value_get_int(fl_value_lookup_string(value, "extent")); + } + return kSuccess; + })); + + g_autoptr(FlAccessibleNode) node = fl_accessible_text_field_new(engine, 1); + + atk_editable_text_copy_text(ATK_EDITABLE_TEXT(node), 2, 5); + EXPECT_EQ(base, 2); + EXPECT_EQ(extent, 5); + EXPECT_EQ(act, kFlutterSemanticsActionCopy); + + atk_editable_text_cut_text(ATK_EDITABLE_TEXT(node), 1, 4); + EXPECT_EQ(base, 1); + EXPECT_EQ(extent, 4); + EXPECT_EQ(act, kFlutterSemanticsActionCut); + + atk_editable_text_paste_text(ATK_EDITABLE_TEXT(node), 3); + EXPECT_EQ(base, 3); + EXPECT_EQ(extent, 3); + EXPECT_EQ(act, kFlutterSemanticsActionPaste); +} + +// NOLINTEND(clang-analyzer-core.StackAddressEscape) diff --git a/shell/platform/linux/fl_engine.cc b/shell/platform/linux/fl_engine.cc index 30524a83c78cc..042e91abc4b1b 100644 --- a/shell/platform/linux/fl_engine.cc +++ b/shell/platform/linux/fl_engine.cc @@ -73,6 +73,8 @@ G_DEFINE_TYPE_WITH_CODE( G_IMPLEMENT_INTERFACE(fl_plugin_registry_get_type(), fl_engine_plugin_registry_iface_init)) +enum { kProp0, kPropBinaryMessenger, kPropLast }; + // Parse a locale into its components. static void parse_locale(const gchar* locale, gchar** language, @@ -351,6 +353,22 @@ static void fl_engine_plugin_registry_iface_init( iface->get_registrar_for_plugin = fl_engine_get_registrar_for_plugin; } +static void fl_engine_set_property(GObject* object, + guint prop_id, + const GValue* value, + GParamSpec* pspec) { + FlEngine* self = FL_ENGINE(object); + switch (prop_id) { + case kPropBinaryMessenger: + g_set_object(&self->binary_messenger, + FL_BINARY_MESSENGER(g_value_get_object(value))); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); + break; + } +} + static void fl_engine_dispose(GObject* object) { FlEngine* self = FL_ENGINE(object); @@ -397,6 +415,15 @@ static void fl_engine_dispose(GObject* object) { static void fl_engine_class_init(FlEngineClass* klass) { G_OBJECT_CLASS(klass)->dispose = fl_engine_dispose; + G_OBJECT_CLASS(klass)->set_property = fl_engine_set_property; + + g_object_class_install_property( + G_OBJECT_CLASS(klass), kPropBinaryMessenger, + g_param_spec_object( + "binary-messenger", "messenger", "Binary messenger", + fl_binary_messenger_get_type(), + static_cast(G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS))); } static void fl_engine_init(FlEngine* self) { @@ -406,7 +433,6 @@ static void fl_engine_init(FlEngine* self) { FlutterEngineGetProcAddresses(&self->embedder_api); self->texture_registrar = fl_texture_registrar_new(self); - self->binary_messenger = fl_binary_messenger_new(self); } FlEngine* fl_engine_new(FlDartProject* project, FlRenderer* renderer) { @@ -416,6 +442,7 @@ FlEngine* fl_engine_new(FlDartProject* project, FlRenderer* renderer) { FlEngine* self = FL_ENGINE(g_object_new(fl_engine_get_type(), nullptr)); self->project = FL_DART_PROJECT(g_object_ref(project)); self->renderer = FL_RENDERER(g_object_ref(renderer)); + self->binary_messenger = fl_binary_messenger_new(self); return self; } @@ -522,7 +549,7 @@ gboolean fl_engine_start(FlEngine* self, GError** error) { setup_locales(self); g_autoptr(FlSettings) settings = fl_settings_new(); - self->settings_plugin = fl_settings_plugin_new(self->binary_messenger); + self->settings_plugin = fl_settings_plugin_new(self); fl_settings_plugin_start(self->settings_plugin, settings); result = self->embedder_api.UpdateSemanticsEnabled(self->engine, TRUE); @@ -844,3 +871,14 @@ G_MODULE_EXPORT FlTextureRegistrar* fl_engine_get_texture_registrar( g_return_val_if_fail(FL_IS_ENGINE(self), nullptr); return self->texture_registrar; } + +void fl_engine_update_accessibility_features(FlEngine* self, int32_t flags) { + g_return_if_fail(FL_IS_ENGINE(self)); + + if (self->engine == nullptr) { + return; + } + + self->embedder_api.UpdateAccessibilityFeatures( + self->engine, static_cast(flags)); +} diff --git a/shell/platform/linux/fl_engine_private.h b/shell/platform/linux/fl_engine_private.h index 2d13e157d4c27..879e4f54b5ed0 100644 --- a/shell/platform/linux/fl_engine_private.h +++ b/shell/platform/linux/fl_engine_private.h @@ -327,6 +327,15 @@ gboolean fl_engine_register_external_texture(FlEngine* engine, gboolean fl_engine_unregister_external_texture(FlEngine* engine, int64_t texture_id); +/** + * fl_engine_update_accessibility_features: + * @engine: an #FlEngine. + * @flags: the features to enable in the accessibility tree. + * + * Tells the Flutter engine to update the flags on the accessibility tree. + */ +void fl_engine_update_accessibility_features(FlEngine* engine, int32_t flags); + G_END_DECLS #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_ENGINE_PRIVATE_H_ diff --git a/shell/platform/linux/fl_gnome_settings.cc b/shell/platform/linux/fl_gnome_settings.cc index c0ece9ed59eb8..31556e53b9e16 100644 --- a/shell/platform/linux/fl_gnome_settings.cc +++ b/shell/platform/linux/fl_gnome_settings.cc @@ -63,6 +63,14 @@ static FlColorScheme fl_gnome_settings_get_color_scheme(FlSettings* settings) { return color_scheme; } +static gboolean fl_gnome_settings_get_enable_animations(FlSettings* settings) { + return true; +} + +static gboolean fl_gnome_settings_get_high_contrast(FlSettings* settings) { + return false; +} + static gdouble fl_gnome_settings_get_text_scaling_factor(FlSettings* settings) { FlGnomeSettings* self = FL_GNOME_SETTINGS(settings); @@ -133,6 +141,8 @@ static void fl_gnome_settings_class_init(FlGnomeSettingsClass* klass) { static void fl_gnome_settings_iface_init(FlSettingsInterface* iface) { iface->get_clock_format = fl_gnome_settings_get_clock_format; iface->get_color_scheme = fl_gnome_settings_get_color_scheme; + iface->get_enable_animations = fl_gnome_settings_get_enable_animations; + iface->get_high_contrast = fl_gnome_settings_get_high_contrast; iface->get_text_scaling_factor = fl_gnome_settings_get_text_scaling_factor; } diff --git a/shell/platform/linux/fl_gnome_settings_test.cc b/shell/platform/linux/fl_gnome_settings_test.cc index f4cd92e0ddafb..842594d244e60 100644 --- a/shell/platform/linux/fl_gnome_settings_test.cc +++ b/shell/platform/linux/fl_gnome_settings_test.cc @@ -69,6 +69,16 @@ TEST_F(FlGnomeSettingsTest, GtkTheme) { EXPECT_EQ(fl_settings_get_color_scheme(settings), FL_COLOR_SCHEME_DARK); } +TEST_F(FlGnomeSettingsTest, EnableAnimations) { + g_autoptr(FlSettings) settings = fl_gnome_settings_new(); + EXPECT_TRUE(fl_settings_get_enable_animations(settings)); +} + +TEST_F(FlGnomeSettingsTest, HighContrast) { + g_autoptr(FlSettings) settings = fl_gnome_settings_new(); + EXPECT_FALSE(fl_settings_get_high_contrast(settings)); +} + TEST_F(FlGnomeSettingsTest, TextScalingFactor) { g_autoptr(GSettings) interface_settings = create_settings("ubuntu-20.04", "org.gnome.desktop.interface"); diff --git a/shell/platform/linux/fl_settings.cc b/shell/platform/linux/fl_settings.cc index 225a5971d5194..39821b779ecb0 100644 --- a/shell/platform/linux/fl_settings.cc +++ b/shell/platform/linux/fl_settings.cc @@ -35,6 +35,14 @@ FlColorScheme fl_settings_get_color_scheme(FlSettings* self) { return FL_SETTINGS_GET_IFACE(self)->get_color_scheme(self); } +gboolean fl_settings_get_enable_animations(FlSettings* self) { + return FL_SETTINGS_GET_IFACE(self)->get_enable_animations(self); +} + +gboolean fl_settings_get_high_contrast(FlSettings* self) { + return FL_SETTINGS_GET_IFACE(self)->get_high_contrast(self); +} + gdouble fl_settings_get_text_scaling_factor(FlSettings* self) { return FL_SETTINGS_GET_IFACE(self)->get_text_scaling_factor(self); } diff --git a/shell/platform/linux/fl_settings.h b/shell/platform/linux/fl_settings.h index 25f823614f858..4453fd86196ce 100644 --- a/shell/platform/linux/fl_settings.h +++ b/shell/platform/linux/fl_settings.h @@ -43,6 +43,8 @@ struct _FlSettingsInterface { GTypeInterface parent; FlClockFormat (*get_clock_format)(FlSettings* settings); FlColorScheme (*get_color_scheme)(FlSettings* settings); + gboolean (*get_enable_animations)(FlSettings* settings); + gboolean (*get_high_contrast)(FlSettings* settings); gdouble (*get_text_scaling_factor)(FlSettings* settings); }; @@ -79,6 +81,31 @@ FlClockFormat fl_settings_get_clock_format(FlSettings* settings); */ FlColorScheme fl_settings_get_color_scheme(FlSettings* settings); +/** + * fl_settings_get_enable_animations: + * @settings: an #FlSettings. + * + * Whether animations should be enabled. + * + * This corresponds to `org.gnome.desktop.interface.enable-animations` in GNOME. + * + * Returns: %TRUE if animations are enabled. + */ +gboolean fl_settings_get_enable_animations(FlSettings* settings); + +/** + * fl_settings_get_high_contrast: + * @settings: an #FlSettings. + * + * Whether to use high contrast theme. + * + * This corresponds to `org.gnome.desktop.a11y.interface.high-contrast` in + * GNOME. + * + * Returns: %TRUE if high contrast is used. + */ +gboolean fl_settings_get_high_contrast(FlSettings* settings); + /** * fl_settings_get_text_scaling_factor: * @settings: an #FlSettings. diff --git a/shell/platform/linux/fl_settings_plugin.cc b/shell/platform/linux/fl_settings_plugin.cc index 89c800167860c..c6d946d2c5838 100644 --- a/shell/platform/linux/fl_settings_plugin.cc +++ b/shell/platform/linux/fl_settings_plugin.cc @@ -6,7 +6,10 @@ #include +#include "flutter/shell/platform/embedder/embedder.h" +#include "flutter/shell/platform/linux/fl_engine_private.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_basic_message_channel.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_json_message_codec.h" static constexpr char kChannelName[] = "flutter/settings"; @@ -20,7 +23,7 @@ struct _FlSettingsPlugin { GObject parent_instance; FlBasicMessageChannel* channel; - + FlEngine* engine; FlSettings* settings; }; @@ -54,6 +57,17 @@ static void update_settings(FlSettingsPlugin* self) { fl_value_new_string(to_platform_brightness(color_scheme))); fl_basic_message_channel_send(self->channel, message, nullptr, nullptr, nullptr); + + if (self->engine != nullptr) { + int32_t flags = 0; + if (!fl_settings_get_enable_animations(self->settings)) { + flags |= kFlutterAccessibilityFeatureDisableAnimations; + } + if (fl_settings_get_high_contrast(self->settings)) { + flags |= kFlutterAccessibilityFeatureHighContrast; + } + fl_engine_update_accessibility_features(self->engine, flags); + } } static void fl_settings_plugin_dispose(GObject* object) { @@ -62,6 +76,12 @@ static void fl_settings_plugin_dispose(GObject* object) { g_clear_object(&self->channel); g_clear_object(&self->settings); + if (self->engine != nullptr) { + g_object_remove_weak_pointer(G_OBJECT(self), + reinterpret_cast(&(self->engine))); + self->engine = nullptr; + } + G_OBJECT_CLASS(fl_settings_plugin_parent_class)->dispose(object); } @@ -71,12 +91,17 @@ static void fl_settings_plugin_class_init(FlSettingsPluginClass* klass) { static void fl_settings_plugin_init(FlSettingsPlugin* self) {} -FlSettingsPlugin* fl_settings_plugin_new(FlBinaryMessenger* messenger) { - g_return_val_if_fail(FL_IS_BINARY_MESSENGER(messenger), nullptr); +FlSettingsPlugin* fl_settings_plugin_new(FlEngine* engine) { + g_return_val_if_fail(FL_IS_ENGINE(engine), nullptr); FlSettingsPlugin* self = FL_SETTINGS_PLUGIN(g_object_new(fl_settings_plugin_get_type(), nullptr)); + self->engine = engine; + g_object_add_weak_pointer(G_OBJECT(self), + reinterpret_cast(&(self->engine))); + + FlBinaryMessenger* messenger = fl_engine_get_binary_messenger(engine); g_autoptr(FlJsonMessageCodec) codec = fl_json_message_codec_new(); self->channel = fl_basic_message_channel_new(messenger, kChannelName, FL_MESSAGE_CODEC(codec)); diff --git a/shell/platform/linux/fl_settings_plugin.h b/shell/platform/linux/fl_settings_plugin.h index 344a98dd8db91..2b6782a06df2d 100644 --- a/shell/platform/linux/fl_settings_plugin.h +++ b/shell/platform/linux/fl_settings_plugin.h @@ -6,7 +6,7 @@ #define FLUTTER_SHELL_PLATFORM_LINUX_FL_SETTINGS_PLUGIN_H_ #include "flutter/shell/platform/linux/fl_settings.h" -#include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h" G_BEGIN_DECLS @@ -25,13 +25,13 @@ G_DECLARE_FINAL_TYPE(FlSettingsPlugin, /** * fl_settings_plugin_new: - * @messenger: an #FlBinaryMessenger + * @messenger: an #FlEngine * * Creates a new plugin that sends user settings to the Flutter engine. * * Returns: a new #FlSettingsPlugin */ -FlSettingsPlugin* fl_settings_plugin_new(FlBinaryMessenger* messenger); +FlSettingsPlugin* fl_settings_plugin_new(FlEngine* engine); /** * fl_settings_plugin_start: diff --git a/shell/platform/linux/fl_settings_plugin_test.cc b/shell/platform/linux/fl_settings_plugin_test.cc index 55f9e98c8acea..7100a1c46c0aa 100644 --- a/shell/platform/linux/fl_settings_plugin_test.cc +++ b/shell/platform/linux/fl_settings_plugin_test.cc @@ -3,6 +3,9 @@ // found in the LICENSE file. #include "flutter/shell/platform/linux/fl_settings_plugin.h" +#include "flutter/shell/platform/embedder/embedder.h" +#include "flutter/shell/platform/embedder/test_utils/proc_table_replacement.h" +#include "flutter/shell/platform/linux/fl_engine_private.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_json_message_codec.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h" @@ -38,7 +41,10 @@ TEST(FlSettingsPluginTest, AlwaysUse24HourFormat) { ::testing::NiceMock settings; ::testing::NiceMock messenger; - g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(messenger); + g_autoptr(FlEngine) engine = + FL_ENGINE(g_object_new(fl_engine_get_type(), "binary-messenger", + FL_BINARY_MESSENGER(messenger), nullptr)); + g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(engine); g_autoptr(FlValue) use_12h = fl_value_new_bool(false); g_autoptr(FlValue) use_24h = fl_value_new_bool(true); @@ -61,7 +67,10 @@ TEST(FlSettingsPluginTest, PlatformBrightness) { ::testing::NiceMock settings; ::testing::NiceMock messenger; - g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(messenger); + g_autoptr(FlEngine) engine = + FL_ENGINE(g_object_new(fl_engine_get_type(), "binary-messenger", + FL_BINARY_MESSENGER(messenger), nullptr)); + g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(engine); g_autoptr(FlValue) light = fl_value_new_string("light"); g_autoptr(FlValue) dark = fl_value_new_string("dark"); @@ -84,7 +93,10 @@ TEST(FlSettingsPluginTest, TextScaleFactor) { ::testing::NiceMock settings; ::testing::NiceMock messenger; - g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(messenger); + g_autoptr(FlEngine) engine = + FL_ENGINE(g_object_new(fl_engine_get_type(), "binary-messenger", + FL_BINARY_MESSENGER(messenger), nullptr)); + g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(engine); g_autoptr(FlValue) one = fl_value_new_float(1.0); g_autoptr(FlValue) two = fl_value_new_float(2.0); @@ -102,3 +114,57 @@ TEST(FlSettingsPluginTest, TextScaleFactor) { fl_settings_emit_changed(settings); } + +// MOCK_ENGINE_PROC is leaky by design +// NOLINTBEGIN(clang-analyzer-core.StackAddressEscape) +TEST(FlSettingsPluginTest, AccessibilityFeatures) { + g_autoptr(FlEngine) engine = make_mock_engine(); + FlutterEngineProcTable* embedder_api = fl_engine_get_embedder_api(engine); + + std::vector calls; + embedder_api->UpdateAccessibilityFeatures = MOCK_ENGINE_PROC( + UpdateAccessibilityFeatures, + ([&calls](auto engine, FlutterAccessibilityFeature features) { + calls.push_back(features); + return kSuccess; + })); + + g_autoptr(FlSettingsPlugin) plugin = fl_settings_plugin_new(engine); + + ::testing::NiceMock settings; + + EXPECT_CALL(settings, fl_settings_get_enable_animations( + ::testing::Eq(settings))) + .WillOnce(::testing::Return(false)) + .WillOnce(::testing::Return(true)) + .WillOnce(::testing::Return(false)) + .WillOnce(::testing::Return(true)); + + EXPECT_CALL(settings, fl_settings_get_high_contrast( + ::testing::Eq(settings))) + .WillOnce(::testing::Return(true)) + .WillOnce(::testing::Return(false)) + .WillOnce(::testing::Return(false)) + .WillOnce(::testing::Return(true)); + + fl_settings_plugin_start(plugin, settings); + EXPECT_THAT(calls, ::testing::SizeIs(1)); + EXPECT_EQ(calls.back(), static_cast( + kFlutterAccessibilityFeatureDisableAnimations | + kFlutterAccessibilityFeatureHighContrast)); + + fl_settings_emit_changed(settings); + EXPECT_THAT(calls, ::testing::SizeIs(2)); + EXPECT_EQ(calls.back(), static_cast(0)); + + fl_settings_emit_changed(settings); + EXPECT_THAT(calls, ::testing::SizeIs(3)); + EXPECT_EQ(calls.back(), static_cast( + kFlutterAccessibilityFeatureDisableAnimations)); + + fl_settings_emit_changed(settings); + EXPECT_THAT(calls, ::testing::SizeIs(4)); + EXPECT_EQ(calls.back(), static_cast( + kFlutterAccessibilityFeatureHighContrast)); +} +// NOLINTEND(clang-analyzer-core.StackAddressEscape) diff --git a/shell/platform/linux/fl_settings_portal.cc b/shell/platform/linux/fl_settings_portal.cc index cf842b0250166..1cb93240dc942 100644 --- a/shell/platform/linux/fl_settings_portal.cc +++ b/shell/platform/linux/fl_settings_portal.cc @@ -24,12 +24,25 @@ static const FlSetting kColorScheme = { G_VARIANT_TYPE_UINT32, }; +static constexpr char kGnomeA11yInterface[] = + "org.gnome.desktop.a11y.interface"; +static const FlSetting kHighContrast = { + kGnomeA11yInterface, + "high-contrast", + G_VARIANT_TYPE_BOOLEAN, +}; + static constexpr char kGnomeDesktopInterface[] = "org.gnome.desktop.interface"; static const FlSetting kClockFormat = { kGnomeDesktopInterface, "clock-format", G_VARIANT_TYPE_STRING, }; +static const FlSetting kEnableAnimations = { + kGnomeDesktopInterface, + "enable-animations", + G_VARIANT_TYPE_BOOLEAN, +}; static const FlSetting kGtkTheme = { kGnomeDesktopInterface, "gtk-theme", @@ -42,10 +55,8 @@ static const FlSetting kTextScalingFactor = { }; static const FlSetting kAllSettings[] = { - kClockFormat, - kColorScheme, - kGtkTheme, - kTextScalingFactor, + kClockFormat, kColorScheme, kEnableAnimations, + kGtkTheme, kHighContrast, kTextScalingFactor, }; static constexpr char kClockFormat12Hour[] = "12h"; @@ -185,6 +196,32 @@ static FlColorScheme fl_settings_portal_get_color_scheme(FlSettings* settings) { return color_scheme; } +static gboolean fl_settings_portal_get_enable_animations(FlSettings* settings) { + FlSettingsPortal* self = FL_SETTINGS_PORTAL(settings); + + gboolean enable_animations = true; + + g_autoptr(GVariant) value = nullptr; + if (get_value(self, &kEnableAnimations, &value)) { + enable_animations = g_variant_get_boolean(value); + } + + return enable_animations; +} + +static gboolean fl_settings_portal_get_high_contrast(FlSettings* settings) { + FlSettingsPortal* self = FL_SETTINGS_PORTAL(settings); + + gboolean high_contrast = false; + + g_autoptr(GVariant) value = nullptr; + if (get_value(self, &kHighContrast, &value)) { + high_contrast = g_variant_get_boolean(value); + } + + return high_contrast; +} + static gdouble fl_settings_portal_get_text_scaling_factor( FlSettings* settings) { FlSettingsPortal* self = FL_SETTINGS_PORTAL(settings); @@ -216,6 +253,8 @@ static void fl_settings_portal_class_init(FlSettingsPortalClass* klass) { static void fl_settings_portal_iface_init(FlSettingsInterface* iface) { iface->get_clock_format = fl_settings_portal_get_clock_format; iface->get_color_scheme = fl_settings_portal_get_color_scheme; + iface->get_enable_animations = fl_settings_portal_get_enable_animations; + iface->get_high_contrast = fl_settings_portal_get_high_contrast; iface->get_text_scaling_factor = fl_settings_portal_get_text_scaling_factor; } diff --git a/shell/platform/linux/fl_settings_portal_test.cc b/shell/platform/linux/fl_settings_portal_test.cc index 4130a8cb1a84d..60010bdeeea2a 100644 --- a/shell/platform/linux/fl_settings_portal_test.cc +++ b/shell/platform/linux/fl_settings_portal_test.cc @@ -97,6 +97,32 @@ TEST(FlSettingsPortalTest, GtkTheme) { EXPECT_EQ(fl_settings_get_color_scheme(portal), FL_COLOR_SCHEME_LIGHT); } +TEST(FlSettingsPortalTest, EnableAnimations) { + g_autoptr(GVariantDict) settings = g_variant_dict_new(nullptr); + + g_autoptr(FlSettings) portal = + FL_SETTINGS(fl_settings_portal_new_with_values(settings)); + EXPECT_TRUE(fl_settings_get_enable_animations(portal)); + + g_variant_dict_insert_value(settings, + "org.gnome.desktop.interface::enable-animations", + g_variant_new_boolean(false)); + EXPECT_FALSE(fl_settings_get_enable_animations(portal)); +} + +TEST(FlSettingsPortalTest, HighContrast) { + g_autoptr(GVariantDict) settings = g_variant_dict_new(nullptr); + + g_autoptr(FlSettings) portal = + FL_SETTINGS(fl_settings_portal_new_with_values(settings)); + EXPECT_FALSE(fl_settings_get_high_contrast(portal)); + + g_variant_dict_insert_value(settings, + "org.gnome.desktop.a11y.interface::high-contrast", + g_variant_new_boolean(true)); + EXPECT_TRUE(fl_settings_get_high_contrast(portal)); +} + TEST(FlSettingsPortalTest, TextScalingFactor) { g_autoptr(GVariantDict) settings = g_variant_dict_new(nullptr); diff --git a/shell/platform/linux/fl_view.cc b/shell/platform/linux/fl_view.cc index 533ed0b916ce0..eab868a2bcb4b 100644 --- a/shell/platform/linux/fl_view.cc +++ b/shell/platform/linux/fl_view.cc @@ -811,8 +811,6 @@ static void fl_view_remove(GtkContainer* container, GtkWidget* widget) { if (widget == GTK_WIDGET(self->event_box)) { g_clear_object(&self->event_box); } - - g_clear_object(&self->keymap); } // Implements GtkContainer::forall diff --git a/shell/platform/linux/fl_view_accessible.cc b/shell/platform/linux/fl_view_accessible.cc index fc17063ef335c..19d81c18050f6 100644 --- a/shell/platform/linux/fl_view_accessible.cc +++ b/shell/platform/linux/fl_view_accessible.cc @@ -4,6 +4,8 @@ #include "flutter/shell/platform/linux/fl_view_accessible.h" #include "flutter/shell/platform/linux/fl_accessible_node.h" +#include "flutter/shell/platform/linux/fl_accessible_text_field.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_view.h" struct _FlViewAccessible { @@ -13,6 +15,9 @@ struct _FlViewAccessible { // Semantics nodes keyed by ID GHashTable* semantics_nodes_by_id; + + // Child IDs stored until commit_updates is called + GHashTable* pending_children; }; enum { kProp0, kPropEngine, kPropLast }; @@ -36,40 +41,91 @@ static FlEngine* get_engine(FlViewAccessible* self) { return self->engine; } +static FlAccessibleNode* create_node(FlViewAccessible* self, + const FlutterSemanticsNode* semantics) { + FlEngine* engine = get_engine(self); + + if (semantics->flags & kFlutterSemanticsFlagIsTextField) { + return fl_accessible_text_field_new(engine, semantics->id); + } + + return fl_accessible_node_new(engine, semantics->id); +} + +static FlAccessibleNode* lookup_node(FlViewAccessible* self, int32_t id) { + return FL_ACCESSIBLE_NODE( + g_hash_table_lookup(self->semantics_nodes_by_id, GINT_TO_POINTER(id))); +} + // Gets the ATK node for the given id. // If the node doesn't exist it will be created. -static FlAccessibleNode* get_node(FlViewAccessible* self, int32_t id) { - FlAccessibleNode* node = FL_ACCESSIBLE_NODE( - g_hash_table_lookup(self->semantics_nodes_by_id, GINT_TO_POINTER(id))); +static FlAccessibleNode* get_node(FlViewAccessible* self, + const FlutterSemanticsNode* semantics) { + FlAccessibleNode* node = lookup_node(self, semantics->id); if (node != nullptr) { return node; } - FlEngine* engine = get_engine(self); - node = fl_accessible_node_new(engine, id); - if (id == 0) { + node = create_node(self, semantics); + if (semantics->id == 0) { fl_accessible_node_set_parent(node, ATK_OBJECT(self), 0); + g_signal_emit_by_name(self, "children-changed::add", 0, node, nullptr); } - g_hash_table_insert(self->semantics_nodes_by_id, GINT_TO_POINTER(id), + g_hash_table_insert(self->semantics_nodes_by_id, + GINT_TO_POINTER(semantics->id), reinterpret_cast(node)); return node; } +static void commit_updates(FlViewAccessible* self) { + g_hash_table_foreach_remove( + self->pending_children, + [](gpointer key, gpointer value, gpointer user_data) -> gboolean { + FlViewAccessible* self = FL_VIEW_ACCESSIBLE(user_data); + + FlAccessibleNode* parent = FL_ACCESSIBLE_NODE(key); + + size_t child_count = fl_value_get_length(static_cast(value)); + const int32_t* children_in_traversal_order = + fl_value_get_int32_list(static_cast(value)); + + g_autoptr(GPtrArray) children = g_ptr_array_new(); + for (size_t i = 0; i < child_count; i++) { + FlAccessibleNode* child = + lookup_node(self, children_in_traversal_order[i]); + g_assert(child != nullptr); + fl_accessible_node_set_parent(child, ATK_OBJECT(parent), i); + g_ptr_array_add(children, child); + } + fl_accessible_node_set_children(parent, children); + + return true; + }, + self); +} + // Implements AtkObject::get_n_children static gint fl_view_accessible_get_n_children(AtkObject* accessible) { + FlViewAccessible* self = FL_VIEW_ACCESSIBLE(accessible); + FlAccessibleNode* node = lookup_node(self, 0); + + if (node == nullptr) { + return 0; + } + return 1; } // Implements AtkObject::ref_child static AtkObject* fl_view_accessible_ref_child(AtkObject* accessible, gint i) { FlViewAccessible* self = FL_VIEW_ACCESSIBLE(accessible); + FlAccessibleNode* node = lookup_node(self, 0); - if (i != 0) { + if (i != 0 || node == nullptr) { return nullptr; } - FlAccessibleNode* node = get_node(self, 0); return ATK_OBJECT(g_object_ref(node)); } @@ -97,6 +153,9 @@ static void fl_view_accessible_set_property(GObject* object, static void fl_view_accessible_dispose(GObject* object) { FlViewAccessible* self = FL_VIEW_ACCESSIBLE(object); + g_clear_pointer(&self->semantics_nodes_by_id, g_hash_table_unref); + g_clear_pointer(&self->pending_children, g_hash_table_unref); + if (self->engine != nullptr) { g_object_remove_weak_pointer(object, reinterpret_cast(&self->engine)); @@ -125,16 +184,20 @@ static void fl_view_accessible_class_init(FlViewAccessibleClass* klass) { static void fl_view_accessible_init(FlViewAccessible* self) { self->semantics_nodes_by_id = g_hash_table_new_full( g_direct_hash, g_direct_equal, nullptr, g_object_unref); + self->pending_children = + g_hash_table_new_full(g_direct_hash, g_direct_equal, nullptr, + reinterpret_cast(fl_value_unref)); } void fl_view_accessible_handle_update_semantics_node( FlViewAccessible* self, const FlutterSemanticsNode* node) { - if (node->id == kFlutterSemanticsCustomActionIdBatchEnd) { + if (node->id == kFlutterSemanticsNodeIdBatchEnd) { + commit_updates(self); return; } - FlAccessibleNode* atk_node = get_node(self, node->id); + FlAccessibleNode* atk_node = get_node(self, node); fl_accessible_node_set_flags(atk_node, node->flags); fl_accessible_node_set_actions(atk_node, node->actions); @@ -143,13 +206,11 @@ void fl_view_accessible_handle_update_semantics_node( atk_node, node->rect.left + node->transform.transX, node->rect.top + node->transform.transY, node->rect.right - node->rect.left, node->rect.bottom - node->rect.top); + fl_accessible_node_set_value(atk_node, node->value); + fl_accessible_node_set_text_selection(atk_node, node->text_selection_base, + node->text_selection_extent); - g_autoptr(GPtrArray) children = g_ptr_array_new(); - for (size_t i = 0; i < node->child_count; i++) { - FlAccessibleNode* child = - get_node(self, node->children_in_traversal_order[i]); - fl_accessible_node_set_parent(child, ATK_OBJECT(atk_node), i); - g_ptr_array_add(children, child); - } - fl_accessible_node_set_children(atk_node, children); + FlValue* children = fl_value_new_int32_list(node->children_in_traversal_order, + node->child_count); + g_hash_table_insert(self->pending_children, atk_node, children); } diff --git a/shell/platform/linux/fl_view_accessible_test.cc b/shell/platform/linux/fl_view_accessible_test.cc index adbe48dc14bf2..bb34774f98c01 100644 --- a/shell/platform/linux/fl_view_accessible_test.cc +++ b/shell/platform/linux/fl_view_accessible_test.cc @@ -10,6 +10,9 @@ #include "flutter/shell/platform/linux/testing/fl_test.h" #include "flutter/shell/platform/linux/testing/mock_signal_handler.h" +static const FlutterSemanticsNode kBatchEndNode = { + .id = kFlutterSemanticsNodeIdBatchEnd}; + TEST(FlViewAccessibleTest, BuildTree) { g_autoptr(FlEngine) engine = make_mock_engine(); g_autoptr(FlViewAccessible) accessible = FL_VIEW_ACCESSIBLE( @@ -30,6 +33,8 @@ TEST(FlViewAccessibleTest, BuildTree) { const FlutterSemanticsNode child2_node = {.id = 222, .label = "child 2"}; fl_view_accessible_handle_update_semantics_node(accessible, &child2_node); + fl_view_accessible_handle_update_semantics_node(accessible, &kBatchEndNode); + AtkObject* root_object = atk_object_ref_accessible_child(ATK_OBJECT(accessible), 0); EXPECT_STREQ(atk_object_get_name(root_object), "root"); @@ -61,6 +66,8 @@ TEST(FlViewAccessibleTest, AddRemoveChildren) { }; fl_view_accessible_handle_update_semantics_node(accessible, &root_node); + fl_view_accessible_handle_update_semantics_node(accessible, &kBatchEndNode); + AtkObject* root_object = atk_object_ref_accessible_child(ATK_OBJECT(accessible), 0); EXPECT_EQ(atk_object_get_n_accessible_children(root_object), 0); @@ -80,6 +87,8 @@ TEST(FlViewAccessibleTest, AddRemoveChildren) { const FlutterSemanticsNode child1_node = {.id = 111, .label = "child 1"}; fl_view_accessible_handle_update_semantics_node(accessible, &child1_node); + + fl_view_accessible_handle_update_semantics_node(accessible, &kBatchEndNode); } EXPECT_EQ(atk_object_get_n_accessible_children(root_object), 1); @@ -105,6 +114,8 @@ TEST(FlViewAccessibleTest, AddRemoveChildren) { const FlutterSemanticsNode child2_node = {.id = 222, .label = "child 2"}; fl_view_accessible_handle_update_semantics_node(accessible, &child2_node); + + fl_view_accessible_handle_update_semantics_node(accessible, &kBatchEndNode); } EXPECT_EQ(atk_object_get_n_accessible_children(root_object), 2); @@ -132,6 +143,8 @@ TEST(FlViewAccessibleTest, AddRemoveChildren) { root_node.child_count = 1; root_node.children_in_traversal_order = children; fl_view_accessible_handle_update_semantics_node(accessible, &root_node); + + fl_view_accessible_handle_update_semantics_node(accessible, &kBatchEndNode); } EXPECT_EQ(atk_object_get_n_accessible_children(root_object), 1); @@ -151,6 +164,8 @@ TEST(FlViewAccessibleTest, AddRemoveChildren) { root_node.child_count = 0; fl_view_accessible_handle_update_semantics_node(accessible, &root_node); + + fl_view_accessible_handle_update_semantics_node(accessible, &kBatchEndNode); } EXPECT_EQ(atk_object_get_n_accessible_children(root_object), 0); diff --git a/shell/platform/linux/testing/mock_engine.cc b/shell/platform/linux/testing/mock_engine.cc index ccb1cb1c0c448..69057667e8c39 100644 --- a/shell/platform/linux/testing/mock_engine.cc +++ b/shell/platform/linux/testing/mock_engine.cc @@ -19,6 +19,7 @@ #include "flutter/shell/platform/linux/public/flutter_linux/fl_standard_method_codec.h" #include "gtest/gtest.h" +const int32_t kFlutterSemanticsNodeIdBatchEnd = -1; const int32_t kFlutterSemanticsCustomActionIdBatchEnd = -1; struct _FlutterEngineTexture { @@ -466,6 +467,12 @@ FlutterEngineResult FlutterEngineUpdateSemanticsEnabled( return kSuccess; } +FlutterEngineResult FlutterEngineUpdateAccessibilityFeatures( + FLUTTER_API_SYMBOL(FlutterEngine) engine, + FlutterAccessibilityFeature features) { + return kSuccess; +} + FlutterEngineResult FlutterEngineDispatchSemanticsAction( FLUTTER_API_SYMBOL(FlutterEngine) engine, uint64_t id, @@ -539,5 +546,7 @@ FlutterEngineResult FlutterEngineGetProcAddresses( table->MarkExternalTextureFrameAvailable = &FlutterEngineMarkExternalTextureFrameAvailable; table->UnregisterExternalTexture = &FlutterEngineUnregisterExternalTexture; + table->UpdateAccessibilityFeatures = + &FlutterEngineUpdateAccessibilityFeatures; return kSuccess; } diff --git a/shell/platform/linux/testing/mock_settings.cc b/shell/platform/linux/testing/mock_settings.cc index 944b13f2eb880..ebe6fa2b49b55 100644 --- a/shell/platform/linux/testing/mock_settings.cc +++ b/shell/platform/linux/testing/mock_settings.cc @@ -40,6 +40,16 @@ static FlColorScheme fl_mock_settings_get_color_scheme(FlSettings* settings) { return self->mock->fl_settings_get_color_scheme(settings); } +static gboolean fl_mock_settings_get_enable_animations(FlSettings* settings) { + FlMockSettings* self = FL_MOCK_SETTINGS(settings); + return self->mock->fl_settings_get_enable_animations(settings); +} + +static gboolean fl_mock_settings_get_high_contrast(FlSettings* settings) { + FlMockSettings* self = FL_MOCK_SETTINGS(settings); + return self->mock->fl_settings_get_high_contrast(settings); +} + static gdouble fl_mock_settings_get_text_scaling_factor(FlSettings* settings) { FlMockSettings* self = FL_MOCK_SETTINGS(settings); return self->mock->fl_settings_get_text_scaling_factor(settings); @@ -48,6 +58,8 @@ static gdouble fl_mock_settings_get_text_scaling_factor(FlSettings* settings) { static void fl_mock_settings_iface_init(FlSettingsInterface* iface) { iface->get_clock_format = fl_mock_settings_get_clock_format; iface->get_color_scheme = fl_mock_settings_get_color_scheme; + iface->get_enable_animations = fl_mock_settings_get_enable_animations; + iface->get_high_contrast = fl_mock_settings_get_high_contrast; iface->get_text_scaling_factor = fl_mock_settings_get_text_scaling_factor; } diff --git a/shell/platform/linux/testing/mock_settings.h b/shell/platform/linux/testing/mock_settings.h index 79f77faab28d0..57636b3ad11ff 100644 --- a/shell/platform/linux/testing/mock_settings.h +++ b/shell/platform/linux/testing/mock_settings.h @@ -26,6 +26,10 @@ class MockSettings { MOCK_METHOD1(fl_settings_get_color_scheme, FlColorScheme(FlSettings* settings)); + MOCK_METHOD1(fl_settings_get_enable_animations, bool(FlSettings* settings)); + + MOCK_METHOD1(fl_settings_get_high_contrast, bool(FlSettings* settings)); + MOCK_METHOD1(fl_settings_get_text_scaling_factor, gdouble(FlSettings* settings)); diff --git a/shell/platform/windows/BUILD.gn b/shell/platform/windows/BUILD.gn index 5b57e65c92f58..8402f1471d4c5 100644 --- a/shell/platform/windows/BUILD.gn +++ b/shell/platform/windows/BUILD.gn @@ -79,6 +79,7 @@ source_set("flutter_windows_source") { "keyboard_key_handler.h", "keyboard_manager_win32.cc", "keyboard_manager_win32.h", + "keyboard_win32_common.cc", "keyboard_win32_common.h", "platform_handler.cc", "platform_handler.h", @@ -183,6 +184,7 @@ executable("flutter_windows_unittests") { "keyboard_key_channel_handler_unittests.cc", "keyboard_key_embedder_handler_unittests.cc", "keyboard_key_handler_unittests.cc", + "keyboard_win32_common_unittests.cc", "keyboard_win32_unittests.cc", "platform_handler_unittests.cc", "platform_handler_win32_unittests.cc", diff --git a/shell/platform/windows/keyboard_manager_win32.cc b/shell/platform/windows/keyboard_manager_win32.cc index 08ab30381126e..c8ea813f81349 100644 --- a/shell/platform/windows/keyboard_manager_win32.cc +++ b/shell/platform/windows/keyboard_manager_win32.cc @@ -97,21 +97,25 @@ static bool IsPrintable(uint32_t c) { return c >= kMinPrintable && c != kDelete; } +static bool IsSysAction(UINT action) { + return action == WM_SYSKEYDOWN || action == WM_SYSKEYUP || + action == WM_SYSCHAR || action == WM_SYSDEADCHAR; +} + } // namespace KeyboardManagerWin32::KeyboardManagerWin32(WindowDelegate* delegate) : window_delegate_(delegate), last_key_is_ctrl_left_down(false), - should_synthesize_ctrl_left_up(false) {} + should_synthesize_ctrl_left_up(false), + processing_event_(false) {} void KeyboardManagerWin32::RedispatchEvent( std::unique_ptr event) { for (const Win32Message& message : event->session) { // Never redispatch sys keys, because their original messages have been // passed to the system default processor. - const bool is_syskey = - message.action == WM_SYSKEYDOWN || message.action == WM_SYSKEYUP; - if (is_syskey) { + if (IsSysAction(message.action)) { continue; } pending_redispatches_.push_back(message); @@ -143,69 +147,6 @@ bool KeyboardManagerWin32::RemoveRedispatchedMessage(UINT const action, return false; } -void KeyboardManagerWin32::OnKey(std::unique_ptr event, - OnKeyCallback callback) { - if (IsKeyDownAltRight(event->action, event->key, event->extended)) { - if (last_key_is_ctrl_left_down) { - should_synthesize_ctrl_left_up = true; - } - } - if (IsKeyDownCtrlLeft(event->action, event->key)) { - last_key_is_ctrl_left_down = true; - ctrl_left_scancode = event->scancode; - should_synthesize_ctrl_left_up = false; - } else { - last_key_is_ctrl_left_down = false; - } - if (IsKeyUpAltRight(event->action, event->key, event->extended)) { - if (should_synthesize_ctrl_left_up) { - should_synthesize_ctrl_left_up = false; - const LPARAM lParam = - (1 /* repeat_count */ << 0) | (ctrl_left_scancode << 16) | - (0 /* extended */ << 24) | (1 /* prev_state */ << 30) | - (1 /* transition */ << 31); - window_delegate_->Win32DispatchMessage(WM_KEYUP, VK_CONTROL, lParam); - } - } - - const PendingEvent clone = *event; - window_delegate_->OnKey(clone.key, clone.scancode, clone.action, - clone.character, clone.extended, clone.was_down, - [this, event = event.release(), - callback = std::move(callback)](bool handled) { - callback(std::unique_ptr(event), - handled); - }); -} - -void KeyboardManagerWin32::DispatchReadyTexts() { - auto front = pending_texts_.begin(); - for (; front != pending_texts_.end() && front->ready; ++front) { - window_delegate_->OnText(front->content); - } - pending_texts_.erase(pending_texts_.begin(), front); -} - -void KeyboardManagerWin32::HandleOnKeyResult( - std::unique_ptr event, - bool handled, - std::list::iterator pending_text) { - if (pending_text != pending_texts_.end()) { - if (pending_text->placeholder || handled) { - pending_texts_.erase(pending_text); - } else { - pending_text->ready = true; - } - DispatchReadyTexts(); - } - - if (handled) { - return; - } - - RedispatchEvent(std::move(event)); -} - bool KeyboardManagerWin32::HandleMessage(UINT const action, WPARAM const wparam, LPARAM const lparam) { @@ -221,7 +162,6 @@ bool KeyboardManagerWin32::HandleMessage(UINT const action, Win32Message{.action = action, .wparam = wparam, .lparam = lparam}; current_session_.push_back(message); - std::u16string text; char32_t code_point; if (message.IsHighSurrogate()) { // A high surrogate is always followed by a low surrogate. Process the @@ -237,14 +177,11 @@ bool KeyboardManagerWin32::HandleMessage(UINT const action, } // A low surrogate always follows a high surrogate, marking the end of // a char session. Process the session after the if clause. - text.push_back(static_cast(last_message->wparam)); - text.push_back(static_cast(message.wparam)); code_point = CodePointFromSurrogatePair(last_message->wparam, message.wparam); } else { // A non-surrogate character always appears alone. Process the session // after the if clause. - text.push_back(static_cast(message.wparam)); code_point = static_cast(message.wparam); } @@ -280,53 +217,30 @@ bool KeyboardManagerWin32::HandleMessage(UINT const action, .was_down = was_down, .session = std::move(current_session_), }); - // Compute the text that might be dispatched later. - // - // Of the messages handled here, only WM_CHAR should be treated as - // characters. WM_SYS*CHAR are not part of text input, and WM_DEADCHAR - // will be incorporated into a later WM_CHAR with the full character. - // - // Checking `character` filters out non-printable event characters. - std::list::iterator pending_text; - if (action == WM_CHAR) { - bool valid = character != 0 && IsPrintable(wparam); - pending_texts_.push_back(PendingText{ - .ready = false, - .content = text, - .placeholder = !valid, - }); - pending_text = std::prev(pending_texts_.end()); - } else { - pending_text = pending_texts_.end(); - } - // SYS messages must not be handled by `HandleMessage` or be - // redispatched. - const bool is_syskey = action == WM_SYSCHAR || action == WM_SYSDEADCHAR; - OnKey(std::move(event), - [this, pending_text, is_syskey]( - std::unique_ptr event, bool handled) { - bool real_handled = handled || is_syskey; - HandleOnKeyResult(std::move(event), handled, pending_text); - }); - return !is_syskey; - } - // If the charcter session is not preceded by a key down message, dispatch - // the OnText immediately. + pending_events_.push_back(std::move(event)); + ProcessNextEvent(); + // SYS messages must not be consumed by `HandleMessage` so that they are + // forwarded to the system. + return !IsSysAction(action); + } + + // If the charcter session is not preceded by a key down message, + // mark PendingEvent::action as WM_CHAR, informing |PerformProcessEvent| + // to dispatch the text content immediately. + // // Only WM_CHAR should be treated as characters. WM_SYS*CHAR are not part // of text input, and WM_DEADCHAR will be incorporated into a later // WM_CHAR with the full character. - // - // Also filter out ASCII control characters, which are sent as WM_CHAR - // events for all control key shortcuts. - current_session_.clear(); if (action == WM_CHAR) { - pending_texts_.push_back(PendingText{ - .ready = true, - .content = text, + auto event = std::make_unique(PendingEvent{ + .action = WM_CHAR, + .character = code_point, + .session = std::move(current_session_), }); - DispatchReadyTexts(); + pending_events_.push_back(std::move(event)); + ProcessNextEvent(); } return true; } @@ -338,38 +252,64 @@ bool KeyboardManagerWin32::HandleMessage(UINT const action, if (wparam == VK_PACKET) { return false; } + + const uint8_t scancode = (lparam >> 16) & 0xff; + const bool extended = ((lparam >> 24) & 0x01) == 0x01; + // If the key is a modifier, get its side. + const uint16_t key_code = ResolveKeyCode(wparam, extended, scancode); + const bool was_down = lparam & 0x40000000; + + // Detect a pattern of key events in order to forge a CtrlLeft up event. + // See |IsKeyDownAltRight| for explanation. + if (IsKeyDownAltRight(action, key_code, extended)) { + if (last_key_is_ctrl_left_down) { + should_synthesize_ctrl_left_up = true; + } + } + if (IsKeyDownCtrlLeft(action, key_code)) { + last_key_is_ctrl_left_down = true; + ctrl_left_scancode = scancode; + should_synthesize_ctrl_left_up = false; + } else { + last_key_is_ctrl_left_down = false; + } + if (IsKeyUpAltRight(action, key_code, extended)) { + if (should_synthesize_ctrl_left_up) { + should_synthesize_ctrl_left_up = false; + const LPARAM lParam = + (1 /* repeat_count */ << 0) | (ctrl_left_scancode << 16) | + (0 /* extended */ << 24) | (1 /* prev_state */ << 30) | + (1 /* transition */ << 31); + window_delegate_->Win32DispatchMessage(WM_KEYUP, VK_CONTROL, lParam); + } + } + current_session_.clear(); current_session_.push_back( Win32Message{.action = action, .wparam = wparam, .lparam = lparam}); const bool is_keydown_message = (action == WM_KEYDOWN || action == WM_SYSKEYDOWN); - // Check if this key produces a character. If so, the key press should - // be sent with the character produced at WM_CHAR. Store the produced - // keycode (it's not accessible from WM_CHAR) to be used in WM_CHAR. - // - // Messages with Control or Win modifiers down are never considered as - // character messages. This allows key combinations such as "CTRL + Digit" - // to properly produce key down events even though `MapVirtualKey` returns - // a valid character. See https://github.com/flutter/flutter/issues/85587. + // Check if this key produces a character by peeking if this key down + // message has a following char message. Certain key messages are not + // followed by char messages even though `MapVirtualKey` returns a valid + // character (such as Ctrl + Digit, see + // https://github.com/flutter/flutter/issues/85587 ). unsigned int character = window_delegate_->Win32MapVkToChar(wparam); - UINT next_key_message = PeekNextMessageType(WM_KEYFIRST, WM_KEYLAST); - bool has_wm_char = - (next_key_message == WM_DEADCHAR || - next_key_message == WM_SYSDEADCHAR || next_key_message == WM_CHAR || - next_key_message == WM_SYSCHAR); - if (character > 0 && is_keydown_message && has_wm_char) { - // This key down message has following char events. Process later, - // because the character for the OnKey should be decided by the char - // events. Consider this event as handled. + UINT next_key_action = PeekNextMessageType(WM_KEYFIRST, WM_KEYLAST); + bool has_char_action = + (next_key_action == WM_DEADCHAR || + next_key_action == WM_SYSDEADCHAR || next_key_action == WM_CHAR || + next_key_action == WM_SYSCHAR); + if (character > 0 && is_keydown_message && has_char_action) { + // This key down message has a following char message. Process this + // session in the char message, because the character for the key call + // should be decided by the char events. Consider this message as + // handled. return true; } - // Resolve session: A non-char key event. - const uint8_t scancode = (lparam >> 16) & 0xff; - const bool extended = ((lparam >> 24) & 0x01) == 0x01; - // If the key is a modifier, get its side. - const uint16_t key_code = ResolveKeyCode(wparam, extended, scancode); - const bool was_down = lparam & 0x40000000; + // This key down message is not followed by a char message. Conclude this + // session. auto event = std::make_unique(PendingEvent{ .key = key_code, .scancode = scancode, @@ -379,16 +319,11 @@ bool KeyboardManagerWin32::HandleMessage(UINT const action, .was_down = was_down, .session = std::move(current_session_), }); - // SYS messages must not be handled by `HandleMessage` or be - // redispatched. - const bool is_syskey = action == WM_SYSKEYDOWN || action == WM_SYSKEYUP; - OnKey( - std::move(event), - [this, is_syskey](std::unique_ptr event, bool handled) { - bool real_handled = handled || is_syskey; - HandleOnKeyResult(std::move(event), handled, pending_texts_.end()); - }); - return !is_syskey; + pending_events_.push_back(std::move(event)); + ProcessNextEvent(); + // SYS messages must not be consumed by `HandleMessage` so that they are + // forwarded to the system. + return !IsSysAction(action); } default: assert(false); @@ -396,6 +331,81 @@ bool KeyboardManagerWin32::HandleMessage(UINT const action, return false; } +void KeyboardManagerWin32::ProcessNextEvent() { + if (processing_event_ || pending_events_.empty()) { + return; + } + processing_event_ = true; + auto pending_event = std::move(pending_events_.front()); + pending_events_.pop_front(); + PerformProcessEvent(std::move(pending_event), [this] { + assert(processing_event_); + processing_event_ = false; + ProcessNextEvent(); + }); +} + +void KeyboardManagerWin32::PerformProcessEvent( + std::unique_ptr event, + std::function callback) { + // PendingEvent::action being WM_CHAR means this is a char message without + // a preceding key message, and should be dispatched immediately. + if (event->action == WM_CHAR) { + DispatchText(*event); + callback(); + return; + } + + // A unique_ptr can't be sent into a lambda without C++23's + // move_only_function. Until then, `event` is sent as a raw pointer, hoping + // WindowDelegate::OnKey to correctly call it once and only once. + PendingEvent* event_p = event.release(); + window_delegate_->OnKey( + event_p->key, event_p->scancode, event_p->action, event_p->character, + event_p->extended, event_p->was_down, + [this, event_p, callback = std::move(callback)](bool handled) { + HandleOnKeyResult(std::unique_ptr(event_p), handled); + callback(); + }); +} + +void KeyboardManagerWin32::HandleOnKeyResult( + std::unique_ptr event, + bool framework_handled) { + const UINT last_action = event->session.back().action; + // SYS messages must not be redispached, and their text content is not + // dispatched either. + bool handled = framework_handled || IsSysAction(last_action); + + if (handled) { + return; + } + + // Only WM_CHAR should be treated as characters. WM_SYS*CHAR are not part of + // text input, and WM_DEADCHAR will be incorporated into a later WM_CHAR with + // the full character. + if (last_action == WM_CHAR) { + DispatchText(*event); + } + + RedispatchEvent(std::move(event)); +} + +void KeyboardManagerWin32::DispatchText(const PendingEvent& event) { + // Check if the character is printable based on the last wparam, which works + // even if the last wparam is a low surrogate, because the only unprintable + // keys defined by `IsPrintable` are certain characters at lower ASCII range. + // These ASCII control characters are sent as WM_CHAR events for all control + // key shortcuts. + assert(!event.session.empty()); + bool is_printable = IsPrintable(event.session.back().wparam); + bool valid = event.character != 0 && is_printable; + if (valid) { + auto text = EncodeUtf16(event.character); + window_delegate_->OnText(text); + } +} + UINT KeyboardManagerWin32::PeekNextMessageType(UINT wMsgFilterMin, UINT wMsgFilterMax) { MSG next_message; diff --git a/shell/platform/windows/keyboard_manager_win32.h b/shell/platform/windows/keyboard_manager_win32.h index 2af5ab72fdc95..b3b73cad6563f 100644 --- a/shell/platform/windows/keyboard_manager_win32.h +++ b/shell/platform/windows/keyboard_manager_win32.h @@ -6,6 +6,7 @@ #define FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_MANAGER_H_ #include +#include #include #include #include @@ -15,16 +16,16 @@ namespace flutter { // Handles keyboard and text messages on Win32. // // |KeyboardManagerWin32| consumes raw Win32 messages related to key and chars, -// and converts them to |OnKey| or |OnText| calls suitable for -// |KeyboardKeyHandler|. +// and converts them to key calls (|WindowDelegate::OnKey|) and possibly +// text calls (|WindowDelegate::OnText|). // // |KeyboardManagerWin32| requires a |WindowDelegate| to define how to // access Win32 system calls (to allow mocking) and where to send the results -// of |OnKey| and |OnText| to. +// of key calls and text calls to. // // Typically, |KeyboardManagerWin32| is owned by a |WindowWin32|, which also -// implements the window delegate. The |OnKey| and |OnText| results are -// passed to those of |WindowWin32|'s, and consequently, those of +// implements the window delegate. The key calls and text calls are forwarded +// to those of |WindowWin32|'s, and consequently, those of // |FlutterWindowsView|'s. // // ## Terminology @@ -38,10 +39,12 @@ namespace flutter { // * Session: One to three messages that should be processed together, such // as a key down message followed by char messages. // * Event: A FlutterKeyEvent/ui.KeyData sent to the framework. +// * Call: A call to |WindowDelegate::OnKey| or |WindowDelegate::OnText|, +// which contains semi-processed messages. class KeyboardManagerWin32 { public: // Define how the keyboard manager accesses Win32 system calls (to allow - // mocking) and sends the results of |OnKey| and |OnText|. + // mocking) and sends key calls and and text calls. // // Typically implemented by |WindowWin32|. class WindowDelegate { @@ -54,6 +57,8 @@ class KeyboardManagerWin32 { virtual void OnText(const std::u16string& text) = 0; // Called when raw keyboard input occurs. + // + // The `callback` must be called exactly once. virtual void OnKey(int key, int scancode, int action, @@ -141,21 +146,36 @@ class KeyboardManagerWin32 { bool placeholder = false; }; - // Returns true if it's a new event, or false if it's a redispatched event. - void OnKey(std::unique_ptr event, OnKeyCallback callback); + // Resume processing the pending events. + // + // If there is at least one pending event and no event is being processed, + // the oldest pending event will be handed over to |PerformProcessEvent|. + // After the event is processed, the next pending event will be automatically + // started, until there are no pending events left. + // + // Otherwise, this call is a no-op. + void ProcessNextEvent(); - // From `pending_texts_`, pop all front elements that are ready, dispatch - // them to |OnText|, and remove them. - void DispatchReadyTexts(); + // Process an event and call `callback` when it's completed. + // + // The `callback` is constructed by |ProcessNextEvent| to start the next + // event, and must be called exactly once. + void PerformProcessEvent(std::unique_ptr event, + std::function callback); - // Handle the result of |OnKey|, which might dispatch the text result to - // |OnText|. + // Handle the result of |WindowDelegate::OnKey|, possibly dispatching the text + // result to |WindowDelegate::OnText| and then redispatching. // // The `pending_text` is either a valid iterator of `pending_texts`, or its // end(). In the latter case, this OnKey message does not contain a text. void HandleOnKeyResult(std::unique_ptr event, - bool handled, - std::list::iterator pending_text); + bool framework_handled); + + // Dispatch the text content of a |PendingEvent| to |WindowDelegate::OnText|. + // + // If the content is empty of invalid, |WindowDelegate::OnText| will not be + // called. + void DispatchText(const PendingEvent& event); // Returns the type of the next WM message. // @@ -176,7 +196,7 @@ class KeyboardManagerWin32 { // Keeps track of all messages during the current session. // // At the end of a session, it is moved to the `PendingEvent`, which is - // passed to `OnKey`. + // passed to `WindowDelegate::OnKey`. std::vector current_session_; // Whether the last event is a CtrlLeft key down. @@ -194,13 +214,14 @@ class KeyboardManagerWin32 { // This is used to resolve a corner case described in |IsKeyDownAltRight|. bool should_synthesize_ctrl_left_up; - // A queue of potential texts derived from char messages. + // Store the messages coming from |HandleMessage|. // - // The text might or might not be ready when they're added, and they might - // become ready or removed later. `DispatchReadyTexts` is used to dispatch all - // ready texts from the front to `OnText`. This queue is used to ensure - // they're dispatched in their arrival order. - std::list pending_texts_; + // Only one message is processed at a time. The next one will not start + // until the framework has responded to the previous message. + std::deque> pending_events_; + + // Whether a message is being processed. + std::atomic processing_event_; // The queue of messages that have been redispatched to the system but have // not yet been received for a second time. diff --git a/shell/platform/windows/keyboard_win32_common.cc b/shell/platform/windows/keyboard_win32_common.cc new file mode 100644 index 0000000000000..8c12eb555d6cd --- /dev/null +++ b/shell/platform/windows/keyboard_win32_common.cc @@ -0,0 +1,28 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "keyboard_win32_common.h" + +namespace flutter { + +std::u16string EncodeUtf16(char32_t character) { + // Algorithm: https://en.wikipedia.org/wiki/UTF-16#Description + std::u16string result; + // Invalid value. + assert(!(character >= 0xD800 && character <= 0xDFFF) && + !(character > 0x10FFFF)); + if ((character >= 0xD800 && character <= 0xDFFF) || (character > 0x10FFFF)) { + return result; + } + if (character <= 0xD7FF || (character >= 0xE000 && character <= 0xFFFF)) { + result.push_back((char16_t)character); + return result; + } + uint32_t remnant = character - 0x10000; + result.push_back((remnant >> 10) + 0xD800); + result.push_back((remnant & 0x3FF) + 0xDC00); + return result; +} + +} // namespace flutter diff --git a/shell/platform/windows/keyboard_win32_common.h b/shell/platform/windows/keyboard_win32_common.h index 5bd6a25c56060..9b7ee17896145 100644 --- a/shell/platform/windows/keyboard_win32_common.h +++ b/shell/platform/windows/keyboard_win32_common.h @@ -5,7 +5,9 @@ #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_WIN32_COMMON_H_ #define FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_WIN32_COMMON_H_ +#include #include +#include namespace flutter { @@ -24,6 +26,12 @@ inline uint32_t UndeadChar(uint32_t ch) { return ch & ~kDeadKeyCharMask; } +// Encode a Unicode codepoint into a UTF-16 string. +// +// If the codepoint is invalid, this function throws an assertion error, and +// returns an empty string. +std::u16string EncodeUtf16(char32_t character); + } // namespace flutter #endif // FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_WIN32_COMMON_H_ diff --git a/shell/platform/windows/keyboard_win32_common_unittests.cc b/shell/platform/windows/keyboard_win32_common_unittests.cc new file mode 100644 index 0000000000000..ba73278b2a072 --- /dev/null +++ b/shell/platform/windows/keyboard_win32_common_unittests.cc @@ -0,0 +1,34 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#include "flutter/shell/platform/windows/keyboard_win32_common.h" + +#include "gtest/gtest.h" + +namespace flutter { +namespace testing { + +TEST(KeyboardWin32CommonTest, EncodeUtf16) { + std::u16string result; + + result = EncodeUtf16(0x24); + EXPECT_EQ(result.size(), 1); + EXPECT_EQ(result[0], 0x24); + + result = EncodeUtf16(0x20AC); + EXPECT_EQ(result.size(), 1); + EXPECT_EQ(result[0], 0x20AC); + + result = EncodeUtf16(0x10437); + EXPECT_EQ(result.size(), 2); + EXPECT_EQ(result[0], 0xD801); + EXPECT_EQ(result[1], 0xDC37); + + result = EncodeUtf16(0x24B62); + EXPECT_EQ(result.size(), 2); + EXPECT_EQ(result[0], 0xD852); + EXPECT_EQ(result[1], 0xDF62); +} + +} // namespace testing +} // namespace flutter diff --git a/shell/platform/windows/keyboard_win32_unittests.cc b/shell/platform/windows/keyboard_win32_unittests.cc index d7983c72f8b42..7b21788e795e8 100644 --- a/shell/platform/windows/keyboard_win32_unittests.cc +++ b/shell/platform/windows/keyboard_win32_unittests.cc @@ -1954,57 +1954,6 @@ TEST(KeyboardTest, UpOnlyImeEventsAreCorrectlyHandled) { clear_key_calls(); } -TEST(KeyboardTest, DisorderlyRespondedEvents) { - KeyboardTester tester; - - // Store callbacks to manually call them. - std::vector recorded_callbacks; - tester.LateResponding( - [&recorded_callbacks]( - const FlutterKeyEvent* event, - MockKeyResponseController::ResponseCallback callback) { - recorded_callbacks.push_back(callback); - }); - - // Press A - tester.InjectKeyboardChanges(std::vector{ - WmKeyDownInfo{kVirtualKeyA, kScanCodeKeyA, kNotExtended, kWasUp}.Build( - kWmResultZero), - WmCharInfo{'a', kScanCodeKeyA, kNotExtended, kWasUp}.Build( - kWmResultZero)}); - - // Press B - tester.InjectKeyboardChanges(std::vector{ - WmKeyDownInfo{kVirtualKeyB, kScanCodeKeyB, kNotExtended, kWasUp}.Build( - kWmResultZero), - WmCharInfo{'b', kScanCodeKeyB, kNotExtended, kWasUp}.Build( - kWmResultZero)}); - - EXPECT_EQ(key_calls.size(), 2); - EXPECT_EQ(recorded_callbacks.size(), 2); - clear_key_calls(); - EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); - - // Resolve the second event first to test disordered responses. - recorded_callbacks.back()(false); - - EXPECT_EQ(key_calls.size(), 0); - clear_key_calls(); - // TODO(dkwingsmt): This should probably be 0. Redispatching the messages of - // the second event this early means that the messages are not redispatched - // in the order of arrival. https://github.com/flutter/flutter/issues/98308 - EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 2); - - // Resolve the first event. - recorded_callbacks.front()(false); - - EXPECT_EQ(key_calls.size(), 2); - EXPECT_CALL_IS_TEXT(key_calls[0], u"a"); - EXPECT_CALL_IS_TEXT(key_calls[1], u"b"); - clear_key_calls(); - EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 2); -} - // Regression test for a crash in an earlier implementation. // // In real life, the framework responds slowly. The next real event might @@ -2038,24 +1987,27 @@ TEST(KeyboardTest, SlowFrameworkResponse) { WmCharInfo{'a', kScanCodeKeyA, kNotExtended, kWasDown}.Build( kWmResultZero)}); - EXPECT_EQ(key_calls.size(), 2); - EXPECT_EQ(recorded_callbacks.size(), 2); - clear_key_calls(); + EXPECT_EQ(key_calls.size(), 1); + EXPECT_CALL_IS_EVENT(key_calls[0], kFlutterKeyEventTypeDown, kPhysicalKeyA, + kLogicalKeyA, "a", kNotSynthesized); + EXPECT_EQ(recorded_callbacks.size(), 1); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); // The first response. recorded_callbacks.front()(false); - EXPECT_EQ(key_calls.size(), 1); - EXPECT_CALL_IS_TEXT(key_calls[0], u"a"); - clear_key_calls(); + EXPECT_EQ(key_calls.size(), 3); + EXPECT_EQ(recorded_callbacks.size(), 2); + EXPECT_CALL_IS_TEXT(key_calls[1], u"a"); + EXPECT_CALL_IS_EVENT(key_calls[2], kFlutterKeyEventTypeRepeat, kPhysicalKeyA, + kLogicalKeyA, "a", kNotSynthesized); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 2); // The second response. recorded_callbacks.back()(false); - EXPECT_EQ(key_calls.size(), 1); - EXPECT_CALL_IS_TEXT(key_calls[0], u"a"); + EXPECT_EQ(key_calls.size(), 4); + EXPECT_CALL_IS_TEXT(key_calls[3], u"a"); clear_key_calls(); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 2); } @@ -2102,18 +2054,17 @@ TEST(KeyboardTest, SlowFrameworkResponseForIdenticalEvents) { WmKeyUpInfo{kVirtualKeyA, kScanCodeKeyA, kNotExtended}.Build( kWmResultZero)}); - EXPECT_EQ(key_calls.size(), 1); - EXPECT_CALL_IS_EVENT(key_calls[0], kFlutterKeyEventTypeUp, kPhysicalKeyA, - kLogicalKeyA, "", kNotSynthesized); - clear_key_calls(); + EXPECT_EQ(key_calls.size(), 0); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); // The first down event responded with false. - EXPECT_EQ(recorded_callbacks.size(), 2); + EXPECT_EQ(recorded_callbacks.size(), 1); recorded_callbacks.front()(false); - EXPECT_EQ(key_calls.size(), 1); + EXPECT_EQ(key_calls.size(), 2); EXPECT_CALL_IS_TEXT(key_calls[0], u"a"); + EXPECT_CALL_IS_EVENT(key_calls[1], kFlutterKeyEventTypeUp, kPhysicalKeyA, + kLogicalKeyA, "", kNotSynthesized); clear_key_calls(); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 2); @@ -2124,21 +2075,28 @@ TEST(KeyboardTest, SlowFrameworkResponseForIdenticalEvents) { WmCharInfo{'a', kScanCodeKeyA, kNotExtended, kWasUp}.Build( kWmResultZero)}); + // Nothing more was dispatched because the first up event hasn't been + // responded yet. + EXPECT_EQ(recorded_callbacks.size(), 2); + EXPECT_EQ(key_calls.size(), 0); + EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); + + // The first up event responded with false, which was redispatched, and caused + // the down event to be dispatched. + recorded_callbacks.back()(false); EXPECT_EQ(key_calls.size(), 1); EXPECT_CALL_IS_EVENT(key_calls[0], kFlutterKeyEventTypeDown, kPhysicalKeyA, kLogicalKeyA, "a", kNotSynthesized); clear_key_calls(); - EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); + EXPECT_EQ(recorded_callbacks.size(), 3); + EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 1); // Release A again tester.InjectKeyboardChanges(std::vector{ WmKeyUpInfo{kVirtualKeyA, kScanCodeKeyA, kNotExtended}.Build( kWmResultZero)}); - EXPECT_EQ(key_calls.size(), 1); - EXPECT_CALL_IS_EVENT(key_calls[0], kFlutterKeyEventTypeUp, kPhysicalKeyA, - kLogicalKeyA, "", kNotSynthesized); - clear_key_calls(); + EXPECT_EQ(key_calls.size(), 0); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); } @@ -2359,26 +2317,27 @@ void VietnameseTelexAddDiacriticWithSlowResponse(bool backspace_response) { // it will send a setEditingState message that updates the text state that has // the last character deleted (denoted by `string1`). Processing the char // message before then will cause the final text to set to `string1`. - EXPECT_EQ(key_calls.size(), 2); + EXPECT_EQ(key_calls.size(), 1); EXPECT_CALL_IS_EVENT(key_calls[0], kFlutterKeyEventTypeDown, kPhysicalBackspace, kLogicalBackspace, "", kNotSynthesized); - EXPECT_CALL_IS_EVENT(key_calls[1], kFlutterKeyEventTypeUp, kPhysicalBackspace, - kLogicalBackspace, "", kNotSynthesized); clear_key_calls(); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 0); - EXPECT_EQ(recorded_callbacks.size(), 2); + EXPECT_EQ(recorded_callbacks.size(), 1); recorded_callbacks[0](backspace_response); EXPECT_EQ(key_calls.size(), 1); - EXPECT_CALL_IS_TEXT(key_calls[0], u"à"); + EXPECT_CALL_IS_EVENT(key_calls[0], kFlutterKeyEventTypeUp, kPhysicalBackspace, + kLogicalBackspace, "", kNotSynthesized); clear_key_calls(); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), backspace_response ? 0 : 2); recorded_callbacks[1](false); - EXPECT_EQ(key_calls.size(), 0); + EXPECT_EQ(key_calls.size(), 1); + EXPECT_CALL_IS_TEXT(key_calls[0], u"à"); + clear_key_calls(); EXPECT_EQ(tester.RedispatchedMessageCountAndClear(), 1); tester.Responding(false); diff --git a/shell/platform/windows/text_input_manager_win32.cc b/shell/platform/windows/text_input_manager_win32.cc index c8475d0dd4033..61c1c39e5e482 100644 --- a/shell/platform/windows/text_input_manager_win32.cc +++ b/shell/platform/windows/text_input_manager_win32.cc @@ -172,14 +172,19 @@ void TextInputManagerWin32::MoveImeWindow(HIMC imm_context) { if (GetFocus() != window_handle_ || !ime_active_) { return; } - LONG x = caret_rect_.left(); - LONG y = caret_rect_.top(); - ::SetCaretPos(x, y); - - COMPOSITIONFORM cf = {CFS_POINT, {x, y}}; - ::ImmSetCompositionWindow(imm_context, &cf); - - CANDIDATEFORM candidate_form = {0, CFS_EXCLUDE, {x, y}, {0, 0, 0, 0}}; + LONG left = caret_rect_.left(); + LONG top = caret_rect_.top(); + LONG right = caret_rect_.right(); + LONG bottom = caret_rect_.bottom(); + ::SetCaretPos(left, bottom); + + // Set the position of composition text. + COMPOSITIONFORM composition_form = {CFS_POINT, {left, top}}; + ::ImmSetCompositionWindow(imm_context, &composition_form); + + // Set the position of candidate window. + CANDIDATEFORM candidate_form = { + 0, CFS_EXCLUDE, {left, bottom}, {left, top, right, bottom}}; ::ImmSetCandidateWindow(imm_context, &candidate_form); } diff --git a/shell/platform/windows/text_input_plugin.cc b/shell/platform/windows/text_input_plugin.cc index 0e8b12fb69797..6031c4cd41b70 100644 --- a/shell/platform/windows/text_input_plugin.cc +++ b/shell/platform/windows/text_input_plugin.cc @@ -378,10 +378,10 @@ Rect TextInputPlugin::GetCursorRect() const { Point transformed_point = { composing_rect_.left() * editabletext_transform_[0][0] + composing_rect_.top() * editabletext_transform_[1][0] + - editabletext_transform_[3][0] + composing_rect_.width(), + editabletext_transform_[3][0], composing_rect_.left() * editabletext_transform_[0][1] + composing_rect_.top() * editabletext_transform_[1][1] + - editabletext_transform_[3][1] + composing_rect_.height()}; + editabletext_transform_[3][1]}; return {transformed_point, composing_rect_.size()}; } diff --git a/shell/platform/windows/text_input_plugin_unittest.cc b/shell/platform/windows/text_input_plugin_unittest.cc index e48eea90a7a40..1bb5a2aa2eb82 100644 --- a/shell/platform/windows/text_input_plugin_unittest.cc +++ b/shell/platform/windows/text_input_plugin_unittest.cc @@ -34,16 +34,20 @@ static std::unique_ptr> CreateResponse(bool handled) { return JsonMessageCodec::GetInstance().EncodeMessage(*response_doc); } -class EmptyTextInputPluginDelegate : public TextInputPluginDelegate { +class MockTextInputPluginDelegate : public TextInputPluginDelegate { public: - void OnCursorRectUpdated(const Rect& rect) override {} - void OnResetImeComposing() override { ime_was_reset_ = true; } + MockTextInputPluginDelegate() {} + virtual ~MockTextInputPluginDelegate() = default; - bool ime_was_reset() const { return ime_was_reset_; } + // Prevent copying. + MockTextInputPluginDelegate(MockTextInputPluginDelegate const&) = delete; + MockTextInputPluginDelegate& operator=(MockTextInputPluginDelegate const&) = + delete; - private: - bool ime_was_reset_ = false; + MOCK_METHOD1(OnCursorRectUpdated, void(const Rect&)); + MOCK_METHOD0(OnResetImeComposing, void()); }; + } // namespace TEST(TextInputPluginTest, TextMethodsWorksWithEmptyModel) { @@ -55,7 +59,7 @@ TEST(TextInputPluginTest, TextMethodsWorksWithEmptyModel) { [&received_scancode, &handled_message, &unhandled_message]( const std::string& channel, const uint8_t* message, size_t message_size, BinaryReply reply) {}); - EmptyTextInputPluginDelegate delegate; + MockTextInputPluginDelegate delegate; int redispatch_scancode = 0; TextInputPlugin handler(&messenger, &delegate); @@ -76,14 +80,15 @@ TEST(TextInputPluginTest, ClearClientResetsComposing) { BinaryReply reply) {}); BinaryReply reply_handler = [](const uint8_t* reply, size_t reply_size) {}; - EmptyTextInputPluginDelegate delegate; + MockTextInputPluginDelegate delegate; TextInputPlugin handler(&messenger, &delegate); + EXPECT_CALL(delegate, OnResetImeComposing()); + auto& codec = JsonMethodCodec::GetInstance(); auto message = codec.EncodeMethodCall({"TextInput.clearClient", nullptr}); messenger.SimulateEngineMessage(kChannelName, message->data(), message->size(), reply_handler); - EXPECT_TRUE(delegate.ime_was_reset()); } // Verify that the embedder sends state update messages to the framework during @@ -96,7 +101,7 @@ TEST(TextInputPluginTest, VerifyComposingSendStateUpdate) { BinaryReply reply) { sent_message = true; }); BinaryReply reply_handler = [](const uint8_t* reply, size_t reply_size) {}; - EmptyTextInputPluginDelegate delegate; + MockTextInputPluginDelegate delegate; TextInputPlugin handler(&messenger, &delegate); auto& codec = JsonMethodCodec::GetInstance(); @@ -152,7 +157,7 @@ TEST(TextInputPluginTest, TextEditingWorksWithDeltaModel) { [&received_scancode, &handled_message, &unhandled_message]( const std::string& channel, const uint8_t* message, size_t message_size, BinaryReply reply) {}); - EmptyTextInputPluginDelegate delegate; + MockTextInputPluginDelegate delegate; int redispatch_scancode = 0; TextInputPlugin handler(&messenger, &delegate); @@ -199,5 +204,75 @@ TEST(TextInputPluginTest, TextEditingWorksWithDeltaModel) { // Passes if it did not crash } +TEST(TextInputPluginTest, TransformCursorRect) { + // A position of `EditableText`. + double view_x = 100; + double view_y = 200; + + // A position and size of marked text, in `EditableText` local coordinates. + double ime_x = 3; + double ime_y = 4; + double ime_width = 50; + double ime_height = 60; + + // Transformation matrix. + std::array, 4> editabletext_transform = { + 1.0, 0.0, 0.0, view_x, // + 0.0, 1.0, 0.0, view_y, // + 0.0, 0.0, 0.0, 0.0, // + 0.0, 0.0, 0.0, 1.0}; + + TestBinaryMessenger messenger([](const std::string& channel, + const uint8_t* message, size_t message_size, + BinaryReply reply) {}); + BinaryReply reply_handler = [](const uint8_t* reply, size_t reply_size) {}; + + MockTextInputPluginDelegate delegate; + TextInputPlugin handler(&messenger, &delegate); + + auto& codec = JsonMethodCodec::GetInstance(); + + EXPECT_CALL(delegate, OnCursorRectUpdated(Rect{{view_x, view_y}, {0, 0}})); + + { + auto arguments = + std::make_unique(rapidjson::kObjectType); + auto& allocator = arguments->GetAllocator(); + + rapidjson::Value transoform(rapidjson::kArrayType); + for (int i = 0; i < 4 * 4; i++) { + // Pack 2-dimensional array by column-major order. + transoform.PushBack(editabletext_transform[i % 4][i / 4], allocator); + } + + arguments->AddMember("transform", transoform, allocator); + + auto message = codec.EncodeMethodCall( + {"TextInput.setEditableSizeAndTransform", std::move(arguments)}); + messenger.SimulateEngineMessage(kChannelName, message->data(), + message->size(), reply_handler); + } + + EXPECT_CALL(delegate, + OnCursorRectUpdated(Rect{{view_x + ime_x, view_y + ime_y}, + {ime_width, ime_height}})); + + { + auto arguments = + std::make_unique(rapidjson::kObjectType); + auto& allocator = arguments->GetAllocator(); + + arguments->AddMember("x", ime_x, allocator); + arguments->AddMember("y", ime_y, allocator); + arguments->AddMember("width", ime_width, allocator); + arguments->AddMember("height", ime_height, allocator); + + auto message = codec.EncodeMethodCall( + {"TextInput.setMarkedTextRect", std::move(arguments)}); + messenger.SimulateEngineMessage(kChannelName, message->data(), + message->size(), reply_handler); + } +} + } // namespace testing } // namespace flutter diff --git a/shell/platform/windows/window_win32_unittests.cc b/shell/platform/windows/window_win32_unittests.cc index 2abf15c466c05..9f8f010a33217 100644 --- a/shell/platform/windows/window_win32_unittests.cc +++ b/shell/platform/windows/window_win32_unittests.cc @@ -206,7 +206,14 @@ TEST(MockWin32Window, KeyDownPrintable) { MockWin32Window window; LPARAM lparam = CreateKeyEventLparam(30, false, false); - EXPECT_CALL(window, OnKey(65, 30, WM_KEYDOWN, 0, false, false, _)).Times(1); + auto respond_false = [](int key, int scancode, int action, char32_t character, + bool extended, bool was_down, + std::function callback) { + callback(false); + }; + EXPECT_CALL(window, OnKey(65, 30, WM_KEYDOWN, 0, false, false, _)) + .Times(1) + .WillOnce(respond_false); EXPECT_CALL(window, OnText(_)).Times(1); Win32Message messages[] = {{WM_KEYDOWN, 65, lparam, kWmResultDontCheck}, {WM_CHAR, 65, lparam, kWmResultDontCheck}}; @@ -238,6 +245,12 @@ TEST(MockWin32Window, KeyDownWithCtrl) { TEST(MockWin32Window, KeyDownWithCtrlToggled) { MockWin32Window window; + auto respond_false = [](int key, int scancode, int action, char32_t character, + bool extended, bool was_down, + std::function callback) { + callback(false); + }; + // Simulate CONTROL toggled BYTE keyboard_state[256]; memset(keyboard_state, 0, 256); @@ -246,7 +259,9 @@ TEST(MockWin32Window, KeyDownWithCtrlToggled) { LPARAM lparam = CreateKeyEventLparam(30, false, false); - EXPECT_CALL(window, OnKey(65, 30, WM_KEYDOWN, 0, false, false, _)).Times(1); + EXPECT_CALL(window, OnKey(65, 30, WM_KEYDOWN, 0, false, false, _)) + .Times(1) + .WillOnce(respond_false); EXPECT_CALL(window, OnText(_)).Times(1); // send a "A" key down event. diff --git a/shell/testing/BUILD.gn b/shell/testing/BUILD.gn index 247b168bae9c5..ec6400ce0763a 100644 --- a/shell/testing/BUILD.gn +++ b/shell/testing/BUILD.gn @@ -35,4 +35,8 @@ executable("testing") { "//third_party/dart/runtime/bin:dart_io_api", "//third_party/skia", ] + + metadata = { + entitlement_file_path = [ "flutter_tester" ] + } } diff --git a/shell/testing/tester_main.cc b/shell/testing/tester_main.cc index 3f2e4ab03ea1e..2416a61289fc2 100644 --- a/shell/testing/tester_main.cc +++ b/shell/testing/tester_main.cc @@ -235,7 +235,8 @@ int RunTester(const flutter::Settings& settings, }; Shell::CreateCallback on_create_rasterizer = [](Shell& shell) { - return std::make_unique(shell); + return std::make_unique( + shell, Rasterizer::MakeGpuImageBehavior::kBitmap); }; auto shell = Shell::Create(flutter::PlatformData(), // diff --git a/sky/packages/sky_engine/LICENSE b/sky/packages/sky_engine/LICENSE index 5e451bbb00651..8b3a58e786337 100644 --- a/sky/packages/sky_engine/LICENSE +++ b/sky/packages/sky_engine/LICENSE @@ -13620,6 +13620,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. -------------------------------------------------------------------------------- skcms +skia vulkan Copyright (c) 2018 Google Inc. All rights reserved. @@ -13651,6 +13652,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- skcms +skia vulkanmemoryallocator Copyright 2018 Google Inc. diff --git a/testing/dart/canvas_test.dart b/testing/dart/canvas_test.dart index 50b499f11bc9a..da6d4d8afcfcd 100644 --- a/testing/dart/canvas_test.dart +++ b/testing/dart/canvas_test.dart @@ -410,6 +410,113 @@ void main() { expect(areEqual, true); }, skip: !Platform.isLinux); // https://github.com/flutter/flutter/issues/53784 + test('toGpuImage - too big', () async { + PictureRecorder recorder = PictureRecorder(); + Canvas canvas = Canvas(recorder); + canvas.drawPaint(Paint()..color = const Color(0xFF123456)); + final Picture picture = recorder.endRecording(); + final Image image = picture.toGpuImage(300000, 4000000); + picture.dispose(); + + expect(image.width, 300000); + expect(image.height, 4000000); + + recorder = PictureRecorder(); + canvas = Canvas(recorder); + + // On a slower CI machine, the raster thread may get behind the UI thread + // here. However, once the image is in an error state it will immediately + // throw on subsequent attempts. + bool caughtException = false; + for (int iterations = 0; iterations < 1000; iterations += 1) { + try { + canvas.drawImage(image, Offset.zero, Paint()); + } on PictureRasterizationException catch (e) { + caughtException = true; + expect(e.message, contains('unable to create render target at specified size')); + break; + } + // Let the event loop turn. + await Future.delayed(const Duration(milliseconds: 1)); + } + expect(caughtException, true); + expect( + () => canvas.drawImageRect(image, Rect.zero, Rect.zero, Paint()), + throwsException, + ); + expect( + () => canvas.drawImageNine(image, Rect.zero, Rect.zero, Paint()), + throwsException, + ); + expect( + () => canvas.drawAtlas(image, [], [], null, null, null, Paint()), + throwsException, + ); + }); + + test('toGpuImage - succeeds', () async { + PictureRecorder recorder = PictureRecorder(); + Canvas canvas = Canvas(recorder); + canvas.drawPaint(Paint()..color = const Color(0xFF123456)); + final Picture picture = recorder.endRecording(); + final Image image = picture.toGpuImage(30, 40); + picture.dispose(); + + expect(image.width, 30); + expect(image.height, 40); + + recorder = PictureRecorder(); + canvas = Canvas(recorder); + expect( + () => canvas.drawImage(image, Offset.zero, Paint()), + returnsNormally, + ); + expect( + () => canvas.drawImageRect(image, Rect.zero, Rect.zero, Paint()), + returnsNormally, + ); + expect( + () => canvas.drawImageNine(image, Rect.zero, Rect.zero, Paint()), + returnsNormally, + ); + expect( + () => canvas.drawAtlas(image, [], [], null, null, null, Paint()), + returnsNormally, + ); + }); + + test('toGpuImage - toByteData', () async { + const Color color = Color(0xFF123456); + final PictureRecorder recorder = PictureRecorder(); + final Canvas canvas = Canvas(recorder); + canvas.drawPaint(Paint()..color = color); + final Picture picture = recorder.endRecording(); + final Image image = picture.toGpuImage(6, 8); + picture.dispose(); + + expect(image.width, 6); + expect(image.height, 8); + + final ByteData? data = await image.toByteData(); + + expect(data, isNotNull); + expect(data!.lengthInBytes, 6 * 8 * 4); + final Uint32List bytes = data.buffer.asUint32List(); + // Draws a checkerboard due to flutter_tester not having a GPU context. + const int white = 0xFFFFFFFF; + const int grey = 0xFFCCCCCC; + expect(bytes, const [ + white, white, white, grey, grey, grey, // + white, white, white, grey, grey, grey, + white, white, white, grey, grey, grey, + white, white, white, grey, grey, grey, + grey, grey, grey, white, white, white, + grey, grey, grey, white, white, white, + grey, grey, grey, white, white, white, + grey, grey, grey, white, white, white, + ]); + }); + test('Canvas.drawParagraph throws when Paragraph.layout was not called', () async { // Regression test for https://github.com/flutter/flutter/issues/97172 bool assertsEnabled = false; diff --git a/testing/dart/compositing_test.dart b/testing/dart/compositing_test.dart index 2b2b0be433ad6..c55f18899e597 100644 --- a/testing/dart/compositing_test.dart +++ b/testing/dart/compositing_test.dart @@ -2,12 +2,49 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:typed_data' show Float64List; +import 'dart:typed_data' show Float64List, Uint32List, ByteData; import 'dart:ui'; import 'package:litetest/litetest.dart'; void main() { + test('Scene.toGpuImage succeeds', () async { + final PictureRecorder recorder = PictureRecorder(); + final Canvas canvas = Canvas(recorder); + canvas.drawPaint(Paint()..color = const Color(0xFF123456)); + final Picture picture = recorder.endRecording(); + final SceneBuilder builder = SceneBuilder(); + builder.pushOffset(10, 10); + builder.addPicture(const Offset(5, 5), picture); + final Scene scene = builder.build(); + + final Image image = scene.toGpuImage(6, 8); + picture.dispose(); + scene.dispose(); + + expect(image.width, 6); + expect(image.height, 8); + + final ByteData? data = await image.toByteData(); + + expect(data, isNotNull); + expect(data!.lengthInBytes, 6 * 8 * 4); + final Uint32List bytes = data.buffer.asUint32List(); + // Draws a checkerboard due to flutter_tester not having a GPU context. + const int white = 0xFFFFFFFF; + const int grey = 0xFFCCCCCC; + expect(bytes, const [ + white, white, white, grey, grey, grey, // + white, white, white, grey, grey, grey, + white, white, white, grey, grey, grey, + white, white, white, grey, grey, grey, + grey, grey, grey, white, white, white, + grey, grey, grey, white, white, white, + grey, grey, grey, white, white, white, + grey, grey, grey, white, white, white, + ]); + }); + test('addPicture with disposed picture does not crash', () { bool assertsEnabled = false; assert(() { diff --git a/testing/dart/image_shader_test.dart b/testing/dart/image_shader_test.dart index 3a7b40354b27f..5aab7595361e5 100644 --- a/testing/dart/image_shader_test.dart +++ b/testing/dart/image_shader_test.dart @@ -14,7 +14,23 @@ void main() { final Image image = await createImage(50, 50); final ImageShader shader = ImageShader(image, TileMode.clamp, TileMode.clamp, Float64List(16)); final Paint paint = Paint()..shader=shader; - final Rect rect = Rect.fromLTRB(0, 0, 100, 100); + const Rect rect = Rect.fromLTRB(0, 0, 100, 100); testCanvas((Canvas canvas) => canvas.drawRect(rect, paint)); }); + + test('Construct an ImageShader - GPU image', () async { + final PictureRecorder recorder = PictureRecorder(); + final Canvas canvas = Canvas(recorder); + canvas.drawPaint(Paint()..color = const Color(0xFFABCDEF)); + final Picture picture = recorder.endRecording(); + final Image image = picture.toGpuImage(50, 50); + picture.dispose(); + + // TODO(dnfield): this should not throw once + // https://github.com/flutter/flutter/issues/105085 is fixed. + expect( + () => ImageShader(image, TileMode.clamp, TileMode.clamp, Float64List(16)), + throwsException, + ); + }); } diff --git a/testing/run_tests.py b/testing/run_tests.py index c87b2f579dc3e..592d61dc63a2e 100755 --- a/testing/run_tests.py +++ b/testing/run_tests.py @@ -326,6 +326,7 @@ def make_test(name, flags=repeat_flags, extra_env={}): make_test('dart_plugin_registrant_unittests'), make_test('display_list_rendertests'), make_test('display_list_unittests'), + make_test('embedder_a11y_unittests'), make_test('embedder_proctable_unittests'), make_test('embedder_unittests'), make_test('fml_unittests', flags=[fml_unittests_filter] + repeat_flags), diff --git a/tools/android_lint/project.xml b/tools/android_lint/project.xml index 583b66491985d..1b1c2d514f6ef 100644 --- a/tools/android_lint/project.xml +++ b/tools/android_lint/project.xml @@ -23,6 +23,7 @@ + diff --git a/tools/githooks/setup.py b/tools/githooks/setup.py index ea8edf467a838..9e677e96b91d5 100755 --- a/tools/githooks/setup.py +++ b/tools/githooks/setup.py @@ -10,6 +10,7 @@ import os import subprocess import sys +from shutil import which # Natively supported since python 3.3 SRC_ROOT = os.path.dirname( os.path.dirname( @@ -19,17 +20,13 @@ FLUTTER_DIR = os.path.join(SRC_ROOT, 'flutter') -def IsWindows(): - os_id = sys.platform - return os_id.startswith('win32') or os_id.startswith('cygwin') - - def Main(argv): - git = 'git' githooks = os.path.join(FLUTTER_DIR, 'tools', 'githooks') - if IsWindows(): - git = 'git.bat' - githooks = os.path.join(githooks, 'windows') + git_candidates = ['git', 'git.sh', 'git.bat'] + git = next(filter(which, git_candidates), None) + if git is None: + candidates = "', '".join(git_candidates) + raise IOError(f"Looks like GIT is not on the path. Tried '{candidates}'") result = subprocess.run([ git, 'config', diff --git a/tools/gn b/tools/gn index 47f80aab765cb..17f1ed4e12aaf 100755 --- a/tools/gn +++ b/tools/gn @@ -533,17 +533,27 @@ def to_gn_args(args): if args.prebuilt_impellerc is not None: gn_args['impeller_use_prebuilt_impellerc'] = args.prebuilt_impellerc - # Do not build unnecessary parts of the ANGLE tree. - gn_args['angle_build_all'] = False - # Requires RTTI. We may want to build this in debug modes, punting on that - # for now. - gn_args['angle_enable_vulkan_validation_layers'] = False - gn_args['angle_vulkan_headers_dir' - ] = '//third_party/vulkan-deps/vulkan-headers/src' - gn_args['angle_vulkan_loader_dir' - ] = '//third_party/vulkan-deps/vulkan-loader/src' - gn_args['angle_vulkan_tools_dir' - ] = '//third_party/vulkan-deps/vulkan-tools/src' + # ANGLE is exclusively used for: + # - Windows at runtime + # - Non-fuchsia host unit tests (is_host_build evaluates to false). + # Setting these variables creates warnings otherwise. + # If we add ANGLE usage on other platforms, include them here. + # There is a special case for Android on Windows because there we _only_ build + # gen_snapshot, but the build defines otherwise make it look like the build is + # for a host Windows build and make GN think we will be building ANGLE. + if is_host_build(args) or (args.target_os == 'android' and + get_host_os() == 'win'): + # Do not build unnecessary parts of the ANGLE tree. + gn_args['angle_build_all'] = False + # Requires RTTI. We may want to build this in debug modes, punting on that + # for now. + gn_args['angle_enable_vulkan_validation_layers'] = False + gn_args['angle_vulkan_headers_dir' + ] = '//third_party/vulkan-deps/vulkan-headers/src' + gn_args['angle_vulkan_loader_dir' + ] = '//third_party/vulkan-deps/vulkan-loader/src' + gn_args['angle_vulkan_tools_dir' + ] = '//third_party/vulkan-deps/vulkan-tools/src' return gn_args diff --git a/web_sdk/BUILD.gn b/web_sdk/BUILD.gn index 8c14af27f93a9..ba7d190ed83ed 100644 --- a/web_sdk/BUILD.gn +++ b/web_sdk/BUILD.gn @@ -52,7 +52,10 @@ prebuilt_dart_action("web_ui_sources") { input_dir = rebase_path("//flutter/lib/web_ui/lib/") pool = "//flutter/build/dart:dart_pool" - outputs = [ "$target_gen_dir/$target_name.stamp" ] + outputs = [ + "$target_gen_dir/$target_name.stamp", + "$root_out_dir/flutter_web_sdk/lib/ui/", + ] args = [ "--output-dir=$output_dir", @@ -77,7 +80,10 @@ prebuilt_dart_action("web_engine_sources") { input_dir = rebase_path("//flutter/lib/web_ui/lib/src/") pool = "//flutter/build/dart:dart_pool" - outputs = [ "$target_gen_dir/$target_name.stamp" ] + outputs = [ + "$target_gen_dir/$target_name.stamp", + "$root_out_dir/flutter_web_sdk/lib/_engine/", + ] args = [ "--output-dir=$output_dir", @@ -594,6 +600,8 @@ if (!is_fuchsia) { sources += get_target_outputs(":flutter_dartdevc_kernel_sdk_outline_sound") sources += get_target_outputs(":flutter_dartdevc_kernel_sdk_sound") sources += get_target_outputs(":web_ui_library") + sources += get_target_outputs(":web_ui_sources") + sources += get_target_outputs(":web_engine_sources") tmp_files = [] foreach(source, sources) { tmp_files += [ @@ -603,24 +611,6 @@ if (!is_fuchsia) { }, ] } - foreach(source, web_ui_sources) { - rebased_path = rebase_path(source, "//flutter/lib/web_ui/lib") - tmp_files += [ - { - source = rebase_path(source) - destination = "flutter_web_sdk/lib/ui/$rebased_path" - }, - ] - } - foreach(source, web_engine_sources) { - rebased_path = rebase_path(source, "//flutter/lib/web_ui/lib/src") - tmp_files += [ - { - source = rebase_path(source) - destination = "flutter_web_sdk/lib/_engine/$rebased_path" - }, - ] - } files = tmp_files } } From 62db0c02bc1f36b6afb75438fe76ddd68c8a3f33 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Mon, 18 Jul 2022 15:28:00 -0700 Subject: [PATCH 07/33] Remove family count and touch up tests --- .../engine/canvaskit/font_fallback_data.dart | 2 +- .../src/engine/canvaskit/font_fallbacks.dart | 22 +++++++++---------- .../test/canvaskit/canvas_golden_test.dart | 3 +-- .../canvaskit/fallback_fonts_golden_test.dart | 13 +++++------ 4 files changed, 19 insertions(+), 21 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index df58cbb883d22..c40bc9b8e8be8 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -66,7 +66,7 @@ const List fallbackFonts = [ CodeunitRange(0xfeff, 0xfeff), CodeunitRange(0xfffc, 0xfffd), ]), - NotoFont('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v24/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [ + NotoFont('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x23, 0x23), CodeunitRange(0x2a, 0x2a), diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 974b78a541e4d..e88b01bc920e5 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -28,6 +28,7 @@ class FontFallbackData { /// Used for tests. static void debugReset() { _instance = FontFallbackData(); + notoDownloadQueue = FallbackFontDownloadQueue(); } /// Code units that no known font has a glyph for. @@ -58,8 +59,6 @@ class FontFallbackData { final List globalFontFallbacks = ['Roboto']; - final Map fontFallbackCounts = {}; - /// A list of code units to check against the global fallback fonts. final Set _codeUnitsToCheckAgainstFallbackFonts = {}; @@ -215,23 +214,19 @@ class FontFallbackData { printWarning('Failed to parse fallback font $family as a font.'); return; } - fontFallbackCounts.putIfAbsent(family, () => 0); - final int fontFallbackTag = fontFallbackCounts[family]!; - fontFallbackCounts[family] = fontFallbackCounts[family]! + 1; - final String countedFamily = '$family $fontFallbackTag'; // Insert emoji font before all other fallback fonts so we use the emoji // whenever it's available. - registeredFallbackFonts.add(RegisteredFont(bytes, countedFamily, typeface)); + registeredFallbackFonts.add(RegisteredFont(bytes, family, typeface)); // Insert emoji font before all other fallback fonts so we use the emoji // whenever it's available. if (family == 'Noto Emoji') { if (globalFontFallbacks.first == 'Roboto') { - globalFontFallbacks.insert(1, countedFamily); + globalFontFallbacks.insert(1, family); } else { - globalFontFallbacks.insert(0, countedFamily); + globalFontFallbacks.insert(0, family); } } else { - globalFontFallbacks.add(countedFamily); + globalFontFallbacks.add(family); } } } @@ -340,6 +335,10 @@ Set findMinimumFontsForCodeUnits( if (bestFonts.contains(_notoSansJP)) { bestFont = _notoSansJP; } + } else if (language == 'ko') { + if (bestFonts.contains(_notoSansKR)) { + bestFont = _notoSansKR; + } } } } @@ -355,7 +354,8 @@ NotoFont _notoSansSC = fallbackFonts.singleWhere((NotoFont font) => font.name == NotoFont _notoSansTC = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans TC'); NotoFont _notoSansHK = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans HK'); NotoFont _notoSansJP = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans JP'); -List _cjkFonts = [_notoSansSC, _notoSansTC, _notoSansHK, _notoSansJP]; +NotoFont _notoSansKR = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans KR'); +List _cjkFonts = [_notoSansSC, _notoSansTC, _notoSansHK, _notoSansJP, _notoSansKR]; class FallbackFontDownloadQueue { NotoDownloader downloader = NotoDownloader(); diff --git a/lib/web_ui/test/canvaskit/canvas_golden_test.dart b/lib/web_ui/test/canvaskit/canvas_golden_test.dart index e8d33a1573a66..8b8850a32de07 100644 --- a/lib/web_ui/test/canvaskit/canvas_golden_test.dart +++ b/lib/web_ui/test/canvaskit/canvas_golden_test.dart @@ -33,6 +33,7 @@ void testMain() { setUp(() { expect(notoDownloadQueue.downloader.debugActiveDownloadCount, 0); expect(notoDownloadQueue.isPending, isFalse); + FontFallbackData.debugReset(); }); tearDown(() { @@ -565,7 +566,6 @@ void testMain() { // some of these symbols. To make sure the test produces predictable // results we reset the fallback data forcing the engine to reload // fallbacks, which for this test will only load Noto Symbols. - FontFallbackData.debugReset(); await testTextStyle( 'symbols', outerText: '← ↑ → ↓ ', @@ -822,7 +822,6 @@ void testMain() { Future testSampleText(String language, String text, {ui.TextDirection textDirection = ui.TextDirection.ltr, bool write = false}) async { - FontFallbackData.debugReset(); const double testWidth = 300; double paragraphHeight = 0; final CkPicture picture = await generatePictureWhenFontsStable(() { diff --git a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index 9120cde7fc9cb..0a979dd8a85d7 100644 --- a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -28,7 +28,7 @@ void testMain() { ui.PlatformMessageCallback? savedCallback; setUp(() { - notoDownloadQueue = FallbackFontDownloadQueue(); + FontFallbackData.debugReset(); notoDownloadQueue.downloader = TestDownloader(); TestDownloader.mockDownloads.clear(); final String notoSansArabicUrl = fallbackFonts @@ -42,7 +42,6 @@ void testMain() { TestDownloader.mockDownloads[notoEmojiUrl] = '/assets/fonts/NotoColorEmoji.ttf'; savedCallback = ui.window.onPlatformMessage; - FontFallbackData.debugReset(); }); tearDown(() { @@ -68,7 +67,7 @@ void testMain() { await notoDownloadQueue.debugWhenIdle(); expect(FontFallbackData.instance.globalFontFallbacks, - contains('Noto Sans Arabic 0')); + contains('Noto Sans Arabic')); final CkPictureRecorder recorder = CkPictureRecorder(); final CkCanvas canvas = recorder.beginRecording(kDefaultRegion); @@ -109,7 +108,7 @@ void testMain() { await notoDownloadQueue.debugWhenIdle(); expect(FontFallbackData.instance.globalFontFallbacks, - ['Roboto', 'Noto Sans Arabic 0']); + ['Roboto', 'Noto Sans Arabic']); pb = CkParagraphBuilder( CkParagraphStyle(), @@ -126,8 +125,8 @@ void testMain() { expect(FontFallbackData.instance.globalFontFallbacks, [ 'Roboto', - 'Noto Emoji 0', - 'Noto Sans Arabic 0', + 'Noto Emoji', + 'Noto Sans Arabic', ]); }); @@ -147,7 +146,7 @@ void testMain() { await notoDownloadQueue.debugWhenIdle(); expect(FontFallbackData.instance.globalFontFallbacks, - contains('Noto Emoji 0')); + contains('Noto Emoji')); final CkPictureRecorder recorder = CkPictureRecorder(); final CkCanvas canvas = recorder.beginRecording(kDefaultRegion); From f2edc35c8f16b08c923c6fe8ff6eaeb085ae5000 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Mon, 18 Jul 2022 15:35:59 -0700 Subject: [PATCH 08/33] Undo spurious changes --- ci/licenses_golden/licenses_skia | 8 - .../flutter/gfx_external_view_embedder.cc | 115 ++++-- .../flutter/gfx_external_view_embedder.h | 47 ++- .../gfx_external_view_embedder_unittests.cc | 328 ++++++++++++++---- sky/packages/sky_engine/LICENSE | 2 - 5 files changed, 383 insertions(+), 117 deletions(-) diff --git a/ci/licenses_golden/licenses_skia b/ci/licenses_golden/licenses_skia index c034da5a6976e..64e4e0094657e 100644 --- a/ci/licenses_golden/licenses_skia +++ b/ci/licenses_golden/licenses_skia @@ -531,14 +531,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==================================================================================================== LIBRARY: skcms -LIBRARY: skia LIBRARY: vulkan ORIGIN: ../../../third_party/skia/include/third_party/skcms/LICENSE TYPE: LicenseType.bsd FILE: ../../../third_party/skia/include/third_party/skcms/BUILD.bazel FILE: ../../../third_party/skia/include/third_party/vulkan/BUILD.bazel -FILE: ../../../third_party/skia/modules/skcms/BUILD.bazel -FILE: ../../../third_party/skia/modules/skcms/version.sha1 FILE: ../../../third_party/skia/third_party/skcms/BUILD.bazel FILE: ../../../third_party/skia/third_party/skcms/version.sha1 ---------------------------------------------------------------------------------------------------- @@ -573,15 +570,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==================================================================================================== LIBRARY: skcms -LIBRARY: skia LIBRARY: vulkanmemoryallocator ORIGIN: ../../../third_party/skia/include/third_party/skcms/skcms.h + ../../../third_party/skia/include/third_party/skcms/LICENSE TYPE: LicenseType.bsd FILE: ../../../third_party/skia/include/third_party/skcms/skcms.h -FILE: ../../../third_party/skia/modules/skcms/skcms.cc -FILE: ../../../third_party/skia/modules/skcms/skcms.h -FILE: ../../../third_party/skia/modules/skcms/skcms_internal.h -FILE: ../../../third_party/skia/modules/skcms/src/Transform_inl.h FILE: ../../../third_party/skia/third_party/skcms/skcms.cc FILE: ../../../third_party/skia/third_party/skcms/skcms_internal.h FILE: ../../../third_party/skia/third_party/skcms/src/Transform_inl.h diff --git a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc index 83b0a1f7d087c..388671808f001 100644 --- a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc +++ b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc @@ -10,6 +10,7 @@ #include // For std::clamp +#include "flutter/fml/logging.h" #include "flutter/fml/trace_event.h" #include "third_party/skia/include/core/SkPicture.h" #include "third_party/skia/include/core/SkSurface.h" @@ -169,8 +170,9 @@ void GfxExternalViewEmbedder::PrerollCompositeEmbeddedView( zx_handle_t handle = static_cast(view_id); FML_CHECK(frame_layers_.count(handle) == 0); - frame_layers_.emplace(std::make_pair(EmbedderLayerId{handle}, - EmbedderLayer(frame_size_, *params))); + frame_layers_.emplace(std::make_pair( + EmbedderLayerId{handle}, + EmbedderLayer(frame_size_, *params, flutter::RTreeFactory()))); frame_composition_order_.push_back(handle); } @@ -200,8 +202,9 @@ void GfxExternalViewEmbedder::BeginFrame( frame_dpr_ = device_pixel_ratio; // Create the root layer. - frame_layers_.emplace( - std::make_pair(kRootLayerId, EmbedderLayer(frame_size, std::nullopt))); + frame_layers_.emplace(std::make_pair( + kRootLayerId, + EmbedderLayer(frame_size, std::nullopt, flutter::RTreeFactory()))); frame_composition_order_.push_back(kRootLayerId); // Set up the input interceptor at the top of the scene, if applicable. @@ -271,6 +274,19 @@ void GfxExternalViewEmbedder::SubmitFrame( } } + // Finish recording SkPictures. + { + TRACE_EVENT0("flutter", "FinishRecordingPictures"); + + for (const auto& surface_index : frame_surface_indices) { + const auto& layer = frame_layers_.find(surface_index.first); + FML_CHECK(layer != frame_layers_.end()); + layer->second.picture = + layer->second.recorder->finishRecordingAsPicture(); + FML_CHECK(layer->second.picture != nullptr); + } + } + // Submit layers and platform views to Scenic in composition order. { TRACE_EVENT0("flutter", "SubmitLayers"); @@ -437,10 +453,18 @@ void GfxExternalViewEmbedder::SubmitFrame( FML_CHECK(scenic_layer_index <= scenic_layers_.size()); if (scenic_layer_index == scenic_layers_.size()) { ScenicLayer new_layer{ - .shape_node = scenic::ShapeNode(session_->get()), - .material = scenic::Material(session_->get()), + .layer_node = scenic::EntityNode(session_->get()), + .image = + ScenicImage{ + .shape_node = scenic::ShapeNode(session_->get()), + .material = scenic::Material(session_->get()), + }, + // We'll set hit regions later. + .hit_regions = {}, }; - new_layer.shape_node.SetMaterial(new_layer.material); + new_layer.layer_node.SetLabel("Flutter::Layer"); + new_layer.layer_node.AddChild(new_layer.image.shape_node); + new_layer.image.shape_node.SetMaterial(new_layer.image.material); scenic_layers_.emplace_back(std::move(new_layer)); } @@ -491,25 +515,50 @@ void GfxExternalViewEmbedder::SubmitFrame( embedded_views_height; auto& scenic_layer = scenic_layers_[scenic_layer_index]; auto& scenic_rect = found_rects->second[rect_index]; - scenic_layer.shape_node.SetLabel("Flutter::Layer"); - scenic_layer.shape_node.SetShape(scenic_rect); - scenic_layer.shape_node.SetTranslation( + auto& image = scenic_layer.image; + image.shape_node.SetLabel("Flutter::Layer::Image"); + image.shape_node.SetShape(scenic_rect); + image.shape_node.SetTranslation( layer->second.surface_size.width() * 0.5f, layer->second.surface_size.height() * 0.5f, -layer_elevation); - scenic_layer.material.SetColor(SK_AlphaOPAQUE, SK_AlphaOPAQUE, - SK_AlphaOPAQUE, layer_opacity); - scenic_layer.material.SetTexture(surface_for_layer->GetImageId()); - - // Only the first (i.e. the bottom-most) layer should receive input. - // TODO: Workaround for invisible overlays stealing input. Remove when - // the underlying bug is fixed. - const fuchsia::ui::gfx::HitTestBehavior layer_hit_test_behavior = - first_layer ? fuchsia::ui::gfx::HitTestBehavior::kDefault - : fuchsia::ui::gfx::HitTestBehavior::kSuppress; - scenic_layer.shape_node.SetHitTestBehavior(layer_hit_test_behavior); + image.material.SetColor(SK_AlphaOPAQUE, SK_AlphaOPAQUE, SK_AlphaOPAQUE, + layer_opacity); + image.material.SetTexture(surface_for_layer->GetImageId()); + + // We'll set hit regions expliclty on a separate ShapeNode, so the image + // itself should be unhittable and semantically invisible. + image.shape_node.SetHitTestBehavior( + fuchsia::ui::gfx::HitTestBehavior::kSuppress); + image.shape_node.SetSemanticVisibility(false); // Attach the ScenicLayer to the main scene graph. - layer_tree_node_.AddChild(scenic_layer.shape_node); + layer_tree_node_.AddChild(scenic_layer.layer_node); + + // Compute the set of non-overlapping set of bounding boxes for the + // painted content in this layer. + { + FML_CHECK(layer->second.rtree); + std::list intersection_rects = + layer->second.rtree->searchNonOverlappingDrawnRects( + SkRect::Make(layer->second.surface_size)); + + // SkRect joined_rect = SkRect::MakeEmpty(); + for (const SkRect& rect : intersection_rects) { + auto paint_bounds = + scenic::Rectangle(session_->get(), rect.width(), rect.height()); + auto hit_region = scenic::ShapeNode(session_->get()); + hit_region.SetLabel("Flutter::Layer::HitRegion"); + hit_region.SetShape(paint_bounds); + hit_region.SetTranslation(rect.centerX(), rect.centerY(), + -layer_elevation); + hit_region.SetHitTestBehavior( + fuchsia::ui::gfx::HitTestBehavior::kDefault); + hit_region.SetSemanticVisibility(true); + + scenic_layer.layer_node.AddChild(hit_region); + scenic_layer.hit_regions.push_back(std::move(hit_region)); + } + } } // Reset for the next pass: @@ -527,7 +576,11 @@ void GfxExternalViewEmbedder::SubmitFrame( session_->Present(); } - // Render the recorded SkPictures into the surfaces. + // Flush pending skia operations. + // NOTE: This operation MUST occur AFTER the `Present() ` call above. We + // pipeline the Skia rendering work with scenic IPC, and scenic will delay + // internally until Skia is finished. So, doing this work before calling + // `Present()` would adversely affect performance. { TRACE_EVENT0("flutter", "RasterizeSurfaces"); @@ -548,13 +601,10 @@ void GfxExternalViewEmbedder::SubmitFrame( const auto& layer = frame_layers_.find(surface_index.first); FML_CHECK(layer != frame_layers_.end()); - sk_sp picture = - layer->second.recorder->finishRecordingAsPicture(); - FML_CHECK(picture != nullptr); canvas->setMatrix(SkMatrix::I()); canvas->clear(SK_ColorTRANSPARENT); - canvas->drawPicture(picture); + canvas->drawPicture(layer->second.picture); canvas->flush(); } } @@ -636,7 +686,16 @@ void GfxExternalViewEmbedder::Reset() { // Clear images on all layers so they aren't cached unnecessarily. for (auto& layer : scenic_layers_) { - layer.material.SetTexture(0); + layer.image.material.SetTexture(0); + + // Detach hit regions; otherwise, they may persist across frames + // incorrectly. + for (auto& hit_region : layer.hit_regions) { + hit_region.Detach(); + } + + // Remove cached hit regions so that we don't recreate stale ones. + layer.hit_regions.clear(); } } diff --git a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h index 1e0a5e3eab67d..81b061776973b 100644 --- a/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h +++ b/shell/platform/fuchsia/flutter/gfx_external_view_embedder.h @@ -17,6 +17,7 @@ #include #include "flutter/flow/embedded_views.h" +#include "flutter/flow/rtree.h" #include "flutter/fml/logging.h" #include "flutter/fml/macros.h" #include "flutter/shell/common/canvas_spy.h" @@ -138,18 +139,29 @@ class GfxExternalViewEmbedder final : public flutter::ExternalViewEmbedder { struct EmbedderLayer { EmbedderLayer(const SkISize& frame_size, - std::optional view_params) - : embedded_view_params(std::move(view_params)), + std::optional view_params, + flutter::RTreeFactory rtree_factory) + : rtree(rtree_factory.getInstance()), + embedded_view_params(std::move(view_params)), recorder(std::make_unique()), canvas_spy(std::make_unique( - recorder->beginRecording(frame_size.width(), - frame_size.height()))), - surface_size(frame_size) {} + recorder->beginRecording(SkRect::Make(frame_size), + &rtree_factory))), + surface_size(frame_size), + picture(nullptr) {} + + // Records paint operations applied to this layer's `SkCanvas`. + // These records are used to determine which portions of this layer + // contain content. The embedder propagates this information to scenic, so + // that scenic can accurately decide which portions of this layer may + // interact with input. + sk_sp rtree; std::optional embedded_view_params; std::unique_ptr recorder; std::unique_ptr canvas_spy; SkISize surface_size; + sk_sp picture; }; using EmbedderLayerId = std::optional; constexpr static EmbedderLayerId kRootLayerId = EmbedderLayerId{}; @@ -172,11 +184,34 @@ class GfxExternalViewEmbedder final : public flutter::ExternalViewEmbedder { bool pending_focusable = true; }; - struct ScenicLayer { + // GFX resources required to render a composited flutter layer (i.e. an + // SkPicture). + struct ScenicImage { scenic::ShapeNode shape_node; scenic::Material material; }; + // All resources required to represent a flutter layer in the GFX scene + // graph. The structure of the subgraph for a particular layer is: + // + // layer_node + // / \ + // image node hit regions (zero or more) + // + // NOTE: `hit_regions` must be cleared before submitting each new frame; + // otherwise, we will report stale hittable geometry to scenic. + struct ScenicLayer { + // Root of the subtree containing the scenic resources for this layer. + scenic::EntityNode layer_node; + + // Scenic resources used to render this layer's image. + ScenicImage image; + + // Scenic resources that specify which parts of this layer are responsive + // to input. + std::vector hit_regions; + }; + std::shared_ptr session_; std::shared_ptr surface_producer_; diff --git a/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc b/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc index 58690960d03cb..f99c54fb1904a 100644 --- a/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc +++ b/shell/platform/fuchsia/flutter/tests/gfx_external_view_embedder_unittests.cc @@ -149,18 +149,6 @@ class FakeSurfaceProducer : public SurfaceProducer { uint32_t buffer_id_{1}; }; -struct FakeCompositorLayer { - enum class LayerType : uint32_t { - Image, - View, - }; - - std::shared_ptr layer_root; - - LayerType layer_type{LayerType::Image}; - size_t layer_index{0}; -}; - std::string GetCurrentTestName() { return ::testing::UnitTest::GetInstance()->current_test_info()->name(); } @@ -253,12 +241,28 @@ void ExpectRootSceneGraph( EXPECT_EQ(scene_graph.resource_map.size(), 3u); } -void ExpectImageCompositorLayer(const FakeCompositorLayer& layer, - const SkISize layer_size) { +/// Verifies the scene subgraph for a particular flutter embedder layer. +/// +/// ARGUMENTS +/// +/// scenic_node: The root of the layer's scenic subgraph. +/// +/// layer_size: The expected dimensions of the layer's image. +/// +/// flutter_layer_index: This layer's 0-indexed position in the list of +/// flutter layers present in this frame, sorted in paint order. +/// +/// paint_regions: List of non-overlapping rects, in canvas coordinate space, +/// where content was drawn. For each "paint region" present in the frame, the +/// embedder reports a corresponding "hit region" to scenic as a hittable +/// ShapeNode. ShapeNodes are centered at (0, 0), by default, so they must be +/// translated to match the locations of the corresopnding paint regions. +void ExpectImageCompositorLayer(const FakeResource& scenic_node, + const SkISize layer_size, + size_t flutter_layer_index, + std::vector paint_regions) { const SkSize float_layer_size = SkSize::Make(layer_size.width(), layer_size.height()); - const size_t flutter_layer_index = - (layer.layer_index + 1) / 2; // Integer division const float views_under_layer_depth = flutter_layer_index * GfxExternalViewEmbedder::kScenicZElevationForPlatformView; @@ -266,27 +270,50 @@ void ExpectImageCompositorLayer(const FakeCompositorLayer& layer, flutter_layer_index * GfxExternalViewEmbedder::kScenicZElevationBetweenLayers + views_under_layer_depth; - const bool layer_hit_testable = (flutter_layer_index == 0) - ? FakeNode::kIsHitTestable - : FakeNode::kIsNotHitTestable; const float layer_opacity = (flutter_layer_index == 0) ? GfxExternalViewEmbedder::kBackgroundLayerOpacity / 255.f : GfxExternalViewEmbedder::kOverlayLayerOpacity / 255.f; - EXPECT_EQ(layer.layer_type, FakeCompositorLayer::LayerType::Image); - EXPECT_EQ(layer.layer_index % 2, 0u); + EXPECT_THAT( - layer.layer_root, - Pointee(FieldsAre( + scenic_node, + FieldsAre( _, "Flutter::Layer", FakeResource::kDefaultEmptyEventMask, + VariantWith(FieldsAre( + FieldsAre( + // Verify children separately below, since the + // expected number of children may vary across + // different test cases that call this method. + _, FakeNode::kDefaultZeroRotation, FakeNode::kDefaultOneScale, + FakeNode::kDefaultZeroTranslation, + FakeNode::kDefaultZeroAnchor, FakeNode::kIsHitTestable, + FakeNode::kIsSemanticallyVisible), + _)))); + + const auto* layer_node_state = + std::get_if(&scenic_node.state); + ASSERT_TRUE(layer_node_state); + + const auto& layer_node_children = layer_node_state->node_state.children; + + // The layer entity node should have a child node for the image, and + // separate children for each of the hit regions. + ASSERT_EQ(layer_node_children.size(), paint_regions.size() + 1); + + // Verify image node. + EXPECT_THAT( + layer_node_children[0], + Pointee(FieldsAre( + _, "Flutter::Layer::Image", FakeResource::kDefaultEmptyEventMask, VariantWith(FieldsAre( FieldsAre(IsEmpty(), FakeNode::kDefaultZeroRotation, FakeNode::kDefaultOneScale, std::array{float_layer_size.width() / 2.f, float_layer_size.height() / 2.f, -layer_depth}, - FakeNode::kDefaultZeroAnchor, layer_hit_testable, - FakeNode::kIsSemanticallyVisible), + FakeNode::kDefaultZeroAnchor, + FakeNode::kIsNotHitTestable, + FakeNode::kIsNotSemanticallyVisible), Pointee( FieldsAre(_, "", FakeResource::kDefaultEmptyEventMask, VariantWith( @@ -305,13 +332,39 @@ void ExpectImageCompositorLayer(const FakeCompositorLayer& layer, IsNull())))), std::array{1.f, 1.f, 1.f, layer_opacity}))))))))); + + // Verify hit regions. + for (size_t i = 0; i < paint_regions.size(); ++i) { + ASSERT_LT(i, layer_node_children.size()); + const auto& paint_region = paint_regions[i]; + EXPECT_THAT( + layer_node_children[i + 1], + Pointee(FieldsAre( + _, "Flutter::Layer::HitRegion", + FakeResource::kDefaultEmptyEventMask, + VariantWith(FieldsAre( + FieldsAre(IsEmpty(), FakeNode::kDefaultZeroRotation, + FakeNode::kDefaultOneScale, + std::array{ + paint_region.x() + paint_region.width() / 2.f, + paint_region.y() + paint_region.height() / 2.f, + -layer_depth}, + FakeNode::kDefaultZeroAnchor, + FakeNode::kIsHitTestable, + FakeNode::kIsSemanticallyVisible), + Pointee(FieldsAre( + _, "", FakeResource::kDefaultEmptyEventMask, + VariantWith(FieldsAre( + VariantWith(FieldsAre( + paint_region.width(), paint_region.height())))))), + IsNull()))))); + } } -void ExpectViewCompositorLayer(const FakeCompositorLayer& layer, +void ExpectViewCompositorLayer(const FakeResource& scenic_node, const fuchsia::ui::views::ViewToken& view_token, - const flutter::EmbeddedViewParams& view_params) { - const size_t flutter_layer_index = - (layer.layer_index + 1) / 2; // Integer division + const flutter::EmbeddedViewParams& view_params, + size_t flutter_layer_index) { const float views_under_layer_depth = flutter_layer_index > 0 ? (flutter_layer_index - 1) * @@ -321,11 +374,9 @@ void ExpectViewCompositorLayer(const FakeCompositorLayer& layer, flutter_layer_index * GfxExternalViewEmbedder::kScenicZElevationBetweenLayers + views_under_layer_depth; - EXPECT_EQ(layer.layer_type, FakeCompositorLayer::LayerType::View); - EXPECT_EQ(layer.layer_index % 2, 1u); EXPECT_THAT( - layer.layer_root, - Pointee(FieldsAre( + scenic_node, + FieldsAre( _, _ /*"Flutter::PlatformView::OpacityMutator" */, FakeResource::kDefaultEmptyEventMask, VariantWith(FieldsAre( @@ -372,10 +423,10 @@ void ExpectViewCompositorLayer(const FakeCompositorLayer& layer, FakeNode::kDefaultZeroTranslation, FakeNode::kDefaultZeroAnchor, FakeNode::kIsHitTestable, FakeNode::kIsSemanticallyVisible), - FakeOpacityNode::kDefaultOneOpacity))))); + FakeOpacityNode::kDefaultOneOpacity)))); } -std::vector ExtractLayersFromSceneGraph( +std::vector ExtractLayersFromSceneGraph( const FakeSceneGraph& scene_graph) { AssertRootSceneGraph(scene_graph, false); @@ -387,20 +438,12 @@ std::vector ExtractLayersFromSceneGraph( auto* layer_tree_state = std::get_if( &metrics_watcher_state->node_state.children[0]->state); - std::vector layers; + std::vector scenic_layers; for (auto& layer_resource : layer_tree_state->node_state.children) { - const size_t layer_index = layers.size(); - const FakeCompositorLayer::LayerType layer_type = - (layer_index % 2 == 0) ? FakeCompositorLayer::LayerType::Image - : FakeCompositorLayer::LayerType::View; - layers.emplace_back(FakeCompositorLayer{ - .layer_root = layer_resource, - .layer_type = layer_type, - .layer_index = layer_index, - }); + scenic_layers.push_back(*layer_resource); } - return layers; + return scenic_layers; } void DrawSimpleFrame(GfxExternalViewEmbedder& external_view_embedder, @@ -528,6 +571,7 @@ class GfxExternalViewEmbedderTest std::shared_ptr fake_surface_producer_; }; +// Tests the trivial case where flutter does not present any content to scenic. TEST_F(GfxExternalViewEmbedderTest, RootScene) { const std::string debug_name = GetCurrentTestName(); auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); @@ -558,6 +602,7 @@ TEST_F(GfxExternalViewEmbedderTest, RootScene) { view_holder_token, view_ref); } +// Tests the case where flutter renders a single image. TEST_F(GfxExternalViewEmbedderTest, SimpleScene) { const std::string debug_name = GetCurrentTestName(); auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); @@ -579,29 +624,34 @@ TEST_F(GfxExternalViewEmbedderTest, SimpleScene) { // Draw the scene. The scene graph shouldn't change yet. const SkISize frame_size = SkISize::Make(512, 512); + SkRect paint_region; DrawSimpleFrame( - external_view_embedder, frame_size, 1.f, [](SkCanvas* canvas) { + external_view_embedder, frame_size, 1.f, + [&paint_region](SkCanvas* canvas) { const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), canvas->imageInfo().height()); SkPaint rect_paint; rect_paint.setColor(SK_ColorGREEN); - canvas->translate(canvas_size.width() / 4.f, - canvas_size.height() / 2.f); - canvas->drawRect(SkRect::MakeWH(canvas_size.width() / 32.f, - canvas_size.height() / 32.f), - rect_paint); + + paint_region = SkRect::MakeXYWH( + canvas_size.width() / 4.f, canvas_size.height() / 2.f, + canvas_size.width() / 32.f, canvas_size.height() / 32.f); + + canvas->drawRect(paint_region, rect_paint); }); ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, view_holder_token, view_ref); // Pump the message loop. The scene updates should propogate to Scenic. loop().RunUntilIdle(); - std::vector compositor_layers = + std::vector scenic_layers = ExtractLayersFromSceneGraph(fake_session().SceneGraph()); - EXPECT_EQ(compositor_layers.size(), 1u); - ExpectImageCompositorLayer(compositor_layers[0], frame_size); + EXPECT_EQ(scenic_layers.size(), 1u); + ExpectImageCompositorLayer(scenic_layers[0], frame_size, + /* flutter layer index = */ 0, {paint_region}); } +// Tests the case where flutter embeds a platform view on top of an image layer. TEST_F(GfxExternalViewEmbedderTest, SceneWithOneView) { const std::string debug_name = GetCurrentTestName(); auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); @@ -633,42 +683,51 @@ TEST_F(GfxExternalViewEmbedderTest, SceneWithOneView) { // Draw the scene. The scene graph shouldn't change yet. const SkISize frame_size = SkISize::Make(512, 512); + + SkRect main_surface_paint_region, overlay_paint_region; + DrawFrameWithView( external_view_embedder, frame_size, 1.f, child_view_id, child_view_params, - [](SkCanvas* canvas) { + [&main_surface_paint_region](SkCanvas* canvas) { const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), canvas->imageInfo().height()); + + main_surface_paint_region = SkRect::MakeXYWH( + canvas_size.width() / 4.f, canvas_size.width() / 2.f, + canvas_size.width() / 32.f, canvas_size.height() / 32.f); + SkPaint rect_paint; rect_paint.setColor(SK_ColorGREEN); - canvas->translate(canvas_size.width() / 4.f, - canvas_size.height() / 2.f); - canvas->drawRect(SkRect::MakeWH(canvas_size.width() / 32.f, - canvas_size.height() / 32.f), - rect_paint); + canvas->drawRect(main_surface_paint_region, rect_paint); }, - [](SkCanvas* canvas) { + [&overlay_paint_region](SkCanvas* canvas) { const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), canvas->imageInfo().height()); + overlay_paint_region = SkRect::MakeXYWH( + canvas_size.width() * 3.f / 4.f, canvas_size.height() / 2.f, + canvas_size.width() / 32.f, canvas_size.height() / 32.f); + SkPaint rect_paint; rect_paint.setColor(SK_ColorRED); - canvas->translate(canvas_size.width() * 3.f / 4.f, - canvas_size.height() / 2.f); - canvas->drawRect(SkRect::MakeWH(canvas_size.width() / 32.f, - canvas_size.height() / 32.f), - rect_paint); + canvas->drawRect(overlay_paint_region, rect_paint); }); ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, view_holder_token, view_ref); // Pump the message loop. The scene updates should propagate to Scenic. loop().RunUntilIdle(); - std::vector compositor_layers = + std::vector scenic_layers = ExtractLayersFromSceneGraph(fake_session().SceneGraph()); - EXPECT_EQ(compositor_layers.size(), 3u); - ExpectImageCompositorLayer(compositor_layers[0], frame_size); - ExpectViewCompositorLayer(compositor_layers[1], child_view_token, - child_view_params); - ExpectImageCompositorLayer(compositor_layers[2], frame_size); + EXPECT_EQ(scenic_layers.size(), 3u); + ExpectImageCompositorLayer(scenic_layers[0], frame_size, + /* flutter layer index = */ 0, + {main_surface_paint_region}); + ExpectViewCompositorLayer(scenic_layers[1], child_view_token, + child_view_params, + /* flutter layer index = */ 1); + ExpectImageCompositorLayer(scenic_layers[2], frame_size, + /* flutter layer index = */ 1, + {overlay_paint_region}); // Destroy the view. external_view_embedder.DestroyView(child_view_id, [](scenic::ResourceId) {}); @@ -677,4 +736,127 @@ TEST_F(GfxExternalViewEmbedderTest, SceneWithOneView) { loop().RunUntilIdle(); } +// Tests the case where flutter renders an image with two non-overlapping pieces +// of content. In this case, the embedder should report two separate hit regions +// to scenic. +TEST_F(GfxExternalViewEmbedderTest, SimpleSceneDisjointHitRegions) { + const std::string debug_name = GetCurrentTestName(); + auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); + auto view_ref_pair = scenic::ViewRefPair::New(); + fuchsia::ui::views::ViewRef view_ref; + view_ref_pair.view_ref.Clone(&view_ref); + + // Create the `GfxExternalViewEmbedder` and pump the message loop until + // the initial scene graph is setup. + GfxExternalViewEmbedder external_view_embedder( + debug_name, std::move(view_token), std::move(view_ref_pair), + session_connection(), fake_surface_producer()); + loop().RunUntilIdle(); + fake_session().FireOnFramePresentedEvent( + MakeFramePresentedInfoForOnePresent(0, 0)); + loop().RunUntilIdle(); + ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, + view_holder_token, view_ref); + + // Draw the scene. The scene graph shouldn't change yet. + SkRect paint_region_1, paint_region_2; + const SkISize frame_size = SkISize::Make(512, 512); + DrawSimpleFrame( + external_view_embedder, frame_size, 1.f, + [&paint_region_1, &paint_region_2](SkCanvas* canvas) { + const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), + canvas->imageInfo().height()); + + paint_region_1 = SkRect::MakeXYWH( + canvas_size.width() / 4.f, canvas_size.height() / 2.f, + canvas_size.width() / 32.f, canvas_size.height() / 32.f); + + SkPaint rect_paint; + rect_paint.setColor(SK_ColorGREEN); + canvas->drawRect(paint_region_1, rect_paint); + + paint_region_2 = SkRect::MakeXYWH( + canvas_size.width() * 3.f / 4.f, canvas_size.height() / 2.f, + canvas_size.width() / 32.f, canvas_size.height() / 32.f); + + rect_paint.setColor(SK_ColorRED); + canvas->drawRect(paint_region_2, rect_paint); + }); + ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, + view_holder_token, view_ref); + + // Pump the message loop. The scene updates should propogate to Scenic. + loop().RunUntilIdle(); + std::vector scenic_layers = + ExtractLayersFromSceneGraph(fake_session().SceneGraph()); + EXPECT_EQ(scenic_layers.size(), 1u); + ExpectImageCompositorLayer(scenic_layers[0], frame_size, + /* flutter layer index = */ 0, + {paint_region_1, paint_region_2}); +} + +// Tests the case where flutter renders an image with two overlapping pieces of +// content. In this case, the embedder should report a single joint hit region +// to scenic. +TEST_F(GfxExternalViewEmbedderTest, SimpleSceneOverlappingHitRegions) { + const std::string debug_name = GetCurrentTestName(); + auto [view_token, view_holder_token] = scenic::ViewTokenPair::New(); + auto view_ref_pair = scenic::ViewRefPair::New(); + fuchsia::ui::views::ViewRef view_ref; + view_ref_pair.view_ref.Clone(&view_ref); + + // Create the `GfxExternalViewEmbedder` and pump the message loop until + // the initial scene graph is setup. + GfxExternalViewEmbedder external_view_embedder( + debug_name, std::move(view_token), std::move(view_ref_pair), + session_connection(), fake_surface_producer()); + loop().RunUntilIdle(); + fake_session().FireOnFramePresentedEvent( + MakeFramePresentedInfoForOnePresent(0, 0)); + loop().RunUntilIdle(); + ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, + view_holder_token, view_ref); + + // Draw the scene. The scene graph shouldn't change yet. + SkRect joined_paint_region = SkRect::MakeEmpty(); + const SkISize frame_size = SkISize::Make(512, 512); + DrawSimpleFrame( + external_view_embedder, frame_size, 1.f, + [&joined_paint_region](SkCanvas* canvas) { + const SkSize canvas_size = SkSize::Make(canvas->imageInfo().width(), + canvas->imageInfo().height()); + + auto paint_region_1 = SkRect::MakeXYWH( + canvas_size.width() / 4.f, canvas_size.height() / 4.f, + canvas_size.width() / 2.f, canvas_size.height() / 2.f); + SkPaint rect_paint; + rect_paint.setColor(SK_ColorGREEN); + canvas->drawRect(paint_region_1, rect_paint); + + auto paint_region_2 = SkRect::MakeXYWH( + canvas_size.width() * 3.f / 8.f, canvas_size.height() / 4.f, + canvas_size.width() / 2.f, canvas_size.height() / 2.f); + rect_paint.setColor(SK_ColorRED); + canvas->drawRect(paint_region_2, rect_paint); + + joined_paint_region.join(paint_region_1); + joined_paint_region.join(paint_region_2); + }); + ExpectRootSceneGraph(fake_session().SceneGraph(), debug_name, + view_holder_token, view_ref); + + EXPECT_EQ(joined_paint_region.x(), 128.f); + EXPECT_EQ(joined_paint_region.y(), 128.f); + EXPECT_EQ(joined_paint_region.width(), 320.f); + EXPECT_EQ(joined_paint_region.height(), 256.f); + // Pump the message loop. The scene updates should propogate to Scenic. + loop().RunUntilIdle(); + std::vector scenic_layers = + ExtractLayersFromSceneGraph(fake_session().SceneGraph()); + EXPECT_EQ(scenic_layers.size(), 1u); + ExpectImageCompositorLayer(scenic_layers[0], frame_size, + /* flutter layer index = */ 0, + {joined_paint_region}); +} + } // namespace flutter_runner::testing diff --git a/sky/packages/sky_engine/LICENSE b/sky/packages/sky_engine/LICENSE index 70926f0554ea4..a9e91b2f11ea2 100644 --- a/sky/packages/sky_engine/LICENSE +++ b/sky/packages/sky_engine/LICENSE @@ -13783,7 +13783,6 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. -------------------------------------------------------------------------------- skcms -skia vulkan Copyright (c) 2018 Google Inc. All rights reserved. @@ -13815,7 +13814,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- skcms -skia vulkanmemoryallocator Copyright 2018 Google Inc. From 493fa6d08cd04f90d5bb108534d613e3b575a34e Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Mon, 18 Jul 2022 16:21:47 -0700 Subject: [PATCH 09/33] Update license --- ci/licenses_golden/licenses_flutter | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index d73b52299c49f..fb3d397d3c0b6 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -1040,6 +1040,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views_diff.dart +FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart @@ -1053,6 +1054,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.d FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/mask_filter.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/n_way_canvas.dart +FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/painting.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/path.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/path_metrics.dart From 0255cd8d58e3905ba6ebe387776c02a7bc636c30 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Fri, 5 Aug 2022 12:46:07 -0700 Subject: [PATCH 10/33] WIP --- .../dev/generate_fallback_font_data.dart | 44 ++++++++++++++----- .../engine/canvaskit/font_fallback_data.dart | 32 +++++++------- .../src/engine/canvaskit/font_fallbacks.dart | 13 +++++- 3 files changed, 59 insertions(+), 30 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index e4f886666a9c9..14ef28aa6a93d 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -20,7 +20,13 @@ class GenerateFallbackFontDataCommand extends Command 'key', defaultsTo: '', help: 'The Google Fonts API key. Used to get data about fonts hosted on ' - 'Google Fonts', + 'Google Fonts.', + ); + argParser.addFlag( + 'download-test-fonts', + defaultsTo: true, + help: 'Whether to download the Noto fonts into a local folder to use in' + 'tests.', ); } @@ -32,6 +38,8 @@ class GenerateFallbackFontDataCommand extends Command String get apiKey => stringArg('key'); + bool get downloadTestFonts => boolArg('download-test-fonts'); + @override Future run() async { await _generateFallbackFontData(); @@ -48,18 +56,30 @@ class GenerateFallbackFontDataCommand extends Command if (response.statusCode != 200) { throw ToolExit('Failed to download Google Fonts list.'); } - final Map googleFontsResult = jsonDecode(response.body); - final List fontDatas = googleFontsResult['items'] as List; + final Map googleFontsResult = + jsonDecode(response.body) as Map; + final List> fontDatas = + (googleFontsResult['items'] as List) + .cast>(); final Map urlForFamily = {}; for (final Map fontData in fontDatas) { if (fallbackFonts.contains(fontData['family'])) { final Uri uri = Uri.parse(fontData['files']['regular'] as String); - urlForFamily[fontData['family']] = uri; + urlForFamily[fontData['family'] as String] = uri; } } final Map charsetForFamily = {}; - final io.Directory tempDir = - await io.Directory.systemTemp.createTemp('fonts'); + final io.Directory fontDir = downloadTestFonts + ? await io.Directory(path.join( + environment.webUiBuildDir.path, + 'assets', + 'noto', + )).create(recursive: true) + : await io.Directory.systemTemp.createTemp('fonts'); + // Delete old fonts in the font directory. + await for (final io.FileSystemEntity file in fontDir.list()) { + await file.delete(); + } for (final String family in fallbackFonts) { print('Downloading $family...'); final Uri uri = urlForFamily[family]!; @@ -68,7 +88,7 @@ class GenerateFallbackFontDataCommand extends Command throw ToolExit('Failed to download font for $family'); } final io.File fontFile = - io.File(path.join(tempDir.path, path.basename(uri.path))); + io.File(path.join(fontDir.path, path.basename(uri.path))); await fontFile.writeAsBytes(fontResponse.bodyBytes); final io.ProcessResult fcQueryResult = await io.Process.run('fc-query', [ @@ -76,7 +96,7 @@ class GenerateFallbackFontDataCommand extends Command '--', fontFile.path, ]); - final String encodedCharset = fcQueryResult.stdout; + final String encodedCharset = fcQueryResult.stdout as String; charsetForFamily[family] = encodedCharset; } @@ -86,14 +106,14 @@ class GenerateFallbackFontDataCommand extends Command sb.writeln('// Use of this source code is governed by a BSD-style license ' 'that can be'); sb.writeln('// found in the LICENSE file.'); - sb.writeln(''); + sb.writeln(); sb.writeln('// DO NOT EDIT! This file is generated. See:'); sb.writeln('// dev/generate_fallback_font_data.dart'); - sb.writeln('import \'noto_font.dart\';'); - sb.writeln(''); + sb.writeln("import 'noto_font.dart';"); + sb.writeln(); sb.writeln('const List fallbackFonts = ['); for (final String family in fallbackFonts) { - sb.writeln(' NotoFont(\'$family\', \'${urlForFamily[family]!}\', ' + sb.writeln(" NotoFont('$family', '${urlForFamily[family]!}', " '['); for (final String range in charsetForFamily[family]!.split(' ')) { String? start; diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index c40bc9b8e8be8..9b225c472787e 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -507,7 +507,7 @@ const List fallbackFonts = [ CodeunitRange(0xfe70, 0xfe74), CodeunitRange(0xfe76, 0xfefc), ]), - NotoFont('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v31/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [ + NotoFont('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x2d, 0x2d), CodeunitRange(0xa0, 0xa0), @@ -529,7 +529,7 @@ const List fallbackFonts = [ CodeunitRange(0x10b00, 0x10b35), CodeunitRange(0x10b39, 0x10b3f), ]), - NotoFont('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v16/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [ + NotoFont('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v17/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x3f, 0x3f), CodeunitRange(0xa0, 0xa0), @@ -538,7 +538,7 @@ const List fallbackFonts = [ CodeunitRange(0x200b, 0x200d), CodeunitRange(0x25cc, 0x25cc), ]), - NotoFont('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v17/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [ + NotoFont('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0xa0, 0xa0), CodeunitRange(0xa6a0, 0xa6f7), @@ -559,7 +559,7 @@ const List fallbackFonts = [ CodeunitRange(0x200b, 0x200d), CodeunitRange(0x25cc, 0x25cc), ]), - NotoFont('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v17/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [ + NotoFont('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v18/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [ CodeunitRange(0x20, 0x23), CodeunitRange(0x25, 0x25), CodeunitRange(0x27, 0x3f), @@ -694,7 +694,7 @@ const List fallbackFonts = [ CodeunitRange(0xaa50, 0xaa59), CodeunitRange(0xaa5c, 0xaa5f), ]), - NotoFont('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v16/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [ + NotoFont('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0xa0, 0xa0), CodeunitRange(0x300, 0x302), @@ -946,7 +946,7 @@ const List fallbackFonts = [ CodeunitRange(0x11d93, 0x11d98), CodeunitRange(0x11da0, 0x11da9), ]), - NotoFont('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v17/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [ + NotoFont('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [ CodeunitRange(0x20, 0x23), CodeunitRange(0x25, 0x25), CodeunitRange(0x27, 0x3f), @@ -6059,7 +6059,7 @@ const List fallbackFonts = [ CodeunitRange(0x108f4, 0x108f5), CodeunitRange(0x108fb, 0x108ff), ]), - NotoFont('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v36/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [ + NotoFont('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v37/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x2d, 0x2d), CodeunitRange(0xa0, 0xa0), @@ -15759,7 +15759,7 @@ const List fallbackFonts = [ CodeunitRange(0x10a3f, 0x10a48), CodeunitRange(0x10a50, 0x10a58), ]), - NotoFont('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v15/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [ + NotoFont('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v16/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [ CodeunitRange(0x20, 0x22), CodeunitRange(0x27, 0x29), CodeunitRange(0x2c, 0x2f), @@ -16113,7 +16113,7 @@ const List fallbackFonts = [ CodeunitRange(0xa0, 0xa0), CodeunitRange(0x16e40, 0x16e9a), ]), - NotoFont('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v8/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [ + NotoFont('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0xa0, 0xa0), CodeunitRange(0x200b, 0x200d), @@ -16255,7 +16255,7 @@ const List fallbackFonts = [ CodeunitRange(0xa0, 0xa0), CodeunitRange(0x1680, 0x169c), ]), - NotoFont('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v16/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [ + NotoFont('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0xa0, 0xa0), CodeunitRange(0x1c50, 0x1c7f), @@ -16912,7 +16912,7 @@ const List fallbackFonts = [ CodeunitRange(0x11580, 0x115b5), CodeunitRange(0x115b8, 0x115dd), ]), - NotoFont('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v24/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [ + NotoFont('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [ CodeunitRange(0x20, 0x23), CodeunitRange(0x25, 0x25), CodeunitRange(0x27, 0x3f), @@ -16952,7 +16952,7 @@ const List fallbackFonts = [ CodeunitRange(0x25cc, 0x25cc), CodeunitRange(0x10f30, 0x10f59), ]), - NotoFont('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v16/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [ + NotoFont('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x2d, 0x2d), CodeunitRange(0xa0, 0xa0), @@ -16966,7 +16966,7 @@ const List fallbackFonts = [ CodeunitRange(0x25cc, 0x25cc), CodeunitRange(0x11a50, 0x11aa2), ]), - NotoFont('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v16/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [ + NotoFont('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x2d, 0x2d), CodeunitRange(0xa0, 0xa0), @@ -22113,7 +22113,7 @@ const List fallbackFonts = [ CodeunitRange(0x3001, 0x3002), CodeunitRange(0x3008, 0x300b), ]), - NotoFont('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v16/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [ + NotoFont('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0xa0, 0xa0), CodeunitRange(0x1a20, 0x1a5e), @@ -22229,7 +22229,7 @@ const List fallbackFonts = [ CodeunitRange(0x2212, 0x2212), CodeunitRange(0x25cc, 0x25cc), ]), - NotoFont('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v15/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [ + NotoFont('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [ CodeunitRange(0x20, 0x21), CodeunitRange(0x28, 0x29), CodeunitRange(0x2c, 0x2c), @@ -22248,7 +22248,7 @@ const List fallbackFonts = [ CodeunitRange(0xfdf2, 0xfdf2), CodeunitRange(0xfdfd, 0xfdfd), ]), - NotoFont('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v17/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [ + NotoFont('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v18/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [ CodeunitRange(0x20, 0x20), CodeunitRange(0x2d, 0x2d), CodeunitRange(0xa0, 0xa0), diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index e88b01bc920e5..777cbb36b7443 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -5,6 +5,9 @@ import 'dart:async'; import 'dart:typed_data'; +import 'package:ui/ui.dart' as ui; + +import '../assets.dart'; import '../dom.dart'; import '../font_change_util.dart'; import '../platform_dispatcher.dart'; @@ -402,12 +405,18 @@ class FallbackFontDownloadQueue { Future startDownloads() async { final Map> downloads = >{}; final Map downloadedData = {}; + AssetManager assetManager = AssetManager(); for (final NotoFont font in pendingFonts.values) { downloads[font.url] = Future(() async { ByteBuffer buffer; try { - buffer = await downloader.downloadAsBytes(font.url, - debugDescription: font.name); + if (ui.debugEmulateFlutterTesterEnvironment) { + final String fontBasename = font.url.substring(font.url.lastIndexOf('/')); + buffer = (await assetManager.load('noto/$fontBasename')).buffer; + } else { + buffer = await downloader.downloadAsBytes(font.url, + debugDescription: font.name); + } } catch (e) { pendingFonts.remove(font.url); printWarning('Failed to load font ${font.name} at ${font.url}'); From d44821587f522baca929398c2fcf7b38e4a1f10b Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 9 Aug 2022 15:53:57 -0700 Subject: [PATCH 11/33] WIP --- .../lib/src/engine/canvaskit/noto_font.dart | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart index b7434608fb12b..056a182dd3078 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart @@ -3,11 +3,25 @@ // found in the LICENSE file. class NotoFont { + const NotoFont(this.name, this.url, List unicodeRanges) { + List starts = []; + List ends = []; + for (int i = 0; i < unicodeRanges.length; i += 2) { + starts.add(unicodeRanges[i]); + ends.add(unicodeRanges[i+1]); + } + this._rangeStarts = starts; + this._rangeEnds = ends; + } + final String name; final String url; - final List unicodeRanges; + // A sorted list of Unicode range start points. + final List _rangeStarts; + + // A sorted list of Unicode range end points. + final List _rangeEnds; - const NotoFont(this.name, this.url, this.unicodeRanges); // Returns `true` if this font has a glyph for the given [codeunit]. bool contains(int codeunit) { @@ -18,8 +32,8 @@ class NotoFont { } else { // range.start <= codeunit if (range.end >= codeunit) { - return true; - } + return true; + } } } return false; @@ -27,10 +41,11 @@ class NotoFont { } class CodeunitRange { + const CodeunitRange(this.start, this.end); + final int start; final int end; - const CodeunitRange(this.start, this.end); bool contains(int codeUnit) { return start <= codeUnit && codeUnit <= end; From e385094d720dfb7bb0a16f5d9a1cb7907f355f17 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 9 Aug 2022 16:27:05 -0700 Subject: [PATCH 12/33] Use flat range list and binary search --- .../dev/generate_fallback_font_data.dart | 8 +- .../engine/canvaskit/font_fallback_data.dart | 22478 +--------------- .../lib/src/engine/canvaskit/noto_font.dart | 51 +- 3 files changed, 180 insertions(+), 22357 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index 14ef28aa6a93d..ec02b540305e7 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -113,8 +113,8 @@ class GenerateFallbackFontDataCommand extends Command sb.writeln(); sb.writeln('const List fallbackFonts = ['); for (final String family in fallbackFonts) { - sb.writeln(" NotoFont('$family', '${urlForFamily[family]!}', " - '['); + sb.write(" NotoFont.fromFlatList('$family', '${urlForFamily[family]!}', " + '['); for (final String range in charsetForFamily[family]!.split(' ')) { String? start; String? end; @@ -126,9 +126,9 @@ class GenerateFallbackFontDataCommand extends Command start = parts[0]; end = parts[1]; } - sb.writeln(' CodeunitRange(0x$start, 0x$end),'); + sb.write('$start,$end,'); } - sb.writeln(' ]),'); + sb.writeln(']),'); } sb.writeln('];'); diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index 9b225c472787e..902b381e0e5c5 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -1,5 +1,5 @@ // Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be +/s Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // DO NOT EDIT! This file is generated. See: @@ -7,22339 +7,145 @@ import 'noto_font.dart'; const List fallbackFonts = [ - NotoFont('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0x377), - CodeunitRange(0x37a, 0x37f), - CodeunitRange(0x384, 0x38a), - CodeunitRange(0x38c, 0x38c), - CodeunitRange(0x38e, 0x3a1), - CodeunitRange(0x3a3, 0x3e1), - CodeunitRange(0x3f0, 0x52f), - CodeunitRange(0x900, 0x97f), - CodeunitRange(0x1ab0, 0x1ac0), - CodeunitRange(0x1c80, 0x1c88), - CodeunitRange(0x1cd0, 0x1cf6), - CodeunitRange(0x1cf8, 0x1cf9), - CodeunitRange(0x1d00, 0x1df9), - CodeunitRange(0x1dfb, 0x1f15), - CodeunitRange(0x1f18, 0x1f1d), - CodeunitRange(0x1f20, 0x1f45), - CodeunitRange(0x1f48, 0x1f4d), - CodeunitRange(0x1f50, 0x1f57), - CodeunitRange(0x1f59, 0x1f59), - CodeunitRange(0x1f5b, 0x1f5b), - CodeunitRange(0x1f5d, 0x1f5d), - CodeunitRange(0x1f5f, 0x1f7d), - CodeunitRange(0x1f80, 0x1fb4), - CodeunitRange(0x1fb6, 0x1fc4), - CodeunitRange(0x1fc6, 0x1fd3), - CodeunitRange(0x1fd6, 0x1fdb), - CodeunitRange(0x1fdd, 0x1fef), - CodeunitRange(0x1ff2, 0x1ff4), - CodeunitRange(0x1ff6, 0x1ffe), - CodeunitRange(0x2000, 0x2064), - CodeunitRange(0x2066, 0x2071), - CodeunitRange(0x2074, 0x208e), - CodeunitRange(0x2090, 0x209c), - CodeunitRange(0x20a0, 0x20bf), - CodeunitRange(0x20f0, 0x20f0), - CodeunitRange(0x2100, 0x215f), - CodeunitRange(0x2184, 0x2184), - CodeunitRange(0x2189, 0x2189), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x2215, 0x2215), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2c60, 0x2c7f), - CodeunitRange(0x2de0, 0x2e52), - CodeunitRange(0xa640, 0xa69f), - CodeunitRange(0xa700, 0xa7bf), - CodeunitRange(0xa7c2, 0xa7ca), - CodeunitRange(0xa7f5, 0xa7ff), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0xa8e0, 0xa8ff), - CodeunitRange(0xa92e, 0xa92e), - CodeunitRange(0xab30, 0xab6b), - CodeunitRange(0xfb00, 0xfb06), - CodeunitRange(0xfe00, 0xfe00), - CodeunitRange(0xfe20, 0xfe2f), - CodeunitRange(0xfeff, 0xfeff), - CodeunitRange(0xfffc, 0xfffd), - ]), - NotoFont('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x23, 0x23), - CodeunitRange(0x2a, 0x2a), - CodeunitRange(0x30, 0x39), - CodeunitRange(0xa9, 0xa9), - CodeunitRange(0xae, 0xae), - CodeunitRange(0x200d, 0x200d), - CodeunitRange(0x203c, 0x203c), - CodeunitRange(0x2049, 0x2049), - CodeunitRange(0x20e3, 0x20e3), - CodeunitRange(0x2122, 0x2122), - CodeunitRange(0x2139, 0x2139), - CodeunitRange(0x2194, 0x2199), - CodeunitRange(0x21a9, 0x21aa), - CodeunitRange(0x231a, 0x231b), - CodeunitRange(0x2328, 0x2328), - CodeunitRange(0x23cf, 0x23cf), - CodeunitRange(0x23e9, 0x23f3), - CodeunitRange(0x23f8, 0x23fa), - CodeunitRange(0x24c2, 0x24c2), - CodeunitRange(0x25aa, 0x25ab), - CodeunitRange(0x25b6, 0x25b6), - CodeunitRange(0x25c0, 0x25c0), - CodeunitRange(0x25fb, 0x25fe), - CodeunitRange(0x2600, 0x2604), - CodeunitRange(0x260e, 0x260e), - CodeunitRange(0x2611, 0x2611), - CodeunitRange(0x2614, 0x2615), - CodeunitRange(0x2618, 0x2618), - CodeunitRange(0x261d, 0x261d), - CodeunitRange(0x2620, 0x2620), - CodeunitRange(0x2622, 0x2623), - CodeunitRange(0x2626, 0x2626), - CodeunitRange(0x262a, 0x262a), - CodeunitRange(0x262e, 0x262f), - CodeunitRange(0x2638, 0x263a), - CodeunitRange(0x2640, 0x2640), - CodeunitRange(0x2642, 0x2642), - CodeunitRange(0x2648, 0x2653), - CodeunitRange(0x265f, 0x2660), - CodeunitRange(0x2663, 0x2663), - CodeunitRange(0x2665, 0x2666), - CodeunitRange(0x2668, 0x2668), - CodeunitRange(0x267b, 0x267b), - CodeunitRange(0x267e, 0x267f), - CodeunitRange(0x2692, 0x2697), - CodeunitRange(0x2699, 0x2699), - CodeunitRange(0x269b, 0x269c), - CodeunitRange(0x26a0, 0x26a1), - CodeunitRange(0x26a7, 0x26a7), - CodeunitRange(0x26aa, 0x26ab), - CodeunitRange(0x26b0, 0x26b1), - CodeunitRange(0x26bd, 0x26be), - CodeunitRange(0x26c4, 0x26c5), - CodeunitRange(0x26c8, 0x26c8), - CodeunitRange(0x26ce, 0x26cf), - CodeunitRange(0x26d1, 0x26d1), - CodeunitRange(0x26d3, 0x26d4), - CodeunitRange(0x26e9, 0x26ea), - CodeunitRange(0x26f0, 0x26f5), - CodeunitRange(0x26f7, 0x26fa), - CodeunitRange(0x26fd, 0x26fd), - CodeunitRange(0x2702, 0x2702), - CodeunitRange(0x2705, 0x2705), - CodeunitRange(0x2708, 0x270d), - CodeunitRange(0x270f, 0x270f), - CodeunitRange(0x2712, 0x2712), - CodeunitRange(0x2714, 0x2714), - CodeunitRange(0x2716, 0x2716), - CodeunitRange(0x271d, 0x271d), - CodeunitRange(0x2721, 0x2721), - CodeunitRange(0x2728, 0x2728), - CodeunitRange(0x2733, 0x2734), - CodeunitRange(0x2744, 0x2744), - CodeunitRange(0x2747, 0x2747), - CodeunitRange(0x274c, 0x274c), - CodeunitRange(0x274e, 0x274e), - CodeunitRange(0x2753, 0x2755), - CodeunitRange(0x2757, 0x2757), - CodeunitRange(0x2763, 0x2764), - CodeunitRange(0x2795, 0x2797), - CodeunitRange(0x27a1, 0x27a1), - CodeunitRange(0x27b0, 0x27b0), - CodeunitRange(0x27bf, 0x27bf), - CodeunitRange(0x2934, 0x2935), - CodeunitRange(0x2b05, 0x2b07), - CodeunitRange(0x2b1b, 0x2b1c), - CodeunitRange(0x2b50, 0x2b50), - CodeunitRange(0x2b55, 0x2b55), - CodeunitRange(0x3030, 0x3030), - CodeunitRange(0x303d, 0x303d), - CodeunitRange(0x3297, 0x3297), - CodeunitRange(0x3299, 0x3299), - CodeunitRange(0xfe0e, 0xfe0f), - CodeunitRange(0x1f004, 0x1f004), - CodeunitRange(0x1f0cf, 0x1f0cf), - CodeunitRange(0x1f170, 0x1f171), - CodeunitRange(0x1f17e, 0x1f17f), - CodeunitRange(0x1f18e, 0x1f18e), - CodeunitRange(0x1f191, 0x1f19a), - CodeunitRange(0x1f1e6, 0x1f1ff), - CodeunitRange(0x1f201, 0x1f202), - CodeunitRange(0x1f21a, 0x1f21a), - CodeunitRange(0x1f22f, 0x1f22f), - CodeunitRange(0x1f232, 0x1f23a), - CodeunitRange(0x1f250, 0x1f251), - CodeunitRange(0x1f300, 0x1f321), - CodeunitRange(0x1f324, 0x1f393), - CodeunitRange(0x1f396, 0x1f397), - CodeunitRange(0x1f399, 0x1f39b), - CodeunitRange(0x1f39e, 0x1f3f0), - CodeunitRange(0x1f3f3, 0x1f3f5), - CodeunitRange(0x1f3f7, 0x1f4fd), - CodeunitRange(0x1f4ff, 0x1f53d), - CodeunitRange(0x1f549, 0x1f54e), - CodeunitRange(0x1f550, 0x1f567), - CodeunitRange(0x1f56f, 0x1f570), - CodeunitRange(0x1f573, 0x1f57a), - CodeunitRange(0x1f587, 0x1f587), - CodeunitRange(0x1f58a, 0x1f58d), - CodeunitRange(0x1f590, 0x1f590), - CodeunitRange(0x1f595, 0x1f596), - CodeunitRange(0x1f5a4, 0x1f5a5), - CodeunitRange(0x1f5a8, 0x1f5a8), - CodeunitRange(0x1f5b1, 0x1f5b2), - CodeunitRange(0x1f5bc, 0x1f5bc), - CodeunitRange(0x1f5c2, 0x1f5c4), - CodeunitRange(0x1f5d1, 0x1f5d3), - CodeunitRange(0x1f5dc, 0x1f5de), - CodeunitRange(0x1f5e1, 0x1f5e1), - CodeunitRange(0x1f5e3, 0x1f5e3), - CodeunitRange(0x1f5e8, 0x1f5e8), - CodeunitRange(0x1f5ef, 0x1f5ef), - CodeunitRange(0x1f5f3, 0x1f5f3), - CodeunitRange(0x1f5fa, 0x1f64f), - CodeunitRange(0x1f680, 0x1f6c5), - CodeunitRange(0x1f6cb, 0x1f6d2), - CodeunitRange(0x1f6d5, 0x1f6d7), - CodeunitRange(0x1f6dd, 0x1f6e5), - CodeunitRange(0x1f6e9, 0x1f6e9), - CodeunitRange(0x1f6eb, 0x1f6ec), - CodeunitRange(0x1f6f0, 0x1f6f0), - CodeunitRange(0x1f6f3, 0x1f6fc), - CodeunitRange(0x1f7e0, 0x1f7eb), - CodeunitRange(0x1f7f0, 0x1f7f0), - CodeunitRange(0x1f90c, 0x1f93a), - CodeunitRange(0x1f93c, 0x1f945), - CodeunitRange(0x1f947, 0x1f9ff), - CodeunitRange(0x1fa70, 0x1fa74), - CodeunitRange(0x1fa78, 0x1fa7c), - CodeunitRange(0x1fa80, 0x1fa86), - CodeunitRange(0x1fa90, 0x1faac), - CodeunitRange(0x1fab0, 0x1faba), - CodeunitRange(0x1fac0, 0x1fac5), - CodeunitRange(0x1fad0, 0x1fad9), - CodeunitRange(0x1fae0, 0x1fae7), - CodeunitRange(0x1faf0, 0x1faf6), - CodeunitRange(0xe0030, 0xe0039), - CodeunitRange(0xe0061, 0xe007a), - CodeunitRange(0xe007f, 0xe007f), - CodeunitRange(0xfe4e5, 0xfe4ee), - CodeunitRange(0xfe82c, 0xfe82c), - CodeunitRange(0xfe82e, 0xfe837), - ]), - NotoFont('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x30, 0x39), - CodeunitRange(0x41, 0x5a), - CodeunitRange(0x61, 0x7a), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x20dd, 0x20e0), - CodeunitRange(0x20e2, 0x20e4), - CodeunitRange(0x2160, 0x2183), - CodeunitRange(0x2185, 0x2188), - CodeunitRange(0x218a, 0x218b), - CodeunitRange(0x2190, 0x2199), - CodeunitRange(0x2300, 0x230f), - CodeunitRange(0x2311, 0x2315), - CodeunitRange(0x2317, 0x2317), - CodeunitRange(0x231c, 0x231f), - CodeunitRange(0x2322, 0x2323), - CodeunitRange(0x2329, 0x232a), - CodeunitRange(0x232c, 0x2335), - CodeunitRange(0x237c, 0x237c), - CodeunitRange(0x2380, 0x2394), - CodeunitRange(0x2396, 0x239a), - CodeunitRange(0x23af, 0x23af), - CodeunitRange(0x23be, 0x23cd), - CodeunitRange(0x23d0, 0x23db), - CodeunitRange(0x23e2, 0x23e8), - CodeunitRange(0x2460, 0x24ff), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x260a, 0x260d), - CodeunitRange(0x2613, 0x2613), - CodeunitRange(0x2624, 0x262f), - CodeunitRange(0x2638, 0x263b), - CodeunitRange(0x263d, 0x2653), - CodeunitRange(0x2669, 0x267e), - CodeunitRange(0x2690, 0x269d), - CodeunitRange(0x26a2, 0x26a9), - CodeunitRange(0x26ad, 0x26bc), - CodeunitRange(0x26ce, 0x26ce), - CodeunitRange(0x26e2, 0x26ff), - CodeunitRange(0x271d, 0x2721), - CodeunitRange(0x2776, 0x2793), - CodeunitRange(0x2921, 0x2922), - CodeunitRange(0x1f100, 0x1f10c), - CodeunitRange(0x1f110, 0x1f16c), - CodeunitRange(0x1f170, 0x1f190), - CodeunitRange(0x1f19b, 0x1f1ac), - CodeunitRange(0x1f546, 0x1f549), - CodeunitRange(0x1f54f, 0x1f54f), - CodeunitRange(0x1f610, 0x1f610), - CodeunitRange(0x1f700, 0x1f773), - ]), - NotoFont('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x23, 0x23), - CodeunitRange(0x2a, 0x2a), - CodeunitRange(0x30, 0x39), - CodeunitRange(0x7f, 0xa0), - CodeunitRange(0x2022, 0x2022), - CodeunitRange(0x20e2, 0x20e3), - CodeunitRange(0x21af, 0x21af), - CodeunitRange(0x21e6, 0x21f0), - CodeunitRange(0x21f3, 0x21f3), - CodeunitRange(0x2218, 0x2219), - CodeunitRange(0x2299, 0x2299), - CodeunitRange(0x22c4, 0x22c6), - CodeunitRange(0x2316, 0x2316), - CodeunitRange(0x2318, 0x2318), - CodeunitRange(0x231a, 0x231b), - CodeunitRange(0x2324, 0x2328), - CodeunitRange(0x232b, 0x232b), - CodeunitRange(0x237b, 0x237b), - CodeunitRange(0x237d, 0x237f), - CodeunitRange(0x2394, 0x2394), - CodeunitRange(0x23ce, 0x23cf), - CodeunitRange(0x23e9, 0x23ea), - CodeunitRange(0x23ed, 0x23ef), - CodeunitRange(0x23f1, 0x2426), - CodeunitRange(0x2440, 0x244a), - CodeunitRange(0x25a0, 0x2609), - CodeunitRange(0x260e, 0x2612), - CodeunitRange(0x2614, 0x2623), - CodeunitRange(0x2630, 0x2637), - CodeunitRange(0x263c, 0x263c), - CodeunitRange(0x2654, 0x2668), - CodeunitRange(0x267f, 0x268f), - CodeunitRange(0x269e, 0x26a1), - CodeunitRange(0x26aa, 0x26ac), - CodeunitRange(0x26bd, 0x26cd), - CodeunitRange(0x26cf, 0x26e1), - CodeunitRange(0x2700, 0x2704), - CodeunitRange(0x2706, 0x2709), - CodeunitRange(0x270b, 0x271c), - CodeunitRange(0x2722, 0x2727), - CodeunitRange(0x2729, 0x274b), - CodeunitRange(0x274d, 0x274d), - CodeunitRange(0x274f, 0x2753), - CodeunitRange(0x2756, 0x2775), - CodeunitRange(0x2794, 0x2794), - CodeunitRange(0x2798, 0x27af), - CodeunitRange(0x27b1, 0x27be), - CodeunitRange(0x2800, 0x28ff), - CodeunitRange(0x2981, 0x2981), - CodeunitRange(0x29bf, 0x29bf), - CodeunitRange(0x29eb, 0x29eb), - CodeunitRange(0x2b00, 0x2b0d), - CodeunitRange(0x2b12, 0x2b2f), - CodeunitRange(0x2b4d, 0x2b73), - CodeunitRange(0x2b76, 0x2b95), - CodeunitRange(0x2b97, 0x2bfd), - CodeunitRange(0x2bff, 0x2bff), - CodeunitRange(0x4dc0, 0x4dff), - CodeunitRange(0xfff9, 0xfffb), - CodeunitRange(0x10140, 0x1018e), - CodeunitRange(0x10190, 0x1019c), - CodeunitRange(0x101a0, 0x101a0), - CodeunitRange(0x101d0, 0x101fd), - CodeunitRange(0x102e0, 0x102fb), - CodeunitRange(0x10e60, 0x10e7e), - CodeunitRange(0x1d2e0, 0x1d2f3), - CodeunitRange(0x1d300, 0x1d356), - CodeunitRange(0x1d360, 0x1d378), - CodeunitRange(0x1f000, 0x1f02b), - CodeunitRange(0x1f030, 0x1f093), - CodeunitRange(0x1f0a0, 0x1f0ae), - CodeunitRange(0x1f0b1, 0x1f0bf), - CodeunitRange(0x1f0c1, 0x1f0cf), - CodeunitRange(0x1f0d1, 0x1f0f5), - CodeunitRange(0x1f30d, 0x1f30f), - CodeunitRange(0x1f315, 0x1f315), - CodeunitRange(0x1f31c, 0x1f31c), - CodeunitRange(0x1f321, 0x1f32c), - CodeunitRange(0x1f336, 0x1f336), - CodeunitRange(0x1f378, 0x1f378), - CodeunitRange(0x1f37d, 0x1f37d), - CodeunitRange(0x1f393, 0x1f39f), - CodeunitRange(0x1f3a7, 0x1f3a7), - CodeunitRange(0x1f3ac, 0x1f3ae), - CodeunitRange(0x1f3c2, 0x1f3c2), - CodeunitRange(0x1f3c4, 0x1f3c4), - CodeunitRange(0x1f3c6, 0x1f3c6), - CodeunitRange(0x1f3ca, 0x1f3ce), - CodeunitRange(0x1f3d4, 0x1f3e0), - CodeunitRange(0x1f3ed, 0x1f3ed), - CodeunitRange(0x1f3f1, 0x1f3f3), - CodeunitRange(0x1f3f5, 0x1f3f7), - CodeunitRange(0x1f408, 0x1f408), - CodeunitRange(0x1f415, 0x1f415), - CodeunitRange(0x1f41f, 0x1f41f), - CodeunitRange(0x1f426, 0x1f426), - CodeunitRange(0x1f43f, 0x1f43f), - CodeunitRange(0x1f441, 0x1f442), - CodeunitRange(0x1f446, 0x1f449), - CodeunitRange(0x1f44c, 0x1f44e), - CodeunitRange(0x1f453, 0x1f453), - CodeunitRange(0x1f46a, 0x1f46a), - CodeunitRange(0x1f47d, 0x1f47d), - CodeunitRange(0x1f4a3, 0x1f4a3), - CodeunitRange(0x1f4b0, 0x1f4b0), - CodeunitRange(0x1f4b3, 0x1f4b3), - CodeunitRange(0x1f4b9, 0x1f4b9), - CodeunitRange(0x1f4bb, 0x1f4bb), - CodeunitRange(0x1f4bf, 0x1f4bf), - CodeunitRange(0x1f4c8, 0x1f4cb), - CodeunitRange(0x1f4da, 0x1f4da), - CodeunitRange(0x1f4df, 0x1f4df), - CodeunitRange(0x1f4e4, 0x1f4e6), - CodeunitRange(0x1f4ea, 0x1f4ed), - CodeunitRange(0x1f4f7, 0x1f4f7), - CodeunitRange(0x1f4f9, 0x1f4fb), - CodeunitRange(0x1f4fd, 0x1f4fe), - CodeunitRange(0x1f503, 0x1f503), - CodeunitRange(0x1f507, 0x1f50a), - CodeunitRange(0x1f50d, 0x1f50d), - CodeunitRange(0x1f512, 0x1f513), - CodeunitRange(0x1f53e, 0x1f545), - CodeunitRange(0x1f54a, 0x1f54a), - CodeunitRange(0x1f550, 0x1f579), - CodeunitRange(0x1f57b, 0x1f594), - CodeunitRange(0x1f597, 0x1f5a3), - CodeunitRange(0x1f5a5, 0x1f5fa), - CodeunitRange(0x1f650, 0x1f67f), - CodeunitRange(0x1f687, 0x1f687), - CodeunitRange(0x1f68d, 0x1f68d), - CodeunitRange(0x1f691, 0x1f691), - CodeunitRange(0x1f694, 0x1f694), - CodeunitRange(0x1f698, 0x1f698), - CodeunitRange(0x1f6ad, 0x1f6ad), - CodeunitRange(0x1f6b2, 0x1f6b2), - CodeunitRange(0x1f6b9, 0x1f6ba), - CodeunitRange(0x1f6bc, 0x1f6bc), - CodeunitRange(0x1f6c6, 0x1f6cb), - CodeunitRange(0x1f6cd, 0x1f6cf), - CodeunitRange(0x1f6d3, 0x1f6d7), - CodeunitRange(0x1f6e0, 0x1f6ea), - CodeunitRange(0x1f6f0, 0x1f6f3), - CodeunitRange(0x1f6f7, 0x1f6fc), - CodeunitRange(0x1f780, 0x1f7d8), - CodeunitRange(0x1f7e0, 0x1f7eb), - CodeunitRange(0x1f800, 0x1f80b), - CodeunitRange(0x1f810, 0x1f847), - CodeunitRange(0x1f850, 0x1f859), - CodeunitRange(0x1f860, 0x1f887), - CodeunitRange(0x1f890, 0x1f8ad), - CodeunitRange(0x1f8b0, 0x1f8b1), - CodeunitRange(0x1f93b, 0x1f93b), - CodeunitRange(0x1f946, 0x1f946), - CodeunitRange(0x1fa00, 0x1fa53), - CodeunitRange(0x1fa60, 0x1fa6d), - CodeunitRange(0x1fa70, 0x1fa74), - CodeunitRange(0x1fa78, 0x1fa7a), - CodeunitRange(0x1fa80, 0x1fa86), - CodeunitRange(0x1fa90, 0x1faa8), - CodeunitRange(0x1fab0, 0x1fab6), - CodeunitRange(0x1fac0, 0x1fac2), - CodeunitRange(0x1fad0, 0x1fad6), - CodeunitRange(0x1fb00, 0x1fb92), - CodeunitRange(0x1fb94, 0x1fbca), - CodeunitRange(0x1fbf0, 0x1fbf9), - ]), - NotoFont('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [ - CodeunitRange(0x20, 0x2f), - CodeunitRange(0x3a, 0x40), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xab, 0xab), - CodeunitRange(0xbb, 0xbb), - CodeunitRange(0x61f, 0x61f), - CodeunitRange(0x640, 0x640), - CodeunitRange(0x2013, 0x2015), - CodeunitRange(0x2018, 0x201e), - CodeunitRange(0x2020, 0x2022), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x2030, 0x2030), - CodeunitRange(0x2039, 0x203a), - CodeunitRange(0x2044, 0x2044), - CodeunitRange(0x204f, 0x204f), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2e28, 0x2e29), - CodeunitRange(0x2e41, 0x2e41), - CodeunitRange(0x1e900, 0x1e94b), - CodeunitRange(0x1e950, 0x1e959), - CodeunitRange(0x1e95e, 0x1e95f), - ]), - NotoFont('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200b), - CodeunitRange(0x14400, 0x14646), - ]), - NotoFont('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [ - CodeunitRange(0x20, 0x21), - CodeunitRange(0x2c, 0x2e), - CodeunitRange(0x30, 0x3a), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xab, 0xab), - CodeunitRange(0xbb, 0xbb), - CodeunitRange(0x34f, 0x34f), - CodeunitRange(0x600, 0x61c), - CodeunitRange(0x61e, 0x6ff), - CodeunitRange(0x750, 0x77f), - CodeunitRange(0x8a0, 0x8b4), - CodeunitRange(0x8b6, 0x8be), - CodeunitRange(0x8d3, 0x8ff), - CodeunitRange(0x200b, 0x2011), - CodeunitRange(0x204f, 0x204f), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2e41, 0x2e41), - CodeunitRange(0xfb50, 0xfbc1), - CodeunitRange(0xfbd3, 0xfd3f), - CodeunitRange(0xfd50, 0xfd8f), - CodeunitRange(0xfd92, 0xfdc7), - CodeunitRange(0xfdf0, 0xfdfd), - CodeunitRange(0xfe70, 0xfe74), - CodeunitRange(0xfe76, 0xfefc), - ]), - NotoFont('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x308, 0x308), - CodeunitRange(0x531, 0x556), - CodeunitRange(0x559, 0x58a), - CodeunitRange(0x58d, 0x58f), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xfb13, 0xfb17), - ]), - NotoFont('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v15/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2e, 0x2e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xb7, 0xb7), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x2e30, 0x2e31), - CodeunitRange(0x10b00, 0x10b35), - CodeunitRange(0x10b39, 0x10b3f), - ]), - NotoFont('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v17/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x3f, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1b00, 0x1b4b), - CodeunitRange(0x1b50, 0x1b7c), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xa6a0, 0xa6f7), - CodeunitRange(0x16800, 0x16a38), - ]), - NotoFont('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x16ad0, 0x16aed), - CodeunitRange(0x16af0, 0x16af5), - ]), - NotoFont('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1bc0, 0x1bf3), - CodeunitRange(0x1bfc, 0x1bff), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v18/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x2bc, 0x2bc), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0x980, 0x983), - CodeunitRange(0x985, 0x98c), - CodeunitRange(0x98f, 0x990), - CodeunitRange(0x993, 0x9a8), - CodeunitRange(0x9aa, 0x9b0), - CodeunitRange(0x9b2, 0x9b2), - CodeunitRange(0x9b6, 0x9b9), - CodeunitRange(0x9bc, 0x9c4), - CodeunitRange(0x9c7, 0x9c8), - CodeunitRange(0x9cb, 0x9ce), - CodeunitRange(0x9d7, 0x9d7), - CodeunitRange(0x9dc, 0x9dd), - CodeunitRange(0x9df, 0x9e3), - CodeunitRange(0x9e6, 0x9fe), - CodeunitRange(0x1cd0, 0x1cd0), - CodeunitRange(0x1cd2, 0x1cd2), - CodeunitRange(0x1cd5, 0x1cd6), - CodeunitRange(0x1cd8, 0x1cd8), - CodeunitRange(0x1ce1, 0x1ce1), - CodeunitRange(0x1cea, 0x1cea), - CodeunitRange(0x1ced, 0x1ced), - CodeunitRange(0x1cf2, 0x1cf2), - CodeunitRange(0x1cf5, 0x1cf7), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa8f1, 0xa8f1), - ]), - NotoFont('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200b), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11c00, 0x11c08), - CodeunitRange(0x11c0a, 0x11c36), - CodeunitRange(0x11c38, 0x11c45), - CodeunitRange(0x11c50, 0x11c6c), - ]), - NotoFont('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11000, 0x1104d), - CodeunitRange(0x11052, 0x1106f), - CodeunitRange(0x1107f, 0x1107f), - ]), - NotoFont('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1a00, 0x1a1b), - CodeunitRange(0x1a1e, 0x1a1f), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa9cf, 0xa9cf), - ]), - NotoFont('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v15/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1735, 0x1736), - CodeunitRange(0x1740, 0x1753), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x131, 0x131), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x2d8, 0x2db), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x1400, 0x167f), - CodeunitRange(0x18b0, 0x18f5), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x102a0, 0x102d0), - ]), - NotoFont('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x331, 0x331), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xfe20, 0xfe2f), - CodeunitRange(0x10530, 0x10563), - CodeunitRange(0x1056f, 0x1056f), - ]), - NotoFont('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x9e6, 0x9ef), - CodeunitRange(0x1040, 0x1049), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11100, 0x11134), - CodeunitRange(0x11136, 0x11146), - ]), - NotoFont('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [ - CodeunitRange(0x20, 0x22), - CodeunitRange(0x27, 0x29), - CodeunitRange(0x2c, 0x2f), - CodeunitRange(0x3a, 0x3b), - CodeunitRange(0x3f, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xaa00, 0xaa36), - CodeunitRange(0xaa40, 0xaa4d), - CodeunitRange(0xaa50, 0xaa59), - CodeunitRange(0xaa5c, 0xaa5f), - ]), - NotoFont('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x300, 0x302), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x30b, 0x30c), - CodeunitRange(0x323, 0x324), - CodeunitRange(0x330, 0x331), - CodeunitRange(0x13a0, 0x13f5), - CodeunitRange(0x13f8, 0x13fd), - CodeunitRange(0xab70, 0xabbf), - ]), - NotoFont('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x300, 0x302), - CodeunitRange(0x304, 0x305), - CodeunitRange(0x307, 0x308), - CodeunitRange(0x323, 0x323), - CodeunitRange(0x33f, 0x33f), - CodeunitRange(0x361, 0x361), - CodeunitRange(0x374, 0x375), - CodeunitRange(0x3e2, 0x3ef), - CodeunitRange(0x1dcd, 0x1dcd), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2c80, 0x2cf3), - CodeunitRange(0x2cf9, 0x2cff), - CodeunitRange(0xfe24, 0xfe26), - CodeunitRange(0x102e0, 0x102fb), - ]), - NotoFont('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x12000, 0x12399), - CodeunitRange(0x12400, 0x1246e), - CodeunitRange(0x12470, 0x12474), - CodeunitRange(0x12480, 0x12543), - ]), - NotoFont('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10800, 0x10805), - CodeunitRange(0x10808, 0x10808), - CodeunitRange(0x1080a, 0x10835), - CodeunitRange(0x10837, 0x10838), - CodeunitRange(0x1083c, 0x1083c), - CodeunitRange(0x1083f, 0x1083f), - ]), - NotoFont('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10400, 0x1044f), - ]), - NotoFont('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v16/TuGOUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv2lRdRhtCC4d.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x2bc, 0x2bc), - CodeunitRange(0x900, 0x97f), - CodeunitRange(0x1cd0, 0x1cf6), - CodeunitRange(0x1cf8, 0x1cf9), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x20f0, 0x20f0), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0xa8e0, 0xa8ff), - ]), - NotoFont('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x1bc00, 0x1bc6a), - CodeunitRange(0x1bc70, 0x1bc7c), - CodeunitRange(0x1bc80, 0x1bc88), - CodeunitRange(0x1bc90, 0x1bc99), - CodeunitRange(0x1bc9c, 0x1bca3), - ]), - NotoFont('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x13000, 0x1342e), - ]), - NotoFont('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xb7, 0xb7), - CodeunitRange(0x305, 0x305), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3da, 0x3da), - CodeunitRange(0x3dc, 0x3dc), - CodeunitRange(0x3de, 0x3de), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x10500, 0x10527), - ]), - NotoFont('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10fe0, 0x10ff6), - ]), - NotoFont('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v34/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x301, 0x302), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x308, 0x308), - CodeunitRange(0x589, 0x589), - CodeunitRange(0x10a0, 0x10c5), - CodeunitRange(0x10c7, 0x10c7), - CodeunitRange(0x10cd, 0x10cd), - CodeunitRange(0x10d0, 0x10ff), - CodeunitRange(0x1c90, 0x1cba), - CodeunitRange(0x1cbd, 0x1cbf), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x20be, 0x20be), - CodeunitRange(0x2d00, 0x2d25), - CodeunitRange(0x2d27, 0x2d27), - CodeunitRange(0x2d2d, 0x2d2d), - ]), - NotoFont('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x303, 0x303), - CodeunitRange(0x305, 0x305), - CodeunitRange(0x484, 0x484), - CodeunitRange(0x487, 0x487), - CodeunitRange(0x2c00, 0x2c2e), - CodeunitRange(0x2c30, 0x2c5e), - CodeunitRange(0xa66f, 0xa66f), - CodeunitRange(0x1e000, 0x1e006), - CodeunitRange(0x1e008, 0x1e018), - CodeunitRange(0x1e01b, 0x1e021), - CodeunitRange(0x1e023, 0x1e024), - CodeunitRange(0x1e026, 0x1e02a), - ]), - NotoFont('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x304, 0x305), - CodeunitRange(0x308, 0x308), - CodeunitRange(0x331, 0x331), - CodeunitRange(0x10330, 0x1034a), - ]), - NotoFont('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xbaa, 0xbaa), - CodeunitRange(0xbb5, 0xbb5), - CodeunitRange(0xbe6, 0xbf2), - CodeunitRange(0x1cd0, 0x1cd0), - CodeunitRange(0x1cd2, 0x1cd3), - CodeunitRange(0x1cf2, 0x1cf4), - CodeunitRange(0x1cf8, 0x1cf9), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x20f0, 0x20f0), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11300, 0x11303), - CodeunitRange(0x11305, 0x1130c), - CodeunitRange(0x1130f, 0x11310), - CodeunitRange(0x11313, 0x11328), - CodeunitRange(0x1132a, 0x11330), - CodeunitRange(0x11332, 0x11333), - CodeunitRange(0x11335, 0x11339), - CodeunitRange(0x1133b, 0x11344), - CodeunitRange(0x11347, 0x11348), - CodeunitRange(0x1134b, 0x1134d), - CodeunitRange(0x11350, 0x11350), - CodeunitRange(0x11357, 0x11357), - CodeunitRange(0x1135d, 0x11363), - CodeunitRange(0x11366, 0x1136c), - CodeunitRange(0x11370, 0x11374), - ]), - NotoFont('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v16/wlpsgx_HC1ti5ViekvcxnhMlCVo3f5p13JpDd6u3AQ.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xa81, 0xa83), - CodeunitRange(0xa85, 0xa8d), - CodeunitRange(0xa8f, 0xa91), - CodeunitRange(0xa93, 0xaa8), - CodeunitRange(0xaaa, 0xab0), - CodeunitRange(0xab2, 0xab3), - CodeunitRange(0xab5, 0xab9), - CodeunitRange(0xabc, 0xac5), - CodeunitRange(0xac7, 0xac9), - CodeunitRange(0xacb, 0xacd), - CodeunitRange(0xad0, 0xad0), - CodeunitRange(0xae0, 0xae3), - CodeunitRange(0xae6, 0xaf1), - CodeunitRange(0xaf9, 0xaff), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - ]), - NotoFont('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [ - CodeunitRange(0x20, 0x21), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x2f), - CodeunitRange(0x3a, 0x3a), - CodeunitRange(0x3c, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11d60, 0x11d65), - CodeunitRange(0x11d67, 0x11d68), - CodeunitRange(0x11d6a, 0x11d8e), - CodeunitRange(0x11d90, 0x11d91), - CodeunitRange(0x11d93, 0x11d98), - CodeunitRange(0x11da0, 0x11da9), - ]), - NotoFont('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xa01, 0xa03), - CodeunitRange(0xa05, 0xa0a), - CodeunitRange(0xa0f, 0xa10), - CodeunitRange(0xa13, 0xa28), - CodeunitRange(0xa2a, 0xa30), - CodeunitRange(0xa32, 0xa33), - CodeunitRange(0xa35, 0xa36), - CodeunitRange(0xa38, 0xa39), - CodeunitRange(0xa3c, 0xa3c), - CodeunitRange(0xa3e, 0xa42), - CodeunitRange(0xa47, 0xa48), - CodeunitRange(0xa4b, 0xa4d), - CodeunitRange(0xa51, 0xa51), - CodeunitRange(0xa59, 0xa5c), - CodeunitRange(0xa5e, 0xa5e), - CodeunitRange(0xa66, 0xa76), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x262c, 0x262c), - CodeunitRange(0xa830, 0xa839), - ]), - NotoFont('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0x103), - CodeunitRange(0x110, 0x113), - CodeunitRange(0x11a, 0x11b), - CodeunitRange(0x128, 0x12b), - CodeunitRange(0x143, 0x144), - CodeunitRange(0x147, 0x148), - CodeunitRange(0x14c, 0x14f), - CodeunitRange(0x152, 0x153), - CodeunitRange(0x168, 0x16d), - CodeunitRange(0x192, 0x192), - CodeunitRange(0x1a0, 0x1a1), - CodeunitRange(0x1af, 0x1b0), - CodeunitRange(0x1cd, 0x1dc), - CodeunitRange(0x1f8, 0x1f9), - CodeunitRange(0x251, 0x251), - CodeunitRange(0x261, 0x261), - CodeunitRange(0x2bb, 0x2bb), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x2c9, 0x2cb), - CodeunitRange(0x2d9, 0x2d9), - CodeunitRange(0x2ea, 0x2eb), - CodeunitRange(0x300, 0x301), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x30c, 0x30c), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3b1, 0x3c9), - CodeunitRange(0x401, 0x401), - CodeunitRange(0x410, 0x44f), - CodeunitRange(0x451, 0x451), - CodeunitRange(0x1e3e, 0x1e3f), - CodeunitRange(0x1ea0, 0x1ef9), - CodeunitRange(0x2002, 0x2003), - CodeunitRange(0x2010, 0x2016), - CodeunitRange(0x2018, 0x201a), - CodeunitRange(0x201c, 0x201e), - CodeunitRange(0x2020, 0x2022), - CodeunitRange(0x2025, 0x2027), - CodeunitRange(0x2030, 0x2030), - CodeunitRange(0x2032, 0x2033), - CodeunitRange(0x2035, 0x2035), - CodeunitRange(0x2039, 0x203c), - CodeunitRange(0x2042, 0x2042), - CodeunitRange(0x2047, 0x2049), - CodeunitRange(0x2051, 0x2051), - CodeunitRange(0x2074, 0x2074), - CodeunitRange(0x20a9, 0x20a9), - CodeunitRange(0x20ab, 0x20ac), - CodeunitRange(0x20dd, 0x20de), - CodeunitRange(0x2100, 0x2100), - CodeunitRange(0x2103, 0x2103), - CodeunitRange(0x2105, 0x2105), - CodeunitRange(0x2109, 0x210a), - CodeunitRange(0x210f, 0x210f), - CodeunitRange(0x2113, 0x2113), - CodeunitRange(0x2116, 0x2116), - CodeunitRange(0x2121, 0x2122), - CodeunitRange(0x2126, 0x2127), - CodeunitRange(0x212b, 0x212b), - CodeunitRange(0x212e, 0x212e), - CodeunitRange(0x2135, 0x2135), - CodeunitRange(0x213b, 0x213b), - CodeunitRange(0x2160, 0x216b), - CodeunitRange(0x2170, 0x217b), - CodeunitRange(0x2190, 0x2199), - CodeunitRange(0x21b8, 0x21b9), - CodeunitRange(0x21c4, 0x21c6), - CodeunitRange(0x21cb, 0x21cc), - CodeunitRange(0x21d0, 0x21d0), - CodeunitRange(0x21d2, 0x21d2), - CodeunitRange(0x21d4, 0x21d4), - CodeunitRange(0x21e6, 0x21e9), - CodeunitRange(0x21f5, 0x21f5), - CodeunitRange(0x2200, 0x2200), - CodeunitRange(0x2202, 0x2203), - CodeunitRange(0x2205, 0x220b), - CodeunitRange(0x220f, 0x220f), - CodeunitRange(0x2211, 0x2213), - CodeunitRange(0x2215, 0x2215), - CodeunitRange(0x221a, 0x221a), - CodeunitRange(0x221d, 0x2220), - CodeunitRange(0x2223, 0x2223), - CodeunitRange(0x2225, 0x222e), - CodeunitRange(0x2234, 0x2237), - CodeunitRange(0x223d, 0x223d), - CodeunitRange(0x2243, 0x2243), - CodeunitRange(0x2245, 0x2245), - CodeunitRange(0x2248, 0x2248), - CodeunitRange(0x224c, 0x224c), - CodeunitRange(0x2252, 0x2252), - CodeunitRange(0x2260, 0x2262), - CodeunitRange(0x2264, 0x2267), - CodeunitRange(0x226a, 0x226b), - CodeunitRange(0x226e, 0x226f), - CodeunitRange(0x2272, 0x2273), - CodeunitRange(0x2276, 0x2277), - CodeunitRange(0x2282, 0x2287), - CodeunitRange(0x228a, 0x228b), - CodeunitRange(0x2295, 0x2299), - CodeunitRange(0x22a0, 0x22a0), - CodeunitRange(0x22a5, 0x22a5), - CodeunitRange(0x22bf, 0x22bf), - CodeunitRange(0x22da, 0x22db), - CodeunitRange(0x22ef, 0x22ef), - CodeunitRange(0x2305, 0x2307), - CodeunitRange(0x2312, 0x2312), - CodeunitRange(0x2318, 0x2318), - CodeunitRange(0x2329, 0x232a), - CodeunitRange(0x23b0, 0x23b1), - CodeunitRange(0x23be, 0x23cc), - CodeunitRange(0x23ce, 0x23ce), - CodeunitRange(0x23da, 0x23db), - CodeunitRange(0x2423, 0x2423), - CodeunitRange(0x2460, 0x25ab), - CodeunitRange(0x25b1, 0x25b3), - CodeunitRange(0x25b6, 0x25b7), - CodeunitRange(0x25bc, 0x25bd), - CodeunitRange(0x25c0, 0x25c1), - CodeunitRange(0x25c6, 0x25cc), - CodeunitRange(0x25ce, 0x25d3), - CodeunitRange(0x25e2, 0x25e6), - CodeunitRange(0x25ef, 0x25ef), - CodeunitRange(0x2600, 0x2603), - CodeunitRange(0x2605, 0x2606), - CodeunitRange(0x2609, 0x2609), - CodeunitRange(0x260e, 0x260f), - CodeunitRange(0x2616, 0x2617), - CodeunitRange(0x261c, 0x261f), - CodeunitRange(0x262f, 0x262f), - CodeunitRange(0x2640, 0x2642), - CodeunitRange(0x2660, 0x266f), - CodeunitRange(0x2672, 0x267d), - CodeunitRange(0x26a0, 0x26a0), - CodeunitRange(0x26bd, 0x26be), - CodeunitRange(0x2702, 0x2702), - CodeunitRange(0x2713, 0x2713), - CodeunitRange(0x271a, 0x271a), - CodeunitRange(0x273d, 0x273d), - CodeunitRange(0x273f, 0x2740), - CodeunitRange(0x2756, 0x2756), - CodeunitRange(0x2776, 0x2793), - CodeunitRange(0x27a1, 0x27a1), - CodeunitRange(0x2934, 0x2935), - CodeunitRange(0x29bf, 0x29bf), - CodeunitRange(0x29fa, 0x29fb), - CodeunitRange(0x2b05, 0x2b07), - CodeunitRange(0x2b1a, 0x2b1a), - CodeunitRange(0x2b95, 0x2b95), - CodeunitRange(0x2e3a, 0x2e3b), - CodeunitRange(0x2e80, 0x2e99), - CodeunitRange(0x2e9b, 0x2ef3), - CodeunitRange(0x2f00, 0x2fd5), - CodeunitRange(0x2ff0, 0x2ffb), - CodeunitRange(0x3000, 0x303f), - CodeunitRange(0x3041, 0x3096), - CodeunitRange(0x3099, 0x30ff), - CodeunitRange(0x3105, 0x312f), - CodeunitRange(0x3131, 0x3163), - CodeunitRange(0x3165, 0x318e), - CodeunitRange(0x3190, 0x31bb), - CodeunitRange(0x31c0, 0x31e3), - CodeunitRange(0x31f0, 0x321e), - CodeunitRange(0x3220, 0x332b), - CodeunitRange(0x332d, 0x33ff), - CodeunitRange(0x3435, 0x3435), - CodeunitRange(0x3440, 0x3440), - CodeunitRange(0x344a, 0x344a), - CodeunitRange(0x344c, 0x344c), - CodeunitRange(0x3464, 0x3464), - CodeunitRange(0x3473, 0x3473), - CodeunitRange(0x347a, 0x347a), - CodeunitRange(0x347d, 0x347e), - CodeunitRange(0x3493, 0x3493), - CodeunitRange(0x3496, 0x3496), - CodeunitRange(0x34a5, 0x34a5), - CodeunitRange(0x34af, 0x34af), - CodeunitRange(0x34bc, 0x34bc), - CodeunitRange(0x34c1, 0x34c1), - CodeunitRange(0x34c8, 0x34c8), - CodeunitRange(0x34df, 0x34df), - CodeunitRange(0x34e4, 0x34e4), - CodeunitRange(0x34e6, 0x34e6), - CodeunitRange(0x34fb, 0x34fb), - CodeunitRange(0x3506, 0x3506), - CodeunitRange(0x353e, 0x353e), - CodeunitRange(0x3551, 0x3551), - CodeunitRange(0x3553, 0x3553), - CodeunitRange(0x3559, 0x3559), - CodeunitRange(0x3561, 0x3561), - CodeunitRange(0x356d, 0x356d), - CodeunitRange(0x3570, 0x3570), - CodeunitRange(0x3572, 0x3572), - CodeunitRange(0x3577, 0x3578), - CodeunitRange(0x3584, 0x3584), - CodeunitRange(0x3597, 0x3598), - CodeunitRange(0x35a1, 0x35a1), - CodeunitRange(0x35a5, 0x35a5), - CodeunitRange(0x35ad, 0x35ad), - CodeunitRange(0x35bf, 0x35bf), - CodeunitRange(0x35c1, 0x35c1), - CodeunitRange(0x35c5, 0x35c5), - CodeunitRange(0x35c7, 0x35c7), - CodeunitRange(0x35ca, 0x35ca), - CodeunitRange(0x35ce, 0x35ce), - CodeunitRange(0x35d2, 0x35d2), - CodeunitRange(0x35d6, 0x35d6), - CodeunitRange(0x35db, 0x35db), - CodeunitRange(0x35dd, 0x35dd), - CodeunitRange(0x35f1, 0x35f3), - CodeunitRange(0x35fb, 0x35fb), - CodeunitRange(0x35fe, 0x35fe), - CodeunitRange(0x3609, 0x3609), - CodeunitRange(0x3618, 0x3618), - CodeunitRange(0x361a, 0x361a), - CodeunitRange(0x3623, 0x3623), - CodeunitRange(0x3625, 0x3625), - CodeunitRange(0x362d, 0x362d), - CodeunitRange(0x3635, 0x3635), - CodeunitRange(0x3639, 0x3639), - CodeunitRange(0x363e, 0x363e), - CodeunitRange(0x3647, 0x3649), - CodeunitRange(0x364e, 0x364e), - CodeunitRange(0x365f, 0x365f), - CodeunitRange(0x3661, 0x3661), - CodeunitRange(0x367a, 0x367a), - CodeunitRange(0x3681, 0x3681), - CodeunitRange(0x369a, 0x369a), - CodeunitRange(0x36a5, 0x36a5), - CodeunitRange(0x36aa, 0x36aa), - CodeunitRange(0x36ac, 0x36ac), - CodeunitRange(0x36b0, 0x36b1), - CodeunitRange(0x36b5, 0x36b5), - CodeunitRange(0x36b9, 0x36b9), - CodeunitRange(0x36bc, 0x36bc), - CodeunitRange(0x36c1, 0x36c1), - CodeunitRange(0x36c3, 0x36c5), - CodeunitRange(0x36c7, 0x36c8), - CodeunitRange(0x36d3, 0x36d4), - CodeunitRange(0x36d6, 0x36d6), - CodeunitRange(0x36dd, 0x36dd), - CodeunitRange(0x36e1, 0x36e2), - CodeunitRange(0x36e5, 0x36e6), - CodeunitRange(0x36f5, 0x36f5), - CodeunitRange(0x3701, 0x3701), - CodeunitRange(0x3703, 0x3703), - CodeunitRange(0x3708, 0x3708), - CodeunitRange(0x370a, 0x370a), - CodeunitRange(0x370d, 0x370d), - CodeunitRange(0x371c, 0x371c), - CodeunitRange(0x3722, 0x3723), - CodeunitRange(0x3725, 0x3725), - CodeunitRange(0x372c, 0x372d), - CodeunitRange(0x3730, 0x3730), - CodeunitRange(0x3732, 0x3733), - CodeunitRange(0x373a, 0x373a), - CodeunitRange(0x3740, 0x3740), - CodeunitRange(0x3743, 0x3743), - CodeunitRange(0x3762, 0x3762), - CodeunitRange(0x376f, 0x376f), - CodeunitRange(0x3797, 0x3797), - CodeunitRange(0x37a0, 0x37a0), - CodeunitRange(0x37b9, 0x37b9), - CodeunitRange(0x37be, 0x37be), - CodeunitRange(0x37d6, 0x37d6), - CodeunitRange(0x37f2, 0x37f2), - CodeunitRange(0x37f8, 0x37f8), - CodeunitRange(0x37fb, 0x37fb), - CodeunitRange(0x380f, 0x380f), - CodeunitRange(0x3819, 0x3819), - CodeunitRange(0x3820, 0x3820), - CodeunitRange(0x382d, 0x382d), - CodeunitRange(0x3836, 0x3836), - CodeunitRange(0x3838, 0x3838), - CodeunitRange(0x3863, 0x3863), - CodeunitRange(0x3875, 0x3875), - CodeunitRange(0x38a0, 0x38a0), - CodeunitRange(0x38c3, 0x38c3), - CodeunitRange(0x38cc, 0x38cc), - CodeunitRange(0x38d1, 0x38d1), - CodeunitRange(0x38d4, 0x38d4), - CodeunitRange(0x38fa, 0x38fa), - CodeunitRange(0x3908, 0x3908), - CodeunitRange(0x3914, 0x3914), - CodeunitRange(0x3927, 0x3927), - CodeunitRange(0x3932, 0x3932), - CodeunitRange(0x393f, 0x393f), - CodeunitRange(0x394d, 0x394d), - CodeunitRange(0x3963, 0x3963), - CodeunitRange(0x3978, 0x3978), - CodeunitRange(0x3980, 0x3980), - CodeunitRange(0x3989, 0x398a), - CodeunitRange(0x3992, 0x3992), - CodeunitRange(0x3999, 0x3999), - CodeunitRange(0x399b, 0x399b), - CodeunitRange(0x39a1, 0x39a1), - CodeunitRange(0x39a4, 0x39a4), - CodeunitRange(0x39b8, 0x39b8), - CodeunitRange(0x39dc, 0x39dc), - CodeunitRange(0x39e2, 0x39e2), - CodeunitRange(0x39e5, 0x39e5), - CodeunitRange(0x39ec, 0x39ec), - CodeunitRange(0x39f8, 0x39f8), - CodeunitRange(0x39fb, 0x39fb), - CodeunitRange(0x39fe, 0x39fe), - CodeunitRange(0x3a01, 0x3a01), - CodeunitRange(0x3a03, 0x3a03), - CodeunitRange(0x3a06, 0x3a06), - CodeunitRange(0x3a17, 0x3a18), - CodeunitRange(0x3a29, 0x3a2a), - CodeunitRange(0x3a34, 0x3a34), - CodeunitRange(0x3a4b, 0x3a4b), - CodeunitRange(0x3a52, 0x3a52), - CodeunitRange(0x3a57, 0x3a57), - CodeunitRange(0x3a5c, 0x3a5c), - CodeunitRange(0x3a5e, 0x3a5e), - CodeunitRange(0x3a66, 0x3a67), - CodeunitRange(0x3a97, 0x3a97), - CodeunitRange(0x3aab, 0x3aab), - CodeunitRange(0x3abd, 0x3abd), - CodeunitRange(0x3ade, 0x3ade), - CodeunitRange(0x3ae0, 0x3ae0), - CodeunitRange(0x3af0, 0x3af0), - CodeunitRange(0x3af2, 0x3af2), - CodeunitRange(0x3af5, 0x3af5), - CodeunitRange(0x3afb, 0x3afb), - CodeunitRange(0x3b0e, 0x3b0e), - CodeunitRange(0x3b19, 0x3b19), - CodeunitRange(0x3b22, 0x3b22), - CodeunitRange(0x3b2b, 0x3b2b), - CodeunitRange(0x3b39, 0x3b39), - CodeunitRange(0x3b42, 0x3b42), - CodeunitRange(0x3b58, 0x3b58), - CodeunitRange(0x3b60, 0x3b60), - CodeunitRange(0x3b71, 0x3b72), - CodeunitRange(0x3b7b, 0x3b7c), - CodeunitRange(0x3b80, 0x3b80), - CodeunitRange(0x3b95, 0x3b96), - CodeunitRange(0x3b99, 0x3b99), - CodeunitRange(0x3ba1, 0x3ba1), - CodeunitRange(0x3bbc, 0x3bbc), - CodeunitRange(0x3bbe, 0x3bbe), - CodeunitRange(0x3bc2, 0x3bc2), - CodeunitRange(0x3bc4, 0x3bc4), - CodeunitRange(0x3bd7, 0x3bd7), - CodeunitRange(0x3bdd, 0x3bdd), - CodeunitRange(0x3bec, 0x3bec), - CodeunitRange(0x3bf2, 0x3bf4), - CodeunitRange(0x3c0d, 0x3c0d), - CodeunitRange(0x3c11, 0x3c11), - CodeunitRange(0x3c15, 0x3c15), - CodeunitRange(0x3c18, 0x3c18), - CodeunitRange(0x3c54, 0x3c54), - CodeunitRange(0x3c8b, 0x3c8b), - CodeunitRange(0x3ccb, 0x3ccb), - CodeunitRange(0x3ccd, 0x3ccd), - CodeunitRange(0x3cd1, 0x3cd1), - CodeunitRange(0x3cd6, 0x3cd6), - CodeunitRange(0x3cdc, 0x3cdc), - CodeunitRange(0x3ceb, 0x3ceb), - CodeunitRange(0x3cef, 0x3cef), - CodeunitRange(0x3d12, 0x3d13), - CodeunitRange(0x3d1d, 0x3d1d), - CodeunitRange(0x3d32, 0x3d32), - CodeunitRange(0x3d3b, 0x3d3b), - CodeunitRange(0x3d46, 0x3d46), - CodeunitRange(0x3d4c, 0x3d4c), - CodeunitRange(0x3d4e, 0x3d4e), - CodeunitRange(0x3d51, 0x3d51), - CodeunitRange(0x3d5f, 0x3d5f), - CodeunitRange(0x3d62, 0x3d62), - CodeunitRange(0x3d69, 0x3d6a), - CodeunitRange(0x3d6f, 0x3d6f), - CodeunitRange(0x3d75, 0x3d75), - CodeunitRange(0x3d7d, 0x3d7d), - CodeunitRange(0x3d85, 0x3d85), - CodeunitRange(0x3d88, 0x3d88), - CodeunitRange(0x3d8a, 0x3d8a), - CodeunitRange(0x3d8f, 0x3d8f), - CodeunitRange(0x3d91, 0x3d91), - CodeunitRange(0x3da5, 0x3da5), - CodeunitRange(0x3dad, 0x3dad), - CodeunitRange(0x3db4, 0x3db4), - CodeunitRange(0x3dbf, 0x3dbf), - CodeunitRange(0x3dc6, 0x3dc7), - CodeunitRange(0x3dc9, 0x3dc9), - CodeunitRange(0x3dcc, 0x3dcd), - CodeunitRange(0x3dd3, 0x3dd3), - CodeunitRange(0x3ddb, 0x3ddb), - CodeunitRange(0x3de7, 0x3de8), - CodeunitRange(0x3deb, 0x3deb), - CodeunitRange(0x3df3, 0x3df4), - CodeunitRange(0x3df7, 0x3df7), - CodeunitRange(0x3dfc, 0x3dfd), - CodeunitRange(0x3e06, 0x3e06), - CodeunitRange(0x3e40, 0x3e40), - CodeunitRange(0x3e43, 0x3e43), - CodeunitRange(0x3e48, 0x3e48), - CodeunitRange(0x3e55, 0x3e55), - CodeunitRange(0x3e74, 0x3e74), - CodeunitRange(0x3ea8, 0x3eaa), - CodeunitRange(0x3ead, 0x3ead), - CodeunitRange(0x3eb1, 0x3eb1), - CodeunitRange(0x3eb8, 0x3eb8), - CodeunitRange(0x3ebf, 0x3ebf), - CodeunitRange(0x3ec2, 0x3ec2), - CodeunitRange(0x3ec7, 0x3ec7), - CodeunitRange(0x3eca, 0x3eca), - CodeunitRange(0x3ecc, 0x3ecc), - CodeunitRange(0x3ed0, 0x3ed1), - CodeunitRange(0x3ed6, 0x3ed7), - CodeunitRange(0x3eda, 0x3edb), - CodeunitRange(0x3ede, 0x3ede), - CodeunitRange(0x3ee1, 0x3ee2), - CodeunitRange(0x3ee7, 0x3ee7), - CodeunitRange(0x3ee9, 0x3ee9), - CodeunitRange(0x3eeb, 0x3eec), - CodeunitRange(0x3ef0, 0x3ef0), - CodeunitRange(0x3ef3, 0x3ef4), - CodeunitRange(0x3efa, 0x3efa), - CodeunitRange(0x3efc, 0x3efc), - CodeunitRange(0x3eff, 0x3f00), - CodeunitRange(0x3f04, 0x3f04), - CodeunitRange(0x3f06, 0x3f07), - CodeunitRange(0x3f0e, 0x3f0e), - CodeunitRange(0x3f53, 0x3f53), - CodeunitRange(0x3f58, 0x3f59), - CodeunitRange(0x3f63, 0x3f63), - CodeunitRange(0x3f7c, 0x3f7c), - CodeunitRange(0x3f93, 0x3f93), - CodeunitRange(0x3fc0, 0x3fc0), - CodeunitRange(0x3fc8, 0x3fc8), - CodeunitRange(0x3fd7, 0x3fd7), - CodeunitRange(0x3fdc, 0x3fdc), - CodeunitRange(0x3fe5, 0x3fe5), - CodeunitRange(0x3fed, 0x3fed), - CodeunitRange(0x3ff9, 0x3ffa), - CodeunitRange(0x4004, 0x4004), - CodeunitRange(0x4009, 0x4009), - CodeunitRange(0x401d, 0x401d), - CodeunitRange(0x4039, 0x4039), - CodeunitRange(0x4045, 0x4045), - CodeunitRange(0x4053, 0x4053), - CodeunitRange(0x4057, 0x4057), - CodeunitRange(0x4062, 0x4062), - CodeunitRange(0x4065, 0x4065), - CodeunitRange(0x406a, 0x406a), - CodeunitRange(0x406f, 0x406f), - CodeunitRange(0x4071, 0x4071), - CodeunitRange(0x40a8, 0x40a8), - CodeunitRange(0x40b4, 0x40b4), - CodeunitRange(0x40bb, 0x40bb), - CodeunitRange(0x40bf, 0x40bf), - CodeunitRange(0x40c8, 0x40c8), - CodeunitRange(0x40d8, 0x40d8), - CodeunitRange(0x40df, 0x40df), - CodeunitRange(0x40f8, 0x40f8), - CodeunitRange(0x40fa, 0x40fa), - CodeunitRange(0x4102, 0x4104), - CodeunitRange(0x4109, 0x4109), - CodeunitRange(0x410e, 0x410e), - CodeunitRange(0x4131, 0x4132), - CodeunitRange(0x4167, 0x4167), - CodeunitRange(0x416c, 0x416c), - CodeunitRange(0x416e, 0x416e), - CodeunitRange(0x417c, 0x417c), - CodeunitRange(0x417f, 0x417f), - CodeunitRange(0x4181, 0x4181), - CodeunitRange(0x4190, 0x4190), - CodeunitRange(0x41b2, 0x41b2), - CodeunitRange(0x41c4, 0x41c4), - CodeunitRange(0x41ca, 0x41ca), - CodeunitRange(0x41cf, 0x41cf), - CodeunitRange(0x41db, 0x41db), - CodeunitRange(0x41ed, 0x41ed), - CodeunitRange(0x41ef, 0x41ef), - CodeunitRange(0x41f9, 0x41f9), - CodeunitRange(0x4211, 0x4211), - CodeunitRange(0x4223, 0x4223), - CodeunitRange(0x4240, 0x4240), - CodeunitRange(0x4260, 0x4260), - CodeunitRange(0x426a, 0x426a), - CodeunitRange(0x4276, 0x4276), - CodeunitRange(0x427a, 0x427a), - CodeunitRange(0x428c, 0x428c), - CodeunitRange(0x4294, 0x4294), - CodeunitRange(0x42a2, 0x42a2), - CodeunitRange(0x42b5, 0x42b5), - CodeunitRange(0x42b9, 0x42b9), - CodeunitRange(0x42bc, 0x42bc), - CodeunitRange(0x42f4, 0x42f4), - CodeunitRange(0x42fb, 0x42fc), - CodeunitRange(0x430a, 0x430a), - CodeunitRange(0x432b, 0x432b), - CodeunitRange(0x436e, 0x436e), - CodeunitRange(0x4397, 0x4397), - CodeunitRange(0x439a, 0x439a), - CodeunitRange(0x43ba, 0x43ba), - CodeunitRange(0x43c1, 0x43c1), - CodeunitRange(0x43d9, 0x43d9), - CodeunitRange(0x43df, 0x43df), - CodeunitRange(0x43ed, 0x43ed), - CodeunitRange(0x43f0, 0x43f0), - CodeunitRange(0x43f2, 0x43f2), - CodeunitRange(0x4401, 0x4402), - CodeunitRange(0x4413, 0x4413), - CodeunitRange(0x4425, 0x4425), - CodeunitRange(0x442d, 0x442d), - CodeunitRange(0x447a, 0x447a), - CodeunitRange(0x448f, 0x448f), - CodeunitRange(0x4491, 0x4491), - CodeunitRange(0x449f, 0x44a0), - CodeunitRange(0x44a2, 0x44a2), - CodeunitRange(0x44b0, 0x44b0), - CodeunitRange(0x44b7, 0x44b7), - CodeunitRange(0x44bd, 0x44bd), - CodeunitRange(0x44c0, 0x44c0), - CodeunitRange(0x44c3, 0x44c3), - CodeunitRange(0x44c5, 0x44c5), - CodeunitRange(0x44ce, 0x44ce), - CodeunitRange(0x44dd, 0x44df), - CodeunitRange(0x44e1, 0x44e1), - CodeunitRange(0x44e4, 0x44e4), - CodeunitRange(0x44e9, 0x44ec), - CodeunitRange(0x44f4, 0x44f4), - CodeunitRange(0x4503, 0x4504), - CodeunitRange(0x4509, 0x4509), - CodeunitRange(0x450b, 0x450b), - CodeunitRange(0x4516, 0x4516), - CodeunitRange(0x451b, 0x451b), - CodeunitRange(0x451d, 0x451d), - CodeunitRange(0x4527, 0x4527), - CodeunitRange(0x452e, 0x452e), - CodeunitRange(0x4533, 0x4533), - CodeunitRange(0x4536, 0x4536), - CodeunitRange(0x453b, 0x453b), - CodeunitRange(0x453d, 0x453d), - CodeunitRange(0x453f, 0x453f), - CodeunitRange(0x4543, 0x4543), - CodeunitRange(0x4551, 0x4552), - CodeunitRange(0x4555, 0x4555), - CodeunitRange(0x4558, 0x4558), - CodeunitRange(0x455c, 0x455c), - CodeunitRange(0x4561, 0x4562), - CodeunitRange(0x456a, 0x456a), - CodeunitRange(0x456d, 0x456d), - CodeunitRange(0x4577, 0x4578), - CodeunitRange(0x4585, 0x4585), - CodeunitRange(0x45a6, 0x45a6), - CodeunitRange(0x45b3, 0x45b3), - CodeunitRange(0x45da, 0x45da), - CodeunitRange(0x45e9, 0x45ea), - CodeunitRange(0x4603, 0x4603), - CodeunitRange(0x4606, 0x4606), - CodeunitRange(0x460f, 0x460f), - CodeunitRange(0x4615, 0x4615), - CodeunitRange(0x4617, 0x4617), - CodeunitRange(0x465b, 0x465b), - CodeunitRange(0x467a, 0x467a), - CodeunitRange(0x4680, 0x4680), - CodeunitRange(0x46a1, 0x46a1), - CodeunitRange(0x46ae, 0x46ae), - CodeunitRange(0x46bb, 0x46bb), - CodeunitRange(0x46cf, 0x46d0), - CodeunitRange(0x46f5, 0x46f5), - CodeunitRange(0x46f7, 0x46f7), - CodeunitRange(0x4713, 0x4713), - CodeunitRange(0x4718, 0x4718), - CodeunitRange(0x4736, 0x4736), - CodeunitRange(0x4744, 0x4744), - CodeunitRange(0x474e, 0x474f), - CodeunitRange(0x477c, 0x477c), - CodeunitRange(0x4798, 0x4798), - CodeunitRange(0x47a6, 0x47a6), - CodeunitRange(0x47d5, 0x47d5), - CodeunitRange(0x47ed, 0x47ed), - CodeunitRange(0x47f4, 0x47f4), - CodeunitRange(0x4800, 0x4800), - CodeunitRange(0x480b, 0x480b), - CodeunitRange(0x4837, 0x4837), - CodeunitRange(0x485d, 0x485d), - CodeunitRange(0x4871, 0x4871), - CodeunitRange(0x489b, 0x489b), - CodeunitRange(0x48ad, 0x48ae), - CodeunitRange(0x48d0, 0x48d0), - CodeunitRange(0x48dd, 0x48dd), - CodeunitRange(0x48ed, 0x48ed), - CodeunitRange(0x48f3, 0x48f3), - CodeunitRange(0x48fa, 0x48fa), - CodeunitRange(0x4906, 0x4906), - CodeunitRange(0x4911, 0x4911), - CodeunitRange(0x491e, 0x491e), - CodeunitRange(0x4925, 0x4925), - CodeunitRange(0x492a, 0x492a), - CodeunitRange(0x492d, 0x492d), - CodeunitRange(0x492f, 0x4930), - CodeunitRange(0x4935, 0x4935), - CodeunitRange(0x493c, 0x493c), - CodeunitRange(0x493e, 0x493e), - CodeunitRange(0x4945, 0x4945), - CodeunitRange(0x4951, 0x4951), - CodeunitRange(0x4953, 0x4953), - CodeunitRange(0x4965, 0x4965), - CodeunitRange(0x496a, 0x496a), - CodeunitRange(0x4972, 0x4972), - CodeunitRange(0x4989, 0x4989), - CodeunitRange(0x49a1, 0x49a1), - CodeunitRange(0x49a7, 0x49a7), - CodeunitRange(0x49df, 0x49df), - CodeunitRange(0x49e5, 0x49e5), - CodeunitRange(0x49e7, 0x49e7), - CodeunitRange(0x4a0f, 0x4a0f), - CodeunitRange(0x4a1d, 0x4a1d), - CodeunitRange(0x4a24, 0x4a24), - CodeunitRange(0x4a35, 0x4a35), - CodeunitRange(0x4a96, 0x4a96), - CodeunitRange(0x4aa4, 0x4aa4), - CodeunitRange(0x4ab4, 0x4ab4), - CodeunitRange(0x4ab8, 0x4ab8), - CodeunitRange(0x4ad1, 0x4ad1), - CodeunitRange(0x4ae4, 0x4ae4), - CodeunitRange(0x4aff, 0x4aff), - CodeunitRange(0x4b10, 0x4b10), - CodeunitRange(0x4b19, 0x4b19), - CodeunitRange(0x4b20, 0x4b20), - CodeunitRange(0x4b2c, 0x4b2c), - CodeunitRange(0x4b37, 0x4b37), - CodeunitRange(0x4b6f, 0x4b70), - CodeunitRange(0x4b72, 0x4b72), - CodeunitRange(0x4b7b, 0x4b7b), - CodeunitRange(0x4b7e, 0x4b7e), - CodeunitRange(0x4b8e, 0x4b8e), - CodeunitRange(0x4b90, 0x4b90), - CodeunitRange(0x4b93, 0x4b93), - CodeunitRange(0x4b96, 0x4b97), - CodeunitRange(0x4b9d, 0x4b9d), - CodeunitRange(0x4bbd, 0x4bbe), - CodeunitRange(0x4bc0, 0x4bc0), - CodeunitRange(0x4c04, 0x4c04), - CodeunitRange(0x4c07, 0x4c07), - CodeunitRange(0x4c0e, 0x4c0e), - CodeunitRange(0x4c32, 0x4c32), - CodeunitRange(0x4c3b, 0x4c3b), - CodeunitRange(0x4c3e, 0x4c3e), - CodeunitRange(0x4c40, 0x4c40), - CodeunitRange(0x4c47, 0x4c47), - CodeunitRange(0x4c57, 0x4c57), - CodeunitRange(0x4c5b, 0x4c5b), - CodeunitRange(0x4c6d, 0x4c6d), - CodeunitRange(0x4c77, 0x4c77), - CodeunitRange(0x4c7b, 0x4c7b), - CodeunitRange(0x4c7d, 0x4c7d), - CodeunitRange(0x4c81, 0x4c81), - CodeunitRange(0x4c85, 0x4c85), - CodeunitRange(0x4ca4, 0x4ca4), - CodeunitRange(0x4cae, 0x4cae), - CodeunitRange(0x4cb0, 0x4cb0), - CodeunitRange(0x4cb7, 0x4cb7), - CodeunitRange(0x4ccd, 0x4ccd), - CodeunitRange(0x4ce1, 0x4ce2), - CodeunitRange(0x4ced, 0x4ced), - CodeunitRange(0x4d07, 0x4d07), - CodeunitRange(0x4d09, 0x4d09), - CodeunitRange(0x4d10, 0x4d10), - CodeunitRange(0x4d34, 0x4d34), - CodeunitRange(0x4d76, 0x4d77), - CodeunitRange(0x4d89, 0x4d89), - CodeunitRange(0x4d91, 0x4d91), - CodeunitRange(0x4d9c, 0x4d9c), - CodeunitRange(0x4e00, 0x4e01), - CodeunitRange(0x4e03, 0x4e04), - CodeunitRange(0x4e07, 0x4e11), - CodeunitRange(0x4e14, 0x4e16), - CodeunitRange(0x4e18, 0x4e1a), - CodeunitRange(0x4e1c, 0x4e1c), - CodeunitRange(0x4e1e, 0x4e1f), - CodeunitRange(0x4e21, 0x4e22), - CodeunitRange(0x4e24, 0x4e24), - CodeunitRange(0x4e26, 0x4e26), - CodeunitRange(0x4e28, 0x4e28), - CodeunitRange(0x4e2a, 0x4e33), - CodeunitRange(0x4e36, 0x4e39), - CodeunitRange(0x4e3b, 0x4e3d), - CodeunitRange(0x4e3f, 0x4e3f), - CodeunitRange(0x4e42, 0x4e43), - CodeunitRange(0x4e45, 0x4e45), - CodeunitRange(0x4e47, 0x4e49), - CodeunitRange(0x4e4b, 0x4e4b), - CodeunitRange(0x4e4d, 0x4e4f), - CodeunitRange(0x4e52, 0x4e53), - CodeunitRange(0x4e56, 0x4e56), - CodeunitRange(0x4e58, 0x4e5f), - CodeunitRange(0x4e69, 0x4e6a), - CodeunitRange(0x4e73, 0x4e73), - CodeunitRange(0x4e78, 0x4e78), - CodeunitRange(0x4e7e, 0x4e89), - CodeunitRange(0x4e8b, 0x4e8e), - CodeunitRange(0x4e91, 0x4e95), - CodeunitRange(0x4e98, 0x4e9b), - CodeunitRange(0x4e9e, 0x4ea6), - CodeunitRange(0x4ea8, 0x4ea8), - CodeunitRange(0x4eab, 0x4eae), - CodeunitRange(0x4eb3, 0x4eb3), - CodeunitRange(0x4eb6, 0x4eb7), - CodeunitRange(0x4eb9, 0x4ebc), - CodeunitRange(0x4ebf, 0x4ec4), - CodeunitRange(0x4ec6, 0x4ecb), - CodeunitRange(0x4ecd, 0x4ece), - CodeunitRange(0x4ed4, 0x4eda), - CodeunitRange(0x4edc, 0x4edf), - CodeunitRange(0x4ee1, 0x4ee1), - CodeunitRange(0x4ee3, 0x4ee5), - CodeunitRange(0x4ee8, 0x4eeb), - CodeunitRange(0x4eee, 0x4eee), - CodeunitRange(0x4ef0, 0x4ef8), - CodeunitRange(0x4efb, 0x4efb), - CodeunitRange(0x4efd, 0x4efd), - CodeunitRange(0x4eff, 0x4f05), - CodeunitRange(0x4f08, 0x4f0b), - CodeunitRange(0x4f0d, 0x4f15), - CodeunitRange(0x4f17, 0x4f1a), - CodeunitRange(0x4f1d, 0x4f1d), - CodeunitRange(0x4f22, 0x4f22), - CodeunitRange(0x4f28, 0x4f29), - CodeunitRange(0x4f2c, 0x4f2d), - CodeunitRange(0x4f2f, 0x4f30), - CodeunitRange(0x4f32, 0x4f34), - CodeunitRange(0x4f36, 0x4f3f), - CodeunitRange(0x4f41, 0x4f43), - CodeunitRange(0x4f45, 0x4f49), - CodeunitRange(0x4f4b, 0x4f64), - CodeunitRange(0x4f67, 0x4f67), - CodeunitRange(0x4f69, 0x4f6c), - CodeunitRange(0x4f6e, 0x4f70), - CodeunitRange(0x4f72, 0x4f8b), - CodeunitRange(0x4f8d, 0x4f8d), - CodeunitRange(0x4f8f, 0x4f92), - CodeunitRange(0x4f94, 0x4f98), - CodeunitRange(0x4f9a, 0x4f9e), - CodeunitRange(0x4fa2, 0x4fa2), - CodeunitRange(0x4fa8, 0x4fa8), - CodeunitRange(0x4fab, 0x4fab), - CodeunitRange(0x4fae, 0x4fb0), - CodeunitRange(0x4fb2, 0x4fb7), - CodeunitRange(0x4fb9, 0x4fbb), - CodeunitRange(0x4fbd, 0x4fbd), - CodeunitRange(0x4fbf, 0x4fc5), - CodeunitRange(0x4fc7, 0x4fd1), - CodeunitRange(0x4fd3, 0x4fd4), - CodeunitRange(0x4fd6, 0x4fe1), - CodeunitRange(0x4fe4, 0x4fe5), - CodeunitRange(0x4fec, 0x4fec), - CodeunitRange(0x4fee, 0x4ffa), - CodeunitRange(0x4ffd, 0x4ffe), - CodeunitRange(0x5000, 0x5000), - CodeunitRange(0x5003, 0x5003), - CodeunitRange(0x5005, 0x5009), - CodeunitRange(0x500b, 0x500f), - CodeunitRange(0x5011, 0x501c), - CodeunitRange(0x501e, 0x5023), - CodeunitRange(0x5025, 0x5031), - CodeunitRange(0x5033, 0x5035), - CodeunitRange(0x5037, 0x5037), - CodeunitRange(0x503b, 0x503c), - CodeunitRange(0x5040, 0x5041), - CodeunitRange(0x5043, 0x5043), - CodeunitRange(0x5045, 0x504f), - CodeunitRange(0x5051, 0x5051), - CodeunitRange(0x5053, 0x5053), - CodeunitRange(0x5055, 0x5058), - CodeunitRange(0x505a, 0x5066), - CodeunitRange(0x5068, 0x5070), - CodeunitRange(0x5072, 0x5077), - CodeunitRange(0x507a, 0x507a), - CodeunitRange(0x507d, 0x507d), - CodeunitRange(0x5080, 0x5083), - CodeunitRange(0x5085, 0x5085), - CodeunitRange(0x5087, 0x5088), - CodeunitRange(0x508b, 0x508e), - CodeunitRange(0x5090, 0x5092), - CodeunitRange(0x5094, 0x5096), - CodeunitRange(0x5098, 0x509e), - CodeunitRange(0x50a2, 0x50a3), - CodeunitRange(0x50a6, 0x50a6), - CodeunitRange(0x50ac, 0x50b8), - CodeunitRange(0x50ba, 0x50bf), - CodeunitRange(0x50c1, 0x50c2), - CodeunitRange(0x50c4, 0x50cb), - CodeunitRange(0x50cd, 0x50d1), - CodeunitRange(0x50d3, 0x50d7), - CodeunitRange(0x50d9, 0x50db), - CodeunitRange(0x50dd, 0x50dd), - CodeunitRange(0x50df, 0x50e1), - CodeunitRange(0x50e3, 0x50ea), - CodeunitRange(0x50ec, 0x50f1), - CodeunitRange(0x50f3, 0x50f6), - CodeunitRange(0x50f8, 0x50f9), - CodeunitRange(0x50fb, 0x510e), - CodeunitRange(0x5110, 0x5115), - CodeunitRange(0x5117, 0x5118), - CodeunitRange(0x511a, 0x511a), - CodeunitRange(0x511c, 0x511c), - CodeunitRange(0x511f, 0x5122), - CodeunitRange(0x5124, 0x5126), - CodeunitRange(0x5129, 0x512b), - CodeunitRange(0x512d, 0x512e), - CodeunitRange(0x5130, 0x5135), - CodeunitRange(0x5137, 0x513d), - CodeunitRange(0x513f, 0x5141), - CodeunitRange(0x5143, 0x5149), - CodeunitRange(0x514b, 0x514d), - CodeunitRange(0x5151, 0x5152), - CodeunitRange(0x5154, 0x5157), - CodeunitRange(0x5159, 0x5163), - CodeunitRange(0x5165, 0x5165), - CodeunitRange(0x5167, 0x516e), - CodeunitRange(0x5171, 0x5171), - CodeunitRange(0x5174, 0x5179), - CodeunitRange(0x517c, 0x517c), - CodeunitRange(0x5180, 0x5180), - CodeunitRange(0x5182, 0x5182), - CodeunitRange(0x5186, 0x518a), - CodeunitRange(0x518d, 0x518d), - CodeunitRange(0x518f, 0x518f), - CodeunitRange(0x5191, 0x5198), - CodeunitRange(0x519a, 0x519a), - CodeunitRange(0x519c, 0x519c), - CodeunitRange(0x519e, 0x519e), - CodeunitRange(0x51a0, 0x51a0), - CodeunitRange(0x51a2, 0x51a2), - CodeunitRange(0x51a4, 0x51a5), - CodeunitRange(0x51a7, 0x51a8), - CodeunitRange(0x51aa, 0x51ac), - CodeunitRange(0x51ae, 0x51ae), - CodeunitRange(0x51b0, 0x51b9), - CodeunitRange(0x51bc, 0x51be), - CodeunitRange(0x51c3, 0x51d4), - CodeunitRange(0x51d7, 0x51d8), - CodeunitRange(0x51db, 0x51e2), - CodeunitRange(0x51e4, 0x51e4), - CodeunitRange(0x51ed, 0x51ed), - CodeunitRange(0x51f0, 0x51f1), - CodeunitRange(0x51f3, 0x51f6), - CodeunitRange(0x51f8, 0x51fa), - CodeunitRange(0x51fc, 0x51fe), - CodeunitRange(0x5200, 0x5203), - CodeunitRange(0x5205, 0x520c), - CodeunitRange(0x520e, 0x520e), - CodeunitRange(0x5210, 0x5213), - CodeunitRange(0x5216, 0x5217), - CodeunitRange(0x521c, 0x5221), - CodeunitRange(0x5224, 0x522a), - CodeunitRange(0x522e, 0x522e), - CodeunitRange(0x5230, 0x5238), - CodeunitRange(0x523a, 0x523c), - CodeunitRange(0x5241, 0x5241), - CodeunitRange(0x5243, 0x5244), - CodeunitRange(0x5246, 0x5247), - CodeunitRange(0x5249, 0x524f), - CodeunitRange(0x5252, 0x5252), - CodeunitRange(0x5254, 0x5257), - CodeunitRange(0x5259, 0x5262), - CodeunitRange(0x5268, 0x526f), - CodeunitRange(0x5272, 0x5275), - CodeunitRange(0x5277, 0x527d), - CodeunitRange(0x527f, 0x5284), - CodeunitRange(0x5287, 0x528d), - CodeunitRange(0x528f, 0x5291), - CodeunitRange(0x5293, 0x5294), - CodeunitRange(0x5296, 0x529b), - CodeunitRange(0x529f, 0x52a1), - CodeunitRange(0x52a3, 0x52a4), - CodeunitRange(0x52a6, 0x52a6), - CodeunitRange(0x52a8, 0x52ae), - CodeunitRange(0x52b5, 0x52b5), - CodeunitRange(0x52b9, 0x52b9), - CodeunitRange(0x52bb, 0x52bc), - CodeunitRange(0x52be, 0x52be), - CodeunitRange(0x52c0, 0x52c3), - CodeunitRange(0x52c5, 0x52c5), - CodeunitRange(0x52c7, 0x52c7), - CodeunitRange(0x52c9, 0x52c9), - CodeunitRange(0x52cc, 0x52cd), - CodeunitRange(0x52d0, 0x52d3), - CodeunitRange(0x52d5, 0x52d9), - CodeunitRange(0x52db, 0x52db), - CodeunitRange(0x52dd, 0x52e4), - CodeunitRange(0x52e6, 0x52e6), - CodeunitRange(0x52e9, 0x52e9), - CodeunitRange(0x52eb, 0x52eb), - CodeunitRange(0x52ef, 0x52f1), - CodeunitRange(0x52f3, 0x52f5), - CodeunitRange(0x52f7, 0x52fc), - CodeunitRange(0x52fe, 0x52ff), - CodeunitRange(0x5301, 0x5301), - CodeunitRange(0x5305, 0x5306), - CodeunitRange(0x5308, 0x530b), - CodeunitRange(0x530d, 0x5312), - CodeunitRange(0x5315, 0x5317), - CodeunitRange(0x5319, 0x531a), - CodeunitRange(0x531c, 0x531d), - CodeunitRange(0x531f, 0x5324), - CodeunitRange(0x5327, 0x5327), - CodeunitRange(0x532a, 0x532a), - CodeunitRange(0x532c, 0x532d), - CodeunitRange(0x532f, 0x5334), - CodeunitRange(0x5337, 0x5339), - CodeunitRange(0x533b, 0x5345), - CodeunitRange(0x5347, 0x534a), - CodeunitRange(0x534c, 0x534e), - CodeunitRange(0x5351, 0x5354), - CodeunitRange(0x5357, 0x5357), - CodeunitRange(0x535a, 0x535a), - CodeunitRange(0x535c, 0x5361), - CodeunitRange(0x5363, 0x5364), - CodeunitRange(0x5366, 0x5367), - CodeunitRange(0x5369, 0x5369), - CodeunitRange(0x536c, 0x5375), - CodeunitRange(0x5377, 0x5379), - CodeunitRange(0x537b, 0x537f), - CodeunitRange(0x5382, 0x5382), - CodeunitRange(0x5384, 0x5384), - CodeunitRange(0x538a, 0x538a), - CodeunitRange(0x538e, 0x538f), - CodeunitRange(0x5392, 0x5394), - CodeunitRange(0x5396, 0x539a), - CodeunitRange(0x539c, 0x53a0), - CodeunitRange(0x53a2, 0x53a2), - CodeunitRange(0x53a4, 0x53ae), - CodeunitRange(0x53b0, 0x53b0), - CodeunitRange(0x53b2, 0x53b2), - CodeunitRange(0x53b4, 0x53b4), - CodeunitRange(0x53b6, 0x53b6), - CodeunitRange(0x53b9, 0x53b9), - CodeunitRange(0x53bb, 0x53bb), - CodeunitRange(0x53c1, 0x53c3), - CodeunitRange(0x53c5, 0x53c5), - CodeunitRange(0x53c8, 0x53cd), - CodeunitRange(0x53d0, 0x53d2), - CodeunitRange(0x53d4, 0x53d4), - CodeunitRange(0x53d6, 0x53db), - CodeunitRange(0x53df, 0x53e6), - CodeunitRange(0x53e8, 0x53f3), - CodeunitRange(0x53f5, 0x53f8), - CodeunitRange(0x53fb, 0x53fc), - CodeunitRange(0x53fe, 0x53fe), - CodeunitRange(0x5401, 0x5401), - CodeunitRange(0x5403, 0x5404), - CodeunitRange(0x5406, 0x5414), - CodeunitRange(0x5416, 0x5416), - CodeunitRange(0x5418, 0x5421), - CodeunitRange(0x5423, 0x5439), - CodeunitRange(0x543b, 0x5443), - CodeunitRange(0x5445, 0x5448), - CodeunitRange(0x544a, 0x544f), - CodeunitRange(0x5454, 0x5454), - CodeunitRange(0x5460, 0x546d), - CodeunitRange(0x546f, 0x5478), - CodeunitRange(0x547a, 0x5482), - CodeunitRange(0x5484, 0x5488), - CodeunitRange(0x548b, 0x5498), - CodeunitRange(0x549a, 0x549a), - CodeunitRange(0x549c, 0x549c), - CodeunitRange(0x549e, 0x549e), - CodeunitRange(0x54a0, 0x54b4), - CodeunitRange(0x54b6, 0x54c9), - CodeunitRange(0x54cb, 0x54d0), - CodeunitRange(0x54d6, 0x54d6), - CodeunitRange(0x54da, 0x54da), - CodeunitRange(0x54de, 0x54de), - CodeunitRange(0x54e0, 0x54eb), - CodeunitRange(0x54ed, 0x54ef), - CodeunitRange(0x54f1, 0x54f3), - CodeunitRange(0x54f7, 0x54f8), - CodeunitRange(0x54fa, 0x54fd), - CodeunitRange(0x54ff, 0x54ff), - CodeunitRange(0x5501, 0x5514), - CodeunitRange(0x5517, 0x5518), - CodeunitRange(0x551a, 0x551a), - CodeunitRange(0x551e, 0x551e), - CodeunitRange(0x5523, 0x5523), - CodeunitRange(0x5525, 0x5528), - CodeunitRange(0x552a, 0x5539), - CodeunitRange(0x553b, 0x553c), - CodeunitRange(0x553e, 0x5541), - CodeunitRange(0x5543, 0x554b), - CodeunitRange(0x554d, 0x5553), - CodeunitRange(0x5555, 0x5557), - CodeunitRange(0x555c, 0x555f), - CodeunitRange(0x5561, 0x5566), - CodeunitRange(0x5569, 0x556b), - CodeunitRange(0x5571, 0x5573), - CodeunitRange(0x5575, 0x5577), - CodeunitRange(0x5579, 0x5579), - CodeunitRange(0x557b, 0x5584), - CodeunitRange(0x5586, 0x5595), - CodeunitRange(0x5598, 0x559a), - CodeunitRange(0x559c, 0x559d), - CodeunitRange(0x559f, 0x559f), - CodeunitRange(0x55a1, 0x55ae), - CodeunitRange(0x55b0, 0x55b5), - CodeunitRange(0x55b9, 0x55bc), - CodeunitRange(0x55bf, 0x55df), - CodeunitRange(0x55e1, 0x55ea), - CodeunitRange(0x55ec, 0x55ec), - CodeunitRange(0x55ee, 0x55f2), - CodeunitRange(0x55f5, 0x55f7), - CodeunitRange(0x55f9, 0x5602), - CodeunitRange(0x5604, 0x5606), - CodeunitRange(0x5608, 0x5609), - CodeunitRange(0x560c, 0x5617), - CodeunitRange(0x561b, 0x5623), - CodeunitRange(0x5625, 0x5625), - CodeunitRange(0x5627, 0x5627), - CodeunitRange(0x5629, 0x562a), - CodeunitRange(0x562c, 0x5630), - CodeunitRange(0x5632, 0x563b), - CodeunitRange(0x563d, 0x5643), - CodeunitRange(0x5645, 0x5646), - CodeunitRange(0x5648, 0x564a), - CodeunitRange(0x564c, 0x5650), - CodeunitRange(0x5652, 0x5654), - CodeunitRange(0x5657, 0x565a), - CodeunitRange(0x565d, 0x565e), - CodeunitRange(0x5660, 0x5666), - CodeunitRange(0x5668, 0x5674), - CodeunitRange(0x5676, 0x567c), - CodeunitRange(0x567e, 0x5687), - CodeunitRange(0x5689, 0x5690), - CodeunitRange(0x5692, 0x5693), - CodeunitRange(0x5695, 0x5695), - CodeunitRange(0x5697, 0x569a), - CodeunitRange(0x569c, 0x569f), - CodeunitRange(0x56a1, 0x56a1), - CodeunitRange(0x56a4, 0x56a8), - CodeunitRange(0x56aa, 0x56af), - CodeunitRange(0x56b1, 0x56b7), - CodeunitRange(0x56b9, 0x56b9), - CodeunitRange(0x56bc, 0x56c3), - CodeunitRange(0x56c5, 0x56c6), - CodeunitRange(0x56c8, 0x56cd), - CodeunitRange(0x56d1, 0x56d1), - CodeunitRange(0x56d3, 0x56d4), - CodeunitRange(0x56d6, 0x56d7), - CodeunitRange(0x56da, 0x56db), - CodeunitRange(0x56dd, 0x56e2), - CodeunitRange(0x56e4, 0x56e5), - CodeunitRange(0x56e7, 0x56e7), - CodeunitRange(0x56ea, 0x56eb), - CodeunitRange(0x56ed, 0x56f1), - CodeunitRange(0x56f7, 0x56f7), - CodeunitRange(0x56f9, 0x56fb), - CodeunitRange(0x56fd, 0x56fd), - CodeunitRange(0x56ff, 0x5704), - CodeunitRange(0x5707, 0x570d), - CodeunitRange(0x5712, 0x5716), - CodeunitRange(0x5718, 0x5718), - CodeunitRange(0x571a, 0x5720), - CodeunitRange(0x5722, 0x5723), - CodeunitRange(0x5728, 0x572a), - CodeunitRange(0x572c, 0x5730), - CodeunitRange(0x5732, 0x5734), - CodeunitRange(0x573b, 0x573b), - CodeunitRange(0x573d, 0x5743), - CodeunitRange(0x5745, 0x5747), - CodeunitRange(0x5749, 0x5752), - CodeunitRange(0x5754, 0x5754), - CodeunitRange(0x5757, 0x5757), - CodeunitRange(0x575b, 0x575b), - CodeunitRange(0x575f, 0x575f), - CodeunitRange(0x5761, 0x5762), - CodeunitRange(0x5764, 0x5764), - CodeunitRange(0x5766, 0x576b), - CodeunitRange(0x576d, 0x576d), - CodeunitRange(0x576f, 0x5777), - CodeunitRange(0x577a, 0x5780), - CodeunitRange(0x5782, 0x5783), - CodeunitRange(0x5788, 0x5788), - CodeunitRange(0x578a, 0x578d), - CodeunitRange(0x578f, 0x5790), - CodeunitRange(0x5793, 0x5795), - CodeunitRange(0x5797, 0x57a5), - CodeunitRange(0x57a7, 0x57a7), - CodeunitRange(0x57aa, 0x57aa), - CodeunitRange(0x57ae, 0x57ae), - CodeunitRange(0x57b3, 0x57b6), - CodeunitRange(0x57b8, 0x57bf), - CodeunitRange(0x57c1, 0x57c4), - CodeunitRange(0x57c6, 0x57c8), - CodeunitRange(0x57cb, 0x57cc), - CodeunitRange(0x57ce, 0x57d0), - CodeunitRange(0x57d2, 0x57d2), - CodeunitRange(0x57d4, 0x57d5), - CodeunitRange(0x57d7, 0x57d7), - CodeunitRange(0x57dc, 0x57e7), - CodeunitRange(0x57e9, 0x57e9), - CodeunitRange(0x57ec, 0x57fe), - CodeunitRange(0x5800, 0x580e), - CodeunitRange(0x5810, 0x5810), - CodeunitRange(0x5812, 0x5812), - CodeunitRange(0x5814, 0x5814), - CodeunitRange(0x5818, 0x5819), - CodeunitRange(0x581b, 0x581e), - CodeunitRange(0x5820, 0x582a), - CodeunitRange(0x582c, 0x583b), - CodeunitRange(0x583d, 0x583d), - CodeunitRange(0x583f, 0x5840), - CodeunitRange(0x5844, 0x5844), - CodeunitRange(0x5847, 0x584f), - CodeunitRange(0x5851, 0x5855), - CodeunitRange(0x5857, 0x585f), - CodeunitRange(0x5862, 0x5865), - CodeunitRange(0x5868, 0x5869), - CodeunitRange(0x586b, 0x586d), - CodeunitRange(0x586f, 0x586f), - CodeunitRange(0x5871, 0x5876), - CodeunitRange(0x5879, 0x5883), - CodeunitRange(0x5885, 0x588b), - CodeunitRange(0x588e, 0x5894), - CodeunitRange(0x5896, 0x5896), - CodeunitRange(0x5898, 0x589a), - CodeunitRange(0x589c, 0x58a1), - CodeunitRange(0x58a3, 0x58a3), - CodeunitRange(0x58a5, 0x58ac), - CodeunitRange(0x58ae, 0x58b1), - CodeunitRange(0x58b3, 0x58b3), - CodeunitRange(0x58b5, 0x58b6), - CodeunitRange(0x58ba, 0x58bf), - CodeunitRange(0x58c1, 0x58c2), - CodeunitRange(0x58c5, 0x58c9), - CodeunitRange(0x58cb, 0x58cb), - CodeunitRange(0x58ce, 0x58d6), - CodeunitRange(0x58d8, 0x58e0), - CodeunitRange(0x58e2, 0x58e4), - CodeunitRange(0x58e7, 0x58e9), - CodeunitRange(0x58eb, 0x58ec), - CodeunitRange(0x58ef, 0x58f0), - CodeunitRange(0x58f2, 0x58f4), - CodeunitRange(0x58f9, 0x58ff), - CodeunitRange(0x5902, 0x5907), - CodeunitRange(0x590a, 0x590a), - CodeunitRange(0x590c, 0x590f), - CodeunitRange(0x5911, 0x5912), - CodeunitRange(0x5914, 0x5917), - CodeunitRange(0x5919, 0x591a), - CodeunitRange(0x591c, 0x591d), - CodeunitRange(0x591f, 0x5920), - CodeunitRange(0x5922, 0x5922), - CodeunitRange(0x5924, 0x5925), - CodeunitRange(0x5927, 0x5927), - CodeunitRange(0x5929, 0x592f), - CodeunitRange(0x5931, 0x5932), - CodeunitRange(0x5934, 0x5934), - CodeunitRange(0x5937, 0x5938), - CodeunitRange(0x593c, 0x593c), - CodeunitRange(0x593e, 0x593e), - CodeunitRange(0x5940, 0x5940), - CodeunitRange(0x5944, 0x5945), - CodeunitRange(0x5947, 0x594a), - CodeunitRange(0x594e, 0x5951), - CodeunitRange(0x5953, 0x5955), - CodeunitRange(0x5957, 0x5958), - CodeunitRange(0x595a, 0x595a), - CodeunitRange(0x595c, 0x595c), - CodeunitRange(0x5960, 0x5962), - CodeunitRange(0x5965, 0x5965), - CodeunitRange(0x5967, 0x5967), - CodeunitRange(0x5969, 0x596e), - CodeunitRange(0x5970, 0x5979), - CodeunitRange(0x597b, 0x5985), - CodeunitRange(0x5989, 0x598a), - CodeunitRange(0x598d, 0x5990), - CodeunitRange(0x5992, 0x5994), - CodeunitRange(0x5996, 0x599a), - CodeunitRange(0x599d, 0x59a8), - CodeunitRange(0x59ac, 0x59ac), - CodeunitRange(0x59ae, 0x59c1), - CodeunitRange(0x59c3, 0x59d4), - CodeunitRange(0x59d6, 0x59d6), - CodeunitRange(0x59d8, 0x59de), - CodeunitRange(0x59e0, 0x59e1), - CodeunitRange(0x59e3, 0x59e6), - CodeunitRange(0x59e8, 0x5a03), - CodeunitRange(0x5a09, 0x5a0d), - CodeunitRange(0x5a0f, 0x5a0f), - CodeunitRange(0x5a11, 0x5a13), - CodeunitRange(0x5a15, 0x5a1c), - CodeunitRange(0x5a1e, 0x5a21), - CodeunitRange(0x5a23, 0x5a25), - CodeunitRange(0x5a27, 0x5a27), - CodeunitRange(0x5a29, 0x5a2e), - CodeunitRange(0x5a33, 0x5a33), - CodeunitRange(0x5a35, 0x5a39), - CodeunitRange(0x5a3c, 0x5a3e), - CodeunitRange(0x5a40, 0x5a4a), - CodeunitRange(0x5a4c, 0x5a4d), - CodeunitRange(0x5a50, 0x5a6e), - CodeunitRange(0x5a70, 0x5a71), - CodeunitRange(0x5a77, 0x5a7f), - CodeunitRange(0x5a81, 0x5a84), - CodeunitRange(0x5a86, 0x5a86), - CodeunitRange(0x5a88, 0x5a88), - CodeunitRange(0x5a8a, 0x5a8c), - CodeunitRange(0x5a8e, 0x5a97), - CodeunitRange(0x5a99, 0x5aa2), - CodeunitRange(0x5aa4, 0x5aa7), - CodeunitRange(0x5aa9, 0x5aac), - CodeunitRange(0x5aae, 0x5ac4), - CodeunitRange(0x5ac6, 0x5acf), - CodeunitRange(0x5ad1, 0x5ad1), - CodeunitRange(0x5ad3, 0x5ad3), - CodeunitRange(0x5ad5, 0x5ae6), - CodeunitRange(0x5ae8, 0x5aee), - CodeunitRange(0x5af0, 0x5af0), - CodeunitRange(0x5af2, 0x5afb), - CodeunitRange(0x5afd, 0x5aff), - CodeunitRange(0x5b01, 0x5b03), - CodeunitRange(0x5b05, 0x5b05), - CodeunitRange(0x5b07, 0x5b09), - CodeunitRange(0x5b0b, 0x5b0d), - CodeunitRange(0x5b0f, 0x5b11), - CodeunitRange(0x5b13, 0x5b17), - CodeunitRange(0x5b19, 0x5b1b), - CodeunitRange(0x5b1d, 0x5b21), - CodeunitRange(0x5b23, 0x5b28), - CodeunitRange(0x5b2a, 0x5b30), - CodeunitRange(0x5b32, 0x5b32), - CodeunitRange(0x5b34, 0x5b34), - CodeunitRange(0x5b38, 0x5b38), - CodeunitRange(0x5b3c, 0x5b41), - CodeunitRange(0x5b43, 0x5b48), - CodeunitRange(0x5b4a, 0x5b51), - CodeunitRange(0x5b53, 0x5b58), - CodeunitRange(0x5b5a, 0x5b5d), - CodeunitRange(0x5b5f, 0x5b5f), - CodeunitRange(0x5b62, 0x5b66), - CodeunitRange(0x5b68, 0x5b69), - CodeunitRange(0x5b6b, 0x5b6e), - CodeunitRange(0x5b70, 0x5b78), - CodeunitRange(0x5b7a, 0x5b7d), - CodeunitRange(0x5b7f, 0x5b85), - CodeunitRange(0x5b87, 0x5b89), - CodeunitRange(0x5b8b, 0x5b8c), - CodeunitRange(0x5b8e, 0x5b90), - CodeunitRange(0x5b92, 0x5b93), - CodeunitRange(0x5b95, 0x5b9f), - CodeunitRange(0x5ba2, 0x5ba8), - CodeunitRange(0x5baa, 0x5baa), - CodeunitRange(0x5bac, 0x5bae), - CodeunitRange(0x5bb0, 0x5bb0), - CodeunitRange(0x5bb3, 0x5bb9), - CodeunitRange(0x5bbf, 0x5bc7), - CodeunitRange(0x5bca, 0x5bce), - CodeunitRange(0x5bd0, 0x5bd9), - CodeunitRange(0x5bdb, 0x5bdb), - CodeunitRange(0x5bde, 0x5bec), - CodeunitRange(0x5bee, 0x5bf3), - CodeunitRange(0x5bf5, 0x5bf6), - CodeunitRange(0x5bf8, 0x5bf8), - CodeunitRange(0x5bfa, 0x5bfa), - CodeunitRange(0x5bff, 0x5bff), - CodeunitRange(0x5c01, 0x5c01), - CodeunitRange(0x5c03, 0x5c05), - CodeunitRange(0x5c07, 0x5c16), - CodeunitRange(0x5c1a, 0x5c1a), - CodeunitRange(0x5c1c, 0x5c1c), - CodeunitRange(0x5c1e, 0x5c20), - CodeunitRange(0x5c22, 0x5c25), - CodeunitRange(0x5c28, 0x5c28), - CodeunitRange(0x5c2a, 0x5c2a), - CodeunitRange(0x5c2c, 0x5c2c), - CodeunitRange(0x5c30, 0x5c31), - CodeunitRange(0x5c33, 0x5c33), - CodeunitRange(0x5c37, 0x5c3c), - CodeunitRange(0x5c3e, 0x5c41), - CodeunitRange(0x5c44, 0x5c51), - CodeunitRange(0x5c53, 0x5c56), - CodeunitRange(0x5c58, 0x5c59), - CodeunitRange(0x5c5c, 0x5c5e), - CodeunitRange(0x5c60, 0x5c60), - CodeunitRange(0x5c62, 0x5c65), - CodeunitRange(0x5c67, 0x5c6a), - CodeunitRange(0x5c6c, 0x5c6f), - CodeunitRange(0x5c71, 0x5c71), - CodeunitRange(0x5c73, 0x5c74), - CodeunitRange(0x5c78, 0x5c7c), - CodeunitRange(0x5c7e, 0x5c7e), - CodeunitRange(0x5c83, 0x5c83), - CodeunitRange(0x5c85, 0x5c86), - CodeunitRange(0x5c88, 0x5c8d), - CodeunitRange(0x5c8f, 0x5c95), - CodeunitRange(0x5c99, 0x5c9a), - CodeunitRange(0x5c9c, 0x5cb1), - CodeunitRange(0x5cb3, 0x5cb3), - CodeunitRange(0x5cb5, 0x5cb8), - CodeunitRange(0x5cba, 0x5cba), - CodeunitRange(0x5cc1, 0x5cc2), - CodeunitRange(0x5cc6, 0x5ccc), - CodeunitRange(0x5cce, 0x5cdb), - CodeunitRange(0x5cde, 0x5cdf), - CodeunitRange(0x5ce5, 0x5ce5), - CodeunitRange(0x5ce8, 0x5cea), - CodeunitRange(0x5cec, 0x5cf1), - CodeunitRange(0x5cf4, 0x5cf9), - CodeunitRange(0x5cfb, 0x5cfd), - CodeunitRange(0x5cff, 0x5d01), - CodeunitRange(0x5d06, 0x5d07), - CodeunitRange(0x5d0b, 0x5d12), - CodeunitRange(0x5d14, 0x5d1b), - CodeunitRange(0x5d1d, 0x5d20), - CodeunitRange(0x5d22, 0x5d29), - CodeunitRange(0x5d2c, 0x5d2c), - CodeunitRange(0x5d2e, 0x5d3a), - CodeunitRange(0x5d3c, 0x5d43), - CodeunitRange(0x5d45, 0x5d4c), - CodeunitRange(0x5d4e, 0x5d4e), - CodeunitRange(0x5d50, 0x5d52), - CodeunitRange(0x5d55, 0x5d57), - CodeunitRange(0x5d59, 0x5d59), - CodeunitRange(0x5d5b, 0x5d5b), - CodeunitRange(0x5d5e, 0x5d5e), - CodeunitRange(0x5d62, 0x5d63), - CodeunitRange(0x5d65, 0x5d65), - CodeunitRange(0x5d67, 0x5d69), - CodeunitRange(0x5d6b, 0x5d6c), - CodeunitRange(0x5d6f, 0x5d72), - CodeunitRange(0x5d74, 0x5d74), - CodeunitRange(0x5d77, 0x5d82), - CodeunitRange(0x5d84, 0x5d8b), - CodeunitRange(0x5d8d, 0x5d8e), - CodeunitRange(0x5d92, 0x5d95), - CodeunitRange(0x5d97, 0x5d97), - CodeunitRange(0x5d99, 0x5d9a), - CodeunitRange(0x5d9c, 0x5da2), - CodeunitRange(0x5da4, 0x5da4), - CodeunitRange(0x5da7, 0x5db2), - CodeunitRange(0x5db4, 0x5dba), - CodeunitRange(0x5dbc, 0x5dbd), - CodeunitRange(0x5dc0, 0x5dc3), - CodeunitRange(0x5dc6, 0x5dc7), - CodeunitRange(0x5dc9, 0x5dc9), - CodeunitRange(0x5dcb, 0x5dcb), - CodeunitRange(0x5dcd, 0x5dcd), - CodeunitRange(0x5dcf, 0x5dcf), - CodeunitRange(0x5dd1, 0x5dd2), - CodeunitRange(0x5dd4, 0x5dd8), - CodeunitRange(0x5ddb, 0x5ddb), - CodeunitRange(0x5ddd, 0x5de2), - CodeunitRange(0x5de5, 0x5de8), - CodeunitRange(0x5deb, 0x5deb), - CodeunitRange(0x5dee, 0x5dee), - CodeunitRange(0x5df0, 0x5df5), - CodeunitRange(0x5df7, 0x5df7), - CodeunitRange(0x5df9, 0x5df9), - CodeunitRange(0x5dfd, 0x5dff), - CodeunitRange(0x5e02, 0x5e04), - CodeunitRange(0x5e06, 0x5e06), - CodeunitRange(0x5e09, 0x5e0c), - CodeunitRange(0x5e0e, 0x5e0e), - CodeunitRange(0x5e11, 0x5e12), - CodeunitRange(0x5e14, 0x5e1b), - CodeunitRange(0x5e1d, 0x5e1d), - CodeunitRange(0x5e1f, 0x5e25), - CodeunitRange(0x5e28, 0x5e29), - CodeunitRange(0x5e2b, 0x5e2b), - CodeunitRange(0x5e2d, 0x5e2e), - CodeunitRange(0x5e33, 0x5e34), - CodeunitRange(0x5e36, 0x5e38), - CodeunitRange(0x5e3d, 0x5e3e), - CodeunitRange(0x5e40, 0x5e45), - CodeunitRange(0x5e48, 0x5e48), - CodeunitRange(0x5e4a, 0x5e4f), - CodeunitRange(0x5e53, 0x5e55), - CodeunitRange(0x5e57, 0x5e59), - CodeunitRange(0x5e5b, 0x5e63), - CodeunitRange(0x5e66, 0x5e70), - CodeunitRange(0x5e72, 0x5e76), - CodeunitRange(0x5e78, 0x5e80), - CodeunitRange(0x5e82, 0x5e84), - CodeunitRange(0x5e86, 0x5e8d), - CodeunitRange(0x5e8f, 0x5e8f), - CodeunitRange(0x5e92, 0x5e92), - CodeunitRange(0x5e95, 0x5e97), - CodeunitRange(0x5e99, 0x5e9c), - CodeunitRange(0x5ea0, 0x5ea0), - CodeunitRange(0x5ea2, 0x5ea8), - CodeunitRange(0x5eaa, 0x5eae), - CodeunitRange(0x5eb0, 0x5eb9), - CodeunitRange(0x5ebd, 0x5ebe), - CodeunitRange(0x5ec1, 0x5ec2), - CodeunitRange(0x5ec4, 0x5ece), - CodeunitRange(0x5ed0, 0x5ee3), - CodeunitRange(0x5ee5, 0x5ee9), - CodeunitRange(0x5eec, 0x5eec), - CodeunitRange(0x5eee, 0x5eef), - CodeunitRange(0x5ef1, 0x5ef4), - CodeunitRange(0x5ef6, 0x5efc), - CodeunitRange(0x5efe, 0x5eff), - CodeunitRange(0x5f01, 0x5f02), - CodeunitRange(0x5f04, 0x5f05), - CodeunitRange(0x5f07, 0x5f08), - CodeunitRange(0x5f0a, 0x5f0f), - CodeunitRange(0x5f12, 0x5f15), - CodeunitRange(0x5f17, 0x5f18), - CodeunitRange(0x5f1a, 0x5f1b), - CodeunitRange(0x5f1d, 0x5f1d), - CodeunitRange(0x5f1f, 0x5f1f), - CodeunitRange(0x5f22, 0x5f29), - CodeunitRange(0x5f2d, 0x5f2e), - CodeunitRange(0x5f30, 0x5f31), - CodeunitRange(0x5f33, 0x5f33), - CodeunitRange(0x5f35, 0x5f38), - CodeunitRange(0x5f3a, 0x5f3c), - CodeunitRange(0x5f40, 0x5f40), - CodeunitRange(0x5f43, 0x5f46), - CodeunitRange(0x5f48, 0x5f51), - CodeunitRange(0x5f54, 0x5f54), - CodeunitRange(0x5f56, 0x5f59), - CodeunitRange(0x5f5c, 0x5f5e), - CodeunitRange(0x5f61, 0x5f65), - CodeunitRange(0x5f67, 0x5f67), - CodeunitRange(0x5f69, 0x5f6d), - CodeunitRange(0x5f6f, 0x5f74), - CodeunitRange(0x5f76, 0x5f79), - CodeunitRange(0x5f7b, 0x5f83), - CodeunitRange(0x5f85, 0x5f8c), - CodeunitRange(0x5f90, 0x5f92), - CodeunitRange(0x5f96, 0x5f99), - CodeunitRange(0x5f9b, 0x5f9c), - CodeunitRange(0x5f9e, 0x5fa1), - CodeunitRange(0x5fa4, 0x5faf), - CodeunitRange(0x5fb1, 0x5fb2), - CodeunitRange(0x5fb5, 0x5fb7), - CodeunitRange(0x5fb9, 0x5fc5), - CodeunitRange(0x5fc9, 0x5fc9), - CodeunitRange(0x5fcc, 0x5fcd), - CodeunitRange(0x5fcf, 0x5fd2), - CodeunitRange(0x5fd4, 0x5fd9), - CodeunitRange(0x5fdb, 0x5fdb), - CodeunitRange(0x5fdd, 0x5fe1), - CodeunitRange(0x5fe3, 0x5fe5), - CodeunitRange(0x5fe8, 0x5fe8), - CodeunitRange(0x5fea, 0x5feb), - CodeunitRange(0x5fed, 0x5fef), - CodeunitRange(0x5ff1, 0x5ff1), - CodeunitRange(0x5ff3, 0x5ff5), - CodeunitRange(0x5ff7, 0x5ff8), - CodeunitRange(0x5ffa, 0x5ffb), - CodeunitRange(0x5ffd, 0x5ffd), - CodeunitRange(0x5fff, 0x6000), - CodeunitRange(0x6009, 0x6017), - CodeunitRange(0x6019, 0x601e), - CodeunitRange(0x6020, 0x602f), - CodeunitRange(0x6031, 0x6035), - CodeunitRange(0x6037, 0x6037), - CodeunitRange(0x6039, 0x6039), - CodeunitRange(0x603b, 0x603b), - CodeunitRange(0x6040, 0x6047), - CodeunitRange(0x6049, 0x604d), - CodeunitRange(0x6050, 0x6050), - CodeunitRange(0x6052, 0x6055), - CodeunitRange(0x6058, 0x605b), - CodeunitRange(0x605d, 0x605f), - CodeunitRange(0x6062, 0x6070), - CodeunitRange(0x6072, 0x6072), - CodeunitRange(0x6075, 0x6075), - CodeunitRange(0x6077, 0x6077), - CodeunitRange(0x607e, 0x6081), - CodeunitRange(0x6083, 0x608a), - CodeunitRange(0x608c, 0x608e), - CodeunitRange(0x6090, 0x6090), - CodeunitRange(0x6092, 0x6092), - CodeunitRange(0x6094, 0x6097), - CodeunitRange(0x609a, 0x60a0), - CodeunitRange(0x60a2, 0x60a4), - CodeunitRange(0x60a6, 0x60a8), - CodeunitRange(0x60b0, 0x60c1), - CodeunitRange(0x60c3, 0x60cf), - CodeunitRange(0x60d1, 0x60d1), - CodeunitRange(0x60d3, 0x60d5), - CodeunitRange(0x60d7, 0x60e4), - CodeunitRange(0x60e6, 0x60e9), - CodeunitRange(0x60f0, 0x6101), - CodeunitRange(0x6103, 0x6110), - CodeunitRange(0x6112, 0x6116), - CodeunitRange(0x6118, 0x611d), - CodeunitRange(0x611f, 0x6120), - CodeunitRange(0x6122, 0x6123), - CodeunitRange(0x6127, 0x6129), - CodeunitRange(0x612b, 0x612c), - CodeunitRange(0x612e, 0x6130), - CodeunitRange(0x6132, 0x6132), - CodeunitRange(0x6134, 0x6134), - CodeunitRange(0x6136, 0x6137), - CodeunitRange(0x613b, 0x613b), - CodeunitRange(0x613d, 0x6142), - CodeunitRange(0x6144, 0x6150), - CodeunitRange(0x6152, 0x6156), - CodeunitRange(0x6158, 0x6168), - CodeunitRange(0x616a, 0x616c), - CodeunitRange(0x616e, 0x6177), - CodeunitRange(0x6179, 0x617a), - CodeunitRange(0x617c, 0x617e), - CodeunitRange(0x6180, 0x6183), - CodeunitRange(0x6187, 0x6187), - CodeunitRange(0x6189, 0x618e), - CodeunitRange(0x6190, 0x6196), - CodeunitRange(0x6198, 0x619d), - CodeunitRange(0x619f, 0x619f), - CodeunitRange(0x61a1, 0x61a2), - CodeunitRange(0x61a4, 0x61a4), - CodeunitRange(0x61a7, 0x61ba), - CodeunitRange(0x61bc, 0x61bc), - CodeunitRange(0x61be, 0x61c3), - CodeunitRange(0x61c5, 0x61cd), - CodeunitRange(0x61cf, 0x61d0), - CodeunitRange(0x61d3, 0x61d3), - CodeunitRange(0x61d6, 0x61d6), - CodeunitRange(0x61d8, 0x61d8), - CodeunitRange(0x61da, 0x61da), - CodeunitRange(0x61de, 0x61e0), - CodeunitRange(0x61e2, 0x61eb), - CodeunitRange(0x61ed, 0x61ee), - CodeunitRange(0x61f0, 0x61f2), - CodeunitRange(0x61f5, 0x6201), - CodeunitRange(0x6203, 0x6204), - CodeunitRange(0x6207, 0x620a), - CodeunitRange(0x620c, 0x620e), - CodeunitRange(0x6210, 0x6212), - CodeunitRange(0x6214, 0x6216), - CodeunitRange(0x6219, 0x621b), - CodeunitRange(0x621f, 0x6225), - CodeunitRange(0x6227, 0x6227), - CodeunitRange(0x6229, 0x622e), - CodeunitRange(0x6230, 0x6230), - CodeunitRange(0x6232, 0x6234), - CodeunitRange(0x6236, 0x6237), - CodeunitRange(0x6239, 0x623a), - CodeunitRange(0x623d, 0x6243), - CodeunitRange(0x6246, 0x624e), - CodeunitRange(0x6250, 0x6254), - CodeunitRange(0x6258, 0x625c), - CodeunitRange(0x625e, 0x625e), - CodeunitRange(0x6260, 0x6266), - CodeunitRange(0x6268, 0x6268), - CodeunitRange(0x626d, 0x6274), - CodeunitRange(0x6276, 0x6277), - CodeunitRange(0x6279, 0x628a), - CodeunitRange(0x628c, 0x628c), - CodeunitRange(0x628e, 0x6298), - CodeunitRange(0x629d, 0x629d), - CodeunitRange(0x62a4, 0x62a4), - CodeunitRange(0x62a6, 0x62a6), - CodeunitRange(0x62a8, 0x62b1), - CodeunitRange(0x62b3, 0x62b6), - CodeunitRange(0x62b8, 0x62b9), - CodeunitRange(0x62bb, 0x62bf), - CodeunitRange(0x62c1, 0x62dc), - CodeunitRange(0x62df, 0x62df), - CodeunitRange(0x62e5, 0x62e5), - CodeunitRange(0x62eb, 0x6303), - CodeunitRange(0x6307, 0x6309), - CodeunitRange(0x630b, 0x6311), - CodeunitRange(0x6313, 0x6316), - CodeunitRange(0x6318, 0x6318), - CodeunitRange(0x6328, 0x632f), - CodeunitRange(0x6331, 0x633e), - CodeunitRange(0x6340, 0x6351), - CodeunitRange(0x6354, 0x635a), - CodeunitRange(0x635d, 0x635d), - CodeunitRange(0x6364, 0x6365), - CodeunitRange(0x6367, 0x6369), - CodeunitRange(0x636b, 0x6372), - CodeunitRange(0x6375, 0x637d), - CodeunitRange(0x637f, 0x6385), - CodeunitRange(0x6387, 0x6392), - CodeunitRange(0x6394, 0x6394), - CodeunitRange(0x6396, 0x6399), - CodeunitRange(0x639b, 0x63a5), - CodeunitRange(0x63a7, 0x63b1), - CodeunitRange(0x63b9, 0x63b9), - CodeunitRange(0x63bd, 0x63be), - CodeunitRange(0x63c0, 0x63d3), - CodeunitRange(0x63d5, 0x63eb), - CodeunitRange(0x63ed, 0x63f6), - CodeunitRange(0x63f8, 0x63f9), - CodeunitRange(0x63fb, 0x63fc), - CodeunitRange(0x63fe, 0x63fe), - CodeunitRange(0x6406, 0x6407), - CodeunitRange(0x6409, 0x6410), - CodeunitRange(0x6412, 0x6418), - CodeunitRange(0x641a, 0x641c), - CodeunitRange(0x641e, 0x6428), - CodeunitRange(0x642a, 0x6430), - CodeunitRange(0x6432, 0x643b), - CodeunitRange(0x643d, 0x6441), - CodeunitRange(0x6443, 0x6443), - CodeunitRange(0x644b, 0x644b), - CodeunitRange(0x644d, 0x644e), - CodeunitRange(0x6450, 0x6454), - CodeunitRange(0x6458, 0x6461), - CodeunitRange(0x6465, 0x6469), - CodeunitRange(0x646b, 0x647d), - CodeunitRange(0x647f, 0x647f), - CodeunitRange(0x6482, 0x6482), - CodeunitRange(0x6485, 0x6485), - CodeunitRange(0x6487, 0x648d), - CodeunitRange(0x648f, 0x6493), - CodeunitRange(0x6495, 0x649a), - CodeunitRange(0x649c, 0x64a0), - CodeunitRange(0x64a2, 0x64a6), - CodeunitRange(0x64a9, 0x64a9), - CodeunitRange(0x64ab, 0x64b4), - CodeunitRange(0x64b6, 0x64b6), - CodeunitRange(0x64bb, 0x64c5), - CodeunitRange(0x64c7, 0x64c7), - CodeunitRange(0x64c9, 0x64cb), - CodeunitRange(0x64cd, 0x64d0), - CodeunitRange(0x64d2, 0x64d4), - CodeunitRange(0x64d6, 0x64db), - CodeunitRange(0x64dd, 0x64dd), - CodeunitRange(0x64e0, 0x64ed), - CodeunitRange(0x64ef, 0x64f4), - CodeunitRange(0x64f7, 0x64f8), - CodeunitRange(0x64fa, 0x6501), - CodeunitRange(0x6503, 0x6504), - CodeunitRange(0x6506, 0x6507), - CodeunitRange(0x6509, 0x650a), - CodeunitRange(0x650c, 0x6511), - CodeunitRange(0x6513, 0x6519), - CodeunitRange(0x651b, 0x6526), - CodeunitRange(0x6529, 0x6530), - CodeunitRange(0x6532, 0x6539), - CodeunitRange(0x653b, 0x653b), - CodeunitRange(0x653d, 0x653f), - CodeunitRange(0x6541, 0x6541), - CodeunitRange(0x6543, 0x6543), - CodeunitRange(0x6545, 0x6546), - CodeunitRange(0x6548, 0x654a), - CodeunitRange(0x654d, 0x654d), - CodeunitRange(0x654f, 0x654f), - CodeunitRange(0x6551, 0x6551), - CodeunitRange(0x6553, 0x655a), - CodeunitRange(0x655c, 0x655f), - CodeunitRange(0x6562, 0x6568), - CodeunitRange(0x656a, 0x656d), - CodeunitRange(0x656f, 0x656f), - CodeunitRange(0x6572, 0x657c), - CodeunitRange(0x657f, 0x6589), - CodeunitRange(0x658b, 0x658c), - CodeunitRange(0x6590, 0x6592), - CodeunitRange(0x6594, 0x6597), - CodeunitRange(0x6599, 0x6599), - CodeunitRange(0x659b, 0x65a2), - CodeunitRange(0x65a4, 0x65a5), - CodeunitRange(0x65a7, 0x65a8), - CodeunitRange(0x65aa, 0x65ac), - CodeunitRange(0x65ae, 0x65b0), - CodeunitRange(0x65b2, 0x65b3), - CodeunitRange(0x65b5, 0x65b9), - CodeunitRange(0x65bb, 0x65bf), - CodeunitRange(0x65c1, 0x65c6), - CodeunitRange(0x65cb, 0x65d4), - CodeunitRange(0x65d6, 0x65d7), - CodeunitRange(0x65da, 0x65db), - CodeunitRange(0x65dd, 0x65e3), - CodeunitRange(0x65e5, 0x65e6), - CodeunitRange(0x65e8, 0x65e9), - CodeunitRange(0x65ec, 0x65f5), - CodeunitRange(0x65fa, 0x65fd), - CodeunitRange(0x65ff, 0x6600), - CodeunitRange(0x6602, 0x6615), - CodeunitRange(0x6618, 0x6618), - CodeunitRange(0x661c, 0x6628), - CodeunitRange(0x662b, 0x662b), - CodeunitRange(0x662d, 0x6636), - CodeunitRange(0x6639, 0x663a), - CodeunitRange(0x6641, 0x6645), - CodeunitRange(0x6647, 0x664d), - CodeunitRange(0x664f, 0x664f), - CodeunitRange(0x6651, 0x6653), - CodeunitRange(0x6657, 0x6657), - CodeunitRange(0x6659, 0x6668), - CodeunitRange(0x666a, 0x666c), - CodeunitRange(0x666e, 0x6674), - CodeunitRange(0x6676, 0x667e), - CodeunitRange(0x6680, 0x6680), - CodeunitRange(0x6684, 0x668e), - CodeunitRange(0x6690, 0x6692), - CodeunitRange(0x6694, 0x669a), - CodeunitRange(0x669d, 0x669d), - CodeunitRange(0x669f, 0x66a2), - CodeunitRange(0x66a4, 0x66a4), - CodeunitRange(0x66a8, 0x66ab), - CodeunitRange(0x66ad, 0x66bb), - CodeunitRange(0x66bd, 0x66c0), - CodeunitRange(0x66c4, 0x66c4), - CodeunitRange(0x66c6, 0x66cf), - CodeunitRange(0x66d2, 0x66d2), - CodeunitRange(0x66d6, 0x66d6), - CodeunitRange(0x66d8, 0x66de), - CodeunitRange(0x66e0, 0x66e0), - CodeunitRange(0x66e3, 0x66e4), - CodeunitRange(0x66e6, 0x66e9), - CodeunitRange(0x66eb, 0x66ee), - CodeunitRange(0x66f0, 0x66f4), - CodeunitRange(0x66f6, 0x66f9), - CodeunitRange(0x66fc, 0x66fc), - CodeunitRange(0x66fe, 0x6705), - CodeunitRange(0x6708, 0x6710), - CodeunitRange(0x6712, 0x6719), - CodeunitRange(0x671b, 0x671b), - CodeunitRange(0x671d, 0x6723), - CodeunitRange(0x6725, 0x6728), - CodeunitRange(0x672a, 0x672e), - CodeunitRange(0x6731, 0x6731), - CodeunitRange(0x6733, 0x6736), - CodeunitRange(0x6738, 0x673f), - CodeunitRange(0x6744, 0x6749), - CodeunitRange(0x674b, 0x6751), - CodeunitRange(0x6753, 0x6753), - CodeunitRange(0x6755, 0x6757), - CodeunitRange(0x6759, 0x675a), - CodeunitRange(0x675c, 0x6762), - CodeunitRange(0x6767, 0x6767), - CodeunitRange(0x676a, 0x677f), - CodeunitRange(0x6781, 0x6787), - CodeunitRange(0x6789, 0x6789), - CodeunitRange(0x678b, 0x6795), - CodeunitRange(0x6797, 0x679a), - CodeunitRange(0x679c, 0x679d), - CodeunitRange(0x679f, 0x67a0), - CodeunitRange(0x67a4, 0x67a4), - CodeunitRange(0x67ac, 0x67ac), - CodeunitRange(0x67ae, 0x67bb), - CodeunitRange(0x67bf, 0x67c6), - CodeunitRange(0x67c8, 0x67d4), - CodeunitRange(0x67d6, 0x67df), - CodeunitRange(0x67e2, 0x67e7), - CodeunitRange(0x67e9, 0x67fa), - CodeunitRange(0x67fc, 0x67fc), - CodeunitRange(0x67fe, 0x6804), - CodeunitRange(0x680d, 0x680d), - CodeunitRange(0x6810, 0x6810), - CodeunitRange(0x6812, 0x6814), - CodeunitRange(0x6816, 0x6818), - CodeunitRange(0x681a, 0x6822), - CodeunitRange(0x6825, 0x6826), - CodeunitRange(0x6828, 0x682b), - CodeunitRange(0x682d, 0x682f), - CodeunitRange(0x6831, 0x683e), - CodeunitRange(0x6840, 0x6851), - CodeunitRange(0x6853, 0x6856), - CodeunitRange(0x685d, 0x685d), - CodeunitRange(0x6865, 0x6865), - CodeunitRange(0x686b, 0x686b), - CodeunitRange(0x686d, 0x686f), - CodeunitRange(0x6871, 0x6872), - CodeunitRange(0x6874, 0x6879), - CodeunitRange(0x687b, 0x688c), - CodeunitRange(0x688f, 0x6894), - CodeunitRange(0x6896, 0x6898), - CodeunitRange(0x689b, 0x689d), - CodeunitRange(0x689f, 0x68a4), - CodeunitRange(0x68a6, 0x68b6), - CodeunitRange(0x68b9, 0x68b9), - CodeunitRange(0x68bd, 0x68bd), - CodeunitRange(0x68c1, 0x68c1), - CodeunitRange(0x68c3, 0x68ce), - CodeunitRange(0x68d0, 0x68d8), - CodeunitRange(0x68da, 0x68da), - CodeunitRange(0x68dc, 0x68e1), - CodeunitRange(0x68e3, 0x68e4), - CodeunitRange(0x68e6, 0x68ec), - CodeunitRange(0x68ee, 0x68fd), - CodeunitRange(0x6900, 0x6915), - CodeunitRange(0x6917, 0x691b), - CodeunitRange(0x6925, 0x6925), - CodeunitRange(0x692a, 0x692a), - CodeunitRange(0x692c, 0x692c), - CodeunitRange(0x692f, 0x6930), - CodeunitRange(0x6932, 0x6939), - CodeunitRange(0x693b, 0x6946), - CodeunitRange(0x6948, 0x694c), - CodeunitRange(0x694e, 0x694f), - CodeunitRange(0x6951, 0x697b), - CodeunitRange(0x6980, 0x6980), - CodeunitRange(0x6982, 0x6983), - CodeunitRange(0x6985, 0x6986), - CodeunitRange(0x698a, 0x698a), - CodeunitRange(0x698d, 0x698e), - CodeunitRange(0x6990, 0x6991), - CodeunitRange(0x6993, 0x699c), - CodeunitRange(0x699e, 0x69b7), - CodeunitRange(0x69b9, 0x69b9), - CodeunitRange(0x69bb, 0x69c4), - CodeunitRange(0x69c6, 0x69c6), - CodeunitRange(0x69c9, 0x69d1), - CodeunitRange(0x69d3, 0x69d6), - CodeunitRange(0x69d9, 0x69d9), - CodeunitRange(0x69e1, 0x69e2), - CodeunitRange(0x69e4, 0x69e9), - CodeunitRange(0x69eb, 0x69ee), - CodeunitRange(0x69f1, 0x69f4), - CodeunitRange(0x69f6, 0x6a0d), - CodeunitRange(0x6a0f, 0x6a0f), - CodeunitRange(0x6a11, 0x6a11), - CodeunitRange(0x6a13, 0x6a21), - CodeunitRange(0x6a23, 0x6a23), - CodeunitRange(0x6a25, 0x6a29), - CodeunitRange(0x6a2b, 0x6a2d), - CodeunitRange(0x6a32, 0x6a35), - CodeunitRange(0x6a38, 0x6a41), - CodeunitRange(0x6a43, 0x6a49), - CodeunitRange(0x6a4b, 0x6a5b), - CodeunitRange(0x6a5d, 0x6a6b), - CodeunitRange(0x6a6d, 0x6a6d), - CodeunitRange(0x6a6f, 0x6a6f), - CodeunitRange(0x6a71, 0x6a71), - CodeunitRange(0x6a74, 0x6a74), - CodeunitRange(0x6a76, 0x6a76), - CodeunitRange(0x6a7a, 0x6a7a), - CodeunitRange(0x6a7e, 0x6a85), - CodeunitRange(0x6a87, 0x6a87), - CodeunitRange(0x6a89, 0x6a8a), - CodeunitRange(0x6a8c, 0x6a97), - CodeunitRange(0x6a99, 0x6aa8), - CodeunitRange(0x6aab, 0x6aaf), - CodeunitRange(0x6ab1, 0x6abb), - CodeunitRange(0x6abd, 0x6abe), - CodeunitRange(0x6ac2, 0x6ac3), - CodeunitRange(0x6ac5, 0x6acd), - CodeunitRange(0x6acf, 0x6ad1), - CodeunitRange(0x6ad3, 0x6ad4), - CodeunitRange(0x6ad8, 0x6ae1), - CodeunitRange(0x6ae5, 0x6ae5), - CodeunitRange(0x6ae7, 0x6ae8), - CodeunitRange(0x6aea, 0x6aec), - CodeunitRange(0x6aee, 0x6af1), - CodeunitRange(0x6af3, 0x6af3), - CodeunitRange(0x6af6, 0x6af6), - CodeunitRange(0x6af8, 0x6afc), - CodeunitRange(0x6b00, 0x6b00), - CodeunitRange(0x6b02, 0x6b05), - CodeunitRange(0x6b08, 0x6b0b), - CodeunitRange(0x6b0f, 0x6b13), - CodeunitRange(0x6b16, 0x6b1a), - CodeunitRange(0x6b1d, 0x6b1e), - CodeunitRange(0x6b20, 0x6b21), - CodeunitRange(0x6b23, 0x6b23), - CodeunitRange(0x6b25, 0x6b25), - CodeunitRange(0x6b28, 0x6b28), - CodeunitRange(0x6b2c, 0x6b2d), - CodeunitRange(0x6b2f, 0x6b2f), - CodeunitRange(0x6b31, 0x6b3f), - CodeunitRange(0x6b41, 0x6b43), - CodeunitRange(0x6b45, 0x6b4e), - CodeunitRange(0x6b50, 0x6b52), - CodeunitRange(0x6b54, 0x6b57), - CodeunitRange(0x6b59, 0x6b59), - CodeunitRange(0x6b5b, 0x6b5c), - CodeunitRange(0x6b5e, 0x6b67), - CodeunitRange(0x6b6a, 0x6b6a), - CodeunitRange(0x6b6d, 0x6b6d), - CodeunitRange(0x6b6f, 0x6b6f), - CodeunitRange(0x6b72, 0x6b72), - CodeunitRange(0x6b74, 0x6b74), - CodeunitRange(0x6b76, 0x6b7b), - CodeunitRange(0x6b7e, 0x6b84), - CodeunitRange(0x6b86, 0x6b86), - CodeunitRange(0x6b88, 0x6b8a), - CodeunitRange(0x6b8c, 0x6b8f), - CodeunitRange(0x6b91, 0x6b91), - CodeunitRange(0x6b94, 0x6b99), - CodeunitRange(0x6b9b, 0x6b9b), - CodeunitRange(0x6b9e, 0x6ba0), - CodeunitRange(0x6ba2, 0x6ba7), - CodeunitRange(0x6baa, 0x6bab), - CodeunitRange(0x6bad, 0x6bb0), - CodeunitRange(0x6bb2, 0x6bb3), - CodeunitRange(0x6bb5, 0x6bb7), - CodeunitRange(0x6bba, 0x6bba), - CodeunitRange(0x6bbc, 0x6bbd), - CodeunitRange(0x6bbf, 0x6bc1), - CodeunitRange(0x6bc3, 0x6bcd), - CodeunitRange(0x6bcf, 0x6bd0), - CodeunitRange(0x6bd2, 0x6bd4), - CodeunitRange(0x6bd6, 0x6bd8), - CodeunitRange(0x6bda, 0x6bdc), - CodeunitRange(0x6bde, 0x6bde), - CodeunitRange(0x6be0, 0x6be4), - CodeunitRange(0x6be6, 0x6be8), - CodeunitRange(0x6bea, 0x6bec), - CodeunitRange(0x6bef, 0x6bf0), - CodeunitRange(0x6bf2, 0x6bf3), - CodeunitRange(0x6bf7, 0x6c06), - CodeunitRange(0x6c08, 0x6c09), - CodeunitRange(0x6c0b, 0x6c0d), - CodeunitRange(0x6c0f, 0x6c11), - CodeunitRange(0x6c13, 0x6c16), - CodeunitRange(0x6c18, 0x6c1d), - CodeunitRange(0x6c1f, 0x6c21), - CodeunitRange(0x6c23, 0x6c28), - CodeunitRange(0x6c2a, 0x6c2c), - CodeunitRange(0x6c2e, 0x6c3b), - CodeunitRange(0x6c3d, 0x6c43), - CodeunitRange(0x6c46, 0x6c46), - CodeunitRange(0x6c49, 0x6c50), - CodeunitRange(0x6c52, 0x6c52), - CodeunitRange(0x6c54, 0x6c55), - CodeunitRange(0x6c57, 0x6c61), - CodeunitRange(0x6c65, 0x6c6b), - CodeunitRange(0x6c6d, 0x6c76), - CodeunitRange(0x6c78, 0x6c7b), - CodeunitRange(0x6c7d, 0x6c90), - CodeunitRange(0x6c92, 0x6c96), - CodeunitRange(0x6c98, 0x6c9d), - CodeunitRange(0x6c9f, 0x6c9f), - CodeunitRange(0x6ca2, 0x6ca2), - CodeunitRange(0x6caa, 0x6cb4), - CodeunitRange(0x6cb6, 0x6cc7), - CodeunitRange(0x6cc9, 0x6cd7), - CodeunitRange(0x6cd9, 0x6ce3), - CodeunitRange(0x6ce5, 0x6ce5), - CodeunitRange(0x6ce7, 0x6cf3), - CodeunitRange(0x6cf5, 0x6cf5), - CodeunitRange(0x6cf9, 0x6cf9), - CodeunitRange(0x6cff, 0x6d12), - CodeunitRange(0x6d16, 0x6d1b), - CodeunitRange(0x6d1d, 0x6d20), - CodeunitRange(0x6d22, 0x6d22), - CodeunitRange(0x6d24, 0x6d42), - CodeunitRange(0x6d4e, 0x6d4e), - CodeunitRange(0x6d57, 0x6d5c), - CodeunitRange(0x6d5e, 0x6d6a), - CodeunitRange(0x6d6c, 0x6d72), - CodeunitRange(0x6d74, 0x6d98), - CodeunitRange(0x6d9a, 0x6d9a), - CodeunitRange(0x6da4, 0x6da5), - CodeunitRange(0x6daa, 0x6dac), - CodeunitRange(0x6dae, 0x6daf), - CodeunitRange(0x6db1, 0x6db5), - CodeunitRange(0x6db7, 0x6dc0), - CodeunitRange(0x6dc2, 0x6dc2), - CodeunitRange(0x6dc4, 0x6dcd), - CodeunitRange(0x6dcf, 0x6de6), - CodeunitRange(0x6de8, 0x6df7), - CodeunitRange(0x6df9, 0x6dfe), - CodeunitRange(0x6e00, 0x6e00), - CodeunitRange(0x6e02, 0x6e05), - CodeunitRange(0x6e0a, 0x6e0a), - CodeunitRange(0x6e0f, 0x6e0f), - CodeunitRange(0x6e15, 0x6e15), - CodeunitRange(0x6e18, 0x6e1d), - CodeunitRange(0x6e1f, 0x6e36), - CodeunitRange(0x6e38, 0x6e41), - CodeunitRange(0x6e43, 0x6e47), - CodeunitRange(0x6e49, 0x6e4b), - CodeunitRange(0x6e4d, 0x6e69), - CodeunitRange(0x6e6b, 0x6e6b), - CodeunitRange(0x6e6e, 0x6e6f), - CodeunitRange(0x6e71, 0x6e74), - CodeunitRange(0x6e76, 0x6e79), - CodeunitRange(0x6e7c, 0x6e7c), - CodeunitRange(0x6e86, 0x6e86), - CodeunitRange(0x6e88, 0x6e89), - CodeunitRange(0x6e8b, 0x6e8b), - CodeunitRange(0x6e8d, 0x6e90), - CodeunitRange(0x6e92, 0x6e94), - CodeunitRange(0x6e96, 0x6ea7), - CodeunitRange(0x6eaa, 0x6eab), - CodeunitRange(0x6eae, 0x6ed6), - CodeunitRange(0x6ed8, 0x6edd), - CodeunitRange(0x6ee2, 0x6ee2), - CodeunitRange(0x6ee8, 0x6ee9), - CodeunitRange(0x6eeb, 0x6eef), - CodeunitRange(0x6ef1, 0x6ef2), - CodeunitRange(0x6ef4, 0x6f0f), - CodeunitRange(0x6f12, 0x6f1a), - CodeunitRange(0x6f1c, 0x6f1c), - CodeunitRange(0x6f1e, 0x6f27), - CodeunitRange(0x6f29, 0x6f41), - CodeunitRange(0x6f43, 0x6f44), - CodeunitRange(0x6f4e, 0x6f58), - CodeunitRange(0x6f5a, 0x6f64), - CodeunitRange(0x6f66, 0x6f67), - CodeunitRange(0x6f69, 0x6f70), - CodeunitRange(0x6f72, 0x6f74), - CodeunitRange(0x6f76, 0x6f82), - CodeunitRange(0x6f84, 0x6f8e), - CodeunitRange(0x6f90, 0x6f90), - CodeunitRange(0x6f92, 0x6f97), - CodeunitRange(0x6f9d, 0x6fb6), - CodeunitRange(0x6fb8, 0x6fc4), - CodeunitRange(0x6fc6, 0x6fcf), - CodeunitRange(0x6fd3, 0x6fd5), - CodeunitRange(0x6fd8, 0x6fe4), - CodeunitRange(0x6fe6, 0x6fe9), - CodeunitRange(0x6feb, 0x6ff2), - CodeunitRange(0x6ff4, 0x6ff4), - CodeunitRange(0x6ff6, 0x6ff8), - CodeunitRange(0x6ffa, 0x6ffc), - CodeunitRange(0x6ffe, 0x7001), - CodeunitRange(0x7003, 0x7007), - CodeunitRange(0x7009, 0x700f), - CodeunitRange(0x7011, 0x7011), - CodeunitRange(0x7014, 0x7024), - CodeunitRange(0x7026, 0x702c), - CodeunitRange(0x702f, 0x7035), - CodeunitRange(0x7037, 0x703c), - CodeunitRange(0x703e, 0x7046), - CodeunitRange(0x7048, 0x704d), - CodeunitRange(0x7050, 0x7052), - CodeunitRange(0x7054, 0x7058), - CodeunitRange(0x705a, 0x706c), - CodeunitRange(0x706e, 0x7071), - CodeunitRange(0x7074, 0x707a), - CodeunitRange(0x707c, 0x707f), - CodeunitRange(0x7081, 0x7086), - CodeunitRange(0x7089, 0x708b), - CodeunitRange(0x708e, 0x708f), - CodeunitRange(0x7091, 0x7096), - CodeunitRange(0x7098, 0x709a), - CodeunitRange(0x709f, 0x70a1), - CodeunitRange(0x70a3, 0x70a7), - CodeunitRange(0x70a9, 0x70a9), - CodeunitRange(0x70ab, 0x70b1), - CodeunitRange(0x70b3, 0x70b5), - CodeunitRange(0x70b7, 0x70be), - CodeunitRange(0x70c0, 0x70c0), - CodeunitRange(0x70c4, 0x70c8), - CodeunitRange(0x70ca, 0x70da), - CodeunitRange(0x70dc, 0x70e2), - CodeunitRange(0x70e4, 0x70e4), - CodeunitRange(0x70ef, 0x70f1), - CodeunitRange(0x70f3, 0x7100), - CodeunitRange(0x7102, 0x7102), - CodeunitRange(0x7104, 0x7106), - CodeunitRange(0x7109, 0x710e), - CodeunitRange(0x7110, 0x7110), - CodeunitRange(0x7113, 0x7113), - CodeunitRange(0x7117, 0x7117), - CodeunitRange(0x7119, 0x7123), - CodeunitRange(0x7125, 0x7126), - CodeunitRange(0x7128, 0x7129), - CodeunitRange(0x712b, 0x712c), - CodeunitRange(0x712e, 0x7136), - CodeunitRange(0x713a, 0x713b), - CodeunitRange(0x713e, 0x713e), - CodeunitRange(0x7140, 0x7147), - CodeunitRange(0x7149, 0x7154), - CodeunitRange(0x7156, 0x715a), - CodeunitRange(0x715c, 0x716c), - CodeunitRange(0x716e, 0x716e), - CodeunitRange(0x7170, 0x7178), - CodeunitRange(0x717a, 0x717e), - CodeunitRange(0x7180, 0x7182), - CodeunitRange(0x7184, 0x718a), - CodeunitRange(0x718c, 0x718c), - CodeunitRange(0x718e, 0x7192), - CodeunitRange(0x7194, 0x7194), - CodeunitRange(0x7196, 0x71a5), - CodeunitRange(0x71a7, 0x71aa), - CodeunitRange(0x71ac, 0x71ad), - CodeunitRange(0x71af, 0x71b5), - CodeunitRange(0x71b7, 0x71ba), - CodeunitRange(0x71bc, 0x71cb), - CodeunitRange(0x71ce, 0x71d2), - CodeunitRange(0x71d4, 0x71d6), - CodeunitRange(0x71d8, 0x71dd), - CodeunitRange(0x71df, 0x71e2), - CodeunitRange(0x71e4, 0x71e8), - CodeunitRange(0x71eb, 0x71ee), - CodeunitRange(0x71f0, 0x71f2), - CodeunitRange(0x71f4, 0x71f6), - CodeunitRange(0x71f8, 0x71f9), - CodeunitRange(0x71fb, 0x7203), - CodeunitRange(0x7205, 0x7207), - CodeunitRange(0x7209, 0x720a), - CodeunitRange(0x720c, 0x7210), - CodeunitRange(0x7213, 0x7217), - CodeunitRange(0x7219, 0x721b), - CodeunitRange(0x721d, 0x721f), - CodeunitRange(0x7222, 0x722e), - CodeunitRange(0x7230, 0x7230), - CodeunitRange(0x7235, 0x7236), - CodeunitRange(0x7238, 0x723b), - CodeunitRange(0x723d, 0x7242), - CodeunitRange(0x7244, 0x7244), - CodeunitRange(0x7246, 0x724c), - CodeunitRange(0x724f, 0x7250), - CodeunitRange(0x7252, 0x7253), - CodeunitRange(0x7255, 0x7263), - CodeunitRange(0x7266, 0x7267), - CodeunitRange(0x7269, 0x726a), - CodeunitRange(0x726c, 0x726c), - CodeunitRange(0x726e, 0x7270), - CodeunitRange(0x7272, 0x7274), - CodeunitRange(0x7276, 0x7279), - CodeunitRange(0x727b, 0x7282), - CodeunitRange(0x7284, 0x7289), - CodeunitRange(0x728b, 0x7298), - CodeunitRange(0x729a, 0x729b), - CodeunitRange(0x729d, 0x729f), - CodeunitRange(0x72a1, 0x72aa), - CodeunitRange(0x72ac, 0x72b0), - CodeunitRange(0x72b2, 0x72b2), - CodeunitRange(0x72b4, 0x72b5), - CodeunitRange(0x72ba, 0x72ba), - CodeunitRange(0x72bd, 0x72bd), - CodeunitRange(0x72bf, 0x72c6), - CodeunitRange(0x72c9, 0x72ce), - CodeunitRange(0x72d0, 0x72d2), - CodeunitRange(0x72d4, 0x72d4), - CodeunitRange(0x72d6, 0x72da), - CodeunitRange(0x72dc, 0x72dc), - CodeunitRange(0x72df, 0x72e4), - CodeunitRange(0x72e6, 0x72e6), - CodeunitRange(0x72e8, 0x72eb), - CodeunitRange(0x72f3, 0x72f4), - CodeunitRange(0x72f6, 0x7302), - CodeunitRange(0x7304, 0x7304), - CodeunitRange(0x7307, 0x7308), - CodeunitRange(0x730a, 0x730c), - CodeunitRange(0x730f, 0x7313), - CodeunitRange(0x7316, 0x7319), - CodeunitRange(0x731b, 0x731e), - CodeunitRange(0x7322, 0x7323), - CodeunitRange(0x7325, 0x732e), - CodeunitRange(0x7330, 0x733c), - CodeunitRange(0x733e, 0x7345), - CodeunitRange(0x7348, 0x734a), - CodeunitRange(0x734c, 0x7352), - CodeunitRange(0x7357, 0x735b), - CodeunitRange(0x735d, 0x7362), - CodeunitRange(0x7365, 0x736c), - CodeunitRange(0x736e, 0x7378), - CodeunitRange(0x737a, 0x738c), - CodeunitRange(0x738e, 0x738f), - CodeunitRange(0x7392, 0x7398), - CodeunitRange(0x739c, 0x73a2), - CodeunitRange(0x73a4, 0x73ad), - CodeunitRange(0x73b2, 0x73bc), - CodeunitRange(0x73be, 0x73c0), - CodeunitRange(0x73c2, 0x73d0), - CodeunitRange(0x73d2, 0x73de), - CodeunitRange(0x73e0, 0x73eb), - CodeunitRange(0x73ed, 0x73ef), - CodeunitRange(0x73f3, 0x740d), - CodeunitRange(0x7411, 0x7412), - CodeunitRange(0x7414, 0x7417), - CodeunitRange(0x7419, 0x7426), - CodeunitRange(0x7428, 0x743a), - CodeunitRange(0x743c, 0x743c), - CodeunitRange(0x743f, 0x7457), - CodeunitRange(0x7459, 0x7465), - CodeunitRange(0x7467, 0x7476), - CodeunitRange(0x7479, 0x747a), - CodeunitRange(0x747c, 0x7483), - CodeunitRange(0x7485, 0x748d), - CodeunitRange(0x7490, 0x7490), - CodeunitRange(0x7492, 0x7492), - CodeunitRange(0x7494, 0x7495), - CodeunitRange(0x7497, 0x74a1), - CodeunitRange(0x74a3, 0x74ab), - CodeunitRange(0x74ad, 0x74ad), - CodeunitRange(0x74af, 0x74b2), - CodeunitRange(0x74b4, 0x74bb), - CodeunitRange(0x74bd, 0x74c3), - CodeunitRange(0x74c5, 0x74c6), - CodeunitRange(0x74c8, 0x74c8), - CodeunitRange(0x74ca, 0x74cc), - CodeunitRange(0x74cf, 0x74d0), - CodeunitRange(0x74d3, 0x74e9), - CodeunitRange(0x74ec, 0x74ec), - CodeunitRange(0x74ee, 0x74ee), - CodeunitRange(0x74f0, 0x74f2), - CodeunitRange(0x74f4, 0x74f8), - CodeunitRange(0x74fb, 0x74fb), - CodeunitRange(0x74fd, 0x7500), - CodeunitRange(0x7502, 0x7505), - CodeunitRange(0x7507, 0x7508), - CodeunitRange(0x750b, 0x751a), - CodeunitRange(0x751c, 0x751f), - CodeunitRange(0x7521, 0x7522), - CodeunitRange(0x7525, 0x7526), - CodeunitRange(0x7528, 0x7535), - CodeunitRange(0x7537, 0x753b), - CodeunitRange(0x753d, 0x7540), - CodeunitRange(0x7542, 0x7542), - CodeunitRange(0x7546, 0x7548), - CodeunitRange(0x754a, 0x754f), - CodeunitRange(0x7551, 0x7551), - CodeunitRange(0x7553, 0x7555), - CodeunitRange(0x7559, 0x755d), - CodeunitRange(0x755f, 0x7560), - CodeunitRange(0x7562, 0x7567), - CodeunitRange(0x756a, 0x7570), - CodeunitRange(0x7572, 0x7572), - CodeunitRange(0x7576, 0x757a), - CodeunitRange(0x757d, 0x7580), - CodeunitRange(0x7583, 0x7584), - CodeunitRange(0x7586, 0x7587), - CodeunitRange(0x758a, 0x7592), - CodeunitRange(0x7594, 0x7595), - CodeunitRange(0x7598, 0x759a), - CodeunitRange(0x759d, 0x759e), - CodeunitRange(0x75a2, 0x75a5), - CodeunitRange(0x75a7, 0x75a7), - CodeunitRange(0x75aa, 0x75ab), - CodeunitRange(0x75b0, 0x75b6), - CodeunitRange(0x75b8, 0x75c5), - CodeunitRange(0x75c7, 0x75c8), - CodeunitRange(0x75ca, 0x75d2), - CodeunitRange(0x75d4, 0x75d5), - CodeunitRange(0x75d7, 0x75e4), - CodeunitRange(0x75e6, 0x75e7), - CodeunitRange(0x75ed, 0x75ed), - CodeunitRange(0x75ef, 0x7603), - CodeunitRange(0x7607, 0x760d), - CodeunitRange(0x760f, 0x7611), - CodeunitRange(0x7613, 0x7616), - CodeunitRange(0x7619, 0x7629), - CodeunitRange(0x762c, 0x762d), - CodeunitRange(0x762f, 0x7635), - CodeunitRange(0x7638, 0x7638), - CodeunitRange(0x763a, 0x763d), - CodeunitRange(0x7640, 0x7640), - CodeunitRange(0x7642, 0x7643), - CodeunitRange(0x7646, 0x7649), - CodeunitRange(0x764c, 0x7654), - CodeunitRange(0x7656, 0x765a), - CodeunitRange(0x765c, 0x765c), - CodeunitRange(0x765f, 0x7662), - CodeunitRange(0x7664, 0x7667), - CodeunitRange(0x7669, 0x766a), - CodeunitRange(0x766c, 0x7676), - CodeunitRange(0x7678, 0x767f), - CodeunitRange(0x7681, 0x7682), - CodeunitRange(0x7684, 0x7684), - CodeunitRange(0x7686, 0x768b), - CodeunitRange(0x768e, 0x7690), - CodeunitRange(0x7692, 0x7693), - CodeunitRange(0x7695, 0x7696), - CodeunitRange(0x7699, 0x769e), - CodeunitRange(0x76a1, 0x76a1), - CodeunitRange(0x76a4, 0x76a6), - CodeunitRange(0x76aa, 0x76ab), - CodeunitRange(0x76ad, 0x76b0), - CodeunitRange(0x76b4, 0x76b5), - CodeunitRange(0x76b7, 0x76b8), - CodeunitRange(0x76ba, 0x76bb), - CodeunitRange(0x76bd, 0x76bf), - CodeunitRange(0x76c2, 0x76c6), - CodeunitRange(0x76c8, 0x76ca), - CodeunitRange(0x76cc, 0x76ce), - CodeunitRange(0x76d2, 0x76d4), - CodeunitRange(0x76d6, 0x76d6), - CodeunitRange(0x76d9, 0x76df), - CodeunitRange(0x76e1, 0x76e1), - CodeunitRange(0x76e3, 0x76e7), - CodeunitRange(0x76e9, 0x76ea), - CodeunitRange(0x76ec, 0x76f5), - CodeunitRange(0x76f7, 0x76fc), - CodeunitRange(0x76fe, 0x76fe), - CodeunitRange(0x7701, 0x7701), - CodeunitRange(0x7703, 0x7705), - CodeunitRange(0x7707, 0x770c), - CodeunitRange(0x770e, 0x7713), - CodeunitRange(0x7715, 0x7715), - CodeunitRange(0x7719, 0x771b), - CodeunitRange(0x771d, 0x7720), - CodeunitRange(0x7722, 0x7729), - CodeunitRange(0x772b, 0x772b), - CodeunitRange(0x772d, 0x772d), - CodeunitRange(0x772f, 0x772f), - CodeunitRange(0x7731, 0x773e), - CodeunitRange(0x7740, 0x7740), - CodeunitRange(0x7743, 0x7747), - CodeunitRange(0x774a, 0x774f), - CodeunitRange(0x7752, 0x7752), - CodeunitRange(0x7754, 0x7756), - CodeunitRange(0x7758, 0x775c), - CodeunitRange(0x775e, 0x7763), - CodeunitRange(0x7765, 0x776f), - CodeunitRange(0x7772, 0x7772), - CodeunitRange(0x7777, 0x7785), - CodeunitRange(0x7787, 0x7789), - CodeunitRange(0x778b, 0x778f), - CodeunitRange(0x7791, 0x7791), - CodeunitRange(0x7793, 0x7793), - CodeunitRange(0x7795, 0x7795), - CodeunitRange(0x7797, 0x77a3), - CodeunitRange(0x77a5, 0x77a5), - CodeunitRange(0x77a7, 0x77a8), - CodeunitRange(0x77aa, 0x77ad), - CodeunitRange(0x77af, 0x77b7), - CodeunitRange(0x77b9, 0x77bf), - CodeunitRange(0x77c2, 0x77c5), - CodeunitRange(0x77c7, 0x77c7), - CodeunitRange(0x77c9, 0x77d0), - CodeunitRange(0x77d3, 0x77d5), - CodeunitRange(0x77d7, 0x77de), - CodeunitRange(0x77e0, 0x77e0), - CodeunitRange(0x77e2, 0x77e3), - CodeunitRange(0x77e5, 0x77e9), - CodeunitRange(0x77ec, 0x77f4), - CodeunitRange(0x77f7, 0x77fe), - CodeunitRange(0x7802, 0x7803), - CodeunitRange(0x7805, 0x7806), - CodeunitRange(0x7808, 0x7809), - CodeunitRange(0x780c, 0x7814), - CodeunitRange(0x7818, 0x7818), - CodeunitRange(0x781c, 0x7823), - CodeunitRange(0x7825, 0x7835), - CodeunitRange(0x7837, 0x7839), - CodeunitRange(0x783c, 0x783d), - CodeunitRange(0x7842, 0x7845), - CodeunitRange(0x7847, 0x784e), - CodeunitRange(0x7850, 0x7854), - CodeunitRange(0x785c, 0x785e), - CodeunitRange(0x7860, 0x7860), - CodeunitRange(0x7862, 0x7862), - CodeunitRange(0x7864, 0x7866), - CodeunitRange(0x7868, 0x7871), - CodeunitRange(0x7879, 0x787c), - CodeunitRange(0x787e, 0x7881), - CodeunitRange(0x7883, 0x7889), - CodeunitRange(0x788c, 0x788f), - CodeunitRange(0x7891, 0x7891), - CodeunitRange(0x7893, 0x789a), - CodeunitRange(0x789e, 0x78a5), - CodeunitRange(0x78a7, 0x78ad), - CodeunitRange(0x78af, 0x78b4), - CodeunitRange(0x78b6, 0x78b6), - CodeunitRange(0x78b8, 0x78bc), - CodeunitRange(0x78be, 0x78be), - CodeunitRange(0x78c1, 0x78c1), - CodeunitRange(0x78c3, 0x78c5), - CodeunitRange(0x78c7, 0x78d5), - CodeunitRange(0x78d7, 0x78d8), - CodeunitRange(0x78da, 0x78db), - CodeunitRange(0x78dd, 0x78e5), - CodeunitRange(0x78e7, 0x78ea), - CodeunitRange(0x78ec, 0x78f5), - CodeunitRange(0x78f7, 0x78f7), - CodeunitRange(0x78f9, 0x78ff), - CodeunitRange(0x7901, 0x7902), - CodeunitRange(0x7904, 0x7906), - CodeunitRange(0x7909, 0x7909), - CodeunitRange(0x790c, 0x790c), - CodeunitRange(0x790e, 0x790e), - CodeunitRange(0x7910, 0x7914), - CodeunitRange(0x7917, 0x7917), - CodeunitRange(0x7919, 0x7919), - CodeunitRange(0x791b, 0x791e), - CodeunitRange(0x7921, 0x7921), - CodeunitRange(0x7923, 0x792f), - CodeunitRange(0x7931, 0x7936), - CodeunitRange(0x7938, 0x7942), - CodeunitRange(0x7944, 0x794c), - CodeunitRange(0x794f, 0x7965), - CodeunitRange(0x7967, 0x796b), - CodeunitRange(0x796d, 0x796d), - CodeunitRange(0x7970, 0x7974), - CodeunitRange(0x7979, 0x797a), - CodeunitRange(0x797c, 0x7983), - CodeunitRange(0x7986, 0x7988), - CodeunitRange(0x798a, 0x798b), - CodeunitRange(0x798d, 0x799d), - CodeunitRange(0x799f, 0x79a2), - CodeunitRange(0x79a4, 0x79ae), - CodeunitRange(0x79b0, 0x79b4), - CodeunitRange(0x79b6, 0x79bb), - CodeunitRange(0x79bd, 0x79c1), - CodeunitRange(0x79c4, 0x79c6), - CodeunitRange(0x79c8, 0x79d2), - CodeunitRange(0x79d4, 0x79d6), - CodeunitRange(0x79d8, 0x79d8), - CodeunitRange(0x79dc, 0x79e0), - CodeunitRange(0x79e2, 0x79e4), - CodeunitRange(0x79e6, 0x79e7), - CodeunitRange(0x79e9, 0x79ee), - CodeunitRange(0x79f1, 0x79f1), - CodeunitRange(0x79f4, 0x79f4), - CodeunitRange(0x79f6, 0x79f8), - CodeunitRange(0x79fa, 0x79fb), - CodeunitRange(0x7a00, 0x7a00), - CodeunitRange(0x7a02, 0x7a06), - CodeunitRange(0x7a08, 0x7a08), - CodeunitRange(0x7a0a, 0x7a0e), - CodeunitRange(0x7a10, 0x7a15), - CodeunitRange(0x7a17, 0x7a1c), - CodeunitRange(0x7a1e, 0x7a20), - CodeunitRange(0x7a22, 0x7a22), - CodeunitRange(0x7a26, 0x7a26), - CodeunitRange(0x7a28, 0x7a28), - CodeunitRange(0x7a2a, 0x7a32), - CodeunitRange(0x7a37, 0x7a37), - CodeunitRange(0x7a39, 0x7a40), - CodeunitRange(0x7a43, 0x7a4e), - CodeunitRange(0x7a54, 0x7a54), - CodeunitRange(0x7a56, 0x7a58), - CodeunitRange(0x7a5a, 0x7a5c), - CodeunitRange(0x7a5f, 0x7a62), - CodeunitRange(0x7a65, 0x7a65), - CodeunitRange(0x7a67, 0x7a69), - CodeunitRange(0x7a6b, 0x7a6e), - CodeunitRange(0x7a70, 0x7a72), - CodeunitRange(0x7a74, 0x7a76), - CodeunitRange(0x7a78, 0x7a7b), - CodeunitRange(0x7a7d, 0x7a81), - CodeunitRange(0x7a83, 0x7a8c), - CodeunitRange(0x7a8f, 0x7a99), - CodeunitRange(0x7a9e, 0x7aa0), - CodeunitRange(0x7aa2, 0x7aa3), - CodeunitRange(0x7aa8, 0x7aac), - CodeunitRange(0x7aae, 0x7ab8), - CodeunitRange(0x7aba, 0x7abc), - CodeunitRange(0x7abe, 0x7ac5), - CodeunitRange(0x7ac7, 0x7acb), - CodeunitRange(0x7acf, 0x7acf), - CodeunitRange(0x7ad1, 0x7ad1), - CodeunitRange(0x7ad3, 0x7ad3), - CodeunitRange(0x7ad8, 0x7add), - CodeunitRange(0x7adf, 0x7ae0), - CodeunitRange(0x7ae2, 0x7ae7), - CodeunitRange(0x7ae9, 0x7aeb), - CodeunitRange(0x7aed, 0x7aef), - CodeunitRange(0x7af6, 0x7af7), - CodeunitRange(0x7af9, 0x7b01), - CodeunitRange(0x7b04, 0x7b06), - CodeunitRange(0x7b08, 0x7b0c), - CodeunitRange(0x7b0e, 0x7b14), - CodeunitRange(0x7b18, 0x7b1b), - CodeunitRange(0x7b1d, 0x7b20), - CodeunitRange(0x7b22, 0x7b35), - CodeunitRange(0x7b38, 0x7b39), - CodeunitRange(0x7b3b, 0x7b3b), - CodeunitRange(0x7b40, 0x7b40), - CodeunitRange(0x7b42, 0x7b52), - CodeunitRange(0x7b54, 0x7b56), - CodeunitRange(0x7b58, 0x7b58), - CodeunitRange(0x7b60, 0x7b67), - CodeunitRange(0x7b69, 0x7b69), - CodeunitRange(0x7b6c, 0x7b78), - CodeunitRange(0x7b7b, 0x7b7b), - CodeunitRange(0x7b82, 0x7b82), - CodeunitRange(0x7b84, 0x7b85), - CodeunitRange(0x7b87, 0x7b88), - CodeunitRange(0x7b8a, 0x7b92), - CodeunitRange(0x7b94, 0x7b9d), - CodeunitRange(0x7ba0, 0x7ba4), - CodeunitRange(0x7bac, 0x7baf), - CodeunitRange(0x7bb1, 0x7bb2), - CodeunitRange(0x7bb4, 0x7bb5), - CodeunitRange(0x7bb7, 0x7bb9), - CodeunitRange(0x7bbe, 0x7bbe), - CodeunitRange(0x7bc0, 0x7bc1), - CodeunitRange(0x7bc4, 0x7bc7), - CodeunitRange(0x7bc9, 0x7bcc), - CodeunitRange(0x7bce, 0x7bd0), - CodeunitRange(0x7bd4, 0x7bd5), - CodeunitRange(0x7bd8, 0x7bec), - CodeunitRange(0x7bf0, 0x7bf4), - CodeunitRange(0x7bf7, 0x7c03), - CodeunitRange(0x7c05, 0x7c07), - CodeunitRange(0x7c09, 0x7c12), - CodeunitRange(0x7c15, 0x7c15), - CodeunitRange(0x7c19, 0x7c19), - CodeunitRange(0x7c1b, 0x7c23), - CodeunitRange(0x7c25, 0x7c2d), - CodeunitRange(0x7c30, 0x7c30), - CodeunitRange(0x7c33, 0x7c33), - CodeunitRange(0x7c35, 0x7c35), - CodeunitRange(0x7c37, 0x7c39), - CodeunitRange(0x7c3b, 0x7c40), - CodeunitRange(0x7c42, 0x7c45), - CodeunitRange(0x7c47, 0x7c4a), - CodeunitRange(0x7c4c, 0x7c4d), - CodeunitRange(0x7c50, 0x7c51), - CodeunitRange(0x7c53, 0x7c54), - CodeunitRange(0x7c56, 0x7c57), - CodeunitRange(0x7c59, 0x7c5d), - CodeunitRange(0x7c5f, 0x7c60), - CodeunitRange(0x7c63, 0x7c67), - CodeunitRange(0x7c69, 0x7c70), - CodeunitRange(0x7c72, 0x7c75), - CodeunitRange(0x7c78, 0x7c81), - CodeunitRange(0x7c83, 0x7c86), - CodeunitRange(0x7c88, 0x7c8a), - CodeunitRange(0x7c8c, 0x7c8e), - CodeunitRange(0x7c91, 0x7c92), - CodeunitRange(0x7c94, 0x7c98), - CodeunitRange(0x7c9c, 0x7c9c), - CodeunitRange(0x7c9e, 0x7c9f), - CodeunitRange(0x7ca1, 0x7ca3), - CodeunitRange(0x7ca5, 0x7ca8), - CodeunitRange(0x7cac, 0x7cac), - CodeunitRange(0x7cae, 0x7caf), - CodeunitRange(0x7cb1, 0x7cb5), - CodeunitRange(0x7cb8, 0x7cbf), - CodeunitRange(0x7cc2, 0x7cc3), - CodeunitRange(0x7cc5, 0x7cc5), - CodeunitRange(0x7cc7, 0x7cce), - CodeunitRange(0x7cd0, 0x7cd7), - CodeunitRange(0x7cd9, 0x7cda), - CodeunitRange(0x7cdc, 0x7ce0), - CodeunitRange(0x7ce2, 0x7ce2), - CodeunitRange(0x7ce6, 0x7ce8), - CodeunitRange(0x7cea, 0x7cea), - CodeunitRange(0x7cec, 0x7cf9), - CodeunitRange(0x7cfb, 0x7cfe), - CodeunitRange(0x7d00, 0x7d22), - CodeunitRange(0x7d25, 0x7d25), - CodeunitRange(0x7d28, 0x7d29), - CodeunitRange(0x7d2b, 0x7d2c), - CodeunitRange(0x7d2e, 0x7d33), - CodeunitRange(0x7d35, 0x7d36), - CodeunitRange(0x7d38, 0x7d47), - CodeunitRange(0x7d4a, 0x7d4a), - CodeunitRange(0x7d4d, 0x7d56), - CodeunitRange(0x7d58, 0x7d58), - CodeunitRange(0x7d5a, 0x7d5f), - CodeunitRange(0x7d61, 0x7d63), - CodeunitRange(0x7d66, 0x7d6b), - CodeunitRange(0x7d6d, 0x7d73), - CodeunitRange(0x7d79, 0x7d7d), - CodeunitRange(0x7d7f, 0x7d81), - CodeunitRange(0x7d83, 0x7d86), - CodeunitRange(0x7d88, 0x7d89), - CodeunitRange(0x7d8b, 0x7d8f), - CodeunitRange(0x7d91, 0x7d97), - CodeunitRange(0x7d9c, 0x7da4), - CodeunitRange(0x7da6, 0x7db5), - CodeunitRange(0x7db7, 0x7dc2), - CodeunitRange(0x7dc4, 0x7dc7), - CodeunitRange(0x7dc9, 0x7dd0), - CodeunitRange(0x7dd2, 0x7dd4), - CodeunitRange(0x7dd7, 0x7de1), - CodeunitRange(0x7de3, 0x7dea), - CodeunitRange(0x7dec, 0x7dec), - CodeunitRange(0x7dee, 0x7df7), - CodeunitRange(0x7df9, 0x7dfe), - CodeunitRange(0x7e03, 0x7e03), - CodeunitRange(0x7e07, 0x7e17), - CodeunitRange(0x7e1a, 0x7e25), - CodeunitRange(0x7e27, 0x7e27), - CodeunitRange(0x7e29, 0x7e2b), - CodeunitRange(0x7e2d, 0x7e49), - CodeunitRange(0x7e4c, 0x7e4c), - CodeunitRange(0x7e50, 0x7e5c), - CodeunitRange(0x7e5e, 0x7e63), - CodeunitRange(0x7e65, 0x7e65), - CodeunitRange(0x7e67, 0x7e70), - CodeunitRange(0x7e72, 0x7e82), - CodeunitRange(0x7e86, 0x7e88), - CodeunitRange(0x7e8a, 0x7e8f), - CodeunitRange(0x7e91, 0x7e9c), - CodeunitRange(0x7e9f, 0x7e9f), - CodeunitRange(0x7ea4, 0x7ea4), - CodeunitRange(0x7eac, 0x7eac), - CodeunitRange(0x7eba, 0x7eba), - CodeunitRange(0x7ec7, 0x7ec7), - CodeunitRange(0x7ecf, 0x7ecf), - CodeunitRange(0x7edf, 0x7edf), - CodeunitRange(0x7f06, 0x7f06), - CodeunitRange(0x7f36, 0x7f3a), - CodeunitRange(0x7f3d, 0x7f41), - CodeunitRange(0x7f43, 0x7f45), - CodeunitRange(0x7f47, 0x7f55), - CodeunitRange(0x7f58, 0x7f58), - CodeunitRange(0x7f5b, 0x7f61), - CodeunitRange(0x7f63, 0x7f63), - CodeunitRange(0x7f65, 0x7f6e), - CodeunitRange(0x7f70, 0x7f73), - CodeunitRange(0x7f75, 0x7f7f), - CodeunitRange(0x7f83, 0x7f83), - CodeunitRange(0x7f85, 0x7f8f), - CodeunitRange(0x7f91, 0x7f97), - CodeunitRange(0x7f9a, 0x7f9e), - CodeunitRange(0x7fa0, 0x7fa9), - CodeunitRange(0x7fac, 0x7fc3), - CodeunitRange(0x7fc5, 0x7fc5), - CodeunitRange(0x7fc7, 0x7fc7), - CodeunitRange(0x7fc9, 0x7fd2), - CodeunitRange(0x7fd4, 0x7fd5), - CodeunitRange(0x7fd7, 0x7fd7), - CodeunitRange(0x7fdb, 0x7fe3), - CodeunitRange(0x7fe5, 0x7ff5), - CodeunitRange(0x7ff7, 0x8008), - CodeunitRange(0x800b, 0x8012), - CodeunitRange(0x8014, 0x8019), - CodeunitRange(0x801b, 0x8021), - CodeunitRange(0x8024, 0x8026), - CodeunitRange(0x8028, 0x802a), - CodeunitRange(0x802c, 0x802c), - CodeunitRange(0x802e, 0x8031), - CodeunitRange(0x8033, 0x8037), - CodeunitRange(0x8039, 0x8039), - CodeunitRange(0x803b, 0x803f), - CodeunitRange(0x8043, 0x8043), - CodeunitRange(0x8046, 0x8048), - CodeunitRange(0x804a, 0x804a), - CodeunitRange(0x804f, 0x8052), - CodeunitRange(0x8054, 0x8054), - CodeunitRange(0x8056, 0x8056), - CodeunitRange(0x8058, 0x8058), - CodeunitRange(0x805a, 0x805e), - CodeunitRange(0x8061, 0x8064), - CodeunitRange(0x8066, 0x8067), - CodeunitRange(0x806c, 0x806c), - CodeunitRange(0x806f, 0x8073), - CodeunitRange(0x8075, 0x8079), - CodeunitRange(0x807d, 0x8080), - CodeunitRange(0x8082, 0x8082), - CodeunitRange(0x8084, 0x8087), - CodeunitRange(0x8089, 0x808c), - CodeunitRange(0x808f, 0x8090), - CodeunitRange(0x8092, 0x8093), - CodeunitRange(0x8095, 0x8096), - CodeunitRange(0x8098, 0x809d), - CodeunitRange(0x809f, 0x809f), - CodeunitRange(0x80a1, 0x80a3), - CodeunitRange(0x80a5, 0x80a5), - CodeunitRange(0x80a7, 0x80a7), - CodeunitRange(0x80a9, 0x80ab), - CodeunitRange(0x80ad, 0x80af), - CodeunitRange(0x80b1, 0x80b2), - CodeunitRange(0x80b4, 0x80b8), - CodeunitRange(0x80ba, 0x80ba), - CodeunitRange(0x80bc, 0x80bd), - CodeunitRange(0x80c2, 0x80ca), - CodeunitRange(0x80cc, 0x80d1), - CodeunitRange(0x80d4, 0x80de), - CodeunitRange(0x80e0, 0x80e1), - CodeunitRange(0x80e3, 0x80e6), - CodeunitRange(0x80e9, 0x80e9), - CodeunitRange(0x80ec, 0x80ed), - CodeunitRange(0x80ef, 0x80f6), - CodeunitRange(0x80f8, 0x80fe), - CodeunitRange(0x8100, 0x8103), - CodeunitRange(0x8105, 0x810a), - CodeunitRange(0x810c, 0x810c), - CodeunitRange(0x810e, 0x810e), - CodeunitRange(0x8112, 0x8112), - CodeunitRange(0x8114, 0x811b), - CodeunitRange(0x811d, 0x811f), - CodeunitRange(0x8121, 0x8125), - CodeunitRange(0x8127, 0x8127), - CodeunitRange(0x8129, 0x812d), - CodeunitRange(0x812f, 0x8132), - CodeunitRange(0x8134, 0x8134), - CodeunitRange(0x8137, 0x8137), - CodeunitRange(0x8139, 0x813a), - CodeunitRange(0x813d, 0x813e), - CodeunitRange(0x8142, 0x8144), - CodeunitRange(0x8146, 0x8148), - CodeunitRange(0x814a, 0x8156), - CodeunitRange(0x8159, 0x815c), - CodeunitRange(0x815e, 0x815e), - CodeunitRange(0x8160, 0x8162), - CodeunitRange(0x8164, 0x8167), - CodeunitRange(0x8169, 0x8169), - CodeunitRange(0x816b, 0x8174), - CodeunitRange(0x8176, 0x817a), - CodeunitRange(0x817c, 0x817d), - CodeunitRange(0x817f, 0x8180), - CodeunitRange(0x8182, 0x8184), - CodeunitRange(0x8186, 0x818d), - CodeunitRange(0x818f, 0x818f), - CodeunitRange(0x8193, 0x8193), - CodeunitRange(0x8195, 0x8195), - CodeunitRange(0x8197, 0x81a0), - CodeunitRange(0x81a2, 0x81a3), - CodeunitRange(0x81a5, 0x81ac), - CodeunitRange(0x81ae, 0x81ae), - CodeunitRange(0x81b0, 0x81b7), - CodeunitRange(0x81b9, 0x81ca), - CodeunitRange(0x81cc, 0x81cd), - CodeunitRange(0x81cf, 0x81d2), - CodeunitRange(0x81d5, 0x81d5), - CodeunitRange(0x81d7, 0x81db), - CodeunitRange(0x81dd, 0x81ea), - CodeunitRange(0x81ec, 0x81ef), - CodeunitRange(0x81f2, 0x81f4), - CodeunitRange(0x81f6, 0x81fc), - CodeunitRange(0x81fe, 0x8202), - CodeunitRange(0x8204, 0x8205), - CodeunitRange(0x8207, 0x820d), - CodeunitRange(0x8210, 0x8212), - CodeunitRange(0x8214, 0x8216), - CodeunitRange(0x8218, 0x8218), - CodeunitRange(0x821a, 0x8222), - CodeunitRange(0x8225, 0x8226), - CodeunitRange(0x8228, 0x822d), - CodeunitRange(0x822f, 0x822f), - CodeunitRange(0x8232, 0x823a), - CodeunitRange(0x823c, 0x8240), - CodeunitRange(0x8242, 0x8242), - CodeunitRange(0x8244, 0x8245), - CodeunitRange(0x8247, 0x8247), - CodeunitRange(0x8249, 0x8249), - CodeunitRange(0x824b, 0x824b), - CodeunitRange(0x824e, 0x825c), - CodeunitRange(0x825e, 0x825f), - CodeunitRange(0x8261, 0x8266), - CodeunitRange(0x8268, 0x8269), - CodeunitRange(0x826b, 0x826f), - CodeunitRange(0x8271, 0x8272), - CodeunitRange(0x8274, 0x8280), - CodeunitRange(0x8283, 0x8285), - CodeunitRange(0x8287, 0x8287), - CodeunitRange(0x828a, 0x828b), - CodeunitRange(0x828d, 0x8294), - CodeunitRange(0x8298, 0x829b), - CodeunitRange(0x829d, 0x82b1), - CodeunitRange(0x82b3, 0x82c0), - CodeunitRange(0x82c2, 0x82c4), - CodeunitRange(0x82ca, 0x82ca), - CodeunitRange(0x82cf, 0x82d9), - CodeunitRange(0x82db, 0x82dc), - CodeunitRange(0x82de, 0x82e8), - CodeunitRange(0x82ea, 0x8309), - CodeunitRange(0x830b, 0x830d), - CodeunitRange(0x8316, 0x831e), - CodeunitRange(0x8320, 0x8320), - CodeunitRange(0x8322, 0x8322), - CodeunitRange(0x8324, 0x832d), - CodeunitRange(0x832f, 0x832f), - CodeunitRange(0x8331, 0x833d), - CodeunitRange(0x833f, 0x8345), - CodeunitRange(0x8347, 0x8354), - CodeunitRange(0x8356, 0x8357), - CodeunitRange(0x8362, 0x8363), - CodeunitRange(0x8366, 0x8366), - CodeunitRange(0x836f, 0x836f), - CodeunitRange(0x8373, 0x8378), - CodeunitRange(0x837a, 0x837f), - CodeunitRange(0x8381, 0x8381), - CodeunitRange(0x8383, 0x8383), - CodeunitRange(0x8385, 0x839e), - CodeunitRange(0x83a0, 0x83a0), - CodeunitRange(0x83a2, 0x83ac), - CodeunitRange(0x83ae, 0x83b0), - CodeunitRange(0x83b9, 0x83b9), - CodeunitRange(0x83bd, 0x83cf), - CodeunitRange(0x83d1, 0x83d1), - CodeunitRange(0x83d3, 0x83d9), - CodeunitRange(0x83db, 0x83e5), - CodeunitRange(0x83e7, 0x83f6), - CodeunitRange(0x83f8, 0x83ff), - CodeunitRange(0x8401, 0x8401), - CodeunitRange(0x8403, 0x8407), - CodeunitRange(0x8409, 0x8414), - CodeunitRange(0x8416, 0x8416), - CodeunitRange(0x8418, 0x8418), - CodeunitRange(0x841b, 0x841c), - CodeunitRange(0x8420, 0x8421), - CodeunitRange(0x8423, 0x8424), - CodeunitRange(0x8426, 0x8426), - CodeunitRange(0x8429, 0x8429), - CodeunitRange(0x842b, 0x8440), - CodeunitRange(0x8442, 0x844e), - CodeunitRange(0x8450, 0x8469), - CodeunitRange(0x846b, 0x847a), - CodeunitRange(0x847d, 0x8480), - CodeunitRange(0x8482, 0x8482), - CodeunitRange(0x8484, 0x8484), - CodeunitRange(0x8486, 0x8486), - CodeunitRange(0x8488, 0x8488), - CodeunitRange(0x848d, 0x8494), - CodeunitRange(0x8496, 0x84a4), - CodeunitRange(0x84a7, 0x84b2), - CodeunitRange(0x84b4, 0x84b4), - CodeunitRange(0x84b6, 0x84b6), - CodeunitRange(0x84b8, 0x84c2), - CodeunitRange(0x84c4, 0x84c7), - CodeunitRange(0x84c9, 0x84d4), - CodeunitRange(0x84d6, 0x84d7), - CodeunitRange(0x84da, 0x84db), - CodeunitRange(0x84de, 0x84de), - CodeunitRange(0x84e1, 0x84e2), - CodeunitRange(0x84e4, 0x84e5), - CodeunitRange(0x84e7, 0x84ec), - CodeunitRange(0x84ee, 0x84f4), - CodeunitRange(0x84f6, 0x8500), - CodeunitRange(0x8502, 0x851a), - CodeunitRange(0x851c, 0x8521), - CodeunitRange(0x8523, 0x8531), - CodeunitRange(0x8533, 0x8534), - CodeunitRange(0x8538, 0x8538), - CodeunitRange(0x853b, 0x853b), - CodeunitRange(0x853d, 0x853e), - CodeunitRange(0x8540, 0x854e), - CodeunitRange(0x8551, 0x855b), - CodeunitRange(0x855d, 0x8571), - CodeunitRange(0x8573, 0x8573), - CodeunitRange(0x8575, 0x857c), - CodeunitRange(0x857e, 0x857e), - CodeunitRange(0x8580, 0x8591), - CodeunitRange(0x8593, 0x85a4), - CodeunitRange(0x85a6, 0x85aa), - CodeunitRange(0x85af, 0x85b1), - CodeunitRange(0x85b3, 0x85ba), - CodeunitRange(0x85bd, 0x85c9), - CodeunitRange(0x85cb, 0x85cb), - CodeunitRange(0x85cd, 0x85d2), - CodeunitRange(0x85d5, 0x85da), - CodeunitRange(0x85dc, 0x85e6), - CodeunitRange(0x85e8, 0x85f2), - CodeunitRange(0x85f4, 0x85f4), - CodeunitRange(0x85f6, 0x8602), - CodeunitRange(0x8604, 0x8607), - CodeunitRange(0x8609, 0x860d), - CodeunitRange(0x860f, 0x8611), - CodeunitRange(0x8613, 0x8614), - CodeunitRange(0x8616, 0x861c), - CodeunitRange(0x861e, 0x862a), - CodeunitRange(0x862c, 0x862f), - CodeunitRange(0x8631, 0x8636), - CodeunitRange(0x8638, 0x863c), - CodeunitRange(0x863e, 0x8640), - CodeunitRange(0x8642, 0x8643), - CodeunitRange(0x8645, 0x8648), - CodeunitRange(0x864b, 0x864e), - CodeunitRange(0x8650, 0x8650), - CodeunitRange(0x8652, 0x8656), - CodeunitRange(0x8659, 0x8659), - CodeunitRange(0x865b, 0x865c), - CodeunitRange(0x865e, 0x865f), - CodeunitRange(0x8661, 0x8665), - CodeunitRange(0x8667, 0x8674), - CodeunitRange(0x8677, 0x8677), - CodeunitRange(0x8679, 0x867c), - CodeunitRange(0x867e, 0x867e), - CodeunitRange(0x8685, 0x8687), - CodeunitRange(0x868a, 0x868e), - CodeunitRange(0x8690, 0x869a), - CodeunitRange(0x869c, 0x869e), - CodeunitRange(0x86a0, 0x86a5), - CodeunitRange(0x86a7, 0x86aa), - CodeunitRange(0x86ad, 0x86ad), - CodeunitRange(0x86af, 0x86c9), - CodeunitRange(0x86cb, 0x86cc), - CodeunitRange(0x86d0, 0x86d1), - CodeunitRange(0x86d3, 0x86d4), - CodeunitRange(0x86d6, 0x86df), - CodeunitRange(0x86e2, 0x86e4), - CodeunitRange(0x86e6, 0x86e6), - CodeunitRange(0x86e8, 0x86ed), - CodeunitRange(0x86ef, 0x86ef), - CodeunitRange(0x86f5, 0x86fb), - CodeunitRange(0x86fe, 0x86fe), - CodeunitRange(0x8700, 0x870e), - CodeunitRange(0x8711, 0x8713), - CodeunitRange(0x8715, 0x8715), - CodeunitRange(0x8718, 0x871c), - CodeunitRange(0x871e, 0x871e), - CodeunitRange(0x8720, 0x872a), - CodeunitRange(0x872c, 0x872e), - CodeunitRange(0x8730, 0x8735), - CodeunitRange(0x8737, 0x8738), - CodeunitRange(0x873a, 0x873c), - CodeunitRange(0x873e, 0x8743), - CodeunitRange(0x8746, 0x8746), - CodeunitRange(0x874c, 0x8771), - CodeunitRange(0x8773, 0x877b), - CodeunitRange(0x877d, 0x877d), - CodeunitRange(0x8781, 0x8789), - CodeunitRange(0x878b, 0x878d), - CodeunitRange(0x878f, 0x8794), - CodeunitRange(0x8796, 0x8798), - CodeunitRange(0x879a, 0x879f), - CodeunitRange(0x87a2, 0x87a5), - CodeunitRange(0x87a9, 0x87c6), - CodeunitRange(0x87c8, 0x87cc), - CodeunitRange(0x87ce, 0x87ce), - CodeunitRange(0x87d1, 0x87d4), - CodeunitRange(0x87d6, 0x87e8), - CodeunitRange(0x87ea, 0x87ef), - CodeunitRange(0x87f2, 0x87f7), - CodeunitRange(0x87f9, 0x87fc), - CodeunitRange(0x87fe, 0x8806), - CodeunitRange(0x8808, 0x880d), - CodeunitRange(0x880f, 0x8811), - CodeunitRange(0x8813, 0x8819), - CodeunitRange(0x881b, 0x881d), - CodeunitRange(0x881f, 0x8833), - CodeunitRange(0x8835, 0x8839), - CodeunitRange(0x883b, 0x8846), - CodeunitRange(0x8848, 0x8848), - CodeunitRange(0x884a, 0x884f), - CodeunitRange(0x8852, 0x8853), - CodeunitRange(0x8855, 0x8857), - CodeunitRange(0x8859, 0x885b), - CodeunitRange(0x885d, 0x885e), - CodeunitRange(0x8860, 0x8865), - CodeunitRange(0x8867, 0x886b), - CodeunitRange(0x886d, 0x8872), - CodeunitRange(0x8874, 0x8877), - CodeunitRange(0x8879, 0x8879), - CodeunitRange(0x887c, 0x8884), - CodeunitRange(0x8887, 0x8889), - CodeunitRange(0x888b, 0x8893), - CodeunitRange(0x8895, 0x88a2), - CodeunitRange(0x88a4, 0x88a4), - CodeunitRange(0x88a7, 0x88a8), - CodeunitRange(0x88aa, 0x88ac), - CodeunitRange(0x88ae, 0x88ae), - CodeunitRange(0x88b1, 0x88b2), - CodeunitRange(0x88b4, 0x88ba), - CodeunitRange(0x88bc, 0x88c2), - CodeunitRange(0x88c5, 0x88c5), - CodeunitRange(0x88c7, 0x88c7), - CodeunitRange(0x88c9, 0x88d0), - CodeunitRange(0x88d2, 0x88d2), - CodeunitRange(0x88d4, 0x88df), - CodeunitRange(0x88e1, 0x88e1), - CodeunitRange(0x88e6, 0x88e8), - CodeunitRange(0x88eb, 0x88ec), - CodeunitRange(0x88ee, 0x8902), - CodeunitRange(0x8905, 0x8907), - CodeunitRange(0x8909, 0x890c), - CodeunitRange(0x890e, 0x890e), - CodeunitRange(0x8910, 0x891a), - CodeunitRange(0x891e, 0x891f), - CodeunitRange(0x8921, 0x8927), - CodeunitRange(0x8929, 0x8933), - CodeunitRange(0x8935, 0x8938), - CodeunitRange(0x893b, 0x893e), - CodeunitRange(0x8941, 0x8944), - CodeunitRange(0x8946, 0x8947), - CodeunitRange(0x8949, 0x8949), - CodeunitRange(0x894b, 0x894d), - CodeunitRange(0x894f, 0x8954), - CodeunitRange(0x8956, 0x8966), - CodeunitRange(0x8969, 0x896f), - CodeunitRange(0x8971, 0x8974), - CodeunitRange(0x8976, 0x8977), - CodeunitRange(0x8979, 0x897c), - CodeunitRange(0x897e, 0x8983), - CodeunitRange(0x8985, 0x898b), - CodeunitRange(0x898f, 0x898f), - CodeunitRange(0x8991, 0x8991), - CodeunitRange(0x8993, 0x8998), - CodeunitRange(0x899b, 0x899f), - CodeunitRange(0x89a1, 0x89a7), - CodeunitRange(0x89a9, 0x89aa), - CodeunitRange(0x89ac, 0x89af), - CodeunitRange(0x89b2, 0x89b2), - CodeunitRange(0x89b6, 0x89b7), - CodeunitRange(0x89b9, 0x89ba), - CodeunitRange(0x89bc, 0x89c1), - CodeunitRange(0x89c6, 0x89c6), - CodeunitRange(0x89d2, 0x89d6), - CodeunitRange(0x89d9, 0x89dd), - CodeunitRange(0x89df, 0x89e9), - CodeunitRange(0x89eb, 0x89ed), - CodeunitRange(0x89f0, 0x89f4), - CodeunitRange(0x89f6, 0x89f8), - CodeunitRange(0x89fa, 0x89fc), - CodeunitRange(0x89fe, 0x8a00), - CodeunitRange(0x8a02, 0x8a04), - CodeunitRange(0x8a07, 0x8a08), - CodeunitRange(0x8a0a, 0x8a0a), - CodeunitRange(0x8a0c, 0x8a0c), - CodeunitRange(0x8a0e, 0x8a13), - CodeunitRange(0x8a15, 0x8a18), - CodeunitRange(0x8a1b, 0x8a1f), - CodeunitRange(0x8a22, 0x8a23), - CodeunitRange(0x8a25, 0x8a25), - CodeunitRange(0x8a27, 0x8a27), - CodeunitRange(0x8a29, 0x8a2d), - CodeunitRange(0x8a30, 0x8a31), - CodeunitRange(0x8a34, 0x8a34), - CodeunitRange(0x8a36, 0x8a36), - CodeunitRange(0x8a38, 0x8a41), - CodeunitRange(0x8a44, 0x8a46), - CodeunitRange(0x8a48, 0x8a4a), - CodeunitRange(0x8a4c, 0x8a52), - CodeunitRange(0x8a54, 0x8a59), - CodeunitRange(0x8a5b, 0x8a5b), - CodeunitRange(0x8a5e, 0x8a5e), - CodeunitRange(0x8a60, 0x8a63), - CodeunitRange(0x8a66, 0x8a69), - CodeunitRange(0x8a6b, 0x8a6e), - CodeunitRange(0x8a70, 0x8a77), - CodeunitRange(0x8a79, 0x8a7c), - CodeunitRange(0x8a7e, 0x8a7f), - CodeunitRange(0x8a81, 0x8a87), - CodeunitRange(0x8a8b, 0x8a8d), - CodeunitRange(0x8a8f, 0x8a96), - CodeunitRange(0x8a98, 0x8a9a), - CodeunitRange(0x8a9c, 0x8a9c), - CodeunitRange(0x8a9e, 0x8a9e), - CodeunitRange(0x8aa0, 0x8aa1), - CodeunitRange(0x8aa3, 0x8aac), - CodeunitRange(0x8aaf, 0x8ab0), - CodeunitRange(0x8ab2, 0x8ab2), - CodeunitRange(0x8ab4, 0x8ab4), - CodeunitRange(0x8ab6, 0x8ab6), - CodeunitRange(0x8ab8, 0x8ac0), - CodeunitRange(0x8ac2, 0x8ac9), - CodeunitRange(0x8acb, 0x8acd), - CodeunitRange(0x8acf, 0x8acf), - CodeunitRange(0x8ad1, 0x8ae2), - CodeunitRange(0x8ae4, 0x8ae4), - CodeunitRange(0x8ae6, 0x8ae8), - CodeunitRange(0x8aea, 0x8aeb), - CodeunitRange(0x8aed, 0x8afc), - CodeunitRange(0x8afe, 0x8b02), - CodeunitRange(0x8b04, 0x8b08), - CodeunitRange(0x8b0a, 0x8b20), - CodeunitRange(0x8b22, 0x8b28), - CodeunitRange(0x8b2a, 0x8b31), - CodeunitRange(0x8b33, 0x8b33), - CodeunitRange(0x8b35, 0x8b37), - CodeunitRange(0x8b39, 0x8b43), - CodeunitRange(0x8b45, 0x8b5a), - CodeunitRange(0x8b5c, 0x8b60), - CodeunitRange(0x8b62, 0x8b63), - CodeunitRange(0x8b65, 0x8b6d), - CodeunitRange(0x8b6f, 0x8b70), - CodeunitRange(0x8b74, 0x8b74), - CodeunitRange(0x8b77, 0x8b7b), - CodeunitRange(0x8b7d, 0x8b86), - CodeunitRange(0x8b88, 0x8b88), - CodeunitRange(0x8b8a, 0x8b8c), - CodeunitRange(0x8b8e, 0x8b90), - CodeunitRange(0x8b92, 0x8b96), - CodeunitRange(0x8b98, 0x8b9c), - CodeunitRange(0x8b9e, 0x8ba0), - CodeunitRange(0x8bbe, 0x8bbe), - CodeunitRange(0x8be2, 0x8be2), - CodeunitRange(0x8c37, 0x8c37), - CodeunitRange(0x8c39, 0x8c39), - CodeunitRange(0x8c3b, 0x8c3f), - CodeunitRange(0x8c41, 0x8c43), - CodeunitRange(0x8c45, 0x8c51), - CodeunitRange(0x8c54, 0x8c57), - CodeunitRange(0x8c5a, 0x8c5a), - CodeunitRange(0x8c5c, 0x8c5d), - CodeunitRange(0x8c5f, 0x8c5f), - CodeunitRange(0x8c61, 0x8c62), - CodeunitRange(0x8c64, 0x8c66), - CodeunitRange(0x8c68, 0x8c6d), - CodeunitRange(0x8c6f, 0x8c73), - CodeunitRange(0x8c75, 0x8c7b), - CodeunitRange(0x8c7d, 0x8c7d), - CodeunitRange(0x8c80, 0x8c82), - CodeunitRange(0x8c84, 0x8c86), - CodeunitRange(0x8c89, 0x8c8a), - CodeunitRange(0x8c8c, 0x8c8d), - CodeunitRange(0x8c8f, 0x8c95), - CodeunitRange(0x8c97, 0x8ca5), - CodeunitRange(0x8ca7, 0x8cad), - CodeunitRange(0x8caf, 0x8cb0), - CodeunitRange(0x8cb2, 0x8cc5), - CodeunitRange(0x8cc7, 0x8cc8), - CodeunitRange(0x8cca, 0x8cca), - CodeunitRange(0x8ccc, 0x8ccd), - CodeunitRange(0x8ccf, 0x8ccf), - CodeunitRange(0x8cd1, 0x8cd7), - CodeunitRange(0x8cd9, 0x8cee), - CodeunitRange(0x8cf0, 0x8cf5), - CodeunitRange(0x8cf7, 0x8cfe), - CodeunitRange(0x8d00, 0x8d00), - CodeunitRange(0x8d02, 0x8d0d), - CodeunitRange(0x8d0f, 0x8d19), - CodeunitRange(0x8d1b, 0x8d1d), - CodeunitRange(0x8d64, 0x8d64), - CodeunitRange(0x8d66, 0x8d69), - CodeunitRange(0x8d6b, 0x8d70), - CodeunitRange(0x8d72, 0x8d74), - CodeunitRange(0x8d76, 0x8d7b), - CodeunitRange(0x8d7d, 0x8d7d), - CodeunitRange(0x8d80, 0x8d82), - CodeunitRange(0x8d84, 0x8d85), - CodeunitRange(0x8d89, 0x8d8a), - CodeunitRange(0x8d8c, 0x8d96), - CodeunitRange(0x8d99, 0x8d99), - CodeunitRange(0x8d9b, 0x8d9c), - CodeunitRange(0x8d9f, 0x8da1), - CodeunitRange(0x8da3, 0x8da3), - CodeunitRange(0x8da5, 0x8daf), - CodeunitRange(0x8db2, 0x8db7), - CodeunitRange(0x8db9, 0x8dba), - CodeunitRange(0x8dbc, 0x8dbc), - CodeunitRange(0x8dbe, 0x8dc3), - CodeunitRange(0x8dc5, 0x8dc8), - CodeunitRange(0x8dcb, 0x8dd1), - CodeunitRange(0x8dd3, 0x8ddd), - CodeunitRange(0x8ddf, 0x8de4), - CodeunitRange(0x8de6, 0x8dec), - CodeunitRange(0x8dee, 0x8df4), - CodeunitRange(0x8dfa, 0x8dfa), - CodeunitRange(0x8dfc, 0x8e07), - CodeunitRange(0x8e09, 0x8e0a), - CodeunitRange(0x8e0d, 0x8e2b), - CodeunitRange(0x8e2d, 0x8e2e), - CodeunitRange(0x8e30, 0x8e31), - CodeunitRange(0x8e33, 0x8e36), - CodeunitRange(0x8e38, 0x8e3a), - CodeunitRange(0x8e3c, 0x8e42), - CodeunitRange(0x8e44, 0x8e50), - CodeunitRange(0x8e53, 0x8e57), - CodeunitRange(0x8e59, 0x8e6a), - CodeunitRange(0x8e6c, 0x8e6d), - CodeunitRange(0x8e6f, 0x8e6f), - CodeunitRange(0x8e71, 0x8e78), - CodeunitRange(0x8e7a, 0x8e7c), - CodeunitRange(0x8e7e, 0x8e7e), - CodeunitRange(0x8e80, 0x8e82), - CodeunitRange(0x8e84, 0x8e8e), - CodeunitRange(0x8e90, 0x8e98), - CodeunitRange(0x8e9a, 0x8e9a), - CodeunitRange(0x8e9d, 0x8ea1), - CodeunitRange(0x8ea3, 0x8ead), - CodeunitRange(0x8eb0, 0x8eb0), - CodeunitRange(0x8eb2, 0x8eb2), - CodeunitRange(0x8eb6, 0x8eb6), - CodeunitRange(0x8eb9, 0x8eba), - CodeunitRange(0x8ebc, 0x8ebd), - CodeunitRange(0x8ec0, 0x8ec0), - CodeunitRange(0x8ec2, 0x8ec3), - CodeunitRange(0x8ec9, 0x8ecf), - CodeunitRange(0x8ed1, 0x8ed4), - CodeunitRange(0x8ed7, 0x8ed8), - CodeunitRange(0x8eda, 0x8ee2), - CodeunitRange(0x8ee4, 0x8ee9), - CodeunitRange(0x8eeb, 0x8eef), - CodeunitRange(0x8ef1, 0x8ef2), - CodeunitRange(0x8ef4, 0x8efc), - CodeunitRange(0x8efe, 0x8f03), - CodeunitRange(0x8f05, 0x8f0b), - CodeunitRange(0x8f0d, 0x8f0e), - CodeunitRange(0x8f10, 0x8f20), - CodeunitRange(0x8f23, 0x8f26), - CodeunitRange(0x8f29, 0x8f2a), - CodeunitRange(0x8f2c, 0x8f30), - CodeunitRange(0x8f32, 0x8f39), - CodeunitRange(0x8f3b, 0x8f3c), - CodeunitRange(0x8f3e, 0x8f4b), - CodeunitRange(0x8f4d, 0x8f64), - CodeunitRange(0x8f66, 0x8f67), - CodeunitRange(0x8f6e, 0x8f6e), - CodeunitRange(0x8f93, 0x8f93), - CodeunitRange(0x8f9b, 0x8f9c), - CodeunitRange(0x8f9f, 0x8fa0), - CodeunitRange(0x8fa3, 0x8fa3), - CodeunitRange(0x8fa5, 0x8fa8), - CodeunitRange(0x8fad, 0x8fbc), - CodeunitRange(0x8fbe, 0x8fbf), - CodeunitRange(0x8fc1, 0x8fc2), - CodeunitRange(0x8fc4, 0x8fc6), - CodeunitRange(0x8fc9, 0x8fd7), - CodeunitRange(0x8fda, 0x8fda), - CodeunitRange(0x8fe0, 0x8fe6), - CodeunitRange(0x8fe8, 0x8fe8), - CodeunitRange(0x8fea, 0x8feb), - CodeunitRange(0x8fed, 0x8fee), - CodeunitRange(0x8ff0, 0x8ff0), - CodeunitRange(0x8ff4, 0x9006), - CodeunitRange(0x9008, 0x9008), - CodeunitRange(0x900b, 0x900d), - CodeunitRange(0x900f, 0x9012), - CodeunitRange(0x9014, 0x9017), - CodeunitRange(0x9019, 0x9024), - CodeunitRange(0x902d, 0x902f), - CodeunitRange(0x9031, 0x9038), - CodeunitRange(0x903c, 0x903f), - CodeunitRange(0x9041, 0x9042), - CodeunitRange(0x9044, 0x9044), - CodeunitRange(0x9046, 0x9047), - CodeunitRange(0x9049, 0x9056), - CodeunitRange(0x9058, 0x9059), - CodeunitRange(0x905b, 0x905e), - CodeunitRange(0x9060, 0x9064), - CodeunitRange(0x9067, 0x9069), - CodeunitRange(0x906b, 0x9070), - CodeunitRange(0x9072, 0x9088), - CodeunitRange(0x908a, 0x908b), - CodeunitRange(0x908d, 0x908d), - CodeunitRange(0x908f, 0x9091), - CodeunitRange(0x9094, 0x9095), - CodeunitRange(0x9097, 0x9099), - CodeunitRange(0x909b, 0x909b), - CodeunitRange(0x909e, 0x90a3), - CodeunitRange(0x90a5, 0x90a8), - CodeunitRange(0x90aa, 0x90aa), - CodeunitRange(0x90ae, 0x90b6), - CodeunitRange(0x90b8, 0x90b8), - CodeunitRange(0x90bb, 0x90bb), - CodeunitRange(0x90bd, 0x90bf), - CodeunitRange(0x90c1, 0x90c1), - CodeunitRange(0x90c3, 0x90c5), - CodeunitRange(0x90c7, 0x90c8), - CodeunitRange(0x90ca, 0x90cb), - CodeunitRange(0x90ce, 0x90ce), - CodeunitRange(0x90d4, 0x90dd), - CodeunitRange(0x90df, 0x90e5), - CodeunitRange(0x90e8, 0x90ed), - CodeunitRange(0x90ef, 0x90f5), - CodeunitRange(0x90f9, 0x9109), - CodeunitRange(0x910b, 0x910b), - CodeunitRange(0x910d, 0x9112), - CodeunitRange(0x9114, 0x9114), - CodeunitRange(0x9116, 0x9124), - CodeunitRange(0x9126, 0x9136), - CodeunitRange(0x9138, 0x913b), - CodeunitRange(0x913e, 0x9141), - CodeunitRange(0x9143, 0x9153), - CodeunitRange(0x9155, 0x915a), - CodeunitRange(0x915c, 0x915c), - CodeunitRange(0x915e, 0x9165), - CodeunitRange(0x9167, 0x916a), - CodeunitRange(0x916c, 0x916c), - CodeunitRange(0x916e, 0x9170), - CodeunitRange(0x9172, 0x917a), - CodeunitRange(0x917c, 0x917c), - CodeunitRange(0x9180, 0x9187), - CodeunitRange(0x9189, 0x9193), - CodeunitRange(0x9196, 0x9196), - CodeunitRange(0x9199, 0x91a3), - CodeunitRange(0x91a5, 0x91a5), - CodeunitRange(0x91a7, 0x91b7), - CodeunitRange(0x91b9, 0x91be), - CodeunitRange(0x91c0, 0x91c7), - CodeunitRange(0x91c9, 0x91c9), - CodeunitRange(0x91cb, 0x91d1), - CodeunitRange(0x91d3, 0x91da), - CodeunitRange(0x91dc, 0x91dd), - CodeunitRange(0x91df, 0x91df), - CodeunitRange(0x91e2, 0x91ee), - CodeunitRange(0x91f1, 0x91f1), - CodeunitRange(0x91f3, 0x91fa), - CodeunitRange(0x91fd, 0x920a), - CodeunitRange(0x920c, 0x921a), - CodeunitRange(0x921c, 0x921c), - CodeunitRange(0x921e, 0x921e), - CodeunitRange(0x9221, 0x9221), - CodeunitRange(0x9223, 0x9228), - CodeunitRange(0x922a, 0x922b), - CodeunitRange(0x922d, 0x922e), - CodeunitRange(0x9230, 0x923a), - CodeunitRange(0x923c, 0x9241), - CodeunitRange(0x9244, 0x9246), - CodeunitRange(0x9248, 0x9258), - CodeunitRange(0x925a, 0x925b), - CodeunitRange(0x925d, 0x9267), - CodeunitRange(0x926b, 0x9270), - CodeunitRange(0x9272, 0x9272), - CodeunitRange(0x9276, 0x928f), - CodeunitRange(0x9291, 0x9291), - CodeunitRange(0x9293, 0x929d), - CodeunitRange(0x92a0, 0x92ac), - CodeunitRange(0x92ae, 0x92ae), - CodeunitRange(0x92b1, 0x92b7), - CodeunitRange(0x92b9, 0x92bc), - CodeunitRange(0x92be, 0x92d5), - CodeunitRange(0x92d7, 0x92d9), - CodeunitRange(0x92db, 0x92db), - CodeunitRange(0x92dd, 0x92e1), - CodeunitRange(0x92e3, 0x92f4), - CodeunitRange(0x92f6, 0x9304), - CodeunitRange(0x9306, 0x9309), - CodeunitRange(0x930b, 0x9310), - CodeunitRange(0x9312, 0x9316), - CodeunitRange(0x9318, 0x931b), - CodeunitRange(0x931d, 0x9331), - CodeunitRange(0x9333, 0x9336), - CodeunitRange(0x9338, 0x9339), - CodeunitRange(0x933c, 0x933c), - CodeunitRange(0x9340, 0x9352), - CodeunitRange(0x9354, 0x935c), - CodeunitRange(0x935e, 0x936e), - CodeunitRange(0x9370, 0x9371), - CodeunitRange(0x9373, 0x937e), - CodeunitRange(0x9380, 0x938a), - CodeunitRange(0x938c, 0x9392), - CodeunitRange(0x9394, 0x93aa), - CodeunitRange(0x93ac, 0x93b5), - CodeunitRange(0x93b7, 0x93b8), - CodeunitRange(0x93bb, 0x93bb), - CodeunitRange(0x93bd, 0x93bd), - CodeunitRange(0x93bf, 0x93c0), - CodeunitRange(0x93c2, 0x93c4), - CodeunitRange(0x93c6, 0x93c8), - CodeunitRange(0x93ca, 0x93e4), - CodeunitRange(0x93e6, 0x93e8), - CodeunitRange(0x93ec, 0x93ec), - CodeunitRange(0x93ee, 0x93ee), - CodeunitRange(0x93f0, 0x93f1), - CodeunitRange(0x93f3, 0x9401), - CodeunitRange(0x9403, 0x9404), - CodeunitRange(0x9406, 0x9419), - CodeunitRange(0x941b, 0x941b), - CodeunitRange(0x941d, 0x941d), - CodeunitRange(0x9420, 0x9420), - CodeunitRange(0x9424, 0x9433), - CodeunitRange(0x9435, 0x9440), - CodeunitRange(0x9442, 0x944d), - CodeunitRange(0x944f, 0x9452), - CodeunitRange(0x9454, 0x9455), - CodeunitRange(0x9457, 0x9458), - CodeunitRange(0x945b, 0x945b), - CodeunitRange(0x945d, 0x945e), - CodeunitRange(0x9460, 0x9460), - CodeunitRange(0x9462, 0x9465), - CodeunitRange(0x9467, 0x9479), - CodeunitRange(0x947b, 0x9483), - CodeunitRange(0x9485, 0x9485), - CodeunitRange(0x949f, 0x949f), - CodeunitRange(0x94a2, 0x94a2), - CodeunitRange(0x94c1, 0x94c1), - CodeunitRange(0x94c3, 0x94c3), - CodeunitRange(0x94dc, 0x94dc), - CodeunitRange(0x94f6, 0x94f6), - CodeunitRange(0x952d, 0x952d), - CodeunitRange(0x9547, 0x9547), - CodeunitRange(0x9577, 0x9578), - CodeunitRange(0x957a, 0x957d), - CodeunitRange(0x957f, 0x9580), - CodeunitRange(0x9582, 0x9583), - CodeunitRange(0x9585, 0x9586), - CodeunitRange(0x9588, 0x9589), - CodeunitRange(0x958b, 0x9594), - CodeunitRange(0x9596, 0x9599), - CodeunitRange(0x959b, 0x959c), - CodeunitRange(0x959e, 0x95ae), - CodeunitRange(0x95b0, 0x95b2), - CodeunitRange(0x95b5, 0x95b7), - CodeunitRange(0x95b9, 0x95c0), - CodeunitRange(0x95c3, 0x95c3), - CodeunitRange(0x95c5, 0x95cd), - CodeunitRange(0x95d0, 0x95d6), - CodeunitRange(0x95da, 0x95dc), - CodeunitRange(0x95de, 0x95e5), - CodeunitRange(0x95e8, 0x95e8), - CodeunitRange(0x95f4, 0x95f4), - CodeunitRange(0x961c, 0x961e), - CodeunitRange(0x9620, 0x9624), - CodeunitRange(0x9628, 0x9628), - CodeunitRange(0x962a, 0x962a), - CodeunitRange(0x962c, 0x9633), - CodeunitRange(0x9638, 0x963d), - CodeunitRange(0x963f, 0x9645), - CodeunitRange(0x964a, 0x9651), - CodeunitRange(0x9653, 0x9654), - CodeunitRange(0x9656, 0x9656), - CodeunitRange(0x9658, 0x9658), - CodeunitRange(0x965b, 0x965f), - CodeunitRange(0x9661, 0x9664), - CodeunitRange(0x9669, 0x966d), - CodeunitRange(0x966f, 0x9678), - CodeunitRange(0x967b, 0x967e), - CodeunitRange(0x9680, 0x9681), - CodeunitRange(0x9683, 0x968b), - CodeunitRange(0x968d, 0x968f), - CodeunitRange(0x9691, 0x9699), - CodeunitRange(0x969b, 0x969c), - CodeunitRange(0x969e, 0x969e), - CodeunitRange(0x96a1, 0x96a5), - CodeunitRange(0x96a7, 0x96aa), - CodeunitRange(0x96ac, 0x96ac), - CodeunitRange(0x96ae, 0x96ae), - CodeunitRange(0x96b0, 0x96b1), - CodeunitRange(0x96b3, 0x96b4), - CodeunitRange(0x96b6, 0x96b6), - CodeunitRange(0x96b8, 0x96b9), - CodeunitRange(0x96bb, 0x96bd), - CodeunitRange(0x96bf, 0x96ce), - CodeunitRange(0x96d2, 0x96df), - CodeunitRange(0x96e1, 0x96e3), - CodeunitRange(0x96e5, 0x96e5), - CodeunitRange(0x96e8, 0x96ea), - CodeunitRange(0x96ef, 0x96f2), - CodeunitRange(0x96f4, 0x96fb), - CodeunitRange(0x96fd, 0x96fd), - CodeunitRange(0x96ff, 0x9700), - CodeunitRange(0x9702, 0x9709), - CodeunitRange(0x970b, 0x970b), - CodeunitRange(0x970d, 0x9713), - CodeunitRange(0x9716, 0x9716), - CodeunitRange(0x9718, 0x9719), - CodeunitRange(0x971b, 0x972c), - CodeunitRange(0x972e, 0x9732), - CodeunitRange(0x9734, 0x9736), - CodeunitRange(0x9738, 0x973a), - CodeunitRange(0x973d, 0x9744), - CodeunitRange(0x9746, 0x974b), - CodeunitRange(0x9751, 0x9752), - CodeunitRange(0x9755, 0x9758), - CodeunitRange(0x975a, 0x9762), - CodeunitRange(0x9766, 0x9766), - CodeunitRange(0x9768, 0x976a), - CodeunitRange(0x976c, 0x976e), - CodeunitRange(0x9770, 0x9774), - CodeunitRange(0x9776, 0x9778), - CodeunitRange(0x977a, 0x9785), - CodeunitRange(0x9787, 0x978b), - CodeunitRange(0x978d, 0x978f), - CodeunitRange(0x9794, 0x9794), - CodeunitRange(0x9797, 0x97a6), - CodeunitRange(0x97a8, 0x97a8), - CodeunitRange(0x97aa, 0x97ae), - CodeunitRange(0x97b1, 0x97b4), - CodeunitRange(0x97b6, 0x97bb), - CodeunitRange(0x97bd, 0x97c9), - CodeunitRange(0x97cb, 0x97d0), - CodeunitRange(0x97d2, 0x97d9), - CodeunitRange(0x97dc, 0x97e1), - CodeunitRange(0x97e3, 0x97e3), - CodeunitRange(0x97e5, 0x97e6), - CodeunitRange(0x97ed, 0x97ee), - CodeunitRange(0x97f0, 0x97f3), - CodeunitRange(0x97f5, 0x97f6), - CodeunitRange(0x97f8, 0x97fb), - CodeunitRange(0x97fd, 0x9808), - CodeunitRange(0x980a, 0x980a), - CodeunitRange(0x980c, 0x9818), - CodeunitRange(0x981b, 0x9821), - CodeunitRange(0x9823, 0x9824), - CodeunitRange(0x9826, 0x9829), - CodeunitRange(0x982b, 0x982b), - CodeunitRange(0x982d, 0x9830), - CodeunitRange(0x9832, 0x9835), - CodeunitRange(0x9837, 0x9839), - CodeunitRange(0x983b, 0x983b), - CodeunitRange(0x9841, 0x9841), - CodeunitRange(0x9843, 0x9853), - CodeunitRange(0x9856, 0x9859), - CodeunitRange(0x985b, 0x9860), - CodeunitRange(0x9862, 0x986c), - CodeunitRange(0x986f, 0x9875), - CodeunitRange(0x98a8, 0x98a9), - CodeunitRange(0x98ac, 0x98af), - CodeunitRange(0x98b1, 0x98b4), - CodeunitRange(0x98b6, 0x98c4), - CodeunitRange(0x98c6, 0x98cc), - CodeunitRange(0x98ce, 0x98ce), - CodeunitRange(0x98db, 0x98dc), - CodeunitRange(0x98de, 0x98e3), - CodeunitRange(0x98e5, 0x98e7), - CodeunitRange(0x98e9, 0x98ed), - CodeunitRange(0x98ef, 0x98ef), - CodeunitRange(0x98f1, 0x98f2), - CodeunitRange(0x98f4, 0x98f6), - CodeunitRange(0x98f9, 0x98fa), - CodeunitRange(0x98fc, 0x98fe), - CodeunitRange(0x9900, 0x9900), - CodeunitRange(0x9902, 0x9903), - CodeunitRange(0x9905, 0x9905), - CodeunitRange(0x9907, 0x990a), - CodeunitRange(0x990c, 0x990c), - CodeunitRange(0x990e, 0x990e), - CodeunitRange(0x9910, 0x991c), - CodeunitRange(0x991e, 0x991f), - CodeunitRange(0x9921, 0x9921), - CodeunitRange(0x9924, 0x9925), - CodeunitRange(0x9927, 0x9933), - CodeunitRange(0x9935, 0x9935), - CodeunitRange(0x9937, 0x9943), - CodeunitRange(0x9945, 0x9945), - CodeunitRange(0x9947, 0x994e), - CodeunitRange(0x9950, 0x9959), - CodeunitRange(0x995b, 0x995f), - CodeunitRange(0x9961, 0x9963), - CodeunitRange(0x9996, 0x9999), - CodeunitRange(0x999b, 0x999e), - CodeunitRange(0x99a1, 0x99a1), - CodeunitRange(0x99a3, 0x99a8), - CodeunitRange(0x99aa, 0x99b5), - CodeunitRange(0x99b8, 0x99bd), - CodeunitRange(0x99c1, 0x99c5), - CodeunitRange(0x99c7, 0x99c7), - CodeunitRange(0x99c9, 0x99c9), - CodeunitRange(0x99cb, 0x99dd), - CodeunitRange(0x99df, 0x99e7), - CodeunitRange(0x99e9, 0x99ea), - CodeunitRange(0x99ec, 0x99ee), - CodeunitRange(0x99f0, 0x99f1), - CodeunitRange(0x99f4, 0x99ff), - CodeunitRange(0x9a01, 0x9a07), - CodeunitRange(0x9a09, 0x9a11), - CodeunitRange(0x9a14, 0x9a16), - CodeunitRange(0x9a19, 0x9a27), - CodeunitRange(0x9a29, 0x9a32), - CodeunitRange(0x9a34, 0x9a46), - CodeunitRange(0x9a48, 0x9a4a), - CodeunitRange(0x9a4c, 0x9a50), - CodeunitRange(0x9a52, 0x9a5c), - CodeunitRange(0x9a5e, 0x9a60), - CodeunitRange(0x9a62, 0x9a6c), - CodeunitRange(0x9a8f, 0x9a8f), - CodeunitRange(0x9aa8, 0x9aa8), - CodeunitRange(0x9aab, 0x9aab), - CodeunitRange(0x9aad, 0x9aad), - CodeunitRange(0x9aaf, 0x9ab4), - CodeunitRange(0x9ab6, 0x9ac2), - CodeunitRange(0x9ac6, 0x9ac7), - CodeunitRange(0x9aca, 0x9aca), - CodeunitRange(0x9acd, 0x9acd), - CodeunitRange(0x9acf, 0x9ad8), - CodeunitRange(0x9adc, 0x9adc), - CodeunitRange(0x9adf, 0x9ae3), - CodeunitRange(0x9ae6, 0x9ae7), - CodeunitRange(0x9aeb, 0x9aef), - CodeunitRange(0x9af1, 0x9af4), - CodeunitRange(0x9af6, 0x9af7), - CodeunitRange(0x9af9, 0x9aff), - CodeunitRange(0x9b01, 0x9b06), - CodeunitRange(0x9b08, 0x9b12), - CodeunitRange(0x9b14, 0x9b1a), - CodeunitRange(0x9b1e, 0x9b20), - CodeunitRange(0x9b22, 0x9b25), - CodeunitRange(0x9b27, 0x9b2b), - CodeunitRange(0x9b2d, 0x9b2f), - CodeunitRange(0x9b31, 0x9b35), - CodeunitRange(0x9b37, 0x9b37), - CodeunitRange(0x9b39, 0x9b3c), - CodeunitRange(0x9b3e, 0x9b46), - CodeunitRange(0x9b48, 0x9b48), - CodeunitRange(0x9b4a, 0x9b52), - CodeunitRange(0x9b54, 0x9b56), - CodeunitRange(0x9b58, 0x9b5b), - CodeunitRange(0x9b5f, 0x9b61), - CodeunitRange(0x9b64, 0x9b64), - CodeunitRange(0x9b66, 0x9b69), - CodeunitRange(0x9b6c, 0x9b6c), - CodeunitRange(0x9b6f, 0x9b71), - CodeunitRange(0x9b74, 0x9b77), - CodeunitRange(0x9b7a, 0x9b83), - CodeunitRange(0x9b85, 0x9b88), - CodeunitRange(0x9b8b, 0x9b8b), - CodeunitRange(0x9b8d, 0x9b93), - CodeunitRange(0x9b95, 0x9b95), - CodeunitRange(0x9b97, 0x9b97), - CodeunitRange(0x9b9a, 0x9b9b), - CodeunitRange(0x9b9d, 0x9ba2), - CodeunitRange(0x9ba4, 0x9ba6), - CodeunitRange(0x9ba8, 0x9ba8), - CodeunitRange(0x9baa, 0x9bab), - CodeunitRange(0x9bad, 0x9bb0), - CodeunitRange(0x9bb5, 0x9bb6), - CodeunitRange(0x9bb8, 0x9bb9), - CodeunitRange(0x9bbd, 0x9bbd), - CodeunitRange(0x9bbf, 0x9bc1), - CodeunitRange(0x9bc3, 0x9bc4), - CodeunitRange(0x9bc6, 0x9bca), - CodeunitRange(0x9bcf, 0x9bcf), - CodeunitRange(0x9bd3, 0x9bd7), - CodeunitRange(0x9bd9, 0x9bde), - CodeunitRange(0x9be0, 0x9be2), - CodeunitRange(0x9be4, 0x9bed), - CodeunitRange(0x9bf0, 0x9bf1), - CodeunitRange(0x9bf4, 0x9bf4), - CodeunitRange(0x9bf7, 0x9bf8), - CodeunitRange(0x9bfd, 0x9bfd), - CodeunitRange(0x9bff, 0x9bff), - CodeunitRange(0x9c02, 0x9c02), - CodeunitRange(0x9c05, 0x9c0e), - CodeunitRange(0x9c10, 0x9c10), - CodeunitRange(0x9c12, 0x9c15), - CodeunitRange(0x9c17, 0x9c17), - CodeunitRange(0x9c1b, 0x9c1d), - CodeunitRange(0x9c1f, 0x9c21), - CodeunitRange(0x9c23, 0x9c26), - CodeunitRange(0x9c28, 0x9c29), - CodeunitRange(0x9c2b, 0x9c2d), - CodeunitRange(0x9c2f, 0x9c2f), - CodeunitRange(0x9c31, 0x9c37), - CodeunitRange(0x9c39, 0x9c41), - CodeunitRange(0x9c44, 0x9c50), - CodeunitRange(0x9c52, 0x9c59), - CodeunitRange(0x9c5d, 0x9c60), - CodeunitRange(0x9c62, 0x9c63), - CodeunitRange(0x9c66, 0x9c68), - CodeunitRange(0x9c6d, 0x9c6e), - CodeunitRange(0x9c71, 0x9c75), - CodeunitRange(0x9c77, 0x9c7c), - CodeunitRange(0x9ce5, 0x9ce7), - CodeunitRange(0x9ce9, 0x9cea), - CodeunitRange(0x9ced, 0x9ced), - CodeunitRange(0x9cf1, 0x9cf7), - CodeunitRange(0x9cf9, 0x9cfd), - CodeunitRange(0x9cff, 0x9d00), - CodeunitRange(0x9d02, 0x9d09), - CodeunitRange(0x9d0c, 0x9d0c), - CodeunitRange(0x9d10, 0x9d10), - CodeunitRange(0x9d12, 0x9d12), - CodeunitRange(0x9d14, 0x9d19), - CodeunitRange(0x9d1b, 0x9d1b), - CodeunitRange(0x9d1d, 0x9d23), - CodeunitRange(0x9d25, 0x9d26), - CodeunitRange(0x9d28, 0x9d29), - CodeunitRange(0x9d2d, 0x9d31), - CodeunitRange(0x9d33, 0x9d34), - CodeunitRange(0x9d36, 0x9d39), - CodeunitRange(0x9d3b, 0x9d3b), - CodeunitRange(0x9d3d, 0x9d45), - CodeunitRange(0x9d49, 0x9d4c), - CodeunitRange(0x9d4e, 0x9d54), - CodeunitRange(0x9d56, 0x9d61), - CodeunitRange(0x9d67, 0x9d75), - CodeunitRange(0x9d77, 0x9d79), - CodeunitRange(0x9d7b, 0x9d8c), - CodeunitRange(0x9d90, 0x9d90), - CodeunitRange(0x9d92, 0x9d94), - CodeunitRange(0x9d96, 0x9dad), - CodeunitRange(0x9daf, 0x9daf), - CodeunitRange(0x9db1, 0x9dc5), - CodeunitRange(0x9dc7, 0x9ddf), - CodeunitRange(0x9de1, 0x9de6), - CodeunitRange(0x9de8, 0x9de9), - CodeunitRange(0x9deb, 0x9df0), - CodeunitRange(0x9df2, 0x9e07), - CodeunitRange(0x9e09, 0x9e15), - CodeunitRange(0x9e17, 0x9e1f), - CodeunitRange(0x9e75, 0x9e75), - CodeunitRange(0x9e79, 0x9e7d), - CodeunitRange(0x9e7f, 0x9e8e), - CodeunitRange(0x9e90, 0x9ea2), - CodeunitRange(0x9ea4, 0x9eb1), - CodeunitRange(0x9eb4, 0x9eb7), - CodeunitRange(0x9ebb, 0x9ec4), - CodeunitRange(0x9ec6, 0x9ec8), - CodeunitRange(0x9ecc, 0x9ed1), - CodeunitRange(0x9ed3, 0x9ed6), - CodeunitRange(0x9ed8, 0x9ed8), - CodeunitRange(0x9eda, 0x9ee0), - CodeunitRange(0x9ee2, 0x9ee2), - CodeunitRange(0x9ee4, 0x9ee8), - CodeunitRange(0x9eeb, 0x9eeb), - CodeunitRange(0x9eed, 0x9f02), - CodeunitRange(0x9f06, 0x9f0a), - CodeunitRange(0x9f0e, 0x9f10), - CodeunitRange(0x9f12, 0x9f13), - CodeunitRange(0x9f15, 0x9f1c), - CodeunitRange(0x9f1e, 0x9f1e), - CodeunitRange(0x9f20, 0x9f20), - CodeunitRange(0x9f22, 0x9f39), - CodeunitRange(0x9f3b, 0x9f3b), - CodeunitRange(0x9f3d, 0x9f3e), - CodeunitRange(0x9f40, 0x9f50), - CodeunitRange(0x9f52, 0x9f67), - CodeunitRange(0x9f69, 0x9f6c), - CodeunitRange(0x9f6e, 0x9f72), - CodeunitRange(0x9f74, 0x9f7b), - CodeunitRange(0x9f7e, 0x9f7f), - CodeunitRange(0x9f8d, 0x9f8e), - CodeunitRange(0x9f90, 0x9f92), - CodeunitRange(0x9f94, 0x9f99), - CodeunitRange(0x9f9c, 0x9f9c), - CodeunitRange(0x9f9f, 0x9fa0), - CodeunitRange(0x9fa2, 0x9fa2), - CodeunitRange(0x9fa4, 0x9fb3), - CodeunitRange(0x9fc7, 0x9fcb), - CodeunitRange(0x9fd0, 0x9fd0), - CodeunitRange(0xf900, 0xf908), - CodeunitRange(0xf90b, 0xf90d), - CodeunitRange(0xf915, 0xf915), - CodeunitRange(0xf917, 0xf917), - CodeunitRange(0xf91a, 0xf91a), - CodeunitRange(0xf922, 0xf922), - CodeunitRange(0xf92d, 0xf92d), - CodeunitRange(0xf934, 0xf934), - CodeunitRange(0xf937, 0xf937), - CodeunitRange(0xf93a, 0xf93a), - CodeunitRange(0xf943, 0xf943), - CodeunitRange(0xf947, 0xf948), - CodeunitRange(0xf94a, 0xf94a), - CodeunitRange(0xf952, 0xf952), - CodeunitRange(0xf95e, 0xf95e), - CodeunitRange(0xf962, 0xf962), - CodeunitRange(0xf965, 0xf965), - CodeunitRange(0xf967, 0xf967), - CodeunitRange(0xf96d, 0xf96d), - CodeunitRange(0xf972, 0xf972), - CodeunitRange(0xf976, 0xf976), - CodeunitRange(0xf978, 0xf979), - CodeunitRange(0xf97b, 0xf97b), - CodeunitRange(0xf97e, 0xf97e), - CodeunitRange(0xf980, 0xf980), - CodeunitRange(0xf986, 0xf986), - CodeunitRange(0xf98a, 0xf98a), - CodeunitRange(0xf98e, 0xf98e), - CodeunitRange(0xf995, 0xf995), - CodeunitRange(0xf99c, 0xf99d), - CodeunitRange(0xf99f, 0xf99f), - CodeunitRange(0xf9b5, 0xf9b5), - CodeunitRange(0xf9bb, 0xf9bb), - CodeunitRange(0xf9bd, 0xf9be), - CodeunitRange(0xf9c5, 0xf9c6), - CodeunitRange(0xf9c8, 0xf9c8), - CodeunitRange(0xf9d0, 0xf9d0), - CodeunitRange(0xf9d8, 0xf9d9), - CodeunitRange(0xf9dc, 0xf9de), - CodeunitRange(0xf9e0, 0xf9e0), - CodeunitRange(0xf9e2, 0xf9e4), - CodeunitRange(0xf9e7, 0xf9e7), - CodeunitRange(0xf9e9, 0xf9e9), - CodeunitRange(0xf9f4, 0xf9f5), - CodeunitRange(0xf9fa, 0xf9fa), - CodeunitRange(0xf9fd, 0xf9fd), - CodeunitRange(0xf9ff, 0xf9ff), - CodeunitRange(0xfa02, 0xfa02), - CodeunitRange(0xfa05, 0xfa08), - CodeunitRange(0xfa0a, 0xfa0a), - CodeunitRange(0xfa0c, 0xfa0d), - CodeunitRange(0xfa33, 0xfa35), - CodeunitRange(0xfa3a, 0xfa3a), - CodeunitRange(0xfa49, 0xfa49), - CodeunitRange(0xfa4b, 0xfa4b), - CodeunitRange(0xfa5d, 0xfa5e), - CodeunitRange(0xfb00, 0xfb04), - CodeunitRange(0xfe10, 0xfe19), - CodeunitRange(0xfe30, 0xfe52), - CodeunitRange(0xfe54, 0xfe66), - CodeunitRange(0xfe68, 0xfe6b), - CodeunitRange(0xff01, 0xff9f), - CodeunitRange(0xffa1, 0xffbe), - CodeunitRange(0xffc2, 0xffc7), - CodeunitRange(0xffca, 0xffcf), - CodeunitRange(0xffd2, 0xffd7), - CodeunitRange(0xffda, 0xffdc), - CodeunitRange(0xffe0, 0xffe6), - CodeunitRange(0xffe8, 0xffee), - CodeunitRange(0x1f100, 0x1f10c), - CodeunitRange(0x1f110, 0x1f16c), - CodeunitRange(0x1f170, 0x1f1ac), - CodeunitRange(0x1f200, 0x1f202), - CodeunitRange(0x1f210, 0x1f23b), - CodeunitRange(0x1f240, 0x1f248), - CodeunitRange(0x1f250, 0x1f251), - CodeunitRange(0x20021, 0x20021), - CodeunitRange(0x2003e, 0x2003e), - CodeunitRange(0x20046, 0x20046), - CodeunitRange(0x2004e, 0x2004e), - CodeunitRange(0x20068, 0x20068), - CodeunitRange(0x20086, 0x20087), - CodeunitRange(0x2008a, 0x2008a), - CodeunitRange(0x20094, 0x20094), - CodeunitRange(0x200ca, 0x200cd), - CodeunitRange(0x200d1, 0x200d1), - CodeunitRange(0x200ee, 0x200ee), - CodeunitRange(0x2010c, 0x2010c), - CodeunitRange(0x2010e, 0x2010e), - CodeunitRange(0x20118, 0x20118), - CodeunitRange(0x201a4, 0x201a4), - CodeunitRange(0x201a9, 0x201a9), - CodeunitRange(0x201ab, 0x201ab), - CodeunitRange(0x201c1, 0x201c1), - CodeunitRange(0x201d4, 0x201d4), - CodeunitRange(0x201f2, 0x201f2), - CodeunitRange(0x20204, 0x20204), - CodeunitRange(0x2020c, 0x2020c), - CodeunitRange(0x20214, 0x20214), - CodeunitRange(0x20239, 0x20239), - CodeunitRange(0x2025b, 0x2025b), - CodeunitRange(0x20274, 0x20275), - CodeunitRange(0x20299, 0x20299), - CodeunitRange(0x2029e, 0x2029e), - CodeunitRange(0x202a0, 0x202a0), - CodeunitRange(0x202b7, 0x202b7), - CodeunitRange(0x202bf, 0x202c0), - CodeunitRange(0x202e5, 0x202e5), - CodeunitRange(0x2030a, 0x2030a), - CodeunitRange(0x20325, 0x20325), - CodeunitRange(0x20341, 0x20341), - CodeunitRange(0x20345, 0x20347), - CodeunitRange(0x2037e, 0x20380), - CodeunitRange(0x203a0, 0x203a0), - CodeunitRange(0x203a7, 0x203a7), - CodeunitRange(0x203b5, 0x203b5), - CodeunitRange(0x203c9, 0x203c9), - CodeunitRange(0x203cb, 0x203cb), - CodeunitRange(0x203f5, 0x203f5), - CodeunitRange(0x203fc, 0x203fc), - CodeunitRange(0x20413, 0x20414), - CodeunitRange(0x2041f, 0x2041f), - CodeunitRange(0x20465, 0x20465), - CodeunitRange(0x20487, 0x20487), - CodeunitRange(0x2048e, 0x2048e), - CodeunitRange(0x20491, 0x20492), - CodeunitRange(0x204a3, 0x204a3), - CodeunitRange(0x204d7, 0x204d7), - CodeunitRange(0x204fc, 0x204fc), - CodeunitRange(0x204fe, 0x204fe), - CodeunitRange(0x20547, 0x20547), - CodeunitRange(0x2058e, 0x2058e), - CodeunitRange(0x205a5, 0x205a5), - CodeunitRange(0x205b3, 0x205b3), - CodeunitRange(0x205c3, 0x205c3), - CodeunitRange(0x205ca, 0x205ca), - CodeunitRange(0x205d0, 0x205d0), - CodeunitRange(0x205d5, 0x205d5), - CodeunitRange(0x205df, 0x205e0), - CodeunitRange(0x205eb, 0x205eb), - CodeunitRange(0x20611, 0x20611), - CodeunitRange(0x20615, 0x20615), - CodeunitRange(0x20619, 0x2061a), - CodeunitRange(0x20628, 0x20628), - CodeunitRange(0x20630, 0x20630), - CodeunitRange(0x20656, 0x20656), - CodeunitRange(0x20676, 0x20676), - CodeunitRange(0x2070e, 0x2070e), - CodeunitRange(0x20731, 0x20731), - CodeunitRange(0x20779, 0x20779), - CodeunitRange(0x2082c, 0x2082c), - CodeunitRange(0x20873, 0x20873), - CodeunitRange(0x208d5, 0x208d5), - CodeunitRange(0x20916, 0x20916), - CodeunitRange(0x20923, 0x20923), - CodeunitRange(0x20954, 0x20954), - CodeunitRange(0x20979, 0x20979), - CodeunitRange(0x209e7, 0x209e7), - CodeunitRange(0x20a11, 0x20a11), - CodeunitRange(0x20a50, 0x20a50), - CodeunitRange(0x20a6f, 0x20a6f), - CodeunitRange(0x20a8a, 0x20a8a), - CodeunitRange(0x20ab4, 0x20ab4), - CodeunitRange(0x20ac2, 0x20ac2), - CodeunitRange(0x20acd, 0x20acd), - CodeunitRange(0x20b0d, 0x20b0d), - CodeunitRange(0x20b8f, 0x20b8f), - CodeunitRange(0x20b9f, 0x20b9f), - CodeunitRange(0x20ba8, 0x20ba9), - CodeunitRange(0x20bbf, 0x20bbf), - CodeunitRange(0x20bc6, 0x20bc6), - CodeunitRange(0x20bcb, 0x20bcb), - CodeunitRange(0x20be2, 0x20be2), - CodeunitRange(0x20beb, 0x20beb), - CodeunitRange(0x20bfb, 0x20bfb), - CodeunitRange(0x20bff, 0x20bff), - CodeunitRange(0x20c0b, 0x20c0b), - CodeunitRange(0x20c0d, 0x20c0d), - CodeunitRange(0x20c20, 0x20c20), - CodeunitRange(0x20c34, 0x20c34), - CodeunitRange(0x20c3a, 0x20c3b), - CodeunitRange(0x20c41, 0x20c43), - CodeunitRange(0x20c53, 0x20c53), - CodeunitRange(0x20c65, 0x20c65), - CodeunitRange(0x20c77, 0x20c78), - CodeunitRange(0x20c7c, 0x20c7c), - CodeunitRange(0x20c8d, 0x20c8d), - CodeunitRange(0x20c96, 0x20c96), - CodeunitRange(0x20c9c, 0x20c9c), - CodeunitRange(0x20cb5, 0x20cb5), - CodeunitRange(0x20cb8, 0x20cb8), - CodeunitRange(0x20ccf, 0x20ccf), - CodeunitRange(0x20cd3, 0x20cd6), - CodeunitRange(0x20cdd, 0x20cdd), - CodeunitRange(0x20ced, 0x20ced), - CodeunitRange(0x20cff, 0x20cff), - CodeunitRange(0x20d15, 0x20d15), - CodeunitRange(0x20d28, 0x20d28), - CodeunitRange(0x20d31, 0x20d32), - CodeunitRange(0x20d46, 0x20d49), - CodeunitRange(0x20d4c, 0x20d4e), - CodeunitRange(0x20d6f, 0x20d6f), - CodeunitRange(0x20d71, 0x20d71), - CodeunitRange(0x20d74, 0x20d74), - CodeunitRange(0x20d7c, 0x20d7c), - CodeunitRange(0x20d7e, 0x20d7f), - CodeunitRange(0x20d96, 0x20d96), - CodeunitRange(0x20d9c, 0x20d9c), - CodeunitRange(0x20da7, 0x20da7), - CodeunitRange(0x20db2, 0x20db2), - CodeunitRange(0x20dc8, 0x20dc8), - CodeunitRange(0x20e04, 0x20e04), - CodeunitRange(0x20e09, 0x20e0a), - CodeunitRange(0x20e0d, 0x20e11), - CodeunitRange(0x20e16, 0x20e16), - CodeunitRange(0x20e1d, 0x20e1d), - CodeunitRange(0x20e4c, 0x20e4c), - CodeunitRange(0x20e6d, 0x20e6d), - CodeunitRange(0x20e73, 0x20e73), - CodeunitRange(0x20e75, 0x20e7b), - CodeunitRange(0x20e8c, 0x20e8c), - CodeunitRange(0x20e96, 0x20e96), - CodeunitRange(0x20e98, 0x20e98), - CodeunitRange(0x20e9d, 0x20e9d), - CodeunitRange(0x20ea2, 0x20ea2), - CodeunitRange(0x20eaa, 0x20eac), - CodeunitRange(0x20eb6, 0x20eb6), - CodeunitRange(0x20ed7, 0x20ed8), - CodeunitRange(0x20edd, 0x20edd), - CodeunitRange(0x20ef8, 0x20efb), - CodeunitRange(0x20f1d, 0x20f1d), - CodeunitRange(0x20f26, 0x20f26), - CodeunitRange(0x20f2d, 0x20f2e), - CodeunitRange(0x20f30, 0x20f31), - CodeunitRange(0x20f3b, 0x20f3b), - CodeunitRange(0x20f4c, 0x20f4c), - CodeunitRange(0x20f64, 0x20f64), - CodeunitRange(0x20f8d, 0x20f8d), - CodeunitRange(0x20f90, 0x20f90), - CodeunitRange(0x20fad, 0x20fad), - CodeunitRange(0x20fb4, 0x20fb6), - CodeunitRange(0x20fbc, 0x20fbc), - CodeunitRange(0x20fdf, 0x20fdf), - CodeunitRange(0x20fea, 0x20fed), - CodeunitRange(0x21014, 0x21014), - CodeunitRange(0x2101d, 0x2101e), - CodeunitRange(0x2104f, 0x2104f), - CodeunitRange(0x2105c, 0x2105c), - CodeunitRange(0x2106f, 0x2106f), - CodeunitRange(0x21075, 0x21078), - CodeunitRange(0x2107b, 0x2107b), - CodeunitRange(0x21088, 0x21088), - CodeunitRange(0x21096, 0x21096), - CodeunitRange(0x2109d, 0x2109d), - CodeunitRange(0x210b4, 0x210b4), - CodeunitRange(0x210bf, 0x210c1), - CodeunitRange(0x210c7, 0x210c9), - CodeunitRange(0x210cf, 0x210cf), - CodeunitRange(0x210d3, 0x210d3), - CodeunitRange(0x210e4, 0x210e4), - CodeunitRange(0x210f4, 0x210f6), - CodeunitRange(0x2112f, 0x2112f), - CodeunitRange(0x2113b, 0x2113b), - CodeunitRange(0x2113d, 0x2113d), - CodeunitRange(0x21145, 0x21145), - CodeunitRange(0x21148, 0x21148), - CodeunitRange(0x2114f, 0x2114f), - CodeunitRange(0x21180, 0x21180), - CodeunitRange(0x21187, 0x21187), - CodeunitRange(0x211d9, 0x211d9), - CodeunitRange(0x2123c, 0x2123c), - CodeunitRange(0x2124f, 0x2124f), - CodeunitRange(0x2127c, 0x2127c), - CodeunitRange(0x212a8, 0x212a9), - CodeunitRange(0x212b0, 0x212b0), - CodeunitRange(0x212e3, 0x212e3), - CodeunitRange(0x212fe, 0x212fe), - CodeunitRange(0x21302, 0x21305), - CodeunitRange(0x21336, 0x21336), - CodeunitRange(0x2133a, 0x2133a), - CodeunitRange(0x21375, 0x21376), - CodeunitRange(0x2138e, 0x2138e), - CodeunitRange(0x21398, 0x21398), - CodeunitRange(0x2139c, 0x2139c), - CodeunitRange(0x213c5, 0x213c6), - CodeunitRange(0x213ed, 0x213ed), - CodeunitRange(0x213fe, 0x213fe), - CodeunitRange(0x21413, 0x21413), - CodeunitRange(0x21416, 0x21416), - CodeunitRange(0x21424, 0x21424), - CodeunitRange(0x2143f, 0x2143f), - CodeunitRange(0x21452, 0x21452), - CodeunitRange(0x21454, 0x21455), - CodeunitRange(0x2148a, 0x2148a), - CodeunitRange(0x21497, 0x21497), - CodeunitRange(0x214b6, 0x214b6), - CodeunitRange(0x214e8, 0x214e8), - CodeunitRange(0x214fd, 0x214fd), - CodeunitRange(0x21577, 0x21577), - CodeunitRange(0x21582, 0x21582), - CodeunitRange(0x21596, 0x21596), - CodeunitRange(0x2160a, 0x2160a), - CodeunitRange(0x21613, 0x21613), - CodeunitRange(0x21619, 0x21619), - CodeunitRange(0x2163e, 0x2163e), - CodeunitRange(0x21661, 0x21661), - CodeunitRange(0x21692, 0x21692), - CodeunitRange(0x216b8, 0x216b8), - CodeunitRange(0x216ba, 0x216ba), - CodeunitRange(0x216c0, 0x216c2), - CodeunitRange(0x216d3, 0x216d3), - CodeunitRange(0x216d5, 0x216d5), - CodeunitRange(0x216df, 0x216df), - CodeunitRange(0x216e6, 0x216e8), - CodeunitRange(0x216fa, 0x216fc), - CodeunitRange(0x216fe, 0x216fe), - CodeunitRange(0x2170d, 0x2170d), - CodeunitRange(0x21710, 0x21710), - CodeunitRange(0x21726, 0x21726), - CodeunitRange(0x2173a, 0x2173c), - CodeunitRange(0x21757, 0x21757), - CodeunitRange(0x2176c, 0x21771), - CodeunitRange(0x21773, 0x21774), - CodeunitRange(0x217ab, 0x217ab), - CodeunitRange(0x217b0, 0x217b5), - CodeunitRange(0x217c3, 0x217c3), - CodeunitRange(0x217c7, 0x217c7), - CodeunitRange(0x217d9, 0x217dc), - CodeunitRange(0x217df, 0x217df), - CodeunitRange(0x217ef, 0x217ef), - CodeunitRange(0x217f5, 0x217f6), - CodeunitRange(0x217f8, 0x217fc), - CodeunitRange(0x21820, 0x21820), - CodeunitRange(0x21828, 0x2182a), - CodeunitRange(0x2182d, 0x2182d), - CodeunitRange(0x21839, 0x2183b), - CodeunitRange(0x21840, 0x21840), - CodeunitRange(0x21845, 0x21845), - CodeunitRange(0x21852, 0x21852), - CodeunitRange(0x2185e, 0x2185e), - CodeunitRange(0x21861, 0x21864), - CodeunitRange(0x21877, 0x21877), - CodeunitRange(0x2187b, 0x2187b), - CodeunitRange(0x21883, 0x21885), - CodeunitRange(0x2189e, 0x218a2), - CodeunitRange(0x218be, 0x218bf), - CodeunitRange(0x218d1, 0x218d1), - CodeunitRange(0x218d6, 0x218d9), - CodeunitRange(0x218fa, 0x218fa), - CodeunitRange(0x21903, 0x21905), - CodeunitRange(0x21910, 0x21912), - CodeunitRange(0x21915, 0x21915), - CodeunitRange(0x2191c, 0x2191c), - CodeunitRange(0x21922, 0x21922), - CodeunitRange(0x21927, 0x21927), - CodeunitRange(0x2193b, 0x2193b), - CodeunitRange(0x21944, 0x21944), - CodeunitRange(0x21958, 0x21958), - CodeunitRange(0x2196a, 0x2196a), - CodeunitRange(0x2197c, 0x2197c), - CodeunitRange(0x21980, 0x21980), - CodeunitRange(0x21983, 0x21983), - CodeunitRange(0x21988, 0x21988), - CodeunitRange(0x21996, 0x21996), - CodeunitRange(0x219db, 0x219db), - CodeunitRange(0x219f3, 0x219f3), - CodeunitRange(0x21a2d, 0x21a2d), - CodeunitRange(0x21a34, 0x21a34), - CodeunitRange(0x21a45, 0x21a45), - CodeunitRange(0x21a4b, 0x21a4b), - CodeunitRange(0x21a63, 0x21a63), - CodeunitRange(0x21b44, 0x21b44), - CodeunitRange(0x21bc1, 0x21bc2), - CodeunitRange(0x21c2a, 0x21c2a), - CodeunitRange(0x21c70, 0x21c70), - CodeunitRange(0x21ca2, 0x21ca2), - CodeunitRange(0x21ca5, 0x21ca5), - CodeunitRange(0x21cac, 0x21cac), - CodeunitRange(0x21d46, 0x21d46), - CodeunitRange(0x21d53, 0x21d53), - CodeunitRange(0x21d5e, 0x21d5e), - CodeunitRange(0x21d90, 0x21d90), - CodeunitRange(0x21db6, 0x21db6), - CodeunitRange(0x21dba, 0x21dba), - CodeunitRange(0x21dca, 0x21dca), - CodeunitRange(0x21dd1, 0x21dd1), - CodeunitRange(0x21deb, 0x21deb), - CodeunitRange(0x21df9, 0x21df9), - CodeunitRange(0x21e1c, 0x21e1c), - CodeunitRange(0x21e23, 0x21e23), - CodeunitRange(0x21e37, 0x21e37), - CodeunitRange(0x21e3d, 0x21e3d), - CodeunitRange(0x21e89, 0x21e89), - CodeunitRange(0x21ea4, 0x21ea4), - CodeunitRange(0x21ea8, 0x21ea8), - CodeunitRange(0x21ec8, 0x21ec8), - CodeunitRange(0x21ed5, 0x21ed5), - CodeunitRange(0x21f0f, 0x21f0f), - CodeunitRange(0x21f15, 0x21f15), - CodeunitRange(0x21f6a, 0x21f6a), - CodeunitRange(0x21f9e, 0x21f9e), - CodeunitRange(0x21fa1, 0x21fa1), - CodeunitRange(0x21fe8, 0x21fe8), - CodeunitRange(0x22045, 0x22045), - CodeunitRange(0x22049, 0x22049), - CodeunitRange(0x2207e, 0x2207e), - CodeunitRange(0x2209a, 0x2209a), - CodeunitRange(0x220c7, 0x220c7), - CodeunitRange(0x220fc, 0x220fc), - CodeunitRange(0x2212a, 0x2212a), - CodeunitRange(0x2215b, 0x2215b), - CodeunitRange(0x22173, 0x22173), - CodeunitRange(0x2217a, 0x2217a), - CodeunitRange(0x221a1, 0x221a1), - CodeunitRange(0x221c1, 0x221c1), - CodeunitRange(0x221c3, 0x221c3), - CodeunitRange(0x22208, 0x22208), - CodeunitRange(0x2227c, 0x2227c), - CodeunitRange(0x22321, 0x22321), - CodeunitRange(0x22325, 0x22325), - CodeunitRange(0x223bd, 0x223bd), - CodeunitRange(0x223d0, 0x223d0), - CodeunitRange(0x223d7, 0x223d7), - CodeunitRange(0x223fa, 0x223fa), - CodeunitRange(0x22465, 0x22465), - CodeunitRange(0x22471, 0x22471), - CodeunitRange(0x2248b, 0x2248b), - CodeunitRange(0x22491, 0x22491), - CodeunitRange(0x224b0, 0x224b0), - CodeunitRange(0x224bc, 0x224bc), - CodeunitRange(0x224c1, 0x224c1), - CodeunitRange(0x224c9, 0x224c9), - CodeunitRange(0x224cc, 0x224cc), - CodeunitRange(0x224ed, 0x224ed), - CodeunitRange(0x22513, 0x22513), - CodeunitRange(0x2251b, 0x2251b), - CodeunitRange(0x22530, 0x22530), - CodeunitRange(0x22554, 0x22554), - CodeunitRange(0x2258d, 0x2258d), - CodeunitRange(0x225af, 0x225af), - CodeunitRange(0x225be, 0x225be), - CodeunitRange(0x2261b, 0x2261c), - CodeunitRange(0x2262b, 0x2262b), - CodeunitRange(0x22668, 0x22668), - CodeunitRange(0x2267a, 0x2267a), - CodeunitRange(0x22696, 0x22696), - CodeunitRange(0x22698, 0x22698), - CodeunitRange(0x226f4, 0x226f6), - CodeunitRange(0x22712, 0x22712), - CodeunitRange(0x22714, 0x22714), - CodeunitRange(0x2271b, 0x2271b), - CodeunitRange(0x2271f, 0x2271f), - CodeunitRange(0x2272a, 0x2272a), - CodeunitRange(0x22775, 0x22775), - CodeunitRange(0x22781, 0x22781), - CodeunitRange(0x22796, 0x22796), - CodeunitRange(0x227b4, 0x227b5), - CodeunitRange(0x227cd, 0x227cd), - CodeunitRange(0x22803, 0x22803), - CodeunitRange(0x2285f, 0x22860), - CodeunitRange(0x22871, 0x22871), - CodeunitRange(0x228ad, 0x228ad), - CodeunitRange(0x228c1, 0x228c1), - CodeunitRange(0x228f7, 0x228f7), - CodeunitRange(0x22926, 0x22926), - CodeunitRange(0x22939, 0x22939), - CodeunitRange(0x2294f, 0x2294f), - CodeunitRange(0x22967, 0x22967), - CodeunitRange(0x2296b, 0x2296b), - CodeunitRange(0x22980, 0x22980), - CodeunitRange(0x22993, 0x22993), - CodeunitRange(0x22a66, 0x22a66), - CodeunitRange(0x22acf, 0x22acf), - CodeunitRange(0x22ad5, 0x22ad5), - CodeunitRange(0x22ae6, 0x22ae6), - CodeunitRange(0x22ae8, 0x22ae8), - CodeunitRange(0x22b0e, 0x22b0e), - CodeunitRange(0x22b22, 0x22b22), - CodeunitRange(0x22b3f, 0x22b3f), - CodeunitRange(0x22b43, 0x22b43), - CodeunitRange(0x22b6a, 0x22b6a), - CodeunitRange(0x22bca, 0x22bca), - CodeunitRange(0x22bce, 0x22bce), - CodeunitRange(0x22c26, 0x22c27), - CodeunitRange(0x22c38, 0x22c38), - CodeunitRange(0x22c4c, 0x22c4c), - CodeunitRange(0x22c51, 0x22c51), - CodeunitRange(0x22c55, 0x22c55), - CodeunitRange(0x22c62, 0x22c62), - CodeunitRange(0x22c88, 0x22c88), - CodeunitRange(0x22c9b, 0x22c9b), - CodeunitRange(0x22ca1, 0x22ca1), - CodeunitRange(0x22ca9, 0x22ca9), - CodeunitRange(0x22cb2, 0x22cb2), - CodeunitRange(0x22cb7, 0x22cb7), - CodeunitRange(0x22cc2, 0x22cc2), - CodeunitRange(0x22cc6, 0x22cc6), - CodeunitRange(0x22cc9, 0x22cc9), - CodeunitRange(0x22d07, 0x22d08), - CodeunitRange(0x22d12, 0x22d12), - CodeunitRange(0x22d44, 0x22d44), - CodeunitRange(0x22d4c, 0x22d4c), - CodeunitRange(0x22d67, 0x22d67), - CodeunitRange(0x22d8d, 0x22d8d), - CodeunitRange(0x22d95, 0x22d95), - CodeunitRange(0x22da0, 0x22da0), - CodeunitRange(0x22da3, 0x22da4), - CodeunitRange(0x22db7, 0x22db7), - CodeunitRange(0x22dee, 0x22dee), - CodeunitRange(0x22e0d, 0x22e0d), - CodeunitRange(0x22e36, 0x22e36), - CodeunitRange(0x22e42, 0x22e42), - CodeunitRange(0x22e78, 0x22e78), - CodeunitRange(0x22e8b, 0x22e8b), - CodeunitRange(0x22eb3, 0x22eb3), - CodeunitRange(0x22eef, 0x22eef), - CodeunitRange(0x22f74, 0x22f74), - CodeunitRange(0x22fcc, 0x22fcc), - CodeunitRange(0x22fe3, 0x22fe3), - CodeunitRange(0x23033, 0x23033), - CodeunitRange(0x23044, 0x23044), - CodeunitRange(0x2304b, 0x2304b), - CodeunitRange(0x23066, 0x23066), - CodeunitRange(0x2307d, 0x2307e), - CodeunitRange(0x2308e, 0x2308e), - CodeunitRange(0x230b7, 0x230b7), - CodeunitRange(0x230bc, 0x230bc), - CodeunitRange(0x230da, 0x230da), - CodeunitRange(0x23103, 0x23103), - CodeunitRange(0x2313d, 0x2313d), - CodeunitRange(0x2317d, 0x2317d), - CodeunitRange(0x23182, 0x23182), - CodeunitRange(0x231a4, 0x231a5), - CodeunitRange(0x231b3, 0x231b3), - CodeunitRange(0x231c8, 0x231c9), - CodeunitRange(0x231ea, 0x231ea), - CodeunitRange(0x231f7, 0x231f9), - CodeunitRange(0x2320f, 0x2320f), - CodeunitRange(0x23225, 0x23225), - CodeunitRange(0x2322f, 0x2322f), - CodeunitRange(0x23231, 0x23234), - CodeunitRange(0x23256, 0x23256), - CodeunitRange(0x2325e, 0x2325e), - CodeunitRange(0x23262, 0x23262), - CodeunitRange(0x23281, 0x23281), - CodeunitRange(0x23289, 0x2328a), - CodeunitRange(0x232ab, 0x232ad), - CodeunitRange(0x232d2, 0x232d2), - CodeunitRange(0x232e0, 0x232e1), - CodeunitRange(0x23300, 0x23300), - CodeunitRange(0x2330a, 0x2330a), - CodeunitRange(0x2331f, 0x2331f), - CodeunitRange(0x233b4, 0x233b4), - CodeunitRange(0x233cc, 0x233cc), - CodeunitRange(0x233de, 0x233de), - CodeunitRange(0x233e6, 0x233e6), - CodeunitRange(0x233f4, 0x233f5), - CodeunitRange(0x233f9, 0x233fa), - CodeunitRange(0x233fe, 0x233fe), - CodeunitRange(0x23400, 0x23400), - CodeunitRange(0x2343f, 0x2343f), - CodeunitRange(0x23450, 0x23450), - CodeunitRange(0x2346f, 0x2346f), - CodeunitRange(0x23472, 0x23472), - CodeunitRange(0x234e5, 0x234e5), - CodeunitRange(0x23519, 0x23519), - CodeunitRange(0x23530, 0x23530), - CodeunitRange(0x23551, 0x23551), - CodeunitRange(0x2355a, 0x2355a), - CodeunitRange(0x23567, 0x23567), - CodeunitRange(0x23595, 0x23595), - CodeunitRange(0x23599, 0x23599), - CodeunitRange(0x2359c, 0x2359c), - CodeunitRange(0x235bb, 0x235bb), - CodeunitRange(0x235cd, 0x235cf), - CodeunitRange(0x235f3, 0x235f3), - CodeunitRange(0x23600, 0x23600), - CodeunitRange(0x23617, 0x23617), - CodeunitRange(0x2361a, 0x2361a), - CodeunitRange(0x2363c, 0x2363c), - CodeunitRange(0x23640, 0x23640), - CodeunitRange(0x23659, 0x23659), - CodeunitRange(0x2365f, 0x2365f), - CodeunitRange(0x23677, 0x23677), - CodeunitRange(0x2368e, 0x2368e), - CodeunitRange(0x2369e, 0x2369e), - CodeunitRange(0x236a6, 0x236a6), - CodeunitRange(0x236ad, 0x236ad), - CodeunitRange(0x236ba, 0x236ba), - CodeunitRange(0x236df, 0x236df), - CodeunitRange(0x236ee, 0x236ee), - CodeunitRange(0x23703, 0x23703), - CodeunitRange(0x23716, 0x23716), - CodeunitRange(0x23720, 0x23720), - CodeunitRange(0x2372d, 0x2372d), - CodeunitRange(0x2372f, 0x2372f), - CodeunitRange(0x2373f, 0x2373f), - CodeunitRange(0x23766, 0x23766), - CodeunitRange(0x23781, 0x23781), - CodeunitRange(0x237a2, 0x237a2), - CodeunitRange(0x237bc, 0x237bc), - CodeunitRange(0x237c2, 0x237c2), - CodeunitRange(0x237d5, 0x237d7), - CodeunitRange(0x2383a, 0x2383a), - CodeunitRange(0x239c2, 0x239c2), - CodeunitRange(0x23aa7, 0x23aa7), - CodeunitRange(0x23adb, 0x23adb), - CodeunitRange(0x23aee, 0x23aee), - CodeunitRange(0x23afa, 0x23afa), - CodeunitRange(0x23b1a, 0x23b1a), - CodeunitRange(0x23b5a, 0x23b5a), - CodeunitRange(0x23c63, 0x23c63), - CodeunitRange(0x23c99, 0x23c9b), - CodeunitRange(0x23cb5, 0x23cb5), - CodeunitRange(0x23cb7, 0x23cb7), - CodeunitRange(0x23cc7, 0x23cc9), - CodeunitRange(0x23cfc, 0x23cff), - CodeunitRange(0x23d40, 0x23d40), - CodeunitRange(0x23d5b, 0x23d5b), - CodeunitRange(0x23d7e, 0x23d7e), - CodeunitRange(0x23d8f, 0x23d8f), - CodeunitRange(0x23db6, 0x23dbd), - CodeunitRange(0x23de3, 0x23de3), - CodeunitRange(0x23df8, 0x23df8), - CodeunitRange(0x23e06, 0x23e06), - CodeunitRange(0x23e11, 0x23e11), - CodeunitRange(0x23e2c, 0x23e31), - CodeunitRange(0x23e39, 0x23e39), - CodeunitRange(0x23e88, 0x23e8b), - CodeunitRange(0x23eb9, 0x23eb9), - CodeunitRange(0x23ebf, 0x23ebf), - CodeunitRange(0x23ed7, 0x23ed7), - CodeunitRange(0x23ef7, 0x23efc), - CodeunitRange(0x23f35, 0x23f35), - CodeunitRange(0x23f41, 0x23f41), - CodeunitRange(0x23f4a, 0x23f4a), - CodeunitRange(0x23f61, 0x23f61), - CodeunitRange(0x23f7f, 0x23f82), - CodeunitRange(0x23f8f, 0x23f8f), - CodeunitRange(0x23fb4, 0x23fb4), - CodeunitRange(0x23fb7, 0x23fb7), - CodeunitRange(0x23fc0, 0x23fc0), - CodeunitRange(0x23fc5, 0x23fc5), - CodeunitRange(0x23feb, 0x23ff0), - CodeunitRange(0x24011, 0x24011), - CodeunitRange(0x24039, 0x2403d), - CodeunitRange(0x24057, 0x24057), - CodeunitRange(0x24085, 0x24085), - CodeunitRange(0x2408b, 0x2408d), - CodeunitRange(0x24091, 0x24091), - CodeunitRange(0x240c9, 0x240c9), - CodeunitRange(0x240e1, 0x240e1), - CodeunitRange(0x240ec, 0x240ec), - CodeunitRange(0x24104, 0x24104), - CodeunitRange(0x2410f, 0x2410f), - CodeunitRange(0x24119, 0x24119), - CodeunitRange(0x2413f, 0x24140), - CodeunitRange(0x24144, 0x24144), - CodeunitRange(0x2414e, 0x2414e), - CodeunitRange(0x24155, 0x24157), - CodeunitRange(0x2415c, 0x2415c), - CodeunitRange(0x2415f, 0x2415f), - CodeunitRange(0x24161, 0x24161), - CodeunitRange(0x24177, 0x24177), - CodeunitRange(0x2417a, 0x2417a), - CodeunitRange(0x241a3, 0x241a5), - CodeunitRange(0x241ac, 0x241ac), - CodeunitRange(0x241b5, 0x241b5), - CodeunitRange(0x241cd, 0x241cd), - CodeunitRange(0x241e2, 0x241e2), - CodeunitRange(0x241fc, 0x241fc), - CodeunitRange(0x2421b, 0x2421b), - CodeunitRange(0x2424b, 0x2424b), - CodeunitRange(0x24256, 0x24256), - CodeunitRange(0x24259, 0x24259), - CodeunitRange(0x24276, 0x24278), - CodeunitRange(0x24284, 0x24284), - CodeunitRange(0x24293, 0x24293), - CodeunitRange(0x24295, 0x24295), - CodeunitRange(0x242a5, 0x242a5), - CodeunitRange(0x242bf, 0x242bf), - CodeunitRange(0x242c1, 0x242c1), - CodeunitRange(0x242c9, 0x242ca), - CodeunitRange(0x242ee, 0x242ee), - CodeunitRange(0x242fa, 0x242fa), - CodeunitRange(0x2430d, 0x2430d), - CodeunitRange(0x2431a, 0x2431a), - CodeunitRange(0x24334, 0x24334), - CodeunitRange(0x24348, 0x24348), - CodeunitRange(0x24362, 0x24365), - CodeunitRange(0x2438c, 0x2438c), - CodeunitRange(0x24396, 0x24396), - CodeunitRange(0x2439c, 0x2439c), - CodeunitRange(0x243bd, 0x243bd), - CodeunitRange(0x243c1, 0x243c1), - CodeunitRange(0x243e9, 0x243ea), - CodeunitRange(0x243f2, 0x243f2), - CodeunitRange(0x243f8, 0x243f8), - CodeunitRange(0x24404, 0x24404), - CodeunitRange(0x24435, 0x24436), - CodeunitRange(0x2445a, 0x2445b), - CodeunitRange(0x24473, 0x24473), - CodeunitRange(0x24487, 0x24488), - CodeunitRange(0x244b9, 0x244b9), - CodeunitRange(0x244bc, 0x244bc), - CodeunitRange(0x244ce, 0x244ce), - CodeunitRange(0x244d3, 0x244d3), - CodeunitRange(0x244d6, 0x244d6), - CodeunitRange(0x24505, 0x24505), - CodeunitRange(0x24521, 0x24521), - CodeunitRange(0x24578, 0x24578), - CodeunitRange(0x245c8, 0x245c8), - CodeunitRange(0x24618, 0x24618), - CodeunitRange(0x2462a, 0x2462a), - CodeunitRange(0x24665, 0x24665), - CodeunitRange(0x24674, 0x24674), - CodeunitRange(0x24697, 0x24697), - CodeunitRange(0x246d4, 0x246d4), - CodeunitRange(0x24706, 0x24706), - CodeunitRange(0x24725, 0x24725), - CodeunitRange(0x2472f, 0x2472f), - CodeunitRange(0x2478f, 0x2478f), - CodeunitRange(0x247e0, 0x247e0), - CodeunitRange(0x24812, 0x24812), - CodeunitRange(0x24823, 0x24823), - CodeunitRange(0x24882, 0x24882), - CodeunitRange(0x248e9, 0x248e9), - CodeunitRange(0x248f0, 0x248f3), - CodeunitRange(0x248fb, 0x248fb), - CodeunitRange(0x248ff, 0x24901), - CodeunitRange(0x2490c, 0x2490c), - CodeunitRange(0x24916, 0x24917), - CodeunitRange(0x24919, 0x24919), - CodeunitRange(0x2492f, 0x2492f), - CodeunitRange(0x24933, 0x24934), - CodeunitRange(0x2493e, 0x24943), - CodeunitRange(0x24962, 0x24963), - CodeunitRange(0x24974, 0x24976), - CodeunitRange(0x2497b, 0x2497b), - CodeunitRange(0x2497f, 0x2497f), - CodeunitRange(0x24982, 0x24982), - CodeunitRange(0x24988, 0x2498f), - CodeunitRange(0x24994, 0x24994), - CodeunitRange(0x249a4, 0x249a4), - CodeunitRange(0x249a7, 0x249a7), - CodeunitRange(0x249a9, 0x249a9), - CodeunitRange(0x249ab, 0x249ad), - CodeunitRange(0x249b7, 0x249bb), - CodeunitRange(0x249c5, 0x249c5), - CodeunitRange(0x249d0, 0x249d0), - CodeunitRange(0x249da, 0x249da), - CodeunitRange(0x249de, 0x249df), - CodeunitRange(0x249e3, 0x249e3), - CodeunitRange(0x249e5, 0x249e5), - CodeunitRange(0x249ec, 0x249ed), - CodeunitRange(0x249f6, 0x249f9), - CodeunitRange(0x249fb, 0x249fb), - CodeunitRange(0x24a0e, 0x24a0e), - CodeunitRange(0x24a12, 0x24a13), - CodeunitRange(0x24a15, 0x24a15), - CodeunitRange(0x24a21, 0x24a2a), - CodeunitRange(0x24a3e, 0x24a3e), - CodeunitRange(0x24a42, 0x24a42), - CodeunitRange(0x24a45, 0x24a45), - CodeunitRange(0x24a4a, 0x24a4a), - CodeunitRange(0x24a4e, 0x24a51), - CodeunitRange(0x24a5d, 0x24a5d), - CodeunitRange(0x24a65, 0x24a67), - CodeunitRange(0x24a71, 0x24a71), - CodeunitRange(0x24a77, 0x24a7a), - CodeunitRange(0x24a8c, 0x24a8c), - CodeunitRange(0x24a93, 0x24a96), - CodeunitRange(0x24aa4, 0x24aa7), - CodeunitRange(0x24ab1, 0x24ab3), - CodeunitRange(0x24aba, 0x24abc), - CodeunitRange(0x24ac0, 0x24ac0), - CodeunitRange(0x24ac7, 0x24ac7), - CodeunitRange(0x24aca, 0x24aca), - CodeunitRange(0x24ad1, 0x24ad1), - CodeunitRange(0x24adf, 0x24adf), - CodeunitRange(0x24ae2, 0x24ae2), - CodeunitRange(0x24ae9, 0x24ae9), - CodeunitRange(0x24b0f, 0x24b0f), - CodeunitRange(0x24b6e, 0x24b6e), - CodeunitRange(0x24bf5, 0x24bf5), - CodeunitRange(0x24c09, 0x24c09), - CodeunitRange(0x24c9e, 0x24c9f), - CodeunitRange(0x24cc9, 0x24cc9), - CodeunitRange(0x24cd9, 0x24cd9), - CodeunitRange(0x24d06, 0x24d06), - CodeunitRange(0x24d13, 0x24d13), - CodeunitRange(0x24db8, 0x24db8), - CodeunitRange(0x24dea, 0x24deb), - CodeunitRange(0x24e3b, 0x24e3b), - CodeunitRange(0x24e50, 0x24e50), - CodeunitRange(0x24ea5, 0x24ea5), - CodeunitRange(0x24ea7, 0x24ea7), - CodeunitRange(0x24f0e, 0x24f0e), - CodeunitRange(0x24f5c, 0x24f5c), - CodeunitRange(0x24f82, 0x24f82), - CodeunitRange(0x24f86, 0x24f86), - CodeunitRange(0x24f97, 0x24f97), - CodeunitRange(0x24f9a, 0x24f9a), - CodeunitRange(0x24fa9, 0x24fa9), - CodeunitRange(0x24fb8, 0x24fb8), - CodeunitRange(0x24fc2, 0x24fc2), - CodeunitRange(0x2502c, 0x2502c), - CodeunitRange(0x25052, 0x25052), - CodeunitRange(0x2509d, 0x2509d), - CodeunitRange(0x2512b, 0x2512b), - CodeunitRange(0x25148, 0x25148), - CodeunitRange(0x2517d, 0x2517e), - CodeunitRange(0x251cd, 0x251cd), - CodeunitRange(0x251e3, 0x251e3), - CodeunitRange(0x251e6, 0x251e7), - CodeunitRange(0x25220, 0x25221), - CodeunitRange(0x25250, 0x25250), - CodeunitRange(0x25299, 0x25299), - CodeunitRange(0x252c7, 0x252c7), - CodeunitRange(0x252d8, 0x252d8), - CodeunitRange(0x2530e, 0x2530e), - CodeunitRange(0x25311, 0x25311), - CodeunitRange(0x25313, 0x25313), - CodeunitRange(0x25419, 0x25419), - CodeunitRange(0x25425, 0x25425), - CodeunitRange(0x2542f, 0x25430), - CodeunitRange(0x25446, 0x25446), - CodeunitRange(0x2546c, 0x2546c), - CodeunitRange(0x2546e, 0x2546e), - CodeunitRange(0x2549a, 0x2549a), - CodeunitRange(0x25531, 0x25531), - CodeunitRange(0x25535, 0x25535), - CodeunitRange(0x2553f, 0x2553f), - CodeunitRange(0x2555b, 0x2555e), - CodeunitRange(0x25562, 0x25562), - CodeunitRange(0x25565, 0x25566), - CodeunitRange(0x25581, 0x25581), - CodeunitRange(0x25584, 0x25584), - CodeunitRange(0x2558f, 0x2558f), - CodeunitRange(0x255b9, 0x255b9), - CodeunitRange(0x255d5, 0x255d5), - CodeunitRange(0x255db, 0x255db), - CodeunitRange(0x255e0, 0x255e0), - CodeunitRange(0x25605, 0x25605), - CodeunitRange(0x25635, 0x25635), - CodeunitRange(0x25651, 0x25651), - CodeunitRange(0x25683, 0x25683), - CodeunitRange(0x25695, 0x25695), - CodeunitRange(0x256e3, 0x256e3), - CodeunitRange(0x256f6, 0x256f6), - CodeunitRange(0x25706, 0x25706), - CodeunitRange(0x2571d, 0x2571d), - CodeunitRange(0x25725, 0x25725), - CodeunitRange(0x2573d, 0x2573d), - CodeunitRange(0x25772, 0x25772), - CodeunitRange(0x257c7, 0x257c7), - CodeunitRange(0x257df, 0x257e1), - CodeunitRange(0x25857, 0x25857), - CodeunitRange(0x2585d, 0x2585d), - CodeunitRange(0x25872, 0x25872), - CodeunitRange(0x258c8, 0x258c8), - CodeunitRange(0x258de, 0x258de), - CodeunitRange(0x258e1, 0x258e1), - CodeunitRange(0x25903, 0x25903), - CodeunitRange(0x25946, 0x25946), - CodeunitRange(0x25956, 0x25956), - CodeunitRange(0x259ac, 0x259ac), - CodeunitRange(0x259cc, 0x259cc), - CodeunitRange(0x25a54, 0x25a54), - CodeunitRange(0x25a95, 0x25a95), - CodeunitRange(0x25a9c, 0x25a9c), - CodeunitRange(0x25aae, 0x25aaf), - CodeunitRange(0x25ad7, 0x25ad7), - CodeunitRange(0x25ae9, 0x25ae9), - CodeunitRange(0x25b74, 0x25b74), - CodeunitRange(0x25b89, 0x25b89), - CodeunitRange(0x25bb3, 0x25bb4), - CodeunitRange(0x25bc6, 0x25bc6), - CodeunitRange(0x25be4, 0x25be4), - CodeunitRange(0x25be8, 0x25be8), - CodeunitRange(0x25c01, 0x25c01), - CodeunitRange(0x25c06, 0x25c06), - CodeunitRange(0x25c21, 0x25c21), - CodeunitRange(0x25c4a, 0x25c4a), - CodeunitRange(0x25c65, 0x25c65), - CodeunitRange(0x25c91, 0x25c91), - CodeunitRange(0x25ca4, 0x25ca4), - CodeunitRange(0x25cc0, 0x25cc1), - CodeunitRange(0x25cfe, 0x25cfe), - CodeunitRange(0x25d20, 0x25d20), - CodeunitRange(0x25d30, 0x25d30), - CodeunitRange(0x25d43, 0x25d43), - CodeunitRange(0x25d99, 0x25d99), - CodeunitRange(0x25db9, 0x25db9), - CodeunitRange(0x25e0e, 0x25e0e), - CodeunitRange(0x25e49, 0x25e49), - CodeunitRange(0x25e81, 0x25e83), - CodeunitRange(0x25ea6, 0x25ea6), - CodeunitRange(0x25ebc, 0x25ebc), - CodeunitRange(0x25ed7, 0x25ed8), - CodeunitRange(0x25f1a, 0x25f1a), - CodeunitRange(0x25f4b, 0x25f4b), - CodeunitRange(0x25fe1, 0x25fe2), - CodeunitRange(0x26021, 0x26021), - CodeunitRange(0x26029, 0x26029), - CodeunitRange(0x26048, 0x26048), - CodeunitRange(0x26064, 0x26064), - CodeunitRange(0x26083, 0x26083), - CodeunitRange(0x26097, 0x26097), - CodeunitRange(0x260a4, 0x260a5), - CodeunitRange(0x26102, 0x26102), - CodeunitRange(0x26121, 0x26121), - CodeunitRange(0x26159, 0x2615c), - CodeunitRange(0x261ad, 0x261ae), - CodeunitRange(0x261b2, 0x261b2), - CodeunitRange(0x261dd, 0x261dd), - CodeunitRange(0x26258, 0x26258), - CodeunitRange(0x26261, 0x26261), - CodeunitRange(0x2626a, 0x2626b), - CodeunitRange(0x262d0, 0x262d0), - CodeunitRange(0x26335, 0x26335), - CodeunitRange(0x2634b, 0x2634c), - CodeunitRange(0x26351, 0x26351), - CodeunitRange(0x263be, 0x263be), - CodeunitRange(0x263f5, 0x263f5), - CodeunitRange(0x263f8, 0x263f8), - CodeunitRange(0x26402, 0x26402), - CodeunitRange(0x26410, 0x26412), - CodeunitRange(0x2644a, 0x2644a), - CodeunitRange(0x26469, 0x26469), - CodeunitRange(0x26484, 0x26484), - CodeunitRange(0x26488, 0x26489), - CodeunitRange(0x2648d, 0x2648d), - CodeunitRange(0x26498, 0x26498), - CodeunitRange(0x26512, 0x26512), - CodeunitRange(0x26572, 0x26572), - CodeunitRange(0x265a0, 0x265a0), - CodeunitRange(0x265ad, 0x265ad), - CodeunitRange(0x265bf, 0x265bf), - CodeunitRange(0x26612, 0x26612), - CodeunitRange(0x26626, 0x26626), - CodeunitRange(0x266af, 0x266af), - CodeunitRange(0x266b1, 0x266b1), - CodeunitRange(0x266b5, 0x266b5), - CodeunitRange(0x266da, 0x266da), - CodeunitRange(0x266e8, 0x266e8), - CodeunitRange(0x266fc, 0x266fc), - CodeunitRange(0x26716, 0x26716), - CodeunitRange(0x26741, 0x26741), - CodeunitRange(0x26799, 0x26799), - CodeunitRange(0x267b3, 0x267b4), - CodeunitRange(0x267cc, 0x267cc), - CodeunitRange(0x2681c, 0x2681c), - CodeunitRange(0x26846, 0x26846), - CodeunitRange(0x2685e, 0x2685e), - CodeunitRange(0x2686e, 0x2686e), - CodeunitRange(0x26888, 0x26888), - CodeunitRange(0x2688a, 0x2688a), - CodeunitRange(0x26893, 0x26893), - CodeunitRange(0x268c7, 0x268c7), - CodeunitRange(0x2690e, 0x2690e), - CodeunitRange(0x26911, 0x26911), - CodeunitRange(0x26926, 0x26926), - CodeunitRange(0x26939, 0x26939), - CodeunitRange(0x26951, 0x26951), - CodeunitRange(0x269a8, 0x269a8), - CodeunitRange(0x269b5, 0x269b5), - CodeunitRange(0x269f2, 0x269f2), - CodeunitRange(0x269fa, 0x269fa), - CodeunitRange(0x26a2d, 0x26a2e), - CodeunitRange(0x26a34, 0x26a34), - CodeunitRange(0x26a42, 0x26a42), - CodeunitRange(0x26a51, 0x26a52), - CodeunitRange(0x26b05, 0x26b05), - CodeunitRange(0x26b0a, 0x26b0a), - CodeunitRange(0x26b13, 0x26b13), - CodeunitRange(0x26b15, 0x26b15), - CodeunitRange(0x26b23, 0x26b23), - CodeunitRange(0x26b28, 0x26b28), - CodeunitRange(0x26b50, 0x26b53), - CodeunitRange(0x26b5b, 0x26b5b), - CodeunitRange(0x26b75, 0x26b75), - CodeunitRange(0x26b82, 0x26b82), - CodeunitRange(0x26b96, 0x26b97), - CodeunitRange(0x26b9d, 0x26b9d), - CodeunitRange(0x26bb3, 0x26bb3), - CodeunitRange(0x26bc0, 0x26bc0), - CodeunitRange(0x26bf7, 0x26bf7), - CodeunitRange(0x26c21, 0x26c21), - CodeunitRange(0x26c40, 0x26c41), - CodeunitRange(0x26c46, 0x26c46), - CodeunitRange(0x26c7e, 0x26c82), - CodeunitRange(0x26ca4, 0x26ca4), - CodeunitRange(0x26cb7, 0x26cb8), - CodeunitRange(0x26cbd, 0x26cbd), - CodeunitRange(0x26cc0, 0x26cc0), - CodeunitRange(0x26cc3, 0x26cc3), - CodeunitRange(0x26cd1, 0x26cd1), - CodeunitRange(0x26d22, 0x26d2a), - CodeunitRange(0x26d51, 0x26d51), - CodeunitRange(0x26d74, 0x26d74), - CodeunitRange(0x26da0, 0x26da7), - CodeunitRange(0x26dae, 0x26dae), - CodeunitRange(0x26ddc, 0x26ddc), - CodeunitRange(0x26dea, 0x26deb), - CodeunitRange(0x26df0, 0x26df0), - CodeunitRange(0x26e00, 0x26e00), - CodeunitRange(0x26e05, 0x26e05), - CodeunitRange(0x26e07, 0x26e07), - CodeunitRange(0x26e12, 0x26e12), - CodeunitRange(0x26e42, 0x26e45), - CodeunitRange(0x26e6e, 0x26e6e), - CodeunitRange(0x26e72, 0x26e72), - CodeunitRange(0x26e77, 0x26e77), - CodeunitRange(0x26e84, 0x26e84), - CodeunitRange(0x26e88, 0x26e88), - CodeunitRange(0x26e8b, 0x26e8b), - CodeunitRange(0x26e99, 0x26e99), - CodeunitRange(0x26ed0, 0x26ed7), - CodeunitRange(0x26f26, 0x26f26), - CodeunitRange(0x26f73, 0x26f74), - CodeunitRange(0x26f9f, 0x26f9f), - CodeunitRange(0x26fa1, 0x26fa1), - CodeunitRange(0x26fbe, 0x26fbe), - CodeunitRange(0x26fde, 0x26fdf), - CodeunitRange(0x2700e, 0x2700e), - CodeunitRange(0x2704b, 0x2704b), - CodeunitRange(0x27052, 0x27053), - CodeunitRange(0x27088, 0x27088), - CodeunitRange(0x270ad, 0x270af), - CodeunitRange(0x270cd, 0x270cd), - CodeunitRange(0x270d2, 0x270d2), - CodeunitRange(0x270f0, 0x270f0), - CodeunitRange(0x270f8, 0x270f8), - CodeunitRange(0x27109, 0x27109), - CodeunitRange(0x2710c, 0x2710d), - CodeunitRange(0x27126, 0x27127), - CodeunitRange(0x27164, 0x27165), - CodeunitRange(0x27175, 0x27175), - CodeunitRange(0x271cd, 0x271cd), - CodeunitRange(0x2721b, 0x2721b), - CodeunitRange(0x27267, 0x27267), - CodeunitRange(0x27280, 0x27280), - CodeunitRange(0x27285, 0x27285), - CodeunitRange(0x2728b, 0x2728b), - CodeunitRange(0x272b2, 0x272b2), - CodeunitRange(0x272b6, 0x272b6), - CodeunitRange(0x272e6, 0x272e6), - CodeunitRange(0x27352, 0x27352), - CodeunitRange(0x2739a, 0x2739a), - CodeunitRange(0x273ff, 0x273ff), - CodeunitRange(0x27422, 0x27422), - CodeunitRange(0x27450, 0x27450), - CodeunitRange(0x27484, 0x27484), - CodeunitRange(0x27486, 0x27486), - CodeunitRange(0x27574, 0x27574), - CodeunitRange(0x275a3, 0x275a3), - CodeunitRange(0x275e0, 0x275e0), - CodeunitRange(0x275e4, 0x275e4), - CodeunitRange(0x275fd, 0x275fe), - CodeunitRange(0x27607, 0x27607), - CodeunitRange(0x2760c, 0x2760c), - CodeunitRange(0x27632, 0x27632), - CodeunitRange(0x27639, 0x27639), - CodeunitRange(0x27655, 0x27657), - CodeunitRange(0x27694, 0x27694), - CodeunitRange(0x2770f, 0x2770f), - CodeunitRange(0x27735, 0x27736), - CodeunitRange(0x27741, 0x27741), - CodeunitRange(0x2775e, 0x2775e), - CodeunitRange(0x27784, 0x27785), - CodeunitRange(0x277cc, 0x277cc), - CodeunitRange(0x27858, 0x27858), - CodeunitRange(0x27870, 0x27870), - CodeunitRange(0x2789d, 0x2789d), - CodeunitRange(0x278b2, 0x278b2), - CodeunitRange(0x278c8, 0x278c8), - CodeunitRange(0x27924, 0x27924), - CodeunitRange(0x27967, 0x27967), - CodeunitRange(0x2797a, 0x2797a), - CodeunitRange(0x279a0, 0x279a0), - CodeunitRange(0x279dd, 0x279dd), - CodeunitRange(0x279fd, 0x279fd), - CodeunitRange(0x27a0a, 0x27a0a), - CodeunitRange(0x27a0e, 0x27a0e), - CodeunitRange(0x27a3e, 0x27a3e), - CodeunitRange(0x27a53, 0x27a53), - CodeunitRange(0x27a59, 0x27a59), - CodeunitRange(0x27a79, 0x27a79), - CodeunitRange(0x27a84, 0x27a84), - CodeunitRange(0x27abd, 0x27abe), - CodeunitRange(0x27af4, 0x27af4), - CodeunitRange(0x27b06, 0x27b06), - CodeunitRange(0x27b0b, 0x27b0b), - CodeunitRange(0x27b18, 0x27b18), - CodeunitRange(0x27b38, 0x27b3a), - CodeunitRange(0x27b48, 0x27b48), - CodeunitRange(0x27b65, 0x27b65), - CodeunitRange(0x27bef, 0x27bef), - CodeunitRange(0x27bf4, 0x27bf4), - CodeunitRange(0x27c12, 0x27c12), - CodeunitRange(0x27c6c, 0x27c6c), - CodeunitRange(0x27cb1, 0x27cb1), - CodeunitRange(0x27cc5, 0x27cc5), - CodeunitRange(0x27d2f, 0x27d2f), - CodeunitRange(0x27d53, 0x27d54), - CodeunitRange(0x27d66, 0x27d66), - CodeunitRange(0x27d73, 0x27d73), - CodeunitRange(0x27d84, 0x27d84), - CodeunitRange(0x27d8f, 0x27d8f), - CodeunitRange(0x27d98, 0x27d98), - CodeunitRange(0x27dbd, 0x27dbd), - CodeunitRange(0x27ddc, 0x27ddc), - CodeunitRange(0x27e4d, 0x27e4d), - CodeunitRange(0x27e4f, 0x27e4f), - CodeunitRange(0x27f2e, 0x27f2e), - CodeunitRange(0x27fb7, 0x27fb7), - CodeunitRange(0x27ff9, 0x27ff9), - CodeunitRange(0x28002, 0x28002), - CodeunitRange(0x28009, 0x28009), - CodeunitRange(0x2801e, 0x2801e), - CodeunitRange(0x28023, 0x28024), - CodeunitRange(0x28048, 0x28048), - CodeunitRange(0x28083, 0x28083), - CodeunitRange(0x28090, 0x28090), - CodeunitRange(0x280bd, 0x280be), - CodeunitRange(0x280e8, 0x280e9), - CodeunitRange(0x280f4, 0x280f4), - CodeunitRange(0x2812e, 0x2812e), - CodeunitRange(0x2814f, 0x2814f), - CodeunitRange(0x2815d, 0x2815d), - CodeunitRange(0x2816f, 0x2816f), - CodeunitRange(0x28189, 0x28189), - CodeunitRange(0x281af, 0x281af), - CodeunitRange(0x281bc, 0x281bc), - CodeunitRange(0x28207, 0x28207), - CodeunitRange(0x28218, 0x28218), - CodeunitRange(0x2821a, 0x2821a), - CodeunitRange(0x28256, 0x28256), - CodeunitRange(0x2827c, 0x2827c), - CodeunitRange(0x2829b, 0x2829b), - CodeunitRange(0x282cd, 0x282cd), - CodeunitRange(0x282e2, 0x282e2), - CodeunitRange(0x28306, 0x28306), - CodeunitRange(0x28318, 0x28318), - CodeunitRange(0x2832f, 0x2832f), - CodeunitRange(0x2833a, 0x2833a), - CodeunitRange(0x28365, 0x28365), - CodeunitRange(0x2836d, 0x2836d), - CodeunitRange(0x2837d, 0x2837d), - CodeunitRange(0x2838a, 0x2838a), - CodeunitRange(0x28412, 0x28412), - CodeunitRange(0x28468, 0x28468), - CodeunitRange(0x2846c, 0x2846c), - CodeunitRange(0x28473, 0x28473), - CodeunitRange(0x28482, 0x28482), - CodeunitRange(0x28501, 0x28501), - CodeunitRange(0x2853c, 0x2853d), - CodeunitRange(0x2856c, 0x2856c), - CodeunitRange(0x285e8, 0x285e8), - CodeunitRange(0x285f4, 0x285f4), - CodeunitRange(0x28600, 0x28600), - CodeunitRange(0x2860b, 0x2860b), - CodeunitRange(0x28625, 0x28625), - CodeunitRange(0x2863b, 0x2863b), - CodeunitRange(0x286aa, 0x286ab), - CodeunitRange(0x286b2, 0x286b2), - CodeunitRange(0x286bc, 0x286bc), - CodeunitRange(0x286d8, 0x286d8), - CodeunitRange(0x286e6, 0x286e6), - CodeunitRange(0x2870f, 0x2870f), - CodeunitRange(0x28713, 0x28713), - CodeunitRange(0x28804, 0x28804), - CodeunitRange(0x2882b, 0x2882b), - CodeunitRange(0x2890d, 0x2890d), - CodeunitRange(0x28933, 0x28933), - CodeunitRange(0x28948, 0x28949), - CodeunitRange(0x28956, 0x28956), - CodeunitRange(0x28964, 0x28964), - CodeunitRange(0x28968, 0x28968), - CodeunitRange(0x2896c, 0x2896d), - CodeunitRange(0x2897e, 0x2897e), - CodeunitRange(0x28989, 0x28989), - CodeunitRange(0x289a8, 0x289a8), - CodeunitRange(0x289aa, 0x289ab), - CodeunitRange(0x289b8, 0x289b8), - CodeunitRange(0x289bc, 0x289bc), - CodeunitRange(0x289c0, 0x289c0), - CodeunitRange(0x289dc, 0x289dc), - CodeunitRange(0x289de, 0x289de), - CodeunitRange(0x289e1, 0x289e1), - CodeunitRange(0x289e3, 0x289e4), - CodeunitRange(0x289e7, 0x289e8), - CodeunitRange(0x289f9, 0x289fc), - CodeunitRange(0x28a0f, 0x28a0f), - CodeunitRange(0x28a16, 0x28a16), - CodeunitRange(0x28a25, 0x28a25), - CodeunitRange(0x28a29, 0x28a29), - CodeunitRange(0x28a32, 0x28a32), - CodeunitRange(0x28a36, 0x28a36), - CodeunitRange(0x28a44, 0x28a4b), - CodeunitRange(0x28a59, 0x28a5a), - CodeunitRange(0x28a81, 0x28a83), - CodeunitRange(0x28a9a, 0x28a9c), - CodeunitRange(0x28ac0, 0x28ac0), - CodeunitRange(0x28ac6, 0x28ac6), - CodeunitRange(0x28acb, 0x28acc), - CodeunitRange(0x28ace, 0x28ace), - CodeunitRange(0x28ade, 0x28ae3), - CodeunitRange(0x28ae5, 0x28ae5), - CodeunitRange(0x28aea, 0x28aea), - CodeunitRange(0x28afc, 0x28afc), - CodeunitRange(0x28b0c, 0x28b0c), - CodeunitRange(0x28b13, 0x28b13), - CodeunitRange(0x28b21, 0x28b22), - CodeunitRange(0x28b2b, 0x28b2d), - CodeunitRange(0x28b2f, 0x28b2f), - CodeunitRange(0x28b46, 0x28b46), - CodeunitRange(0x28b4c, 0x28b4c), - CodeunitRange(0x28b4e, 0x28b4e), - CodeunitRange(0x28b50, 0x28b50), - CodeunitRange(0x28b63, 0x28b66), - CodeunitRange(0x28b6c, 0x28b6c), - CodeunitRange(0x28b8f, 0x28b8f), - CodeunitRange(0x28b99, 0x28b99), - CodeunitRange(0x28b9c, 0x28b9d), - CodeunitRange(0x28bb9, 0x28bb9), - CodeunitRange(0x28bc2, 0x28bc2), - CodeunitRange(0x28bc5, 0x28bc5), - CodeunitRange(0x28bd4, 0x28bd4), - CodeunitRange(0x28bd7, 0x28bd7), - CodeunitRange(0x28bd9, 0x28bda), - CodeunitRange(0x28be7, 0x28bec), - CodeunitRange(0x28bf5, 0x28bf5), - CodeunitRange(0x28bff, 0x28bff), - CodeunitRange(0x28c03, 0x28c03), - CodeunitRange(0x28c09, 0x28c09), - CodeunitRange(0x28c1c, 0x28c1d), - CodeunitRange(0x28c23, 0x28c23), - CodeunitRange(0x28c26, 0x28c26), - CodeunitRange(0x28c2b, 0x28c2b), - CodeunitRange(0x28c30, 0x28c30), - CodeunitRange(0x28c39, 0x28c39), - CodeunitRange(0x28c3b, 0x28c3b), - CodeunitRange(0x28cca, 0x28cca), - CodeunitRange(0x28ccd, 0x28ccd), - CodeunitRange(0x28cd2, 0x28cd2), - CodeunitRange(0x28d34, 0x28d34), - CodeunitRange(0x28d99, 0x28d99), - CodeunitRange(0x28db9, 0x28db9), - CodeunitRange(0x28e0f, 0x28e0f), - CodeunitRange(0x28e36, 0x28e36), - CodeunitRange(0x28e39, 0x28e39), - CodeunitRange(0x28e65, 0x28e66), - CodeunitRange(0x28e97, 0x28e97), - CodeunitRange(0x28eac, 0x28eac), - CodeunitRange(0x28eb2, 0x28eb3), - CodeunitRange(0x28ed9, 0x28ed9), - CodeunitRange(0x28ee7, 0x28ee7), - CodeunitRange(0x28fc5, 0x28fc5), - CodeunitRange(0x29079, 0x29079), - CodeunitRange(0x29088, 0x29088), - CodeunitRange(0x2908b, 0x2908b), - CodeunitRange(0x29093, 0x29093), - CodeunitRange(0x290af, 0x290b1), - CodeunitRange(0x290c0, 0x290c0), - CodeunitRange(0x290e4, 0x290e5), - CodeunitRange(0x290ec, 0x290ed), - CodeunitRange(0x2910d, 0x2910d), - CodeunitRange(0x29110, 0x29110), - CodeunitRange(0x2913c, 0x2913c), - CodeunitRange(0x2914d, 0x2914d), - CodeunitRange(0x2915b, 0x2915b), - CodeunitRange(0x2915e, 0x2915e), - CodeunitRange(0x29170, 0x29170), - CodeunitRange(0x2919c, 0x2919c), - CodeunitRange(0x291a8, 0x291a8), - CodeunitRange(0x291d5, 0x291d5), - CodeunitRange(0x291eb, 0x291eb), - CodeunitRange(0x2941d, 0x2941d), - CodeunitRange(0x29420, 0x29420), - CodeunitRange(0x29433, 0x29433), - CodeunitRange(0x2943f, 0x2943f), - CodeunitRange(0x29448, 0x29448), - CodeunitRange(0x294d0, 0x294d0), - CodeunitRange(0x294d9, 0x294da), - CodeunitRange(0x294e5, 0x294e5), - CodeunitRange(0x294e7, 0x294e7), - CodeunitRange(0x2959e, 0x2959e), - CodeunitRange(0x295b0, 0x295b0), - CodeunitRange(0x295b8, 0x295b8), - CodeunitRange(0x295d7, 0x295d7), - CodeunitRange(0x295e9, 0x295e9), - CodeunitRange(0x295f4, 0x295f4), - CodeunitRange(0x2967f, 0x2967f), - CodeunitRange(0x29720, 0x29720), - CodeunitRange(0x29732, 0x29732), - CodeunitRange(0x297d4, 0x297d4), - CodeunitRange(0x29810, 0x29810), - CodeunitRange(0x29857, 0x29857), - CodeunitRange(0x298a4, 0x298a4), - CodeunitRange(0x298d1, 0x298d1), - CodeunitRange(0x298ea, 0x298ea), - CodeunitRange(0x298f1, 0x298f1), - CodeunitRange(0x298fa, 0x298fa), - CodeunitRange(0x29903, 0x29903), - CodeunitRange(0x29905, 0x29905), - CodeunitRange(0x2992f, 0x2992f), - CodeunitRange(0x29945, 0x29945), - CodeunitRange(0x29947, 0x29949), - CodeunitRange(0x2995d, 0x2995d), - CodeunitRange(0x2996a, 0x2996a), - CodeunitRange(0x2999d, 0x2999d), - CodeunitRange(0x299c3, 0x299c3), - CodeunitRange(0x299c9, 0x299c9), - CodeunitRange(0x29a28, 0x29a28), - CodeunitRange(0x29a4d, 0x29a4d), - CodeunitRange(0x29b05, 0x29b05), - CodeunitRange(0x29b0e, 0x29b0e), - CodeunitRange(0x29bd5, 0x29bd5), - CodeunitRange(0x29c73, 0x29c73), - CodeunitRange(0x29cad, 0x29cad), - CodeunitRange(0x29d3e, 0x29d3e), - CodeunitRange(0x29d5a, 0x29d5a), - CodeunitRange(0x29d7c, 0x29d7c), - CodeunitRange(0x29d98, 0x29d98), - CodeunitRange(0x29d9b, 0x29d9b), - CodeunitRange(0x29df6, 0x29df6), - CodeunitRange(0x29e06, 0x29e06), - CodeunitRange(0x29e2d, 0x29e2d), - CodeunitRange(0x29e68, 0x29e68), - CodeunitRange(0x29eac, 0x29eac), - CodeunitRange(0x29eb0, 0x29eb0), - CodeunitRange(0x29ec3, 0x29ec3), - CodeunitRange(0x29ef8, 0x29ef8), - CodeunitRange(0x29f23, 0x29f23), - CodeunitRange(0x29f30, 0x29f30), - CodeunitRange(0x29fb7, 0x29fb7), - CodeunitRange(0x29fde, 0x29fde), - CodeunitRange(0x2a014, 0x2a014), - CodeunitRange(0x2a087, 0x2a087), - CodeunitRange(0x2a0b9, 0x2a0b9), - CodeunitRange(0x2a0e1, 0x2a0e1), - CodeunitRange(0x2a0ed, 0x2a0ed), - CodeunitRange(0x2a0f3, 0x2a0f3), - CodeunitRange(0x2a0f8, 0x2a0f8), - CodeunitRange(0x2a0fe, 0x2a0fe), - CodeunitRange(0x2a107, 0x2a107), - CodeunitRange(0x2a123, 0x2a123), - CodeunitRange(0x2a133, 0x2a134), - CodeunitRange(0x2a150, 0x2a150), - CodeunitRange(0x2a192, 0x2a193), - CodeunitRange(0x2a1ab, 0x2a1ab), - CodeunitRange(0x2a1b4, 0x2a1b5), - CodeunitRange(0x2a1df, 0x2a1df), - CodeunitRange(0x2a1f5, 0x2a1f5), - CodeunitRange(0x2a220, 0x2a220), - CodeunitRange(0x2a233, 0x2a233), - CodeunitRange(0x2a293, 0x2a293), - CodeunitRange(0x2a29f, 0x2a29f), - CodeunitRange(0x2a2b2, 0x2a2b2), - CodeunitRange(0x2a2b4, 0x2a2b4), - CodeunitRange(0x2a2b6, 0x2a2b6), - CodeunitRange(0x2a2ba, 0x2a2ba), - CodeunitRange(0x2a2bd, 0x2a2bd), - CodeunitRange(0x2a2df, 0x2a2df), - CodeunitRange(0x2a2ff, 0x2a2ff), - CodeunitRange(0x2a351, 0x2a351), - CodeunitRange(0x2a3a9, 0x2a3a9), - CodeunitRange(0x2a3ed, 0x2a3ed), - CodeunitRange(0x2a434, 0x2a434), - CodeunitRange(0x2a45b, 0x2a45b), - CodeunitRange(0x2a5c6, 0x2a5c6), - CodeunitRange(0x2a5cb, 0x2a5cb), - CodeunitRange(0x2a601, 0x2a601), - CodeunitRange(0x2a632, 0x2a632), - CodeunitRange(0x2a64a, 0x2a64a), - CodeunitRange(0x2a65b, 0x2a65b), - CodeunitRange(0x2a6a9, 0x2a6a9), - CodeunitRange(0x2adff, 0x2adff), - CodeunitRange(0x2d544, 0x2d544), - CodeunitRange(0x2f825, 0x2f825), - CodeunitRange(0x2f83b, 0x2f83b), - CodeunitRange(0x2f840, 0x2f840), - CodeunitRange(0x2f878, 0x2f878), - CodeunitRange(0x2f894, 0x2f894), - CodeunitRange(0x2f8a6, 0x2f8a6), - CodeunitRange(0x2f8cd, 0x2f8cd), - CodeunitRange(0x2f8db, 0x2f8db), - CodeunitRange(0x2f994, 0x2f994), - CodeunitRange(0x2f9b2, 0x2f9b2), - CodeunitRange(0x2f9bc, 0x2f9bc), - CodeunitRange(0x2f9d4, 0x2f9d4), - CodeunitRange(0x30ede, 0x30ede), - CodeunitRange(0x3106c, 0x3106c), - ]), - NotoFont('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1720, 0x1736), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200c), - CodeunitRange(0x108e0, 0x108f2), - CodeunitRange(0x108f4, 0x108f5), - CodeunitRange(0x108fb, 0x108ff), - ]), - NotoFont('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v37/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x591, 0x5c7), - CodeunitRange(0x5d0, 0x5ea), - CodeunitRange(0x5f0, 0x5f4), - CodeunitRange(0x200c, 0x2010), - CodeunitRange(0x20aa, 0x20aa), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xfb1d, 0xfb36), - CodeunitRange(0xfb38, 0xfb3c), - CodeunitRange(0xfb3e, 0xfb3e), - CodeunitRange(0xfb40, 0xfb41), - CodeunitRange(0xfb43, 0xfb44), - CodeunitRange(0xfb46, 0xfb4f), - ]), - NotoFont('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10840, 0x10855), - CodeunitRange(0x10857, 0x1085f), - ]), - NotoFont('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x627, 0x627), - CodeunitRange(0x660, 0x669), - CodeunitRange(0x6f0, 0x6f9), - CodeunitRange(0x1ec71, 0x1ecb4), - ]), - NotoFont('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10b60, 0x10b72), - CodeunitRange(0x10b78, 0x10b7f), - ]), - NotoFont('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10b40, 0x10b55), - CodeunitRange(0x10b58, 0x10b5f), - ]), - NotoFont('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0x103), - CodeunitRange(0x110, 0x113), - CodeunitRange(0x11a, 0x11b), - CodeunitRange(0x128, 0x12b), - CodeunitRange(0x143, 0x144), - CodeunitRange(0x147, 0x148), - CodeunitRange(0x14c, 0x14f), - CodeunitRange(0x152, 0x153), - CodeunitRange(0x168, 0x16d), - CodeunitRange(0x192, 0x192), - CodeunitRange(0x1a0, 0x1a1), - CodeunitRange(0x1af, 0x1b0), - CodeunitRange(0x1cd, 0x1dc), - CodeunitRange(0x1f8, 0x1f9), - CodeunitRange(0x251, 0x251), - CodeunitRange(0x261, 0x261), - CodeunitRange(0x2bb, 0x2bb), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x2c9, 0x2cb), - CodeunitRange(0x2d9, 0x2d9), - CodeunitRange(0x2ea, 0x2eb), - CodeunitRange(0x300, 0x301), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x30c, 0x30c), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3b1, 0x3c9), - CodeunitRange(0x401, 0x401), - CodeunitRange(0x410, 0x44f), - CodeunitRange(0x451, 0x451), - CodeunitRange(0x1e3e, 0x1e3f), - CodeunitRange(0x1ea0, 0x1ef9), - CodeunitRange(0x2002, 0x2003), - CodeunitRange(0x2010, 0x2016), - CodeunitRange(0x2018, 0x201a), - CodeunitRange(0x201c, 0x201e), - CodeunitRange(0x2020, 0x2022), - CodeunitRange(0x2025, 0x2027), - CodeunitRange(0x2030, 0x2030), - CodeunitRange(0x2032, 0x2033), - CodeunitRange(0x2035, 0x2035), - CodeunitRange(0x2039, 0x203c), - CodeunitRange(0x2042, 0x2042), - CodeunitRange(0x2047, 0x2049), - CodeunitRange(0x2051, 0x2051), - CodeunitRange(0x2074, 0x2074), - CodeunitRange(0x20a9, 0x20a9), - CodeunitRange(0x20ab, 0x20ac), - CodeunitRange(0x20dd, 0x20de), - CodeunitRange(0x2100, 0x2100), - CodeunitRange(0x2103, 0x2103), - CodeunitRange(0x2105, 0x2105), - CodeunitRange(0x2109, 0x210a), - CodeunitRange(0x210f, 0x210f), - CodeunitRange(0x2113, 0x2113), - CodeunitRange(0x2116, 0x2116), - CodeunitRange(0x2121, 0x2122), - CodeunitRange(0x2126, 0x2127), - CodeunitRange(0x212b, 0x212b), - CodeunitRange(0x212e, 0x212e), - CodeunitRange(0x2135, 0x2135), - CodeunitRange(0x213b, 0x213b), - CodeunitRange(0x2160, 0x216b), - CodeunitRange(0x2170, 0x217b), - CodeunitRange(0x2190, 0x2199), - CodeunitRange(0x21b8, 0x21b9), - CodeunitRange(0x21c4, 0x21c6), - CodeunitRange(0x21cb, 0x21cc), - CodeunitRange(0x21d0, 0x21d0), - CodeunitRange(0x21d2, 0x21d2), - CodeunitRange(0x21d4, 0x21d4), - CodeunitRange(0x21e6, 0x21e9), - CodeunitRange(0x21f5, 0x21f5), - CodeunitRange(0x2200, 0x2200), - CodeunitRange(0x2202, 0x2203), - CodeunitRange(0x2205, 0x220b), - CodeunitRange(0x220f, 0x220f), - CodeunitRange(0x2211, 0x2213), - CodeunitRange(0x2215, 0x2215), - CodeunitRange(0x221a, 0x221a), - CodeunitRange(0x221d, 0x2220), - CodeunitRange(0x2223, 0x2223), - CodeunitRange(0x2225, 0x222e), - CodeunitRange(0x2234, 0x2237), - CodeunitRange(0x223d, 0x223d), - CodeunitRange(0x2243, 0x2243), - CodeunitRange(0x2245, 0x2245), - CodeunitRange(0x2248, 0x2248), - CodeunitRange(0x224c, 0x224c), - CodeunitRange(0x2252, 0x2252), - CodeunitRange(0x2260, 0x2262), - CodeunitRange(0x2264, 0x2267), - CodeunitRange(0x226a, 0x226b), - CodeunitRange(0x226e, 0x226f), - CodeunitRange(0x2272, 0x2273), - CodeunitRange(0x2276, 0x2277), - CodeunitRange(0x2282, 0x2287), - CodeunitRange(0x228a, 0x228b), - CodeunitRange(0x2295, 0x2299), - CodeunitRange(0x22a0, 0x22a0), - CodeunitRange(0x22a5, 0x22a5), - CodeunitRange(0x22bf, 0x22bf), - CodeunitRange(0x22da, 0x22db), - CodeunitRange(0x22ef, 0x22ef), - CodeunitRange(0x2305, 0x2307), - CodeunitRange(0x2312, 0x2312), - CodeunitRange(0x2318, 0x2318), - CodeunitRange(0x2329, 0x232a), - CodeunitRange(0x23b0, 0x23b1), - CodeunitRange(0x23be, 0x23cc), - CodeunitRange(0x23ce, 0x23ce), - CodeunitRange(0x23da, 0x23db), - CodeunitRange(0x2423, 0x2423), - CodeunitRange(0x2460, 0x25ab), - CodeunitRange(0x25b1, 0x25b3), - CodeunitRange(0x25b6, 0x25b7), - CodeunitRange(0x25bc, 0x25bd), - CodeunitRange(0x25c0, 0x25c1), - CodeunitRange(0x25c6, 0x25cc), - CodeunitRange(0x25ce, 0x25d3), - CodeunitRange(0x25e2, 0x25e6), - CodeunitRange(0x25ef, 0x25ef), - CodeunitRange(0x2600, 0x2603), - CodeunitRange(0x2605, 0x2606), - CodeunitRange(0x2609, 0x2609), - CodeunitRange(0x260e, 0x260f), - CodeunitRange(0x2616, 0x2617), - CodeunitRange(0x261c, 0x261f), - CodeunitRange(0x262f, 0x262f), - CodeunitRange(0x2640, 0x2642), - CodeunitRange(0x2660, 0x266f), - CodeunitRange(0x2672, 0x267d), - CodeunitRange(0x26a0, 0x26a0), - CodeunitRange(0x26bd, 0x26be), - CodeunitRange(0x2702, 0x2702), - CodeunitRange(0x2713, 0x2713), - CodeunitRange(0x271a, 0x271a), - CodeunitRange(0x273d, 0x273d), - CodeunitRange(0x273f, 0x2740), - CodeunitRange(0x2756, 0x2756), - CodeunitRange(0x2776, 0x2793), - CodeunitRange(0x27a1, 0x27a1), - CodeunitRange(0x2934, 0x2935), - CodeunitRange(0x29bf, 0x29bf), - CodeunitRange(0x29fa, 0x29fb), - CodeunitRange(0x2b05, 0x2b07), - CodeunitRange(0x2b1a, 0x2b1a), - CodeunitRange(0x2b95, 0x2b95), - CodeunitRange(0x2e3a, 0x2e3b), - CodeunitRange(0x2e80, 0x2e99), - CodeunitRange(0x2e9b, 0x2ef3), - CodeunitRange(0x2f00, 0x2fd5), - CodeunitRange(0x2ff0, 0x2ffb), - CodeunitRange(0x3000, 0x303f), - CodeunitRange(0x3041, 0x3096), - CodeunitRange(0x3099, 0x30ff), - CodeunitRange(0x3105, 0x312f), - CodeunitRange(0x3131, 0x3163), - CodeunitRange(0x3165, 0x318e), - CodeunitRange(0x3190, 0x31bb), - CodeunitRange(0x31c0, 0x31e3), - CodeunitRange(0x31f0, 0x321e), - CodeunitRange(0x3220, 0x332b), - CodeunitRange(0x332d, 0x33ff), - CodeunitRange(0x3402, 0x3402), - CodeunitRange(0x3405, 0x3406), - CodeunitRange(0x3427, 0x3427), - CodeunitRange(0x342c, 0x342c), - CodeunitRange(0x342e, 0x342e), - CodeunitRange(0x3468, 0x3468), - CodeunitRange(0x346a, 0x346a), - CodeunitRange(0x3488, 0x3488), - CodeunitRange(0x3492, 0x3492), - CodeunitRange(0x34b5, 0x34b5), - CodeunitRange(0x34bc, 0x34bc), - CodeunitRange(0x34c1, 0x34c1), - CodeunitRange(0x34c7, 0x34c7), - CodeunitRange(0x34db, 0x34db), - CodeunitRange(0x351f, 0x351f), - CodeunitRange(0x353e, 0x353e), - CodeunitRange(0x355d, 0x355e), - CodeunitRange(0x3563, 0x3563), - CodeunitRange(0x356e, 0x356e), - CodeunitRange(0x35a6, 0x35a6), - CodeunitRange(0x35a8, 0x35a8), - CodeunitRange(0x35c5, 0x35c5), - CodeunitRange(0x35da, 0x35da), - CodeunitRange(0x35de, 0x35de), - CodeunitRange(0x35f4, 0x35f4), - CodeunitRange(0x3605, 0x3605), - CodeunitRange(0x3614, 0x3614), - CodeunitRange(0x364a, 0x364a), - CodeunitRange(0x3691, 0x3691), - CodeunitRange(0x3696, 0x3696), - CodeunitRange(0x3699, 0x3699), - CodeunitRange(0x36cf, 0x36cf), - CodeunitRange(0x3761, 0x3762), - CodeunitRange(0x376b, 0x376c), - CodeunitRange(0x3775, 0x3775), - CodeunitRange(0x378d, 0x378d), - CodeunitRange(0x37c1, 0x37c1), - CodeunitRange(0x37e2, 0x37e2), - CodeunitRange(0x37e8, 0x37e8), - CodeunitRange(0x37f4, 0x37f4), - CodeunitRange(0x37fd, 0x37fd), - CodeunitRange(0x3800, 0x3800), - CodeunitRange(0x382f, 0x382f), - CodeunitRange(0x3836, 0x3836), - CodeunitRange(0x3840, 0x3840), - CodeunitRange(0x385c, 0x385c), - CodeunitRange(0x3861, 0x3861), - CodeunitRange(0x38a1, 0x38a1), - CodeunitRange(0x38ad, 0x38ad), - CodeunitRange(0x38fa, 0x38fa), - CodeunitRange(0x3917, 0x3917), - CodeunitRange(0x391a, 0x391a), - CodeunitRange(0x396f, 0x396f), - CodeunitRange(0x39a4, 0x39a4), - CodeunitRange(0x39b8, 0x39b8), - CodeunitRange(0x3a5c, 0x3a5c), - CodeunitRange(0x3a6e, 0x3a6e), - CodeunitRange(0x3a73, 0x3a73), - CodeunitRange(0x3a85, 0x3a85), - CodeunitRange(0x3ac4, 0x3ac4), - CodeunitRange(0x3acb, 0x3acb), - CodeunitRange(0x3ad6, 0x3ad7), - CodeunitRange(0x3aea, 0x3aea), - CodeunitRange(0x3af3, 0x3af3), - CodeunitRange(0x3b0e, 0x3b0e), - CodeunitRange(0x3b1a, 0x3b1a), - CodeunitRange(0x3b1c, 0x3b1c), - CodeunitRange(0x3b22, 0x3b22), - CodeunitRange(0x3b35, 0x3b35), - CodeunitRange(0x3b6d, 0x3b6d), - CodeunitRange(0x3b77, 0x3b77), - CodeunitRange(0x3b87, 0x3b88), - CodeunitRange(0x3b8d, 0x3b8d), - CodeunitRange(0x3ba4, 0x3ba4), - CodeunitRange(0x3bb6, 0x3bb6), - CodeunitRange(0x3bc3, 0x3bc3), - CodeunitRange(0x3bcd, 0x3bcd), - CodeunitRange(0x3bf0, 0x3bf0), - CodeunitRange(0x3bf3, 0x3bf3), - CodeunitRange(0x3c0f, 0x3c0f), - CodeunitRange(0x3c26, 0x3c26), - CodeunitRange(0x3cc3, 0x3cc3), - CodeunitRange(0x3cd2, 0x3cd2), - CodeunitRange(0x3d11, 0x3d11), - CodeunitRange(0x3d1e, 0x3d1e), - CodeunitRange(0x3d31, 0x3d31), - CodeunitRange(0x3d4e, 0x3d4e), - CodeunitRange(0x3d64, 0x3d64), - CodeunitRange(0x3d9a, 0x3d9a), - CodeunitRange(0x3dc0, 0x3dc0), - CodeunitRange(0x3dcc, 0x3dcc), - CodeunitRange(0x3dd4, 0x3dd4), - CodeunitRange(0x3e05, 0x3e05), - CodeunitRange(0x3e3f, 0x3e40), - CodeunitRange(0x3e60, 0x3e60), - CodeunitRange(0x3e66, 0x3e66), - CodeunitRange(0x3e68, 0x3e68), - CodeunitRange(0x3e83, 0x3e83), - CodeunitRange(0x3e8a, 0x3e8a), - CodeunitRange(0x3e94, 0x3e94), - CodeunitRange(0x3eda, 0x3eda), - CodeunitRange(0x3f57, 0x3f57), - CodeunitRange(0x3f72, 0x3f72), - CodeunitRange(0x3f75, 0x3f75), - CodeunitRange(0x3f77, 0x3f77), - CodeunitRange(0x3fae, 0x3fae), - CodeunitRange(0x3fb1, 0x3fb1), - CodeunitRange(0x3fc9, 0x3fc9), - CodeunitRange(0x3fd7, 0x3fd7), - CodeunitRange(0x3fdc, 0x3fdc), - CodeunitRange(0x4039, 0x4039), - CodeunitRange(0x4058, 0x4058), - CodeunitRange(0x4093, 0x4093), - CodeunitRange(0x4103, 0x4103), - CodeunitRange(0x4105, 0x4105), - CodeunitRange(0x4148, 0x4148), - CodeunitRange(0x414f, 0x414f), - CodeunitRange(0x4163, 0x4163), - CodeunitRange(0x41b4, 0x41b4), - CodeunitRange(0x41bf, 0x41bf), - CodeunitRange(0x41e6, 0x41e6), - CodeunitRange(0x41ee, 0x41ee), - CodeunitRange(0x41f3, 0x41f3), - CodeunitRange(0x4207, 0x4207), - CodeunitRange(0x420e, 0x420e), - CodeunitRange(0x4264, 0x4264), - CodeunitRange(0x4293, 0x4293), - CodeunitRange(0x42c6, 0x42c6), - CodeunitRange(0x42d6, 0x42d6), - CodeunitRange(0x42dd, 0x42dd), - CodeunitRange(0x4302, 0x4302), - CodeunitRange(0x432b, 0x432b), - CodeunitRange(0x4343, 0x4343), - CodeunitRange(0x43ee, 0x43ee), - CodeunitRange(0x43f0, 0x43f0), - CodeunitRange(0x4408, 0x4408), - CodeunitRange(0x440c, 0x440c), - CodeunitRange(0x4417, 0x4417), - CodeunitRange(0x441c, 0x441c), - CodeunitRange(0x4422, 0x4422), - CodeunitRange(0x4453, 0x4453), - CodeunitRange(0x445b, 0x445b), - CodeunitRange(0x4476, 0x4476), - CodeunitRange(0x447a, 0x447a), - CodeunitRange(0x4491, 0x4491), - CodeunitRange(0x44b3, 0x44b3), - CodeunitRange(0x44be, 0x44be), - CodeunitRange(0x44d4, 0x44d4), - CodeunitRange(0x4508, 0x4508), - CodeunitRange(0x450d, 0x450d), - CodeunitRange(0x4525, 0x4525), - CodeunitRange(0x4543, 0x4543), - CodeunitRange(0x457a, 0x457a), - CodeunitRange(0x459d, 0x459d), - CodeunitRange(0x45b8, 0x45b8), - CodeunitRange(0x45be, 0x45be), - CodeunitRange(0x45e5, 0x45e5), - CodeunitRange(0x45ea, 0x45ea), - CodeunitRange(0x460f, 0x4610), - CodeunitRange(0x4641, 0x4641), - CodeunitRange(0x4665, 0x4665), - CodeunitRange(0x46a1, 0x46a1), - CodeunitRange(0x46ae, 0x46af), - CodeunitRange(0x470c, 0x470c), - CodeunitRange(0x471f, 0x471f), - CodeunitRange(0x4764, 0x4764), - CodeunitRange(0x47e6, 0x47e6), - CodeunitRange(0x47fd, 0x47fd), - CodeunitRange(0x4816, 0x4816), - CodeunitRange(0x481e, 0x481e), - CodeunitRange(0x4844, 0x4844), - CodeunitRange(0x484e, 0x484e), - CodeunitRange(0x48b5, 0x48b5), - CodeunitRange(0x49b0, 0x49b0), - CodeunitRange(0x49e7, 0x49e7), - CodeunitRange(0x49fa, 0x49fa), - CodeunitRange(0x4a04, 0x4a04), - CodeunitRange(0x4a29, 0x4a29), - CodeunitRange(0x4abc, 0x4abc), - CodeunitRange(0x4b38, 0x4b38), - CodeunitRange(0x4b3b, 0x4b3b), - CodeunitRange(0x4b7e, 0x4b7e), - CodeunitRange(0x4bc2, 0x4bc2), - CodeunitRange(0x4bca, 0x4bca), - CodeunitRange(0x4bd2, 0x4bd2), - CodeunitRange(0x4be8, 0x4be8), - CodeunitRange(0x4c17, 0x4c17), - CodeunitRange(0x4c20, 0x4c20), - CodeunitRange(0x4c38, 0x4c38), - CodeunitRange(0x4cc4, 0x4cc4), - CodeunitRange(0x4cd1, 0x4cd1), - CodeunitRange(0x4ce1, 0x4ce1), - CodeunitRange(0x4d07, 0x4d07), - CodeunitRange(0x4d77, 0x4d77), - CodeunitRange(0x4e00, 0x4e05), - CodeunitRange(0x4e07, 0x4e12), - CodeunitRange(0x4e14, 0x4e19), - CodeunitRange(0x4e1e, 0x4e1f), - CodeunitRange(0x4e21, 0x4e21), - CodeunitRange(0x4e23, 0x4e24), - CodeunitRange(0x4e26, 0x4e26), - CodeunitRange(0x4e28, 0x4e32), - CodeunitRange(0x4e35, 0x4e39), - CodeunitRange(0x4e3b, 0x4e3c), - CodeunitRange(0x4e3f, 0x4e45), - CodeunitRange(0x4e47, 0x4e48), - CodeunitRange(0x4e4b, 0x4e4b), - CodeunitRange(0x4e4d, 0x4e4f), - CodeunitRange(0x4e51, 0x4e51), - CodeunitRange(0x4e55, 0x4e5f), - CodeunitRange(0x4e62, 0x4e63), - CodeunitRange(0x4e68, 0x4e69), - CodeunitRange(0x4e71, 0x4e71), - CodeunitRange(0x4e73, 0x4e75), - CodeunitRange(0x4e79, 0x4e79), - CodeunitRange(0x4e7e, 0x4e80), - CodeunitRange(0x4e82, 0x4e82), - CodeunitRange(0x4e85, 0x4e86), - CodeunitRange(0x4e88, 0x4e8e), - CodeunitRange(0x4e91, 0x4e92), - CodeunitRange(0x4e94, 0x4e99), - CodeunitRange(0x4e9b, 0x4ea2), - CodeunitRange(0x4ea4, 0x4ea6), - CodeunitRange(0x4ea8, 0x4ea8), - CodeunitRange(0x4eab, 0x4eb0), - CodeunitRange(0x4eb3, 0x4eb3), - CodeunitRange(0x4eb6, 0x4eb6), - CodeunitRange(0x4eb9, 0x4ebc), - CodeunitRange(0x4ec0, 0x4ec4), - CodeunitRange(0x4ec6, 0x4ec8), - CodeunitRange(0x4eca, 0x4ecb), - CodeunitRange(0x4ecd, 0x4ed0), - CodeunitRange(0x4ed4, 0x4edb), - CodeunitRange(0x4edd, 0x4ee5), - CodeunitRange(0x4ee8, 0x4ee8), - CodeunitRange(0x4eeb, 0x4eeb), - CodeunitRange(0x4eed, 0x4ef3), - CodeunitRange(0x4ef5, 0x4ef7), - CodeunitRange(0x4efb, 0x4f03), - CodeunitRange(0x4f08, 0x4f12), - CodeunitRange(0x4f15, 0x4f17), - CodeunitRange(0x4f19, 0x4f1a), - CodeunitRange(0x4f1c, 0x4f1d), - CodeunitRange(0x4f2b, 0x4f2b), - CodeunitRange(0x4f2e, 0x4f31), - CodeunitRange(0x4f33, 0x4f3e), - CodeunitRange(0x4f40, 0x4f40), - CodeunitRange(0x4f42, 0x4f43), - CodeunitRange(0x4f46, 0x4f49), - CodeunitRange(0x4f4b, 0x4f60), - CodeunitRange(0x4f63, 0x4f64), - CodeunitRange(0x4f69, 0x4f6a), - CodeunitRange(0x4f6c, 0x4f6c), - CodeunitRange(0x4f6e, 0x4f71), - CodeunitRange(0x4f73, 0x4f73), - CodeunitRange(0x4f75, 0x4f7f), - CodeunitRange(0x4f81, 0x4f86), - CodeunitRange(0x4f88, 0x4f94), - CodeunitRange(0x4f96, 0x4f9b), - CodeunitRange(0x4f9d, 0x4fa1), - CodeunitRange(0x4fab, 0x4fab), - CodeunitRange(0x4fad, 0x4faf), - CodeunitRange(0x4fb2, 0x4fb2), - CodeunitRange(0x4fb5, 0x4fb7), - CodeunitRange(0x4fb9, 0x4fb9), - CodeunitRange(0x4fbb, 0x4fc6), - CodeunitRange(0x4fc8, 0x4fd4), - CodeunitRange(0x4fd7, 0x4fd8), - CodeunitRange(0x4fda, 0x4fdd), - CodeunitRange(0x4fdf, 0x4fe6), - CodeunitRange(0x4fee, 0x4ff3), - CodeunitRange(0x4ff5, 0x4ff6), - CodeunitRange(0x4ff8, 0x4ff8), - CodeunitRange(0x4ffa, 0x4ffa), - CodeunitRange(0x4ffc, 0x5002), - CodeunitRange(0x5004, 0x5007), - CodeunitRange(0x5009, 0x5014), - CodeunitRange(0x5016, 0x501f), - CodeunitRange(0x5021, 0x502e), - CodeunitRange(0x5030, 0x5030), - CodeunitRange(0x5032, 0x5033), - CodeunitRange(0x5035, 0x5036), - CodeunitRange(0x5039, 0x5039), - CodeunitRange(0x503b, 0x503b), - CodeunitRange(0x5040, 0x5043), - CodeunitRange(0x5045, 0x504a), - CodeunitRange(0x504c, 0x504c), - CodeunitRange(0x504e, 0x5053), - CodeunitRange(0x5055, 0x5057), - CodeunitRange(0x5059, 0x505a), - CodeunitRange(0x505c, 0x505c), - CodeunitRange(0x505f, 0x5060), - CodeunitRange(0x5062, 0x5063), - CodeunitRange(0x5065, 0x5067), - CodeunitRange(0x506a, 0x506a), - CodeunitRange(0x506c, 0x506d), - CodeunitRange(0x5070, 0x5072), - CodeunitRange(0x5074, 0x5078), - CodeunitRange(0x507d, 0x507d), - CodeunitRange(0x5080, 0x5081), - CodeunitRange(0x5083, 0x5086), - CodeunitRange(0x5088, 0x5088), - CodeunitRange(0x508a, 0x508a), - CodeunitRange(0x508d, 0x5096), - CodeunitRange(0x5098, 0x509c), - CodeunitRange(0x509e, 0x50a3), - CodeunitRange(0x50aa, 0x50aa), - CodeunitRange(0x50ac, 0x50ad), - CodeunitRange(0x50af, 0x50b5), - CodeunitRange(0x50b7, 0x50b7), - CodeunitRange(0x50b9, 0x50bb), - CodeunitRange(0x50bd, 0x50be), - CodeunitRange(0x50c0, 0x50c0), - CodeunitRange(0x50c2, 0x50c5), - CodeunitRange(0x50c7, 0x50c7), - CodeunitRange(0x50c9, 0x50ca), - CodeunitRange(0x50cc, 0x50d1), - CodeunitRange(0x50d3, 0x50d6), - CodeunitRange(0x50d8, 0x50da), - CodeunitRange(0x50dc, 0x50df), - CodeunitRange(0x50e1, 0x50e9), - CodeunitRange(0x50ed, 0x50f6), - CodeunitRange(0x50f9, 0x50fb), - CodeunitRange(0x50fe, 0x50fe), - CodeunitRange(0x5100, 0x5104), - CodeunitRange(0x5106, 0x5109), - CodeunitRange(0x510b, 0x510e), - CodeunitRange(0x5110, 0x5110), - CodeunitRange(0x5112, 0x5112), - CodeunitRange(0x5114, 0x511f), - CodeunitRange(0x5121, 0x5121), - CodeunitRange(0x5123, 0x5123), - CodeunitRange(0x5127, 0x5128), - CodeunitRange(0x512a, 0x512a), - CodeunitRange(0x512c, 0x512d), - CodeunitRange(0x512f, 0x512f), - CodeunitRange(0x5131, 0x5135), - CodeunitRange(0x5137, 0x513c), - CodeunitRange(0x513f, 0x5150), - CodeunitRange(0x5152, 0x5155), - CodeunitRange(0x5157, 0x5158), - CodeunitRange(0x515a, 0x515a), - CodeunitRange(0x515c, 0x515c), - CodeunitRange(0x515f, 0x5160), - CodeunitRange(0x5162, 0x5162), - CodeunitRange(0x5164, 0x516e), - CodeunitRange(0x5171, 0x5171), - CodeunitRange(0x5173, 0x5179), - CodeunitRange(0x517b, 0x517c), - CodeunitRange(0x517e, 0x517e), - CodeunitRange(0x5180, 0x5180), - CodeunitRange(0x5182, 0x5186), - CodeunitRange(0x5189, 0x5193), - CodeunitRange(0x5195, 0x5199), - CodeunitRange(0x519d, 0x519d), - CodeunitRange(0x51a0, 0x51a6), - CodeunitRange(0x51a8, 0x51ad), - CodeunitRange(0x51b0, 0x51b8), - CodeunitRange(0x51ba, 0x51ba), - CodeunitRange(0x51bc, 0x51bf), - CodeunitRange(0x51c2, 0x51c6), - CodeunitRange(0x51c8, 0x51cd), - CodeunitRange(0x51cf, 0x51cf), - CodeunitRange(0x51d1, 0x51d6), - CodeunitRange(0x51d8, 0x51d8), - CodeunitRange(0x51db, 0x51e2), - CodeunitRange(0x51e5, 0x51e7), - CodeunitRange(0x51e9, 0x51ea), - CodeunitRange(0x51ec, 0x51ee), - CodeunitRange(0x51f0, 0x51fa), - CodeunitRange(0x51fd, 0x51fe), - CodeunitRange(0x5200, 0x5208), - CodeunitRange(0x520a, 0x520b), - CodeunitRange(0x520e, 0x520e), - CodeunitRange(0x5211, 0x5218), - CodeunitRange(0x521d, 0x521d), - CodeunitRange(0x5222, 0x5222), - CodeunitRange(0x5224, 0x522b), - CodeunitRange(0x522e, 0x522e), - CodeunitRange(0x5230, 0x5233), - CodeunitRange(0x5235, 0x523c), - CodeunitRange(0x5243, 0x5245), - CodeunitRange(0x5247, 0x5247), - CodeunitRange(0x5249, 0x524d), - CodeunitRange(0x524f, 0x524f), - CodeunitRange(0x5254, 0x5258), - CodeunitRange(0x525a, 0x5261), - CodeunitRange(0x5263, 0x5266), - CodeunitRange(0x5269, 0x526a), - CodeunitRange(0x526c, 0x526c), - CodeunitRange(0x526e, 0x5275), - CodeunitRange(0x5277, 0x5279), - CodeunitRange(0x527d, 0x527d), - CodeunitRange(0x527f, 0x5280), - CodeunitRange(0x5282, 0x5285), - CodeunitRange(0x5287, 0x528a), - CodeunitRange(0x528c, 0x528d), - CodeunitRange(0x5291, 0x5298), - CodeunitRange(0x529a, 0x529c), - CodeunitRange(0x529f, 0x52a0), - CodeunitRange(0x52a3, 0x52a7), - CodeunitRange(0x52a9, 0x52ad), - CodeunitRange(0x52af, 0x52b1), - CodeunitRange(0x52b4, 0x52be), - CodeunitRange(0x52c0, 0x52c1), - CodeunitRange(0x52c3, 0x52ca), - CodeunitRange(0x52cc, 0x52cd), - CodeunitRange(0x52cf, 0x52d2), - CodeunitRange(0x52d4, 0x52d9), - CodeunitRange(0x52db, 0x52ea), - CodeunitRange(0x52ec, 0x52ec), - CodeunitRange(0x52f0, 0x52fb), - CodeunitRange(0x52fe, 0x5303), - CodeunitRange(0x5305, 0x5308), - CodeunitRange(0x530a, 0x530d), - CodeunitRange(0x530f, 0x5311), - CodeunitRange(0x5313, 0x5313), - CodeunitRange(0x5315, 0x5321), - CodeunitRange(0x5323, 0x5325), - CodeunitRange(0x5327, 0x532d), - CodeunitRange(0x532f, 0x5333), - CodeunitRange(0x5335, 0x5335), - CodeunitRange(0x5338, 0x5343), - CodeunitRange(0x5345, 0x534d), - CodeunitRange(0x5351, 0x5354), - CodeunitRange(0x5357, 0x535c), - CodeunitRange(0x535e, 0x535e), - CodeunitRange(0x5360, 0x5361), - CodeunitRange(0x5363, 0x5367), - CodeunitRange(0x5369, 0x5369), - CodeunitRange(0x536c, 0x5375), - CodeunitRange(0x5377, 0x537b), - CodeunitRange(0x537d, 0x537f), - CodeunitRange(0x5382, 0x5384), - CodeunitRange(0x5387, 0x5389), - CodeunitRange(0x538e, 0x538e), - CodeunitRange(0x5393, 0x5394), - CodeunitRange(0x5396, 0x5396), - CodeunitRange(0x5398, 0x539a), - CodeunitRange(0x539d, 0x539d), - CodeunitRange(0x539f, 0x53a1), - CodeunitRange(0x53a4, 0x53a6), - CodeunitRange(0x53a8, 0x53ab), - CodeunitRange(0x53ad, 0x53b0), - CodeunitRange(0x53b2, 0x53b8), - CodeunitRange(0x53ba, 0x53bb), - CodeunitRange(0x53bd, 0x53bd), - CodeunitRange(0x53c0, 0x53c5), - CodeunitRange(0x53c8, 0x53cf), - CodeunitRange(0x53d2, 0x53d7), - CodeunitRange(0x53d9, 0x53db), - CodeunitRange(0x53dd, 0x53f8), - CodeunitRange(0x53fa, 0x53fa), - CodeunitRange(0x5401, 0x5404), - CodeunitRange(0x5408, 0x5413), - CodeunitRange(0x541a, 0x541b), - CodeunitRange(0x541d, 0x5421), - CodeunitRange(0x5424, 0x5424), - CodeunitRange(0x5426, 0x542f), - CodeunitRange(0x5431, 0x5431), - CodeunitRange(0x5433, 0x5436), - CodeunitRange(0x5438, 0x5439), - CodeunitRange(0x543b, 0x5440), - CodeunitRange(0x5442, 0x5444), - CodeunitRange(0x5446, 0x544a), - CodeunitRange(0x544c, 0x544f), - CodeunitRange(0x5451, 0x5451), - CodeunitRange(0x5455, 0x5455), - CodeunitRange(0x545e, 0x545f), - CodeunitRange(0x5462, 0x5462), - CodeunitRange(0x5464, 0x5464), - CodeunitRange(0x5466, 0x546e), - CodeunitRange(0x5470, 0x5471), - CodeunitRange(0x5473, 0x5477), - CodeunitRange(0x547b, 0x547d), - CodeunitRange(0x547f, 0x5481), - CodeunitRange(0x5483, 0x5486), - CodeunitRange(0x5488, 0x5492), - CodeunitRange(0x5495, 0x5496), - CodeunitRange(0x549c, 0x549c), - CodeunitRange(0x549f, 0x54a2), - CodeunitRange(0x54a4, 0x54af), - CodeunitRange(0x54b1, 0x54b3), - CodeunitRange(0x54b7, 0x54c4), - CodeunitRange(0x54c6, 0x54ca), - CodeunitRange(0x54cd, 0x54ce), - CodeunitRange(0x54d8, 0x54d8), - CodeunitRange(0x54e0, 0x54e2), - CodeunitRange(0x54e5, 0x54e6), - CodeunitRange(0x54e8, 0x54ea), - CodeunitRange(0x54ec, 0x54ef), - CodeunitRange(0x54f1, 0x54f3), - CodeunitRange(0x54f6, 0x54f6), - CodeunitRange(0x54fa, 0x54fa), - CodeunitRange(0x54fc, 0x5501), - CodeunitRange(0x5504, 0x5509), - CodeunitRange(0x550c, 0x5510), - CodeunitRange(0x5514, 0x5516), - CodeunitRange(0x5527, 0x5527), - CodeunitRange(0x552a, 0x552b), - CodeunitRange(0x552e, 0x552f), - CodeunitRange(0x5531, 0x5533), - CodeunitRange(0x5535, 0x5536), - CodeunitRange(0x5538, 0x5539), - CodeunitRange(0x553b, 0x553e), - CodeunitRange(0x5540, 0x5541), - CodeunitRange(0x5544, 0x5547), - CodeunitRange(0x5549, 0x554a), - CodeunitRange(0x554c, 0x554d), - CodeunitRange(0x554f, 0x5551), - CodeunitRange(0x5553, 0x5553), - CodeunitRange(0x5556, 0x5558), - CodeunitRange(0x555a, 0x555e), - CodeunitRange(0x5560, 0x5561), - CodeunitRange(0x5563, 0x5564), - CodeunitRange(0x5566, 0x5566), - CodeunitRange(0x557b, 0x5584), - CodeunitRange(0x5586, 0x558b), - CodeunitRange(0x558e, 0x558f), - CodeunitRange(0x5591, 0x5594), - CodeunitRange(0x5597, 0x559a), - CodeunitRange(0x559c, 0x559f), - CodeunitRange(0x55a3, 0x55a4), - CodeunitRange(0x55a7, 0x55ae), - CodeunitRange(0x55b0, 0x55b0), - CodeunitRange(0x55b2, 0x55b2), - CodeunitRange(0x55b6, 0x55b6), - CodeunitRange(0x55bf, 0x55bf), - CodeunitRange(0x55c1, 0x55c1), - CodeunitRange(0x55c3, 0x55c7), - CodeunitRange(0x55c9, 0x55c9), - CodeunitRange(0x55cb, 0x55cc), - CodeunitRange(0x55ce, 0x55ce), - CodeunitRange(0x55d1, 0x55d4), - CodeunitRange(0x55d7, 0x55d8), - CodeunitRange(0x55da, 0x55df), - CodeunitRange(0x55e2, 0x55e4), - CodeunitRange(0x55e9, 0x55e9), - CodeunitRange(0x55ec, 0x55ec), - CodeunitRange(0x55ee, 0x55ee), - CodeunitRange(0x55f1, 0x55f1), - CodeunitRange(0x55f6, 0x55f9), - CodeunitRange(0x55fd, 0x55ff), - CodeunitRange(0x5605, 0x560a), - CodeunitRange(0x560d, 0x5612), - CodeunitRange(0x5614, 0x5614), - CodeunitRange(0x5616, 0x5619), - CodeunitRange(0x561b, 0x561b), - CodeunitRange(0x5620, 0x5620), - CodeunitRange(0x5628, 0x5629), - CodeunitRange(0x562c, 0x562c), - CodeunitRange(0x562f, 0x5639), - CodeunitRange(0x563b, 0x563d), - CodeunitRange(0x563f, 0x5644), - CodeunitRange(0x5646, 0x5647), - CodeunitRange(0x5649, 0x5649), - CodeunitRange(0x564b, 0x5650), - CodeunitRange(0x5653, 0x5654), - CodeunitRange(0x565b, 0x565b), - CodeunitRange(0x565e, 0x565e), - CodeunitRange(0x5660, 0x5664), - CodeunitRange(0x5666, 0x5666), - CodeunitRange(0x5668, 0x566d), - CodeunitRange(0x566f, 0x566f), - CodeunitRange(0x5671, 0x5672), - CodeunitRange(0x5674, 0x5676), - CodeunitRange(0x5678, 0x5678), - CodeunitRange(0x567a, 0x567a), - CodeunitRange(0x5680, 0x5680), - CodeunitRange(0x5684, 0x5688), - CodeunitRange(0x568a, 0x568c), - CodeunitRange(0x568f, 0x568f), - CodeunitRange(0x5694, 0x5695), - CodeunitRange(0x5699, 0x569a), - CodeunitRange(0x569d, 0x56a0), - CodeunitRange(0x56a2, 0x56a2), - CodeunitRange(0x56a5, 0x56a9), - CodeunitRange(0x56ab, 0x56ae), - CodeunitRange(0x56b1, 0x56b4), - CodeunitRange(0x56b6, 0x56b7), - CodeunitRange(0x56bc, 0x56bc), - CodeunitRange(0x56be, 0x56be), - CodeunitRange(0x56c0, 0x56c3), - CodeunitRange(0x56c5, 0x56c5), - CodeunitRange(0x56c8, 0x56d1), - CodeunitRange(0x56d3, 0x56d3), - CodeunitRange(0x56d7, 0x56e1), - CodeunitRange(0x56e3, 0x56e8), - CodeunitRange(0x56eb, 0x56eb), - CodeunitRange(0x56ed, 0x56ee), - CodeunitRange(0x56f0, 0x56f3), - CodeunitRange(0x56f6, 0x56f7), - CodeunitRange(0x56f9, 0x56fa), - CodeunitRange(0x56fd, 0x56fd), - CodeunitRange(0x56ff, 0x5704), - CodeunitRange(0x5707, 0x570d), - CodeunitRange(0x570f, 0x570f), - CodeunitRange(0x5711, 0x5713), - CodeunitRange(0x5715, 0x5716), - CodeunitRange(0x5718, 0x5718), - CodeunitRange(0x571a, 0x571d), - CodeunitRange(0x571f, 0x572a), - CodeunitRange(0x572c, 0x5730), - CodeunitRange(0x5733, 0x5734), - CodeunitRange(0x5737, 0x5738), - CodeunitRange(0x573b, 0x573b), - CodeunitRange(0x573d, 0x5740), - CodeunitRange(0x5742, 0x5742), - CodeunitRange(0x5745, 0x5747), - CodeunitRange(0x574a, 0x574a), - CodeunitRange(0x574c, 0x5752), - CodeunitRange(0x5759, 0x5759), - CodeunitRange(0x575f, 0x575f), - CodeunitRange(0x5761, 0x5762), - CodeunitRange(0x5764, 0x576b), - CodeunitRange(0x576d, 0x5771), - CodeunitRange(0x5773, 0x5775), - CodeunitRange(0x5777, 0x5777), - CodeunitRange(0x5779, 0x577c), - CodeunitRange(0x577e, 0x577f), - CodeunitRange(0x5781, 0x5783), - CodeunitRange(0x5788, 0x5789), - CodeunitRange(0x578b, 0x578c), - CodeunitRange(0x5793, 0x5795), - CodeunitRange(0x5797, 0x5797), - CodeunitRange(0x5799, 0x579a), - CodeunitRange(0x579c, 0x57a4), - CodeunitRange(0x57a7, 0x57aa), - CodeunitRange(0x57ac, 0x57ac), - CodeunitRange(0x57ae, 0x57ae), - CodeunitRange(0x57b0, 0x57b0), - CodeunitRange(0x57b3, 0x57b3), - CodeunitRange(0x57b8, 0x57b8), - CodeunitRange(0x57bd, 0x57bd), - CodeunitRange(0x57c0, 0x57c0), - CodeunitRange(0x57c3, 0x57c3), - CodeunitRange(0x57c6, 0x57c8), - CodeunitRange(0x57cb, 0x57cc), - CodeunitRange(0x57ce, 0x57cf), - CodeunitRange(0x57d2, 0x57d7), - CodeunitRange(0x57dc, 0x57e1), - CodeunitRange(0x57e3, 0x57e4), - CodeunitRange(0x57e6, 0x57e7), - CodeunitRange(0x57e9, 0x57e9), - CodeunitRange(0x57ed, 0x57ed), - CodeunitRange(0x57f0, 0x57f0), - CodeunitRange(0x57f4, 0x5800), - CodeunitRange(0x5802, 0x5806), - CodeunitRange(0x5808, 0x580d), - CodeunitRange(0x5815, 0x5815), - CodeunitRange(0x5819, 0x5819), - CodeunitRange(0x581b, 0x581b), - CodeunitRange(0x581d, 0x5821), - CodeunitRange(0x5824, 0x5824), - CodeunitRange(0x5826, 0x5827), - CodeunitRange(0x582a, 0x582a), - CodeunitRange(0x582d, 0x582d), - CodeunitRange(0x582f, 0x5832), - CodeunitRange(0x5834, 0x5835), - CodeunitRange(0x5839, 0x583a), - CodeunitRange(0x583d, 0x583d), - CodeunitRange(0x583f, 0x5841), - CodeunitRange(0x5849, 0x584d), - CodeunitRange(0x584f, 0x5852), - CodeunitRange(0x5854, 0x5855), - CodeunitRange(0x5857, 0x585a), - CodeunitRange(0x585e, 0x585f), - CodeunitRange(0x5861, 0x5862), - CodeunitRange(0x5864, 0x5864), - CodeunitRange(0x5867, 0x5869), - CodeunitRange(0x586b, 0x586b), - CodeunitRange(0x586d, 0x586d), - CodeunitRange(0x5870, 0x5870), - CodeunitRange(0x5872, 0x5872), - CodeunitRange(0x5875, 0x5875), - CodeunitRange(0x5878, 0x5879), - CodeunitRange(0x587c, 0x587c), - CodeunitRange(0x587e, 0x5881), - CodeunitRange(0x5883, 0x5883), - CodeunitRange(0x5885, 0x5885), - CodeunitRange(0x5887, 0x588d), - CodeunitRange(0x588f, 0x5890), - CodeunitRange(0x5893, 0x5894), - CodeunitRange(0x5896, 0x5898), - CodeunitRange(0x589c, 0x58a2), - CodeunitRange(0x58a6, 0x58a6), - CodeunitRange(0x58a8, 0x58ab), - CodeunitRange(0x58ae, 0x58ae), - CodeunitRange(0x58b1, 0x58b3), - CodeunitRange(0x58b8, 0x58bc), - CodeunitRange(0x58be, 0x58be), - CodeunitRange(0x58c1, 0x58c5), - CodeunitRange(0x58c7, 0x58c8), - CodeunitRange(0x58ca, 0x58ca), - CodeunitRange(0x58cc, 0x58ce), - CodeunitRange(0x58d0, 0x58da), - CodeunitRange(0x58dc, 0x58e2), - CodeunitRange(0x58e4, 0x58e5), - CodeunitRange(0x58e9, 0x58e9), - CodeunitRange(0x58eb, 0x58ec), - CodeunitRange(0x58ee, 0x58f4), - CodeunitRange(0x58f7, 0x58f7), - CodeunitRange(0x58f9, 0x58fd), - CodeunitRange(0x5902, 0x5902), - CodeunitRange(0x5905, 0x5906), - CodeunitRange(0x5909, 0x590d), - CodeunitRange(0x590f, 0x5910), - CodeunitRange(0x5912, 0x5916), - CodeunitRange(0x5918, 0x591d), - CodeunitRange(0x591f, 0x591f), - CodeunitRange(0x5921, 0x5925), - CodeunitRange(0x5927, 0x5933), - CodeunitRange(0x5935, 0x5939), - CodeunitRange(0x593d, 0x593f), - CodeunitRange(0x5943, 0x5944), - CodeunitRange(0x5946, 0x5949), - CodeunitRange(0x594e, 0x5955), - CodeunitRange(0x5957, 0x595b), - CodeunitRange(0x595d, 0x5963), - CodeunitRange(0x5965, 0x5965), - CodeunitRange(0x5967, 0x596f), - CodeunitRange(0x5972, 0x5976), - CodeunitRange(0x5978, 0x5979), - CodeunitRange(0x597b, 0x597d), - CodeunitRange(0x5981, 0x5984), - CodeunitRange(0x598a, 0x598e), - CodeunitRange(0x5992, 0x5993), - CodeunitRange(0x5995, 0x5997), - CodeunitRange(0x5999, 0x5999), - CodeunitRange(0x599b, 0x599b), - CodeunitRange(0x599d, 0x599d), - CodeunitRange(0x599f, 0x599f), - CodeunitRange(0x59a3, 0x59a5), - CodeunitRange(0x59a7, 0x59a8), - CodeunitRange(0x59ac, 0x59b0), - CodeunitRange(0x59b2, 0x59b3), - CodeunitRange(0x59b7, 0x59b7), - CodeunitRange(0x59b9, 0x59bc), - CodeunitRange(0x59be, 0x59be), - CodeunitRange(0x59c1, 0x59c1), - CodeunitRange(0x59c3, 0x59c4), - CodeunitRange(0x59c6, 0x59c6), - CodeunitRange(0x59c8, 0x59cb), - CodeunitRange(0x59cd, 0x59cd), - CodeunitRange(0x59d0, 0x59d4), - CodeunitRange(0x59d9, 0x59da), - CodeunitRange(0x59dc, 0x59df), - CodeunitRange(0x59e3, 0x59e8), - CodeunitRange(0x59ea, 0x59ec), - CodeunitRange(0x59ee, 0x59ef), - CodeunitRange(0x59f1, 0x59f2), - CodeunitRange(0x59f4, 0x59f4), - CodeunitRange(0x59f6, 0x59f8), - CodeunitRange(0x59fb, 0x59fb), - CodeunitRange(0x59ff, 0x5a01), - CodeunitRange(0x5a03, 0x5a04), - CodeunitRange(0x5a09, 0x5a09), - CodeunitRange(0x5a0c, 0x5a0e), - CodeunitRange(0x5a11, 0x5a13), - CodeunitRange(0x5a17, 0x5a18), - CodeunitRange(0x5a1a, 0x5a1c), - CodeunitRange(0x5a1e, 0x5a20), - CodeunitRange(0x5a23, 0x5a25), - CodeunitRange(0x5a27, 0x5a2a), - CodeunitRange(0x5a2d, 0x5a2d), - CodeunitRange(0x5a2f, 0x5a30), - CodeunitRange(0x5a35, 0x5a36), - CodeunitRange(0x5a3c, 0x5a3c), - CodeunitRange(0x5a40, 0x5a41), - CodeunitRange(0x5a44, 0x5a49), - CodeunitRange(0x5a4c, 0x5a4c), - CodeunitRange(0x5a50, 0x5a50), - CodeunitRange(0x5a55, 0x5a55), - CodeunitRange(0x5a5a, 0x5a5a), - CodeunitRange(0x5a5e, 0x5a5e), - CodeunitRange(0x5a62, 0x5a63), - CodeunitRange(0x5a65, 0x5a67), - CodeunitRange(0x5a6a, 0x5a6a), - CodeunitRange(0x5a6c, 0x5a6d), - CodeunitRange(0x5a77, 0x5a77), - CodeunitRange(0x5a7a, 0x5a7b), - CodeunitRange(0x5a7e, 0x5a7f), - CodeunitRange(0x5a84, 0x5a84), - CodeunitRange(0x5a8b, 0x5a8b), - CodeunitRange(0x5a90, 0x5a90), - CodeunitRange(0x5a92, 0x5a93), - CodeunitRange(0x5a96, 0x5a96), - CodeunitRange(0x5a99, 0x5a9c), - CodeunitRange(0x5a9e, 0x5aa0), - CodeunitRange(0x5aa2, 0x5aa2), - CodeunitRange(0x5aa7, 0x5aa7), - CodeunitRange(0x5aac, 0x5aac), - CodeunitRange(0x5ab1, 0x5ab3), - CodeunitRange(0x5ab5, 0x5ab5), - CodeunitRange(0x5ab8, 0x5ab8), - CodeunitRange(0x5aba, 0x5abf), - CodeunitRange(0x5ac1, 0x5ac2), - CodeunitRange(0x5ac4, 0x5ac4), - CodeunitRange(0x5ac6, 0x5ac6), - CodeunitRange(0x5ac8, 0x5ac9), - CodeunitRange(0x5acb, 0x5acc), - CodeunitRange(0x5acf, 0x5ad0), - CodeunitRange(0x5ad6, 0x5ad7), - CodeunitRange(0x5ada, 0x5ada), - CodeunitRange(0x5adc, 0x5adc), - CodeunitRange(0x5ae0, 0x5ae1), - CodeunitRange(0x5ae3, 0x5ae3), - CodeunitRange(0x5ae5, 0x5ae6), - CodeunitRange(0x5ae9, 0x5aea), - CodeunitRange(0x5aee, 0x5aee), - CodeunitRange(0x5af0, 0x5af0), - CodeunitRange(0x5af5, 0x5af6), - CodeunitRange(0x5afa, 0x5afb), - CodeunitRange(0x5afd, 0x5afd), - CodeunitRange(0x5b00, 0x5b01), - CodeunitRange(0x5b08, 0x5b09), - CodeunitRange(0x5b0b, 0x5b0c), - CodeunitRange(0x5b16, 0x5b17), - CodeunitRange(0x5b19, 0x5b19), - CodeunitRange(0x5b1b, 0x5b1b), - CodeunitRange(0x5b1d, 0x5b1d), - CodeunitRange(0x5b21, 0x5b22), - CodeunitRange(0x5b25, 0x5b25), - CodeunitRange(0x5b2a, 0x5b2a), - CodeunitRange(0x5b2c, 0x5b2d), - CodeunitRange(0x5b30, 0x5b30), - CodeunitRange(0x5b32, 0x5b32), - CodeunitRange(0x5b34, 0x5b34), - CodeunitRange(0x5b36, 0x5b36), - CodeunitRange(0x5b38, 0x5b38), - CodeunitRange(0x5b3e, 0x5b3e), - CodeunitRange(0x5b40, 0x5b41), - CodeunitRange(0x5b43, 0x5b43), - CodeunitRange(0x5b45, 0x5b45), - CodeunitRange(0x5b4b, 0x5b4c), - CodeunitRange(0x5b50, 0x5b52), - CodeunitRange(0x5b54, 0x5b58), - CodeunitRange(0x5b5a, 0x5b5f), - CodeunitRange(0x5b63, 0x5b66), - CodeunitRange(0x5b68, 0x5b69), - CodeunitRange(0x5b6b, 0x5b6b), - CodeunitRange(0x5b6e, 0x5b71), - CodeunitRange(0x5b73, 0x5b73), - CodeunitRange(0x5b75, 0x5b76), - CodeunitRange(0x5b78, 0x5b78), - CodeunitRange(0x5b7a, 0x5b7a), - CodeunitRange(0x5b7c, 0x5b91), - CodeunitRange(0x5b93, 0x5b9d), - CodeunitRange(0x5b9f, 0x5b9f), - CodeunitRange(0x5ba2, 0x5ba6), - CodeunitRange(0x5ba8, 0x5ba9), - CodeunitRange(0x5bac, 0x5bba), - CodeunitRange(0x5bbc, 0x5bbc), - CodeunitRange(0x5bbf, 0x5bc7), - CodeunitRange(0x5bc9, 0x5bc9), - CodeunitRange(0x5bcc, 0x5bd0), - CodeunitRange(0x5bd2, 0x5bd4), - CodeunitRange(0x5bd6, 0x5bdb), - CodeunitRange(0x5bdd, 0x5be2), - CodeunitRange(0x5be4, 0x5be9), - CodeunitRange(0x5beb, 0x5bec), - CodeunitRange(0x5bee, 0x5bf1), - CodeunitRange(0x5bf3, 0x5bf6), - CodeunitRange(0x5bf8, 0x5bf8), - CodeunitRange(0x5bfa, 0x5bfa), - CodeunitRange(0x5bfd, 0x5bff), - CodeunitRange(0x5c01, 0x5c0f), - CodeunitRange(0x5c11, 0x5c14), - CodeunitRange(0x5c16, 0x5c17), - CodeunitRange(0x5c19, 0x5c1a), - CodeunitRange(0x5c1e, 0x5c20), - CodeunitRange(0x5c22, 0x5c24), - CodeunitRange(0x5c26, 0x5c26), - CodeunitRange(0x5c28, 0x5c2e), - CodeunitRange(0x5c30, 0x5c32), - CodeunitRange(0x5c35, 0x5c36), - CodeunitRange(0x5c38, 0x5c41), - CodeunitRange(0x5c45, 0x5c46), - CodeunitRange(0x5c48, 0x5c48), - CodeunitRange(0x5c4a, 0x5c4b), - CodeunitRange(0x5c4d, 0x5c51), - CodeunitRange(0x5c53, 0x5c53), - CodeunitRange(0x5c55, 0x5c55), - CodeunitRange(0x5c59, 0x5c5c), - CodeunitRange(0x5c5e, 0x5c65), - CodeunitRange(0x5c67, 0x5c69), - CodeunitRange(0x5c6c, 0x5c71), - CodeunitRange(0x5c74, 0x5c76), - CodeunitRange(0x5c79, 0x5c7d), - CodeunitRange(0x5c87, 0x5c88), - CodeunitRange(0x5c8a, 0x5c8a), - CodeunitRange(0x5c8c, 0x5c8c), - CodeunitRange(0x5c8f, 0x5c92), - CodeunitRange(0x5c94, 0x5c94), - CodeunitRange(0x5c9d, 0x5c9d), - CodeunitRange(0x5c9f, 0x5ca3), - CodeunitRange(0x5ca6, 0x5cad), - CodeunitRange(0x5cb1, 0x5cb8), - CodeunitRange(0x5cba, 0x5cbc), - CodeunitRange(0x5cbe, 0x5cbe), - CodeunitRange(0x5cc5, 0x5cc5), - CodeunitRange(0x5cc7, 0x5cc7), - CodeunitRange(0x5cc9, 0x5cc9), - CodeunitRange(0x5ccb, 0x5ccb), - CodeunitRange(0x5cd0, 0x5cd0), - CodeunitRange(0x5cd2, 0x5cd2), - CodeunitRange(0x5cd7, 0x5cd7), - CodeunitRange(0x5cd9, 0x5cd9), - CodeunitRange(0x5cdd, 0x5cdd), - CodeunitRange(0x5ce0, 0x5ce1), - CodeunitRange(0x5ce6, 0x5ce6), - CodeunitRange(0x5ce8, 0x5cea), - CodeunitRange(0x5ced, 0x5cf2), - CodeunitRange(0x5cf4, 0x5cf6), - CodeunitRange(0x5cfa, 0x5cfb), - CodeunitRange(0x5cfd, 0x5cfd), - CodeunitRange(0x5d01, 0x5d01), - CodeunitRange(0x5d06, 0x5d07), - CodeunitRange(0x5d0b, 0x5d0b), - CodeunitRange(0x5d0d, 0x5d0e), - CodeunitRange(0x5d10, 0x5d12), - CodeunitRange(0x5d14, 0x5d1b), - CodeunitRange(0x5d1d, 0x5d1d), - CodeunitRange(0x5d1f, 0x5d20), - CodeunitRange(0x5d22, 0x5d24), - CodeunitRange(0x5d26, 0x5d27), - CodeunitRange(0x5d29, 0x5d29), - CodeunitRange(0x5d2b, 0x5d2b), - CodeunitRange(0x5d31, 0x5d31), - CodeunitRange(0x5d34, 0x5d34), - CodeunitRange(0x5d39, 0x5d39), - CodeunitRange(0x5d3d, 0x5d3d), - CodeunitRange(0x5d3f, 0x5d3f), - CodeunitRange(0x5d42, 0x5d43), - CodeunitRange(0x5d46, 0x5d48), - CodeunitRange(0x5d4a, 0x5d4c), - CodeunitRange(0x5d4e, 0x5d4e), - CodeunitRange(0x5d50, 0x5d53), - CodeunitRange(0x5d55, 0x5d55), - CodeunitRange(0x5d59, 0x5d59), - CodeunitRange(0x5d5c, 0x5d5c), - CodeunitRange(0x5d5f, 0x5d62), - CodeunitRange(0x5d64, 0x5d64), - CodeunitRange(0x5d69, 0x5d6a), - CodeunitRange(0x5d6c, 0x5d6d), - CodeunitRange(0x5d6f, 0x5d70), - CodeunitRange(0x5d73, 0x5d73), - CodeunitRange(0x5d76, 0x5d76), - CodeunitRange(0x5d79, 0x5d7a), - CodeunitRange(0x5d7e, 0x5d7f), - CodeunitRange(0x5d81, 0x5d84), - CodeunitRange(0x5d87, 0x5d88), - CodeunitRange(0x5d8a, 0x5d8c), - CodeunitRange(0x5d90, 0x5d90), - CodeunitRange(0x5d92, 0x5d95), - CodeunitRange(0x5d97, 0x5d97), - CodeunitRange(0x5d99, 0x5d99), - CodeunitRange(0x5d9b, 0x5d9b), - CodeunitRange(0x5d9d, 0x5d9d), - CodeunitRange(0x5d9f, 0x5da0), - CodeunitRange(0x5da2, 0x5da2), - CodeunitRange(0x5da4, 0x5da4), - CodeunitRange(0x5da7, 0x5da7), - CodeunitRange(0x5dab, 0x5dac), - CodeunitRange(0x5dae, 0x5dae), - CodeunitRange(0x5db0, 0x5db0), - CodeunitRange(0x5db2, 0x5db2), - CodeunitRange(0x5db4, 0x5db4), - CodeunitRange(0x5db7, 0x5dba), - CodeunitRange(0x5dbc, 0x5dbd), - CodeunitRange(0x5dc3, 0x5dc3), - CodeunitRange(0x5dc7, 0x5dc7), - CodeunitRange(0x5dc9, 0x5dc9), - CodeunitRange(0x5dcb, 0x5dce), - CodeunitRange(0x5dd0, 0x5dd3), - CodeunitRange(0x5dd6, 0x5dd9), - CodeunitRange(0x5ddb, 0x5ddb), - CodeunitRange(0x5ddd, 0x5dde), - CodeunitRange(0x5de0, 0x5de9), - CodeunitRange(0x5deb, 0x5deb), - CodeunitRange(0x5dee, 0x5dee), - CodeunitRange(0x5df1, 0x5df5), - CodeunitRange(0x5df7, 0x5df9), - CodeunitRange(0x5dfb, 0x5dfb), - CodeunitRange(0x5dfd, 0x5e00), - CodeunitRange(0x5e02, 0x5e03), - CodeunitRange(0x5e06, 0x5e07), - CodeunitRange(0x5e0b, 0x5e0d), - CodeunitRange(0x5e11, 0x5e12), - CodeunitRange(0x5e14, 0x5e16), - CodeunitRange(0x5e18, 0x5e1b), - CodeunitRange(0x5e1d, 0x5e1d), - CodeunitRange(0x5e1f, 0x5e20), - CodeunitRange(0x5e25, 0x5e25), - CodeunitRange(0x5e28, 0x5e28), - CodeunitRange(0x5e2b, 0x5e2b), - CodeunitRange(0x5e2d, 0x5e30), - CodeunitRange(0x5e32, 0x5e33), - CodeunitRange(0x5e35, 0x5e38), - CodeunitRange(0x5e3d, 0x5e3e), - CodeunitRange(0x5e40, 0x5e40), - CodeunitRange(0x5e43, 0x5e45), - CodeunitRange(0x5e47, 0x5e47), - CodeunitRange(0x5e49, 0x5e49), - CodeunitRange(0x5e4b, 0x5e4c), - CodeunitRange(0x5e4e, 0x5e4e), - CodeunitRange(0x5e50, 0x5e51), - CodeunitRange(0x5e54, 0x5e58), - CodeunitRange(0x5e5b, 0x5e5c), - CodeunitRange(0x5e5e, 0x5e5f), - CodeunitRange(0x5e61, 0x5e64), - CodeunitRange(0x5e68, 0x5e68), - CodeunitRange(0x5e6a, 0x5e6e), - CodeunitRange(0x5e70, 0x5e70), - CodeunitRange(0x5e72, 0x5e81), - CodeunitRange(0x5e83, 0x5e84), - CodeunitRange(0x5e87, 0x5e87), - CodeunitRange(0x5e8a, 0x5e8b), - CodeunitRange(0x5e8e, 0x5e8f), - CodeunitRange(0x5e95, 0x5e97), - CodeunitRange(0x5e99, 0x5e9a), - CodeunitRange(0x5e9c, 0x5e9c), - CodeunitRange(0x5ea0, 0x5ea0), - CodeunitRange(0x5ea2, 0x5ea2), - CodeunitRange(0x5ea4, 0x5ea8), - CodeunitRange(0x5eaa, 0x5ead), - CodeunitRange(0x5eb1, 0x5eb1), - CodeunitRange(0x5eb3, 0x5eb3), - CodeunitRange(0x5eb5, 0x5eb9), - CodeunitRange(0x5ebd, 0x5ebf), - CodeunitRange(0x5ec1, 0x5ec3), - CodeunitRange(0x5ec6, 0x5ec6), - CodeunitRange(0x5ec8, 0x5ecc), - CodeunitRange(0x5ece, 0x5ed6), - CodeunitRange(0x5ed9, 0x5ee3), - CodeunitRange(0x5ee5, 0x5ee5), - CodeunitRange(0x5ee8, 0x5ee9), - CodeunitRange(0x5eeb, 0x5eec), - CodeunitRange(0x5ef0, 0x5ef1), - CodeunitRange(0x5ef3, 0x5ef4), - CodeunitRange(0x5ef6, 0x5f04), - CodeunitRange(0x5f06, 0x5f11), - CodeunitRange(0x5f13, 0x5f19), - CodeunitRange(0x5f1b, 0x5f1f), - CodeunitRange(0x5f21, 0x5f29), - CodeunitRange(0x5f2b, 0x5f31), - CodeunitRange(0x5f34, 0x5f38), - CodeunitRange(0x5f3a, 0x5f41), - CodeunitRange(0x5f44, 0x5f45), - CodeunitRange(0x5f47, 0x5f48), - CodeunitRange(0x5f4a, 0x5f4a), - CodeunitRange(0x5f4c, 0x5f4e), - CodeunitRange(0x5f50, 0x5f51), - CodeunitRange(0x5f53, 0x5f54), - CodeunitRange(0x5f56, 0x5f59), - CodeunitRange(0x5f5b, 0x5f5d), - CodeunitRange(0x5f60, 0x5f67), - CodeunitRange(0x5f69, 0x5f6d), - CodeunitRange(0x5f6f, 0x5f75), - CodeunitRange(0x5f77, 0x5f7a), - CodeunitRange(0x5f7c, 0x5f85), - CodeunitRange(0x5f87, 0x5f8d), - CodeunitRange(0x5f8f, 0x5f93), - CodeunitRange(0x5f96, 0x5f99), - CodeunitRange(0x5f9c, 0x5f9e), - CodeunitRange(0x5fa0, 0x5fa2), - CodeunitRange(0x5fa4, 0x5fa4), - CodeunitRange(0x5fa7, 0x5fb1), - CodeunitRange(0x5fb3, 0x5fb5), - CodeunitRange(0x5fb7, 0x5fb9), - CodeunitRange(0x5fbc, 0x5fbd), - CodeunitRange(0x5fc3, 0x5fc5), - CodeunitRange(0x5fc7, 0x5fc9), - CodeunitRange(0x5fcb, 0x5fcd), - CodeunitRange(0x5fd0, 0x5fd4), - CodeunitRange(0x5fd6, 0x5fd9), - CodeunitRange(0x5fdc, 0x5fde), - CodeunitRange(0x5fe0, 0x5fe2), - CodeunitRange(0x5fe4, 0x5fe4), - CodeunitRange(0x5fe8, 0x5ff3), - CodeunitRange(0x5ff5, 0x5ff6), - CodeunitRange(0x5ff8, 0x5ff8), - CodeunitRange(0x5ffa, 0x5ffd), - CodeunitRange(0x5fff, 0x5fff), - CodeunitRange(0x6007, 0x6007), - CodeunitRange(0x600a, 0x600a), - CodeunitRange(0x600d, 0x6010), - CodeunitRange(0x6012, 0x601d), - CodeunitRange(0x601f, 0x6022), - CodeunitRange(0x6024, 0x602b), - CodeunitRange(0x602d, 0x602d), - CodeunitRange(0x602f, 0x602f), - CodeunitRange(0x6031, 0x6031), - CodeunitRange(0x6033, 0x6033), - CodeunitRange(0x6035, 0x6035), - CodeunitRange(0x603a, 0x603a), - CodeunitRange(0x6040, 0x6043), - CodeunitRange(0x6046, 0x604d), - CodeunitRange(0x6050, 0x6052), - CodeunitRange(0x6054, 0x6057), - CodeunitRange(0x6059, 0x605a), - CodeunitRange(0x605d, 0x605d), - CodeunitRange(0x605f, 0x6065), - CodeunitRange(0x6067, 0x606d), - CodeunitRange(0x606f, 0x6071), - CodeunitRange(0x6075, 0x6075), - CodeunitRange(0x6077, 0x6077), - CodeunitRange(0x607e, 0x607f), - CodeunitRange(0x6081, 0x6086), - CodeunitRange(0x6088, 0x608e), - CodeunitRange(0x6091, 0x6098), - CodeunitRange(0x609a, 0x609b), - CodeunitRange(0x609d, 0x60a0), - CodeunitRange(0x60a2, 0x60aa), - CodeunitRange(0x60b0, 0x60b8), - CodeunitRange(0x60bb, 0x60be), - CodeunitRange(0x60c2, 0x60c2), - CodeunitRange(0x60c4, 0x60cb), - CodeunitRange(0x60ce, 0x60cf), - CodeunitRange(0x60d1, 0x60d1), - CodeunitRange(0x60d3, 0x60d5), - CodeunitRange(0x60d8, 0x60e3), - CodeunitRange(0x60e5, 0x60e5), - CodeunitRange(0x60e7, 0x60e8), - CodeunitRange(0x60ee, 0x60ee), - CodeunitRange(0x60f0, 0x60fd), - CodeunitRange(0x6100, 0x6103), - CodeunitRange(0x6106, 0x610a), - CodeunitRange(0x610c, 0x6117), - CodeunitRange(0x6119, 0x611c), - CodeunitRange(0x611e, 0x6122), - CodeunitRange(0x6127, 0x6128), - CodeunitRange(0x612a, 0x612c), - CodeunitRange(0x6130, 0x6131), - CodeunitRange(0x6134, 0x6137), - CodeunitRange(0x6139, 0x613a), - CodeunitRange(0x613c, 0x613f), - CodeunitRange(0x6141, 0x6142), - CodeunitRange(0x6144, 0x614e), - CodeunitRange(0x6153, 0x6153), - CodeunitRange(0x6155, 0x6155), - CodeunitRange(0x6158, 0x615a), - CodeunitRange(0x615d, 0x6160), - CodeunitRange(0x6162, 0x6165), - CodeunitRange(0x6167, 0x6168), - CodeunitRange(0x616b, 0x616c), - CodeunitRange(0x616e, 0x6178), - CodeunitRange(0x617b, 0x6184), - CodeunitRange(0x6187, 0x6187), - CodeunitRange(0x618a, 0x618b), - CodeunitRange(0x618d, 0x618e), - CodeunitRange(0x6190, 0x6194), - CodeunitRange(0x6196, 0x619a), - CodeunitRange(0x619c, 0x619d), - CodeunitRange(0x619f, 0x61a0), - CodeunitRange(0x61a4, 0x61a5), - CodeunitRange(0x61a7, 0x61ae), - CodeunitRange(0x61b2, 0x61b2), - CodeunitRange(0x61b6, 0x61b6), - CodeunitRange(0x61b8, 0x61ba), - CodeunitRange(0x61bc, 0x61bc), - CodeunitRange(0x61be, 0x61be), - CodeunitRange(0x61c0, 0x61c3), - CodeunitRange(0x61c6, 0x61d0), - CodeunitRange(0x61d5, 0x61d5), - CodeunitRange(0x61dc, 0x61df), - CodeunitRange(0x61e1, 0x61e3), - CodeunitRange(0x61e5, 0x61e9), - CodeunitRange(0x61ec, 0x61ed), - CodeunitRange(0x61ef, 0x61ef), - CodeunitRange(0x61f2, 0x61f2), - CodeunitRange(0x61f4, 0x61f8), - CodeunitRange(0x61fa, 0x61fa), - CodeunitRange(0x61fc, 0x6201), - CodeunitRange(0x6203, 0x6204), - CodeunitRange(0x6207, 0x620a), - CodeunitRange(0x620c, 0x620e), - CodeunitRange(0x6210, 0x6216), - CodeunitRange(0x621a, 0x6223), - CodeunitRange(0x6226, 0x6227), - CodeunitRange(0x6229, 0x622b), - CodeunitRange(0x622e, 0x6234), - CodeunitRange(0x6236, 0x6236), - CodeunitRange(0x6238, 0x6239), - CodeunitRange(0x623b, 0x623b), - CodeunitRange(0x623d, 0x6244), - CodeunitRange(0x6246, 0x6249), - CodeunitRange(0x624b, 0x624e), - CodeunitRange(0x6250, 0x6256), - CodeunitRange(0x6258, 0x6258), - CodeunitRange(0x625a, 0x625c), - CodeunitRange(0x625e, 0x625e), - CodeunitRange(0x6260, 0x6261), - CodeunitRange(0x6263, 0x6264), - CodeunitRange(0x6268, 0x6268), - CodeunitRange(0x626d, 0x626f), - CodeunitRange(0x6271, 0x6271), - CodeunitRange(0x6273, 0x6273), - CodeunitRange(0x6276, 0x6276), - CodeunitRange(0x6279, 0x6280), - CodeunitRange(0x6282, 0x6285), - CodeunitRange(0x6289, 0x628a), - CodeunitRange(0x628d, 0x6299), - CodeunitRange(0x629b, 0x629c), - CodeunitRange(0x629e, 0x629e), - CodeunitRange(0x62a6, 0x62a6), - CodeunitRange(0x62a8, 0x62a8), - CodeunitRange(0x62ab, 0x62ac), - CodeunitRange(0x62b1, 0x62b1), - CodeunitRange(0x62b3, 0x62b3), - CodeunitRange(0x62b5, 0x62b7), - CodeunitRange(0x62b9, 0x62bf), - CodeunitRange(0x62c2, 0x62c2), - CodeunitRange(0x62c4, 0x62ca), - CodeunitRange(0x62cc, 0x62dd), - CodeunitRange(0x62e0, 0x62e1), - CodeunitRange(0x62ea, 0x62ea), - CodeunitRange(0x62ec, 0x62ef), - CodeunitRange(0x62f1, 0x62f7), - CodeunitRange(0x62fc, 0x62ff), - CodeunitRange(0x6301, 0x6304), - CodeunitRange(0x6307, 0x630d), - CodeunitRange(0x6310, 0x6311), - CodeunitRange(0x6313, 0x6313), - CodeunitRange(0x6316, 0x6316), - CodeunitRange(0x6318, 0x6319), - CodeunitRange(0x631b, 0x631b), - CodeunitRange(0x631f, 0x631f), - CodeunitRange(0x6327, 0x632b), - CodeunitRange(0x632d, 0x632d), - CodeunitRange(0x632f, 0x632f), - CodeunitRange(0x6332, 0x6332), - CodeunitRange(0x6335, 0x6336), - CodeunitRange(0x6339, 0x633f), - CodeunitRange(0x6341, 0x6344), - CodeunitRange(0x6346, 0x6346), - CodeunitRange(0x6349, 0x6350), - CodeunitRange(0x6352, 0x6355), - CodeunitRange(0x6357, 0x6359), - CodeunitRange(0x635b, 0x635c), - CodeunitRange(0x6365, 0x6369), - CodeunitRange(0x636b, 0x636e), - CodeunitRange(0x6371, 0x6372), - CodeunitRange(0x6374, 0x6378), - CodeunitRange(0x637a, 0x637d), - CodeunitRange(0x637f, 0x6380), - CodeunitRange(0x6382, 0x6384), - CodeunitRange(0x6387, 0x638a), - CodeunitRange(0x638c, 0x638c), - CodeunitRange(0x638e, 0x6390), - CodeunitRange(0x6392, 0x6392), - CodeunitRange(0x6394, 0x6396), - CodeunitRange(0x6398, 0x639b), - CodeunitRange(0x639e, 0x63af), - CodeunitRange(0x63b2, 0x63b2), - CodeunitRange(0x63b4, 0x63b5), - CodeunitRange(0x63bb, 0x63bb), - CodeunitRange(0x63bd, 0x63be), - CodeunitRange(0x63c0, 0x63c1), - CodeunitRange(0x63c3, 0x63c6), - CodeunitRange(0x63c8, 0x63c9), - CodeunitRange(0x63ce, 0x63d6), - CodeunitRange(0x63da, 0x63dc), - CodeunitRange(0x63e0, 0x63e1), - CodeunitRange(0x63e3, 0x63e3), - CodeunitRange(0x63e5, 0x63e5), - CodeunitRange(0x63e9, 0x63ee), - CodeunitRange(0x63f2, 0x63fa), - CodeunitRange(0x6406, 0x6406), - CodeunitRange(0x6409, 0x640a), - CodeunitRange(0x640d, 0x640d), - CodeunitRange(0x640f, 0x6410), - CodeunitRange(0x6412, 0x6414), - CodeunitRange(0x6416, 0x6418), - CodeunitRange(0x641c, 0x641c), - CodeunitRange(0x641e, 0x641e), - CodeunitRange(0x6420, 0x6420), - CodeunitRange(0x6422, 0x6422), - CodeunitRange(0x6424, 0x6426), - CodeunitRange(0x6428, 0x642a), - CodeunitRange(0x642c, 0x642d), - CodeunitRange(0x642f, 0x6430), - CodeunitRange(0x6434, 0x6436), - CodeunitRange(0x643a, 0x643a), - CodeunitRange(0x643d, 0x643f), - CodeunitRange(0x6442, 0x6442), - CodeunitRange(0x644b, 0x644b), - CodeunitRange(0x644e, 0x644f), - CodeunitRange(0x6451, 0x6454), - CodeunitRange(0x6458, 0x6458), - CodeunitRange(0x645a, 0x645d), - CodeunitRange(0x645f, 0x6461), - CodeunitRange(0x6463, 0x6463), - CodeunitRange(0x6467, 0x6467), - CodeunitRange(0x6469, 0x6469), - CodeunitRange(0x646d, 0x646d), - CodeunitRange(0x646f, 0x646f), - CodeunitRange(0x6473, 0x6474), - CodeunitRange(0x6476, 0x6476), - CodeunitRange(0x6478, 0x647b), - CodeunitRange(0x647d, 0x647d), - CodeunitRange(0x6483, 0x6483), - CodeunitRange(0x6485, 0x6485), - CodeunitRange(0x6487, 0x6488), - CodeunitRange(0x648f, 0x6493), - CodeunitRange(0x6495, 0x6495), - CodeunitRange(0x6498, 0x649b), - CodeunitRange(0x649d, 0x649f), - CodeunitRange(0x64a1, 0x64a1), - CodeunitRange(0x64a3, 0x64a6), - CodeunitRange(0x64a8, 0x64a9), - CodeunitRange(0x64ab, 0x64ae), - CodeunitRange(0x64b0, 0x64b0), - CodeunitRange(0x64b2, 0x64b3), - CodeunitRange(0x64b9, 0x64b9), - CodeunitRange(0x64bb, 0x64bf), - CodeunitRange(0x64c1, 0x64c2), - CodeunitRange(0x64c4, 0x64c5), - CodeunitRange(0x64c7, 0x64c7), - CodeunitRange(0x64c9, 0x64ce), - CodeunitRange(0x64d0, 0x64d2), - CodeunitRange(0x64d4, 0x64d5), - CodeunitRange(0x64d7, 0x64d8), - CodeunitRange(0x64da, 0x64da), - CodeunitRange(0x64e0, 0x64e7), - CodeunitRange(0x64e9, 0x64ea), - CodeunitRange(0x64ec, 0x64ed), - CodeunitRange(0x64ef, 0x64f2), - CodeunitRange(0x64f4, 0x64f7), - CodeunitRange(0x64fa, 0x64fb), - CodeunitRange(0x64fd, 0x6501), - CodeunitRange(0x6504, 0x6505), - CodeunitRange(0x6508, 0x650a), - CodeunitRange(0x650f, 0x650f), - CodeunitRange(0x6513, 0x6514), - CodeunitRange(0x6516, 0x6516), - CodeunitRange(0x6518, 0x6519), - CodeunitRange(0x651b, 0x651f), - CodeunitRange(0x6522, 0x6524), - CodeunitRange(0x6526, 0x6526), - CodeunitRange(0x6529, 0x652c), - CodeunitRange(0x652e, 0x652f), - CodeunitRange(0x6531, 0x6532), - CodeunitRange(0x6534, 0x653f), - CodeunitRange(0x6543, 0x6545), - CodeunitRange(0x6547, 0x6549), - CodeunitRange(0x654d, 0x6552), - CodeunitRange(0x6554, 0x6559), - CodeunitRange(0x655d, 0x6560), - CodeunitRange(0x6562, 0x6563), - CodeunitRange(0x6566, 0x6567), - CodeunitRange(0x656b, 0x656c), - CodeunitRange(0x6570, 0x6570), - CodeunitRange(0x6572, 0x6572), - CodeunitRange(0x6574, 0x6575), - CodeunitRange(0x6577, 0x6578), - CodeunitRange(0x657a, 0x657a), - CodeunitRange(0x657d, 0x657d), - CodeunitRange(0x6581, 0x6585), - CodeunitRange(0x6587, 0x658a), - CodeunitRange(0x658c, 0x658c), - CodeunitRange(0x658e, 0x658e), - CodeunitRange(0x6590, 0x6592), - CodeunitRange(0x6595, 0x6595), - CodeunitRange(0x6597, 0x6599), - CodeunitRange(0x659b, 0x659d), - CodeunitRange(0x659f, 0x65a1), - CodeunitRange(0x65a3, 0x65a7), - CodeunitRange(0x65ab, 0x65b0), - CodeunitRange(0x65b2, 0x65b5), - CodeunitRange(0x65b7, 0x65b9), - CodeunitRange(0x65bc, 0x65bf), - CodeunitRange(0x65c1, 0x65c6), - CodeunitRange(0x65c8, 0x65c9), - CodeunitRange(0x65cb, 0x65cc), - CodeunitRange(0x65ce, 0x65d0), - CodeunitRange(0x65d2, 0x65d2), - CodeunitRange(0x65d4, 0x65d4), - CodeunitRange(0x65d6, 0x65d9), - CodeunitRange(0x65db, 0x65db), - CodeunitRange(0x65df, 0x65e3), - CodeunitRange(0x65e5, 0x65e9), - CodeunitRange(0x65ec, 0x65ed), - CodeunitRange(0x65f0, 0x65f2), - CodeunitRange(0x65f4, 0x65f5), - CodeunitRange(0x65f9, 0x65fc), - CodeunitRange(0x65fe, 0x6600), - CodeunitRange(0x6602, 0x6604), - CodeunitRange(0x6606, 0x660a), - CodeunitRange(0x660c, 0x660f), - CodeunitRange(0x6611, 0x6616), - CodeunitRange(0x661c, 0x6631), - CodeunitRange(0x6633, 0x6637), - CodeunitRange(0x6639, 0x663c), - CodeunitRange(0x663f, 0x6646), - CodeunitRange(0x6648, 0x664c), - CodeunitRange(0x664e, 0x664f), - CodeunitRange(0x6651, 0x6652), - CodeunitRange(0x6657, 0x6670), - CodeunitRange(0x6673, 0x667c), - CodeunitRange(0x667e, 0x6681), - CodeunitRange(0x6683, 0x6684), - CodeunitRange(0x6687, 0x6689), - CodeunitRange(0x668b, 0x668e), - CodeunitRange(0x6690, 0x6692), - CodeunitRange(0x6696, 0x669d), - CodeunitRange(0x669f, 0x66a0), - CodeunitRange(0x66a2, 0x66a2), - CodeunitRange(0x66a4, 0x66a4), - CodeunitRange(0x66a6, 0x66a6), - CodeunitRange(0x66ab, 0x66ab), - CodeunitRange(0x66ad, 0x66ae), - CodeunitRange(0x66b1, 0x66b5), - CodeunitRange(0x66b8, 0x66b9), - CodeunitRange(0x66bb, 0x66bc), - CodeunitRange(0x66be, 0x66c4), - CodeunitRange(0x66c6, 0x66c9), - CodeunitRange(0x66cc, 0x66cc), - CodeunitRange(0x66ce, 0x66cf), - CodeunitRange(0x66d4, 0x66d4), - CodeunitRange(0x66d6, 0x66d6), - CodeunitRange(0x66d9, 0x66dd), - CodeunitRange(0x66df, 0x66e0), - CodeunitRange(0x66e6, 0x66e6), - CodeunitRange(0x66e8, 0x66e9), - CodeunitRange(0x66eb, 0x66ec), - CodeunitRange(0x66ee, 0x66ee), - CodeunitRange(0x66f0, 0x66f0), - CodeunitRange(0x66f2, 0x66f5), - CodeunitRange(0x66f7, 0x6701), - CodeunitRange(0x6703, 0x6703), - CodeunitRange(0x6705, 0x6705), - CodeunitRange(0x6707, 0x6709), - CodeunitRange(0x670b, 0x6710), - CodeunitRange(0x6712, 0x6717), - CodeunitRange(0x6719, 0x6719), - CodeunitRange(0x671b, 0x6720), - CodeunitRange(0x6722, 0x6722), - CodeunitRange(0x6725, 0x6728), - CodeunitRange(0x672a, 0x672e), - CodeunitRange(0x6731, 0x6731), - CodeunitRange(0x6733, 0x6738), - CodeunitRange(0x673a, 0x673a), - CodeunitRange(0x673d, 0x673f), - CodeunitRange(0x6741, 0x6741), - CodeunitRange(0x6743, 0x6743), - CodeunitRange(0x6745, 0x6749), - CodeunitRange(0x674c, 0x6751), - CodeunitRange(0x6753, 0x6756), - CodeunitRange(0x6759, 0x6759), - CodeunitRange(0x675c, 0x6766), - CodeunitRange(0x676a, 0x676a), - CodeunitRange(0x676c, 0x6777), - CodeunitRange(0x677b, 0x677c), - CodeunitRange(0x677e, 0x6781), - CodeunitRange(0x6784, 0x6785), - CodeunitRange(0x6787, 0x6787), - CodeunitRange(0x6789, 0x6789), - CodeunitRange(0x678b, 0x678c), - CodeunitRange(0x678e, 0x6793), - CodeunitRange(0x6795, 0x679d), - CodeunitRange(0x67a0, 0x67a2), - CodeunitRange(0x67a4, 0x67a4), - CodeunitRange(0x67a6, 0x67a6), - CodeunitRange(0x67a9, 0x67a9), - CodeunitRange(0x67af, 0x67b9), - CodeunitRange(0x67bb, 0x67be), - CodeunitRange(0x67c0, 0x67c6), - CodeunitRange(0x67c8, 0x67ca), - CodeunitRange(0x67ce, 0x67d4), - CodeunitRange(0x67d7, 0x67de), - CodeunitRange(0x67e1, 0x67e2), - CodeunitRange(0x67e4, 0x67e4), - CodeunitRange(0x67e6, 0x67e7), - CodeunitRange(0x67e9, 0x67e9), - CodeunitRange(0x67ec, 0x67ec), - CodeunitRange(0x67ee, 0x67f7), - CodeunitRange(0x67f9, 0x67fc), - CodeunitRange(0x67fe, 0x67ff), - CodeunitRange(0x6801, 0x6805), - CodeunitRange(0x6810, 0x6810), - CodeunitRange(0x6813, 0x6814), - CodeunitRange(0x6816, 0x6819), - CodeunitRange(0x681d, 0x681f), - CodeunitRange(0x6821, 0x6822), - CodeunitRange(0x6827, 0x682d), - CodeunitRange(0x682f, 0x6834), - CodeunitRange(0x6838, 0x6839), - CodeunitRange(0x683b, 0x6846), - CodeunitRange(0x6848, 0x684a), - CodeunitRange(0x684c, 0x684e), - CodeunitRange(0x6850, 0x6855), - CodeunitRange(0x6857, 0x6859), - CodeunitRange(0x685b, 0x685d), - CodeunitRange(0x685f, 0x685f), - CodeunitRange(0x6863, 0x6863), - CodeunitRange(0x6867, 0x6867), - CodeunitRange(0x686b, 0x686b), - CodeunitRange(0x686e, 0x6872), - CodeunitRange(0x6874, 0x6877), - CodeunitRange(0x6879, 0x687c), - CodeunitRange(0x687e, 0x687f), - CodeunitRange(0x6881, 0x6886), - CodeunitRange(0x6888, 0x6888), - CodeunitRange(0x688d, 0x6890), - CodeunitRange(0x6893, 0x6894), - CodeunitRange(0x6896, 0x689d), - CodeunitRange(0x689f, 0x68a3), - CodeunitRange(0x68a5, 0x68ab), - CodeunitRange(0x68ad, 0x68b6), - CodeunitRange(0x68b9, 0x68bc), - CodeunitRange(0x68c3, 0x68c6), - CodeunitRange(0x68c8, 0x68cd), - CodeunitRange(0x68cf, 0x68da), - CodeunitRange(0x68dc, 0x68dd), - CodeunitRange(0x68df, 0x68e1), - CodeunitRange(0x68e3, 0x68e5), - CodeunitRange(0x68e7, 0x68e8), - CodeunitRange(0x68ea, 0x68f2), - CodeunitRange(0x68f5, 0x68f7), - CodeunitRange(0x68f9, 0x68fd), - CodeunitRange(0x6900, 0x6901), - CodeunitRange(0x6903, 0x6913), - CodeunitRange(0x6916, 0x6917), - CodeunitRange(0x6919, 0x691c), - CodeunitRange(0x6921, 0x6923), - CodeunitRange(0x6925, 0x6926), - CodeunitRange(0x6928, 0x6928), - CodeunitRange(0x692a, 0x692a), - CodeunitRange(0x6930, 0x6931), - CodeunitRange(0x6933, 0x6936), - CodeunitRange(0x6938, 0x6939), - CodeunitRange(0x693b, 0x693b), - CodeunitRange(0x693d, 0x693d), - CodeunitRange(0x693f, 0x693f), - CodeunitRange(0x6942, 0x6942), - CodeunitRange(0x6945, 0x6946), - CodeunitRange(0x6949, 0x694a), - CodeunitRange(0x694e, 0x694e), - CodeunitRange(0x6953, 0x6955), - CodeunitRange(0x6957, 0x6957), - CodeunitRange(0x6959, 0x695e), - CodeunitRange(0x6960, 0x6966), - CodeunitRange(0x6968, 0x6975), - CodeunitRange(0x6977, 0x6982), - CodeunitRange(0x6986, 0x6986), - CodeunitRange(0x698a, 0x698a), - CodeunitRange(0x698d, 0x698e), - CodeunitRange(0x6991, 0x6992), - CodeunitRange(0x6994, 0x6996), - CodeunitRange(0x6998, 0x6998), - CodeunitRange(0x699b, 0x699c), - CodeunitRange(0x69a0, 0x69a1), - CodeunitRange(0x69a5, 0x69a8), - CodeunitRange(0x69ab, 0x69ab), - CodeunitRange(0x69ad, 0x69b2), - CodeunitRange(0x69b4, 0x69b4), - CodeunitRange(0x69b7, 0x69b8), - CodeunitRange(0x69ba, 0x69bc), - CodeunitRange(0x69be, 0x69c1), - CodeunitRange(0x69c3, 0x69c3), - CodeunitRange(0x69c5, 0x69c5), - CodeunitRange(0x69c7, 0x69c8), - CodeunitRange(0x69ca, 0x69d1), - CodeunitRange(0x69d3, 0x69d3), - CodeunitRange(0x69d6, 0x69d9), - CodeunitRange(0x69dd, 0x69de), - CodeunitRange(0x69e2, 0x69e3), - CodeunitRange(0x69e5, 0x69e5), - CodeunitRange(0x69e7, 0x69eb), - CodeunitRange(0x69ed, 0x69ef), - CodeunitRange(0x69f1, 0x69f6), - CodeunitRange(0x69f9, 0x69f9), - CodeunitRange(0x69fb, 0x69fb), - CodeunitRange(0x69fd, 0x6a03), - CodeunitRange(0x6a05, 0x6a05), - CodeunitRange(0x6a0a, 0x6a0c), - CodeunitRange(0x6a0f, 0x6a0f), - CodeunitRange(0x6a11, 0x6a15), - CodeunitRange(0x6a17, 0x6a17), - CodeunitRange(0x6a19, 0x6a1b), - CodeunitRange(0x6a1d, 0x6a24), - CodeunitRange(0x6a28, 0x6a2b), - CodeunitRange(0x6a2e, 0x6a2e), - CodeunitRange(0x6a30, 0x6a30), - CodeunitRange(0x6a32, 0x6a3b), - CodeunitRange(0x6a3d, 0x6a3f), - CodeunitRange(0x6a44, 0x6a4b), - CodeunitRange(0x6a4e, 0x6a4e), - CodeunitRange(0x6a50, 0x6a52), - CodeunitRange(0x6a54, 0x6a56), - CodeunitRange(0x6a58, 0x6a59), - CodeunitRange(0x6a5b, 0x6a5b), - CodeunitRange(0x6a5f, 0x6a5f), - CodeunitRange(0x6a61, 0x6a62), - CodeunitRange(0x6a64, 0x6a64), - CodeunitRange(0x6a66, 0x6a67), - CodeunitRange(0x6a6a, 0x6a6b), - CodeunitRange(0x6a71, 0x6a73), - CodeunitRange(0x6a78, 0x6a78), - CodeunitRange(0x6a7a, 0x6a7a), - CodeunitRange(0x6a7e, 0x6a81), - CodeunitRange(0x6a83, 0x6a84), - CodeunitRange(0x6a86, 0x6a87), - CodeunitRange(0x6a89, 0x6a89), - CodeunitRange(0x6a8b, 0x6a8b), - CodeunitRange(0x6a8d, 0x6a8e), - CodeunitRange(0x6a90, 0x6a91), - CodeunitRange(0x6a94, 0x6a94), - CodeunitRange(0x6a97, 0x6a97), - CodeunitRange(0x6a9b, 0x6aa3), - CodeunitRange(0x6aa5, 0x6aa5), - CodeunitRange(0x6aaa, 0x6aac), - CodeunitRange(0x6aae, 0x6ab1), - CodeunitRange(0x6ab3, 0x6ab4), - CodeunitRange(0x6ab8, 0x6ab8), - CodeunitRange(0x6abb, 0x6abb), - CodeunitRange(0x6abd, 0x6abf), - CodeunitRange(0x6ac1, 0x6ac3), - CodeunitRange(0x6ac6, 0x6ac6), - CodeunitRange(0x6ac8, 0x6ac9), - CodeunitRange(0x6acc, 0x6acc), - CodeunitRange(0x6ad0, 0x6ad1), - CodeunitRange(0x6ad3, 0x6ad6), - CodeunitRange(0x6ada, 0x6adf), - CodeunitRange(0x6ae2, 0x6ae2), - CodeunitRange(0x6ae4, 0x6ae4), - CodeunitRange(0x6ae7, 0x6ae8), - CodeunitRange(0x6aea, 0x6aea), - CodeunitRange(0x6aec, 0x6aec), - CodeunitRange(0x6af0, 0x6af3), - CodeunitRange(0x6af8, 0x6af8), - CodeunitRange(0x6afa, 0x6afd), - CodeunitRange(0x6b02, 0x6b07), - CodeunitRange(0x6b09, 0x6b0b), - CodeunitRange(0x6b0f, 0x6b12), - CodeunitRange(0x6b16, 0x6b17), - CodeunitRange(0x6b1b, 0x6b1b), - CodeunitRange(0x6b1d, 0x6b21), - CodeunitRange(0x6b23, 0x6b24), - CodeunitRange(0x6b27, 0x6b28), - CodeunitRange(0x6b2b, 0x6b2c), - CodeunitRange(0x6b2f, 0x6b2f), - CodeunitRange(0x6b32, 0x6b32), - CodeunitRange(0x6b35, 0x6b3b), - CodeunitRange(0x6b3d, 0x6b3f), - CodeunitRange(0x6b43, 0x6b43), - CodeunitRange(0x6b46, 0x6b47), - CodeunitRange(0x6b49, 0x6b4a), - CodeunitRange(0x6b4c, 0x6b4e), - CodeunitRange(0x6b50, 0x6b50), - CodeunitRange(0x6b52, 0x6b54), - CodeunitRange(0x6b56, 0x6b56), - CodeunitRange(0x6b58, 0x6b59), - CodeunitRange(0x6b5b, 0x6b5b), - CodeunitRange(0x6b5d, 0x6b5d), - CodeunitRange(0x6b5f, 0x6b67), - CodeunitRange(0x6b69, 0x6b6c), - CodeunitRange(0x6b6e, 0x6b70), - CodeunitRange(0x6b72, 0x6b75), - CodeunitRange(0x6b77, 0x6b7b), - CodeunitRange(0x6b7d, 0x6b86), - CodeunitRange(0x6b89, 0x6b8b), - CodeunitRange(0x6b8d, 0x6b8d), - CodeunitRange(0x6b95, 0x6b98), - CodeunitRange(0x6b9b, 0x6b9b), - CodeunitRange(0x6b9e, 0x6ba0), - CodeunitRange(0x6ba2, 0x6ba4), - CodeunitRange(0x6ba8, 0x6bb5), - CodeunitRange(0x6bb7, 0x6bc0), - CodeunitRange(0x6bc3, 0x6bc9), - CodeunitRange(0x6bcb, 0x6bcf), - CodeunitRange(0x6bd2, 0x6bd4), - CodeunitRange(0x6bd6, 0x6bd8), - CodeunitRange(0x6bda, 0x6bdb), - CodeunitRange(0x6bdf, 0x6bdf), - CodeunitRange(0x6be1, 0x6be1), - CodeunitRange(0x6be3, 0x6be3), - CodeunitRange(0x6be6, 0x6be7), - CodeunitRange(0x6beb, 0x6bec), - CodeunitRange(0x6bee, 0x6bef), - CodeunitRange(0x6bf1, 0x6bf1), - CodeunitRange(0x6bf3, 0x6bf3), - CodeunitRange(0x6bf7, 0x6bf7), - CodeunitRange(0x6bf9, 0x6bf9), - CodeunitRange(0x6bff, 0x6bff), - CodeunitRange(0x6c02, 0x6c02), - CodeunitRange(0x6c04, 0x6c05), - CodeunitRange(0x6c08, 0x6c0a), - CodeunitRange(0x6c0d, 0x6c14), - CodeunitRange(0x6c17, 0x6c17), - CodeunitRange(0x6c19, 0x6c19), - CodeunitRange(0x6c1b, 0x6c1b), - CodeunitRange(0x6c1f, 0x6c1f), - CodeunitRange(0x6c23, 0x6c24), - CodeunitRange(0x6c26, 0x6c28), - CodeunitRange(0x6c2c, 0x6c2c), - CodeunitRange(0x6c2e, 0x6c2e), - CodeunitRange(0x6c33, 0x6c38), - CodeunitRange(0x6c3a, 0x6c3b), - CodeunitRange(0x6c3e, 0x6c42), - CodeunitRange(0x6c4a, 0x6c4b), - CodeunitRange(0x6c4d, 0x6c50), - CodeunitRange(0x6c52, 0x6c52), - CodeunitRange(0x6c54, 0x6c55), - CodeunitRange(0x6c57, 0x6c57), - CodeunitRange(0x6c59, 0x6c60), - CodeunitRange(0x6c62, 0x6c62), - CodeunitRange(0x6c67, 0x6c68), - CodeunitRange(0x6c6a, 0x6c6b), - CodeunitRange(0x6c6d, 0x6c6d), - CodeunitRange(0x6c6f, 0x6c70), - CodeunitRange(0x6c72, 0x6c74), - CodeunitRange(0x6c76, 0x6c76), - CodeunitRange(0x6c78, 0x6c7b), - CodeunitRange(0x6c7d, 0x6c7e), - CodeunitRange(0x6c81, 0x6c89), - CodeunitRange(0x6c8c, 0x6c8d), - CodeunitRange(0x6c90, 0x6c90), - CodeunitRange(0x6c92, 0x6c9c), - CodeunitRange(0x6c9f, 0x6c9f), - CodeunitRange(0x6ca1, 0x6ca2), - CodeunitRange(0x6caa, 0x6cae), - CodeunitRange(0x6cb0, 0x6cb4), - CodeunitRange(0x6cb8, 0x6cbf), - CodeunitRange(0x6cc1, 0x6cc2), - CodeunitRange(0x6cc4, 0x6cc6), - CodeunitRange(0x6cc9, 0x6cca), - CodeunitRange(0x6ccc, 0x6ccd), - CodeunitRange(0x6ccf, 0x6cd7), - CodeunitRange(0x6cd9, 0x6cdd), - CodeunitRange(0x6ce0, 0x6ce3), - CodeunitRange(0x6ce5, 0x6ce5), - CodeunitRange(0x6ce7, 0x6cf4), - CodeunitRange(0x6cfb, 0x6cfb), - CodeunitRange(0x6d00, 0x6d01), - CodeunitRange(0x6d04, 0x6d04), - CodeunitRange(0x6d07, 0x6d07), - CodeunitRange(0x6d0a, 0x6d0c), - CodeunitRange(0x6d0e, 0x6d0f), - CodeunitRange(0x6d11, 0x6d13), - CodeunitRange(0x6d17, 0x6d17), - CodeunitRange(0x6d19, 0x6d1b), - CodeunitRange(0x6d1e, 0x6d1f), - CodeunitRange(0x6d24, 0x6d2b), - CodeunitRange(0x6d2e, 0x6d2f), - CodeunitRange(0x6d31, 0x6d36), - CodeunitRange(0x6d38, 0x6d39), - CodeunitRange(0x6d3b, 0x6d3f), - CodeunitRange(0x6d41, 0x6d41), - CodeunitRange(0x6d44, 0x6d45), - CodeunitRange(0x6d57, 0x6d5c), - CodeunitRange(0x6d5e, 0x6d61), - CodeunitRange(0x6d63, 0x6d67), - CodeunitRange(0x6d69, 0x6d6a), - CodeunitRange(0x6d6c, 0x6d6c), - CodeunitRange(0x6d6e, 0x6d70), - CodeunitRange(0x6d74, 0x6d74), - CodeunitRange(0x6d77, 0x6d79), - CodeunitRange(0x6d7c, 0x6d7c), - CodeunitRange(0x6d80, 0x6d82), - CodeunitRange(0x6d85, 0x6d85), - CodeunitRange(0x6d87, 0x6d8a), - CodeunitRange(0x6d8c, 0x6d8e), - CodeunitRange(0x6d91, 0x6d99), - CodeunitRange(0x6d9b, 0x6d9c), - CodeunitRange(0x6daa, 0x6dac), - CodeunitRange(0x6dae, 0x6daf), - CodeunitRange(0x6db2, 0x6db2), - CodeunitRange(0x6db4, 0x6db5), - CodeunitRange(0x6db7, 0x6db9), - CodeunitRange(0x6dbc, 0x6dbd), - CodeunitRange(0x6dbf, 0x6dc0), - CodeunitRange(0x6dc2, 0x6dc2), - CodeunitRange(0x6dc4, 0x6dc8), - CodeunitRange(0x6dca, 0x6dcc), - CodeunitRange(0x6dce, 0x6dd2), - CodeunitRange(0x6dd5, 0x6dd6), - CodeunitRange(0x6dd8, 0x6ddb), - CodeunitRange(0x6ddd, 0x6de2), - CodeunitRange(0x6de4, 0x6de6), - CodeunitRange(0x6de8, 0x6dec), - CodeunitRange(0x6dee, 0x6dfc), - CodeunitRange(0x6e00, 0x6e00), - CodeunitRange(0x6e04, 0x6e05), - CodeunitRange(0x6e07, 0x6e0b), - CodeunitRange(0x6e13, 0x6e13), - CodeunitRange(0x6e15, 0x6e15), - CodeunitRange(0x6e17, 0x6e17), - CodeunitRange(0x6e19, 0x6e1b), - CodeunitRange(0x6e1d, 0x6e27), - CodeunitRange(0x6e29, 0x6e29), - CodeunitRange(0x6e2b, 0x6e2f), - CodeunitRange(0x6e32, 0x6e32), - CodeunitRange(0x6e34, 0x6e34), - CodeunitRange(0x6e36, 0x6e36), - CodeunitRange(0x6e38, 0x6e3c), - CodeunitRange(0x6e3e, 0x6e3e), - CodeunitRange(0x6e42, 0x6e45), - CodeunitRange(0x6e48, 0x6e4f), - CodeunitRange(0x6e51, 0x6e54), - CodeunitRange(0x6e56, 0x6e58), - CodeunitRange(0x6e5b, 0x6e5f), - CodeunitRange(0x6e62, 0x6e63), - CodeunitRange(0x6e67, 0x6e68), - CodeunitRange(0x6e6b, 0x6e6b), - CodeunitRange(0x6e6e, 0x6e6f), - CodeunitRange(0x6e72, 0x6e73), - CodeunitRange(0x6e76, 0x6e76), - CodeunitRange(0x6e7b, 0x6e7b), - CodeunitRange(0x6e7d, 0x6e80), - CodeunitRange(0x6e82, 0x6e82), - CodeunitRange(0x6e89, 0x6e89), - CodeunitRange(0x6e8c, 0x6e8d), - CodeunitRange(0x6e8f, 0x6e90), - CodeunitRange(0x6e93, 0x6e93), - CodeunitRange(0x6e96, 0x6e96), - CodeunitRange(0x6e98, 0x6e99), - CodeunitRange(0x6e9c, 0x6e9d), - CodeunitRange(0x6e9f, 0x6ea0), - CodeunitRange(0x6ea2, 0x6ea2), - CodeunitRange(0x6ea5, 0x6ea5), - CodeunitRange(0x6ea7, 0x6ea7), - CodeunitRange(0x6eaa, 0x6eab), - CodeunitRange(0x6ead, 0x6eaf), - CodeunitRange(0x6eb1, 0x6eb4), - CodeunitRange(0x6eb6, 0x6eb7), - CodeunitRange(0x6eba, 0x6ebd), - CodeunitRange(0x6ebf, 0x6ec5), - CodeunitRange(0x6ec7, 0x6ecf), - CodeunitRange(0x6ed1, 0x6ed1), - CodeunitRange(0x6ed3, 0x6ed5), - CodeunitRange(0x6ed9, 0x6edb), - CodeunitRange(0x6edd, 0x6ede), - CodeunitRange(0x6ee6, 0x6ee6), - CodeunitRange(0x6eeb, 0x6eef), - CodeunitRange(0x6ef2, 0x6ef2), - CodeunitRange(0x6ef4, 0x6ef4), - CodeunitRange(0x6ef7, 0x6ef9), - CodeunitRange(0x6efb, 0x6efb), - CodeunitRange(0x6efd, 0x6eff), - CodeunitRange(0x6f01, 0x6f02), - CodeunitRange(0x6f04, 0x6f04), - CodeunitRange(0x6f06, 0x6f06), - CodeunitRange(0x6f08, 0x6f0a), - CodeunitRange(0x6f0c, 0x6f0d), - CodeunitRange(0x6f0f, 0x6f11), - CodeunitRange(0x6f13, 0x6f16), - CodeunitRange(0x6f18, 0x6f18), - CodeunitRange(0x6f1a, 0x6f1b), - CodeunitRange(0x6f20, 0x6f20), - CodeunitRange(0x6f22, 0x6f23), - CodeunitRange(0x6f25, 0x6f26), - CodeunitRange(0x6f29, 0x6f2d), - CodeunitRange(0x6f2f, 0x6f33), - CodeunitRange(0x6f35, 0x6f36), - CodeunitRange(0x6f38, 0x6f38), - CodeunitRange(0x6f3b, 0x6f3c), - CodeunitRange(0x6f3e, 0x6f3f), - CodeunitRange(0x6f41, 0x6f41), - CodeunitRange(0x6f45, 0x6f45), - CodeunitRange(0x6f4f, 0x6f4f), - CodeunitRange(0x6f51, 0x6f54), - CodeunitRange(0x6f57, 0x6f62), - CodeunitRange(0x6f64, 0x6f64), - CodeunitRange(0x6f66, 0x6f66), - CodeunitRange(0x6f68, 0x6f68), - CodeunitRange(0x6f6c, 0x6f70), - CodeunitRange(0x6f74, 0x6f74), - CodeunitRange(0x6f78, 0x6f78), - CodeunitRange(0x6f7a, 0x6f7a), - CodeunitRange(0x6f7c, 0x6f7e), - CodeunitRange(0x6f80, 0x6f84), - CodeunitRange(0x6f86, 0x6f88), - CodeunitRange(0x6f8b, 0x6f8e), - CodeunitRange(0x6f90, 0x6f94), - CodeunitRange(0x6f96, 0x6f98), - CodeunitRange(0x6f9a, 0x6f9a), - CodeunitRange(0x6f9d, 0x6f9d), - CodeunitRange(0x6f9f, 0x6fa1), - CodeunitRange(0x6fa3, 0x6fa8), - CodeunitRange(0x6faa, 0x6faa), - CodeunitRange(0x6fae, 0x6fb1), - CodeunitRange(0x6fb3, 0x6fb3), - CodeunitRange(0x6fb5, 0x6fb7), - CodeunitRange(0x6fb9, 0x6fb9), - CodeunitRange(0x6fbc, 0x6fbc), - CodeunitRange(0x6fbe, 0x6fbe), - CodeunitRange(0x6fc0, 0x6fc3), - CodeunitRange(0x6fc5, 0x6fca), - CodeunitRange(0x6fd4, 0x6fd5), - CodeunitRange(0x6fd8, 0x6fd8), - CodeunitRange(0x6fda, 0x6fdb), - CodeunitRange(0x6fde, 0x6fe1), - CodeunitRange(0x6fe4, 0x6fe4), - CodeunitRange(0x6fe8, 0x6fe9), - CodeunitRange(0x6feb, 0x6fec), - CodeunitRange(0x6fee, 0x6ff1), - CodeunitRange(0x6ff3, 0x6ff3), - CodeunitRange(0x6ff5, 0x6ff6), - CodeunitRange(0x6ff9, 0x6ffa), - CodeunitRange(0x6ffc, 0x6ffe), - CodeunitRange(0x7000, 0x7001), - CodeunitRange(0x7005, 0x7007), - CodeunitRange(0x7009, 0x700b), - CodeunitRange(0x700d, 0x700d), - CodeunitRange(0x700f, 0x700f), - CodeunitRange(0x7011, 0x7011), - CodeunitRange(0x7015, 0x7015), - CodeunitRange(0x7017, 0x7018), - CodeunitRange(0x701a, 0x701b), - CodeunitRange(0x701d, 0x7020), - CodeunitRange(0x7023, 0x7023), - CodeunitRange(0x7026, 0x7028), - CodeunitRange(0x702c, 0x702c), - CodeunitRange(0x702f, 0x7030), - CodeunitRange(0x7032, 0x7032), - CodeunitRange(0x7034, 0x7034), - CodeunitRange(0x7037, 0x7037), - CodeunitRange(0x7039, 0x703a), - CodeunitRange(0x703c, 0x703c), - CodeunitRange(0x703e, 0x703e), - CodeunitRange(0x7043, 0x7044), - CodeunitRange(0x7047, 0x704c), - CodeunitRange(0x704e, 0x704e), - CodeunitRange(0x7051, 0x7051), - CodeunitRange(0x7054, 0x7055), - CodeunitRange(0x7058, 0x7058), - CodeunitRange(0x705d, 0x705e), - CodeunitRange(0x7063, 0x7065), - CodeunitRange(0x7069, 0x7069), - CodeunitRange(0x706b, 0x706c), - CodeunitRange(0x706e, 0x7070), - CodeunitRange(0x7075, 0x7076), - CodeunitRange(0x7078, 0x7078), - CodeunitRange(0x707c, 0x707e), - CodeunitRange(0x7081, 0x7081), - CodeunitRange(0x7085, 0x7086), - CodeunitRange(0x7089, 0x708a), - CodeunitRange(0x708e, 0x708e), - CodeunitRange(0x7092, 0x7092), - CodeunitRange(0x7094, 0x7099), - CodeunitRange(0x709b, 0x709b), - CodeunitRange(0x709f, 0x709f), - CodeunitRange(0x70a4, 0x70a4), - CodeunitRange(0x70ab, 0x70b1), - CodeunitRange(0x70b3, 0x70b4), - CodeunitRange(0x70b7, 0x70bb), - CodeunitRange(0x70c8, 0x70c8), - CodeunitRange(0x70ca, 0x70cb), - CodeunitRange(0x70cf, 0x70cf), - CodeunitRange(0x70d1, 0x70d1), - CodeunitRange(0x70d3, 0x70d6), - CodeunitRange(0x70d8, 0x70d9), - CodeunitRange(0x70dc, 0x70dd), - CodeunitRange(0x70df, 0x70df), - CodeunitRange(0x70e4, 0x70e4), - CodeunitRange(0x70ec, 0x70ec), - CodeunitRange(0x70f1, 0x70f1), - CodeunitRange(0x70f9, 0x70fa), - CodeunitRange(0x70fd, 0x70fd), - CodeunitRange(0x7103, 0x7109), - CodeunitRange(0x710b, 0x710c), - CodeunitRange(0x710f, 0x710f), - CodeunitRange(0x7114, 0x7114), - CodeunitRange(0x7119, 0x711a), - CodeunitRange(0x711c, 0x711c), - CodeunitRange(0x711e, 0x711e), - CodeunitRange(0x7120, 0x7121), - CodeunitRange(0x7126, 0x7126), - CodeunitRange(0x712b, 0x712b), - CodeunitRange(0x712d, 0x7131), - CodeunitRange(0x7136, 0x7136), - CodeunitRange(0x7138, 0x7138), - CodeunitRange(0x713c, 0x713c), - CodeunitRange(0x7141, 0x7141), - CodeunitRange(0x7145, 0x7147), - CodeunitRange(0x7149, 0x714c), - CodeunitRange(0x714e, 0x714e), - CodeunitRange(0x7150, 0x7153), - CodeunitRange(0x7155, 0x7157), - CodeunitRange(0x7159, 0x715a), - CodeunitRange(0x715c, 0x715c), - CodeunitRange(0x715e, 0x715e), - CodeunitRange(0x7160, 0x7160), - CodeunitRange(0x7162, 0x7162), - CodeunitRange(0x7164, 0x7169), - CodeunitRange(0x716c, 0x716c), - CodeunitRange(0x716e, 0x716e), - CodeunitRange(0x7179, 0x7179), - CodeunitRange(0x717d, 0x717d), - CodeunitRange(0x7180, 0x7180), - CodeunitRange(0x7184, 0x7185), - CodeunitRange(0x7187, 0x7188), - CodeunitRange(0x718a, 0x718a), - CodeunitRange(0x718c, 0x718c), - CodeunitRange(0x718f, 0x718f), - CodeunitRange(0x7192, 0x7192), - CodeunitRange(0x7194, 0x7196), - CodeunitRange(0x7199, 0x719b), - CodeunitRange(0x719f, 0x71a0), - CodeunitRange(0x71a2, 0x71a2), - CodeunitRange(0x71a8, 0x71a8), - CodeunitRange(0x71ac, 0x71ac), - CodeunitRange(0x71ae, 0x71b3), - CodeunitRange(0x71b9, 0x71ba), - CodeunitRange(0x71be, 0x71c1), - CodeunitRange(0x71c3, 0x71c4), - CodeunitRange(0x71c8, 0x71c9), - CodeunitRange(0x71cb, 0x71cc), - CodeunitRange(0x71ce, 0x71ce), - CodeunitRange(0x71d0, 0x71d0), - CodeunitRange(0x71d2, 0x71d7), - CodeunitRange(0x71d9, 0x71da), - CodeunitRange(0x71dc, 0x71dc), - CodeunitRange(0x71df, 0x71e0), - CodeunitRange(0x71e5, 0x71e7), - CodeunitRange(0x71ec, 0x71ee), - CodeunitRange(0x71f4, 0x71f5), - CodeunitRange(0x71f8, 0x71f9), - CodeunitRange(0x71fb, 0x71fc), - CodeunitRange(0x71fe, 0x7200), - CodeunitRange(0x7206, 0x7209), - CodeunitRange(0x720d, 0x720d), - CodeunitRange(0x7210, 0x7210), - CodeunitRange(0x7213, 0x7213), - CodeunitRange(0x7215, 0x7215), - CodeunitRange(0x7217, 0x7217), - CodeunitRange(0x721a, 0x721b), - CodeunitRange(0x721d, 0x721d), - CodeunitRange(0x721f, 0x721f), - CodeunitRange(0x7224, 0x7224), - CodeunitRange(0x7228, 0x7228), - CodeunitRange(0x722a, 0x722d), - CodeunitRange(0x722f, 0x7230), - CodeunitRange(0x7232, 0x7232), - CodeunitRange(0x7234, 0x7236), - CodeunitRange(0x7238, 0x7243), - CodeunitRange(0x7245, 0x7248), - CodeunitRange(0x724b, 0x724c), - CodeunitRange(0x724e, 0x7250), - CodeunitRange(0x7252, 0x7253), - CodeunitRange(0x7255, 0x7263), - CodeunitRange(0x7267, 0x7269), - CodeunitRange(0x726b, 0x726b), - CodeunitRange(0x726e, 0x726f), - CodeunitRange(0x7271, 0x7272), - CodeunitRange(0x7274, 0x7274), - CodeunitRange(0x7277, 0x7279), - CodeunitRange(0x727b, 0x7282), - CodeunitRange(0x7284, 0x7284), - CodeunitRange(0x7287, 0x7287), - CodeunitRange(0x7289, 0x7289), - CodeunitRange(0x728d, 0x728e), - CodeunitRange(0x7292, 0x7293), - CodeunitRange(0x7296, 0x7296), - CodeunitRange(0x729b, 0x729b), - CodeunitRange(0x72a0, 0x72a0), - CodeunitRange(0x72a2, 0x72a2), - CodeunitRange(0x72a7, 0x72a8), - CodeunitRange(0x72ac, 0x72b2), - CodeunitRange(0x72b4, 0x72b4), - CodeunitRange(0x72b6, 0x72b6), - CodeunitRange(0x72b9, 0x72b9), - CodeunitRange(0x72be, 0x72be), - CodeunitRange(0x72c0, 0x72c4), - CodeunitRange(0x72c6, 0x72c7), - CodeunitRange(0x72c9, 0x72c9), - CodeunitRange(0x72cc, 0x72cc), - CodeunitRange(0x72ce, 0x72ce), - CodeunitRange(0x72d0, 0x72d0), - CodeunitRange(0x72d2, 0x72d2), - CodeunitRange(0x72d5, 0x72d9), - CodeunitRange(0x72db, 0x72db), - CodeunitRange(0x72df, 0x72e2), - CodeunitRange(0x72e5, 0x72e5), - CodeunitRange(0x72e9, 0x72e9), - CodeunitRange(0x72ec, 0x72ed), - CodeunitRange(0x72f3, 0x72f4), - CodeunitRange(0x72f7, 0x72fe), - CodeunitRange(0x7302, 0x7302), - CodeunitRange(0x7304, 0x7305), - CodeunitRange(0x7307, 0x7307), - CodeunitRange(0x730a, 0x730b), - CodeunitRange(0x730d, 0x730d), - CodeunitRange(0x7312, 0x7313), - CodeunitRange(0x7316, 0x7319), - CodeunitRange(0x731b, 0x731f), - CodeunitRange(0x7322, 0x7322), - CodeunitRange(0x7324, 0x7325), - CodeunitRange(0x7327, 0x732c), - CodeunitRange(0x732e, 0x732f), - CodeunitRange(0x7331, 0x7337), - CodeunitRange(0x7339, 0x733b), - CodeunitRange(0x733d, 0x733f), - CodeunitRange(0x7343, 0x7345), - CodeunitRange(0x734d, 0x7350), - CodeunitRange(0x7352, 0x7352), - CodeunitRange(0x7356, 0x7358), - CodeunitRange(0x735d, 0x7360), - CodeunitRange(0x7363, 0x7363), - CodeunitRange(0x7366, 0x736c), - CodeunitRange(0x736e, 0x7372), - CodeunitRange(0x7375, 0x7375), - CodeunitRange(0x7377, 0x737c), - CodeunitRange(0x7380, 0x7381), - CodeunitRange(0x7383, 0x7387), - CodeunitRange(0x7389, 0x738b), - CodeunitRange(0x738e, 0x738e), - CodeunitRange(0x7390, 0x7390), - CodeunitRange(0x7393, 0x7398), - CodeunitRange(0x739c, 0x739c), - CodeunitRange(0x739e, 0x73a0), - CodeunitRange(0x73a2, 0x73a2), - CodeunitRange(0x73a5, 0x73a6), - CodeunitRange(0x73a8, 0x73ab), - CodeunitRange(0x73ad, 0x73ad), - CodeunitRange(0x73b2, 0x73b3), - CodeunitRange(0x73b5, 0x73b5), - CodeunitRange(0x73b7, 0x73b7), - CodeunitRange(0x73b9, 0x73bd), - CodeunitRange(0x73bf, 0x73c0), - CodeunitRange(0x73c2, 0x73c2), - CodeunitRange(0x73c5, 0x73c6), - CodeunitRange(0x73c8, 0x73cf), - CodeunitRange(0x73d2, 0x73d3), - CodeunitRange(0x73d6, 0x73d6), - CodeunitRange(0x73d9, 0x73d9), - CodeunitRange(0x73dd, 0x73de), - CodeunitRange(0x73e0, 0x73e1), - CodeunitRange(0x73e3, 0x73e7), - CodeunitRange(0x73e9, 0x73ea), - CodeunitRange(0x73ed, 0x73ee), - CodeunitRange(0x73f1, 0x73f1), - CodeunitRange(0x73f4, 0x73f5), - CodeunitRange(0x73f7, 0x73fb), - CodeunitRange(0x73fd, 0x7401), - CodeunitRange(0x7403, 0x7407), - CodeunitRange(0x7409, 0x740a), - CodeunitRange(0x7411, 0x7411), - CodeunitRange(0x7413, 0x7413), - CodeunitRange(0x741a, 0x741b), - CodeunitRange(0x7421, 0x7422), - CodeunitRange(0x7424, 0x7426), - CodeunitRange(0x7428, 0x7436), - CodeunitRange(0x7439, 0x743a), - CodeunitRange(0x743f, 0x7441), - CodeunitRange(0x7443, 0x7444), - CodeunitRange(0x7446, 0x7447), - CodeunitRange(0x744b, 0x744b), - CodeunitRange(0x744d, 0x744d), - CodeunitRange(0x7451, 0x7453), - CodeunitRange(0x7455, 0x7455), - CodeunitRange(0x7457, 0x7457), - CodeunitRange(0x7459, 0x7460), - CodeunitRange(0x7462, 0x7464), - CodeunitRange(0x7466, 0x746b), - CodeunitRange(0x746d, 0x7473), - CodeunitRange(0x7476, 0x7476), - CodeunitRange(0x747e, 0x747e), - CodeunitRange(0x7480, 0x7481), - CodeunitRange(0x7483, 0x7483), - CodeunitRange(0x7485, 0x7489), - CodeunitRange(0x748b, 0x748b), - CodeunitRange(0x748f, 0x7492), - CodeunitRange(0x7497, 0x749a), - CodeunitRange(0x749c, 0x749c), - CodeunitRange(0x749e, 0x74a3), - CodeunitRange(0x74a5, 0x74ab), - CodeunitRange(0x74ae, 0x74b2), - CodeunitRange(0x74b5, 0x74b5), - CodeunitRange(0x74b9, 0x74bb), - CodeunitRange(0x74bd, 0x74bd), - CodeunitRange(0x74bf, 0x74bf), - CodeunitRange(0x74c8, 0x74ca), - CodeunitRange(0x74cc, 0x74cc), - CodeunitRange(0x74cf, 0x74d0), - CodeunitRange(0x74d3, 0x74d4), - CodeunitRange(0x74d6, 0x74d6), - CodeunitRange(0x74d8, 0x74d8), - CodeunitRange(0x74da, 0x74dc), - CodeunitRange(0x74de, 0x74e0), - CodeunitRange(0x74e2, 0x74e4), - CodeunitRange(0x74e6, 0x74eb), - CodeunitRange(0x74ee, 0x74f2), - CodeunitRange(0x74f4, 0x74f4), - CodeunitRange(0x74f6, 0x74f8), - CodeunitRange(0x74fa, 0x74fc), - CodeunitRange(0x74ff, 0x74ff), - CodeunitRange(0x7501, 0x7501), - CodeunitRange(0x7503, 0x7506), - CodeunitRange(0x750c, 0x750e), - CodeunitRange(0x7511, 0x7513), - CodeunitRange(0x7515, 0x7518), - CodeunitRange(0x751a, 0x751a), - CodeunitRange(0x751c, 0x751c), - CodeunitRange(0x751e, 0x752c), - CodeunitRange(0x752f, 0x7533), - CodeunitRange(0x7536, 0x7540), - CodeunitRange(0x7543, 0x7544), - CodeunitRange(0x7546, 0x7552), - CodeunitRange(0x7554, 0x7554), - CodeunitRange(0x7557, 0x7557), - CodeunitRange(0x7559, 0x7562), - CodeunitRange(0x7564, 0x7567), - CodeunitRange(0x7569, 0x756d), - CodeunitRange(0x756f, 0x757f), - CodeunitRange(0x7581, 0x7582), - CodeunitRange(0x7585, 0x7587), - CodeunitRange(0x7589, 0x758c), - CodeunitRange(0x758e, 0x7595), - CodeunitRange(0x7599, 0x759a), - CodeunitRange(0x759c, 0x759d), - CodeunitRange(0x75a2, 0x75a5), - CodeunitRange(0x75ab, 0x75ab), - CodeunitRange(0x75b0, 0x75b5), - CodeunitRange(0x75b7, 0x75ba), - CodeunitRange(0x75bc, 0x75c7), - CodeunitRange(0x75ca, 0x75ca), - CodeunitRange(0x75cc, 0x75cf), - CodeunitRange(0x75d2, 0x75d5), - CodeunitRange(0x75d7, 0x75d9), - CodeunitRange(0x75db, 0x75e4), - CodeunitRange(0x75e7, 0x75e7), - CodeunitRange(0x75e9, 0x75e9), - CodeunitRange(0x75ec, 0x75ec), - CodeunitRange(0x75ee, 0x75f4), - CodeunitRange(0x75f9, 0x75fa), - CodeunitRange(0x75fc, 0x75fc), - CodeunitRange(0x75fe, 0x7604), - CodeunitRange(0x7607, 0x760d), - CodeunitRange(0x760f, 0x760f), - CodeunitRange(0x7612, 0x7613), - CodeunitRange(0x7615, 0x7616), - CodeunitRange(0x7618, 0x7619), - CodeunitRange(0x761b, 0x7629), - CodeunitRange(0x762d, 0x762d), - CodeunitRange(0x7630, 0x7630), - CodeunitRange(0x7632, 0x7635), - CodeunitRange(0x7638, 0x763c), - CodeunitRange(0x7640, 0x764c), - CodeunitRange(0x764e, 0x764e), - CodeunitRange(0x7652, 0x7652), - CodeunitRange(0x7655, 0x7656), - CodeunitRange(0x7658, 0x7659), - CodeunitRange(0x765c, 0x765c), - CodeunitRange(0x765f, 0x765f), - CodeunitRange(0x7661, 0x7662), - CodeunitRange(0x7664, 0x7665), - CodeunitRange(0x7667, 0x766a), - CodeunitRange(0x766c, 0x7672), - CodeunitRange(0x7674, 0x7674), - CodeunitRange(0x7676, 0x7676), - CodeunitRange(0x7678, 0x7678), - CodeunitRange(0x767a, 0x767e), - CodeunitRange(0x7680, 0x7688), - CodeunitRange(0x768b, 0x768e), - CodeunitRange(0x7690, 0x7690), - CodeunitRange(0x7693, 0x7693), - CodeunitRange(0x7695, 0x7696), - CodeunitRange(0x7699, 0x76a8), - CodeunitRange(0x76aa, 0x76aa), - CodeunitRange(0x76ad, 0x76b0), - CodeunitRange(0x76b4, 0x76b4), - CodeunitRange(0x76b6, 0x76ba), - CodeunitRange(0x76bd, 0x76bd), - CodeunitRange(0x76bf, 0x76bf), - CodeunitRange(0x76c1, 0x76c3), - CodeunitRange(0x76c5, 0x76c6), - CodeunitRange(0x76c8, 0x76ce), - CodeunitRange(0x76d2, 0x76d2), - CodeunitRange(0x76d4, 0x76d4), - CodeunitRange(0x76d6, 0x76d7), - CodeunitRange(0x76d9, 0x76d9), - CodeunitRange(0x76db, 0x76dc), - CodeunitRange(0x76de, 0x76e1), - CodeunitRange(0x76e3, 0x76e8), - CodeunitRange(0x76ea, 0x76ec), - CodeunitRange(0x76ee, 0x76ee), - CodeunitRange(0x76f0, 0x76f2), - CodeunitRange(0x76f4, 0x76f4), - CodeunitRange(0x76f6, 0x76f6), - CodeunitRange(0x76f8, 0x76f9), - CodeunitRange(0x76fb, 0x76fc), - CodeunitRange(0x76fe, 0x76fe), - CodeunitRange(0x7700, 0x7701), - CodeunitRange(0x7704, 0x7704), - CodeunitRange(0x7706, 0x770c), - CodeunitRange(0x770e, 0x770e), - CodeunitRange(0x7712, 0x7712), - CodeunitRange(0x7714, 0x7715), - CodeunitRange(0x7717, 0x7717), - CodeunitRange(0x7719, 0x771c), - CodeunitRange(0x771e, 0x7720), - CodeunitRange(0x7722, 0x7722), - CodeunitRange(0x7724, 0x7726), - CodeunitRange(0x7728, 0x7729), - CodeunitRange(0x772d, 0x772f), - CodeunitRange(0x7734, 0x773a), - CodeunitRange(0x773c, 0x773e), - CodeunitRange(0x7740, 0x7740), - CodeunitRange(0x7742, 0x7742), - CodeunitRange(0x7745, 0x7747), - CodeunitRange(0x774a, 0x774a), - CodeunitRange(0x774d, 0x774f), - CodeunitRange(0x7752, 0x7752), - CodeunitRange(0x7756, 0x7758), - CodeunitRange(0x775a, 0x775c), - CodeunitRange(0x775e, 0x7768), - CodeunitRange(0x776a, 0x776c), - CodeunitRange(0x7770, 0x7770), - CodeunitRange(0x7772, 0x7774), - CodeunitRange(0x7779, 0x777a), - CodeunitRange(0x777c, 0x7780), - CodeunitRange(0x7784, 0x7784), - CodeunitRange(0x778b, 0x778e), - CodeunitRange(0x7791, 0x7791), - CodeunitRange(0x7794, 0x7796), - CodeunitRange(0x779a, 0x779a), - CodeunitRange(0x779e, 0x77a0), - CodeunitRange(0x77a2, 0x77a2), - CodeunitRange(0x77a4, 0x77a5), - CodeunitRange(0x77a7, 0x77a7), - CodeunitRange(0x77a9, 0x77aa), - CodeunitRange(0x77ac, 0x77b1), - CodeunitRange(0x77b3, 0x77b3), - CodeunitRange(0x77b5, 0x77b7), - CodeunitRange(0x77b9, 0x77b9), - CodeunitRange(0x77bb, 0x77bf), - CodeunitRange(0x77c3, 0x77c3), - CodeunitRange(0x77c7, 0x77c7), - CodeunitRange(0x77c9, 0x77c9), - CodeunitRange(0x77cd, 0x77cd), - CodeunitRange(0x77d1, 0x77d2), - CodeunitRange(0x77d5, 0x77d5), - CodeunitRange(0x77d7, 0x77d7), - CodeunitRange(0x77d9, 0x77dc), - CodeunitRange(0x77de, 0x77e0), - CodeunitRange(0x77e2, 0x77e7), - CodeunitRange(0x77e9, 0x77ea), - CodeunitRange(0x77ec, 0x77f1), - CodeunitRange(0x77f3, 0x77f4), - CodeunitRange(0x77f8, 0x77f8), - CodeunitRange(0x77fb, 0x77fc), - CodeunitRange(0x7802, 0x7802), - CodeunitRange(0x7805, 0x7806), - CodeunitRange(0x7809, 0x7809), - CodeunitRange(0x780c, 0x780e), - CodeunitRange(0x7811, 0x7812), - CodeunitRange(0x7814, 0x7815), - CodeunitRange(0x7819, 0x7819), - CodeunitRange(0x781d, 0x781d), - CodeunitRange(0x7820, 0x7823), - CodeunitRange(0x7825, 0x7827), - CodeunitRange(0x782c, 0x782e), - CodeunitRange(0x7830, 0x7830), - CodeunitRange(0x7832, 0x7832), - CodeunitRange(0x7834, 0x7835), - CodeunitRange(0x7837, 0x7837), - CodeunitRange(0x783a, 0x783a), - CodeunitRange(0x783f, 0x783f), - CodeunitRange(0x7843, 0x7845), - CodeunitRange(0x7847, 0x7848), - CodeunitRange(0x784c, 0x784c), - CodeunitRange(0x784e, 0x784f), - CodeunitRange(0x7851, 0x7852), - CodeunitRange(0x785c, 0x785e), - CodeunitRange(0x7860, 0x7861), - CodeunitRange(0x7863, 0x7864), - CodeunitRange(0x7868, 0x7868), - CodeunitRange(0x786a, 0x786c), - CodeunitRange(0x786e, 0x786f), - CodeunitRange(0x7872, 0x7872), - CodeunitRange(0x7874, 0x7874), - CodeunitRange(0x787a, 0x787a), - CodeunitRange(0x787c, 0x787c), - CodeunitRange(0x787e, 0x787e), - CodeunitRange(0x7881, 0x7881), - CodeunitRange(0x7886, 0x7887), - CodeunitRange(0x788a, 0x788a), - CodeunitRange(0x788c, 0x788f), - CodeunitRange(0x7891, 0x7891), - CodeunitRange(0x7893, 0x7895), - CodeunitRange(0x7897, 0x7898), - CodeunitRange(0x789a, 0x789a), - CodeunitRange(0x789d, 0x789f), - CodeunitRange(0x78a1, 0x78a1), - CodeunitRange(0x78a3, 0x78a4), - CodeunitRange(0x78a7, 0x78aa), - CodeunitRange(0x78ac, 0x78ad), - CodeunitRange(0x78af, 0x78b3), - CodeunitRange(0x78b5, 0x78b5), - CodeunitRange(0x78ba, 0x78bf), - CodeunitRange(0x78c1, 0x78c1), - CodeunitRange(0x78c5, 0x78cc), - CodeunitRange(0x78ce, 0x78ce), - CodeunitRange(0x78d0, 0x78d6), - CodeunitRange(0x78da, 0x78db), - CodeunitRange(0x78df, 0x78e1), - CodeunitRange(0x78e4, 0x78e4), - CodeunitRange(0x78e6, 0x78e8), - CodeunitRange(0x78ea, 0x78ea), - CodeunitRange(0x78ec, 0x78ec), - CodeunitRange(0x78ef, 0x78ef), - CodeunitRange(0x78f2, 0x78f4), - CodeunitRange(0x78f6, 0x78f7), - CodeunitRange(0x78f9, 0x78fb), - CodeunitRange(0x78fd, 0x7901), - CodeunitRange(0x7906, 0x7907), - CodeunitRange(0x790c, 0x790c), - CodeunitRange(0x790e, 0x790e), - CodeunitRange(0x7910, 0x7912), - CodeunitRange(0x7919, 0x791c), - CodeunitRange(0x791e, 0x7920), - CodeunitRange(0x7925, 0x792e), - CodeunitRange(0x7930, 0x7931), - CodeunitRange(0x7934, 0x7935), - CodeunitRange(0x793a, 0x7942), - CodeunitRange(0x7944, 0x794b), - CodeunitRange(0x794f, 0x7951), - CodeunitRange(0x7953, 0x7958), - CodeunitRange(0x795a, 0x7960), - CodeunitRange(0x7962, 0x7962), - CodeunitRange(0x7965, 0x7965), - CodeunitRange(0x7967, 0x7969), - CodeunitRange(0x796b, 0x796b), - CodeunitRange(0x796d, 0x796d), - CodeunitRange(0x7972, 0x7972), - CodeunitRange(0x7977, 0x7977), - CodeunitRange(0x7979, 0x797c), - CodeunitRange(0x797e, 0x7981), - CodeunitRange(0x7984, 0x7985), - CodeunitRange(0x798a, 0x798f), - CodeunitRange(0x7991, 0x7991), - CodeunitRange(0x7993, 0x7996), - CodeunitRange(0x7998, 0x7998), - CodeunitRange(0x799b, 0x799d), - CodeunitRange(0x79a1, 0x79a1), - CodeunitRange(0x79a6, 0x79ab), - CodeunitRange(0x79ae, 0x79b1), - CodeunitRange(0x79b3, 0x79b4), - CodeunitRange(0x79b8, 0x79bb), - CodeunitRange(0x79bd, 0x79c2), - CodeunitRange(0x79c4, 0x79c4), - CodeunitRange(0x79c7, 0x79cd), - CodeunitRange(0x79cf, 0x79cf), - CodeunitRange(0x79d1, 0x79d2), - CodeunitRange(0x79d4, 0x79d6), - CodeunitRange(0x79d8, 0x79d8), - CodeunitRange(0x79da, 0x79da), - CodeunitRange(0x79dd, 0x79e7), - CodeunitRange(0x79e9, 0x79ed), - CodeunitRange(0x79f0, 0x79f1), - CodeunitRange(0x79f8, 0x79f8), - CodeunitRange(0x79fb, 0x79fc), - CodeunitRange(0x7a00, 0x7a00), - CodeunitRange(0x7a02, 0x7a03), - CodeunitRange(0x7a05, 0x7a05), - CodeunitRange(0x7a07, 0x7a0e), - CodeunitRange(0x7a11, 0x7a11), - CodeunitRange(0x7a14, 0x7a15), - CodeunitRange(0x7a17, 0x7a1c), - CodeunitRange(0x7a1e, 0x7a21), - CodeunitRange(0x7a27, 0x7a27), - CodeunitRange(0x7a2b, 0x7a2b), - CodeunitRange(0x7a2d, 0x7a32), - CodeunitRange(0x7a34, 0x7a35), - CodeunitRange(0x7a37, 0x7a40), - CodeunitRange(0x7a42, 0x7a49), - CodeunitRange(0x7a4c, 0x7a50), - CodeunitRange(0x7a55, 0x7a57), - CodeunitRange(0x7a59, 0x7a59), - CodeunitRange(0x7a5c, 0x7a5d), - CodeunitRange(0x7a5f, 0x7a63), - CodeunitRange(0x7a65, 0x7a65), - CodeunitRange(0x7a67, 0x7a67), - CodeunitRange(0x7a69, 0x7a6b), - CodeunitRange(0x7a6d, 0x7a6d), - CodeunitRange(0x7a70, 0x7a70), - CodeunitRange(0x7a74, 0x7a76), - CodeunitRange(0x7a78, 0x7a7a), - CodeunitRange(0x7a7d, 0x7a86), - CodeunitRange(0x7a88, 0x7a88), - CodeunitRange(0x7a8a, 0x7a8b), - CodeunitRange(0x7a90, 0x7a98), - CodeunitRange(0x7a9e, 0x7aa0), - CodeunitRange(0x7aa3, 0x7aa3), - CodeunitRange(0x7aa9, 0x7aaa), - CodeunitRange(0x7aac, 0x7aac), - CodeunitRange(0x7aae, 0x7ab0), - CodeunitRange(0x7ab3, 0x7ab3), - CodeunitRange(0x7ab5, 0x7ab6), - CodeunitRange(0x7ab9, 0x7abf), - CodeunitRange(0x7ac3, 0x7acf), - CodeunitRange(0x7ad1, 0x7ad3), - CodeunitRange(0x7ad5, 0x7ad5), - CodeunitRange(0x7ad9, 0x7add), - CodeunitRange(0x7adf, 0x7ae3), - CodeunitRange(0x7ae5, 0x7aed), - CodeunitRange(0x7aef, 0x7af1), - CodeunitRange(0x7af4, 0x7af4), - CodeunitRange(0x7af6, 0x7af6), - CodeunitRange(0x7af8, 0x7afb), - CodeunitRange(0x7afd, 0x7aff), - CodeunitRange(0x7b02, 0x7b02), - CodeunitRange(0x7b04, 0x7b04), - CodeunitRange(0x7b06, 0x7b08), - CodeunitRange(0x7b0a, 0x7b0b), - CodeunitRange(0x7b0f, 0x7b0f), - CodeunitRange(0x7b11, 0x7b12), - CodeunitRange(0x7b14, 0x7b14), - CodeunitRange(0x7b18, 0x7b19), - CodeunitRange(0x7b1b, 0x7b1b), - CodeunitRange(0x7b1e, 0x7b20), - CodeunitRange(0x7b23, 0x7b23), - CodeunitRange(0x7b25, 0x7b31), - CodeunitRange(0x7b33, 0x7b36), - CodeunitRange(0x7b39, 0x7b39), - CodeunitRange(0x7b3b, 0x7b3b), - CodeunitRange(0x7b3d, 0x7b3d), - CodeunitRange(0x7b3f, 0x7b41), - CodeunitRange(0x7b45, 0x7b49), - CodeunitRange(0x7b4b, 0x7b56), - CodeunitRange(0x7b5d, 0x7b5d), - CodeunitRange(0x7b60, 0x7b60), - CodeunitRange(0x7b64, 0x7b67), - CodeunitRange(0x7b69, 0x7b6a), - CodeunitRange(0x7b6c, 0x7b75), - CodeunitRange(0x7b77, 0x7b77), - CodeunitRange(0x7b79, 0x7b7a), - CodeunitRange(0x7b7f, 0x7b7f), - CodeunitRange(0x7b84, 0x7b84), - CodeunitRange(0x7b86, 0x7b87), - CodeunitRange(0x7b89, 0x7b89), - CodeunitRange(0x7b8b, 0x7b8b), - CodeunitRange(0x7b8d, 0x7b92), - CodeunitRange(0x7b94, 0x7ba1), - CodeunitRange(0x7ba5, 0x7ba5), - CodeunitRange(0x7baa, 0x7baa), - CodeunitRange(0x7bac, 0x7bad), - CodeunitRange(0x7baf, 0x7bb2), - CodeunitRange(0x7bb4, 0x7bb6), - CodeunitRange(0x7bb8, 0x7bb8), - CodeunitRange(0x7bba, 0x7bbd), - CodeunitRange(0x7bc0, 0x7bc2), - CodeunitRange(0x7bc4, 0x7bcc), - CodeunitRange(0x7bcf, 0x7bcf), - CodeunitRange(0x7bd4, 0x7bd4), - CodeunitRange(0x7bd6, 0x7bd7), - CodeunitRange(0x7bd9, 0x7bdb), - CodeunitRange(0x7bdd, 0x7bdd), - CodeunitRange(0x7be0, 0x7be0), - CodeunitRange(0x7be4, 0x7be6), - CodeunitRange(0x7be8, 0x7bea), - CodeunitRange(0x7bed, 0x7bed), - CodeunitRange(0x7bf0, 0x7bf0), - CodeunitRange(0x7bf2, 0x7bfa), - CodeunitRange(0x7bfc, 0x7bfc), - CodeunitRange(0x7bfe, 0x7bfe), - CodeunitRange(0x7c00, 0x7c04), - CodeunitRange(0x7c06, 0x7c07), - CodeunitRange(0x7c09, 0x7c09), - CodeunitRange(0x7c0b, 0x7c0f), - CodeunitRange(0x7c11, 0x7c14), - CodeunitRange(0x7c17, 0x7c17), - CodeunitRange(0x7c19, 0x7c19), - CodeunitRange(0x7c1b, 0x7c1b), - CodeunitRange(0x7c1e, 0x7c21), - CodeunitRange(0x7c23, 0x7c23), - CodeunitRange(0x7c25, 0x7c28), - CodeunitRange(0x7c2a, 0x7c2c), - CodeunitRange(0x7c2f, 0x7c2f), - CodeunitRange(0x7c31, 0x7c31), - CodeunitRange(0x7c33, 0x7c34), - CodeunitRange(0x7c36, 0x7c3a), - CodeunitRange(0x7c3d, 0x7c40), - CodeunitRange(0x7c42, 0x7c43), - CodeunitRange(0x7c45, 0x7c46), - CodeunitRange(0x7c4a, 0x7c4a), - CodeunitRange(0x7c4c, 0x7c4d), - CodeunitRange(0x7c4f, 0x7c61), - CodeunitRange(0x7c63, 0x7c65), - CodeunitRange(0x7c67, 0x7c67), - CodeunitRange(0x7c69, 0x7c69), - CodeunitRange(0x7c6c, 0x7c70), - CodeunitRange(0x7c72, 0x7c73), - CodeunitRange(0x7c75, 0x7c75), - CodeunitRange(0x7c79, 0x7c79), - CodeunitRange(0x7c7b, 0x7c7e), - CodeunitRange(0x7c81, 0x7c83), - CodeunitRange(0x7c86, 0x7c87), - CodeunitRange(0x7c89, 0x7c89), - CodeunitRange(0x7c8b, 0x7c8b), - CodeunitRange(0x7c8d, 0x7c8d), - CodeunitRange(0x7c8f, 0x7c90), - CodeunitRange(0x7c92, 0x7c92), - CodeunitRange(0x7c94, 0x7c95), - CodeunitRange(0x7c97, 0x7c98), - CodeunitRange(0x7c9b, 0x7c9b), - CodeunitRange(0x7c9e, 0x7ca2), - CodeunitRange(0x7ca4, 0x7ca8), - CodeunitRange(0x7cab, 0x7cab), - CodeunitRange(0x7cad, 0x7cae), - CodeunitRange(0x7cb0, 0x7cb3), - CodeunitRange(0x7cb6, 0x7cb7), - CodeunitRange(0x7cb9, 0x7cc0), - CodeunitRange(0x7cc2, 0x7cc2), - CodeunitRange(0x7cc4, 0x7cc5), - CodeunitRange(0x7cc7, 0x7cca), - CodeunitRange(0x7ccd, 0x7ccf), - CodeunitRange(0x7cd2, 0x7cda), - CodeunitRange(0x7cdc, 0x7ce0), - CodeunitRange(0x7ce2, 0x7ce2), - CodeunitRange(0x7ce6, 0x7ce7), - CodeunitRange(0x7ce9, 0x7ce9), - CodeunitRange(0x7ceb, 0x7ceb), - CodeunitRange(0x7cef, 0x7cef), - CodeunitRange(0x7cf2, 0x7cf2), - CodeunitRange(0x7cf4, 0x7cf6), - CodeunitRange(0x7cf8, 0x7cfb), - CodeunitRange(0x7cfe, 0x7cfe), - CodeunitRange(0x7d00, 0x7d00), - CodeunitRange(0x7d02, 0x7d0b), - CodeunitRange(0x7d0d, 0x7d0d), - CodeunitRange(0x7d0f, 0x7d1e), - CodeunitRange(0x7d20, 0x7d23), - CodeunitRange(0x7d26, 0x7d26), - CodeunitRange(0x7d2a, 0x7d33), - CodeunitRange(0x7d35, 0x7d35), - CodeunitRange(0x7d39, 0x7d3a), - CodeunitRange(0x7d3c, 0x7d48), - CodeunitRange(0x7d4b, 0x7d51), - CodeunitRange(0x7d53, 0x7d53), - CodeunitRange(0x7d55, 0x7d57), - CodeunitRange(0x7d59, 0x7d5e), - CodeunitRange(0x7d61, 0x7d63), - CodeunitRange(0x7d65, 0x7d68), - CodeunitRange(0x7d6a, 0x7d6a), - CodeunitRange(0x7d6e, 0x7d6e), - CodeunitRange(0x7d70, 0x7d73), - CodeunitRange(0x7d75, 0x7d76), - CodeunitRange(0x7d78, 0x7d7b), - CodeunitRange(0x7d7d, 0x7d7d), - CodeunitRange(0x7d7f, 0x7d7f), - CodeunitRange(0x7d81, 0x7d83), - CodeunitRange(0x7d85, 0x7d86), - CodeunitRange(0x7d88, 0x7d89), - CodeunitRange(0x7d8b, 0x7d8d), - CodeunitRange(0x7d8f, 0x7d8f), - CodeunitRange(0x7d91, 0x7d91), - CodeunitRange(0x7d93, 0x7d93), - CodeunitRange(0x7d96, 0x7d97), - CodeunitRange(0x7d99, 0x7da0), - CodeunitRange(0x7da2, 0x7da3), - CodeunitRange(0x7da6, 0x7da7), - CodeunitRange(0x7daa, 0x7dbb), - CodeunitRange(0x7dbd, 0x7dc0), - CodeunitRange(0x7dc2, 0x7dc7), - CodeunitRange(0x7dca, 0x7dd2), - CodeunitRange(0x7dd5, 0x7dda), - CodeunitRange(0x7ddc, 0x7dde), - CodeunitRange(0x7de0, 0x7de6), - CodeunitRange(0x7de8, 0x7ded), - CodeunitRange(0x7def, 0x7def), - CodeunitRange(0x7df1, 0x7df2), - CodeunitRange(0x7df4, 0x7df6), - CodeunitRange(0x7df9, 0x7dfb), - CodeunitRange(0x7e00, 0x7e01), - CodeunitRange(0x7e04, 0x7e05), - CodeunitRange(0x7e08, 0x7e0b), - CodeunitRange(0x7e10, 0x7e12), - CodeunitRange(0x7e15, 0x7e15), - CodeunitRange(0x7e17, 0x7e17), - CodeunitRange(0x7e1b, 0x7e23), - CodeunitRange(0x7e26, 0x7e28), - CodeunitRange(0x7e2b, 0x7e2f), - CodeunitRange(0x7e31, 0x7e33), - CodeunitRange(0x7e35, 0x7e37), - CodeunitRange(0x7e39, 0x7e3b), - CodeunitRange(0x7e3d, 0x7e3f), - CodeunitRange(0x7e41, 0x7e41), - CodeunitRange(0x7e43, 0x7e48), - CodeunitRange(0x7e4a, 0x7e4b), - CodeunitRange(0x7e4d, 0x7e4e), - CodeunitRange(0x7e50, 0x7e50), - CodeunitRange(0x7e52, 0x7e52), - CodeunitRange(0x7e54, 0x7e56), - CodeunitRange(0x7e58, 0x7e5a), - CodeunitRange(0x7e5d, 0x7e5f), - CodeunitRange(0x7e61, 0x7e62), - CodeunitRange(0x7e65, 0x7e67), - CodeunitRange(0x7e69, 0x7e6b), - CodeunitRange(0x7e6d, 0x7e70), - CodeunitRange(0x7e73, 0x7e73), - CodeunitRange(0x7e75, 0x7e75), - CodeunitRange(0x7e78, 0x7e79), - CodeunitRange(0x7e7b, 0x7e7f), - CodeunitRange(0x7e81, 0x7e83), - CodeunitRange(0x7e86, 0x7e8a), - CodeunitRange(0x7e8c, 0x7e96), - CodeunitRange(0x7e98, 0x7e98), - CodeunitRange(0x7e9a, 0x7e9f), - CodeunitRange(0x7f36, 0x7f36), - CodeunitRange(0x7f38, 0x7f38), - CodeunitRange(0x7f3a, 0x7f3f), - CodeunitRange(0x7f43, 0x7f45), - CodeunitRange(0x7f47, 0x7f47), - CodeunitRange(0x7f4c, 0x7f55), - CodeunitRange(0x7f58, 0x7f58), - CodeunitRange(0x7f5b, 0x7f5d), - CodeunitRange(0x7f5f, 0x7f61), - CodeunitRange(0x7f63, 0x7f6b), - CodeunitRange(0x7f6d, 0x7f6e), - CodeunitRange(0x7f70, 0x7f72), - CodeunitRange(0x7f75, 0x7f75), - CodeunitRange(0x7f77, 0x7f79), - CodeunitRange(0x7f7d, 0x7f80), - CodeunitRange(0x7f82, 0x7f83), - CodeunitRange(0x7f85, 0x7f88), - CodeunitRange(0x7f8a, 0x7f91), - CodeunitRange(0x7f94, 0x7f94), - CodeunitRange(0x7f96, 0x7f97), - CodeunitRange(0x7f9a, 0x7f9a), - CodeunitRange(0x7f9c, 0x7f9e), - CodeunitRange(0x7fa1, 0x7fa4), - CodeunitRange(0x7fa6, 0x7fa6), - CodeunitRange(0x7fa8, 0x7faa), - CodeunitRange(0x7fad, 0x7faf), - CodeunitRange(0x7fb2, 0x7fb2), - CodeunitRange(0x7fb4, 0x7fb4), - CodeunitRange(0x7fb6, 0x7fb6), - CodeunitRange(0x7fb8, 0x7fb9), - CodeunitRange(0x7fbc, 0x7fbd), - CodeunitRange(0x7fbf, 0x7fc1), - CodeunitRange(0x7fc3, 0x7fc3), - CodeunitRange(0x7fc5, 0x7fc6), - CodeunitRange(0x7fc8, 0x7fc8), - CodeunitRange(0x7fca, 0x7fca), - CodeunitRange(0x7fcc, 0x7fcc), - CodeunitRange(0x7fce, 0x7fcf), - CodeunitRange(0x7fd2, 0x7fd2), - CodeunitRange(0x7fd4, 0x7fd5), - CodeunitRange(0x7fdb, 0x7fdb), - CodeunitRange(0x7fdf, 0x7fe1), - CodeunitRange(0x7fe3, 0x7fe3), - CodeunitRange(0x7fe5, 0x7fe6), - CodeunitRange(0x7fe8, 0x7fe9), - CodeunitRange(0x7feb, 0x7fec), - CodeunitRange(0x7fee, 0x7ff0), - CodeunitRange(0x7ff2, 0x7ff3), - CodeunitRange(0x7ff9, 0x8008), - CodeunitRange(0x800a, 0x8019), - CodeunitRange(0x801c, 0x8021), - CodeunitRange(0x8024, 0x8024), - CodeunitRange(0x8026, 0x8026), - CodeunitRange(0x8028, 0x8028), - CodeunitRange(0x802c, 0x802c), - CodeunitRange(0x802e, 0x802e), - CodeunitRange(0x8030, 0x8030), - CodeunitRange(0x8033, 0x8037), - CodeunitRange(0x8039, 0x8040), - CodeunitRange(0x8043, 0x8044), - CodeunitRange(0x8046, 0x8046), - CodeunitRange(0x804a, 0x804a), - CodeunitRange(0x8052, 0x8052), - CodeunitRange(0x8056, 0x8056), - CodeunitRange(0x8058, 0x8058), - CodeunitRange(0x805a, 0x805a), - CodeunitRange(0x805e, 0x8062), - CodeunitRange(0x8064, 0x8064), - CodeunitRange(0x8066, 0x8066), - CodeunitRange(0x8068, 0x8068), - CodeunitRange(0x806d, 0x806d), - CodeunitRange(0x806f, 0x8077), - CodeunitRange(0x8079, 0x8079), - CodeunitRange(0x807b, 0x807b), - CodeunitRange(0x807d, 0x8081), - CodeunitRange(0x8084, 0x8089), - CodeunitRange(0x808b, 0x808c), - CodeunitRange(0x808e, 0x808e), - CodeunitRange(0x8093, 0x8093), - CodeunitRange(0x8096, 0x8096), - CodeunitRange(0x8098, 0x809e), - CodeunitRange(0x80a1, 0x80a2), - CodeunitRange(0x80a4, 0x80a7), - CodeunitRange(0x80a9, 0x80ad), - CodeunitRange(0x80af, 0x80af), - CodeunitRange(0x80b1, 0x80b2), - CodeunitRange(0x80b4, 0x80b4), - CodeunitRange(0x80b8, 0x80ba), - CodeunitRange(0x80c3, 0x80c6), - CodeunitRange(0x80c8, 0x80c8), - CodeunitRange(0x80ca, 0x80ca), - CodeunitRange(0x80cc, 0x80cf), - CodeunitRange(0x80d2, 0x80d2), - CodeunitRange(0x80d4, 0x80db), - CodeunitRange(0x80dd, 0x80de), - CodeunitRange(0x80e0, 0x80e1), - CodeunitRange(0x80e4, 0x80e6), - CodeunitRange(0x80ed, 0x80fe), - CodeunitRange(0x8101, 0x8103), - CodeunitRange(0x8105, 0x810b), - CodeunitRange(0x810d, 0x810d), - CodeunitRange(0x8116, 0x8118), - CodeunitRange(0x811a, 0x811c), - CodeunitRange(0x811e, 0x811e), - CodeunitRange(0x8120, 0x8120), - CodeunitRange(0x8123, 0x8124), - CodeunitRange(0x8127, 0x8127), - CodeunitRange(0x8129, 0x8129), - CodeunitRange(0x812b, 0x812c), - CodeunitRange(0x812f, 0x8131), - CodeunitRange(0x8133, 0x8133), - CodeunitRange(0x8135, 0x8135), - CodeunitRange(0x8139, 0x813a), - CodeunitRange(0x813c, 0x813e), - CodeunitRange(0x8141, 0x8141), - CodeunitRange(0x8145, 0x8147), - CodeunitRange(0x814a, 0x814c), - CodeunitRange(0x814e, 0x814e), - CodeunitRange(0x8150, 0x8155), - CodeunitRange(0x8157, 0x8157), - CodeunitRange(0x815f, 0x8161), - CodeunitRange(0x8165, 0x8169), - CodeunitRange(0x816b, 0x816b), - CodeunitRange(0x816d, 0x8171), - CodeunitRange(0x8173, 0x8174), - CodeunitRange(0x8177, 0x817a), - CodeunitRange(0x817f, 0x8186), - CodeunitRange(0x8188, 0x8188), - CodeunitRange(0x818a, 0x818b), - CodeunitRange(0x818e, 0x8190), - CodeunitRange(0x8193, 0x8193), - CodeunitRange(0x8195, 0x8196), - CodeunitRange(0x8198, 0x8198), - CodeunitRange(0x819a, 0x819e), - CodeunitRange(0x81a0, 0x81a0), - CodeunitRange(0x81a2, 0x81a4), - CodeunitRange(0x81a8, 0x81a9), - CodeunitRange(0x81ae, 0x81ae), - CodeunitRange(0x81b0, 0x81b0), - CodeunitRange(0x81b2, 0x81b5), - CodeunitRange(0x81b8, 0x81b8), - CodeunitRange(0x81ba, 0x81bb), - CodeunitRange(0x81bd, 0x81c3), - CodeunitRange(0x81c5, 0x81c6), - CodeunitRange(0x81c8, 0x81cb), - CodeunitRange(0x81cd, 0x81cf), - CodeunitRange(0x81d1, 0x81d1), - CodeunitRange(0x81d3, 0x81d3), - CodeunitRange(0x81d5, 0x81db), - CodeunitRange(0x81dd, 0x81e1), - CodeunitRange(0x81e3, 0x81e5), - CodeunitRange(0x81e7, 0x81e8), - CodeunitRange(0x81ea, 0x81ed), - CodeunitRange(0x81ef, 0x81f6), - CodeunitRange(0x81f8, 0x8205), - CodeunitRange(0x8207, 0x8210), - CodeunitRange(0x8212, 0x8214), - CodeunitRange(0x8216, 0x821f), - CodeunitRange(0x8221, 0x8222), - CodeunitRange(0x8228, 0x822c), - CodeunitRange(0x822e, 0x822e), - CodeunitRange(0x8232, 0x823a), - CodeunitRange(0x823c, 0x823c), - CodeunitRange(0x8240, 0x8240), - CodeunitRange(0x8243, 0x8247), - CodeunitRange(0x8249, 0x8249), - CodeunitRange(0x824b, 0x824b), - CodeunitRange(0x824e, 0x824f), - CodeunitRange(0x8251, 0x8251), - CodeunitRange(0x8256, 0x825a), - CodeunitRange(0x825c, 0x825d), - CodeunitRange(0x825f, 0x8260), - CodeunitRange(0x8262, 0x8264), - CodeunitRange(0x8266, 0x8268), - CodeunitRange(0x826a, 0x826b), - CodeunitRange(0x826d, 0x826f), - CodeunitRange(0x8271, 0x8272), - CodeunitRange(0x8274, 0x8274), - CodeunitRange(0x8276, 0x8279), - CodeunitRange(0x827b, 0x827b), - CodeunitRange(0x827d, 0x8281), - CodeunitRange(0x8283, 0x8284), - CodeunitRange(0x8287, 0x8287), - CodeunitRange(0x8289, 0x828b), - CodeunitRange(0x828d, 0x828e), - CodeunitRange(0x8291, 0x8294), - CodeunitRange(0x8296, 0x8296), - CodeunitRange(0x8298, 0x829b), - CodeunitRange(0x829d, 0x829d), - CodeunitRange(0x829f, 0x82a1), - CodeunitRange(0x82a3, 0x82b4), - CodeunitRange(0x82b7, 0x82bf), - CodeunitRange(0x82c5, 0x82c6), - CodeunitRange(0x82d0, 0x82d5), - CodeunitRange(0x82d7, 0x82d7), - CodeunitRange(0x82d9, 0x82dc), - CodeunitRange(0x82de, 0x82e8), - CodeunitRange(0x82ea, 0x82eb), - CodeunitRange(0x82ed, 0x82ed), - CodeunitRange(0x82ef, 0x82ef), - CodeunitRange(0x82f1, 0x82f1), - CodeunitRange(0x82f3, 0x82f4), - CodeunitRange(0x82f6, 0x82f7), - CodeunitRange(0x82f9, 0x82fb), - CodeunitRange(0x82fd, 0x82fe), - CodeunitRange(0x8300, 0x830c), - CodeunitRange(0x830e, 0x830e), - CodeunitRange(0x8316, 0x8318), - CodeunitRange(0x831b, 0x831f), - CodeunitRange(0x8321, 0x8323), - CodeunitRange(0x8328, 0x8328), - CodeunitRange(0x832b, 0x833a), - CodeunitRange(0x833c, 0x833d), - CodeunitRange(0x8340, 0x8340), - CodeunitRange(0x8342, 0x8347), - CodeunitRange(0x8349, 0x834a), - CodeunitRange(0x834d, 0x8358), - CodeunitRange(0x835a, 0x835a), - CodeunitRange(0x8362, 0x8363), - CodeunitRange(0x8370, 0x8370), - CodeunitRange(0x8373, 0x8373), - CodeunitRange(0x8375, 0x8375), - CodeunitRange(0x8377, 0x8378), - CodeunitRange(0x837b, 0x837d), - CodeunitRange(0x837f, 0x8380), - CodeunitRange(0x8382, 0x8382), - CodeunitRange(0x8384, 0x8387), - CodeunitRange(0x8389, 0x838a), - CodeunitRange(0x838d, 0x838e), - CodeunitRange(0x8392, 0x8396), - CodeunitRange(0x8398, 0x83a0), - CodeunitRange(0x83a2, 0x83a2), - CodeunitRange(0x83a6, 0x83ad), - CodeunitRange(0x83b1, 0x83b1), - CodeunitRange(0x83b5, 0x83b5), - CodeunitRange(0x83bd, 0x83c1), - CodeunitRange(0x83c5, 0x83c5), - CodeunitRange(0x83c7, 0x83c7), - CodeunitRange(0x83c9, 0x83ca), - CodeunitRange(0x83cc, 0x83cc), - CodeunitRange(0x83ce, 0x83d1), - CodeunitRange(0x83d3, 0x83d4), - CodeunitRange(0x83d6, 0x83d6), - CodeunitRange(0x83d8, 0x83d8), - CodeunitRange(0x83dc, 0x83dd), - CodeunitRange(0x83df, 0x83e1), - CodeunitRange(0x83e5, 0x83e5), - CodeunitRange(0x83e8, 0x83eb), - CodeunitRange(0x83ef, 0x83f2), - CodeunitRange(0x83f4, 0x83f4), - CodeunitRange(0x83f6, 0x83f9), - CodeunitRange(0x83fb, 0x83fd), - CodeunitRange(0x8401, 0x8401), - CodeunitRange(0x8403, 0x8404), - CodeunitRange(0x8406, 0x8407), - CodeunitRange(0x840a, 0x840f), - CodeunitRange(0x8411, 0x8411), - CodeunitRange(0x8413, 0x8413), - CodeunitRange(0x8415, 0x8415), - CodeunitRange(0x8417, 0x8417), - CodeunitRange(0x8419, 0x8419), - CodeunitRange(0x8420, 0x8420), - CodeunitRange(0x8422, 0x8422), - CodeunitRange(0x8429, 0x842a), - CodeunitRange(0x842c, 0x842c), - CodeunitRange(0x842f, 0x842f), - CodeunitRange(0x8431, 0x8431), - CodeunitRange(0x8435, 0x8435), - CodeunitRange(0x8438, 0x8439), - CodeunitRange(0x843c, 0x843d), - CodeunitRange(0x8445, 0x844a), - CodeunitRange(0x844d, 0x844f), - CodeunitRange(0x8451, 0x8452), - CodeunitRange(0x8456, 0x845c), - CodeunitRange(0x845f, 0x8467), - CodeunitRange(0x8469, 0x8471), - CodeunitRange(0x8473, 0x847a), - CodeunitRange(0x847c, 0x847d), - CodeunitRange(0x8481, 0x8482), - CodeunitRange(0x8484, 0x8485), - CodeunitRange(0x848b, 0x848b), - CodeunitRange(0x8490, 0x8490), - CodeunitRange(0x8492, 0x8495), - CodeunitRange(0x8497, 0x8497), - CodeunitRange(0x8499, 0x8499), - CodeunitRange(0x849c, 0x849c), - CodeunitRange(0x849e, 0x849f), - CodeunitRange(0x84a1, 0x84a1), - CodeunitRange(0x84a6, 0x84a6), - CodeunitRange(0x84a8, 0x84aa), - CodeunitRange(0x84ad, 0x84ad), - CodeunitRange(0x84af, 0x84af), - CodeunitRange(0x84b1, 0x84b2), - CodeunitRange(0x84b4, 0x84b4), - CodeunitRange(0x84b8, 0x84c2), - CodeunitRange(0x84c4, 0x84c4), - CodeunitRange(0x84c6, 0x84d1), - CodeunitRange(0x84d3, 0x84d3), - CodeunitRange(0x84d6, 0x84d6), - CodeunitRange(0x84d9, 0x84da), - CodeunitRange(0x84dc, 0x84dc), - CodeunitRange(0x84e7, 0x84e7), - CodeunitRange(0x84ea, 0x84ea), - CodeunitRange(0x84ec, 0x84ec), - CodeunitRange(0x84ee, 0x84f2), - CodeunitRange(0x84f4, 0x84f4), - CodeunitRange(0x84f7, 0x84f7), - CodeunitRange(0x84fa, 0x84fd), - CodeunitRange(0x84ff, 0x8500), - CodeunitRange(0x8502, 0x8503), - CodeunitRange(0x8506, 0x8507), - CodeunitRange(0x850c, 0x850c), - CodeunitRange(0x850e, 0x850e), - CodeunitRange(0x8510, 0x8511), - CodeunitRange(0x8513, 0x8515), - CodeunitRange(0x8517, 0x8518), - CodeunitRange(0x851a, 0x851c), - CodeunitRange(0x851e, 0x851f), - CodeunitRange(0x8521, 0x8527), - CodeunitRange(0x852a, 0x852d), - CodeunitRange(0x852f, 0x852f), - CodeunitRange(0x8532, 0x8536), - CodeunitRange(0x853d, 0x8541), - CodeunitRange(0x8543, 0x8543), - CodeunitRange(0x8546, 0x8546), - CodeunitRange(0x8548, 0x854b), - CodeunitRange(0x854e, 0x8553), - CodeunitRange(0x8555, 0x855a), - CodeunitRange(0x855c, 0x8564), - CodeunitRange(0x8568, 0x856b), - CodeunitRange(0x856d, 0x856d), - CodeunitRange(0x856f, 0x856f), - CodeunitRange(0x8577, 0x8577), - CodeunitRange(0x8579, 0x857b), - CodeunitRange(0x857d, 0x8581), - CodeunitRange(0x8584, 0x858c), - CodeunitRange(0x858f, 0x8591), - CodeunitRange(0x8593, 0x8594), - CodeunitRange(0x8597, 0x8599), - CodeunitRange(0x859b, 0x859d), - CodeunitRange(0x859f, 0x85a0), - CodeunitRange(0x85a2, 0x85a2), - CodeunitRange(0x85a4, 0x85b0), - CodeunitRange(0x85b4, 0x85b4), - CodeunitRange(0x85b6, 0x85ba), - CodeunitRange(0x85bc, 0x85bf), - CodeunitRange(0x85c1, 0x85c2), - CodeunitRange(0x85c7, 0x85c7), - CodeunitRange(0x85c9, 0x85cb), - CodeunitRange(0x85cd, 0x85d0), - CodeunitRange(0x85d5, 0x85d5), - CodeunitRange(0x85d8, 0x85da), - CodeunitRange(0x85dc, 0x85dd), - CodeunitRange(0x85df, 0x85e1), - CodeunitRange(0x85e4, 0x85e6), - CodeunitRange(0x85e8, 0x85ea), - CodeunitRange(0x85ed, 0x85ed), - CodeunitRange(0x85f3, 0x85f4), - CodeunitRange(0x85f6, 0x85f7), - CodeunitRange(0x85f9, 0x85fc), - CodeunitRange(0x85fe, 0x8600), - CodeunitRange(0x8602, 0x8602), - CodeunitRange(0x8604, 0x8607), - CodeunitRange(0x860a, 0x860b), - CodeunitRange(0x860d, 0x860e), - CodeunitRange(0x8610, 0x8613), - CodeunitRange(0x8616, 0x861b), - CodeunitRange(0x861e, 0x861e), - CodeunitRange(0x8621, 0x8622), - CodeunitRange(0x8624, 0x8624), - CodeunitRange(0x8627, 0x8627), - CodeunitRange(0x8629, 0x8629), - CodeunitRange(0x862d, 0x862d), - CodeunitRange(0x862f, 0x8630), - CodeunitRange(0x8636, 0x8636), - CodeunitRange(0x8638, 0x863a), - CodeunitRange(0x863c, 0x863d), - CodeunitRange(0x863f, 0x8642), - CodeunitRange(0x8646, 0x8646), - CodeunitRange(0x864d, 0x864e), - CodeunitRange(0x8650, 0x8650), - CodeunitRange(0x8652, 0x8664), - CodeunitRange(0x8667, 0x8667), - CodeunitRange(0x8669, 0x8669), - CodeunitRange(0x866b, 0x866c), - CodeunitRange(0x866f, 0x866f), - CodeunitRange(0x8671, 0x8671), - CodeunitRange(0x8675, 0x8677), - CodeunitRange(0x8679, 0x867b), - CodeunitRange(0x867d, 0x867d), - CodeunitRange(0x8687, 0x868d), - CodeunitRange(0x8691, 0x8691), - CodeunitRange(0x8693, 0x8693), - CodeunitRange(0x8695, 0x8696), - CodeunitRange(0x8698, 0x8698), - CodeunitRange(0x869a, 0x869a), - CodeunitRange(0x869c, 0x869d), - CodeunitRange(0x86a1, 0x86a1), - CodeunitRange(0x86a3, 0x86a4), - CodeunitRange(0x86a6, 0x86ab), - CodeunitRange(0x86ad, 0x86ad), - CodeunitRange(0x86af, 0x86b1), - CodeunitRange(0x86b3, 0x86b9), - CodeunitRange(0x86bf, 0x86c1), - CodeunitRange(0x86c3, 0x86c7), - CodeunitRange(0x86c9, 0x86c9), - CodeunitRange(0x86cb, 0x86cb), - CodeunitRange(0x86cd, 0x86ce), - CodeunitRange(0x86d1, 0x86d2), - CodeunitRange(0x86d4, 0x86d5), - CodeunitRange(0x86d7, 0x86d7), - CodeunitRange(0x86d9, 0x86dc), - CodeunitRange(0x86de, 0x86e0), - CodeunitRange(0x86e3, 0x86e7), - CodeunitRange(0x86e9, 0x86e9), - CodeunitRange(0x86ec, 0x86ef), - CodeunitRange(0x86f8, 0x86fe), - CodeunitRange(0x8700, 0x8700), - CodeunitRange(0x8702, 0x870b), - CodeunitRange(0x870d, 0x8714), - CodeunitRange(0x8718, 0x871a), - CodeunitRange(0x871c, 0x871c), - CodeunitRange(0x871e, 0x871f), - CodeunitRange(0x8721, 0x8723), - CodeunitRange(0x8725, 0x8725), - CodeunitRange(0x8728, 0x8729), - CodeunitRange(0x872e, 0x872f), - CodeunitRange(0x8731, 0x8732), - CodeunitRange(0x8734, 0x8734), - CodeunitRange(0x8737, 0x8737), - CodeunitRange(0x8739, 0x8740), - CodeunitRange(0x8743, 0x8743), - CodeunitRange(0x8745, 0x8745), - CodeunitRange(0x8749, 0x8749), - CodeunitRange(0x874b, 0x874e), - CodeunitRange(0x8751, 0x8751), - CodeunitRange(0x8753, 0x8753), - CodeunitRange(0x8755, 0x8755), - CodeunitRange(0x8757, 0x8759), - CodeunitRange(0x875d, 0x875d), - CodeunitRange(0x875f, 0x8761), - CodeunitRange(0x8763, 0x8766), - CodeunitRange(0x8768, 0x8768), - CodeunitRange(0x876a, 0x876a), - CodeunitRange(0x876e, 0x876f), - CodeunitRange(0x8771, 0x8772), - CodeunitRange(0x8774, 0x8774), - CodeunitRange(0x8776, 0x8776), - CodeunitRange(0x8778, 0x8778), - CodeunitRange(0x877b, 0x877c), - CodeunitRange(0x877f, 0x877f), - CodeunitRange(0x8782, 0x8789), - CodeunitRange(0x878b, 0x878e), - CodeunitRange(0x8790, 0x8790), - CodeunitRange(0x8793, 0x8793), - CodeunitRange(0x8795, 0x8795), - CodeunitRange(0x8797, 0x8799), - CodeunitRange(0x879e, 0x87a0), - CodeunitRange(0x87a2, 0x87a3), - CodeunitRange(0x87a7, 0x87a7), - CodeunitRange(0x87ab, 0x87af), - CodeunitRange(0x87b1, 0x87b1), - CodeunitRange(0x87b3, 0x87b3), - CodeunitRange(0x87b5, 0x87b5), - CodeunitRange(0x87ba, 0x87bb), - CodeunitRange(0x87bd, 0x87c1), - CodeunitRange(0x87c4, 0x87c4), - CodeunitRange(0x87c6, 0x87cb), - CodeunitRange(0x87ce, 0x87ce), - CodeunitRange(0x87d0, 0x87d0), - CodeunitRange(0x87d2, 0x87d2), - CodeunitRange(0x87d5, 0x87d6), - CodeunitRange(0x87d9, 0x87da), - CodeunitRange(0x87dc, 0x87dc), - CodeunitRange(0x87df, 0x87e0), - CodeunitRange(0x87e2, 0x87e6), - CodeunitRange(0x87ea, 0x87ed), - CodeunitRange(0x87ef, 0x87ef), - CodeunitRange(0x87f1, 0x87f3), - CodeunitRange(0x87f5, 0x87fb), - CodeunitRange(0x87fe, 0x87ff), - CodeunitRange(0x8801, 0x8801), - CodeunitRange(0x8803, 0x8803), - CodeunitRange(0x8805, 0x8807), - CodeunitRange(0x8809, 0x880b), - CodeunitRange(0x880d, 0x8816), - CodeunitRange(0x8818, 0x881c), - CodeunitRange(0x881e, 0x881f), - CodeunitRange(0x8821, 0x8823), - CodeunitRange(0x8827, 0x8828), - CodeunitRange(0x882d, 0x882e), - CodeunitRange(0x8830, 0x8832), - CodeunitRange(0x8835, 0x8836), - CodeunitRange(0x8839, 0x883c), - CodeunitRange(0x8840, 0x8846), - CodeunitRange(0x8848, 0x884e), - CodeunitRange(0x8851, 0x8853), - CodeunitRange(0x8855, 0x8864), - CodeunitRange(0x8868, 0x8869), - CodeunitRange(0x886b, 0x886b), - CodeunitRange(0x886e, 0x8872), - CodeunitRange(0x8875, 0x8875), - CodeunitRange(0x8877, 0x8877), - CodeunitRange(0x8879, 0x8879), - CodeunitRange(0x887b, 0x887b), - CodeunitRange(0x887d, 0x8882), - CodeunitRange(0x8888, 0x8888), - CodeunitRange(0x888b, 0x888b), - CodeunitRange(0x888d, 0x888d), - CodeunitRange(0x8892, 0x8892), - CodeunitRange(0x8896, 0x889c), - CodeunitRange(0x889e, 0x88a0), - CodeunitRange(0x88a2, 0x88a2), - CodeunitRange(0x88a4, 0x88a4), - CodeunitRange(0x88a8, 0x88a8), - CodeunitRange(0x88aa, 0x88ab), - CodeunitRange(0x88ae, 0x88ae), - CodeunitRange(0x88b0, 0x88b1), - CodeunitRange(0x88b4, 0x88b5), - CodeunitRange(0x88b7, 0x88b7), - CodeunitRange(0x88ba, 0x88ba), - CodeunitRange(0x88bc, 0x88c6), - CodeunitRange(0x88ca, 0x88cf), - CodeunitRange(0x88d1, 0x88d5), - CodeunitRange(0x88d8, 0x88d9), - CodeunitRange(0x88db, 0x88e1), - CodeunitRange(0x88e7, 0x88e8), - CodeunitRange(0x88ef, 0x88f5), - CodeunitRange(0x88f7, 0x88f9), - CodeunitRange(0x88fc, 0x88fe), - CodeunitRange(0x8901, 0x8902), - CodeunitRange(0x8904, 0x8904), - CodeunitRange(0x8906, 0x8907), - CodeunitRange(0x890a, 0x890a), - CodeunitRange(0x890c, 0x8910), - CodeunitRange(0x8912, 0x8913), - CodeunitRange(0x8915, 0x8916), - CodeunitRange(0x8918, 0x891a), - CodeunitRange(0x891c, 0x891e), - CodeunitRange(0x8920, 0x8920), - CodeunitRange(0x8925, 0x8928), - CodeunitRange(0x892a, 0x892b), - CodeunitRange(0x8930, 0x8932), - CodeunitRange(0x8935, 0x893b), - CodeunitRange(0x893e, 0x893e), - CodeunitRange(0x8940, 0x8946), - CodeunitRange(0x8949, 0x8949), - CodeunitRange(0x894c, 0x894d), - CodeunitRange(0x894f, 0x894f), - CodeunitRange(0x8952, 0x8952), - CodeunitRange(0x8956, 0x8957), - CodeunitRange(0x895a, 0x895c), - CodeunitRange(0x895e, 0x8964), - CodeunitRange(0x8966, 0x8966), - CodeunitRange(0x896a, 0x896b), - CodeunitRange(0x896d, 0x8970), - CodeunitRange(0x8972, 0x8975), - CodeunitRange(0x8977, 0x8977), - CodeunitRange(0x897a, 0x8981), - CodeunitRange(0x8983, 0x8983), - CodeunitRange(0x8986, 0x898b), - CodeunitRange(0x898d, 0x898d), - CodeunitRange(0x898f, 0x8990), - CodeunitRange(0x8993, 0x8998), - CodeunitRange(0x899a, 0x899c), - CodeunitRange(0x899f, 0x89a1), - CodeunitRange(0x89a5, 0x89a7), - CodeunitRange(0x89a9, 0x89aa), - CodeunitRange(0x89ac, 0x89ac), - CodeunitRange(0x89af, 0x89b0), - CodeunitRange(0x89b2, 0x89b7), - CodeunitRange(0x89ba, 0x89ba), - CodeunitRange(0x89bc, 0x89bd), - CodeunitRange(0x89bf, 0x89c1), - CodeunitRange(0x89d2, 0x89d2), - CodeunitRange(0x89d4, 0x89d8), - CodeunitRange(0x89da, 0x89da), - CodeunitRange(0x89dc, 0x89dd), - CodeunitRange(0x89e3, 0x89e3), - CodeunitRange(0x89e5, 0x89e7), - CodeunitRange(0x89e9, 0x89e9), - CodeunitRange(0x89eb, 0x89eb), - CodeunitRange(0x89ed, 0x89ed), - CodeunitRange(0x89f1, 0x89f1), - CodeunitRange(0x89f3, 0x89f4), - CodeunitRange(0x89f6, 0x89f6), - CodeunitRange(0x89f8, 0x89f9), - CodeunitRange(0x89fd, 0x89fd), - CodeunitRange(0x89ff, 0x8a05), - CodeunitRange(0x8a07, 0x8a08), - CodeunitRange(0x8a0a, 0x8a0a), - CodeunitRange(0x8a0c, 0x8a0c), - CodeunitRange(0x8a0e, 0x8a18), - CodeunitRange(0x8a1b, 0x8a1b), - CodeunitRange(0x8a1d, 0x8a26), - CodeunitRange(0x8a2a, 0x8a2d), - CodeunitRange(0x8a2f, 0x8a2f), - CodeunitRange(0x8a31, 0x8a31), - CodeunitRange(0x8a33, 0x8a37), - CodeunitRange(0x8a3a, 0x8a3e), - CodeunitRange(0x8a40, 0x8a41), - CodeunitRange(0x8a43, 0x8a43), - CodeunitRange(0x8a45, 0x8a49), - CodeunitRange(0x8a4d, 0x8a4e), - CodeunitRange(0x8a50, 0x8a58), - CodeunitRange(0x8a5b, 0x8a5e), - CodeunitRange(0x8a60, 0x8a63), - CodeunitRange(0x8a65, 0x8a67), - CodeunitRange(0x8a69, 0x8a69), - CodeunitRange(0x8a6b, 0x8a6e), - CodeunitRange(0x8a70, 0x8a73), - CodeunitRange(0x8a75, 0x8a77), - CodeunitRange(0x8a79, 0x8a7c), - CodeunitRange(0x8a7e, 0x8a80), - CodeunitRange(0x8a82, 0x8a87), - CodeunitRange(0x8a89, 0x8a89), - CodeunitRange(0x8a8b, 0x8a8d), - CodeunitRange(0x8a8f, 0x8a93), - CodeunitRange(0x8a95, 0x8a9a), - CodeunitRange(0x8a9e, 0x8aa1), - CodeunitRange(0x8aa3, 0x8aaa), - CodeunitRange(0x8aac, 0x8ab0), - CodeunitRange(0x8ab2, 0x8ab3), - CodeunitRange(0x8ab6, 0x8ab7), - CodeunitRange(0x8ab9, 0x8ab9), - CodeunitRange(0x8abb, 0x8abc), - CodeunitRange(0x8abe, 0x8abf), - CodeunitRange(0x8ac2, 0x8ac4), - CodeunitRange(0x8ac6, 0x8acd), - CodeunitRange(0x8acf, 0x8ad7), - CodeunitRange(0x8ada, 0x8ae2), - CodeunitRange(0x8ae4, 0x8ae4), - CodeunitRange(0x8ae6, 0x8ae7), - CodeunitRange(0x8aeb, 0x8aee), - CodeunitRange(0x8af0, 0x8af1), - CodeunitRange(0x8af3, 0x8af8), - CodeunitRange(0x8afa, 0x8afa), - CodeunitRange(0x8afc, 0x8afc), - CodeunitRange(0x8afe, 0x8b02), - CodeunitRange(0x8b04, 0x8b07), - CodeunitRange(0x8b0a, 0x8b11), - CodeunitRange(0x8b14, 0x8b14), - CodeunitRange(0x8b16, 0x8b17), - CodeunitRange(0x8b19, 0x8b21), - CodeunitRange(0x8b26, 0x8b26), - CodeunitRange(0x8b28, 0x8b28), - CodeunitRange(0x8b2b, 0x8b2d), - CodeunitRange(0x8b30, 0x8b30), - CodeunitRange(0x8b33, 0x8b33), - CodeunitRange(0x8b37, 0x8b37), - CodeunitRange(0x8b39, 0x8b39), - CodeunitRange(0x8b3c, 0x8b3c), - CodeunitRange(0x8b3e, 0x8b3e), - CodeunitRange(0x8b41, 0x8b46), - CodeunitRange(0x8b48, 0x8b49), - CodeunitRange(0x8b4c, 0x8b4f), - CodeunitRange(0x8b51, 0x8b54), - CodeunitRange(0x8b56, 0x8b56), - CodeunitRange(0x8b58, 0x8b5c), - CodeunitRange(0x8b5e, 0x8b5f), - CodeunitRange(0x8b63, 0x8b63), - CodeunitRange(0x8b66, 0x8b66), - CodeunitRange(0x8b69, 0x8b69), - CodeunitRange(0x8b6b, 0x8b6d), - CodeunitRange(0x8b6f, 0x8b72), - CodeunitRange(0x8b74, 0x8b74), - CodeunitRange(0x8b76, 0x8b79), - CodeunitRange(0x8b7c, 0x8b81), - CodeunitRange(0x8b83, 0x8b85), - CodeunitRange(0x8b8a, 0x8b90), - CodeunitRange(0x8b92, 0x8b96), - CodeunitRange(0x8b99, 0x8b9a), - CodeunitRange(0x8b9c, 0x8ba0), - CodeunitRange(0x8c37, 0x8c3a), - CodeunitRange(0x8c3d, 0x8c3f), - CodeunitRange(0x8c41, 0x8c41), - CodeunitRange(0x8c45, 0x8c4c), - CodeunitRange(0x8c4e, 0x8c51), - CodeunitRange(0x8c53, 0x8c55), - CodeunitRange(0x8c57, 0x8c5b), - CodeunitRange(0x8c5d, 0x8c5d), - CodeunitRange(0x8c61, 0x8c64), - CodeunitRange(0x8c66, 0x8c66), - CodeunitRange(0x8c68, 0x8c6d), - CodeunitRange(0x8c73, 0x8c73), - CodeunitRange(0x8c75, 0x8c76), - CodeunitRange(0x8c78, 0x8c7c), - CodeunitRange(0x8c7e, 0x8c7e), - CodeunitRange(0x8c82, 0x8c82), - CodeunitRange(0x8c85, 0x8c87), - CodeunitRange(0x8c89, 0x8c8e), - CodeunitRange(0x8c90, 0x8c90), - CodeunitRange(0x8c92, 0x8c94), - CodeunitRange(0x8c98, 0x8c99), - CodeunitRange(0x8c9b, 0x8ca2), - CodeunitRange(0x8ca4, 0x8ca4), - CodeunitRange(0x8ca7, 0x8cb0), - CodeunitRange(0x8cb2, 0x8cb4), - CodeunitRange(0x8cb6, 0x8cbd), - CodeunitRange(0x8cbf, 0x8ccb), - CodeunitRange(0x8ccd, 0x8ccf), - CodeunitRange(0x8cd1, 0x8cd3), - CodeunitRange(0x8cd5, 0x8cd6), - CodeunitRange(0x8cd9, 0x8cde), - CodeunitRange(0x8ce0, 0x8ce4), - CodeunitRange(0x8ce6, 0x8ce6), - CodeunitRange(0x8ce8, 0x8ce8), - CodeunitRange(0x8cea, 0x8cea), - CodeunitRange(0x8cec, 0x8ced), - CodeunitRange(0x8cef, 0x8cf2), - CodeunitRange(0x8cf4, 0x8cf5), - CodeunitRange(0x8cf7, 0x8cf8), - CodeunitRange(0x8cfa, 0x8cff), - CodeunitRange(0x8d01, 0x8d01), - CodeunitRange(0x8d03, 0x8d05), - CodeunitRange(0x8d07, 0x8d0b), - CodeunitRange(0x8d0d, 0x8d10), - CodeunitRange(0x8d12, 0x8d14), - CodeunitRange(0x8d16, 0x8d17), - CodeunitRange(0x8d1b, 0x8d1d), - CodeunitRange(0x8d64, 0x8d67), - CodeunitRange(0x8d69, 0x8d69), - CodeunitRange(0x8d6b, 0x8d6e), - CodeunitRange(0x8d70, 0x8d71), - CodeunitRange(0x8d73, 0x8d74), - CodeunitRange(0x8d76, 0x8d77), - CodeunitRange(0x8d7f, 0x8d7f), - CodeunitRange(0x8d81, 0x8d82), - CodeunitRange(0x8d84, 0x8d85), - CodeunitRange(0x8d88, 0x8d88), - CodeunitRange(0x8d8a, 0x8d8a), - CodeunitRange(0x8d8d, 0x8d8d), - CodeunitRange(0x8d90, 0x8d91), - CodeunitRange(0x8d95, 0x8d95), - CodeunitRange(0x8d99, 0x8d99), - CodeunitRange(0x8d9e, 0x8da0), - CodeunitRange(0x8da3, 0x8da3), - CodeunitRange(0x8da6, 0x8da6), - CodeunitRange(0x8da8, 0x8da8), - CodeunitRange(0x8dab, 0x8dac), - CodeunitRange(0x8daf, 0x8daf), - CodeunitRange(0x8db2, 0x8db3), - CodeunitRange(0x8db5, 0x8db5), - CodeunitRange(0x8db7, 0x8db7), - CodeunitRange(0x8db9, 0x8dbc), - CodeunitRange(0x8dbe, 0x8dbe), - CodeunitRange(0x8dc0, 0x8dc0), - CodeunitRange(0x8dc2, 0x8dc2), - CodeunitRange(0x8dc5, 0x8dc8), - CodeunitRange(0x8dca, 0x8dcc), - CodeunitRange(0x8dce, 0x8dcf), - CodeunitRange(0x8dd1, 0x8dd1), - CodeunitRange(0x8dd4, 0x8dd7), - CodeunitRange(0x8dd9, 0x8ddb), - CodeunitRange(0x8ddd, 0x8ddd), - CodeunitRange(0x8ddf, 0x8ddf), - CodeunitRange(0x8de1, 0x8de1), - CodeunitRange(0x8de3, 0x8de5), - CodeunitRange(0x8de7, 0x8de8), - CodeunitRange(0x8dea, 0x8dec), - CodeunitRange(0x8def, 0x8df5), - CodeunitRange(0x8dfc, 0x8dfd), - CodeunitRange(0x8dff, 0x8dff), - CodeunitRange(0x8e01, 0x8e01), - CodeunitRange(0x8e04, 0x8e06), - CodeunitRange(0x8e08, 0x8e0c), - CodeunitRange(0x8e0f, 0x8e11), - CodeunitRange(0x8e14, 0x8e14), - CodeunitRange(0x8e16, 0x8e16), - CodeunitRange(0x8e1d, 0x8e23), - CodeunitRange(0x8e26, 0x8e27), - CodeunitRange(0x8e2a, 0x8e2a), - CodeunitRange(0x8e30, 0x8e31), - CodeunitRange(0x8e33, 0x8e39), - CodeunitRange(0x8e3d, 0x8e3d), - CodeunitRange(0x8e40, 0x8e42), - CodeunitRange(0x8e44, 0x8e44), - CodeunitRange(0x8e47, 0x8e50), - CodeunitRange(0x8e54, 0x8e55), - CodeunitRange(0x8e59, 0x8e59), - CodeunitRange(0x8e5b, 0x8e64), - CodeunitRange(0x8e69, 0x8e69), - CodeunitRange(0x8e6c, 0x8e6d), - CodeunitRange(0x8e6f, 0x8e72), - CodeunitRange(0x8e74, 0x8e77), - CodeunitRange(0x8e79, 0x8e7c), - CodeunitRange(0x8e81, 0x8e85), - CodeunitRange(0x8e87, 0x8e87), - CodeunitRange(0x8e89, 0x8e8b), - CodeunitRange(0x8e8d, 0x8e8d), - CodeunitRange(0x8e90, 0x8e95), - CodeunitRange(0x8e98, 0x8e9b), - CodeunitRange(0x8e9d, 0x8e9e), - CodeunitRange(0x8ea1, 0x8ea2), - CodeunitRange(0x8ea7, 0x8ea7), - CodeunitRange(0x8ea9, 0x8eb1), - CodeunitRange(0x8eb3, 0x8eb3), - CodeunitRange(0x8eb5, 0x8eb6), - CodeunitRange(0x8eba, 0x8ebb), - CodeunitRange(0x8ebe, 0x8ebe), - CodeunitRange(0x8ec0, 0x8ec1), - CodeunitRange(0x8ec3, 0x8ec8), - CodeunitRange(0x8eca, 0x8ecd), - CodeunitRange(0x8ecf, 0x8ecf), - CodeunitRange(0x8ed1, 0x8ed2), - CodeunitRange(0x8ed4, 0x8ed4), - CodeunitRange(0x8edb, 0x8edc), - CodeunitRange(0x8edf, 0x8edf), - CodeunitRange(0x8ee2, 0x8ee3), - CodeunitRange(0x8ee8, 0x8ee8), - CodeunitRange(0x8eeb, 0x8eeb), - CodeunitRange(0x8eed, 0x8eee), - CodeunitRange(0x8ef0, 0x8ef1), - CodeunitRange(0x8ef7, 0x8efe), - CodeunitRange(0x8f00, 0x8f00), - CodeunitRange(0x8f02, 0x8f03), - CodeunitRange(0x8f05, 0x8f05), - CodeunitRange(0x8f07, 0x8f0a), - CodeunitRange(0x8f0c, 0x8f0c), - CodeunitRange(0x8f0f, 0x8f10), - CodeunitRange(0x8f12, 0x8f19), - CodeunitRange(0x8f1b, 0x8f21), - CodeunitRange(0x8f23, 0x8f23), - CodeunitRange(0x8f25, 0x8f2f), - CodeunitRange(0x8f33, 0x8f3b), - CodeunitRange(0x8f3e, 0x8f47), - CodeunitRange(0x8f49, 0x8f4a), - CodeunitRange(0x8f4c, 0x8f4f), - CodeunitRange(0x8f51, 0x8f55), - CodeunitRange(0x8f57, 0x8f58), - CodeunitRange(0x8f5c, 0x8f5f), - CodeunitRange(0x8f61, 0x8f66), - CodeunitRange(0x8f9b, 0x8fa8), - CodeunitRange(0x8fad, 0x8fb2), - CodeunitRange(0x8fb4, 0x8fb8), - CodeunitRange(0x8fba, 0x8fbc), - CodeunitRange(0x8fbe, 0x8fc2), - CodeunitRange(0x8fc4, 0x8fc6), - CodeunitRange(0x8fc8, 0x8fc8), - CodeunitRange(0x8fca, 0x8fcb), - CodeunitRange(0x8fcd, 0x8fce), - CodeunitRange(0x8fd0, 0x8fd5), - CodeunitRange(0x8fda, 0x8fda), - CodeunitRange(0x8fe0, 0x8fe0), - CodeunitRange(0x8fe2, 0x8fe6), - CodeunitRange(0x8fe8, 0x8feb), - CodeunitRange(0x8fed, 0x8ff1), - CodeunitRange(0x8ff4, 0x8ffb), - CodeunitRange(0x8ffd, 0x8ffe), - CodeunitRange(0x9000, 0x9006), - CodeunitRange(0x9008, 0x9008), - CodeunitRange(0x900b, 0x9011), - CodeunitRange(0x9013, 0x901b), - CodeunitRange(0x901d, 0x9023), - CodeunitRange(0x9027, 0x902a), - CodeunitRange(0x902c, 0x902f), - CodeunitRange(0x9031, 0x9039), - CodeunitRange(0x903c, 0x903c), - CodeunitRange(0x903e, 0x903f), - CodeunitRange(0x9041, 0x9045), - CodeunitRange(0x9047, 0x9047), - CodeunitRange(0x9049, 0x9056), - CodeunitRange(0x9058, 0x9059), - CodeunitRange(0x905b, 0x905e), - CodeunitRange(0x9060, 0x9063), - CodeunitRange(0x9065, 0x9069), - CodeunitRange(0x906c, 0x9070), - CodeunitRange(0x9072, 0x9072), - CodeunitRange(0x9074, 0x907a), - CodeunitRange(0x907c, 0x907d), - CodeunitRange(0x907f, 0x9085), - CodeunitRange(0x9087, 0x908c), - CodeunitRange(0x908e, 0x9091), - CodeunitRange(0x9095, 0x9095), - CodeunitRange(0x9097, 0x9099), - CodeunitRange(0x909b, 0x909b), - CodeunitRange(0x90a0, 0x90a3), - CodeunitRange(0x90a5, 0x90a6), - CodeunitRange(0x90a8, 0x90a8), - CodeunitRange(0x90aa, 0x90aa), - CodeunitRange(0x90af, 0x90b6), - CodeunitRange(0x90b8, 0x90b8), - CodeunitRange(0x90bd, 0x90be), - CodeunitRange(0x90c1, 0x90c1), - CodeunitRange(0x90c3, 0x90c5), - CodeunitRange(0x90c7, 0x90ca), - CodeunitRange(0x90cc, 0x90cc), - CodeunitRange(0x90ce, 0x90ce), - CodeunitRange(0x90d2, 0x90d2), - CodeunitRange(0x90d5, 0x90d5), - CodeunitRange(0x90d7, 0x90d9), - CodeunitRange(0x90db, 0x90df), - CodeunitRange(0x90e1, 0x90e2), - CodeunitRange(0x90e4, 0x90e5), - CodeunitRange(0x90e8, 0x90e8), - CodeunitRange(0x90eb, 0x90eb), - CodeunitRange(0x90ed, 0x90ed), - CodeunitRange(0x90ef, 0x90f0), - CodeunitRange(0x90f2, 0x90f2), - CodeunitRange(0x90f4, 0x90f7), - CodeunitRange(0x90fd, 0x9100), - CodeunitRange(0x9102, 0x9102), - CodeunitRange(0x9104, 0x9106), - CodeunitRange(0x9108, 0x9108), - CodeunitRange(0x910d, 0x910d), - CodeunitRange(0x9110, 0x9110), - CodeunitRange(0x9112, 0x9112), - CodeunitRange(0x9114, 0x911a), - CodeunitRange(0x911c, 0x911c), - CodeunitRange(0x911e, 0x911e), - CodeunitRange(0x9120, 0x9120), - CodeunitRange(0x9122, 0x9123), - CodeunitRange(0x9125, 0x9125), - CodeunitRange(0x9127, 0x9127), - CodeunitRange(0x9129, 0x9129), - CodeunitRange(0x912d, 0x9132), - CodeunitRange(0x9134, 0x9134), - CodeunitRange(0x9136, 0x9137), - CodeunitRange(0x9139, 0x913a), - CodeunitRange(0x913c, 0x913d), - CodeunitRange(0x9143, 0x9143), - CodeunitRange(0x9146, 0x914f), - CodeunitRange(0x9152, 0x9154), - CodeunitRange(0x9156, 0x915b), - CodeunitRange(0x9161, 0x9165), - CodeunitRange(0x9167, 0x9167), - CodeunitRange(0x9169, 0x916a), - CodeunitRange(0x916c, 0x916d), - CodeunitRange(0x9172, 0x9175), - CodeunitRange(0x9177, 0x917b), - CodeunitRange(0x9181, 0x9183), - CodeunitRange(0x9185, 0x9187), - CodeunitRange(0x9189, 0x918b), - CodeunitRange(0x918d, 0x918e), - CodeunitRange(0x9190, 0x9195), - CodeunitRange(0x9197, 0x9198), - CodeunitRange(0x919c, 0x919c), - CodeunitRange(0x919e, 0x919e), - CodeunitRange(0x91a1, 0x91a2), - CodeunitRange(0x91a4, 0x91a4), - CodeunitRange(0x91a6, 0x91a6), - CodeunitRange(0x91a8, 0x91a8), - CodeunitRange(0x91aa, 0x91b6), - CodeunitRange(0x91b8, 0x91b8), - CodeunitRange(0x91ba, 0x91bd), - CodeunitRange(0x91bf, 0x91c9), - CodeunitRange(0x91cb, 0x91d1), - CodeunitRange(0x91d3, 0x91d4), - CodeunitRange(0x91d6, 0x91df), - CodeunitRange(0x91e1, 0x91e1), - CodeunitRange(0x91e3, 0x91e7), - CodeunitRange(0x91e9, 0x91ea), - CodeunitRange(0x91ec, 0x91f1), - CodeunitRange(0x91f5, 0x91f7), - CodeunitRange(0x91f9, 0x91f9), - CodeunitRange(0x91fb, 0x91fd), - CodeunitRange(0x91ff, 0x9201), - CodeunitRange(0x9204, 0x9207), - CodeunitRange(0x9209, 0x920a), - CodeunitRange(0x920c, 0x920e), - CodeunitRange(0x9210, 0x9218), - CodeunitRange(0x921c, 0x921e), - CodeunitRange(0x9223, 0x9226), - CodeunitRange(0x9228, 0x9229), - CodeunitRange(0x922c, 0x922c), - CodeunitRange(0x922e, 0x9230), - CodeunitRange(0x9233, 0x923a), - CodeunitRange(0x923c, 0x923c), - CodeunitRange(0x923e, 0x9240), - CodeunitRange(0x9242, 0x924b), - CodeunitRange(0x924d, 0x9251), - CodeunitRange(0x9256, 0x925e), - CodeunitRange(0x9260, 0x9262), - CodeunitRange(0x9264, 0x9269), - CodeunitRange(0x926e, 0x9271), - CodeunitRange(0x9275, 0x9279), - CodeunitRange(0x927b, 0x9280), - CodeunitRange(0x9283, 0x9283), - CodeunitRange(0x9285, 0x9285), - CodeunitRange(0x9288, 0x928a), - CodeunitRange(0x928d, 0x928e), - CodeunitRange(0x9291, 0x9293), - CodeunitRange(0x9295, 0x929c), - CodeunitRange(0x929f, 0x92a0), - CodeunitRange(0x92a4, 0x92a5), - CodeunitRange(0x92a7, 0x92a8), - CodeunitRange(0x92ab, 0x92ab), - CodeunitRange(0x92ad, 0x92ad), - CodeunitRange(0x92af, 0x92af), - CodeunitRange(0x92b2, 0x92b3), - CodeunitRange(0x92b6, 0x92bd), - CodeunitRange(0x92bf, 0x92c3), - CodeunitRange(0x92c5, 0x92c8), - CodeunitRange(0x92cb, 0x92d0), - CodeunitRange(0x92d2, 0x92d3), - CodeunitRange(0x92d5, 0x92d5), - CodeunitRange(0x92d7, 0x92d9), - CodeunitRange(0x92dc, 0x92dd), - CodeunitRange(0x92df, 0x92e1), - CodeunitRange(0x92e3, 0x92e5), - CodeunitRange(0x92e7, 0x92ea), - CodeunitRange(0x92ec, 0x92ee), - CodeunitRange(0x92f0, 0x92f0), - CodeunitRange(0x92f2, 0x92f3), - CodeunitRange(0x92f7, 0x92fc), - CodeunitRange(0x92ff, 0x9300), - CodeunitRange(0x9302, 0x9302), - CodeunitRange(0x9304, 0x9304), - CodeunitRange(0x9306, 0x9306), - CodeunitRange(0x9308, 0x9308), - CodeunitRange(0x930d, 0x930d), - CodeunitRange(0x930f, 0x9311), - CodeunitRange(0x9314, 0x9315), - CodeunitRange(0x9318, 0x931a), - CodeunitRange(0x931c, 0x932c), - CodeunitRange(0x932e, 0x932f), - CodeunitRange(0x9332, 0x9337), - CodeunitRange(0x933a, 0x933b), - CodeunitRange(0x9344, 0x9344), - CodeunitRange(0x9347, 0x934b), - CodeunitRange(0x934d, 0x934d), - CodeunitRange(0x9350, 0x9352), - CodeunitRange(0x9354, 0x9358), - CodeunitRange(0x935a, 0x935c), - CodeunitRange(0x935e, 0x935e), - CodeunitRange(0x9360, 0x9360), - CodeunitRange(0x9364, 0x9365), - CodeunitRange(0x9367, 0x9367), - CodeunitRange(0x9369, 0x9371), - CodeunitRange(0x9373, 0x9376), - CodeunitRange(0x937a, 0x937a), - CodeunitRange(0x937c, 0x9382), - CodeunitRange(0x9388, 0x9388), - CodeunitRange(0x938a, 0x938d), - CodeunitRange(0x938f, 0x938f), - CodeunitRange(0x9392, 0x9392), - CodeunitRange(0x9394, 0x9398), - CodeunitRange(0x939a, 0x939b), - CodeunitRange(0x939e, 0x939e), - CodeunitRange(0x93a1, 0x93a1), - CodeunitRange(0x93a3, 0x93a4), - CodeunitRange(0x93a6, 0x93a9), - CodeunitRange(0x93ab, 0x93ae), - CodeunitRange(0x93b0, 0x93b0), - CodeunitRange(0x93b4, 0x93b6), - CodeunitRange(0x93b9, 0x93bb), - CodeunitRange(0x93c1, 0x93c1), - CodeunitRange(0x93c3, 0x93cd), - CodeunitRange(0x93d0, 0x93d1), - CodeunitRange(0x93d3, 0x93d3), - CodeunitRange(0x93d6, 0x93d9), - CodeunitRange(0x93dc, 0x93df), - CodeunitRange(0x93e1, 0x93e2), - CodeunitRange(0x93e4, 0x93e8), - CodeunitRange(0x93f1, 0x93f1), - CodeunitRange(0x93f5, 0x93f5), - CodeunitRange(0x93f7, 0x93fb), - CodeunitRange(0x93fd, 0x93fd), - CodeunitRange(0x9401, 0x9404), - CodeunitRange(0x9407, 0x9409), - CodeunitRange(0x940d, 0x9410), - CodeunitRange(0x9413, 0x941a), - CodeunitRange(0x941f, 0x941f), - CodeunitRange(0x9421, 0x9421), - CodeunitRange(0x942b, 0x942b), - CodeunitRange(0x942e, 0x942f), - CodeunitRange(0x9431, 0x9436), - CodeunitRange(0x9438, 0x9438), - CodeunitRange(0x943a, 0x943b), - CodeunitRange(0x943d, 0x943d), - CodeunitRange(0x943f, 0x943f), - CodeunitRange(0x9441, 0x9441), - CodeunitRange(0x9443, 0x9445), - CodeunitRange(0x9448, 0x9448), - CodeunitRange(0x944a, 0x944a), - CodeunitRange(0x944c, 0x944c), - CodeunitRange(0x9451, 0x9453), - CodeunitRange(0x9455, 0x9455), - CodeunitRange(0x9459, 0x945c), - CodeunitRange(0x945e, 0x9463), - CodeunitRange(0x9468, 0x9468), - CodeunitRange(0x946a, 0x946b), - CodeunitRange(0x946d, 0x9472), - CodeunitRange(0x9475, 0x9475), - CodeunitRange(0x9477, 0x9477), - CodeunitRange(0x947c, 0x947f), - CodeunitRange(0x9481, 0x9481), - CodeunitRange(0x9483, 0x9485), - CodeunitRange(0x9577, 0x9579), - CodeunitRange(0x957e, 0x9580), - CodeunitRange(0x9582, 0x9584), - CodeunitRange(0x9586, 0x958f), - CodeunitRange(0x9591, 0x9594), - CodeunitRange(0x9596, 0x9596), - CodeunitRange(0x9598, 0x9599), - CodeunitRange(0x959d, 0x95a9), - CodeunitRange(0x95ab, 0x95ad), - CodeunitRange(0x95b1, 0x95b2), - CodeunitRange(0x95b4, 0x95b4), - CodeunitRange(0x95b6, 0x95b6), - CodeunitRange(0x95b9, 0x95bf), - CodeunitRange(0x95c3, 0x95c3), - CodeunitRange(0x95c6, 0x95cd), - CodeunitRange(0x95d0, 0x95d6), - CodeunitRange(0x95d8, 0x95da), - CodeunitRange(0x95dc, 0x95e2), - CodeunitRange(0x95e4, 0x95e6), - CodeunitRange(0x95e8, 0x95e8), - CodeunitRange(0x961c, 0x961e), - CodeunitRange(0x9621, 0x9622), - CodeunitRange(0x9624, 0x9626), - CodeunitRange(0x9628, 0x9628), - CodeunitRange(0x962a, 0x962a), - CodeunitRange(0x962c, 0x962c), - CodeunitRange(0x962e, 0x962f), - CodeunitRange(0x9631, 0x9634), - CodeunitRange(0x9637, 0x963d), - CodeunitRange(0x963f, 0x9642), - CodeunitRange(0x9644, 0x9644), - CodeunitRange(0x964b, 0x964d), - CodeunitRange(0x964f, 0x9650), - CodeunitRange(0x9652, 0x9652), - CodeunitRange(0x9654, 0x9654), - CodeunitRange(0x9656, 0x9658), - CodeunitRange(0x965b, 0x965f), - CodeunitRange(0x9661, 0x9666), - CodeunitRange(0x966a, 0x966a), - CodeunitRange(0x966c, 0x966c), - CodeunitRange(0x966e, 0x966e), - CodeunitRange(0x9670, 0x9670), - CodeunitRange(0x9672, 0x9678), - CodeunitRange(0x967a, 0x967f), - CodeunitRange(0x9681, 0x9686), - CodeunitRange(0x9688, 0x968b), - CodeunitRange(0x968d, 0x968f), - CodeunitRange(0x9691, 0x9691), - CodeunitRange(0x9694, 0x969d), - CodeunitRange(0x969f, 0x96a0), - CodeunitRange(0x96a3, 0x96aa), - CodeunitRange(0x96ae, 0x96b4), - CodeunitRange(0x96b6, 0x96bd), - CodeunitRange(0x96c0, 0x96c1), - CodeunitRange(0x96c4, 0x96c7), - CodeunitRange(0x96c9, 0x96ce), - CodeunitRange(0x96d1, 0x96d2), - CodeunitRange(0x96d5, 0x96d6), - CodeunitRange(0x96d8, 0x96df), - CodeunitRange(0x96e2, 0x96e3), - CodeunitRange(0x96e8, 0x96eb), - CodeunitRange(0x96ef, 0x96f2), - CodeunitRange(0x96f6, 0x96f7), - CodeunitRange(0x96f9, 0x96fb), - CodeunitRange(0x9700, 0x9700), - CodeunitRange(0x9702, 0x970a), - CodeunitRange(0x970d, 0x970f), - CodeunitRange(0x9711, 0x9711), - CodeunitRange(0x9713, 0x9714), - CodeunitRange(0x9716, 0x9716), - CodeunitRange(0x9719, 0x971e), - CodeunitRange(0x9721, 0x9724), - CodeunitRange(0x9727, 0x9728), - CodeunitRange(0x972a, 0x972a), - CodeunitRange(0x9730, 0x9733), - CodeunitRange(0x9736, 0x9736), - CodeunitRange(0x9738, 0x9739), - CodeunitRange(0x973b, 0x973b), - CodeunitRange(0x973d, 0x973e), - CodeunitRange(0x9741, 0x9744), - CodeunitRange(0x9746, 0x974a), - CodeunitRange(0x974d, 0x974f), - CodeunitRange(0x9751, 0x9752), - CodeunitRange(0x9755, 0x975c), - CodeunitRange(0x975e, 0x975e), - CodeunitRange(0x9760, 0x9764), - CodeunitRange(0x9766, 0x976b), - CodeunitRange(0x976d, 0x976e), - CodeunitRange(0x9771, 0x9771), - CodeunitRange(0x9773, 0x9774), - CodeunitRange(0x9776, 0x977d), - CodeunitRange(0x977f, 0x9781), - CodeunitRange(0x9784, 0x9786), - CodeunitRange(0x9789, 0x9789), - CodeunitRange(0x978b, 0x978b), - CodeunitRange(0x978d, 0x978d), - CodeunitRange(0x978f, 0x9790), - CodeunitRange(0x9795, 0x979a), - CodeunitRange(0x979c, 0x979c), - CodeunitRange(0x979e, 0x97a0), - CodeunitRange(0x97a2, 0x97a3), - CodeunitRange(0x97a6, 0x97a6), - CodeunitRange(0x97a8, 0x97a8), - CodeunitRange(0x97ab, 0x97ae), - CodeunitRange(0x97b1, 0x97b6), - CodeunitRange(0x97b8, 0x97ba), - CodeunitRange(0x97bc, 0x97bc), - CodeunitRange(0x97be, 0x97bf), - CodeunitRange(0x97c1, 0x97c1), - CodeunitRange(0x97c3, 0x97ce), - CodeunitRange(0x97d0, 0x97d1), - CodeunitRange(0x97d3, 0x97d4), - CodeunitRange(0x97d7, 0x97d9), - CodeunitRange(0x97db, 0x97de), - CodeunitRange(0x97e0, 0x97e1), - CodeunitRange(0x97e4, 0x97e4), - CodeunitRange(0x97e6, 0x97e6), - CodeunitRange(0x97ed, 0x97ef), - CodeunitRange(0x97f1, 0x97f8), - CodeunitRange(0x97fa, 0x97fb), - CodeunitRange(0x97ff, 0x97ff), - CodeunitRange(0x9801, 0x9808), - CodeunitRange(0x980a, 0x980a), - CodeunitRange(0x980c, 0x9814), - CodeunitRange(0x9816, 0x981a), - CodeunitRange(0x981c, 0x981c), - CodeunitRange(0x981e, 0x981e), - CodeunitRange(0x9820, 0x9821), - CodeunitRange(0x9823, 0x9826), - CodeunitRange(0x982b, 0x9830), - CodeunitRange(0x9832, 0x9835), - CodeunitRange(0x9837, 0x9839), - CodeunitRange(0x983b, 0x983e), - CodeunitRange(0x9844, 0x9844), - CodeunitRange(0x9846, 0x9847), - CodeunitRange(0x984a, 0x984f), - CodeunitRange(0x9851, 0x985b), - CodeunitRange(0x985e, 0x985e), - CodeunitRange(0x9862, 0x9863), - CodeunitRange(0x9865, 0x9867), - CodeunitRange(0x986a, 0x986c), - CodeunitRange(0x986f, 0x9871), - CodeunitRange(0x9873, 0x9875), - CodeunitRange(0x98a8, 0x98a8), - CodeunitRange(0x98aa, 0x98ab), - CodeunitRange(0x98ad, 0x98b1), - CodeunitRange(0x98b4, 0x98b4), - CodeunitRange(0x98b6, 0x98b8), - CodeunitRange(0x98ba, 0x98bc), - CodeunitRange(0x98bf, 0x98bf), - CodeunitRange(0x98c2, 0x98c8), - CodeunitRange(0x98cb, 0x98cc), - CodeunitRange(0x98ce, 0x98ce), - CodeunitRange(0x98db, 0x98dc), - CodeunitRange(0x98de, 0x98e3), - CodeunitRange(0x98e5, 0x98e7), - CodeunitRange(0x98e9, 0x98eb), - CodeunitRange(0x98ed, 0x98f4), - CodeunitRange(0x98f6, 0x98f6), - CodeunitRange(0x98fc, 0x98fe), - CodeunitRange(0x9902, 0x9903), - CodeunitRange(0x9905, 0x9905), - CodeunitRange(0x9907, 0x990a), - CodeunitRange(0x990c, 0x990c), - CodeunitRange(0x9910, 0x9918), - CodeunitRange(0x991a, 0x9922), - CodeunitRange(0x9924, 0x9924), - CodeunitRange(0x9926, 0x9928), - CodeunitRange(0x992b, 0x992c), - CodeunitRange(0x992e, 0x992e), - CodeunitRange(0x9931, 0x9935), - CodeunitRange(0x9939, 0x993e), - CodeunitRange(0x9940, 0x9942), - CodeunitRange(0x9945, 0x9949), - CodeunitRange(0x994b, 0x994e), - CodeunitRange(0x9950, 0x9952), - CodeunitRange(0x9954, 0x9955), - CodeunitRange(0x9957, 0x9959), - CodeunitRange(0x995b, 0x995c), - CodeunitRange(0x995e, 0x9960), - CodeunitRange(0x9963, 0x9963), - CodeunitRange(0x9996, 0x9999), - CodeunitRange(0x999b, 0x999b), - CodeunitRange(0x999d, 0x999f), - CodeunitRange(0x99a3, 0x99a3), - CodeunitRange(0x99a5, 0x99a6), - CodeunitRange(0x99a8, 0x99a8), - CodeunitRange(0x99ac, 0x99ae), - CodeunitRange(0x99b0, 0x99b5), - CodeunitRange(0x99b9, 0x99ba), - CodeunitRange(0x99bc, 0x99bd), - CodeunitRange(0x99bf, 0x99bf), - CodeunitRange(0x99c1, 0x99c1), - CodeunitRange(0x99c3, 0x99c6), - CodeunitRange(0x99c8, 0x99c9), - CodeunitRange(0x99d0, 0x99d5), - CodeunitRange(0x99d8, 0x99df), - CodeunitRange(0x99e1, 0x99e2), - CodeunitRange(0x99e7, 0x99e7), - CodeunitRange(0x99ea, 0x99ee), - CodeunitRange(0x99f0, 0x99f2), - CodeunitRange(0x99f4, 0x99f5), - CodeunitRange(0x99f8, 0x99f9), - CodeunitRange(0x99fb, 0x99ff), - CodeunitRange(0x9a01, 0x9a05), - CodeunitRange(0x9a08, 0x9a08), - CodeunitRange(0x9a0a, 0x9a0c), - CodeunitRange(0x9a0e, 0x9a13), - CodeunitRange(0x9a16, 0x9a16), - CodeunitRange(0x9a19, 0x9a1a), - CodeunitRange(0x9a1e, 0x9a1e), - CodeunitRange(0x9a20, 0x9a20), - CodeunitRange(0x9a22, 0x9a24), - CodeunitRange(0x9a27, 0x9a28), - CodeunitRange(0x9a2b, 0x9a2b), - CodeunitRange(0x9a2d, 0x9a2e), - CodeunitRange(0x9a30, 0x9a31), - CodeunitRange(0x9a33, 0x9a33), - CodeunitRange(0x9a35, 0x9a38), - CodeunitRange(0x9a3e, 0x9a3e), - CodeunitRange(0x9a40, 0x9a45), - CodeunitRange(0x9a47, 0x9a47), - CodeunitRange(0x9a4a, 0x9a4e), - CodeunitRange(0x9a51, 0x9a52), - CodeunitRange(0x9a54, 0x9a58), - CodeunitRange(0x9a5a, 0x9a5b), - CodeunitRange(0x9a5d, 0x9a5d), - CodeunitRange(0x9a5f, 0x9a5f), - CodeunitRange(0x9a62, 0x9a62), - CodeunitRange(0x9a64, 0x9a65), - CodeunitRange(0x9a69, 0x9a6c), - CodeunitRange(0x9aa8, 0x9aa8), - CodeunitRange(0x9aaa, 0x9aaa), - CodeunitRange(0x9aac, 0x9ab0), - CodeunitRange(0x9ab2, 0x9ab2), - CodeunitRange(0x9ab4, 0x9ab9), - CodeunitRange(0x9abb, 0x9ac1), - CodeunitRange(0x9ac3, 0x9ac4), - CodeunitRange(0x9ac6, 0x9ac6), - CodeunitRange(0x9ac8, 0x9ac8), - CodeunitRange(0x9ace, 0x9ad9), - CodeunitRange(0x9adb, 0x9adc), - CodeunitRange(0x9ade, 0x9ae0), - CodeunitRange(0x9ae2, 0x9ae7), - CodeunitRange(0x9ae9, 0x9aef), - CodeunitRange(0x9af1, 0x9af5), - CodeunitRange(0x9af7, 0x9af7), - CodeunitRange(0x9af9, 0x9afb), - CodeunitRange(0x9afd, 0x9afd), - CodeunitRange(0x9aff, 0x9b06), - CodeunitRange(0x9b08, 0x9b09), - CodeunitRange(0x9b0b, 0x9b0e), - CodeunitRange(0x9b10, 0x9b10), - CodeunitRange(0x9b12, 0x9b12), - CodeunitRange(0x9b16, 0x9b16), - CodeunitRange(0x9b18, 0x9b1d), - CodeunitRange(0x9b1f, 0x9b20), - CodeunitRange(0x9b22, 0x9b23), - CodeunitRange(0x9b25, 0x9b2f), - CodeunitRange(0x9b31, 0x9b35), - CodeunitRange(0x9b37, 0x9b37), - CodeunitRange(0x9b39, 0x9b3d), - CodeunitRange(0x9b41, 0x9b45), - CodeunitRange(0x9b48, 0x9b48), - CodeunitRange(0x9b4b, 0x9b4f), - CodeunitRange(0x9b51, 0x9b51), - CodeunitRange(0x9b54, 0x9b58), - CodeunitRange(0x9b5a, 0x9b5b), - CodeunitRange(0x9b5e, 0x9b5e), - CodeunitRange(0x9b61, 0x9b61), - CodeunitRange(0x9b63, 0x9b63), - CodeunitRange(0x9b65, 0x9b66), - CodeunitRange(0x9b68, 0x9b68), - CodeunitRange(0x9b6a, 0x9b6f), - CodeunitRange(0x9b72, 0x9b79), - CodeunitRange(0x9b7f, 0x9b80), - CodeunitRange(0x9b83, 0x9b87), - CodeunitRange(0x9b89, 0x9b8b), - CodeunitRange(0x9b8d, 0x9b94), - CodeunitRange(0x9b96, 0x9b97), - CodeunitRange(0x9b9a, 0x9b9a), - CodeunitRange(0x9b9d, 0x9ba0), - CodeunitRange(0x9ba6, 0x9bae), - CodeunitRange(0x9bb0, 0x9bb2), - CodeunitRange(0x9bb4, 0x9bb4), - CodeunitRange(0x9bb7, 0x9bb9), - CodeunitRange(0x9bbb, 0x9bbc), - CodeunitRange(0x9bbe, 0x9bc1), - CodeunitRange(0x9bc6, 0x9bca), - CodeunitRange(0x9bce, 0x9bd2), - CodeunitRange(0x9bd4, 0x9bd4), - CodeunitRange(0x9bd6, 0x9bd8), - CodeunitRange(0x9bdb, 0x9bdb), - CodeunitRange(0x9bdd, 0x9bdd), - CodeunitRange(0x9bdf, 0x9bdf), - CodeunitRange(0x9be1, 0x9be5), - CodeunitRange(0x9be7, 0x9be8), - CodeunitRange(0x9bea, 0x9beb), - CodeunitRange(0x9bee, 0x9bf3), - CodeunitRange(0x9bf5, 0x9bf5), - CodeunitRange(0x9bf7, 0x9bfa), - CodeunitRange(0x9bfd, 0x9bfd), - CodeunitRange(0x9bff, 0x9c00), - CodeunitRange(0x9c02, 0x9c02), - CodeunitRange(0x9c04, 0x9c04), - CodeunitRange(0x9c06, 0x9c06), - CodeunitRange(0x9c08, 0x9c0d), - CodeunitRange(0x9c0f, 0x9c16), - CodeunitRange(0x9c18, 0x9c1e), - CodeunitRange(0x9c21, 0x9c2a), - CodeunitRange(0x9c2d, 0x9c32), - CodeunitRange(0x9c35, 0x9c37), - CodeunitRange(0x9c39, 0x9c3b), - CodeunitRange(0x9c3d, 0x9c3e), - CodeunitRange(0x9c41, 0x9c41), - CodeunitRange(0x9c43, 0x9c4a), - CodeunitRange(0x9c4e, 0x9c50), - CodeunitRange(0x9c52, 0x9c54), - CodeunitRange(0x9c56, 0x9c58), - CodeunitRange(0x9c5a, 0x9c61), - CodeunitRange(0x9c63, 0x9c63), - CodeunitRange(0x9c65, 0x9c65), - CodeunitRange(0x9c67, 0x9c6b), - CodeunitRange(0x9c6d, 0x9c6e), - CodeunitRange(0x9c70, 0x9c70), - CodeunitRange(0x9c72, 0x9c72), - CodeunitRange(0x9c75, 0x9c78), - CodeunitRange(0x9c7a, 0x9c7c), - CodeunitRange(0x9ce5, 0x9ce7), - CodeunitRange(0x9ce9, 0x9ce9), - CodeunitRange(0x9ceb, 0x9cec), - CodeunitRange(0x9cf0, 0x9cf0), - CodeunitRange(0x9cf2, 0x9cf4), - CodeunitRange(0x9cf6, 0x9cf7), - CodeunitRange(0x9cf9, 0x9cf9), - CodeunitRange(0x9d02, 0x9d03), - CodeunitRange(0x9d06, 0x9d09), - CodeunitRange(0x9d0b, 0x9d0b), - CodeunitRange(0x9d0e, 0x9d0e), - CodeunitRange(0x9d11, 0x9d12), - CodeunitRange(0x9d15, 0x9d15), - CodeunitRange(0x9d17, 0x9d18), - CodeunitRange(0x9d1b, 0x9d1f), - CodeunitRange(0x9d23, 0x9d23), - CodeunitRange(0x9d26, 0x9d26), - CodeunitRange(0x9d28, 0x9d28), - CodeunitRange(0x9d2a, 0x9d2c), - CodeunitRange(0x9d2f, 0x9d30), - CodeunitRange(0x9d32, 0x9d34), - CodeunitRange(0x9d3a, 0x9d3f), - CodeunitRange(0x9d41, 0x9d48), - CodeunitRange(0x9d4a, 0x9d4a), - CodeunitRange(0x9d50, 0x9d54), - CodeunitRange(0x9d59, 0x9d59), - CodeunitRange(0x9d5c, 0x9d65), - CodeunitRange(0x9d69, 0x9d6c), - CodeunitRange(0x9d6f, 0x9d70), - CodeunitRange(0x9d72, 0x9d73), - CodeunitRange(0x9d76, 0x9d77), - CodeunitRange(0x9d7a, 0x9d7c), - CodeunitRange(0x9d7e, 0x9d7e), - CodeunitRange(0x9d83, 0x9d84), - CodeunitRange(0x9d86, 0x9d87), - CodeunitRange(0x9d89, 0x9d8a), - CodeunitRange(0x9d8d, 0x9d8f), - CodeunitRange(0x9d92, 0x9d93), - CodeunitRange(0x9d95, 0x9d9a), - CodeunitRange(0x9da1, 0x9da1), - CodeunitRange(0x9da4, 0x9da4), - CodeunitRange(0x9da9, 0x9dac), - CodeunitRange(0x9dae, 0x9daf), - CodeunitRange(0x9db1, 0x9db2), - CodeunitRange(0x9db4, 0x9db5), - CodeunitRange(0x9db8, 0x9dbd), - CodeunitRange(0x9dbf, 0x9dc4), - CodeunitRange(0x9dc6, 0x9dc7), - CodeunitRange(0x9dc9, 0x9dca), - CodeunitRange(0x9dcf, 0x9dcf), - CodeunitRange(0x9dd3, 0x9dd7), - CodeunitRange(0x9dd9, 0x9dda), - CodeunitRange(0x9dde, 0x9de0), - CodeunitRange(0x9de3, 0x9de3), - CodeunitRange(0x9de5, 0x9de7), - CodeunitRange(0x9de9, 0x9de9), - CodeunitRange(0x9deb, 0x9deb), - CodeunitRange(0x9ded, 0x9df0), - CodeunitRange(0x9df2, 0x9df4), - CodeunitRange(0x9df8, 0x9dfa), - CodeunitRange(0x9dfd, 0x9dfe), - CodeunitRange(0x9e02, 0x9e02), - CodeunitRange(0x9e07, 0x9e07), - CodeunitRange(0x9e0a, 0x9e0a), - CodeunitRange(0x9e0d, 0x9e0e), - CodeunitRange(0x9e10, 0x9e12), - CodeunitRange(0x9e15, 0x9e16), - CodeunitRange(0x9e19, 0x9e1f), - CodeunitRange(0x9e75, 0x9e75), - CodeunitRange(0x9e78, 0x9e7d), - CodeunitRange(0x9e7f, 0x9e85), - CodeunitRange(0x9e87, 0x9e88), - CodeunitRange(0x9e8b, 0x9e8c), - CodeunitRange(0x9e8e, 0x9e8f), - CodeunitRange(0x9e91, 0x9e93), - CodeunitRange(0x9e95, 0x9e98), - CodeunitRange(0x9e9b, 0x9e9b), - CodeunitRange(0x9e9d, 0x9e9f), - CodeunitRange(0x9ea4, 0x9ea6), - CodeunitRange(0x9ea8, 0x9eaa), - CodeunitRange(0x9eac, 0x9eb0), - CodeunitRange(0x9eb3, 0x9eb5), - CodeunitRange(0x9eb8, 0x9ebf), - CodeunitRange(0x9ec3, 0x9ec4), - CodeunitRange(0x9ec6, 0x9ec6), - CodeunitRange(0x9ec8, 0x9ec8), - CodeunitRange(0x9ecb, 0x9ed2), - CodeunitRange(0x9ed4, 0x9ed5), - CodeunitRange(0x9ed8, 0x9ed9), - CodeunitRange(0x9edb, 0x9ee0), - CodeunitRange(0x9ee4, 0x9ee5), - CodeunitRange(0x9ee7, 0x9ee8), - CodeunitRange(0x9eec, 0x9ef2), - CodeunitRange(0x9ef4, 0x9ef9), - CodeunitRange(0x9efb, 0x9eff), - CodeunitRange(0x9f02, 0x9f03), - CodeunitRange(0x9f07, 0x9f09), - CodeunitRange(0x9f0e, 0x9f17), - CodeunitRange(0x9f19, 0x9f1b), - CodeunitRange(0x9f1f, 0x9f22), - CodeunitRange(0x9f26, 0x9f26), - CodeunitRange(0x9f2a, 0x9f2c), - CodeunitRange(0x9f2f, 0x9f2f), - CodeunitRange(0x9f31, 0x9f32), - CodeunitRange(0x9f34, 0x9f34), - CodeunitRange(0x9f37, 0x9f37), - CodeunitRange(0x9f39, 0x9f3f), - CodeunitRange(0x9f41, 0x9f41), - CodeunitRange(0x9f43, 0x9f47), - CodeunitRange(0x9f4a, 0x9f4b), - CodeunitRange(0x9f4e, 0x9f50), - CodeunitRange(0x9f52, 0x9f58), - CodeunitRange(0x9f5a, 0x9f5a), - CodeunitRange(0x9f5d, 0x9f63), - CodeunitRange(0x9f66, 0x9f6a), - CodeunitRange(0x9f6c, 0x9f73), - CodeunitRange(0x9f75, 0x9f77), - CodeunitRange(0x9f7a, 0x9f7a), - CodeunitRange(0x9f7d, 0x9f7d), - CodeunitRange(0x9f7f, 0x9f7f), - CodeunitRange(0x9f8d, 0x9f8d), - CodeunitRange(0x9f8f, 0x9f92), - CodeunitRange(0x9f94, 0x9f97), - CodeunitRange(0x9f99, 0x9f99), - CodeunitRange(0x9f9c, 0x9fa3), - CodeunitRange(0x9fa5, 0x9fa5), - CodeunitRange(0x9fb4, 0x9fb4), - CodeunitRange(0x9fbc, 0x9fc2), - CodeunitRange(0x9fc4, 0x9fc4), - CodeunitRange(0x9fc6, 0x9fc6), - CodeunitRange(0x9fcc, 0x9fcc), - CodeunitRange(0xf900, 0xf959), - CodeunitRange(0xf95b, 0xf9f2), - CodeunitRange(0xf9f4, 0xfa0b), - CodeunitRange(0xfa0e, 0xfa6d), - CodeunitRange(0xfb00, 0xfb04), - CodeunitRange(0xfe10, 0xfe19), - CodeunitRange(0xfe30, 0xfe52), - CodeunitRange(0xfe54, 0xfe66), - CodeunitRange(0xfe68, 0xfe6b), - CodeunitRange(0xff01, 0xff9f), - CodeunitRange(0xffa1, 0xffbe), - CodeunitRange(0xffc2, 0xffc7), - CodeunitRange(0xffca, 0xffcf), - CodeunitRange(0xffd2, 0xffd7), - CodeunitRange(0xffda, 0xffdc), - CodeunitRange(0xffe0, 0xffe6), - CodeunitRange(0xffe8, 0xffee), - CodeunitRange(0x1f100, 0x1f10c), - CodeunitRange(0x1f110, 0x1f16c), - CodeunitRange(0x1f170, 0x1f1ac), - CodeunitRange(0x1f200, 0x1f202), - CodeunitRange(0x1f210, 0x1f23b), - CodeunitRange(0x1f240, 0x1f248), - CodeunitRange(0x1f250, 0x1f251), - CodeunitRange(0x2000b, 0x2000b), - CodeunitRange(0x20089, 0x2008a), - CodeunitRange(0x200a2, 0x200a2), - CodeunitRange(0x200a4, 0x200a4), - CodeunitRange(0x200b0, 0x200b0), - CodeunitRange(0x200f5, 0x200f5), - CodeunitRange(0x20158, 0x20158), - CodeunitRange(0x201a2, 0x201a2), - CodeunitRange(0x20213, 0x20213), - CodeunitRange(0x2032b, 0x2032b), - CodeunitRange(0x20371, 0x20371), - CodeunitRange(0x20381, 0x20381), - CodeunitRange(0x203f9, 0x203f9), - CodeunitRange(0x2044a, 0x2044a), - CodeunitRange(0x20509, 0x20509), - CodeunitRange(0x2053f, 0x2053f), - CodeunitRange(0x205b1, 0x205b1), - CodeunitRange(0x205d6, 0x205d6), - CodeunitRange(0x20611, 0x20611), - CodeunitRange(0x20628, 0x20628), - CodeunitRange(0x206ec, 0x206ec), - CodeunitRange(0x2074f, 0x2074f), - CodeunitRange(0x207c8, 0x207c8), - CodeunitRange(0x20807, 0x20807), - CodeunitRange(0x2083a, 0x2083a), - CodeunitRange(0x208b9, 0x208b9), - CodeunitRange(0x2090e, 0x2090e), - CodeunitRange(0x2097c, 0x2097c), - CodeunitRange(0x20984, 0x20984), - CodeunitRange(0x2099d, 0x2099d), - CodeunitRange(0x20a64, 0x20a64), - CodeunitRange(0x20ad3, 0x20ad3), - CodeunitRange(0x20b1d, 0x20b1d), - CodeunitRange(0x20b9f, 0x20b9f), - CodeunitRange(0x20bb7, 0x20bb7), - CodeunitRange(0x20d45, 0x20d45), - CodeunitRange(0x20d58, 0x20d58), - CodeunitRange(0x20de1, 0x20de1), - CodeunitRange(0x20e64, 0x20e64), - CodeunitRange(0x20e6d, 0x20e6d), - CodeunitRange(0x20e95, 0x20e95), - CodeunitRange(0x20f5f, 0x20f5f), - CodeunitRange(0x21201, 0x21201), - CodeunitRange(0x2123d, 0x2123d), - CodeunitRange(0x21255, 0x21255), - CodeunitRange(0x21274, 0x21274), - CodeunitRange(0x2127b, 0x2127b), - CodeunitRange(0x212d7, 0x212d7), - CodeunitRange(0x212e4, 0x212e4), - CodeunitRange(0x212fd, 0x212fd), - CodeunitRange(0x2131b, 0x2131b), - CodeunitRange(0x21336, 0x21336), - CodeunitRange(0x21344, 0x21344), - CodeunitRange(0x213c4, 0x213c4), - CodeunitRange(0x2146d, 0x2146e), - CodeunitRange(0x215d7, 0x215d7), - CodeunitRange(0x21647, 0x21647), - CodeunitRange(0x216b4, 0x216b4), - CodeunitRange(0x21706, 0x21706), - CodeunitRange(0x21742, 0x21742), - CodeunitRange(0x218bd, 0x218bd), - CodeunitRange(0x219c3, 0x219c3), - CodeunitRange(0x21a1a, 0x21a1a), - CodeunitRange(0x21c56, 0x21c56), - CodeunitRange(0x21d2d, 0x21d2d), - CodeunitRange(0x21d45, 0x21d45), - CodeunitRange(0x21d62, 0x21d62), - CodeunitRange(0x21d78, 0x21d78), - CodeunitRange(0x21d92, 0x21d92), - CodeunitRange(0x21d9c, 0x21d9c), - CodeunitRange(0x21da1, 0x21da1), - CodeunitRange(0x21db7, 0x21db7), - CodeunitRange(0x21de0, 0x21de0), - CodeunitRange(0x21e33, 0x21e34), - CodeunitRange(0x21f1e, 0x21f1e), - CodeunitRange(0x21f76, 0x21f76), - CodeunitRange(0x21ffa, 0x21ffa), - CodeunitRange(0x2217b, 0x2217b), - CodeunitRange(0x22218, 0x22218), - CodeunitRange(0x2231e, 0x2231e), - CodeunitRange(0x223ad, 0x223ad), - CodeunitRange(0x22609, 0x22609), - CodeunitRange(0x226f3, 0x226f3), - CodeunitRange(0x2285b, 0x2285b), - CodeunitRange(0x228ab, 0x228ab), - CodeunitRange(0x2298f, 0x2298f), - CodeunitRange(0x22ab8, 0x22ab8), - CodeunitRange(0x22b46, 0x22b46), - CodeunitRange(0x22b4f, 0x22b50), - CodeunitRange(0x22ba6, 0x22ba6), - CodeunitRange(0x22c1d, 0x22c1d), - CodeunitRange(0x22c24, 0x22c24), - CodeunitRange(0x22de1, 0x22de1), - CodeunitRange(0x22e42, 0x22e42), - CodeunitRange(0x22feb, 0x22feb), - CodeunitRange(0x231b6, 0x231b6), - CodeunitRange(0x231c3, 0x231c4), - CodeunitRange(0x231f5, 0x231f5), - CodeunitRange(0x23372, 0x23372), - CodeunitRange(0x233cc, 0x233cc), - CodeunitRange(0x233d0, 0x233d0), - CodeunitRange(0x233d2, 0x233d3), - CodeunitRange(0x233d5, 0x233d5), - CodeunitRange(0x233da, 0x233da), - CodeunitRange(0x233df, 0x233df), - CodeunitRange(0x233e4, 0x233e4), - CodeunitRange(0x233fe, 0x233fe), - CodeunitRange(0x2344a, 0x2344b), - CodeunitRange(0x23451, 0x23451), - CodeunitRange(0x23465, 0x23465), - CodeunitRange(0x234e4, 0x234e4), - CodeunitRange(0x2355a, 0x2355a), - CodeunitRange(0x23594, 0x23594), - CodeunitRange(0x235c4, 0x235c4), - CodeunitRange(0x23638, 0x2363a), - CodeunitRange(0x23647, 0x23647), - CodeunitRange(0x2370c, 0x2370c), - CodeunitRange(0x2371c, 0x2371c), - CodeunitRange(0x2373f, 0x2373f), - CodeunitRange(0x23763, 0x23764), - CodeunitRange(0x237e7, 0x237e7), - CodeunitRange(0x237f1, 0x237f1), - CodeunitRange(0x237ff, 0x237ff), - CodeunitRange(0x23824, 0x23824), - CodeunitRange(0x2383d, 0x2383d), - CodeunitRange(0x23a98, 0x23a98), - CodeunitRange(0x23c7f, 0x23c7f), - CodeunitRange(0x23cbe, 0x23cbe), - CodeunitRange(0x23cfe, 0x23cfe), - CodeunitRange(0x23d00, 0x23d00), - CodeunitRange(0x23d0e, 0x23d0e), - CodeunitRange(0x23d40, 0x23d40), - CodeunitRange(0x23dd3, 0x23dd3), - CodeunitRange(0x23df9, 0x23dfa), - CodeunitRange(0x23f7e, 0x23f7e), - CodeunitRange(0x2404b, 0x2404b), - CodeunitRange(0x24096, 0x24096), - CodeunitRange(0x24103, 0x24103), - CodeunitRange(0x241c6, 0x241c6), - CodeunitRange(0x241fe, 0x241fe), - CodeunitRange(0x242ee, 0x242ee), - CodeunitRange(0x243bc, 0x243bc), - CodeunitRange(0x243d0, 0x243d0), - CodeunitRange(0x24629, 0x24629), - CodeunitRange(0x246a5, 0x246a5), - CodeunitRange(0x247f1, 0x247f1), - CodeunitRange(0x24896, 0x24896), - CodeunitRange(0x248e9, 0x248e9), - CodeunitRange(0x24a4d, 0x24a4d), - CodeunitRange(0x24b56, 0x24b56), - CodeunitRange(0x24b6f, 0x24b6f), - CodeunitRange(0x24c16, 0x24c16), - CodeunitRange(0x24d14, 0x24d14), - CodeunitRange(0x24e04, 0x24e04), - CodeunitRange(0x24e0e, 0x24e0e), - CodeunitRange(0x24e37, 0x24e37), - CodeunitRange(0x24e6a, 0x24e6a), - CodeunitRange(0x24e8b, 0x24e8b), - CodeunitRange(0x24ff2, 0x24ff2), - CodeunitRange(0x2504a, 0x2504a), - CodeunitRange(0x25055, 0x25055), - CodeunitRange(0x25122, 0x25122), - CodeunitRange(0x251a9, 0x251a9), - CodeunitRange(0x251cd, 0x251cd), - CodeunitRange(0x251e5, 0x251e5), - CodeunitRange(0x2521e, 0x2521e), - CodeunitRange(0x2524c, 0x2524c), - CodeunitRange(0x2542e, 0x2542e), - CodeunitRange(0x2548e, 0x2548e), - CodeunitRange(0x254d9, 0x254d9), - CodeunitRange(0x2550e, 0x2550e), - CodeunitRange(0x255a7, 0x255a7), - CodeunitRange(0x2567f, 0x2567f), - CodeunitRange(0x25771, 0x25771), - CodeunitRange(0x257a9, 0x257a9), - CodeunitRange(0x257b4, 0x257b4), - CodeunitRange(0x25874, 0x25874), - CodeunitRange(0x259c4, 0x259c4), - CodeunitRange(0x259cc, 0x259cc), - CodeunitRange(0x259d4, 0x259d4), - CodeunitRange(0x25ad7, 0x25ad7), - CodeunitRange(0x25ae3, 0x25ae4), - CodeunitRange(0x25af1, 0x25af1), - CodeunitRange(0x25bb2, 0x25bb2), - CodeunitRange(0x25c4b, 0x25c4b), - CodeunitRange(0x25c64, 0x25c64), - CodeunitRange(0x25da1, 0x25da1), - CodeunitRange(0x25e2e, 0x25e2e), - CodeunitRange(0x25e56, 0x25e56), - CodeunitRange(0x25e62, 0x25e62), - CodeunitRange(0x25e65, 0x25e65), - CodeunitRange(0x25ec2, 0x25ec2), - CodeunitRange(0x25ed8, 0x25ed8), - CodeunitRange(0x25ee8, 0x25ee8), - CodeunitRange(0x25f23, 0x25f23), - CodeunitRange(0x25f5c, 0x25f5c), - CodeunitRange(0x25fd4, 0x25fd4), - CodeunitRange(0x25fe0, 0x25fe0), - CodeunitRange(0x25ffb, 0x25ffb), - CodeunitRange(0x2600c, 0x2600c), - CodeunitRange(0x26017, 0x26017), - CodeunitRange(0x26060, 0x26060), - CodeunitRange(0x260ed, 0x260ed), - CodeunitRange(0x26222, 0x26222), - CodeunitRange(0x2626a, 0x2626a), - CodeunitRange(0x26270, 0x26270), - CodeunitRange(0x26286, 0x26286), - CodeunitRange(0x2634c, 0x2634c), - CodeunitRange(0x26402, 0x26402), - CodeunitRange(0x2667e, 0x2667e), - CodeunitRange(0x266b0, 0x266b0), - CodeunitRange(0x2671d, 0x2671d), - CodeunitRange(0x268dd, 0x268dd), - CodeunitRange(0x268ea, 0x268ea), - CodeunitRange(0x26951, 0x26951), - CodeunitRange(0x2696f, 0x2696f), - CodeunitRange(0x26999, 0x26999), - CodeunitRange(0x269dd, 0x269dd), - CodeunitRange(0x26a1e, 0x26a1e), - CodeunitRange(0x26a58, 0x26a58), - CodeunitRange(0x26a8c, 0x26a8c), - CodeunitRange(0x26ab7, 0x26ab7), - CodeunitRange(0x26aff, 0x26aff), - CodeunitRange(0x26c29, 0x26c29), - CodeunitRange(0x26c73, 0x26c73), - CodeunitRange(0x26c9e, 0x26c9e), - CodeunitRange(0x26cdd, 0x26cdd), - CodeunitRange(0x26e40, 0x26e40), - CodeunitRange(0x26e65, 0x26e65), - CodeunitRange(0x26f94, 0x26f94), - CodeunitRange(0x26ff6, 0x26ff8), - CodeunitRange(0x270f4, 0x270f4), - CodeunitRange(0x2710d, 0x2710d), - CodeunitRange(0x27139, 0x27139), - CodeunitRange(0x273da, 0x273db), - CodeunitRange(0x273fe, 0x273fe), - CodeunitRange(0x27410, 0x27410), - CodeunitRange(0x27449, 0x27449), - CodeunitRange(0x27614, 0x27615), - CodeunitRange(0x27631, 0x27631), - CodeunitRange(0x27684, 0x27684), - CodeunitRange(0x27693, 0x27693), - CodeunitRange(0x2770e, 0x2770e), - CodeunitRange(0x27723, 0x27723), - CodeunitRange(0x27752, 0x27752), - CodeunitRange(0x278b2, 0x278b2), - CodeunitRange(0x27985, 0x27985), - CodeunitRange(0x279b4, 0x279b4), - CodeunitRange(0x27a84, 0x27a84), - CodeunitRange(0x27bb3, 0x27bb3), - CodeunitRange(0x27bbe, 0x27bbe), - CodeunitRange(0x27bc7, 0x27bc7), - CodeunitRange(0x27c3c, 0x27c3c), - CodeunitRange(0x27cb8, 0x27cb8), - CodeunitRange(0x27d73, 0x27d73), - CodeunitRange(0x27da0, 0x27da0), - CodeunitRange(0x27e10, 0x27e10), - CodeunitRange(0x27eaf, 0x27eaf), - CodeunitRange(0x27fb7, 0x27fb7), - CodeunitRange(0x2808a, 0x2808a), - CodeunitRange(0x280bb, 0x280bb), - CodeunitRange(0x28277, 0x28277), - CodeunitRange(0x28282, 0x28282), - CodeunitRange(0x282f3, 0x282f3), - CodeunitRange(0x283cd, 0x283cd), - CodeunitRange(0x2840c, 0x2840c), - CodeunitRange(0x28455, 0x28455), - CodeunitRange(0x284dc, 0x284dc), - CodeunitRange(0x2856b, 0x2856b), - CodeunitRange(0x285c8, 0x285c9), - CodeunitRange(0x286d7, 0x286d7), - CodeunitRange(0x286fa, 0x286fa), - CodeunitRange(0x28946, 0x28946), - CodeunitRange(0x28949, 0x28949), - CodeunitRange(0x2896b, 0x2896b), - CodeunitRange(0x28987, 0x28988), - CodeunitRange(0x289ba, 0x289bb), - CodeunitRange(0x28a1e, 0x28a1e), - CodeunitRange(0x28a29, 0x28a29), - CodeunitRange(0x28a43, 0x28a43), - CodeunitRange(0x28a71, 0x28a71), - CodeunitRange(0x28a99, 0x28a99), - CodeunitRange(0x28acd, 0x28acd), - CodeunitRange(0x28add, 0x28add), - CodeunitRange(0x28ae4, 0x28ae4), - CodeunitRange(0x28bc1, 0x28bc1), - CodeunitRange(0x28bef, 0x28bef), - CodeunitRange(0x28cdd, 0x28cdd), - CodeunitRange(0x28d10, 0x28d10), - CodeunitRange(0x28d71, 0x28d71), - CodeunitRange(0x28dfb, 0x28dfb), - CodeunitRange(0x28e0f, 0x28e0f), - CodeunitRange(0x28e17, 0x28e17), - CodeunitRange(0x28e1f, 0x28e1f), - CodeunitRange(0x28e36, 0x28e36), - CodeunitRange(0x28e89, 0x28e89), - CodeunitRange(0x28eeb, 0x28eeb), - CodeunitRange(0x28ef6, 0x28ef6), - CodeunitRange(0x28f32, 0x28f32), - CodeunitRange(0x28ff8, 0x28ff8), - CodeunitRange(0x292a0, 0x292a0), - CodeunitRange(0x292b1, 0x292b1), - CodeunitRange(0x29490, 0x29490), - CodeunitRange(0x295cf, 0x295cf), - CodeunitRange(0x2967f, 0x2967f), - CodeunitRange(0x296f0, 0x296f0), - CodeunitRange(0x29719, 0x29719), - CodeunitRange(0x29750, 0x29750), - CodeunitRange(0x29810, 0x29810), - CodeunitRange(0x298c6, 0x298c6), - CodeunitRange(0x29a72, 0x29a72), - CodeunitRange(0x29d4b, 0x29d4b), - CodeunitRange(0x29ddb, 0x29ddb), - CodeunitRange(0x29e15, 0x29e15), - CodeunitRange(0x29e3d, 0x29e3d), - CodeunitRange(0x29e49, 0x29e49), - CodeunitRange(0x29e8a, 0x29e8a), - CodeunitRange(0x29ec4, 0x29ec4), - CodeunitRange(0x29edb, 0x29edb), - CodeunitRange(0x29ee9, 0x29ee9), - CodeunitRange(0x29fce, 0x29fce), - CodeunitRange(0x29fd7, 0x29fd7), - CodeunitRange(0x2a01a, 0x2a01a), - CodeunitRange(0x2a02f, 0x2a02f), - CodeunitRange(0x2a082, 0x2a082), - CodeunitRange(0x2a0f9, 0x2a0f9), - CodeunitRange(0x2a190, 0x2a190), - CodeunitRange(0x2a2b2, 0x2a2b2), - CodeunitRange(0x2a38c, 0x2a38c), - CodeunitRange(0x2a437, 0x2a437), - CodeunitRange(0x2a5f1, 0x2a5f1), - CodeunitRange(0x2a602, 0x2a602), - CodeunitRange(0x2a61a, 0x2a61a), - CodeunitRange(0x2a6b2, 0x2a6b2), - CodeunitRange(0x2a9e6, 0x2a9e6), - CodeunitRange(0x2b746, 0x2b746), - CodeunitRange(0x2b751, 0x2b751), - CodeunitRange(0x2b753, 0x2b753), - CodeunitRange(0x2b75a, 0x2b75a), - CodeunitRange(0x2b75c, 0x2b75c), - CodeunitRange(0x2b765, 0x2b765), - CodeunitRange(0x2b776, 0x2b777), - CodeunitRange(0x2b77c, 0x2b77c), - CodeunitRange(0x2b782, 0x2b782), - CodeunitRange(0x2b789, 0x2b789), - CodeunitRange(0x2b78b, 0x2b78b), - CodeunitRange(0x2b78e, 0x2b78e), - CodeunitRange(0x2b794, 0x2b794), - CodeunitRange(0x2b7ac, 0x2b7ac), - CodeunitRange(0x2b7af, 0x2b7af), - CodeunitRange(0x2b7bd, 0x2b7bd), - CodeunitRange(0x2b7c9, 0x2b7c9), - CodeunitRange(0x2b7cf, 0x2b7cf), - CodeunitRange(0x2b7d2, 0x2b7d2), - CodeunitRange(0x2b7d8, 0x2b7d8), - CodeunitRange(0x2b7f0, 0x2b7f0), - CodeunitRange(0x2b80d, 0x2b80d), - CodeunitRange(0x2b817, 0x2b817), - CodeunitRange(0x2b81a, 0x2b81a), - CodeunitRange(0x2d544, 0x2d544), - CodeunitRange(0x2e278, 0x2e278), - CodeunitRange(0x2e569, 0x2e569), - CodeunitRange(0x2e6ea, 0x2e6ea), - CodeunitRange(0x2f804, 0x2f804), - CodeunitRange(0x2f80f, 0x2f80f), - CodeunitRange(0x2f815, 0x2f815), - CodeunitRange(0x2f818, 0x2f818), - CodeunitRange(0x2f81a, 0x2f81a), - CodeunitRange(0x2f822, 0x2f822), - CodeunitRange(0x2f828, 0x2f828), - CodeunitRange(0x2f82c, 0x2f82c), - CodeunitRange(0x2f833, 0x2f833), - CodeunitRange(0x2f83f, 0x2f83f), - CodeunitRange(0x2f846, 0x2f846), - CodeunitRange(0x2f852, 0x2f852), - CodeunitRange(0x2f862, 0x2f862), - CodeunitRange(0x2f86d, 0x2f86d), - CodeunitRange(0x2f873, 0x2f873), - CodeunitRange(0x2f877, 0x2f877), - CodeunitRange(0x2f884, 0x2f884), - CodeunitRange(0x2f899, 0x2f89a), - CodeunitRange(0x2f8a6, 0x2f8a6), - CodeunitRange(0x2f8ac, 0x2f8ac), - CodeunitRange(0x2f8b2, 0x2f8b2), - CodeunitRange(0x2f8b6, 0x2f8b6), - CodeunitRange(0x2f8d3, 0x2f8d3), - CodeunitRange(0x2f8db, 0x2f8dc), - CodeunitRange(0x2f8e1, 0x2f8e1), - CodeunitRange(0x2f8e5, 0x2f8e5), - CodeunitRange(0x2f8ea, 0x2f8ea), - CodeunitRange(0x2f8ed, 0x2f8ed), - CodeunitRange(0x2f8fc, 0x2f8fc), - CodeunitRange(0x2f903, 0x2f903), - CodeunitRange(0x2f90b, 0x2f90b), - CodeunitRange(0x2f90f, 0x2f90f), - CodeunitRange(0x2f91a, 0x2f91a), - CodeunitRange(0x2f920, 0x2f921), - CodeunitRange(0x2f945, 0x2f945), - CodeunitRange(0x2f947, 0x2f947), - CodeunitRange(0x2f96c, 0x2f96c), - CodeunitRange(0x2f995, 0x2f995), - CodeunitRange(0x2f9d0, 0x2f9d0), - CodeunitRange(0x2f9de, 0x2f9df), - CodeunitRange(0x2f9f4, 0x2f9f4), - CodeunitRange(0x30ede, 0x30ede), - CodeunitRange(0x3106c, 0x3106c), - ]), - NotoFont('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa980, 0xa9cd), - CodeunitRange(0xa9cf, 0xa9d9), - CodeunitRange(0xa9de, 0xa9df), - ]), - NotoFont('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0x103), - CodeunitRange(0x110, 0x113), - CodeunitRange(0x11a, 0x11b), - CodeunitRange(0x128, 0x12b), - CodeunitRange(0x143, 0x144), - CodeunitRange(0x147, 0x148), - CodeunitRange(0x14c, 0x14f), - CodeunitRange(0x152, 0x153), - CodeunitRange(0x168, 0x16d), - CodeunitRange(0x192, 0x192), - CodeunitRange(0x1a0, 0x1a1), - CodeunitRange(0x1af, 0x1b0), - CodeunitRange(0x1cd, 0x1dc), - CodeunitRange(0x1f8, 0x1f9), - CodeunitRange(0x251, 0x251), - CodeunitRange(0x261, 0x261), - CodeunitRange(0x2bb, 0x2bb), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x2c9, 0x2cb), - CodeunitRange(0x2d9, 0x2d9), - CodeunitRange(0x2ea, 0x2eb), - CodeunitRange(0x300, 0x301), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x30c, 0x30c), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3b1, 0x3c9), - CodeunitRange(0x401, 0x401), - CodeunitRange(0x410, 0x44f), - CodeunitRange(0x451, 0x451), - CodeunitRange(0x1100, 0x11ff), - CodeunitRange(0x1e3e, 0x1e3f), - CodeunitRange(0x1ea0, 0x1ef9), - CodeunitRange(0x2002, 0x2003), - CodeunitRange(0x2010, 0x2016), - CodeunitRange(0x2018, 0x201a), - CodeunitRange(0x201c, 0x201e), - CodeunitRange(0x2020, 0x2022), - CodeunitRange(0x2025, 0x2027), - CodeunitRange(0x2030, 0x2030), - CodeunitRange(0x2032, 0x2033), - CodeunitRange(0x2035, 0x2035), - CodeunitRange(0x2039, 0x203c), - CodeunitRange(0x2042, 0x2042), - CodeunitRange(0x2047, 0x2049), - CodeunitRange(0x2051, 0x2051), - CodeunitRange(0x2074, 0x2074), - CodeunitRange(0x20a9, 0x20a9), - CodeunitRange(0x20ab, 0x20ac), - CodeunitRange(0x20dd, 0x20de), - CodeunitRange(0x2100, 0x2100), - CodeunitRange(0x2103, 0x2103), - CodeunitRange(0x2105, 0x2105), - CodeunitRange(0x2109, 0x210a), - CodeunitRange(0x210f, 0x210f), - CodeunitRange(0x2113, 0x2113), - CodeunitRange(0x2116, 0x2116), - CodeunitRange(0x2121, 0x2122), - CodeunitRange(0x2126, 0x2127), - CodeunitRange(0x212b, 0x212b), - CodeunitRange(0x212e, 0x212e), - CodeunitRange(0x2135, 0x2135), - CodeunitRange(0x213b, 0x213b), - CodeunitRange(0x2160, 0x216b), - CodeunitRange(0x2170, 0x217b), - CodeunitRange(0x2190, 0x2199), - CodeunitRange(0x21b8, 0x21b9), - CodeunitRange(0x21c4, 0x21c6), - CodeunitRange(0x21cb, 0x21cc), - CodeunitRange(0x21d0, 0x21d0), - CodeunitRange(0x21d2, 0x21d2), - CodeunitRange(0x21d4, 0x21d4), - CodeunitRange(0x21e6, 0x21e9), - CodeunitRange(0x21f5, 0x21f5), - CodeunitRange(0x2200, 0x2200), - CodeunitRange(0x2202, 0x2203), - CodeunitRange(0x2205, 0x220b), - CodeunitRange(0x220f, 0x220f), - CodeunitRange(0x2211, 0x2213), - CodeunitRange(0x2215, 0x2215), - CodeunitRange(0x221a, 0x221a), - CodeunitRange(0x221d, 0x2220), - CodeunitRange(0x2223, 0x2223), - CodeunitRange(0x2225, 0x222e), - CodeunitRange(0x2234, 0x2237), - CodeunitRange(0x223d, 0x223d), - CodeunitRange(0x2243, 0x2243), - CodeunitRange(0x2245, 0x2245), - CodeunitRange(0x2248, 0x2248), - CodeunitRange(0x224c, 0x224c), - CodeunitRange(0x2252, 0x2252), - CodeunitRange(0x2260, 0x2262), - CodeunitRange(0x2264, 0x2267), - CodeunitRange(0x226a, 0x226b), - CodeunitRange(0x226e, 0x226f), - CodeunitRange(0x2272, 0x2273), - CodeunitRange(0x2276, 0x2277), - CodeunitRange(0x2282, 0x2287), - CodeunitRange(0x228a, 0x228b), - CodeunitRange(0x2295, 0x2299), - CodeunitRange(0x22a0, 0x22a0), - CodeunitRange(0x22a5, 0x22a5), - CodeunitRange(0x22bf, 0x22bf), - CodeunitRange(0x22da, 0x22db), - CodeunitRange(0x22ef, 0x22ef), - CodeunitRange(0x2305, 0x2307), - CodeunitRange(0x2312, 0x2312), - CodeunitRange(0x2318, 0x2318), - CodeunitRange(0x2329, 0x232a), - CodeunitRange(0x23b0, 0x23b1), - CodeunitRange(0x23be, 0x23cc), - CodeunitRange(0x23ce, 0x23ce), - CodeunitRange(0x23da, 0x23db), - CodeunitRange(0x2423, 0x2423), - CodeunitRange(0x2460, 0x25ab), - CodeunitRange(0x25b1, 0x25b3), - CodeunitRange(0x25b6, 0x25b7), - CodeunitRange(0x25bc, 0x25bd), - CodeunitRange(0x25c0, 0x25c1), - CodeunitRange(0x25c6, 0x25cc), - CodeunitRange(0x25ce, 0x25d3), - CodeunitRange(0x25e2, 0x25e6), - CodeunitRange(0x25ef, 0x25ef), - CodeunitRange(0x2600, 0x2603), - CodeunitRange(0x2605, 0x2606), - CodeunitRange(0x2609, 0x2609), - CodeunitRange(0x260e, 0x260f), - CodeunitRange(0x2616, 0x2617), - CodeunitRange(0x261c, 0x261f), - CodeunitRange(0x262f, 0x262f), - CodeunitRange(0x2640, 0x2642), - CodeunitRange(0x2660, 0x266f), - CodeunitRange(0x2672, 0x267d), - CodeunitRange(0x26a0, 0x26a0), - CodeunitRange(0x26bd, 0x26be), - CodeunitRange(0x2702, 0x2702), - CodeunitRange(0x2713, 0x2713), - CodeunitRange(0x271a, 0x271a), - CodeunitRange(0x273d, 0x273d), - CodeunitRange(0x273f, 0x2740), - CodeunitRange(0x2756, 0x2756), - CodeunitRange(0x2776, 0x2793), - CodeunitRange(0x27a1, 0x27a1), - CodeunitRange(0x2934, 0x2935), - CodeunitRange(0x29bf, 0x29bf), - CodeunitRange(0x29fa, 0x29fb), - CodeunitRange(0x2b05, 0x2b07), - CodeunitRange(0x2b1a, 0x2b1a), - CodeunitRange(0x2b95, 0x2b95), - CodeunitRange(0x2e3a, 0x2e3b), - CodeunitRange(0x2e80, 0x2e99), - CodeunitRange(0x2e9b, 0x2ef3), - CodeunitRange(0x2f00, 0x2fd5), - CodeunitRange(0x2ff0, 0x2ffb), - CodeunitRange(0x3000, 0x303f), - CodeunitRange(0x3041, 0x3096), - CodeunitRange(0x3099, 0x30ff), - CodeunitRange(0x3105, 0x312f), - CodeunitRange(0x3131, 0x318e), - CodeunitRange(0x3190, 0x31bb), - CodeunitRange(0x31c0, 0x31e3), - CodeunitRange(0x31f0, 0x321e), - CodeunitRange(0x3220, 0x332b), - CodeunitRange(0x332d, 0x33ff), - CodeunitRange(0x349a, 0x349a), - CodeunitRange(0x34d7, 0x34d7), - CodeunitRange(0x3515, 0x3515), - CodeunitRange(0x3521, 0x3521), - CodeunitRange(0x353e, 0x353e), - CodeunitRange(0x35ff, 0x35ff), - CodeunitRange(0x366f, 0x366f), - CodeunitRange(0x36c3, 0x36c5), - CodeunitRange(0x36e6, 0x36e6), - CodeunitRange(0x3723, 0x3723), - CodeunitRange(0x372f, 0x372f), - CodeunitRange(0x373a, 0x373a), - CodeunitRange(0x37bc, 0x37bc), - CodeunitRange(0x380c, 0x380c), - CodeunitRange(0x3818, 0x3818), - CodeunitRange(0x3883, 0x3883), - CodeunitRange(0x38ba, 0x38ba), - CodeunitRange(0x38e7, 0x38e7), - CodeunitRange(0x38fd, 0x38fd), - CodeunitRange(0x3960, 0x3960), - CodeunitRange(0x3965, 0x3965), - CodeunitRange(0x3983, 0x3983), - CodeunitRange(0x3990, 0x3990), - CodeunitRange(0x39a5, 0x39a5), - CodeunitRange(0x39b6, 0x39b6), - CodeunitRange(0x3a39, 0x3a39), - CodeunitRange(0x3aa4, 0x3aa4), - CodeunitRange(0x3adc, 0x3adc), - CodeunitRange(0x3af6, 0x3af6), - CodeunitRange(0x3b03, 0x3b03), - CodeunitRange(0x3b23, 0x3b23), - CodeunitRange(0x3b79, 0x3b79), - CodeunitRange(0x3bf3, 0x3bf3), - CodeunitRange(0x3c14, 0x3c14), - CodeunitRange(0x3c24, 0x3c24), - CodeunitRange(0x3c2d, 0x3c2d), - CodeunitRange(0x3cbd, 0x3cbe), - CodeunitRange(0x3cfc, 0x3cfc), - CodeunitRange(0x3d17, 0x3d17), - CodeunitRange(0x3d5f, 0x3d5f), - CodeunitRange(0x3dbc, 0x3dbc), - CodeunitRange(0x3dc2, 0x3dc2), - CodeunitRange(0x3ec4, 0x3ec4), - CodeunitRange(0x3eed, 0x3eed), - CodeunitRange(0x3efd, 0x3efd), - CodeunitRange(0x3f04, 0x3f04), - CodeunitRange(0x402f, 0x402f), - CodeunitRange(0x4034, 0x4034), - CodeunitRange(0x4062, 0x4062), - CodeunitRange(0x40a9, 0x40a9), - CodeunitRange(0x40c9, 0x40c9), - CodeunitRange(0x4137, 0x4137), - CodeunitRange(0x41ac, 0x41ac), - CodeunitRange(0x4259, 0x4259), - CodeunitRange(0x43bb, 0x43bb), - CodeunitRange(0x43c7, 0x43c7), - CodeunitRange(0x43e7, 0x43e7), - CodeunitRange(0x43ea, 0x43ea), - CodeunitRange(0x4450, 0x4450), - CodeunitRange(0x4512, 0x4512), - CodeunitRange(0x45f2, 0x45f2), - CodeunitRange(0x4618, 0x4618), - CodeunitRange(0x46b7, 0x46b7), - CodeunitRange(0x46be, 0x46be), - CodeunitRange(0x46d4, 0x46d4), - CodeunitRange(0x46d8, 0x46d8), - CodeunitRange(0x46dd, 0x46dd), - CodeunitRange(0x472d, 0x472d), - CodeunitRange(0x476c, 0x476c), - CodeunitRange(0x477d, 0x477d), - CodeunitRange(0x479f, 0x479f), - CodeunitRange(0x4863, 0x4863), - CodeunitRange(0x4883, 0x4883), - CodeunitRange(0x4896, 0x4896), - CodeunitRange(0x48a6, 0x48a6), - CodeunitRange(0x4925, 0x4925), - CodeunitRange(0x499e, 0x499e), - CodeunitRange(0x49a5, 0x49a5), - CodeunitRange(0x49cb, 0x49cb), - CodeunitRange(0x4a12, 0x4a12), - CodeunitRange(0x4a2d, 0x4a2d), - CodeunitRange(0x4ab8, 0x4ab8), - CodeunitRange(0x4adf, 0x4adf), - CodeunitRange(0x4ae8, 0x4ae8), - CodeunitRange(0x4afb, 0x4afb), - CodeunitRange(0x4b53, 0x4b53), - CodeunitRange(0x4b71, 0x4b71), - CodeunitRange(0x4cdf, 0x4ce0), - CodeunitRange(0x4d1b, 0x4d1b), - CodeunitRange(0x4e00, 0x4e01), - CodeunitRange(0x4e03, 0x4e03), - CodeunitRange(0x4e07, 0x4e0b), - CodeunitRange(0x4e0d, 0x4e0e), - CodeunitRange(0x4e11, 0x4e11), - CodeunitRange(0x4e14, 0x4e16), - CodeunitRange(0x4e18, 0x4e19), - CodeunitRange(0x4e1e, 0x4e1f), - CodeunitRange(0x4e24, 0x4e24), - CodeunitRange(0x4e26, 0x4e26), - CodeunitRange(0x4e28, 0x4e28), - CodeunitRange(0x4e2b, 0x4e2d), - CodeunitRange(0x4e30, 0x4e32), - CodeunitRange(0x4e36, 0x4e36), - CodeunitRange(0x4e38, 0x4e39), - CodeunitRange(0x4e3b, 0x4e3b), - CodeunitRange(0x4e3f, 0x4e3f), - CodeunitRange(0x4e42, 0x4e43), - CodeunitRange(0x4e45, 0x4e45), - CodeunitRange(0x4e4b, 0x4e4b), - CodeunitRange(0x4e4d, 0x4e4f), - CodeunitRange(0x4e56, 0x4e5b), - CodeunitRange(0x4e5d, 0x4e5f), - CodeunitRange(0x4e67, 0x4e67), - CodeunitRange(0x4e6b, 0x4e6d), - CodeunitRange(0x4e71, 0x4e71), - CodeunitRange(0x4e73, 0x4e73), - CodeunitRange(0x4e76, 0x4e77), - CodeunitRange(0x4e7a, 0x4e7c), - CodeunitRange(0x4e7e, 0x4e7e), - CodeunitRange(0x4e80, 0x4e80), - CodeunitRange(0x4e82, 0x4e82), - CodeunitRange(0x4e85, 0x4e86), - CodeunitRange(0x4e88, 0x4e89), - CodeunitRange(0x4e8b, 0x4e8c), - CodeunitRange(0x4e8e, 0x4e92), - CodeunitRange(0x4e94, 0x4e95), - CodeunitRange(0x4e98, 0x4e99), - CodeunitRange(0x4e9b, 0x4e9c), - CodeunitRange(0x4e9e, 0x4ea2), - CodeunitRange(0x4ea4, 0x4ea6), - CodeunitRange(0x4ea8, 0x4ea8), - CodeunitRange(0x4eab, 0x4eae), - CodeunitRange(0x4eb0, 0x4eb0), - CodeunitRange(0x4eb3, 0x4eb4), - CodeunitRange(0x4eb6, 0x4eb6), - CodeunitRange(0x4eb9, 0x4ebb), - CodeunitRange(0x4ec0, 0x4ec1), - CodeunitRange(0x4ec4, 0x4ec4), - CodeunitRange(0x4ec6, 0x4ec7), - CodeunitRange(0x4eca, 0x4ecb), - CodeunitRange(0x4ecd, 0x4ecd), - CodeunitRange(0x4ed4, 0x4ed9), - CodeunitRange(0x4edd, 0x4edf), - CodeunitRange(0x4ee1, 0x4ee1), - CodeunitRange(0x4ee3, 0x4ee5), - CodeunitRange(0x4eee, 0x4eee), - CodeunitRange(0x4ef0, 0x4ef0), - CodeunitRange(0x4ef2, 0x4ef3), - CodeunitRange(0x4ef5, 0x4ef7), - CodeunitRange(0x4efb, 0x4efb), - CodeunitRange(0x4efd, 0x4efd), - CodeunitRange(0x4eff, 0x4f01), - CodeunitRange(0x4f09, 0x4f0b), - CodeunitRange(0x4f0d, 0x4f11), - CodeunitRange(0x4f1a, 0x4f1a), - CodeunitRange(0x4f1d, 0x4f1d), - CodeunitRange(0x4f2f, 0x4f30), - CodeunitRange(0x4f34, 0x4f34), - CodeunitRange(0x4f36, 0x4f36), - CodeunitRange(0x4f38, 0x4f38), - CodeunitRange(0x4f3a, 0x4f3a), - CodeunitRange(0x4f3c, 0x4f3e), - CodeunitRange(0x4f42, 0x4f43), - CodeunitRange(0x4f46, 0x4f49), - CodeunitRange(0x4f4b, 0x4f4b), - CodeunitRange(0x4f4d, 0x4f51), - CodeunitRange(0x4f53, 0x4f57), - CodeunitRange(0x4f59, 0x4f5f), - CodeunitRange(0x4f69, 0x4f6a), - CodeunitRange(0x4f6f, 0x4f70), - CodeunitRange(0x4f73, 0x4f74), - CodeunitRange(0x4f76, 0x4f76), - CodeunitRange(0x4f78, 0x4f81), - CodeunitRange(0x4f83, 0x4f84), - CodeunitRange(0x4f86, 0x4f86), - CodeunitRange(0x4f88, 0x4f8b), - CodeunitRange(0x4f8d, 0x4f92), - CodeunitRange(0x4f94, 0x4f94), - CodeunitRange(0x4f96, 0x4f98), - CodeunitRange(0x4f9a, 0x4f9d), - CodeunitRange(0x4fae, 0x4faf), - CodeunitRange(0x4fb2, 0x4fb2), - CodeunitRange(0x4fb5, 0x4fb6), - CodeunitRange(0x4fb9, 0x4fb9), - CodeunitRange(0x4fbb, 0x4fbb), - CodeunitRange(0x4fbf, 0x4fbf), - CodeunitRange(0x4fc1, 0x4fc5), - CodeunitRange(0x4fc9, 0x4fca), - CodeunitRange(0x4fcc, 0x4fd4), - CodeunitRange(0x4fd7, 0x4fdb), - CodeunitRange(0x4fdd, 0x4fe1), - CodeunitRange(0x4fe3, 0x4fe3), - CodeunitRange(0x4fee, 0x4ff1), - CodeunitRange(0x4ff3, 0x4ff6), - CodeunitRange(0x4ff8, 0x4ff8), - CodeunitRange(0x4ffa, 0x4ffa), - CodeunitRange(0x4ffe, 0x4ffe), - CodeunitRange(0x5000, 0x5000), - CodeunitRange(0x5002, 0x5002), - CodeunitRange(0x5005, 0x5007), - CodeunitRange(0x5009, 0x5009), - CodeunitRange(0x500b, 0x500b), - CodeunitRange(0x500d, 0x500d), - CodeunitRange(0x500f, 0x500f), - CodeunitRange(0x5011, 0x5014), - CodeunitRange(0x5016, 0x5016), - CodeunitRange(0x5018, 0x501a), - CodeunitRange(0x501c, 0x501c), - CodeunitRange(0x501e, 0x501f), - CodeunitRange(0x5021, 0x502e), - CodeunitRange(0x5030, 0x5030), - CodeunitRange(0x503b, 0x503b), - CodeunitRange(0x5043, 0x5044), - CodeunitRange(0x5047, 0x504a), - CodeunitRange(0x504e, 0x504f), - CodeunitRange(0x5053, 0x5053), - CodeunitRange(0x5055, 0x5056), - CodeunitRange(0x5058, 0x505a), - CodeunitRange(0x505c, 0x505c), - CodeunitRange(0x5060, 0x5060), - CodeunitRange(0x5062, 0x5062), - CodeunitRange(0x5065, 0x5066), - CodeunitRange(0x506a, 0x506a), - CodeunitRange(0x5070, 0x5070), - CodeunitRange(0x5072, 0x5072), - CodeunitRange(0x5074, 0x5076), - CodeunitRange(0x5078, 0x5078), - CodeunitRange(0x5080, 0x5080), - CodeunitRange(0x5083, 0x5083), - CodeunitRange(0x5085, 0x5085), - CodeunitRange(0x508b, 0x508b), - CodeunitRange(0x508d, 0x508d), - CodeunitRange(0x5091, 0x5092), - CodeunitRange(0x5094, 0x5094), - CodeunitRange(0x5096, 0x5096), - CodeunitRange(0x5098, 0x509b), - CodeunitRange(0x509d, 0x509e), - CodeunitRange(0x50a2, 0x50a2), - CodeunitRange(0x50ac, 0x50ae), - CodeunitRange(0x50b2, 0x50b5), - CodeunitRange(0x50b7, 0x50b7), - CodeunitRange(0x50bd, 0x50bf), - CodeunitRange(0x50c2, 0x50c2), - CodeunitRange(0x50c4, 0x50c5), - CodeunitRange(0x50c9, 0x50ca), - CodeunitRange(0x50cf, 0x50cf), - CodeunitRange(0x50d1, 0x50d1), - CodeunitRange(0x50d4, 0x50d6), - CodeunitRange(0x50da, 0x50db), - CodeunitRange(0x50de, 0x50de), - CodeunitRange(0x50e2, 0x50e2), - CodeunitRange(0x50e5, 0x50e7), - CodeunitRange(0x50e9, 0x50e9), - CodeunitRange(0x50ec, 0x50ee), - CodeunitRange(0x50f5, 0x50f5), - CodeunitRange(0x50f9, 0x50f9), - CodeunitRange(0x50fb, 0x50fb), - CodeunitRange(0x50fe, 0x5104), - CodeunitRange(0x5106, 0x5107), - CodeunitRange(0x5109, 0x5109), - CodeunitRange(0x510b, 0x510c), - CodeunitRange(0x5110, 0x5110), - CodeunitRange(0x5112, 0x5115), - CodeunitRange(0x5117, 0x5118), - CodeunitRange(0x511a, 0x511c), - CodeunitRange(0x511f, 0x511f), - CodeunitRange(0x5121, 0x5122), - CodeunitRange(0x5124, 0x5125), - CodeunitRange(0x5127, 0x5127), - CodeunitRange(0x512a, 0x512b), - CodeunitRange(0x5131, 0x5133), - CodeunitRange(0x5135, 0x5135), - CodeunitRange(0x5137, 0x513c), - CodeunitRange(0x513f, 0x5141), - CodeunitRange(0x5143, 0x5149), - CodeunitRange(0x514b, 0x514e), - CodeunitRange(0x5150, 0x5150), - CodeunitRange(0x5152, 0x5152), - CodeunitRange(0x5154, 0x5157), - CodeunitRange(0x515a, 0x515a), - CodeunitRange(0x515c, 0x515c), - CodeunitRange(0x5162, 0x5162), - CodeunitRange(0x5165, 0x5165), - CodeunitRange(0x5167, 0x516e), - CodeunitRange(0x5171, 0x5171), - CodeunitRange(0x5175, 0x5178), - CodeunitRange(0x517c, 0x517c), - CodeunitRange(0x5180, 0x5180), - CodeunitRange(0x5182, 0x5182), - CodeunitRange(0x5186, 0x5186), - CodeunitRange(0x5189, 0x518a), - CodeunitRange(0x518c, 0x518d), - CodeunitRange(0x518f, 0x518f), - CodeunitRange(0x5191, 0x5193), - CodeunitRange(0x5195, 0x5199), - CodeunitRange(0x519e, 0x519e), - CodeunitRange(0x51a0, 0x51a0), - CodeunitRange(0x51a2, 0x51a5), - CodeunitRange(0x51aa, 0x51ac), - CodeunitRange(0x51b0, 0x51b2), - CodeunitRange(0x51b6, 0x51b7), - CodeunitRange(0x51bd, 0x51be), - CodeunitRange(0x51c4, 0x51c6), - CodeunitRange(0x51c9, 0x51cd), - CodeunitRange(0x51d2, 0x51d2), - CodeunitRange(0x51d4, 0x51d4), - CodeunitRange(0x51d6, 0x51d6), - CodeunitRange(0x51db, 0x51de), - CodeunitRange(0x51e0, 0x51e1), - CodeunitRange(0x51e9, 0x51e9), - CodeunitRange(0x51ed, 0x51ed), - CodeunitRange(0x51f0, 0x51f1), - CodeunitRange(0x51f3, 0x51f6), - CodeunitRange(0x51f8, 0x51fa), - CodeunitRange(0x51fd, 0x51fd), - CodeunitRange(0x5200, 0x5203), - CodeunitRange(0x5206, 0x5208), - CodeunitRange(0x520a, 0x520a), - CodeunitRange(0x520e, 0x520e), - CodeunitRange(0x5211, 0x5211), - CodeunitRange(0x5213, 0x5213), - CodeunitRange(0x5216, 0x5217), - CodeunitRange(0x521d, 0x521d), - CodeunitRange(0x5224, 0x5227), - CodeunitRange(0x5229, 0x522a), - CodeunitRange(0x522e, 0x522e), - CodeunitRange(0x5230, 0x5233), - CodeunitRange(0x5236, 0x523b), - CodeunitRange(0x5243, 0x5244), - CodeunitRange(0x5246, 0x5247), - CodeunitRange(0x5249, 0x524d), - CodeunitRange(0x5254, 0x5257), - CodeunitRange(0x525a, 0x525b), - CodeunitRange(0x525d, 0x525f), - CodeunitRange(0x5261, 0x5261), - CodeunitRange(0x5269, 0x526a), - CodeunitRange(0x526f, 0x526f), - CodeunitRange(0x5272, 0x5272), - CodeunitRange(0x5274, 0x5275), - CodeunitRange(0x5277, 0x5277), - CodeunitRange(0x527a, 0x527a), - CodeunitRange(0x527d, 0x527d), - CodeunitRange(0x527f, 0x527f), - CodeunitRange(0x5282, 0x5283), - CodeunitRange(0x5287, 0x5289), - CodeunitRange(0x528d, 0x528d), - CodeunitRange(0x5291, 0x5293), - CodeunitRange(0x5297, 0x5298), - CodeunitRange(0x529b, 0x529b), - CodeunitRange(0x529f, 0x52a0), - CodeunitRange(0x52a3, 0x52a4), - CodeunitRange(0x52a7, 0x52a7), - CodeunitRange(0x52a9, 0x52ae), - CodeunitRange(0x52b9, 0x52b9), - CodeunitRange(0x52be, 0x52be), - CodeunitRange(0x52c1, 0x52c1), - CodeunitRange(0x52c3, 0x52c3), - CodeunitRange(0x52c5, 0x52c5), - CodeunitRange(0x52c7, 0x52c7), - CodeunitRange(0x52c9, 0x52c9), - CodeunitRange(0x52cc, 0x52cd), - CodeunitRange(0x52d2, 0x52d2), - CodeunitRange(0x52d5, 0x52d6), - CodeunitRange(0x52d8, 0x52d9), - CodeunitRange(0x52db, 0x52db), - CodeunitRange(0x52dd, 0x52e4), - CodeunitRange(0x52e6, 0x52e6), - CodeunitRange(0x52ed, 0x52ed), - CodeunitRange(0x52f2, 0x52f3), - CodeunitRange(0x52f5, 0x52f5), - CodeunitRange(0x52f8, 0x52fb), - CodeunitRange(0x52fe, 0x5303), - CodeunitRange(0x5305, 0x5305), - CodeunitRange(0x5308, 0x5308), - CodeunitRange(0x530a, 0x530a), - CodeunitRange(0x530c, 0x530d), - CodeunitRange(0x530f, 0x5310), - CodeunitRange(0x5315, 0x5317), - CodeunitRange(0x5319, 0x531a), - CodeunitRange(0x5320, 0x5321), - CodeunitRange(0x5323, 0x5323), - CodeunitRange(0x5327, 0x5327), - CodeunitRange(0x532a, 0x532a), - CodeunitRange(0x532f, 0x532f), - CodeunitRange(0x5331, 0x5331), - CodeunitRange(0x5336, 0x5336), - CodeunitRange(0x5338, 0x533b), - CodeunitRange(0x533d, 0x5341), - CodeunitRange(0x5343, 0x5345), - CodeunitRange(0x5347, 0x534a), - CodeunitRange(0x534d, 0x534d), - CodeunitRange(0x5351, 0x5354), - CodeunitRange(0x5357, 0x5357), - CodeunitRange(0x535a, 0x535a), - CodeunitRange(0x535c, 0x535c), - CodeunitRange(0x535e, 0x535e), - CodeunitRange(0x5360, 0x5361), - CodeunitRange(0x5364, 0x5364), - CodeunitRange(0x5366, 0x5366), - CodeunitRange(0x5368, 0x5369), - CodeunitRange(0x536c, 0x536c), - CodeunitRange(0x536e, 0x5375), - CodeunitRange(0x5377, 0x537b), - CodeunitRange(0x537d, 0x537f), - CodeunitRange(0x5382, 0x5382), - CodeunitRange(0x5384, 0x5384), - CodeunitRange(0x538e, 0x538e), - CodeunitRange(0x5393, 0x5393), - CodeunitRange(0x5396, 0x5396), - CodeunitRange(0x5398, 0x5398), - CodeunitRange(0x539a, 0x539a), - CodeunitRange(0x539d, 0x539d), - CodeunitRange(0x539f, 0x53a0), - CodeunitRange(0x53a5, 0x53a6), - CodeunitRange(0x53aa, 0x53aa), - CodeunitRange(0x53ad, 0x53ae), - CodeunitRange(0x53b2, 0x53b3), - CodeunitRange(0x53b6, 0x53b6), - CodeunitRange(0x53b9, 0x53b9), - CodeunitRange(0x53bb, 0x53bb), - CodeunitRange(0x53c2, 0x53c3), - CodeunitRange(0x53c5, 0x53c5), - CodeunitRange(0x53c8, 0x53cd), - CodeunitRange(0x53d4, 0x53d4), - CodeunitRange(0x53d6, 0x53d7), - CodeunitRange(0x53d9, 0x53d9), - CodeunitRange(0x53db, 0x53db), - CodeunitRange(0x53df, 0x53df), - CodeunitRange(0x53e1, 0x53e6), - CodeunitRange(0x53e8, 0x53f8), - CodeunitRange(0x5401, 0x5401), - CodeunitRange(0x5403, 0x5404), - CodeunitRange(0x5408, 0x5411), - CodeunitRange(0x541b, 0x541b), - CodeunitRange(0x541d, 0x541d), - CodeunitRange(0x541f, 0x5420), - CodeunitRange(0x5426, 0x5426), - CodeunitRange(0x5429, 0x5429), - CodeunitRange(0x542b, 0x542c), - CodeunitRange(0x542e, 0x542e), - CodeunitRange(0x5431, 0x5431), - CodeunitRange(0x5433, 0x5433), - CodeunitRange(0x5436, 0x5436), - CodeunitRange(0x5438, 0x5439), - CodeunitRange(0x543b, 0x543e), - CodeunitRange(0x5440, 0x5440), - CodeunitRange(0x5442, 0x5442), - CodeunitRange(0x5446, 0x5446), - CodeunitRange(0x5448, 0x5448), - CodeunitRange(0x544a, 0x544a), - CodeunitRange(0x544e, 0x544e), - CodeunitRange(0x5451, 0x5451), - CodeunitRange(0x545d, 0x545d), - CodeunitRange(0x545f, 0x545f), - CodeunitRange(0x5462, 0x5462), - CodeunitRange(0x5464, 0x5464), - CodeunitRange(0x5466, 0x5466), - CodeunitRange(0x5468, 0x5468), - CodeunitRange(0x546a, 0x546b), - CodeunitRange(0x5470, 0x5471), - CodeunitRange(0x5473, 0x5473), - CodeunitRange(0x5475, 0x5476), - CodeunitRange(0x547b, 0x547d), - CodeunitRange(0x547f, 0x5480), - CodeunitRange(0x5484, 0x5484), - CodeunitRange(0x5486, 0x5487), - CodeunitRange(0x548b, 0x5490), - CodeunitRange(0x5496, 0x5496), - CodeunitRange(0x54a0, 0x54a0), - CodeunitRange(0x54a2, 0x54a2), - CodeunitRange(0x54a4, 0x54a5), - CodeunitRange(0x54a8, 0x54a8), - CodeunitRange(0x54ab, 0x54ac), - CodeunitRange(0x54af, 0x54af), - CodeunitRange(0x54b2, 0x54b3), - CodeunitRange(0x54b8, 0x54b8), - CodeunitRange(0x54bb, 0x54bd), - CodeunitRange(0x54bf, 0x54c4), - CodeunitRange(0x54c6, 0x54c9), - CodeunitRange(0x54e1, 0x54e1), - CodeunitRange(0x54e5, 0x54e6), - CodeunitRange(0x54e8, 0x54e9), - CodeunitRange(0x54ed, 0x54ee), - CodeunitRange(0x54f1, 0x54f2), - CodeunitRange(0x54fa, 0x54fa), - CodeunitRange(0x54fd, 0x54fd), - CodeunitRange(0x54ff, 0x54ff), - CodeunitRange(0x5504, 0x5504), - CodeunitRange(0x5506, 0x5507), - CodeunitRange(0x5509, 0x5509), - CodeunitRange(0x550e, 0x5510), - CodeunitRange(0x5514, 0x5514), - CodeunitRange(0x551c, 0x551c), - CodeunitRange(0x552b, 0x552b), - CodeunitRange(0x552e, 0x552f), - CodeunitRange(0x5531, 0x5531), - CodeunitRange(0x5533, 0x5533), - CodeunitRange(0x5535, 0x5535), - CodeunitRange(0x5539, 0x5539), - CodeunitRange(0x553c, 0x553c), - CodeunitRange(0x553e, 0x553e), - CodeunitRange(0x5540, 0x5540), - CodeunitRange(0x5542, 0x5542), - CodeunitRange(0x5544, 0x5544), - CodeunitRange(0x5546, 0x5546), - CodeunitRange(0x554a, 0x554a), - CodeunitRange(0x554f, 0x554f), - CodeunitRange(0x5553, 0x5553), - CodeunitRange(0x5556, 0x5557), - CodeunitRange(0x555c, 0x555c), - CodeunitRange(0x555e, 0x555e), - CodeunitRange(0x5563, 0x5563), - CodeunitRange(0x557b, 0x5581), - CodeunitRange(0x5583, 0x5584), - CodeunitRange(0x5586, 0x5587), - CodeunitRange(0x5589, 0x558b), - CodeunitRange(0x5591, 0x5591), - CodeunitRange(0x5593, 0x5594), - CodeunitRange(0x5598, 0x559a), - CodeunitRange(0x559c, 0x559f), - CodeunitRange(0x55a3, 0x55a4), - CodeunitRange(0x55a7, 0x55ac), - CodeunitRange(0x55ae, 0x55ae), - CodeunitRange(0x55b0, 0x55b0), - CodeunitRange(0x55c3, 0x55c3), - CodeunitRange(0x55c5, 0x55c5), - CodeunitRange(0x55c7, 0x55c7), - CodeunitRange(0x55c9, 0x55c9), - CodeunitRange(0x55d1, 0x55d1), - CodeunitRange(0x55d4, 0x55d4), - CodeunitRange(0x55da, 0x55dc), - CodeunitRange(0x55df, 0x55e0), - CodeunitRange(0x55e2, 0x55e4), - CodeunitRange(0x55f7, 0x55f7), - CodeunitRange(0x55fd, 0x55ff), - CodeunitRange(0x5604, 0x5604), - CodeunitRange(0x5606, 0x5606), - CodeunitRange(0x5608, 0x5609), - CodeunitRange(0x560c, 0x5610), - CodeunitRange(0x5612, 0x5612), - CodeunitRange(0x5614, 0x5614), - CodeunitRange(0x5616, 0x5617), - CodeunitRange(0x5629, 0x5629), - CodeunitRange(0x562c, 0x562c), - CodeunitRange(0x562f, 0x562f), - CodeunitRange(0x5632, 0x5632), - CodeunitRange(0x5634, 0x5634), - CodeunitRange(0x5636, 0x5639), - CodeunitRange(0x563b, 0x563b), - CodeunitRange(0x563f, 0x563f), - CodeunitRange(0x5641, 0x5642), - CodeunitRange(0x5649, 0x5649), - CodeunitRange(0x564b, 0x564b), - CodeunitRange(0x564d, 0x564f), - CodeunitRange(0x5653, 0x5653), - CodeunitRange(0x5664, 0x5665), - CodeunitRange(0x5668, 0x566d), - CodeunitRange(0x566f, 0x566f), - CodeunitRange(0x5672, 0x5672), - CodeunitRange(0x5674, 0x5674), - CodeunitRange(0x5676, 0x5676), - CodeunitRange(0x5678, 0x5678), - CodeunitRange(0x567a, 0x567a), - CodeunitRange(0x5680, 0x5680), - CodeunitRange(0x5684, 0x5684), - CodeunitRange(0x5686, 0x5687), - CodeunitRange(0x568f, 0x568f), - CodeunitRange(0x5699, 0x569a), - CodeunitRange(0x56a5, 0x56a5), - CodeunitRange(0x56a7, 0x56a7), - CodeunitRange(0x56ac, 0x56ac), - CodeunitRange(0x56ae, 0x56ae), - CodeunitRange(0x56b3, 0x56b4), - CodeunitRange(0x56b6, 0x56b6), - CodeunitRange(0x56bc, 0x56bc), - CodeunitRange(0x56c0, 0x56c3), - CodeunitRange(0x56c8, 0x56ca), - CodeunitRange(0x56cd, 0x56cd), - CodeunitRange(0x56d1, 0x56d1), - CodeunitRange(0x56d7, 0x56d7), - CodeunitRange(0x56da, 0x56db), - CodeunitRange(0x56de, 0x56e0), - CodeunitRange(0x56e3, 0x56e3), - CodeunitRange(0x56e6, 0x56e7), - CodeunitRange(0x56eb, 0x56eb), - CodeunitRange(0x56ed, 0x56ee), - CodeunitRange(0x56f0, 0x56f0), - CodeunitRange(0x56f3, 0x56f3), - CodeunitRange(0x56f7, 0x56f7), - CodeunitRange(0x56f9, 0x56fa), - CodeunitRange(0x56fd, 0x56fd), - CodeunitRange(0x56ff, 0x56ff), - CodeunitRange(0x5701, 0x5704), - CodeunitRange(0x5707, 0x570b), - CodeunitRange(0x570d, 0x570d), - CodeunitRange(0x5712, 0x5713), - CodeunitRange(0x5716, 0x5716), - CodeunitRange(0x5718, 0x5718), - CodeunitRange(0x571c, 0x571c), - CodeunitRange(0x571f, 0x571f), - CodeunitRange(0x5725, 0x5725), - CodeunitRange(0x5728, 0x572a), - CodeunitRange(0x572c, 0x572e), - CodeunitRange(0x5730, 0x5730), - CodeunitRange(0x573b, 0x573b), - CodeunitRange(0x573e, 0x573e), - CodeunitRange(0x5740, 0x5742), - CodeunitRange(0x5747, 0x5747), - CodeunitRange(0x574a, 0x574a), - CodeunitRange(0x574c, 0x5751), - CodeunitRange(0x5761, 0x5761), - CodeunitRange(0x5764, 0x5764), - CodeunitRange(0x5766, 0x576a), - CodeunitRange(0x576e, 0x5771), - CodeunitRange(0x5773, 0x5773), - CodeunitRange(0x5775, 0x5775), - CodeunitRange(0x5777, 0x5778), - CodeunitRange(0x577b, 0x577c), - CodeunitRange(0x5782, 0x5782), - CodeunitRange(0x5788, 0x5788), - CodeunitRange(0x578b, 0x578c), - CodeunitRange(0x5793, 0x5793), - CodeunitRange(0x5795, 0x5795), - CodeunitRange(0x579e, 0x579e), - CodeunitRange(0x57a0, 0x57a0), - CodeunitRange(0x57a2, 0x57a4), - CodeunitRange(0x57b8, 0x57b8), - CodeunitRange(0x57bd, 0x57bd), - CodeunitRange(0x57c3, 0x57c3), - CodeunitRange(0x57c6, 0x57c9), - CodeunitRange(0x57cb, 0x57cb), - CodeunitRange(0x57ce, 0x57cf), - CodeunitRange(0x57d1, 0x57d2), - CodeunitRange(0x57dc, 0x57dc), - CodeunitRange(0x57df, 0x57e0), - CodeunitRange(0x57e4, 0x57e4), - CodeunitRange(0x57e9, 0x57e9), - CodeunitRange(0x57ed, 0x57ee), - CodeunitRange(0x57f0, 0x57f0), - CodeunitRange(0x57f3, 0x57f4), - CodeunitRange(0x57f6, 0x57f7), - CodeunitRange(0x57f9, 0x57fd), - CodeunitRange(0x5800, 0x5800), - CodeunitRange(0x5802, 0x5806), - CodeunitRange(0x5808, 0x580b), - CodeunitRange(0x5817, 0x5817), - CodeunitRange(0x5819, 0x5819), - CodeunitRange(0x581d, 0x581e), - CodeunitRange(0x5820, 0x5821), - CodeunitRange(0x5823, 0x5824), - CodeunitRange(0x5826, 0x5827), - CodeunitRange(0x582a, 0x582a), - CodeunitRange(0x582d, 0x582d), - CodeunitRange(0x582f, 0x5831), - CodeunitRange(0x5834, 0x5835), - CodeunitRange(0x583a, 0x583a), - CodeunitRange(0x5840, 0x5840), - CodeunitRange(0x5849, 0x584d), - CodeunitRange(0x584f, 0x5852), - CodeunitRange(0x5854, 0x5854), - CodeunitRange(0x5857, 0x585a), - CodeunitRange(0x585e, 0x585e), - CodeunitRange(0x5861, 0x5862), - CodeunitRange(0x5864, 0x5864), - CodeunitRange(0x5869, 0x5869), - CodeunitRange(0x5875, 0x5875), - CodeunitRange(0x5879, 0x5879), - CodeunitRange(0x587c, 0x587e), - CodeunitRange(0x5880, 0x5881), - CodeunitRange(0x5883, 0x5883), - CodeunitRange(0x5885, 0x5885), - CodeunitRange(0x5889, 0x588a), - CodeunitRange(0x588c, 0x588d), - CodeunitRange(0x5890, 0x5890), - CodeunitRange(0x5893, 0x5893), - CodeunitRange(0x589c, 0x589f), - CodeunitRange(0x58a1, 0x58a1), - CodeunitRange(0x58a3, 0x58a3), - CodeunitRange(0x58a8, 0x58a9), - CodeunitRange(0x58ab, 0x58ab), - CodeunitRange(0x58ae, 0x58ae), - CodeunitRange(0x58b0, 0x58b1), - CodeunitRange(0x58b3, 0x58b3), - CodeunitRange(0x58ba, 0x58bb), - CodeunitRange(0x58be, 0x58be), - CodeunitRange(0x58c1, 0x58c1), - CodeunitRange(0x58c3, 0x58c3), - CodeunitRange(0x58c5, 0x58c5), - CodeunitRange(0x58c7, 0x58c7), - CodeunitRange(0x58ce, 0x58ce), - CodeunitRange(0x58d1, 0x58d1), - CodeunitRange(0x58d3, 0x58d5), - CodeunitRange(0x58d8, 0x58da), - CodeunitRange(0x58dc, 0x58df), - CodeunitRange(0x58e1, 0x58e1), - CodeunitRange(0x58e4, 0x58e4), - CodeunitRange(0x58eb, 0x58ec), - CodeunitRange(0x58ee, 0x58f0), - CodeunitRange(0x58f2, 0x58f2), - CodeunitRange(0x58f9, 0x58fb), - CodeunitRange(0x58fd, 0x58fd), - CodeunitRange(0x5902, 0x5902), - CodeunitRange(0x5906, 0x5906), - CodeunitRange(0x5908, 0x5908), - CodeunitRange(0x590a, 0x590a), - CodeunitRange(0x590f, 0x5910), - CodeunitRange(0x5914, 0x5916), - CodeunitRange(0x5919, 0x591c), - CodeunitRange(0x5922, 0x5922), - CodeunitRange(0x5924, 0x5925), - CodeunitRange(0x5927, 0x5927), - CodeunitRange(0x5929, 0x592f), - CodeunitRange(0x5931, 0x5932), - CodeunitRange(0x5937, 0x5938), - CodeunitRange(0x593d, 0x593e), - CodeunitRange(0x5944, 0x5944), - CodeunitRange(0x5947, 0x5949), - CodeunitRange(0x594c, 0x594c), - CodeunitRange(0x594e, 0x5951), - CodeunitRange(0x5953, 0x5955), - CodeunitRange(0x5957, 0x5958), - CodeunitRange(0x595a, 0x595a), - CodeunitRange(0x595c, 0x595c), - CodeunitRange(0x5960, 0x5960), - CodeunitRange(0x5962, 0x5962), - CodeunitRange(0x5967, 0x5967), - CodeunitRange(0x5969, 0x596e), - CodeunitRange(0x5972, 0x5974), - CodeunitRange(0x5976, 0x5976), - CodeunitRange(0x5978, 0x5978), - CodeunitRange(0x597d, 0x597d), - CodeunitRange(0x5982, 0x5984), - CodeunitRange(0x598a, 0x598a), - CodeunitRange(0x598c, 0x598d), - CodeunitRange(0x5991, 0x5993), - CodeunitRange(0x5996, 0x5997), - CodeunitRange(0x5999, 0x5999), - CodeunitRange(0x599d, 0x599d), - CodeunitRange(0x59a3, 0x59a5), - CodeunitRange(0x59a7, 0x59a8), - CodeunitRange(0x59ac, 0x59ac), - CodeunitRange(0x59af, 0x59af), - CodeunitRange(0x59b2, 0x59b2), - CodeunitRange(0x59b5, 0x59b6), - CodeunitRange(0x59b8, 0x59b9), - CodeunitRange(0x59bb, 0x59bb), - CodeunitRange(0x59be, 0x59bf), - CodeunitRange(0x59c1, 0x59c1), - CodeunitRange(0x59c3, 0x59c3), - CodeunitRange(0x59c6, 0x59c6), - CodeunitRange(0x59c8, 0x59cb), - CodeunitRange(0x59cd, 0x59cd), - CodeunitRange(0x59d0, 0x59d4), - CodeunitRange(0x59d9, 0x59da), - CodeunitRange(0x59dc, 0x59de), - CodeunitRange(0x59e2, 0x59e6), - CodeunitRange(0x59e8, 0x59e8), - CodeunitRange(0x59ea, 0x59ec), - CodeunitRange(0x59ee, 0x59ee), - CodeunitRange(0x59f0, 0x59f0), - CodeunitRange(0x59f2, 0x59f2), - CodeunitRange(0x59f7, 0x59fc), - CodeunitRange(0x59ff, 0x59ff), - CodeunitRange(0x5a01, 0x5a01), - CodeunitRange(0x5a03, 0x5a03), - CodeunitRange(0x5a09, 0x5a0a), - CodeunitRange(0x5a0d, 0x5a0d), - CodeunitRange(0x5a11, 0x5a11), - CodeunitRange(0x5a13, 0x5a13), - CodeunitRange(0x5a18, 0x5a19), - CodeunitRange(0x5a1b, 0x5a1c), - CodeunitRange(0x5a1f, 0x5a20), - CodeunitRange(0x5a23, 0x5a23), - CodeunitRange(0x5a25, 0x5a25), - CodeunitRange(0x5a27, 0x5a27), - CodeunitRange(0x5a29, 0x5a29), - CodeunitRange(0x5a2b, 0x5a2b), - CodeunitRange(0x5a2d, 0x5a2d), - CodeunitRange(0x5a35, 0x5a36), - CodeunitRange(0x5a3c, 0x5a3c), - CodeunitRange(0x5a3f, 0x5a41), - CodeunitRange(0x5a46, 0x5a47), - CodeunitRange(0x5a49, 0x5a49), - CodeunitRange(0x5a4b, 0x5a4c), - CodeunitRange(0x5a50, 0x5a51), - CodeunitRange(0x5a5a, 0x5a5a), - CodeunitRange(0x5a60, 0x5a60), - CodeunitRange(0x5a62, 0x5a63), - CodeunitRange(0x5a66, 0x5a67), - CodeunitRange(0x5a69, 0x5a6a), - CodeunitRange(0x5a6d, 0x5a6d), - CodeunitRange(0x5a72, 0x5a72), - CodeunitRange(0x5a77, 0x5a77), - CodeunitRange(0x5a7f, 0x5a7f), - CodeunitRange(0x5a84, 0x5a84), - CodeunitRange(0x5a8d, 0x5a8d), - CodeunitRange(0x5a90, 0x5a90), - CodeunitRange(0x5a92, 0x5a93), - CodeunitRange(0x5a95, 0x5a95), - CodeunitRange(0x5a9a, 0x5a9b), - CodeunitRange(0x5a9e, 0x5a9f), - CodeunitRange(0x5aa2, 0x5aa2), - CodeunitRange(0x5aa4, 0x5aa4), - CodeunitRange(0x5aa7, 0x5aa7), - CodeunitRange(0x5aaa, 0x5aaa), - CodeunitRange(0x5ab3, 0x5ab3), - CodeunitRange(0x5ab5, 0x5ab5), - CodeunitRange(0x5aba, 0x5abf), - CodeunitRange(0x5ac1, 0x5ac2), - CodeunitRange(0x5ac4, 0x5ac4), - CodeunitRange(0x5ac8, 0x5ac9), - CodeunitRange(0x5acb, 0x5acc), - CodeunitRange(0x5ad5, 0x5ad7), - CodeunitRange(0x5ad9, 0x5adb), - CodeunitRange(0x5add, 0x5add), - CodeunitRange(0x5ae0, 0x5ae6), - CodeunitRange(0x5ae9, 0x5ae9), - CodeunitRange(0x5aeb, 0x5aeb), - CodeunitRange(0x5aed, 0x5aef), - CodeunitRange(0x5af6, 0x5af6), - CodeunitRange(0x5afa, 0x5afb), - CodeunitRange(0x5afd, 0x5afd), - CodeunitRange(0x5b00, 0x5b00), - CodeunitRange(0x5b05, 0x5b05), - CodeunitRange(0x5b08, 0x5b09), - CodeunitRange(0x5b0b, 0x5b0c), - CodeunitRange(0x5b16, 0x5b16), - CodeunitRange(0x5b19, 0x5b19), - CodeunitRange(0x5b1b, 0x5b1b), - CodeunitRange(0x5b25, 0x5b25), - CodeunitRange(0x5b28, 0x5b28), - CodeunitRange(0x5b2a, 0x5b2a), - CodeunitRange(0x5b2d, 0x5b2d), - CodeunitRange(0x5b30, 0x5b30), - CodeunitRange(0x5b32, 0x5b32), - CodeunitRange(0x5b34, 0x5b34), - CodeunitRange(0x5b3e, 0x5b40), - CodeunitRange(0x5b43, 0x5b43), - CodeunitRange(0x5b45, 0x5b45), - CodeunitRange(0x5b4c, 0x5b4c), - CodeunitRange(0x5b50, 0x5b51), - CodeunitRange(0x5b54, 0x5b58), - CodeunitRange(0x5b5a, 0x5b5d), - CodeunitRange(0x5b5f, 0x5b5f), - CodeunitRange(0x5b61, 0x5b61), - CodeunitRange(0x5b63, 0x5b66), - CodeunitRange(0x5b69, 0x5b69), - CodeunitRange(0x5b6b, 0x5b6b), - CodeunitRange(0x5b70, 0x5b71), - CodeunitRange(0x5b75, 0x5b76), - CodeunitRange(0x5b78, 0x5b78), - CodeunitRange(0x5b7a, 0x5b7a), - CodeunitRange(0x5b7c, 0x5b7c), - CodeunitRange(0x5b7f, 0x5b82), - CodeunitRange(0x5b85, 0x5b85), - CodeunitRange(0x5b87, 0x5b8c), - CodeunitRange(0x5b8f, 0x5b8f), - CodeunitRange(0x5b93, 0x5b93), - CodeunitRange(0x5b95, 0x5b9d), - CodeunitRange(0x5b9f, 0x5b9f), - CodeunitRange(0x5ba2, 0x5ba6), - CodeunitRange(0x5bac, 0x5bac), - CodeunitRange(0x5bae, 0x5bae), - CodeunitRange(0x5bb0, 0x5bb0), - CodeunitRange(0x5bb3, 0x5bb6), - CodeunitRange(0x5bb8, 0x5bb9), - CodeunitRange(0x5bbf, 0x5bc0), - CodeunitRange(0x5bc2, 0x5bc7), - CodeunitRange(0x5bcc, 0x5bcc), - CodeunitRange(0x5bd0, 0x5bd0), - CodeunitRange(0x5bd2, 0x5bd4), - CodeunitRange(0x5bd6, 0x5bd8), - CodeunitRange(0x5bdb, 0x5bdb), - CodeunitRange(0x5bde, 0x5bdf), - CodeunitRange(0x5be1, 0x5be2), - CodeunitRange(0x5be4, 0x5be9), - CodeunitRange(0x5beb, 0x5bf0), - CodeunitRange(0x5bf5, 0x5bf6), - CodeunitRange(0x5bf8, 0x5bfa), - CodeunitRange(0x5bff, 0x5bff), - CodeunitRange(0x5c01, 0x5c01), - CodeunitRange(0x5c04, 0x5c0f), - CodeunitRange(0x5c11, 0x5c11), - CodeunitRange(0x5c14, 0x5c14), - CodeunitRange(0x5c16, 0x5c16), - CodeunitRange(0x5c19, 0x5c19), - CodeunitRange(0x5c1f, 0x5c20), - CodeunitRange(0x5c22, 0x5c24), - CodeunitRange(0x5c28, 0x5c28), - CodeunitRange(0x5c2b, 0x5c2b), - CodeunitRange(0x5c31, 0x5c31), - CodeunitRange(0x5c38, 0x5c41), - CodeunitRange(0x5c45, 0x5c48), - CodeunitRange(0x5c4b, 0x5c4b), - CodeunitRange(0x5c4d, 0x5c4e), - CodeunitRange(0x5c50, 0x5c51), - CodeunitRange(0x5c55, 0x5c55), - CodeunitRange(0x5c5b, 0x5c5b), - CodeunitRange(0x5c60, 0x5c60), - CodeunitRange(0x5c62, 0x5c62), - CodeunitRange(0x5c64, 0x5c65), - CodeunitRange(0x5c68, 0x5c68), - CodeunitRange(0x5c6c, 0x5c6c), - CodeunitRange(0x5c6f, 0x5c6f), - CodeunitRange(0x5c71, 0x5c71), - CodeunitRange(0x5c73, 0x5c73), - CodeunitRange(0x5c79, 0x5c7a), - CodeunitRange(0x5c88, 0x5c88), - CodeunitRange(0x5c8a, 0x5c8a), - CodeunitRange(0x5c8c, 0x5c8c), - CodeunitRange(0x5c8f, 0x5c92), - CodeunitRange(0x5c94, 0x5c94), - CodeunitRange(0x5c9d, 0x5c9d), - CodeunitRange(0x5ca1, 0x5ca1), - CodeunitRange(0x5ca3, 0x5ca3), - CodeunitRange(0x5ca5, 0x5cad), - CodeunitRange(0x5cb1, 0x5cb1), - CodeunitRange(0x5cb3, 0x5cb3), - CodeunitRange(0x5cb5, 0x5cb5), - CodeunitRange(0x5cb7, 0x5cb8), - CodeunitRange(0x5cba, 0x5cba), - CodeunitRange(0x5cbe, 0x5cbe), - CodeunitRange(0x5cc0, 0x5cc0), - CodeunitRange(0x5ccb, 0x5ccb), - CodeunitRange(0x5cd2, 0x5cd2), - CodeunitRange(0x5cd9, 0x5cd9), - CodeunitRange(0x5ce0, 0x5ce0), - CodeunitRange(0x5ce8, 0x5ce9), - CodeunitRange(0x5ced, 0x5ced), - CodeunitRange(0x5cef, 0x5cf1), - CodeunitRange(0x5cf4, 0x5cf4), - CodeunitRange(0x5cf6, 0x5cf6), - CodeunitRange(0x5cfb, 0x5cfb), - CodeunitRange(0x5cfd, 0x5cfd), - CodeunitRange(0x5d06, 0x5d07), - CodeunitRange(0x5d0d, 0x5d0e), - CodeunitRange(0x5d10, 0x5d11), - CodeunitRange(0x5d14, 0x5d19), - CodeunitRange(0x5d1b, 0x5d1b), - CodeunitRange(0x5d1f, 0x5d1f), - CodeunitRange(0x5d22, 0x5d22), - CodeunitRange(0x5d24, 0x5d24), - CodeunitRange(0x5d26, 0x5d27), - CodeunitRange(0x5d29, 0x5d29), - CodeunitRange(0x5d34, 0x5d34), - CodeunitRange(0x5d3d, 0x5d3d), - CodeunitRange(0x5d41, 0x5d42), - CodeunitRange(0x5d44, 0x5d44), - CodeunitRange(0x5d4b, 0x5d4c), - CodeunitRange(0x5d4e, 0x5d4e), - CodeunitRange(0x5d50, 0x5d50), - CodeunitRange(0x5d53, 0x5d54), - CodeunitRange(0x5d69, 0x5d69), - CodeunitRange(0x5d6c, 0x5d6c), - CodeunitRange(0x5d6f, 0x5d6f), - CodeunitRange(0x5d71, 0x5d71), - CodeunitRange(0x5d81, 0x5d82), - CodeunitRange(0x5d84, 0x5d84), - CodeunitRange(0x5d86, 0x5d87), - CodeunitRange(0x5d8b, 0x5d8b), - CodeunitRange(0x5d92, 0x5d92), - CodeunitRange(0x5d94, 0x5d95), - CodeunitRange(0x5d99, 0x5d99), - CodeunitRange(0x5d9d, 0x5d9d), - CodeunitRange(0x5da0, 0x5da0), - CodeunitRange(0x5da2, 0x5da2), - CodeunitRange(0x5da7, 0x5da7), - CodeunitRange(0x5daa, 0x5dab), - CodeunitRange(0x5dae, 0x5dae), - CodeunitRange(0x5db0, 0x5db0), - CodeunitRange(0x5db7, 0x5db8), - CodeunitRange(0x5dba, 0x5dba), - CodeunitRange(0x5dbc, 0x5dbe), - CodeunitRange(0x5dc9, 0x5dc9), - CodeunitRange(0x5dcb, 0x5dcb), - CodeunitRange(0x5dcd, 0x5dcd), - CodeunitRange(0x5dd1, 0x5dd3), - CodeunitRange(0x5dd6, 0x5dd6), - CodeunitRange(0x5dda, 0x5ddb), - CodeunitRange(0x5ddd, 0x5dde), - CodeunitRange(0x5de0, 0x5de2), - CodeunitRange(0x5de5, 0x5de8), - CodeunitRange(0x5deb, 0x5deb), - CodeunitRange(0x5dee, 0x5dee), - CodeunitRange(0x5df1, 0x5df5), - CodeunitRange(0x5df7, 0x5df9), - CodeunitRange(0x5dfb, 0x5dfb), - CodeunitRange(0x5dfd, 0x5dfe), - CodeunitRange(0x5e02, 0x5e03), - CodeunitRange(0x5e06, 0x5e06), - CodeunitRange(0x5e09, 0x5e09), - CodeunitRange(0x5e0c, 0x5e0c), - CodeunitRange(0x5e11, 0x5e11), - CodeunitRange(0x5e15, 0x5e16), - CodeunitRange(0x5e19, 0x5e1b), - CodeunitRange(0x5e1d, 0x5e1d), - CodeunitRange(0x5e20, 0x5e20), - CodeunitRange(0x5e25, 0x5e25), - CodeunitRange(0x5e28, 0x5e28), - CodeunitRange(0x5e2b, 0x5e2b), - CodeunitRange(0x5e2d, 0x5e2d), - CodeunitRange(0x5e33, 0x5e33), - CodeunitRange(0x5e36, 0x5e38), - CodeunitRange(0x5e3d, 0x5e3d), - CodeunitRange(0x5e3f, 0x5e40), - CodeunitRange(0x5e43, 0x5e45), - CodeunitRange(0x5e47, 0x5e47), - CodeunitRange(0x5e4c, 0x5e4c), - CodeunitRange(0x5e4e, 0x5e4e), - CodeunitRange(0x5e54, 0x5e55), - CodeunitRange(0x5e58, 0x5e58), - CodeunitRange(0x5e5e, 0x5e5f), - CodeunitRange(0x5e61, 0x5e63), - CodeunitRange(0x5e68, 0x5e68), - CodeunitRange(0x5e6a, 0x5e6c), - CodeunitRange(0x5e70, 0x5e74), - CodeunitRange(0x5e76, 0x5e80), - CodeunitRange(0x5e83, 0x5e84), - CodeunitRange(0x5e87, 0x5e87), - CodeunitRange(0x5e8a, 0x5e8b), - CodeunitRange(0x5e8f, 0x5e8f), - CodeunitRange(0x5e95, 0x5e97), - CodeunitRange(0x5e9a, 0x5e9a), - CodeunitRange(0x5e9c, 0x5e9c), - CodeunitRange(0x5ea0, 0x5ea0), - CodeunitRange(0x5ea5, 0x5ea8), - CodeunitRange(0x5eab, 0x5eab), - CodeunitRange(0x5ead, 0x5ead), - CodeunitRange(0x5eb3, 0x5eb3), - CodeunitRange(0x5eb5, 0x5eb8), - CodeunitRange(0x5ebd, 0x5ebe), - CodeunitRange(0x5ec1, 0x5ec2), - CodeunitRange(0x5ec8, 0x5ecb), - CodeunitRange(0x5ecf, 0x5ed1), - CodeunitRange(0x5ed3, 0x5ed3), - CodeunitRange(0x5ed5, 0x5ed6), - CodeunitRange(0x5ed9, 0x5edb), - CodeunitRange(0x5edd, 0x5ee3), - CodeunitRange(0x5ee5, 0x5ee5), - CodeunitRange(0x5ee7, 0x5ee9), - CodeunitRange(0x5eec, 0x5eec), - CodeunitRange(0x5ef1, 0x5ef1), - CodeunitRange(0x5ef3, 0x5ef4), - CodeunitRange(0x5ef6, 0x5ef7), - CodeunitRange(0x5efa, 0x5efb), - CodeunitRange(0x5efe, 0x5eff), - CodeunitRange(0x5f01, 0x5f01), - CodeunitRange(0x5f03, 0x5f04), - CodeunitRange(0x5f07, 0x5f08), - CodeunitRange(0x5f0a, 0x5f0b), - CodeunitRange(0x5f0f, 0x5f0f), - CodeunitRange(0x5f11, 0x5f15), - CodeunitRange(0x5f17, 0x5f18), - CodeunitRange(0x5f1b, 0x5f1b), - CodeunitRange(0x5f1f, 0x5f1f), - CodeunitRange(0x5f22, 0x5f22), - CodeunitRange(0x5f25, 0x5f27), - CodeunitRange(0x5f29, 0x5f29), - CodeunitRange(0x5f2d, 0x5f2d), - CodeunitRange(0x5f31, 0x5f31), - CodeunitRange(0x5f34, 0x5f35), - CodeunitRange(0x5f37, 0x5f37), - CodeunitRange(0x5f3a, 0x5f3a), - CodeunitRange(0x5f3c, 0x5f3c), - CodeunitRange(0x5f3e, 0x5f3e), - CodeunitRange(0x5f40, 0x5f40), - CodeunitRange(0x5f46, 0x5f46), - CodeunitRange(0x5f48, 0x5f48), - CodeunitRange(0x5f4a, 0x5f4a), - CodeunitRange(0x5f4c, 0x5f4c), - CodeunitRange(0x5f4e, 0x5f4e), - CodeunitRange(0x5f50, 0x5f51), - CodeunitRange(0x5f53, 0x5f54), - CodeunitRange(0x5f56, 0x5f59), - CodeunitRange(0x5f5b, 0x5f5b), - CodeunitRange(0x5f5d, 0x5f5d), - CodeunitRange(0x5f61, 0x5f62), - CodeunitRange(0x5f64, 0x5f67), - CodeunitRange(0x5f69, 0x5f6d), - CodeunitRange(0x5f70, 0x5f71), - CodeunitRange(0x5f73, 0x5f73), - CodeunitRange(0x5f77, 0x5f77), - CodeunitRange(0x5f79, 0x5f79), - CodeunitRange(0x5f7c, 0x5f7c), - CodeunitRange(0x5f7f, 0x5f82), - CodeunitRange(0x5f85, 0x5f85), - CodeunitRange(0x5f87, 0x5f8c), - CodeunitRange(0x5f90, 0x5f92), - CodeunitRange(0x5f97, 0x5f99), - CodeunitRange(0x5f9c, 0x5f9c), - CodeunitRange(0x5f9e, 0x5f9e), - CodeunitRange(0x5fa0, 0x5fa1), - CodeunitRange(0x5fa3, 0x5fa3), - CodeunitRange(0x5fa7, 0x5faa), - CodeunitRange(0x5fac, 0x5faf), - CodeunitRange(0x5fb3, 0x5fb3), - CodeunitRange(0x5fb5, 0x5fb5), - CodeunitRange(0x5fb7, 0x5fb7), - CodeunitRange(0x5fb9, 0x5fb9), - CodeunitRange(0x5fbc, 0x5fbd), - CodeunitRange(0x5fc3, 0x5fc5), - CodeunitRange(0x5fc8, 0x5fc9), - CodeunitRange(0x5fcc, 0x5fce), - CodeunitRange(0x5fd0, 0x5fd0), - CodeunitRange(0x5fd2, 0x5fd3), - CodeunitRange(0x5fd5, 0x5fd9), - CodeunitRange(0x5fdc, 0x5fe1), - CodeunitRange(0x5fe4, 0x5fe4), - CodeunitRange(0x5fe8, 0x5fe8), - CodeunitRange(0x5feb, 0x5feb), - CodeunitRange(0x5fed, 0x5fef), - CodeunitRange(0x5ff1, 0x5ff1), - CodeunitRange(0x5ff5, 0x5ff5), - CodeunitRange(0x5ff8, 0x5ff8), - CodeunitRange(0x5ffb, 0x5ffd), - CodeunitRange(0x5fff, 0x5fff), - CodeunitRange(0x600a, 0x600a), - CodeunitRange(0x600d, 0x600d), - CodeunitRange(0x600f, 0x600f), - CodeunitRange(0x6012, 0x6012), - CodeunitRange(0x6014, 0x6017), - CodeunitRange(0x6019, 0x6019), - CodeunitRange(0x601b, 0x601d), - CodeunitRange(0x6020, 0x6021), - CodeunitRange(0x6025, 0x602a), - CodeunitRange(0x602f, 0x6030), - CodeunitRange(0x6033, 0x6033), - CodeunitRange(0x6041, 0x6043), - CodeunitRange(0x6046, 0x6048), - CodeunitRange(0x604a, 0x604b), - CodeunitRange(0x604d, 0x604d), - CodeunitRange(0x6050, 0x6050), - CodeunitRange(0x6052, 0x6052), - CodeunitRange(0x6055, 0x6055), - CodeunitRange(0x6059, 0x605a), - CodeunitRange(0x605d, 0x605d), - CodeunitRange(0x605f, 0x6060), - CodeunitRange(0x6062, 0x6065), - CodeunitRange(0x6068, 0x606d), - CodeunitRange(0x606f, 0x6070), - CodeunitRange(0x6075, 0x6075), - CodeunitRange(0x6081, 0x6081), - CodeunitRange(0x6083, 0x6086), - CodeunitRange(0x6089, 0x608d), - CodeunitRange(0x608f, 0x608f), - CodeunitRange(0x6092, 0x6092), - CodeunitRange(0x6094, 0x6097), - CodeunitRange(0x609a, 0x609b), - CodeunitRange(0x609f, 0x60a0), - CodeunitRange(0x60a2, 0x60a4), - CodeunitRange(0x60a7, 0x60a7), - CodeunitRange(0x60aa, 0x60aa), - CodeunitRange(0x60b0, 0x60b6), - CodeunitRange(0x60b8, 0x60b8), - CodeunitRange(0x60bb, 0x60be), - CodeunitRange(0x60c4, 0x60c7), - CodeunitRange(0x60c9, 0x60c9), - CodeunitRange(0x60cb, 0x60cb), - CodeunitRange(0x60cf, 0x60cf), - CodeunitRange(0x60d1, 0x60d1), - CodeunitRange(0x60d3, 0x60d3), - CodeunitRange(0x60d5, 0x60d5), - CodeunitRange(0x60d7, 0x60e2), - CodeunitRange(0x60f0, 0x60f4), - CodeunitRange(0x60f6, 0x60fc), - CodeunitRange(0x6100, 0x6101), - CodeunitRange(0x6103, 0x6103), - CodeunitRange(0x6106, 0x6106), - CodeunitRange(0x6108, 0x6109), - CodeunitRange(0x610d, 0x610f), - CodeunitRange(0x6114, 0x6115), - CodeunitRange(0x611a, 0x611c), - CodeunitRange(0x611e, 0x611f), - CodeunitRange(0x6122, 0x6122), - CodeunitRange(0x6127, 0x6128), - CodeunitRange(0x612b, 0x612d), - CodeunitRange(0x6130, 0x6130), - CodeunitRange(0x6134, 0x6134), - CodeunitRange(0x6137, 0x6137), - CodeunitRange(0x613c, 0x613c), - CodeunitRange(0x613e, 0x613f), - CodeunitRange(0x6142, 0x6142), - CodeunitRange(0x6144, 0x6144), - CodeunitRange(0x6146, 0x6148), - CodeunitRange(0x614a, 0x614d), - CodeunitRange(0x614f, 0x614f), - CodeunitRange(0x6152, 0x6155), - CodeunitRange(0x6158, 0x615a), - CodeunitRange(0x615c, 0x615d), - CodeunitRange(0x615f, 0x6164), - CodeunitRange(0x6167, 0x6168), - CodeunitRange(0x616a, 0x616b), - CodeunitRange(0x616e, 0x616e), - CodeunitRange(0x6170, 0x6171), - CodeunitRange(0x6173, 0x6177), - CodeunitRange(0x617a, 0x617a), - CodeunitRange(0x617c, 0x617e), - CodeunitRange(0x6181, 0x6183), - CodeunitRange(0x618a, 0x618a), - CodeunitRange(0x618d, 0x618e), - CodeunitRange(0x6190, 0x6194), - CodeunitRange(0x6196, 0x6196), - CodeunitRange(0x6198, 0x619a), - CodeunitRange(0x61a4, 0x61a4), - CodeunitRange(0x61a7, 0x61a9), - CodeunitRange(0x61ab, 0x61ac), - CodeunitRange(0x61ae, 0x61af), - CodeunitRange(0x61b2, 0x61b2), - CodeunitRange(0x61b6, 0x61b6), - CodeunitRange(0x61b8, 0x61b8), - CodeunitRange(0x61ba, 0x61be), - CodeunitRange(0x61c3, 0x61c3), - CodeunitRange(0x61c6, 0x61cc), - CodeunitRange(0x61cf, 0x61cf), - CodeunitRange(0x61d5, 0x61d5), - CodeunitRange(0x61d7, 0x61d7), - CodeunitRange(0x61de, 0x61df), - CodeunitRange(0x61e3, 0x61e3), - CodeunitRange(0x61e6, 0x61e6), - CodeunitRange(0x61f2, 0x61f2), - CodeunitRange(0x61f6, 0x61f8), - CodeunitRange(0x61fa, 0x61fa), - CodeunitRange(0x61fc, 0x6200), - CodeunitRange(0x6207, 0x6208), - CodeunitRange(0x620a, 0x620a), - CodeunitRange(0x620c, 0x620e), - CodeunitRange(0x6210, 0x6212), - CodeunitRange(0x6214, 0x6216), - CodeunitRange(0x6218, 0x6218), - CodeunitRange(0x621a, 0x621a), - CodeunitRange(0x621e, 0x621f), - CodeunitRange(0x6221, 0x6222), - CodeunitRange(0x6226, 0x6227), - CodeunitRange(0x6229, 0x622a), - CodeunitRange(0x622d, 0x622e), - CodeunitRange(0x6230, 0x6236), - CodeunitRange(0x6239, 0x6239), - CodeunitRange(0x623e, 0x6241), - CodeunitRange(0x6243, 0x6243), - CodeunitRange(0x6247, 0x624e), - CodeunitRange(0x6251, 0x6253), - CodeunitRange(0x6257, 0x6258), - CodeunitRange(0x625b, 0x625c), - CodeunitRange(0x625e, 0x625e), - CodeunitRange(0x6263, 0x6263), - CodeunitRange(0x6268, 0x6268), - CodeunitRange(0x626e, 0x626e), - CodeunitRange(0x6271, 0x6271), - CodeunitRange(0x6273, 0x6273), - CodeunitRange(0x6276, 0x6276), - CodeunitRange(0x6279, 0x627a), - CodeunitRange(0x627c, 0x627c), - CodeunitRange(0x627e, 0x6280), - CodeunitRange(0x6283, 0x6284), - CodeunitRange(0x6286, 0x6286), - CodeunitRange(0x6289, 0x628a), - CodeunitRange(0x628f, 0x628f), - CodeunitRange(0x6291, 0x6292), - CodeunitRange(0x6294, 0x6298), - CodeunitRange(0x629b, 0x629b), - CodeunitRange(0x62a6, 0x62a6), - CodeunitRange(0x62a8, 0x62a8), - CodeunitRange(0x62ab, 0x62ac), - CodeunitRange(0x62ae, 0x62ae), - CodeunitRange(0x62b1, 0x62b2), - CodeunitRange(0x62b5, 0x62b5), - CodeunitRange(0x62b9, 0x62b9), - CodeunitRange(0x62bc, 0x62bd), - CodeunitRange(0x62c2, 0x62c2), - CodeunitRange(0x62c4, 0x62cd), - CodeunitRange(0x62cf, 0x62d9), - CodeunitRange(0x62db, 0x62dc), - CodeunitRange(0x62e1, 0x62e1), - CodeunitRange(0x62ec, 0x62ef), - CodeunitRange(0x62f1, 0x62f1), - CodeunitRange(0x62f3, 0x62f3), - CodeunitRange(0x62f5, 0x62f7), - CodeunitRange(0x62fd, 0x62ff), - CodeunitRange(0x6301, 0x6302), - CodeunitRange(0x6307, 0x6307), - CodeunitRange(0x6309, 0x6309), - CodeunitRange(0x630c, 0x630c), - CodeunitRange(0x6310, 0x6312), - CodeunitRange(0x6328, 0x6328), - CodeunitRange(0x632a, 0x632b), - CodeunitRange(0x632f, 0x632f), - CodeunitRange(0x6339, 0x633b), - CodeunitRange(0x633d, 0x633e), - CodeunitRange(0x6342, 0x6344), - CodeunitRange(0x6346, 0x6346), - CodeunitRange(0x6349, 0x6349), - CodeunitRange(0x634c, 0x6350), - CodeunitRange(0x6353, 0x6353), - CodeunitRange(0x6355, 0x6355), - CodeunitRange(0x6357, 0x6357), - CodeunitRange(0x635a, 0x635a), - CodeunitRange(0x6367, 0x6369), - CodeunitRange(0x636b, 0x636b), - CodeunitRange(0x636e, 0x636e), - CodeunitRange(0x6371, 0x6372), - CodeunitRange(0x6376, 0x6377), - CodeunitRange(0x637a, 0x637b), - CodeunitRange(0x637f, 0x6380), - CodeunitRange(0x6383, 0x6384), - CodeunitRange(0x6387, 0x638a), - CodeunitRange(0x638c, 0x638c), - CodeunitRange(0x638e, 0x638f), - CodeunitRange(0x6392, 0x6392), - CodeunitRange(0x6396, 0x6396), - CodeunitRange(0x6398, 0x6398), - CodeunitRange(0x639b, 0x639c), - CodeunitRange(0x639f, 0x63a2), - CodeunitRange(0x63a5, 0x63a5), - CodeunitRange(0x63a7, 0x63aa), - CodeunitRange(0x63ac, 0x63ac), - CodeunitRange(0x63be, 0x63be), - CodeunitRange(0x63c0, 0x63c0), - CodeunitRange(0x63c3, 0x63c4), - CodeunitRange(0x63c6, 0x63c6), - CodeunitRange(0x63c9, 0x63c9), - CodeunitRange(0x63cf, 0x63d0), - CodeunitRange(0x63d2, 0x63d2), - CodeunitRange(0x63d6, 0x63d6), - CodeunitRange(0x63da, 0x63db), - CodeunitRange(0x63df, 0x63e1), - CodeunitRange(0x63e3, 0x63e3), - CodeunitRange(0x63e9, 0x63e9), - CodeunitRange(0x63eb, 0x63eb), - CodeunitRange(0x63ed, 0x63ee), - CodeunitRange(0x63f2, 0x63f2), - CodeunitRange(0x63f4, 0x63f7), - CodeunitRange(0x6406, 0x6406), - CodeunitRange(0x6409, 0x6409), - CodeunitRange(0x640d, 0x640d), - CodeunitRange(0x640f, 0x640f), - CodeunitRange(0x6412, 0x6412), - CodeunitRange(0x6414, 0x6414), - CodeunitRange(0x6416, 0x6418), - CodeunitRange(0x641c, 0x641c), - CodeunitRange(0x6420, 0x6420), - CodeunitRange(0x6422, 0x6422), - CodeunitRange(0x6424, 0x6425), - CodeunitRange(0x6428, 0x6428), - CodeunitRange(0x642a, 0x642d), - CodeunitRange(0x642f, 0x6430), - CodeunitRange(0x6434, 0x6434), - CodeunitRange(0x6436, 0x6436), - CodeunitRange(0x643a, 0x643a), - CodeunitRange(0x643e, 0x643e), - CodeunitRange(0x6458, 0x6458), - CodeunitRange(0x645b, 0x645b), - CodeunitRange(0x645e, 0x645e), - CodeunitRange(0x6460, 0x6460), - CodeunitRange(0x6467, 0x6467), - CodeunitRange(0x6469, 0x6469), - CodeunitRange(0x646d, 0x646d), - CodeunitRange(0x646f, 0x646f), - CodeunitRange(0x6473, 0x6473), - CodeunitRange(0x6478, 0x647b), - CodeunitRange(0x647d, 0x647d), - CodeunitRange(0x6485, 0x6485), - CodeunitRange(0x6488, 0x6488), - CodeunitRange(0x6490, 0x6493), - CodeunitRange(0x6495, 0x6495), - CodeunitRange(0x6499, 0x649b), - CodeunitRange(0x649d, 0x649f), - CodeunitRange(0x64a4, 0x64a5), - CodeunitRange(0x64a9, 0x64a9), - CodeunitRange(0x64ab, 0x64ab), - CodeunitRange(0x64ad, 0x64ae), - CodeunitRange(0x64b0, 0x64b0), - CodeunitRange(0x64b2, 0x64b2), - CodeunitRange(0x64bb, 0x64bc), - CodeunitRange(0x64be, 0x64bf), - CodeunitRange(0x64c1, 0x64c1), - CodeunitRange(0x64c4, 0x64c5), - CodeunitRange(0x64c7, 0x64c7), - CodeunitRange(0x64c9, 0x64ca), - CodeunitRange(0x64cd, 0x64ce), - CodeunitRange(0x64d0, 0x64d0), - CodeunitRange(0x64d2, 0x64d2), - CodeunitRange(0x64d4, 0x64d5), - CodeunitRange(0x64d7, 0x64d8), - CodeunitRange(0x64da, 0x64da), - CodeunitRange(0x64e0, 0x64e3), - CodeunitRange(0x64e5, 0x64e7), - CodeunitRange(0x64ec, 0x64ed), - CodeunitRange(0x64ef, 0x64ef), - CodeunitRange(0x64f1, 0x64f2), - CodeunitRange(0x64f4, 0x64f4), - CodeunitRange(0x64fa, 0x64fa), - CodeunitRange(0x64fe, 0x64fe), - CodeunitRange(0x6500, 0x6500), - CodeunitRange(0x6502, 0x6502), - CodeunitRange(0x6504, 0x6504), - CodeunitRange(0x6507, 0x6507), - CodeunitRange(0x650a, 0x650a), - CodeunitRange(0x650f, 0x650f), - CodeunitRange(0x6514, 0x6514), - CodeunitRange(0x6518, 0x6519), - CodeunitRange(0x651d, 0x651d), - CodeunitRange(0x6522, 0x6524), - CodeunitRange(0x652a, 0x652c), - CodeunitRange(0x652f, 0x652f), - CodeunitRange(0x6532, 0x6532), - CodeunitRange(0x6534, 0x6539), - CodeunitRange(0x653b, 0x653b), - CodeunitRange(0x653d, 0x653f), - CodeunitRange(0x6543, 0x6543), - CodeunitRange(0x6545, 0x6545), - CodeunitRange(0x6548, 0x6549), - CodeunitRange(0x654d, 0x654f), - CodeunitRange(0x6551, 0x6552), - CodeunitRange(0x6554, 0x6559), - CodeunitRange(0x655d, 0x655e), - CodeunitRange(0x6562, 0x6563), - CodeunitRange(0x6566, 0x6566), - CodeunitRange(0x656c, 0x656d), - CodeunitRange(0x6572, 0x6572), - CodeunitRange(0x6574, 0x6575), - CodeunitRange(0x6577, 0x6578), - CodeunitRange(0x657e, 0x657e), - CodeunitRange(0x6581, 0x6583), - CodeunitRange(0x6585, 0x6585), - CodeunitRange(0x6587, 0x6587), - CodeunitRange(0x6589, 0x6589), - CodeunitRange(0x658c, 0x658c), - CodeunitRange(0x6590, 0x6591), - CodeunitRange(0x6597, 0x6597), - CodeunitRange(0x6599, 0x6599), - CodeunitRange(0x659b, 0x659d), - CodeunitRange(0x659f, 0x659f), - CodeunitRange(0x65a1, 0x65a1), - CodeunitRange(0x65a4, 0x65a5), - CodeunitRange(0x65a7, 0x65a7), - CodeunitRange(0x65ab, 0x65ad), - CodeunitRange(0x65af, 0x65b2), - CodeunitRange(0x65b7, 0x65b7), - CodeunitRange(0x65b9, 0x65b9), - CodeunitRange(0x65bc, 0x65bd), - CodeunitRange(0x65bf, 0x65bf), - CodeunitRange(0x65c1, 0x65c6), - CodeunitRange(0x65ca, 0x65cc), - CodeunitRange(0x65cf, 0x65cf), - CodeunitRange(0x65d2, 0x65d2), - CodeunitRange(0x65d7, 0x65d7), - CodeunitRange(0x65e0, 0x65e1), - CodeunitRange(0x65e3, 0x65e3), - CodeunitRange(0x65e5, 0x65e6), - CodeunitRange(0x65e8, 0x65e9), - CodeunitRange(0x65ec, 0x65ed), - CodeunitRange(0x65f1, 0x65f2), - CodeunitRange(0x65f4, 0x65f4), - CodeunitRange(0x65fa, 0x65fd), - CodeunitRange(0x65ff, 0x6600), - CodeunitRange(0x6602, 0x6603), - CodeunitRange(0x6606, 0x6607), - CodeunitRange(0x6609, 0x660a), - CodeunitRange(0x660c, 0x6611), - CodeunitRange(0x6613, 0x6615), - CodeunitRange(0x661b, 0x661c), - CodeunitRange(0x661e, 0x6621), - CodeunitRange(0x6623, 0x6625), - CodeunitRange(0x6627, 0x6628), - CodeunitRange(0x662b, 0x662b), - CodeunitRange(0x662d, 0x662d), - CodeunitRange(0x662f, 0x6631), - CodeunitRange(0x6634, 0x6637), - CodeunitRange(0x663a, 0x663b), - CodeunitRange(0x6641, 0x6644), - CodeunitRange(0x6648, 0x6649), - CodeunitRange(0x664b, 0x664c), - CodeunitRange(0x664e, 0x6651), - CodeunitRange(0x6659, 0x665b), - CodeunitRange(0x665d, 0x6662), - CodeunitRange(0x6664, 0x6669), - CodeunitRange(0x666b, 0x6670), - CodeunitRange(0x6673, 0x6674), - CodeunitRange(0x6676, 0x667b), - CodeunitRange(0x667d, 0x667d), - CodeunitRange(0x667f, 0x667f), - CodeunitRange(0x6684, 0x6684), - CodeunitRange(0x6687, 0x6689), - CodeunitRange(0x668b, 0x668c), - CodeunitRange(0x668e, 0x668e), - CodeunitRange(0x6690, 0x6691), - CodeunitRange(0x6696, 0x6698), - CodeunitRange(0x669a, 0x669a), - CodeunitRange(0x669d, 0x669e), - CodeunitRange(0x66a0, 0x66a0), - CodeunitRange(0x66a2, 0x66a3), - CodeunitRange(0x66ab, 0x66ac), - CodeunitRange(0x66ae, 0x66ae), - CodeunitRange(0x66b1, 0x66b5), - CodeunitRange(0x66b8, 0x66bb), - CodeunitRange(0x66be, 0x66c1), - CodeunitRange(0x66c4, 0x66c9), - CodeunitRange(0x66d3, 0x66d4), - CodeunitRange(0x66d6, 0x66d6), - CodeunitRange(0x66d8, 0x66de), - CodeunitRange(0x66e0, 0x66e0), - CodeunitRange(0x66e3, 0x66e3), - CodeunitRange(0x66e6, 0x66e6), - CodeunitRange(0x66e8, 0x66ea), - CodeunitRange(0x66ec, 0x66ec), - CodeunitRange(0x66ee, 0x66f0), - CodeunitRange(0x66f2, 0x66f4), - CodeunitRange(0x66f7, 0x66fa), - CodeunitRange(0x66fc, 0x66fc), - CodeunitRange(0x66fe, 0x6700), - CodeunitRange(0x6703, 0x6705), - CodeunitRange(0x6708, 0x670d), - CodeunitRange(0x6710, 0x6710), - CodeunitRange(0x6714, 0x6715), - CodeunitRange(0x6717, 0x6717), - CodeunitRange(0x671b, 0x671b), - CodeunitRange(0x671d, 0x6720), - CodeunitRange(0x6722, 0x6723), - CodeunitRange(0x6726, 0x6728), - CodeunitRange(0x672a, 0x672e), - CodeunitRange(0x6731, 0x6731), - CodeunitRange(0x6733, 0x6734), - CodeunitRange(0x6736, 0x6736), - CodeunitRange(0x673a, 0x673a), - CodeunitRange(0x673d, 0x673e), - CodeunitRange(0x6745, 0x6746), - CodeunitRange(0x6749, 0x6749), - CodeunitRange(0x674b, 0x674c), - CodeunitRange(0x674e, 0x6751), - CodeunitRange(0x6753, 0x6753), - CodeunitRange(0x6756, 0x6756), - CodeunitRange(0x675c, 0x6760), - CodeunitRange(0x6765, 0x6765), - CodeunitRange(0x676a, 0x676a), - CodeunitRange(0x676c, 0x676d), - CodeunitRange(0x676f, 0x6773), - CodeunitRange(0x6775, 0x6775), - CodeunitRange(0x6777, 0x6777), - CodeunitRange(0x677b, 0x677c), - CodeunitRange(0x677e, 0x677f), - CodeunitRange(0x6783, 0x6783), - CodeunitRange(0x6787, 0x6787), - CodeunitRange(0x6789, 0x6789), - CodeunitRange(0x678b, 0x678c), - CodeunitRange(0x678f, 0x6790), - CodeunitRange(0x6792, 0x6793), - CodeunitRange(0x6795, 0x6795), - CodeunitRange(0x6797, 0x679a), - CodeunitRange(0x679c, 0x679d), - CodeunitRange(0x67af, 0x67b0), - CodeunitRange(0x67b2, 0x67b3), - CodeunitRange(0x67b6, 0x67b8), - CodeunitRange(0x67be, 0x67be), - CodeunitRange(0x67c1, 0x67c1), - CodeunitRange(0x67c4, 0x67c5), - CodeunitRange(0x67ca, 0x67ca), - CodeunitRange(0x67cf, 0x67d4), - CodeunitRange(0x67d6, 0x67da), - CodeunitRange(0x67dd, 0x67df), - CodeunitRange(0x67e2, 0x67e2), - CodeunitRange(0x67e9, 0x67e9), - CodeunitRange(0x67ec, 0x67ec), - CodeunitRange(0x67ef, 0x67f1), - CodeunitRange(0x67f3, 0x67f6), - CodeunitRange(0x67f9, 0x67f9), - CodeunitRange(0x67fb, 0x67fb), - CodeunitRange(0x67fe, 0x67ff), - CodeunitRange(0x6803, 0x6804), - CodeunitRange(0x6810, 0x6810), - CodeunitRange(0x6812, 0x6813), - CodeunitRange(0x6816, 0x6817), - CodeunitRange(0x681d, 0x681e), - CodeunitRange(0x6821, 0x6822), - CodeunitRange(0x682a, 0x682a), - CodeunitRange(0x682e, 0x682f), - CodeunitRange(0x6831, 0x6832), - CodeunitRange(0x6834, 0x6834), - CodeunitRange(0x6838, 0x6839), - CodeunitRange(0x683b, 0x683d), - CodeunitRange(0x6840, 0x6844), - CodeunitRange(0x6846, 0x6846), - CodeunitRange(0x6848, 0x6849), - CodeunitRange(0x684e, 0x684e), - CodeunitRange(0x6850, 0x6851), - CodeunitRange(0x6853, 0x6854), - CodeunitRange(0x686d, 0x686d), - CodeunitRange(0x686f, 0x686f), - CodeunitRange(0x6874, 0x6874), - CodeunitRange(0x6876, 0x6877), - CodeunitRange(0x687e, 0x687f), - CodeunitRange(0x6881, 0x6881), - CodeunitRange(0x6883, 0x6883), - CodeunitRange(0x6885, 0x6886), - CodeunitRange(0x688f, 0x688f), - CodeunitRange(0x6893, 0x6894), - CodeunitRange(0x6897, 0x6897), - CodeunitRange(0x689b, 0x689b), - CodeunitRange(0x689d, 0x689d), - CodeunitRange(0x689f, 0x68a3), - CodeunitRange(0x68a7, 0x68a8), - CodeunitRange(0x68ad, 0x68ad), - CodeunitRange(0x68af, 0x68b1), - CodeunitRange(0x68b3, 0x68b3), - CodeunitRange(0x68b5, 0x68b6), - CodeunitRange(0x68c4, 0x68c5), - CodeunitRange(0x68c9, 0x68cd), - CodeunitRange(0x68d0, 0x68d0), - CodeunitRange(0x68d2, 0x68d2), - CodeunitRange(0x68d5, 0x68d8), - CodeunitRange(0x68da, 0x68da), - CodeunitRange(0x68df, 0x68e0), - CodeunitRange(0x68e3, 0x68e3), - CodeunitRange(0x68e7, 0x68e8), - CodeunitRange(0x68ec, 0x68ec), - CodeunitRange(0x68ee, 0x68ee), - CodeunitRange(0x68f2, 0x68f2), - CodeunitRange(0x68f9, 0x68fd), - CodeunitRange(0x6900, 0x6901), - CodeunitRange(0x6904, 0x6906), - CodeunitRange(0x690b, 0x690b), - CodeunitRange(0x690d, 0x690f), - CodeunitRange(0x6911, 0x6912), - CodeunitRange(0x6919, 0x6919), - CodeunitRange(0x691c, 0x691c), - CodeunitRange(0x6927, 0x6927), - CodeunitRange(0x6930, 0x6930), - CodeunitRange(0x6934, 0x6934), - CodeunitRange(0x6936, 0x6936), - CodeunitRange(0x6939, 0x6939), - CodeunitRange(0x693d, 0x693d), - CodeunitRange(0x693f, 0x693f), - CodeunitRange(0x6942, 0x6942), - CodeunitRange(0x694a, 0x694a), - CodeunitRange(0x694f, 0x694f), - CodeunitRange(0x6953, 0x6955), - CodeunitRange(0x6957, 0x6957), - CodeunitRange(0x6959, 0x695a), - CodeunitRange(0x695d, 0x695e), - CodeunitRange(0x6960, 0x6963), - CodeunitRange(0x6965, 0x6965), - CodeunitRange(0x6968, 0x6968), - CodeunitRange(0x696a, 0x696f), - CodeunitRange(0x6973, 0x6973), - CodeunitRange(0x6975, 0x6975), - CodeunitRange(0x6977, 0x6979), - CodeunitRange(0x697b, 0x697b), - CodeunitRange(0x697d, 0x697d), - CodeunitRange(0x698e, 0x698e), - CodeunitRange(0x6991, 0x6991), - CodeunitRange(0x6994, 0x6995), - CodeunitRange(0x6998, 0x6998), - CodeunitRange(0x699b, 0x699c), - CodeunitRange(0x699f, 0x699f), - CodeunitRange(0x69a4, 0x69a7), - CodeunitRange(0x69ad, 0x69ae), - CodeunitRange(0x69b0, 0x69b2), - CodeunitRange(0x69b4, 0x69b4), - CodeunitRange(0x69b7, 0x69b7), - CodeunitRange(0x69ba, 0x69bc), - CodeunitRange(0x69be, 0x69c1), - CodeunitRange(0x69c3, 0x69c3), - CodeunitRange(0x69c7, 0x69c7), - CodeunitRange(0x69ca, 0x69d0), - CodeunitRange(0x69d3, 0x69d3), - CodeunitRange(0x69d6, 0x69d6), - CodeunitRange(0x69e2, 0x69e2), - CodeunitRange(0x69e5, 0x69ea), - CodeunitRange(0x69ed, 0x69ed), - CodeunitRange(0x69f2, 0x69f2), - CodeunitRange(0x69f9, 0x69f9), - CodeunitRange(0x69fb, 0x69fb), - CodeunitRange(0x69fd, 0x69fd), - CodeunitRange(0x69ff, 0x6a00), - CodeunitRange(0x6a02, 0x6a02), - CodeunitRange(0x6a05, 0x6a05), - CodeunitRange(0x6a0a, 0x6a0b), - CodeunitRange(0x6a11, 0x6a14), - CodeunitRange(0x6a17, 0x6a17), - CodeunitRange(0x6a19, 0x6a19), - CodeunitRange(0x6a1b, 0x6a1b), - CodeunitRange(0x6a1e, 0x6a1f), - CodeunitRange(0x6a21, 0x6a21), - CodeunitRange(0x6a23, 0x6a23), - CodeunitRange(0x6a29, 0x6a29), - CodeunitRange(0x6a2b, 0x6a2b), - CodeunitRange(0x6a35, 0x6a35), - CodeunitRange(0x6a38, 0x6a3b), - CodeunitRange(0x6a3d, 0x6a3d), - CodeunitRange(0x6a43, 0x6a45), - CodeunitRange(0x6a47, 0x6a4d), - CodeunitRange(0x6a50, 0x6a50), - CodeunitRange(0x6a52, 0x6a53), - CodeunitRange(0x6a58, 0x6a5a), - CodeunitRange(0x6a5f, 0x6a5f), - CodeunitRange(0x6a61, 0x6a62), - CodeunitRange(0x6a64, 0x6a64), - CodeunitRange(0x6a66, 0x6a66), - CodeunitRange(0x6a6b, 0x6a6b), - CodeunitRange(0x6a72, 0x6a72), - CodeunitRange(0x6a75, 0x6a75), - CodeunitRange(0x6a7f, 0x6a80), - CodeunitRange(0x6a83, 0x6a84), - CodeunitRange(0x6a89, 0x6a89), - CodeunitRange(0x6a8d, 0x6a8e), - CodeunitRange(0x6a90, 0x6a90), - CodeunitRange(0x6a94, 0x6a94), - CodeunitRange(0x6a97, 0x6a97), - CodeunitRange(0x6a9c, 0x6a9d), - CodeunitRange(0x6a9f, 0x6aa0), - CodeunitRange(0x6aa2, 0x6aa3), - CodeunitRange(0x6aae, 0x6aae), - CodeunitRange(0x6ab3, 0x6ab3), - CodeunitRange(0x6ab6, 0x6ab6), - CodeunitRange(0x6abb, 0x6abc), - CodeunitRange(0x6abf, 0x6abf), - CodeunitRange(0x6ac2, 0x6ac3), - CodeunitRange(0x6ad3, 0x6ad3), - CodeunitRange(0x6ada, 0x6adf), - CodeunitRange(0x6ae8, 0x6ae8), - CodeunitRange(0x6aea, 0x6aea), - CodeunitRange(0x6aec, 0x6aec), - CodeunitRange(0x6af6, 0x6af6), - CodeunitRange(0x6afb, 0x6afc), - CodeunitRange(0x6b02, 0x6b04), - CodeunitRange(0x6b0a, 0x6b0a), - CodeunitRange(0x6b0c, 0x6b0c), - CodeunitRange(0x6b11, 0x6b12), - CodeunitRange(0x6b16, 0x6b16), - CodeunitRange(0x6b1e, 0x6b1e), - CodeunitRange(0x6b20, 0x6b21), - CodeunitRange(0x6b23, 0x6b23), - CodeunitRange(0x6b2c, 0x6b2c), - CodeunitRange(0x6b32, 0x6b32), - CodeunitRange(0x6b37, 0x6b3b), - CodeunitRange(0x6b3d, 0x6b3f), - CodeunitRange(0x6b43, 0x6b43), - CodeunitRange(0x6b46, 0x6b47), - CodeunitRange(0x6b49, 0x6b4a), - CodeunitRange(0x6b4c, 0x6b4c), - CodeunitRange(0x6b4e, 0x6b4e), - CodeunitRange(0x6b50, 0x6b50), - CodeunitRange(0x6b54, 0x6b54), - CodeunitRange(0x6b59, 0x6b5b), - CodeunitRange(0x6b5f, 0x6b67), - CodeunitRange(0x6b69, 0x6b6a), - CodeunitRange(0x6b6f, 0x6b6f), - CodeunitRange(0x6b72, 0x6b72), - CodeunitRange(0x6b77, 0x6b7b), - CodeunitRange(0x6b7f, 0x6b80), - CodeunitRange(0x6b82, 0x6b84), - CodeunitRange(0x6b86, 0x6b86), - CodeunitRange(0x6b89, 0x6b8a), - CodeunitRange(0x6b8d, 0x6b8d), - CodeunitRange(0x6b91, 0x6b91), - CodeunitRange(0x6b96, 0x6b96), - CodeunitRange(0x6b98, 0x6b98), - CodeunitRange(0x6b9e, 0x6b9e), - CodeunitRange(0x6ba2, 0x6ba2), - CodeunitRange(0x6ba4, 0x6ba4), - CodeunitRange(0x6bab, 0x6bab), - CodeunitRange(0x6bad, 0x6baf), - CodeunitRange(0x6bb2, 0x6bb3), - CodeunitRange(0x6bb5, 0x6bb5), - CodeunitRange(0x6bb7, 0x6bb7), - CodeunitRange(0x6bba, 0x6bba), - CodeunitRange(0x6bbc, 0x6bbd), - CodeunitRange(0x6bbf, 0x6bc1), - CodeunitRange(0x6bc4, 0x6bc6), - CodeunitRange(0x6bcb, 0x6bcb), - CodeunitRange(0x6bcd, 0x6bcd), - CodeunitRange(0x6bcf, 0x6bcf), - CodeunitRange(0x6bd2, 0x6bd4), - CodeunitRange(0x6bd6, 0x6bd8), - CodeunitRange(0x6bda, 0x6bdb), - CodeunitRange(0x6beb, 0x6bec), - CodeunitRange(0x6bef, 0x6bef), - CodeunitRange(0x6bf3, 0x6bf3), - CodeunitRange(0x6bf8, 0x6bf8), - CodeunitRange(0x6bff, 0x6bff), - CodeunitRange(0x6c05, 0x6c05), - CodeunitRange(0x6c08, 0x6c08), - CodeunitRange(0x6c0f, 0x6c11), - CodeunitRange(0x6c13, 0x6c14), - CodeunitRange(0x6c17, 0x6c17), - CodeunitRange(0x6c1b, 0x6c1b), - CodeunitRange(0x6c23, 0x6c24), - CodeunitRange(0x6c33, 0x6c38), - CodeunitRange(0x6c3e, 0x6c43), - CodeunitRange(0x6c4b, 0x6c4b), - CodeunitRange(0x6c4e, 0x6c50), - CodeunitRange(0x6c52, 0x6c55), - CodeunitRange(0x6c57, 0x6c57), - CodeunitRange(0x6c59, 0x6c60), - CodeunitRange(0x6c66, 0x6c66), - CodeunitRange(0x6c68, 0x6c6a), - CodeunitRange(0x6c6d, 0x6c6d), - CodeunitRange(0x6c70, 0x6c70), - CodeunitRange(0x6c72, 0x6c72), - CodeunitRange(0x6c74, 0x6c74), - CodeunitRange(0x6c76, 0x6c76), - CodeunitRange(0x6c7a, 0x6c7a), - CodeunitRange(0x6c7d, 0x6c7e), - CodeunitRange(0x6c81, 0x6c89), - CodeunitRange(0x6c8c, 0x6c8d), - CodeunitRange(0x6c90, 0x6c90), - CodeunitRange(0x6c92, 0x6c96), - CodeunitRange(0x6c98, 0x6c9b), - CodeunitRange(0x6ca2, 0x6ca2), - CodeunitRange(0x6cab, 0x6cac), - CodeunitRange(0x6cae, 0x6cae), - CodeunitRange(0x6cb0, 0x6cb1), - CodeunitRange(0x6cb3, 0x6cb3), - CodeunitRange(0x6cb6, 0x6cb6), - CodeunitRange(0x6cb8, 0x6cb9), - CodeunitRange(0x6cbb, 0x6cbf), - CodeunitRange(0x6cc1, 0x6cc2), - CodeunitRange(0x6cc4, 0x6cc6), - CodeunitRange(0x6cc9, 0x6cca), - CodeunitRange(0x6ccc, 0x6ccc), - CodeunitRange(0x6cd0, 0x6cd1), - CodeunitRange(0x6cd3, 0x6cd5), - CodeunitRange(0x6cd7, 0x6cd7), - CodeunitRange(0x6cd9, 0x6cdd), - CodeunitRange(0x6ce0, 0x6ce3), - CodeunitRange(0x6ce5, 0x6ce5), - CodeunitRange(0x6ce8, 0x6ce8), - CodeunitRange(0x6ceb, 0x6ceb), - CodeunitRange(0x6cee, 0x6cf1), - CodeunitRange(0x6cf3, 0x6cf3), - CodeunitRange(0x6cff, 0x6cff), - CodeunitRange(0x6d04, 0x6d04), - CodeunitRange(0x6d07, 0x6d07), - CodeunitRange(0x6d0a, 0x6d0c), - CodeunitRange(0x6d11, 0x6d12), - CodeunitRange(0x6d14, 0x6d14), - CodeunitRange(0x6d17, 0x6d17), - CodeunitRange(0x6d19, 0x6d19), - CodeunitRange(0x6d1b, 0x6d1b), - CodeunitRange(0x6d1e, 0x6d1f), - CodeunitRange(0x6d23, 0x6d23), - CodeunitRange(0x6d25, 0x6d25), - CodeunitRange(0x6d27, 0x6d2c), - CodeunitRange(0x6d2e, 0x6d2e), - CodeunitRange(0x6d32, 0x6d32), - CodeunitRange(0x6d35, 0x6d36), - CodeunitRange(0x6d38, 0x6d3e), - CodeunitRange(0x6d41, 0x6d41), - CodeunitRange(0x6d59, 0x6d5a), - CodeunitRange(0x6d5c, 0x6d5c), - CodeunitRange(0x6d61, 0x6d61), - CodeunitRange(0x6d63, 0x6d67), - CodeunitRange(0x6d69, 0x6d6a), - CodeunitRange(0x6d6c, 0x6d6c), - CodeunitRange(0x6d6e, 0x6d6f), - CodeunitRange(0x6d72, 0x6d72), - CodeunitRange(0x6d74, 0x6d74), - CodeunitRange(0x6d77, 0x6d79), - CodeunitRange(0x6d7f, 0x6d7f), - CodeunitRange(0x6d82, 0x6d82), - CodeunitRange(0x6d85, 0x6d85), - CodeunitRange(0x6d87, 0x6d89), - CodeunitRange(0x6d8c, 0x6d8f), - CodeunitRange(0x6d91, 0x6d91), - CodeunitRange(0x6d93, 0x6d97), - CodeunitRange(0x6daa, 0x6dac), - CodeunitRange(0x6daf, 0x6daf), - CodeunitRange(0x6db2, 0x6db2), - CodeunitRange(0x6db4, 0x6db5), - CodeunitRange(0x6db7, 0x6db8), - CodeunitRange(0x6dbc, 0x6dbc), - CodeunitRange(0x6dbf, 0x6dc0), - CodeunitRange(0x6dc3, 0x6dc8), - CodeunitRange(0x6dcb, 0x6dcc), - CodeunitRange(0x6dcf, 0x6dd2), - CodeunitRange(0x6dd6, 0x6dd6), - CodeunitRange(0x6dd8, 0x6dda), - CodeunitRange(0x6ddd, 0x6dde), - CodeunitRange(0x6de0, 0x6de6), - CodeunitRange(0x6de8, 0x6de8), - CodeunitRange(0x6dea, 0x6dec), - CodeunitRange(0x6dee, 0x6dee), - CodeunitRange(0x6df1, 0x6df1), - CodeunitRange(0x6df3, 0x6df3), - CodeunitRange(0x6df5, 0x6dfc), - CodeunitRange(0x6e05, 0x6e05), - CodeunitRange(0x6e08, 0x6e08), - CodeunitRange(0x6e0a, 0x6e0a), - CodeunitRange(0x6e17, 0x6e17), - CodeunitRange(0x6e19, 0x6e1b), - CodeunitRange(0x6e1d, 0x6e1d), - CodeunitRange(0x6e1f, 0x6e26), - CodeunitRange(0x6e28, 0x6e28), - CodeunitRange(0x6e2b, 0x6e2d), - CodeunitRange(0x6e2f, 0x6e2f), - CodeunitRange(0x6e32, 0x6e32), - CodeunitRange(0x6e34, 0x6e34), - CodeunitRange(0x6e36, 0x6e38), - CodeunitRange(0x6e3a, 0x6e3a), - CodeunitRange(0x6e3c, 0x6e3e), - CodeunitRange(0x6e40, 0x6e40), - CodeunitRange(0x6e43, 0x6e45), - CodeunitRange(0x6e4a, 0x6e4a), - CodeunitRange(0x6e4d, 0x6e4e), - CodeunitRange(0x6e51, 0x6e51), - CodeunitRange(0x6e53, 0x6e56), - CodeunitRange(0x6e58, 0x6e58), - CodeunitRange(0x6e5b, 0x6e5c), - CodeunitRange(0x6e5e, 0x6e5f), - CodeunitRange(0x6e63, 0x6e63), - CodeunitRange(0x6e67, 0x6e67), - CodeunitRange(0x6e6b, 0x6e6b), - CodeunitRange(0x6e6e, 0x6e6f), - CodeunitRange(0x6e72, 0x6e73), - CodeunitRange(0x6e75, 0x6e75), - CodeunitRange(0x6e7a, 0x6e7a), - CodeunitRange(0x6e8f, 0x6e90), - CodeunitRange(0x6e95, 0x6e96), - CodeunitRange(0x6e98, 0x6e98), - CodeunitRange(0x6e9c, 0x6e9d), - CodeunitRange(0x6e9f, 0x6e9f), - CodeunitRange(0x6ea2, 0x6ea2), - CodeunitRange(0x6ea5, 0x6ea5), - CodeunitRange(0x6ea7, 0x6ea8), - CodeunitRange(0x6eaa, 0x6eab), - CodeunitRange(0x6eaf, 0x6eaf), - CodeunitRange(0x6eb1, 0x6eb2), - CodeunitRange(0x6eb5, 0x6eb7), - CodeunitRange(0x6eba, 0x6eba), - CodeunitRange(0x6ebd, 0x6ebd), - CodeunitRange(0x6ec2, 0x6ec5), - CodeunitRange(0x6ec8, 0x6ec9), - CodeunitRange(0x6ecb, 0x6ecc), - CodeunitRange(0x6ece, 0x6ece), - CodeunitRange(0x6ed1, 0x6ed1), - CodeunitRange(0x6ed3, 0x6ed5), - CodeunitRange(0x6ed9, 0x6ed9), - CodeunitRange(0x6eec, 0x6eed), - CodeunitRange(0x6eef, 0x6eef), - CodeunitRange(0x6ef2, 0x6ef2), - CodeunitRange(0x6ef4, 0x6ef5), - CodeunitRange(0x6ef7, 0x6ef8), - CodeunitRange(0x6efc, 0x6efc), - CodeunitRange(0x6efe, 0x6eff), - CodeunitRange(0x6f01, 0x6f02), - CodeunitRange(0x6f04, 0x6f04), - CodeunitRange(0x6f06, 0x6f06), - CodeunitRange(0x6f09, 0x6f09), - CodeunitRange(0x6f0c, 0x6f0c), - CodeunitRange(0x6f0f, 0x6f0f), - CodeunitRange(0x6f11, 0x6f11), - CodeunitRange(0x6f13, 0x6f15), - CodeunitRange(0x6f19, 0x6f1a), - CodeunitRange(0x6f20, 0x6f20), - CodeunitRange(0x6f22, 0x6f24), - CodeunitRange(0x6f26, 0x6f28), - CodeunitRange(0x6f2a, 0x6f2d), - CodeunitRange(0x6f30, 0x6f33), - CodeunitRange(0x6f38, 0x6f38), - CodeunitRange(0x6f3c, 0x6f3c), - CodeunitRange(0x6f3e, 0x6f3f), - CodeunitRange(0x6f41, 0x6f41), - CodeunitRange(0x6f4f, 0x6f4f), - CodeunitRange(0x6f51, 0x6f52), - CodeunitRange(0x6f54, 0x6f54), - CodeunitRange(0x6f57, 0x6f5f), - CodeunitRange(0x6f61, 0x6f64), - CodeunitRange(0x6f66, 0x6f66), - CodeunitRange(0x6f6d, 0x6f71), - CodeunitRange(0x6f74, 0x6f74), - CodeunitRange(0x6f78, 0x6f78), - CodeunitRange(0x6f7a, 0x6f7a), - CodeunitRange(0x6f7c, 0x6f7e), - CodeunitRange(0x6f81, 0x6f82), - CodeunitRange(0x6f84, 0x6f84), - CodeunitRange(0x6f86, 0x6f89), - CodeunitRange(0x6f8b, 0x6f8e), - CodeunitRange(0x6f90, 0x6f90), - CodeunitRange(0x6f92, 0x6f92), - CodeunitRange(0x6f94, 0x6f98), - CodeunitRange(0x6f9f, 0x6f9f), - CodeunitRange(0x6fa1, 0x6fa1), - CodeunitRange(0x6fa3, 0x6fa5), - CodeunitRange(0x6fa7, 0x6fa8), - CodeunitRange(0x6faa, 0x6faa), - CodeunitRange(0x6fae, 0x6faf), - CodeunitRange(0x6fb1, 0x6fb1), - CodeunitRange(0x6fb3, 0x6fb3), - CodeunitRange(0x6fb6, 0x6fb6), - CodeunitRange(0x6fb9, 0x6fb9), - CodeunitRange(0x6fbe, 0x6fbe), - CodeunitRange(0x6fc0, 0x6fc3), - CodeunitRange(0x6fc6, 0x6fc7), - CodeunitRange(0x6fc9, 0x6fca), - CodeunitRange(0x6fd4, 0x6fd5), - CodeunitRange(0x6fd8, 0x6fd8), - CodeunitRange(0x6fda, 0x6fdb), - CodeunitRange(0x6fde, 0x6fe1), - CodeunitRange(0x6fe4, 0x6fe6), - CodeunitRange(0x6fe9, 0x6fe9), - CodeunitRange(0x6feb, 0x6fec), - CodeunitRange(0x6fee, 0x6fef), - CodeunitRange(0x6ff1, 0x6ff1), - CodeunitRange(0x6ff3, 0x6ff4), - CodeunitRange(0x6ff6, 0x6ff6), - CodeunitRange(0x6ffa, 0x6ffa), - CodeunitRange(0x6ffe, 0x6ffe), - CodeunitRange(0x7001, 0x7001), - CodeunitRange(0x7005, 0x7007), - CodeunitRange(0x7009, 0x7009), - CodeunitRange(0x700b, 0x700b), - CodeunitRange(0x700f, 0x700f), - CodeunitRange(0x7011, 0x7013), - CodeunitRange(0x7015, 0x7015), - CodeunitRange(0x7018, 0x7018), - CodeunitRange(0x701a, 0x701f), - CodeunitRange(0x7023, 0x7023), - CodeunitRange(0x7026, 0x7028), - CodeunitRange(0x702f, 0x7030), - CodeunitRange(0x7032, 0x7032), - CodeunitRange(0x7037, 0x7038), - CodeunitRange(0x703c, 0x703c), - CodeunitRange(0x703e, 0x703e), - CodeunitRange(0x7044, 0x7044), - CodeunitRange(0x7046, 0x7046), - CodeunitRange(0x704c, 0x704c), - CodeunitRange(0x704e, 0x704e), - CodeunitRange(0x7050, 0x7051), - CodeunitRange(0x7053, 0x7053), - CodeunitRange(0x7058, 0x7058), - CodeunitRange(0x705d, 0x705e), - CodeunitRange(0x7063, 0x7063), - CodeunitRange(0x7066, 0x7066), - CodeunitRange(0x7069, 0x7069), - CodeunitRange(0x706b, 0x706c), - CodeunitRange(0x706f, 0x7070), - CodeunitRange(0x7078, 0x7078), - CodeunitRange(0x707c, 0x707e), - CodeunitRange(0x7081, 0x7081), - CodeunitRange(0x7085, 0x7086), - CodeunitRange(0x708a, 0x708a), - CodeunitRange(0x708e, 0x708e), - CodeunitRange(0x7092, 0x7092), - CodeunitRange(0x7095, 0x7095), - CodeunitRange(0x7098, 0x709b), - CodeunitRange(0x70a1, 0x70a1), - CodeunitRange(0x70a4, 0x70a4), - CodeunitRange(0x70a6, 0x70a6), - CodeunitRange(0x70ab, 0x70b0), - CodeunitRange(0x70b3, 0x70b3), - CodeunitRange(0x70b7, 0x70ba), - CodeunitRange(0x70c8, 0x70c8), - CodeunitRange(0x70ca, 0x70cb), - CodeunitRange(0x70cf, 0x70cf), - CodeunitRange(0x70d3, 0x70d4), - CodeunitRange(0x70d8, 0x70d9), - CodeunitRange(0x70dc, 0x70dd), - CodeunitRange(0x70df, 0x70df), - CodeunitRange(0x70ef, 0x70ef), - CodeunitRange(0x70f1, 0x70f1), - CodeunitRange(0x70f9, 0x70fa), - CodeunitRange(0x70fd, 0x70fd), - CodeunitRange(0x7103, 0x7104), - CodeunitRange(0x7106, 0x7106), - CodeunitRange(0x7109, 0x7109), - CodeunitRange(0x710c, 0x710c), - CodeunitRange(0x7119, 0x711a), - CodeunitRange(0x711c, 0x711c), - CodeunitRange(0x711e, 0x711e), - CodeunitRange(0x7120, 0x7121), - CodeunitRange(0x7126, 0x7126), - CodeunitRange(0x712d, 0x7131), - CodeunitRange(0x7136, 0x7136), - CodeunitRange(0x7143, 0x7143), - CodeunitRange(0x7146, 0x7147), - CodeunitRange(0x7149, 0x714a), - CodeunitRange(0x714c, 0x714c), - CodeunitRange(0x714e, 0x714e), - CodeunitRange(0x7150, 0x7150), - CodeunitRange(0x7152, 0x7153), - CodeunitRange(0x7155, 0x7157), - CodeunitRange(0x7159, 0x7159), - CodeunitRange(0x715c, 0x715e), - CodeunitRange(0x7162, 0x7162), - CodeunitRange(0x7164, 0x7169), - CodeunitRange(0x716c, 0x716c), - CodeunitRange(0x716e, 0x716e), - CodeunitRange(0x717d, 0x717d), - CodeunitRange(0x7180, 0x7180), - CodeunitRange(0x7184, 0x7185), - CodeunitRange(0x7187, 0x718a), - CodeunitRange(0x718f, 0x718f), - CodeunitRange(0x7192, 0x7192), - CodeunitRange(0x7194, 0x7194), - CodeunitRange(0x7199, 0x7199), - CodeunitRange(0x719b, 0x719b), - CodeunitRange(0x719f, 0x71a2), - CodeunitRange(0x71a4, 0x71a4), - CodeunitRange(0x71a8, 0x71a9), - CodeunitRange(0x71ac, 0x71ac), - CodeunitRange(0x71af, 0x71af), - CodeunitRange(0x71b1, 0x71b2), - CodeunitRange(0x71b9, 0x71ba), - CodeunitRange(0x71be, 0x71be), - CodeunitRange(0x71c1, 0x71c1), - CodeunitRange(0x71c3, 0x71c3), - CodeunitRange(0x71c8, 0x71c9), - CodeunitRange(0x71cb, 0x71cb), - CodeunitRange(0x71ce, 0x71d0), - CodeunitRange(0x71d2, 0x71d2), - CodeunitRange(0x71d4, 0x71d6), - CodeunitRange(0x71d9, 0x71d9), - CodeunitRange(0x71db, 0x71db), - CodeunitRange(0x71df, 0x71e0), - CodeunitRange(0x71e5, 0x71e7), - CodeunitRange(0x71ec, 0x71ee), - CodeunitRange(0x71f9, 0x71f9), - CodeunitRange(0x71fb, 0x7201), - CodeunitRange(0x7206, 0x7207), - CodeunitRange(0x720b, 0x720d), - CodeunitRange(0x7210, 0x7210), - CodeunitRange(0x7214, 0x7214), - CodeunitRange(0x7217, 0x7217), - CodeunitRange(0x721a, 0x721b), - CodeunitRange(0x721f, 0x721f), - CodeunitRange(0x7225, 0x7225), - CodeunitRange(0x7228, 0x7228), - CodeunitRange(0x722a, 0x722a), - CodeunitRange(0x722c, 0x722d), - CodeunitRange(0x7230, 0x7230), - CodeunitRange(0x7232, 0x7232), - CodeunitRange(0x7235, 0x7236), - CodeunitRange(0x7238, 0x723b), - CodeunitRange(0x723d, 0x7240), - CodeunitRange(0x7242, 0x7242), - CodeunitRange(0x7246, 0x7248), - CodeunitRange(0x724b, 0x724c), - CodeunitRange(0x7252, 0x7254), - CodeunitRange(0x7256, 0x7256), - CodeunitRange(0x7258, 0x725b), - CodeunitRange(0x725d, 0x725d), - CodeunitRange(0x725f, 0x725f), - CodeunitRange(0x7261, 0x7263), - CodeunitRange(0x7267, 0x7267), - CodeunitRange(0x7269, 0x7269), - CodeunitRange(0x726f, 0x726f), - CodeunitRange(0x7272, 0x7272), - CodeunitRange(0x7274, 0x7274), - CodeunitRange(0x7278, 0x7279), - CodeunitRange(0x727d, 0x727d), - CodeunitRange(0x7280, 0x7282), - CodeunitRange(0x7287, 0x7287), - CodeunitRange(0x728d, 0x728d), - CodeunitRange(0x7292, 0x7292), - CodeunitRange(0x7296, 0x7296), - CodeunitRange(0x72a2, 0x72a2), - CodeunitRange(0x72a7, 0x72a7), - CodeunitRange(0x72ac, 0x72ad), - CodeunitRange(0x72af, 0x72af), - CodeunitRange(0x72b3, 0x72b5), - CodeunitRange(0x72c0, 0x72c0), - CodeunitRange(0x72c2, 0x72c2), - CodeunitRange(0x72c4, 0x72c4), - CodeunitRange(0x72c9, 0x72c9), - CodeunitRange(0x72ce, 0x72ce), - CodeunitRange(0x72d0, 0x72d0), - CodeunitRange(0x72d2, 0x72d2), - CodeunitRange(0x72d7, 0x72d7), - CodeunitRange(0x72d9, 0x72d9), - CodeunitRange(0x72e1, 0x72e2), - CodeunitRange(0x72e5, 0x72e5), - CodeunitRange(0x72e8, 0x72e9), - CodeunitRange(0x72ec, 0x72ec), - CodeunitRange(0x72f4, 0x72f4), - CodeunitRange(0x72f7, 0x72fd), - CodeunitRange(0x7309, 0x730a), - CodeunitRange(0x7313, 0x7313), - CodeunitRange(0x7316, 0x7319), - CodeunitRange(0x731b, 0x731d), - CodeunitRange(0x7322, 0x7322), - CodeunitRange(0x7325, 0x7325), - CodeunitRange(0x7327, 0x732b), - CodeunitRange(0x7331, 0x7331), - CodeunitRange(0x7334, 0x7334), - CodeunitRange(0x7336, 0x7337), - CodeunitRange(0x733e, 0x733f), - CodeunitRange(0x7343, 0x7345), - CodeunitRange(0x734e, 0x734e), - CodeunitRange(0x7350, 0x7350), - CodeunitRange(0x7352, 0x7352), - CodeunitRange(0x7357, 0x7358), - CodeunitRange(0x735c, 0x735c), - CodeunitRange(0x7360, 0x7360), - CodeunitRange(0x7368, 0x736c), - CodeunitRange(0x736f, 0x7370), - CodeunitRange(0x7372, 0x7372), - CodeunitRange(0x7375, 0x7375), - CodeunitRange(0x7377, 0x7378), - CodeunitRange(0x737a, 0x737c), - CodeunitRange(0x7381, 0x7381), - CodeunitRange(0x7384, 0x7384), - CodeunitRange(0x7386, 0x7389), - CodeunitRange(0x738b, 0x738b), - CodeunitRange(0x738e, 0x738e), - CodeunitRange(0x7392, 0x7392), - CodeunitRange(0x7394, 0x7398), - CodeunitRange(0x739e, 0x73a0), - CodeunitRange(0x73a6, 0x73a7), - CodeunitRange(0x73a9, 0x73ab), - CodeunitRange(0x73ad, 0x73ad), - CodeunitRange(0x73b2, 0x73b4), - CodeunitRange(0x73b7, 0x73b7), - CodeunitRange(0x73b9, 0x73b9), - CodeunitRange(0x73bb, 0x73bd), - CodeunitRange(0x73bf, 0x73c0), - CodeunitRange(0x73c2, 0x73c2), - CodeunitRange(0x73c6, 0x73c6), - CodeunitRange(0x73c8, 0x73ca), - CodeunitRange(0x73cc, 0x73cd), - CodeunitRange(0x73cf, 0x73cf), - CodeunitRange(0x73d2, 0x73d2), - CodeunitRange(0x73d6, 0x73d9), - CodeunitRange(0x73dd, 0x73de), - CodeunitRange(0x73e0, 0x73e0), - CodeunitRange(0x73e2, 0x73e6), - CodeunitRange(0x73e9, 0x73eb), - CodeunitRange(0x73ed, 0x73ee), - CodeunitRange(0x73f5, 0x73f5), - CodeunitRange(0x73f7, 0x73f9), - CodeunitRange(0x73fd, 0x73fe), - CodeunitRange(0x7401, 0x7401), - CodeunitRange(0x7403, 0x7407), - CodeunitRange(0x7409, 0x7409), - CodeunitRange(0x7413, 0x7413), - CodeunitRange(0x7417, 0x7418), - CodeunitRange(0x741b, 0x741b), - CodeunitRange(0x741d, 0x741d), - CodeunitRange(0x741f, 0x7422), - CodeunitRange(0x7424, 0x7426), - CodeunitRange(0x7428, 0x7428), - CodeunitRange(0x742a, 0x742c), - CodeunitRange(0x742e, 0x7436), - CodeunitRange(0x7438, 0x7438), - CodeunitRange(0x743a, 0x743a), - CodeunitRange(0x743f, 0x7446), - CodeunitRange(0x7448, 0x7449), - CodeunitRange(0x744b, 0x744c), - CodeunitRange(0x744e, 0x744e), - CodeunitRange(0x7455, 0x7455), - CodeunitRange(0x7457, 0x7457), - CodeunitRange(0x7459, 0x7460), - CodeunitRange(0x7462, 0x7465), - CodeunitRange(0x7468, 0x746a), - CodeunitRange(0x746d, 0x7473), - CodeunitRange(0x747d, 0x747e), - CodeunitRange(0x7480, 0x7480), - CodeunitRange(0x7482, 0x7487), - CodeunitRange(0x7489, 0x748c), - CodeunitRange(0x7490, 0x7490), - CodeunitRange(0x7498, 0x7498), - CodeunitRange(0x749c, 0x749f), - CodeunitRange(0x74a1, 0x74a1), - CodeunitRange(0x74a3, 0x74a3), - CodeunitRange(0x74a5, 0x74a5), - CodeunitRange(0x74a7, 0x74a8), - CodeunitRange(0x74aa, 0x74ab), - CodeunitRange(0x74b0, 0x74b2), - CodeunitRange(0x74b5, 0x74b6), - CodeunitRange(0x74b8, 0x74b9), - CodeunitRange(0x74bc, 0x74bd), - CodeunitRange(0x74bf, 0x74c0), - CodeunitRange(0x74c6, 0x74c6), - CodeunitRange(0x74ca, 0x74ca), - CodeunitRange(0x74cd, 0x74cd), - CodeunitRange(0x74cf, 0x74d0), - CodeunitRange(0x74d3, 0x74d4), - CodeunitRange(0x74d8, 0x74d8), - CodeunitRange(0x74da, 0x74dc), - CodeunitRange(0x74e0, 0x74e0), - CodeunitRange(0x74e2, 0x74e3), - CodeunitRange(0x74e6, 0x74e6), - CodeunitRange(0x74e9, 0x74e9), - CodeunitRange(0x74ee, 0x74ee), - CodeunitRange(0x74f2, 0x74f3), - CodeunitRange(0x74f7, 0x74f7), - CodeunitRange(0x7501, 0x7501), - CodeunitRange(0x7503, 0x7504), - CodeunitRange(0x750c, 0x750e), - CodeunitRange(0x7511, 0x7511), - CodeunitRange(0x7513, 0x7513), - CodeunitRange(0x7515, 0x7515), - CodeunitRange(0x7518, 0x7518), - CodeunitRange(0x751a, 0x751c), - CodeunitRange(0x751e, 0x751f), - CodeunitRange(0x7522, 0x7526), - CodeunitRange(0x7528, 0x7528), - CodeunitRange(0x752b, 0x752c), - CodeunitRange(0x7530, 0x7533), - CodeunitRange(0x7537, 0x7538), - CodeunitRange(0x753a, 0x753b), - CodeunitRange(0x753f, 0x753f), - CodeunitRange(0x7543, 0x7543), - CodeunitRange(0x7547, 0x7547), - CodeunitRange(0x754a, 0x754c), - CodeunitRange(0x754e, 0x754f), - CodeunitRange(0x7551, 0x7551), - CodeunitRange(0x7553, 0x7554), - CodeunitRange(0x7559, 0x755d), - CodeunitRange(0x7560, 0x7560), - CodeunitRange(0x7562, 0x7562), - CodeunitRange(0x7564, 0x7567), - CodeunitRange(0x756a, 0x756b), - CodeunitRange(0x756f, 0x7570), - CodeunitRange(0x7575, 0x7576), - CodeunitRange(0x7578, 0x7578), - CodeunitRange(0x757a, 0x757a), - CodeunitRange(0x757f, 0x757f), - CodeunitRange(0x7586, 0x7588), - CodeunitRange(0x758a, 0x758b), - CodeunitRange(0x758e, 0x758f), - CodeunitRange(0x7591, 0x7592), - CodeunitRange(0x7594, 0x7594), - CodeunitRange(0x7599, 0x759a), - CodeunitRange(0x759d, 0x759d), - CodeunitRange(0x75a3, 0x75a3), - CodeunitRange(0x75a5, 0x75a5), - CodeunitRange(0x75a9, 0x75a9), - CodeunitRange(0x75ab, 0x75ab), - CodeunitRange(0x75b1, 0x75b5), - CodeunitRange(0x75b8, 0x75b9), - CodeunitRange(0x75bc, 0x75be), - CodeunitRange(0x75c0, 0x75c0), - CodeunitRange(0x75c2, 0x75c3), - CodeunitRange(0x75c5, 0x75c5), - CodeunitRange(0x75c7, 0x75c7), - CodeunitRange(0x75ca, 0x75ca), - CodeunitRange(0x75cd, 0x75ce), - CodeunitRange(0x75d2, 0x75d5), - CodeunitRange(0x75d8, 0x75d9), - CodeunitRange(0x75db, 0x75db), - CodeunitRange(0x75de, 0x75de), - CodeunitRange(0x75e2, 0x75e4), - CodeunitRange(0x75e7, 0x75e7), - CodeunitRange(0x75f0, 0x75f0), - CodeunitRange(0x75f2, 0x75f4), - CodeunitRange(0x75f9, 0x75fa), - CodeunitRange(0x75fc, 0x75fc), - CodeunitRange(0x75ff, 0x7601), - CodeunitRange(0x7607, 0x7609), - CodeunitRange(0x760b, 0x760b), - CodeunitRange(0x760d, 0x760d), - CodeunitRange(0x7610, 0x7610), - CodeunitRange(0x7615, 0x7615), - CodeunitRange(0x7619, 0x7619), - CodeunitRange(0x761f, 0x7622), - CodeunitRange(0x7624, 0x7624), - CodeunitRange(0x7626, 0x7627), - CodeunitRange(0x762f, 0x7631), - CodeunitRange(0x7633, 0x7634), - CodeunitRange(0x763b, 0x763b), - CodeunitRange(0x7642, 0x7643), - CodeunitRange(0x7646, 0x7649), - CodeunitRange(0x764c, 0x764c), - CodeunitRange(0x764e, 0x764e), - CodeunitRange(0x7652, 0x7652), - CodeunitRange(0x7655, 0x7656), - CodeunitRange(0x7658, 0x7658), - CodeunitRange(0x765c, 0x765c), - CodeunitRange(0x7661, 0x7662), - CodeunitRange(0x7664, 0x7665), - CodeunitRange(0x7667, 0x7669), - CodeunitRange(0x766c, 0x7672), - CodeunitRange(0x7676, 0x7676), - CodeunitRange(0x7678, 0x7678), - CodeunitRange(0x767a, 0x767e), - CodeunitRange(0x7680, 0x7681), - CodeunitRange(0x7683, 0x7684), - CodeunitRange(0x7686, 0x7687), - CodeunitRange(0x768b, 0x768b), - CodeunitRange(0x768e, 0x768e), - CodeunitRange(0x7690, 0x7690), - CodeunitRange(0x7692, 0x7693), - CodeunitRange(0x7696, 0x7697), - CodeunitRange(0x769a, 0x769c), - CodeunitRange(0x769e, 0x769e), - CodeunitRange(0x76a4, 0x76a4), - CodeunitRange(0x76ac, 0x76ac), - CodeunitRange(0x76ae, 0x76ae), - CodeunitRange(0x76b4, 0x76b4), - CodeunitRange(0x76b6, 0x76b6), - CodeunitRange(0x76b8, 0x76b8), - CodeunitRange(0x76ba, 0x76ba), - CodeunitRange(0x76bf, 0x76bf), - CodeunitRange(0x76c2, 0x76c3), - CodeunitRange(0x76c6, 0x76c6), - CodeunitRange(0x76c8, 0x76c8), - CodeunitRange(0x76ca, 0x76ca), - CodeunitRange(0x76cc, 0x76ce), - CodeunitRange(0x76d2, 0x76d4), - CodeunitRange(0x76d6, 0x76d6), - CodeunitRange(0x76d9, 0x76d9), - CodeunitRange(0x76db, 0x76dc), - CodeunitRange(0x76de, 0x76df), - CodeunitRange(0x76e1, 0x76e1), - CodeunitRange(0x76e3, 0x76e5), - CodeunitRange(0x76e7, 0x76e7), - CodeunitRange(0x76ea, 0x76ea), - CodeunitRange(0x76ec, 0x76ec), - CodeunitRange(0x76ee, 0x76ee), - CodeunitRange(0x76f1, 0x76f2), - CodeunitRange(0x76f4, 0x76f4), - CodeunitRange(0x76f8, 0x76f9), - CodeunitRange(0x76fb, 0x76fc), - CodeunitRange(0x76fe, 0x7702), - CodeunitRange(0x7704, 0x7704), - CodeunitRange(0x7707, 0x770c), - CodeunitRange(0x7710, 0x7710), - CodeunitRange(0x771a, 0x771b), - CodeunitRange(0x771e, 0x7720), - CodeunitRange(0x7725, 0x7726), - CodeunitRange(0x7728, 0x7729), - CodeunitRange(0x7734, 0x7734), - CodeunitRange(0x7737, 0x773c), - CodeunitRange(0x773e, 0x773e), - CodeunitRange(0x7740, 0x7740), - CodeunitRange(0x7743, 0x7743), - CodeunitRange(0x7746, 0x7747), - CodeunitRange(0x774d, 0x774d), - CodeunitRange(0x7752, 0x7752), - CodeunitRange(0x775a, 0x775b), - CodeunitRange(0x775f, 0x7763), - CodeunitRange(0x7765, 0x7766), - CodeunitRange(0x7768, 0x7768), - CodeunitRange(0x776b, 0x776c), - CodeunitRange(0x7777, 0x7777), - CodeunitRange(0x7779, 0x7779), - CodeunitRange(0x777d, 0x777f), - CodeunitRange(0x778b, 0x778b), - CodeunitRange(0x778d, 0x778e), - CodeunitRange(0x7791, 0x7791), - CodeunitRange(0x7796, 0x7796), - CodeunitRange(0x7799, 0x7799), - CodeunitRange(0x779e, 0x779e), - CodeunitRange(0x77a0, 0x77a0), - CodeunitRange(0x77a2, 0x77a2), - CodeunitRange(0x77a5, 0x77a5), - CodeunitRange(0x77aa, 0x77aa), - CodeunitRange(0x77ac, 0x77ae), - CodeunitRange(0x77b0, 0x77b0), - CodeunitRange(0x77b3, 0x77b3), - CodeunitRange(0x77b9, 0x77b9), - CodeunitRange(0x77bb, 0x77bd), - CodeunitRange(0x77bf, 0x77bf), - CodeunitRange(0x77c7, 0x77c7), - CodeunitRange(0x77c9, 0x77c9), - CodeunitRange(0x77cd, 0x77cd), - CodeunitRange(0x77d7, 0x77d7), - CodeunitRange(0x77d9, 0x77dc), - CodeunitRange(0x77de, 0x77de), - CodeunitRange(0x77e1, 0x77e3), - CodeunitRange(0x77e5, 0x77e5), - CodeunitRange(0x77e7, 0x77e7), - CodeunitRange(0x77e9, 0x77e9), - CodeunitRange(0x77ed, 0x77f0), - CodeunitRange(0x77f3, 0x77f3), - CodeunitRange(0x77f8, 0x77f8), - CodeunitRange(0x77fa, 0x77fd), - CodeunitRange(0x7802, 0x7802), - CodeunitRange(0x7807, 0x7807), - CodeunitRange(0x780c, 0x780c), - CodeunitRange(0x780f, 0x780f), - CodeunitRange(0x7811, 0x7812), - CodeunitRange(0x7814, 0x7814), - CodeunitRange(0x7822, 0x7822), - CodeunitRange(0x7825, 0x7827), - CodeunitRange(0x782c, 0x782d), - CodeunitRange(0x7830, 0x7830), - CodeunitRange(0x7832, 0x7832), - CodeunitRange(0x7834, 0x7834), - CodeunitRange(0x7843, 0x7843), - CodeunitRange(0x7845, 0x7845), - CodeunitRange(0x784f, 0x784f), - CodeunitRange(0x785c, 0x785d), - CodeunitRange(0x7860, 0x7860), - CodeunitRange(0x7867, 0x7868), - CodeunitRange(0x786a, 0x786c), - CodeunitRange(0x786e, 0x786f), - CodeunitRange(0x787c, 0x787c), - CodeunitRange(0x7881, 0x7881), - CodeunitRange(0x7884, 0x7884), - CodeunitRange(0x7887, 0x7887), - CodeunitRange(0x788c, 0x788f), - CodeunitRange(0x7891, 0x7891), - CodeunitRange(0x7893, 0x7893), - CodeunitRange(0x7897, 0x7897), - CodeunitRange(0x789f, 0x789f), - CodeunitRange(0x78a3, 0x78a4), - CodeunitRange(0x78a7, 0x78a9), - CodeunitRange(0x78ac, 0x78ad), - CodeunitRange(0x78ba, 0x78bc), - CodeunitRange(0x78be, 0x78be), - CodeunitRange(0x78c1, 0x78c1), - CodeunitRange(0x78c5, 0x78c5), - CodeunitRange(0x78c8, 0x78c8), - CodeunitRange(0x78ca, 0x78cb), - CodeunitRange(0x78ce, 0x78d1), - CodeunitRange(0x78d4, 0x78d5), - CodeunitRange(0x78da, 0x78da), - CodeunitRange(0x78e0, 0x78e0), - CodeunitRange(0x78e7, 0x78e8), - CodeunitRange(0x78ea, 0x78ea), - CodeunitRange(0x78ec, 0x78ec), - CodeunitRange(0x78ef, 0x78ef), - CodeunitRange(0x78f4, 0x78f5), - CodeunitRange(0x78f7, 0x78f7), - CodeunitRange(0x78fa, 0x78fd), - CodeunitRange(0x7901, 0x7901), - CodeunitRange(0x790c, 0x790c), - CodeunitRange(0x790e, 0x790f), - CodeunitRange(0x7911, 0x7912), - CodeunitRange(0x7916, 0x7916), - CodeunitRange(0x7919, 0x7919), - CodeunitRange(0x7927, 0x7927), - CodeunitRange(0x792a, 0x792d), - CodeunitRange(0x7931, 0x7931), - CodeunitRange(0x793a, 0x793c), - CodeunitRange(0x793e, 0x793e), - CodeunitRange(0x7940, 0x7941), - CodeunitRange(0x7944, 0x794a), - CodeunitRange(0x7950, 0x7950), - CodeunitRange(0x7953, 0x7958), - CodeunitRange(0x795a, 0x7960), - CodeunitRange(0x7962, 0x7962), - CodeunitRange(0x7965, 0x7965), - CodeunitRange(0x7967, 0x7968), - CodeunitRange(0x796d, 0x796d), - CodeunitRange(0x7979, 0x797a), - CodeunitRange(0x797c, 0x797c), - CodeunitRange(0x797f, 0x7981), - CodeunitRange(0x798a, 0x798b), - CodeunitRange(0x798d, 0x798f), - CodeunitRange(0x7991, 0x7991), - CodeunitRange(0x7994, 0x7994), - CodeunitRange(0x799b, 0x799b), - CodeunitRange(0x799d, 0x799d), - CodeunitRange(0x79a6, 0x79a8), - CodeunitRange(0x79aa, 0x79ab), - CodeunitRange(0x79ae, 0x79ae), - CodeunitRange(0x79b0, 0x79b1), - CodeunitRange(0x79b3, 0x79b4), - CodeunitRange(0x79b8, 0x79c1), - CodeunitRange(0x79c4, 0x79c4), - CodeunitRange(0x79c6, 0x79c6), - CodeunitRange(0x79c9, 0x79cb), - CodeunitRange(0x79d1, 0x79d2), - CodeunitRange(0x79d5, 0x79d5), - CodeunitRange(0x79d8, 0x79d8), - CodeunitRange(0x79de, 0x79df), - CodeunitRange(0x79e2, 0x79e4), - CodeunitRange(0x79e6, 0x79e7), - CodeunitRange(0x79e9, 0x79ec), - CodeunitRange(0x79f5, 0x79f5), - CodeunitRange(0x79f8, 0x79f8), - CodeunitRange(0x79fb, 0x79fb), - CodeunitRange(0x7a00, 0x7a02), - CodeunitRange(0x7a05, 0x7a05), - CodeunitRange(0x7a08, 0x7a08), - CodeunitRange(0x7a0a, 0x7a0d), - CodeunitRange(0x7a14, 0x7a14), - CodeunitRange(0x7a17, 0x7a1a), - CodeunitRange(0x7a1c, 0x7a1c), - CodeunitRange(0x7a1e, 0x7a20), - CodeunitRange(0x7a22, 0x7a22), - CodeunitRange(0x7a27, 0x7a27), - CodeunitRange(0x7a2e, 0x7a2e), - CodeunitRange(0x7a30, 0x7a31), - CodeunitRange(0x7a33, 0x7a33), - CodeunitRange(0x7a36, 0x7a37), - CodeunitRange(0x7a39, 0x7a39), - CodeunitRange(0x7a3b, 0x7a3d), - CodeunitRange(0x7a3f, 0x7a40), - CodeunitRange(0x7a42, 0x7a42), - CodeunitRange(0x7a45, 0x7a46), - CodeunitRange(0x7a49, 0x7a49), - CodeunitRange(0x7a4c, 0x7a4e), - CodeunitRange(0x7a57, 0x7a57), - CodeunitRange(0x7a60, 0x7a62), - CodeunitRange(0x7a66, 0x7a66), - CodeunitRange(0x7a69, 0x7a69), - CodeunitRange(0x7a6b, 0x7a6b), - CodeunitRange(0x7a70, 0x7a70), - CodeunitRange(0x7a74, 0x7a76), - CodeunitRange(0x7a79, 0x7a7a), - CodeunitRange(0x7a7d, 0x7a86), - CodeunitRange(0x7a88, 0x7a88), - CodeunitRange(0x7a8a, 0x7a8a), - CodeunitRange(0x7a92, 0x7a93), - CodeunitRange(0x7a95, 0x7a99), - CodeunitRange(0x7a9b, 0x7a9b), - CodeunitRange(0x7a9f, 0x7aa0), - CodeunitRange(0x7aa3, 0x7aa3), - CodeunitRange(0x7aa9, 0x7aaa), - CodeunitRange(0x7aac, 0x7aac), - CodeunitRange(0x7aae, 0x7aaf), - CodeunitRange(0x7ab3, 0x7ab3), - CodeunitRange(0x7ab6, 0x7ab6), - CodeunitRange(0x7ab9, 0x7abb), - CodeunitRange(0x7abe, 0x7abf), - CodeunitRange(0x7ac4, 0x7ac5), - CodeunitRange(0x7ac7, 0x7ac8), - CodeunitRange(0x7aca, 0x7acb), - CodeunitRange(0x7ad7, 0x7ad7), - CodeunitRange(0x7ad9, 0x7ad9), - CodeunitRange(0x7adc, 0x7add), - CodeunitRange(0x7adf, 0x7ae0), - CodeunitRange(0x7ae2, 0x7ae3), - CodeunitRange(0x7ae5, 0x7ae6), - CodeunitRange(0x7aea, 0x7aea), - CodeunitRange(0x7aed, 0x7aed), - CodeunitRange(0x7aef, 0x7aef), - CodeunitRange(0x7af4, 0x7af4), - CodeunitRange(0x7af6, 0x7af6), - CodeunitRange(0x7af8, 0x7afa), - CodeunitRange(0x7afd, 0x7afd), - CodeunitRange(0x7aff, 0x7aff), - CodeunitRange(0x7b06, 0x7b06), - CodeunitRange(0x7b08, 0x7b08), - CodeunitRange(0x7b0a, 0x7b0a), - CodeunitRange(0x7b0c, 0x7b0c), - CodeunitRange(0x7b0e, 0x7b0f), - CodeunitRange(0x7b11, 0x7b12), - CodeunitRange(0x7b18, 0x7b19), - CodeunitRange(0x7b1b, 0x7b1b), - CodeunitRange(0x7b1e, 0x7b1e), - CodeunitRange(0x7b20, 0x7b20), - CodeunitRange(0x7b25, 0x7b28), - CodeunitRange(0x7b2c, 0x7b2d), - CodeunitRange(0x7b2f, 0x7b2f), - CodeunitRange(0x7b33, 0x7b33), - CodeunitRange(0x7b35, 0x7b35), - CodeunitRange(0x7b39, 0x7b39), - CodeunitRange(0x7b45, 0x7b46), - CodeunitRange(0x7b48, 0x7b49), - CodeunitRange(0x7b4b, 0x7b4d), - CodeunitRange(0x7b4f, 0x7b54), - CodeunitRange(0x7b56, 0x7b56), - CodeunitRange(0x7b5f, 0x7b60), - CodeunitRange(0x7b65, 0x7b67), - CodeunitRange(0x7b69, 0x7b69), - CodeunitRange(0x7b6c, 0x7b6c), - CodeunitRange(0x7b6e, 0x7b6e), - CodeunitRange(0x7b71, 0x7b71), - CodeunitRange(0x7b73, 0x7b73), - CodeunitRange(0x7b75, 0x7b75), - CodeunitRange(0x7b7d, 0x7b7d), - CodeunitRange(0x7b87, 0x7b87), - CodeunitRange(0x7b8b, 0x7b8b), - CodeunitRange(0x7b8d, 0x7b8f), - CodeunitRange(0x7b92, 0x7b92), - CodeunitRange(0x7b94, 0x7b95), - CodeunitRange(0x7b97, 0x7b97), - CodeunitRange(0x7b99, 0x7b9a), - CodeunitRange(0x7b9c, 0x7b9d), - CodeunitRange(0x7ba0, 0x7ba1), - CodeunitRange(0x7bad, 0x7bad), - CodeunitRange(0x7bb1, 0x7bb1), - CodeunitRange(0x7bb4, 0x7bb4), - CodeunitRange(0x7bb8, 0x7bb8), - CodeunitRange(0x7bbe, 0x7bbe), - CodeunitRange(0x7bc0, 0x7bc1), - CodeunitRange(0x7bc4, 0x7bc4), - CodeunitRange(0x7bc6, 0x7bc7), - CodeunitRange(0x7bc9, 0x7bcc), - CodeunitRange(0x7bd2, 0x7bd2), - CodeunitRange(0x7bd4, 0x7bd4), - CodeunitRange(0x7bd9, 0x7bd9), - CodeunitRange(0x7bdb, 0x7bdb), - CodeunitRange(0x7bdd, 0x7bdd), - CodeunitRange(0x7be0, 0x7be1), - CodeunitRange(0x7be4, 0x7be4), - CodeunitRange(0x7be6, 0x7be6), - CodeunitRange(0x7be9, 0x7bea), - CodeunitRange(0x7bf3, 0x7bf3), - CodeunitRange(0x7bf7, 0x7bf7), - CodeunitRange(0x7bfe, 0x7bfe), - CodeunitRange(0x7c00, 0x7c00), - CodeunitRange(0x7c07, 0x7c07), - CodeunitRange(0x7c09, 0x7c09), - CodeunitRange(0x7c0b, 0x7c0b), - CodeunitRange(0x7c0f, 0x7c0f), - CodeunitRange(0x7c12, 0x7c12), - CodeunitRange(0x7c1e, 0x7c21), - CodeunitRange(0x7c27, 0x7c27), - CodeunitRange(0x7c2a, 0x7c2b), - CodeunitRange(0x7c37, 0x7c38), - CodeunitRange(0x7c3d, 0x7c3f), - CodeunitRange(0x7c43, 0x7c43), - CodeunitRange(0x7c4c, 0x7c4d), - CodeunitRange(0x7c50, 0x7c50), - CodeunitRange(0x7c52, 0x7c52), - CodeunitRange(0x7c54, 0x7c54), - CodeunitRange(0x7c5b, 0x7c5c), - CodeunitRange(0x7c5f, 0x7c60), - CodeunitRange(0x7c64, 0x7c65), - CodeunitRange(0x7c67, 0x7c67), - CodeunitRange(0x7c69, 0x7c69), - CodeunitRange(0x7c6c, 0x7c6c), - CodeunitRange(0x7c72, 0x7c73), - CodeunitRange(0x7c7e, 0x7c7e), - CodeunitRange(0x7c81, 0x7c81), - CodeunitRange(0x7c83, 0x7c83), - CodeunitRange(0x7c89, 0x7c89), - CodeunitRange(0x7c8d, 0x7c8d), - CodeunitRange(0x7c92, 0x7c92), - CodeunitRange(0x7c95, 0x7c95), - CodeunitRange(0x7c97, 0x7c98), - CodeunitRange(0x7c9f, 0x7c9f), - CodeunitRange(0x7ca2, 0x7ca2), - CodeunitRange(0x7ca4, 0x7ca8), - CodeunitRange(0x7cae, 0x7cae), - CodeunitRange(0x7cb1, 0x7cb3), - CodeunitRange(0x7cb9, 0x7cb9), - CodeunitRange(0x7cbc, 0x7cbe), - CodeunitRange(0x7cc5, 0x7cc6), - CodeunitRange(0x7cca, 0x7cca), - CodeunitRange(0x7cd5, 0x7cd7), - CodeunitRange(0x7cd9, 0x7cda), - CodeunitRange(0x7cdc, 0x7ce0), - CodeunitRange(0x7ce2, 0x7ce2), - CodeunitRange(0x7ce5, 0x7ce5), - CodeunitRange(0x7ce7, 0x7ce7), - CodeunitRange(0x7cef, 0x7cef), - CodeunitRange(0x7cf1, 0x7cf2), - CodeunitRange(0x7cf4, 0x7cf6), - CodeunitRange(0x7cf8, 0x7cfb), - CodeunitRange(0x7cfe, 0x7cfe), - CodeunitRange(0x7d00, 0x7d00), - CodeunitRange(0x7d02, 0x7d08), - CodeunitRange(0x7d0a, 0x7d0b), - CodeunitRange(0x7d0d, 0x7d0d), - CodeunitRange(0x7d10, 0x7d10), - CodeunitRange(0x7d13, 0x7d15), - CodeunitRange(0x7d17, 0x7d1c), - CodeunitRange(0x7d20, 0x7d22), - CodeunitRange(0x7d2b, 0x7d2c), - CodeunitRange(0x7d2e, 0x7d33), - CodeunitRange(0x7d35, 0x7d35), - CodeunitRange(0x7d38, 0x7d3a), - CodeunitRange(0x7d41, 0x7d46), - CodeunitRange(0x7d49, 0x7d49), - CodeunitRange(0x7d4c, 0x7d4d), - CodeunitRange(0x7d50, 0x7d51), - CodeunitRange(0x7d55, 0x7d56), - CodeunitRange(0x7d59, 0x7d59), - CodeunitRange(0x7d5b, 0x7d5c), - CodeunitRange(0x7d5e, 0x7d5e), - CodeunitRange(0x7d61, 0x7d63), - CodeunitRange(0x7d66, 0x7d66), - CodeunitRange(0x7d68, 0x7d6a), - CodeunitRange(0x7d6e, 0x7d6e), - CodeunitRange(0x7d70, 0x7d73), - CodeunitRange(0x7d75, 0x7d76), - CodeunitRange(0x7d79, 0x7d7a), - CodeunitRange(0x7d7f, 0x7d7f), - CodeunitRange(0x7d83, 0x7d83), - CodeunitRange(0x7d86, 0x7d86), - CodeunitRange(0x7d8e, 0x7d8f), - CodeunitRange(0x7d93, 0x7d93), - CodeunitRange(0x7d98, 0x7d98), - CodeunitRange(0x7d9a, 0x7d9a), - CodeunitRange(0x7d9c, 0x7d9c), - CodeunitRange(0x7da0, 0x7da0), - CodeunitRange(0x7da2, 0x7da3), - CodeunitRange(0x7da5, 0x7da7), - CodeunitRange(0x7da9, 0x7da9), - CodeunitRange(0x7dab, 0x7dae), - CodeunitRange(0x7db0, 0x7db2), - CodeunitRange(0x7db4, 0x7db5), - CodeunitRange(0x7db8, 0x7db8), - CodeunitRange(0x7dba, 0x7dbb), - CodeunitRange(0x7dbd, 0x7dbf), - CodeunitRange(0x7dc4, 0x7dc4), - CodeunitRange(0x7dc7, 0x7dc7), - CodeunitRange(0x7dca, 0x7dcd), - CodeunitRange(0x7dcf, 0x7dcf), - CodeunitRange(0x7dd6, 0x7dd8), - CodeunitRange(0x7dda, 0x7dda), - CodeunitRange(0x7ddc, 0x7dde), - CodeunitRange(0x7de0, 0x7de1), - CodeunitRange(0x7de3, 0x7de3), - CodeunitRange(0x7de6, 0x7de6), - CodeunitRange(0x7de8, 0x7de9), - CodeunitRange(0x7dec, 0x7dec), - CodeunitRange(0x7def, 0x7def), - CodeunitRange(0x7df4, 0x7df4), - CodeunitRange(0x7df6, 0x7df6), - CodeunitRange(0x7df9, 0x7df9), - CodeunitRange(0x7dfb, 0x7dfb), - CodeunitRange(0x7e03, 0x7e03), - CodeunitRange(0x7e08, 0x7e0b), - CodeunitRange(0x7e10, 0x7e11), - CodeunitRange(0x7e15, 0x7e15), - CodeunitRange(0x7e17, 0x7e18), - CodeunitRange(0x7e1b, 0x7e1b), - CodeunitRange(0x7e1d, 0x7e23), - CodeunitRange(0x7e2b, 0x7e2b), - CodeunitRange(0x7e2e, 0x7e2f), - CodeunitRange(0x7e31, 0x7e33), - CodeunitRange(0x7e35, 0x7e35), - CodeunitRange(0x7e37, 0x7e37), - CodeunitRange(0x7e39, 0x7e39), - CodeunitRange(0x7e3b, 0x7e3b), - CodeunitRange(0x7e3d, 0x7e3e), - CodeunitRange(0x7e41, 0x7e41), - CodeunitRange(0x7e43, 0x7e48), - CodeunitRange(0x7e50, 0x7e50), - CodeunitRange(0x7e52, 0x7e52), - CodeunitRange(0x7e54, 0x7e57), - CodeunitRange(0x7e59, 0x7e5a), - CodeunitRange(0x7e5e, 0x7e5e), - CodeunitRange(0x7e61, 0x7e62), - CodeunitRange(0x7e69, 0x7e6b), - CodeunitRange(0x7e6d, 0x7e6d), - CodeunitRange(0x7e6f, 0x7e70), - CodeunitRange(0x7e76, 0x7e76), - CodeunitRange(0x7e79, 0x7e79), - CodeunitRange(0x7e7c, 0x7e7e), - CodeunitRange(0x7e81, 0x7e82), - CodeunitRange(0x7e87, 0x7e88), - CodeunitRange(0x7e8a, 0x7e8a), - CodeunitRange(0x7e8c, 0x7e8d), - CodeunitRange(0x7e8f, 0x7e8f), - CodeunitRange(0x7e93, 0x7e94), - CodeunitRange(0x7e96, 0x7e96), - CodeunitRange(0x7e98, 0x7e98), - CodeunitRange(0x7e9b, 0x7e9c), - CodeunitRange(0x7e9f, 0x7e9f), - CodeunitRange(0x7f36, 0x7f38), - CodeunitRange(0x7f3a, 0x7f3a), - CodeunitRange(0x7f3e, 0x7f3f), - CodeunitRange(0x7f43, 0x7f45), - CodeunitRange(0x7f47, 0x7f47), - CodeunitRange(0x7f4b, 0x7f4e), - CodeunitRange(0x7f50, 0x7f55), - CodeunitRange(0x7f58, 0x7f58), - CodeunitRange(0x7f5d, 0x7f5d), - CodeunitRange(0x7f5f, 0x7f61), - CodeunitRange(0x7f63, 0x7f63), - CodeunitRange(0x7f66, 0x7f66), - CodeunitRange(0x7f68, 0x7f68), - CodeunitRange(0x7f6a, 0x7f6b), - CodeunitRange(0x7f6e, 0x7f6e), - CodeunitRange(0x7f70, 0x7f70), - CodeunitRange(0x7f72, 0x7f72), - CodeunitRange(0x7f75, 0x7f75), - CodeunitRange(0x7f77, 0x7f79), - CodeunitRange(0x7f7c, 0x7f7e), - CodeunitRange(0x7f82, 0x7f82), - CodeunitRange(0x7f85, 0x7f88), - CodeunitRange(0x7f8a, 0x7f8a), - CodeunitRange(0x7f8c, 0x7f8c), - CodeunitRange(0x7f8e, 0x7f8e), - CodeunitRange(0x7f94, 0x7f94), - CodeunitRange(0x7f96, 0x7f98), - CodeunitRange(0x7f9a, 0x7f9a), - CodeunitRange(0x7f9d, 0x7f9e), - CodeunitRange(0x7fa1, 0x7fa1), - CodeunitRange(0x7fa4, 0x7fa4), - CodeunitRange(0x7fa8, 0x7fa9), - CodeunitRange(0x7fab, 0x7fab), - CodeunitRange(0x7faf, 0x7faf), - CodeunitRange(0x7fb2, 0x7fb2), - CodeunitRange(0x7fb6, 0x7fb6), - CodeunitRange(0x7fb8, 0x7fb9), - CodeunitRange(0x7fbd, 0x7fbd), - CodeunitRange(0x7fbf, 0x7fbf), - CodeunitRange(0x7fc1, 0x7fc1), - CodeunitRange(0x7fc5, 0x7fc5), - CodeunitRange(0x7fca, 0x7fca), - CodeunitRange(0x7fcc, 0x7fcc), - CodeunitRange(0x7fce, 0x7fce), - CodeunitRange(0x7fd2, 0x7fd2), - CodeunitRange(0x7fd4, 0x7fd6), - CodeunitRange(0x7fdb, 0x7fdb), - CodeunitRange(0x7fdf, 0x7fe1), - CodeunitRange(0x7fe3, 0x7fe4), - CodeunitRange(0x7fe6, 0x7fe6), - CodeunitRange(0x7fe9, 0x7fe9), - CodeunitRange(0x7feb, 0x7fec), - CodeunitRange(0x7fee, 0x7fee), - CodeunitRange(0x7ff0, 0x7ff0), - CodeunitRange(0x7ff3, 0x7ff3), - CodeunitRange(0x7ff9, 0x7ffc), - CodeunitRange(0x7ffe, 0x7ffe), - CodeunitRange(0x8000, 0x8009), - CodeunitRange(0x800c, 0x800c), - CodeunitRange(0x8010, 0x8012), - CodeunitRange(0x8014, 0x8019), - CodeunitRange(0x801e, 0x801e), - CodeunitRange(0x8021, 0x8021), - CodeunitRange(0x8026, 0x8026), - CodeunitRange(0x8028, 0x8028), - CodeunitRange(0x802c, 0x802d), - CodeunitRange(0x8030, 0x8030), - CodeunitRange(0x8033, 0x8033), - CodeunitRange(0x8036, 0x8036), - CodeunitRange(0x803d, 0x803d), - CodeunitRange(0x803f, 0x803f), - CodeunitRange(0x8043, 0x8043), - CodeunitRange(0x8046, 0x8046), - CodeunitRange(0x8048, 0x8048), - CodeunitRange(0x804a, 0x804a), - CodeunitRange(0x8052, 0x8052), - CodeunitRange(0x8055, 0x8056), - CodeunitRange(0x8058, 0x8058), - CodeunitRange(0x805a, 0x805a), - CodeunitRange(0x805e, 0x805e), - CodeunitRange(0x8061, 0x8061), - CodeunitRange(0x806f, 0x8073), - CodeunitRange(0x8075, 0x8077), - CodeunitRange(0x807d, 0x8080), - CodeunitRange(0x8084, 0x8087), - CodeunitRange(0x8089, 0x8089), - CodeunitRange(0x808b, 0x808c), - CodeunitRange(0x8093, 0x8093), - CodeunitRange(0x8096, 0x8096), - CodeunitRange(0x8098, 0x8098), - CodeunitRange(0x809a, 0x809b), - CodeunitRange(0x809d, 0x809d), - CodeunitRange(0x80a1, 0x80a2), - CodeunitRange(0x80a5, 0x80a6), - CodeunitRange(0x80a9, 0x80ab), - CodeunitRange(0x80ad, 0x80ad), - CodeunitRange(0x80af, 0x80af), - CodeunitRange(0x80b1, 0x80b2), - CodeunitRange(0x80b4, 0x80b5), - CodeunitRange(0x80ba, 0x80ba), - CodeunitRange(0x80c3, 0x80c4), - CodeunitRange(0x80c6, 0x80c6), - CodeunitRange(0x80ca, 0x80ca), - CodeunitRange(0x80cc, 0x80cc), - CodeunitRange(0x80ce, 0x80ce), - CodeunitRange(0x80d5, 0x80d6), - CodeunitRange(0x80d9, 0x80dc), - CodeunitRange(0x80de, 0x80de), - CodeunitRange(0x80e0, 0x80e1), - CodeunitRange(0x80e4, 0x80e5), - CodeunitRange(0x80ef, 0x80ef), - CodeunitRange(0x80f1, 0x80f1), - CodeunitRange(0x80f4, 0x80f4), - CodeunitRange(0x80f7, 0x80f8), - CodeunitRange(0x80fd, 0x80fe), - CodeunitRange(0x8102, 0x8102), - CodeunitRange(0x8105, 0x810a), - CodeunitRange(0x8116, 0x8118), - CodeunitRange(0x811a, 0x811b), - CodeunitRange(0x8123, 0x8124), - CodeunitRange(0x8127, 0x8127), - CodeunitRange(0x8129, 0x8129), - CodeunitRange(0x812b, 0x812b), - CodeunitRange(0x812f, 0x8130), - CodeunitRange(0x8139, 0x813a), - CodeunitRange(0x813e, 0x813e), - CodeunitRange(0x8141, 0x8141), - CodeunitRange(0x8146, 0x8146), - CodeunitRange(0x814a, 0x814b), - CodeunitRange(0x814e, 0x814e), - CodeunitRange(0x8150, 0x8155), - CodeunitRange(0x8160, 0x8160), - CodeunitRange(0x8164, 0x8166), - CodeunitRange(0x816b, 0x816b), - CodeunitRange(0x816d, 0x816d), - CodeunitRange(0x8170, 0x8171), - CodeunitRange(0x8174, 0x8174), - CodeunitRange(0x8176, 0x817a), - CodeunitRange(0x817f, 0x8180), - CodeunitRange(0x8182, 0x8184), - CodeunitRange(0x8186, 0x8186), - CodeunitRange(0x8188, 0x8188), - CodeunitRange(0x818a, 0x818b), - CodeunitRange(0x818f, 0x818f), - CodeunitRange(0x819a, 0x819a), - CodeunitRange(0x819c, 0x819e), - CodeunitRange(0x81a0, 0x81a0), - CodeunitRange(0x81a3, 0x81a3), - CodeunitRange(0x81a8, 0x81a9), - CodeunitRange(0x81b0, 0x81b0), - CodeunitRange(0x81b3, 0x81b5), - CodeunitRange(0x81b8, 0x81ba), - CodeunitRange(0x81bd, 0x81c0), - CodeunitRange(0x81c2, 0x81c2), - CodeunitRange(0x81c6, 0x81c6), - CodeunitRange(0x81ca, 0x81ca), - CodeunitRange(0x81cd, 0x81cd), - CodeunitRange(0x81cf, 0x81cf), - CodeunitRange(0x81d1, 0x81d1), - CodeunitRange(0x81d8, 0x81da), - CodeunitRange(0x81dd, 0x81dd), - CodeunitRange(0x81df, 0x81e0), - CodeunitRange(0x81e3, 0x81e3), - CodeunitRange(0x81e5, 0x81e5), - CodeunitRange(0x81e7, 0x81e8), - CodeunitRange(0x81ea, 0x81ea), - CodeunitRange(0x81ec, 0x81ed), - CodeunitRange(0x81f3, 0x81f4), - CodeunitRange(0x81f6, 0x81f6), - CodeunitRange(0x81fa, 0x81fc), - CodeunitRange(0x81fe, 0x81fe), - CodeunitRange(0x8201, 0x8203), - CodeunitRange(0x8205, 0x8205), - CodeunitRange(0x8207, 0x8208), - CodeunitRange(0x820a, 0x820a), - CodeunitRange(0x820c, 0x820d), - CodeunitRange(0x8210, 0x8210), - CodeunitRange(0x8212, 0x8212), - CodeunitRange(0x8216, 0x8216), - CodeunitRange(0x8218, 0x8218), - CodeunitRange(0x821b, 0x821c), - CodeunitRange(0x821e, 0x821f), - CodeunitRange(0x8221, 0x8221), - CodeunitRange(0x822a, 0x822c), - CodeunitRange(0x8233, 0x8233), - CodeunitRange(0x8235, 0x8239), - CodeunitRange(0x823d, 0x823d), - CodeunitRange(0x8240, 0x8240), - CodeunitRange(0x8245, 0x8245), - CodeunitRange(0x8247, 0x8247), - CodeunitRange(0x8251, 0x8251), - CodeunitRange(0x8258, 0x825a), - CodeunitRange(0x825f, 0x825f), - CodeunitRange(0x8264, 0x8264), - CodeunitRange(0x8266, 0x8266), - CodeunitRange(0x8268, 0x8268), - CodeunitRange(0x826a, 0x826b), - CodeunitRange(0x826e, 0x826f), - CodeunitRange(0x8271, 0x8272), - CodeunitRange(0x8274, 0x8274), - CodeunitRange(0x8276, 0x8279), - CodeunitRange(0x827d, 0x827e), - CodeunitRange(0x8283, 0x8283), - CodeunitRange(0x828a, 0x828b), - CodeunitRange(0x828d, 0x828e), - CodeunitRange(0x8290, 0x8290), - CodeunitRange(0x8292, 0x8292), - CodeunitRange(0x8294, 0x8294), - CodeunitRange(0x8298, 0x829a), - CodeunitRange(0x829d, 0x829d), - CodeunitRange(0x829f, 0x829f), - CodeunitRange(0x82a1, 0x82a3), - CodeunitRange(0x82a5, 0x82b1), - CodeunitRange(0x82b3, 0x82b3), - CodeunitRange(0x82b7, 0x82b9), - CodeunitRange(0x82bb, 0x82bf), - CodeunitRange(0x82c5, 0x82c5), - CodeunitRange(0x82d1, 0x82d5), - CodeunitRange(0x82d7, 0x82d7), - CodeunitRange(0x82db, 0x82dc), - CodeunitRange(0x82de, 0x82e1), - CodeunitRange(0x82e3, 0x82e3), - CodeunitRange(0x82e5, 0x82e7), - CodeunitRange(0x82e9, 0x82e9), - CodeunitRange(0x82eb, 0x82eb), - CodeunitRange(0x82f1, 0x82f1), - CodeunitRange(0x82f3, 0x82f4), - CodeunitRange(0x82f9, 0x82fb), - CodeunitRange(0x82fd, 0x8305), - CodeunitRange(0x8308, 0x8309), - CodeunitRange(0x8317, 0x8317), - CodeunitRange(0x831b, 0x831d), - CodeunitRange(0x8323, 0x8325), - CodeunitRange(0x8328, 0x8328), - CodeunitRange(0x832a, 0x832b), - CodeunitRange(0x832f, 0x832f), - CodeunitRange(0x8331, 0x8336), - CodeunitRange(0x8338, 0x8339), - CodeunitRange(0x833c, 0x833c), - CodeunitRange(0x8340, 0x8340), - CodeunitRange(0x8343, 0x8343), - CodeunitRange(0x8347, 0x8347), - CodeunitRange(0x8349, 0x834a), - CodeunitRange(0x834f, 0x8352), - CodeunitRange(0x8363, 0x8363), - CodeunitRange(0x8373, 0x8373), - CodeunitRange(0x8377, 0x8377), - CodeunitRange(0x837a, 0x837b), - CodeunitRange(0x8382, 0x8382), - CodeunitRange(0x8385, 0x8385), - CodeunitRange(0x8389, 0x838a), - CodeunitRange(0x838e, 0x838e), - CodeunitRange(0x8392, 0x8393), - CodeunitRange(0x8396, 0x8396), - CodeunitRange(0x8398, 0x8398), - CodeunitRange(0x839a, 0x839b), - CodeunitRange(0x839d, 0x83a0), - CodeunitRange(0x83a2, 0x83a2), - CodeunitRange(0x83a8, 0x83ab), - CodeunitRange(0x83bd, 0x83c2), - CodeunitRange(0x83c5, 0x83c5), - CodeunitRange(0x83c9, 0x83ca), - CodeunitRange(0x83cc, 0x83cc), - CodeunitRange(0x83d1, 0x83d1), - CodeunitRange(0x83d3, 0x83d4), - CodeunitRange(0x83d6, 0x83d6), - CodeunitRange(0x83d8, 0x83d8), - CodeunitRange(0x83dc, 0x83dc), - CodeunitRange(0x83df, 0x83e1), - CodeunitRange(0x83e9, 0x83e9), - CodeunitRange(0x83eb, 0x83eb), - CodeunitRange(0x83ef, 0x83f2), - CodeunitRange(0x83f4, 0x83f4), - CodeunitRange(0x83f6, 0x83f6), - CodeunitRange(0x83f9, 0x83f9), - CodeunitRange(0x83fb, 0x83fb), - CodeunitRange(0x83fd, 0x83fd), - CodeunitRange(0x8403, 0x8404), - CodeunitRange(0x8406, 0x8407), - CodeunitRange(0x840a, 0x840e), - CodeunitRange(0x8429, 0x8429), - CodeunitRange(0x842c, 0x842c), - CodeunitRange(0x8431, 0x8431), - CodeunitRange(0x8435, 0x8435), - CodeunitRange(0x8438, 0x8439), - CodeunitRange(0x843c, 0x843d), - CodeunitRange(0x8446, 0x8446), - CodeunitRange(0x8449, 0x844a), - CodeunitRange(0x8451, 0x8451), - CodeunitRange(0x8457, 0x8457), - CodeunitRange(0x845a, 0x845b), - CodeunitRange(0x8461, 0x8461), - CodeunitRange(0x8463, 0x8463), - CodeunitRange(0x8466, 0x8466), - CodeunitRange(0x8469, 0x846d), - CodeunitRange(0x846f, 0x8471), - CodeunitRange(0x8473, 0x8473), - CodeunitRange(0x8475, 0x8475), - CodeunitRange(0x8477, 0x8477), - CodeunitRange(0x847a, 0x847a), - CodeunitRange(0x8482, 0x8482), - CodeunitRange(0x8490, 0x8491), - CodeunitRange(0x8494, 0x8494), - CodeunitRange(0x8499, 0x8499), - CodeunitRange(0x849c, 0x849c), - CodeunitRange(0x849f, 0x849f), - CodeunitRange(0x84a1, 0x84a1), - CodeunitRange(0x84a8, 0x84a8), - CodeunitRange(0x84ad, 0x84ad), - CodeunitRange(0x84af, 0x84af), - CodeunitRange(0x84b2, 0x84b2), - CodeunitRange(0x84b4, 0x84b4), - CodeunitRange(0x84b8, 0x84bd), - CodeunitRange(0x84bf, 0x84c2), - CodeunitRange(0x84c4, 0x84c4), - CodeunitRange(0x84c6, 0x84c6), - CodeunitRange(0x84c9, 0x84cb), - CodeunitRange(0x84cd, 0x84cd), - CodeunitRange(0x84cf, 0x84d1), - CodeunitRange(0x84d3, 0x84d3), - CodeunitRange(0x84d6, 0x84d6), - CodeunitRange(0x84da, 0x84da), - CodeunitRange(0x84ec, 0x84ef), - CodeunitRange(0x84f1, 0x84f1), - CodeunitRange(0x84f4, 0x84f4), - CodeunitRange(0x84fa, 0x84fa), - CodeunitRange(0x84fc, 0x84fd), - CodeunitRange(0x8500, 0x8500), - CodeunitRange(0x8506, 0x8506), - CodeunitRange(0x850e, 0x850e), - CodeunitRange(0x8511, 0x8511), - CodeunitRange(0x8513, 0x8515), - CodeunitRange(0x8517, 0x8518), - CodeunitRange(0x851a, 0x851a), - CodeunitRange(0x851e, 0x851f), - CodeunitRange(0x8521, 0x8521), - CodeunitRange(0x8523, 0x8523), - CodeunitRange(0x8525, 0x8526), - CodeunitRange(0x852a, 0x852a), - CodeunitRange(0x852c, 0x852d), - CodeunitRange(0x852f, 0x8530), - CodeunitRange(0x853d, 0x853d), - CodeunitRange(0x853f, 0x853f), - CodeunitRange(0x8541, 0x8541), - CodeunitRange(0x8543, 0x8543), - CodeunitRange(0x8546, 0x8546), - CodeunitRange(0x8549, 0x854b), - CodeunitRange(0x854e, 0x854e), - CodeunitRange(0x8553, 0x8553), - CodeunitRange(0x8555, 0x8559), - CodeunitRange(0x855e, 0x855e), - CodeunitRange(0x8561, 0x8561), - CodeunitRange(0x8563, 0x8564), - CodeunitRange(0x8568, 0x856b), - CodeunitRange(0x856d, 0x856d), - CodeunitRange(0x8578, 0x8578), - CodeunitRange(0x857a, 0x857a), - CodeunitRange(0x857e, 0x857e), - CodeunitRange(0x8580, 0x8580), - CodeunitRange(0x8584, 0x8584), - CodeunitRange(0x8586, 0x8587), - CodeunitRange(0x8589, 0x858a), - CodeunitRange(0x858c, 0x858c), - CodeunitRange(0x858f, 0x858f), - CodeunitRange(0x8591, 0x8591), - CodeunitRange(0x8594, 0x8594), - CodeunitRange(0x8597, 0x8597), - CodeunitRange(0x8599, 0x8599), - CodeunitRange(0x859b, 0x859b), - CodeunitRange(0x859d, 0x859d), - CodeunitRange(0x85a4, 0x85a6), - CodeunitRange(0x85a8, 0x85ab), - CodeunitRange(0x85af, 0x85b0), - CodeunitRange(0x85ba, 0x85ba), - CodeunitRange(0x85c1, 0x85c1), - CodeunitRange(0x85c7, 0x85c7), - CodeunitRange(0x85c9, 0x85c9), - CodeunitRange(0x85cd, 0x85d0), - CodeunitRange(0x85d5, 0x85d5), - CodeunitRange(0x85dc, 0x85dd), - CodeunitRange(0x85e4, 0x85e5), - CodeunitRange(0x85e9, 0x85ea), - CodeunitRange(0x85f7, 0x85f7), - CodeunitRange(0x85f9, 0x85fb), - CodeunitRange(0x85fd, 0x85fd), - CodeunitRange(0x85ff, 0x8600), - CodeunitRange(0x8602, 0x8602), - CodeunitRange(0x8604, 0x8604), - CodeunitRange(0x8606, 0x8607), - CodeunitRange(0x860a, 0x860b), - CodeunitRange(0x8616, 0x8618), - CodeunitRange(0x861a, 0x861a), - CodeunitRange(0x861f, 0x861f), - CodeunitRange(0x8622, 0x8622), - CodeunitRange(0x8627, 0x8627), - CodeunitRange(0x8629, 0x862a), - CodeunitRange(0x862d, 0x862d), - CodeunitRange(0x862f, 0x862f), - CodeunitRange(0x863c, 0x863c), - CodeunitRange(0x863f, 0x863f), - CodeunitRange(0x8641, 0x8641), - CodeunitRange(0x864d, 0x864e), - CodeunitRange(0x8650, 0x8650), - CodeunitRange(0x8653, 0x8655), - CodeunitRange(0x865b, 0x865c), - CodeunitRange(0x865e, 0x865f), - CodeunitRange(0x8667, 0x8667), - CodeunitRange(0x866b, 0x866c), - CodeunitRange(0x866f, 0x866f), - CodeunitRange(0x8671, 0x8671), - CodeunitRange(0x8678, 0x867b), - CodeunitRange(0x868a, 0x868d), - CodeunitRange(0x8693, 0x8693), - CodeunitRange(0x8695, 0x8695), - CodeunitRange(0x86a3, 0x86a4), - CodeunitRange(0x86a8, 0x86aa), - CodeunitRange(0x86af, 0x86b1), - CodeunitRange(0x86b4, 0x86b4), - CodeunitRange(0x86c0, 0x86c0), - CodeunitRange(0x86c5, 0x86c7), - CodeunitRange(0x86c9, 0x86c9), - CodeunitRange(0x86cb, 0x86cb), - CodeunitRange(0x86d4, 0x86d4), - CodeunitRange(0x86d9, 0x86d9), - CodeunitRange(0x86db, 0x86db), - CodeunitRange(0x86de, 0x86df), - CodeunitRange(0x86e3, 0x86e4), - CodeunitRange(0x86e9, 0x86e9), - CodeunitRange(0x86ec, 0x86ed), - CodeunitRange(0x86f8, 0x86f9), - CodeunitRange(0x86fb, 0x86fb), - CodeunitRange(0x86fe, 0x86fe), - CodeunitRange(0x8700, 0x8700), - CodeunitRange(0x8702, 0x8703), - CodeunitRange(0x8706, 0x8706), - CodeunitRange(0x8708, 0x870b), - CodeunitRange(0x8711, 0x8711), - CodeunitRange(0x8718, 0x8718), - CodeunitRange(0x871a, 0x871a), - CodeunitRange(0x871c, 0x871d), - CodeunitRange(0x8721, 0x8721), - CodeunitRange(0x8725, 0x8725), - CodeunitRange(0x8728, 0x8729), - CodeunitRange(0x8734, 0x8735), - CodeunitRange(0x8737, 0x8737), - CodeunitRange(0x873a, 0x873b), - CodeunitRange(0x873f, 0x8740), - CodeunitRange(0x874c, 0x874c), - CodeunitRange(0x874e, 0x874e), - CodeunitRange(0x8755, 0x8755), - CodeunitRange(0x8757, 0x8757), - CodeunitRange(0x8759, 0x8759), - CodeunitRange(0x875f, 0x8760), - CodeunitRange(0x8764, 0x8766), - CodeunitRange(0x8768, 0x8768), - CodeunitRange(0x876e, 0x876e), - CodeunitRange(0x8774, 0x8774), - CodeunitRange(0x8776, 0x8776), - CodeunitRange(0x8778, 0x8778), - CodeunitRange(0x8782, 0x8783), - CodeunitRange(0x878c, 0x878d), - CodeunitRange(0x8798, 0x8798), - CodeunitRange(0x879e, 0x879f), - CodeunitRange(0x87a2, 0x87a3), - CodeunitRange(0x87ad, 0x87ad), - CodeunitRange(0x87b3, 0x87b4), - CodeunitRange(0x87ba, 0x87bb), - CodeunitRange(0x87bd, 0x87bd), - CodeunitRange(0x87c0, 0x87c0), - CodeunitRange(0x87c4, 0x87c4), - CodeunitRange(0x87c7, 0x87c7), - CodeunitRange(0x87ca, 0x87cb), - CodeunitRange(0x87d2, 0x87d2), - CodeunitRange(0x87da, 0x87db), - CodeunitRange(0x87e0, 0x87e0), - CodeunitRange(0x87e3, 0x87e3), - CodeunitRange(0x87ec, 0x87ec), - CodeunitRange(0x87ef, 0x87ef), - CodeunitRange(0x87f2, 0x87f2), - CodeunitRange(0x87f7, 0x87f7), - CodeunitRange(0x87f9, 0x87f9), - CodeunitRange(0x87fb, 0x87fb), - CodeunitRange(0x87fe, 0x87fe), - CodeunitRange(0x8805, 0x8805), - CodeunitRange(0x880d, 0x880d), - CodeunitRange(0x8811, 0x8811), - CodeunitRange(0x8815, 0x8815), - CodeunitRange(0x881f, 0x881f), - CodeunitRange(0x8821, 0x8823), - CodeunitRange(0x8831, 0x8832), - CodeunitRange(0x8836, 0x8836), - CodeunitRange(0x8839, 0x8839), - CodeunitRange(0x883b, 0x883b), - CodeunitRange(0x8840, 0x8840), - CodeunitRange(0x8844, 0x8844), - CodeunitRange(0x8846, 0x8846), - CodeunitRange(0x884a, 0x884a), - CodeunitRange(0x884c, 0x884e), - CodeunitRange(0x8852, 0x8853), - CodeunitRange(0x8857, 0x8857), - CodeunitRange(0x8859, 0x8859), - CodeunitRange(0x885b, 0x885b), - CodeunitRange(0x885d, 0x885e), - CodeunitRange(0x8861, 0x8864), - CodeunitRange(0x8868, 0x8868), - CodeunitRange(0x886b, 0x886b), - CodeunitRange(0x886e, 0x886e), - CodeunitRange(0x8870, 0x8870), - CodeunitRange(0x8872, 0x8872), - CodeunitRange(0x8877, 0x8877), - CodeunitRange(0x887d, 0x887f), - CodeunitRange(0x8881, 0x8882), - CodeunitRange(0x8888, 0x8888), - CodeunitRange(0x888b, 0x888b), - CodeunitRange(0x888d, 0x888d), - CodeunitRange(0x8892, 0x8892), - CodeunitRange(0x8896, 0x8897), - CodeunitRange(0x889b, 0x889b), - CodeunitRange(0x889d, 0x889e), - CodeunitRange(0x88a2, 0x88a2), - CodeunitRange(0x88aa, 0x88ab), - CodeunitRange(0x88b4, 0x88b4), - CodeunitRange(0x88c0, 0x88c2), - CodeunitRange(0x88c5, 0x88c5), - CodeunitRange(0x88ca, 0x88ca), - CodeunitRange(0x88cd, 0x88cd), - CodeunitRange(0x88cf, 0x88cf), - CodeunitRange(0x88d2, 0x88d2), - CodeunitRange(0x88d4, 0x88d5), - CodeunitRange(0x88d8, 0x88d9), - CodeunitRange(0x88dc, 0x88dd), - CodeunitRange(0x88df, 0x88df), - CodeunitRange(0x88e1, 0x88e1), - CodeunitRange(0x88e8, 0x88e8), - CodeunitRange(0x88ef, 0x88ef), - CodeunitRange(0x88f1, 0x88f1), - CodeunitRange(0x88f3, 0x88f5), - CodeunitRange(0x88f8, 0x88f9), - CodeunitRange(0x88fd, 0x88fe), - CodeunitRange(0x8904, 0x8904), - CodeunitRange(0x8907, 0x8907), - CodeunitRange(0x890a, 0x890a), - CodeunitRange(0x890c, 0x890c), - CodeunitRange(0x8910, 0x8913), - CodeunitRange(0x8915, 0x8915), - CodeunitRange(0x8918, 0x891a), - CodeunitRange(0x8925, 0x8925), - CodeunitRange(0x8927, 0x8927), - CodeunitRange(0x892a, 0x892b), - CodeunitRange(0x892f, 0x8930), - CodeunitRange(0x8936, 0x8936), - CodeunitRange(0x8938, 0x8938), - CodeunitRange(0x893a, 0x893b), - CodeunitRange(0x8941, 0x8941), - CodeunitRange(0x8944, 0x8944), - CodeunitRange(0x894d, 0x894d), - CodeunitRange(0x8952, 0x8952), - CodeunitRange(0x8956, 0x8956), - CodeunitRange(0x8958, 0x8958), - CodeunitRange(0x895c, 0x895c), - CodeunitRange(0x895e, 0x8960), - CodeunitRange(0x8964, 0x8964), - CodeunitRange(0x896a, 0x896a), - CodeunitRange(0x896d, 0x896d), - CodeunitRange(0x896f, 0x896f), - CodeunitRange(0x8972, 0x8972), - CodeunitRange(0x8974, 0x8974), - CodeunitRange(0x897e, 0x8981), - CodeunitRange(0x8983, 0x8983), - CodeunitRange(0x8986, 0x8989), - CodeunitRange(0x898b, 0x898b), - CodeunitRange(0x898f, 0x898f), - CodeunitRange(0x8993, 0x8993), - CodeunitRange(0x8996, 0x8998), - CodeunitRange(0x899a, 0x899a), - CodeunitRange(0x89a0, 0x89a1), - CodeunitRange(0x89a8, 0x89aa), - CodeunitRange(0x89ac, 0x89ac), - CodeunitRange(0x89af, 0x89af), - CodeunitRange(0x89b2, 0x89b3), - CodeunitRange(0x89b6, 0x89b7), - CodeunitRange(0x89ba, 0x89ba), - CodeunitRange(0x89bd, 0x89bd), - CodeunitRange(0x89bf, 0x89c1), - CodeunitRange(0x89d2, 0x89d2), - CodeunitRange(0x89d4, 0x89d4), - CodeunitRange(0x89d6, 0x89d7), - CodeunitRange(0x89da, 0x89da), - CodeunitRange(0x89dc, 0x89dd), - CodeunitRange(0x89e3, 0x89e3), - CodeunitRange(0x89e5, 0x89e7), - CodeunitRange(0x89f0, 0x89f1), - CodeunitRange(0x89f3, 0x89f4), - CodeunitRange(0x89f6, 0x89f6), - CodeunitRange(0x89f8, 0x89f8), - CodeunitRange(0x8a00, 0x8a00), - CodeunitRange(0x8a02, 0x8a03), - CodeunitRange(0x8a07, 0x8a0a), - CodeunitRange(0x8a0c, 0x8a0c), - CodeunitRange(0x8a0e, 0x8a0e), - CodeunitRange(0x8a10, 0x8a18), - CodeunitRange(0x8a1b, 0x8a1b), - CodeunitRange(0x8a1d, 0x8a1d), - CodeunitRange(0x8a1f, 0x8a1f), - CodeunitRange(0x8a22, 0x8a23), - CodeunitRange(0x8a25, 0x8a25), - CodeunitRange(0x8a2a, 0x8a2a), - CodeunitRange(0x8a2d, 0x8a2d), - CodeunitRange(0x8a31, 0x8a31), - CodeunitRange(0x8a33, 0x8a34), - CodeunitRange(0x8a36, 0x8a36), - CodeunitRange(0x8a3a, 0x8a3c), - CodeunitRange(0x8a3e, 0x8a3e), - CodeunitRange(0x8a41, 0x8a41), - CodeunitRange(0x8a46, 0x8a46), - CodeunitRange(0x8a4b, 0x8a4b), - CodeunitRange(0x8a50, 0x8a51), - CodeunitRange(0x8a54, 0x8a58), - CodeunitRange(0x8a5b, 0x8a5b), - CodeunitRange(0x8a5e, 0x8a5e), - CodeunitRange(0x8a60, 0x8a63), - CodeunitRange(0x8a66, 0x8a66), - CodeunitRange(0x8a69, 0x8a69), - CodeunitRange(0x8a6b, 0x8a6e), - CodeunitRange(0x8a70, 0x8a73), - CodeunitRange(0x8a75, 0x8a75), - CodeunitRange(0x8a79, 0x8a79), - CodeunitRange(0x8a7c, 0x8a7c), - CodeunitRange(0x8a7f, 0x8a7f), - CodeunitRange(0x8a82, 0x8a82), - CodeunitRange(0x8a84, 0x8a87), - CodeunitRange(0x8a8c, 0x8a8d), - CodeunitRange(0x8a91, 0x8a91), - CodeunitRange(0x8a93, 0x8a93), - CodeunitRange(0x8a95, 0x8a95), - CodeunitRange(0x8a98, 0x8a98), - CodeunitRange(0x8a9a, 0x8a9a), - CodeunitRange(0x8a9e, 0x8a9e), - CodeunitRange(0x8aa0, 0x8aa8), - CodeunitRange(0x8aaa, 0x8aaa), - CodeunitRange(0x8ab0, 0x8ab0), - CodeunitRange(0x8ab2, 0x8ab2), - CodeunitRange(0x8ab9, 0x8ab9), - CodeunitRange(0x8abc, 0x8abc), - CodeunitRange(0x8abe, 0x8abf), - CodeunitRange(0x8ac2, 0x8ac2), - CodeunitRange(0x8ac4, 0x8ac4), - CodeunitRange(0x8ac7, 0x8ac7), - CodeunitRange(0x8ac9, 0x8ac9), - CodeunitRange(0x8acb, 0x8acb), - CodeunitRange(0x8acd, 0x8acd), - CodeunitRange(0x8acf, 0x8acf), - CodeunitRange(0x8ad2, 0x8ad2), - CodeunitRange(0x8ad6, 0x8ad7), - CodeunitRange(0x8adb, 0x8ae1), - CodeunitRange(0x8ae4, 0x8ae4), - CodeunitRange(0x8ae6, 0x8ae7), - CodeunitRange(0x8aea, 0x8aeb), - CodeunitRange(0x8aed, 0x8aee), - CodeunitRange(0x8af0, 0x8af4), - CodeunitRange(0x8af6, 0x8af8), - CodeunitRange(0x8afa, 0x8afa), - CodeunitRange(0x8afc, 0x8afc), - CodeunitRange(0x8afe, 0x8afe), - CodeunitRange(0x8b00, 0x8b02), - CodeunitRange(0x8b04, 0x8b04), - CodeunitRange(0x8b07, 0x8b07), - CodeunitRange(0x8b0c, 0x8b0c), - CodeunitRange(0x8b0e, 0x8b0e), - CodeunitRange(0x8b10, 0x8b11), - CodeunitRange(0x8b14, 0x8b14), - CodeunitRange(0x8b16, 0x8b17), - CodeunitRange(0x8b19, 0x8b1d), - CodeunitRange(0x8b20, 0x8b20), - CodeunitRange(0x8b23, 0x8b23), - CodeunitRange(0x8b26, 0x8b26), - CodeunitRange(0x8b28, 0x8b28), - CodeunitRange(0x8b2b, 0x8b2c), - CodeunitRange(0x8b33, 0x8b33), - CodeunitRange(0x8b37, 0x8b37), - CodeunitRange(0x8b39, 0x8b39), - CodeunitRange(0x8b3c, 0x8b3c), - CodeunitRange(0x8b3e, 0x8b3e), - CodeunitRange(0x8b41, 0x8b41), - CodeunitRange(0x8b43, 0x8b43), - CodeunitRange(0x8b46, 0x8b46), - CodeunitRange(0x8b49, 0x8b49), - CodeunitRange(0x8b4c, 0x8b4c), - CodeunitRange(0x8b4e, 0x8b4f), - CodeunitRange(0x8b53, 0x8b54), - CodeunitRange(0x8b56, 0x8b56), - CodeunitRange(0x8b58, 0x8b5a), - CodeunitRange(0x8b5c, 0x8b5c), - CodeunitRange(0x8b5e, 0x8b5f), - CodeunitRange(0x8b66, 0x8b66), - CodeunitRange(0x8b6b, 0x8b6c), - CodeunitRange(0x8b6f, 0x8b71), - CodeunitRange(0x8b74, 0x8b74), - CodeunitRange(0x8b77, 0x8b77), - CodeunitRange(0x8b7d, 0x8b7d), - CodeunitRange(0x8b7f, 0x8b80), - CodeunitRange(0x8b83, 0x8b83), - CodeunitRange(0x8b89, 0x8b8a), - CodeunitRange(0x8b8c, 0x8b8c), - CodeunitRange(0x8b8e, 0x8b8e), - CodeunitRange(0x8b90, 0x8b90), - CodeunitRange(0x8b92, 0x8b93), - CodeunitRange(0x8b96, 0x8b96), - CodeunitRange(0x8b9a, 0x8b9a), - CodeunitRange(0x8b9c, 0x8b9c), - CodeunitRange(0x8b9e, 0x8b9e), - CodeunitRange(0x8ba0, 0x8ba0), - CodeunitRange(0x8c37, 0x8c37), - CodeunitRange(0x8c3f, 0x8c3f), - CodeunitRange(0x8c41, 0x8c41), - CodeunitRange(0x8c46, 0x8c4a), - CodeunitRange(0x8c4c, 0x8c4c), - CodeunitRange(0x8c4e, 0x8c4e), - CodeunitRange(0x8c50, 0x8c50), - CodeunitRange(0x8c55, 0x8c56), - CodeunitRange(0x8c5a, 0x8c5a), - CodeunitRange(0x8c61, 0x8c62), - CodeunitRange(0x8c68, 0x8c68), - CodeunitRange(0x8c6a, 0x8c6c), - CodeunitRange(0x8c73, 0x8c73), - CodeunitRange(0x8c78, 0x8c7a), - CodeunitRange(0x8c82, 0x8c83), - CodeunitRange(0x8c8a, 0x8c8a), - CodeunitRange(0x8c8c, 0x8c8d), - CodeunitRange(0x8c93, 0x8c94), - CodeunitRange(0x8c98, 0x8c98), - CodeunitRange(0x8c9d, 0x8ca2), - CodeunitRange(0x8ca7, 0x8cac), - CodeunitRange(0x8caf, 0x8cb0), - CodeunitRange(0x8cb2, 0x8cb4), - CodeunitRange(0x8cb6, 0x8cbd), - CodeunitRange(0x8cbf, 0x8cc4), - CodeunitRange(0x8cc6, 0x8cc8), - CodeunitRange(0x8cca, 0x8cca), - CodeunitRange(0x8cd1, 0x8cd1), - CodeunitRange(0x8cd3, 0x8cd3), - CodeunitRange(0x8cd9, 0x8cdc), - CodeunitRange(0x8cde, 0x8cde), - CodeunitRange(0x8ce0, 0x8ce6), - CodeunitRange(0x8cea, 0x8cea), - CodeunitRange(0x8cec, 0x8ced), - CodeunitRange(0x8cf0, 0x8cf1), - CodeunitRange(0x8cf3, 0x8cf4), - CodeunitRange(0x8cfb, 0x8cfd), - CodeunitRange(0x8d04, 0x8d05), - CodeunitRange(0x8d07, 0x8d08), - CodeunitRange(0x8d0a, 0x8d0b), - CodeunitRange(0x8d0d, 0x8d0d), - CodeunitRange(0x8d0f, 0x8d10), - CodeunitRange(0x8d13, 0x8d14), - CodeunitRange(0x8d16, 0x8d16), - CodeunitRange(0x8d1b, 0x8d1b), - CodeunitRange(0x8d1d, 0x8d1d), - CodeunitRange(0x8d64, 0x8d64), - CodeunitRange(0x8d66, 0x8d67), - CodeunitRange(0x8d6b, 0x8d6b), - CodeunitRange(0x8d6d, 0x8d6e), - CodeunitRange(0x8d70, 0x8d70), - CodeunitRange(0x8d73, 0x8d74), - CodeunitRange(0x8d76, 0x8d77), - CodeunitRange(0x8d81, 0x8d81), - CodeunitRange(0x8d85, 0x8d85), - CodeunitRange(0x8d8a, 0x8d8a), - CodeunitRange(0x8d8e, 0x8d8e), - CodeunitRange(0x8d90, 0x8d90), - CodeunitRange(0x8d99, 0x8d99), - CodeunitRange(0x8da0, 0x8da0), - CodeunitRange(0x8da3, 0x8da3), - CodeunitRange(0x8da8, 0x8da8), - CodeunitRange(0x8dab, 0x8dab), - CodeunitRange(0x8db2, 0x8db3), - CodeunitRange(0x8dba, 0x8dba), - CodeunitRange(0x8dbe, 0x8dbe), - CodeunitRange(0x8dc2, 0x8dc2), - CodeunitRange(0x8dc6, 0x8dc6), - CodeunitRange(0x8dcb, 0x8dcc), - CodeunitRange(0x8dce, 0x8dcf), - CodeunitRange(0x8dd5, 0x8dd7), - CodeunitRange(0x8ddb, 0x8ddb), - CodeunitRange(0x8ddd, 0x8ddd), - CodeunitRange(0x8ddf, 0x8ddf), - CodeunitRange(0x8de1, 0x8de1), - CodeunitRange(0x8de3, 0x8de3), - CodeunitRange(0x8de8, 0x8de8), - CodeunitRange(0x8dea, 0x8ded), - CodeunitRange(0x8def, 0x8def), - CodeunitRange(0x8df1, 0x8df1), - CodeunitRange(0x8df3, 0x8df3), - CodeunitRange(0x8dfc, 0x8dfc), - CodeunitRange(0x8e06, 0x8e06), - CodeunitRange(0x8e08, 0x8e0a), - CodeunitRange(0x8e0f, 0x8e10), - CodeunitRange(0x8e14, 0x8e14), - CodeunitRange(0x8e1d, 0x8e1f), - CodeunitRange(0x8e2a, 0x8e2a), - CodeunitRange(0x8e30, 0x8e30), - CodeunitRange(0x8e34, 0x8e36), - CodeunitRange(0x8e3a, 0x8e3a), - CodeunitRange(0x8e3d, 0x8e3d), - CodeunitRange(0x8e40, 0x8e40), - CodeunitRange(0x8e42, 0x8e42), - CodeunitRange(0x8e44, 0x8e44), - CodeunitRange(0x8e47, 0x8e4a), - CodeunitRange(0x8e4c, 0x8e4c), - CodeunitRange(0x8e4f, 0x8e4f), - CodeunitRange(0x8e55, 0x8e55), - CodeunitRange(0x8e59, 0x8e59), - CodeunitRange(0x8e5c, 0x8e5c), - CodeunitRange(0x8e5f, 0x8e60), - CodeunitRange(0x8e63, 0x8e64), - CodeunitRange(0x8e72, 0x8e72), - CodeunitRange(0x8e74, 0x8e74), - CodeunitRange(0x8e76, 0x8e76), - CodeunitRange(0x8e7b, 0x8e7b), - CodeunitRange(0x8e81, 0x8e81), - CodeunitRange(0x8e85, 0x8e85), - CodeunitRange(0x8e87, 0x8e87), - CodeunitRange(0x8e89, 0x8e8b), - CodeunitRange(0x8e8d, 0x8e8d), - CodeunitRange(0x8e90, 0x8e91), - CodeunitRange(0x8e93, 0x8e94), - CodeunitRange(0x8e99, 0x8e99), - CodeunitRange(0x8e9e, 0x8e9e), - CodeunitRange(0x8ea1, 0x8ea1), - CodeunitRange(0x8ea9, 0x8eac), - CodeunitRange(0x8eb1, 0x8eb1), - CodeunitRange(0x8eb3, 0x8eb3), - CodeunitRange(0x8ebe, 0x8ebe), - CodeunitRange(0x8ec0, 0x8ec0), - CodeunitRange(0x8ec6, 0x8ec6), - CodeunitRange(0x8eca, 0x8ecd), - CodeunitRange(0x8ed2, 0x8ed2), - CodeunitRange(0x8ede, 0x8edf), - CodeunitRange(0x8ee2, 0x8ee2), - CodeunitRange(0x8ee8, 0x8ee8), - CodeunitRange(0x8eeb, 0x8eeb), - CodeunitRange(0x8ef8, 0x8efc), - CodeunitRange(0x8efe, 0x8efe), - CodeunitRange(0x8f03, 0x8f03), - CodeunitRange(0x8f05, 0x8f05), - CodeunitRange(0x8f07, 0x8f09), - CodeunitRange(0x8f12, 0x8f15), - CodeunitRange(0x8f1b, 0x8f1f), - CodeunitRange(0x8f26, 0x8f2a), - CodeunitRange(0x8f2d, 0x8f2d), - CodeunitRange(0x8f2f, 0x8f30), - CodeunitRange(0x8f33, 0x8f33), - CodeunitRange(0x8f38, 0x8f39), - CodeunitRange(0x8f3b, 0x8f3b), - CodeunitRange(0x8f3e, 0x8f40), - CodeunitRange(0x8f42, 0x8f42), - CodeunitRange(0x8f44, 0x8f46), - CodeunitRange(0x8f49, 0x8f49), - CodeunitRange(0x8f4d, 0x8f4e), - CodeunitRange(0x8f52, 0x8f52), - CodeunitRange(0x8f54, 0x8f54), - CodeunitRange(0x8f57, 0x8f58), - CodeunitRange(0x8f5d, 0x8f5f), - CodeunitRange(0x8f61, 0x8f64), - CodeunitRange(0x8f66, 0x8f66), - CodeunitRange(0x8f9b, 0x8f9c), - CodeunitRange(0x8f9f, 0x8f9f), - CodeunitRange(0x8fa2, 0x8fa3), - CodeunitRange(0x8fa6, 0x8fa6), - CodeunitRange(0x8fa8, 0x8fa8), - CodeunitRange(0x8fad, 0x8fb2), - CodeunitRange(0x8fb5, 0x8fb6), - CodeunitRange(0x8fbb, 0x8fbb), - CodeunitRange(0x8fbf, 0x8fc0), - CodeunitRange(0x8fc2, 0x8fc5), - CodeunitRange(0x8fcd, 0x8fce), - CodeunitRange(0x8fd0, 0x8fd1), - CodeunitRange(0x8fd3, 0x8fd5), - CodeunitRange(0x8fe2, 0x8fe2), - CodeunitRange(0x8fe4, 0x8fe6), - CodeunitRange(0x8fe8, 0x8fe8), - CodeunitRange(0x8fea, 0x8fed), - CodeunitRange(0x8ff0, 0x8ff0), - CodeunitRange(0x8ff2, 0x8ff2), - CodeunitRange(0x8ff4, 0x8ff4), - CodeunitRange(0x8ff7, 0x8ffa), - CodeunitRange(0x8ffc, 0x8ffd), - CodeunitRange(0x8fff, 0x9003), - CodeunitRange(0x9005, 0x9006), - CodeunitRange(0x9008, 0x9008), - CodeunitRange(0x900b, 0x9011), - CodeunitRange(0x9014, 0x9017), - CodeunitRange(0x9019, 0x901a), - CodeunitRange(0x901d, 0x9023), - CodeunitRange(0x902e, 0x902e), - CodeunitRange(0x9031, 0x9032), - CodeunitRange(0x9034, 0x9036), - CodeunitRange(0x9038, 0x9038), - CodeunitRange(0x903c, 0x903c), - CodeunitRange(0x903e, 0x903e), - CodeunitRange(0x9041, 0x9042), - CodeunitRange(0x9047, 0x9047), - CodeunitRange(0x9049, 0x904b), - CodeunitRange(0x904d, 0x9055), - CodeunitRange(0x9058, 0x9059), - CodeunitRange(0x905b, 0x905e), - CodeunitRange(0x9060, 0x9061), - CodeunitRange(0x9063, 0x9063), - CodeunitRange(0x9068, 0x9069), - CodeunitRange(0x906c, 0x906f), - CodeunitRange(0x9072, 0x9072), - CodeunitRange(0x9075, 0x9078), - CodeunitRange(0x907a, 0x907a), - CodeunitRange(0x907c, 0x9085), - CodeunitRange(0x9087, 0x9088), - CodeunitRange(0x908a, 0x908a), - CodeunitRange(0x908c, 0x908d), - CodeunitRange(0x908f, 0x9091), - CodeunitRange(0x9095, 0x9095), - CodeunitRange(0x9097, 0x9099), - CodeunitRange(0x90a0, 0x90a0), - CodeunitRange(0x90a2, 0x90a3), - CodeunitRange(0x90a6, 0x90a6), - CodeunitRange(0x90a8, 0x90a8), - CodeunitRange(0x90aa, 0x90aa), - CodeunitRange(0x90af, 0x90b1), - CodeunitRange(0x90b3, 0x90b3), - CodeunitRange(0x90b5, 0x90b5), - CodeunitRange(0x90b8, 0x90b8), - CodeunitRange(0x90bd, 0x90be), - CodeunitRange(0x90c1, 0x90c1), - CodeunitRange(0x90c3, 0x90c5), - CodeunitRange(0x90ca, 0x90ca), - CodeunitRange(0x90ce, 0x90ce), - CodeunitRange(0x90dc, 0x90de), - CodeunitRange(0x90e1, 0x90e2), - CodeunitRange(0x90e8, 0x90e8), - CodeunitRange(0x90ea, 0x90eb), - CodeunitRange(0x90ed, 0x90ed), - CodeunitRange(0x90ef, 0x90ef), - CodeunitRange(0x90f3, 0x90f5), - CodeunitRange(0x90fd, 0x90fd), - CodeunitRange(0x9102, 0x9102), - CodeunitRange(0x9112, 0x9112), - CodeunitRange(0x9115, 0x9117), - CodeunitRange(0x9119, 0x9119), - CodeunitRange(0x911e, 0x911e), - CodeunitRange(0x9122, 0x9123), - CodeunitRange(0x9127, 0x9127), - CodeunitRange(0x912d, 0x912d), - CodeunitRange(0x9130, 0x9132), - CodeunitRange(0x9134, 0x9134), - CodeunitRange(0x913d, 0x913d), - CodeunitRange(0x9148, 0x914e), - CodeunitRange(0x9152, 0x9152), - CodeunitRange(0x9156, 0x9157), - CodeunitRange(0x9162, 0x9165), - CodeunitRange(0x9169, 0x916a), - CodeunitRange(0x916c, 0x916c), - CodeunitRange(0x9172, 0x9172), - CodeunitRange(0x9174, 0x9179), - CodeunitRange(0x9183, 0x9183), - CodeunitRange(0x9187, 0x9187), - CodeunitRange(0x9189, 0x9189), - CodeunitRange(0x918b, 0x918b), - CodeunitRange(0x918d, 0x918d), - CodeunitRange(0x9190, 0x9190), - CodeunitRange(0x9192, 0x9192), - CodeunitRange(0x919c, 0x919c), - CodeunitRange(0x919e, 0x919e), - CodeunitRange(0x91a2, 0x91a2), - CodeunitRange(0x91aa, 0x91ac), - CodeunitRange(0x91ae, 0x91af), - CodeunitRange(0x91b1, 0x91b2), - CodeunitRange(0x91b4, 0x91b5), - CodeunitRange(0x91bc, 0x91bc), - CodeunitRange(0x91c0, 0x91c1), - CodeunitRange(0x91c3, 0x91c3), - CodeunitRange(0x91c5, 0x91c7), - CodeunitRange(0x91c9, 0x91c9), - CodeunitRange(0x91cb, 0x91d1), - CodeunitRange(0x91d7, 0x91d8), - CodeunitRange(0x91dc, 0x91dd), - CodeunitRange(0x91e3, 0x91e7), - CodeunitRange(0x91e9, 0x91ea), - CodeunitRange(0x91ed, 0x91ed), - CodeunitRange(0x91f5, 0x91f5), - CodeunitRange(0x91ff, 0x91ff), - CodeunitRange(0x9207, 0x9207), - CodeunitRange(0x920d, 0x920d), - CodeunitRange(0x9210, 0x9212), - CodeunitRange(0x9214, 0x9215), - CodeunitRange(0x9217, 0x9217), - CodeunitRange(0x921c, 0x921c), - CodeunitRange(0x921e, 0x921f), - CodeunitRange(0x9226, 0x9226), - CodeunitRange(0x9231, 0x9231), - CodeunitRange(0x9234, 0x9235), - CodeunitRange(0x9237, 0x9238), - CodeunitRange(0x923a, 0x923a), - CodeunitRange(0x923f, 0x9241), - CodeunitRange(0x9244, 0x9245), - CodeunitRange(0x9249, 0x9249), - CodeunitRange(0x924b, 0x924b), - CodeunitRange(0x924d, 0x9252), - CodeunitRange(0x9257, 0x9257), - CodeunitRange(0x925b, 0x925b), - CodeunitRange(0x925e, 0x925e), - CodeunitRange(0x9262, 0x9262), - CodeunitRange(0x9264, 0x9266), - CodeunitRange(0x9277, 0x9278), - CodeunitRange(0x927c, 0x927c), - CodeunitRange(0x927e, 0x927e), - CodeunitRange(0x9280, 0x9280), - CodeunitRange(0x9283, 0x9283), - CodeunitRange(0x9285, 0x9285), - CodeunitRange(0x928b, 0x928b), - CodeunitRange(0x9291, 0x9291), - CodeunitRange(0x9293, 0x9293), - CodeunitRange(0x9295, 0x9296), - CodeunitRange(0x9298, 0x929c), - CodeunitRange(0x92b3, 0x92b4), - CodeunitRange(0x92b6, 0x92b7), - CodeunitRange(0x92b9, 0x92b9), - CodeunitRange(0x92c6, 0x92c6), - CodeunitRange(0x92cc, 0x92cc), - CodeunitRange(0x92cf, 0x92cf), - CodeunitRange(0x92d1, 0x92d2), - CodeunitRange(0x92d5, 0x92d5), - CodeunitRange(0x92d7, 0x92d7), - CodeunitRange(0x92df, 0x92df), - CodeunitRange(0x92e4, 0x92e5), - CodeunitRange(0x92ea, 0x92ea), - CodeunitRange(0x92f2, 0x92f2), - CodeunitRange(0x92f8, 0x92fa), - CodeunitRange(0x92fc, 0x92fe), - CodeunitRange(0x9300, 0x9300), - CodeunitRange(0x9304, 0x9304), - CodeunitRange(0x9306, 0x9306), - CodeunitRange(0x930f, 0x9310), - CodeunitRange(0x9315, 0x9315), - CodeunitRange(0x9318, 0x931a), - CodeunitRange(0x931e, 0x9324), - CodeunitRange(0x9326, 0x9328), - CodeunitRange(0x932a, 0x932c), - CodeunitRange(0x932e, 0x932f), - CodeunitRange(0x9348, 0x934b), - CodeunitRange(0x934d, 0x934d), - CodeunitRange(0x9351, 0x9351), - CodeunitRange(0x9354, 0x9354), - CodeunitRange(0x9357, 0x9357), - CodeunitRange(0x935b, 0x935d), - CodeunitRange(0x9364, 0x9365), - CodeunitRange(0x936b, 0x936c), - CodeunitRange(0x936e, 0x936e), - CodeunitRange(0x9370, 0x9370), - CodeunitRange(0x9372, 0x9372), - CodeunitRange(0x9375, 0x9375), - CodeunitRange(0x937c, 0x937c), - CodeunitRange(0x937e, 0x937e), - CodeunitRange(0x938a, 0x938a), - CodeunitRange(0x938c, 0x938c), - CodeunitRange(0x9394, 0x9394), - CodeunitRange(0x9396, 0x9397), - CodeunitRange(0x939a, 0x939b), - CodeunitRange(0x939f, 0x93a1), - CodeunitRange(0x93a3, 0x93a4), - CodeunitRange(0x93a7, 0x93a7), - CodeunitRange(0x93ac, 0x93ad), - CodeunitRange(0x93b0, 0x93b0), - CodeunitRange(0x93bb, 0x93bb), - CodeunitRange(0x93c3, 0x93c3), - CodeunitRange(0x93c7, 0x93c8), - CodeunitRange(0x93ca, 0x93cc), - CodeunitRange(0x93d1, 0x93d1), - CodeunitRange(0x93d6, 0x93d8), - CodeunitRange(0x93dc, 0x93df), - CodeunitRange(0x93e1, 0x93e2), - CodeunitRange(0x93e4, 0x93e4), - CodeunitRange(0x93e6, 0x93e6), - CodeunitRange(0x93e8, 0x93e8), - CodeunitRange(0x93f6, 0x93f6), - CodeunitRange(0x93f8, 0x93f9), - CodeunitRange(0x93fb, 0x93fb), - CodeunitRange(0x9403, 0x9404), - CodeunitRange(0x940f, 0x9410), - CodeunitRange(0x9413, 0x9414), - CodeunitRange(0x9418, 0x9419), - CodeunitRange(0x9425, 0x9425), - CodeunitRange(0x942a, 0x942b), - CodeunitRange(0x9435, 0x9436), - CodeunitRange(0x9438, 0x9438), - CodeunitRange(0x943a, 0x943a), - CodeunitRange(0x9442, 0x9442), - CodeunitRange(0x9444, 0x9444), - CodeunitRange(0x944a, 0x944a), - CodeunitRange(0x944c, 0x944c), - CodeunitRange(0x9451, 0x9452), - CodeunitRange(0x9455, 0x9455), - CodeunitRange(0x945b, 0x945b), - CodeunitRange(0x945e, 0x945e), - CodeunitRange(0x9460, 0x9460), - CodeunitRange(0x9462, 0x9463), - CodeunitRange(0x946a, 0x946b), - CodeunitRange(0x9470, 0x9472), - CodeunitRange(0x9475, 0x9475), - CodeunitRange(0x9477, 0x9477), - CodeunitRange(0x947c, 0x947f), - CodeunitRange(0x9485, 0x9485), - CodeunitRange(0x9577, 0x9578), - CodeunitRange(0x957f, 0x9580), - CodeunitRange(0x9583, 0x9583), - CodeunitRange(0x9588, 0x958b), - CodeunitRange(0x958e, 0x958f), - CodeunitRange(0x9591, 0x9594), - CodeunitRange(0x9598, 0x9598), - CodeunitRange(0x959c, 0x959c), - CodeunitRange(0x959f, 0x95a0), - CodeunitRange(0x95a2, 0x95a5), - CodeunitRange(0x95a8, 0x95a9), - CodeunitRange(0x95ab, 0x95ad), - CodeunitRange(0x95b1, 0x95b1), - CodeunitRange(0x95b6, 0x95b6), - CodeunitRange(0x95b9, 0x95b9), - CodeunitRange(0x95bb, 0x95be), - CodeunitRange(0x95c3, 0x95c3), - CodeunitRange(0x95c7, 0x95c8), - CodeunitRange(0x95ca, 0x95cd), - CodeunitRange(0x95d3, 0x95d6), - CodeunitRange(0x95da, 0x95da), - CodeunitRange(0x95dc, 0x95dc), - CodeunitRange(0x95de, 0x95de), - CodeunitRange(0x95e0, 0x95e2), - CodeunitRange(0x95e5, 0x95e5), - CodeunitRange(0x95e8, 0x95e8), - CodeunitRange(0x961c, 0x961d), - CodeunitRange(0x9621, 0x9621), - CodeunitRange(0x9624, 0x9624), - CodeunitRange(0x9627, 0x962a), - CodeunitRange(0x962d, 0x962f), - CodeunitRange(0x9632, 0x9632), - CodeunitRange(0x963b, 0x963b), - CodeunitRange(0x963f, 0x9640), - CodeunitRange(0x9642, 0x9642), - CodeunitRange(0x9644, 0x9644), - CodeunitRange(0x964b, 0x964d), - CodeunitRange(0x9650, 0x9650), - CodeunitRange(0x9654, 0x9654), - CodeunitRange(0x9656, 0x9656), - CodeunitRange(0x9658, 0x9658), - CodeunitRange(0x965b, 0x965f), - CodeunitRange(0x9661, 0x9664), - CodeunitRange(0x966a, 0x966a), - CodeunitRange(0x966c, 0x966c), - CodeunitRange(0x9670, 0x9670), - CodeunitRange(0x9672, 0x9679), - CodeunitRange(0x967c, 0x967d), - CodeunitRange(0x9684, 0x9686), - CodeunitRange(0x968a, 0x968b), - CodeunitRange(0x968d, 0x968f), - CodeunitRange(0x9691, 0x9691), - CodeunitRange(0x9694, 0x9695), - CodeunitRange(0x9697, 0x9698), - CodeunitRange(0x969b, 0x969c), - CodeunitRange(0x96a3, 0x96a4), - CodeunitRange(0x96a7, 0x96aa), - CodeunitRange(0x96b0, 0x96b1), - CodeunitRange(0x96b3, 0x96b4), - CodeunitRange(0x96b6, 0x96b9), - CodeunitRange(0x96bb, 0x96bc), - CodeunitRange(0x96c0, 0x96c1), - CodeunitRange(0x96c4, 0x96c7), - CodeunitRange(0x96c9, 0x96c9), - CodeunitRange(0x96cb, 0x96ce), - CodeunitRange(0x96d5, 0x96d6), - CodeunitRange(0x96d9, 0x96de), - CodeunitRange(0x96e2, 0x96e3), - CodeunitRange(0x96e8, 0x96ea), - CodeunitRange(0x96ef, 0x96f0), - CodeunitRange(0x96f2, 0x96f2), - CodeunitRange(0x96f6, 0x96f7), - CodeunitRange(0x96f9, 0x96fb), - CodeunitRange(0x9700, 0x9700), - CodeunitRange(0x9704, 0x9709), - CodeunitRange(0x970c, 0x970f), - CodeunitRange(0x9711, 0x9711), - CodeunitRange(0x9713, 0x9714), - CodeunitRange(0x9716, 0x9716), - CodeunitRange(0x9719, 0x9719), - CodeunitRange(0x971c, 0x971c), - CodeunitRange(0x971e, 0x971e), - CodeunitRange(0x9723, 0x9723), - CodeunitRange(0x9726, 0x9727), - CodeunitRange(0x972a, 0x972a), - CodeunitRange(0x9730, 0x9730), - CodeunitRange(0x9732, 0x9732), - CodeunitRange(0x9738, 0x9739), - CodeunitRange(0x973d, 0x973d), - CodeunitRange(0x9742, 0x9742), - CodeunitRange(0x9744, 0x9744), - CodeunitRange(0x9746, 0x9746), - CodeunitRange(0x9748, 0x9749), - CodeunitRange(0x974c, 0x974c), - CodeunitRange(0x9751, 0x9752), - CodeunitRange(0x9755, 0x9756), - CodeunitRange(0x9758, 0x975e), - CodeunitRange(0x9760, 0x9762), - CodeunitRange(0x9766, 0x9766), - CodeunitRange(0x9768, 0x9769), - CodeunitRange(0x976d, 0x976d), - CodeunitRange(0x9773, 0x9775), - CodeunitRange(0x9777, 0x9777), - CodeunitRange(0x977a, 0x977a), - CodeunitRange(0x977c, 0x977c), - CodeunitRange(0x9780, 0x9781), - CodeunitRange(0x9784, 0x9785), - CodeunitRange(0x978b, 0x978b), - CodeunitRange(0x978d, 0x978d), - CodeunitRange(0x978f, 0x978f), - CodeunitRange(0x9798, 0x9798), - CodeunitRange(0x97a0, 0x97a0), - CodeunitRange(0x97a3, 0x97a3), - CodeunitRange(0x97a6, 0x97a6), - CodeunitRange(0x97a8, 0x97a8), - CodeunitRange(0x97ab, 0x97ad), - CodeunitRange(0x97b1, 0x97b1), - CodeunitRange(0x97b4, 0x97b4), - CodeunitRange(0x97b8, 0x97b9), - CodeunitRange(0x97c1, 0x97c1), - CodeunitRange(0x97c3, 0x97c3), - CodeunitRange(0x97c6, 0x97c6), - CodeunitRange(0x97cb, 0x97cd), - CodeunitRange(0x97d0, 0x97d0), - CodeunitRange(0x97d3, 0x97d3), - CodeunitRange(0x97d9, 0x97d9), - CodeunitRange(0x97dc, 0x97de), - CodeunitRange(0x97e0, 0x97e1), - CodeunitRange(0x97e6, 0x97e6), - CodeunitRange(0x97ed, 0x97ee), - CodeunitRange(0x97f1, 0x97f3), - CodeunitRange(0x97f5, 0x97f6), - CodeunitRange(0x97fa, 0x97fb), - CodeunitRange(0x97fe, 0x9803), - CodeunitRange(0x9805, 0x9806), - CodeunitRange(0x9808, 0x9808), - CodeunitRange(0x980a, 0x980a), - CodeunitRange(0x980c, 0x9813), - CodeunitRange(0x9816, 0x9818), - CodeunitRange(0x981e, 0x981e), - CodeunitRange(0x9821, 0x9821), - CodeunitRange(0x9823, 0x9824), - CodeunitRange(0x9826, 0x9826), - CodeunitRange(0x982b, 0x982b), - CodeunitRange(0x982d, 0x982e), - CodeunitRange(0x9830, 0x9830), - CodeunitRange(0x9832, 0x9832), - CodeunitRange(0x9837, 0x9839), - CodeunitRange(0x983b, 0x983c), - CodeunitRange(0x983f, 0x983f), - CodeunitRange(0x9842, 0x9842), - CodeunitRange(0x9846, 0x9848), - CodeunitRange(0x984b, 0x984e), - CodeunitRange(0x9852, 0x9855), - CodeunitRange(0x9858, 0x985a), - CodeunitRange(0x985c, 0x985c), - CodeunitRange(0x985e, 0x985e), - CodeunitRange(0x9865, 0x9867), - CodeunitRange(0x986b, 0x986b), - CodeunitRange(0x986f, 0x9871), - CodeunitRange(0x9873, 0x9875), - CodeunitRange(0x98a8, 0x98a8), - CodeunitRange(0x98ad, 0x98ad), - CodeunitRange(0x98af, 0x98af), - CodeunitRange(0x98b1, 0x98b2), - CodeunitRange(0x98b6, 0x98b6), - CodeunitRange(0x98ba, 0x98ba), - CodeunitRange(0x98bc, 0x98bc), - CodeunitRange(0x98bf, 0x98bf), - CodeunitRange(0x98c2, 0x98c2), - CodeunitRange(0x98c4, 0x98c4), - CodeunitRange(0x98c6, 0x98c7), - CodeunitRange(0x98c9, 0x98c9), - CodeunitRange(0x98cb, 0x98cb), - CodeunitRange(0x98ce, 0x98ce), - CodeunitRange(0x98db, 0x98dc), - CodeunitRange(0x98de, 0x98e2), - CodeunitRange(0x98e6, 0x98e7), - CodeunitRange(0x98ea, 0x98eb), - CodeunitRange(0x98ed, 0x98ef), - CodeunitRange(0x98f1, 0x98f1), - CodeunitRange(0x98f4, 0x98f4), - CodeunitRange(0x98fb, 0x98fe), - CodeunitRange(0x9903, 0x9903), - CodeunitRange(0x9909, 0x990a), - CodeunitRange(0x990c, 0x990c), - CodeunitRange(0x9910, 0x9910), - CodeunitRange(0x9912, 0x9915), - CodeunitRange(0x9918, 0x9918), - CodeunitRange(0x991a, 0x991a), - CodeunitRange(0x991e, 0x991e), - CodeunitRange(0x9920, 0x9920), - CodeunitRange(0x9926, 0x9928), - CodeunitRange(0x992a, 0x992a), - CodeunitRange(0x992c, 0x992c), - CodeunitRange(0x992e, 0x992e), - CodeunitRange(0x9930, 0x9931), - CodeunitRange(0x9933, 0x9933), - CodeunitRange(0x9939, 0x9939), - CodeunitRange(0x993c, 0x993d), - CodeunitRange(0x9942, 0x9942), - CodeunitRange(0x9945, 0x9945), - CodeunitRange(0x9948, 0x9949), - CodeunitRange(0x994b, 0x994d), - CodeunitRange(0x9950, 0x9952), - CodeunitRange(0x9954, 0x9955), - CodeunitRange(0x9957, 0x9957), - CodeunitRange(0x995c, 0x995c), - CodeunitRange(0x995e, 0x995e), - CodeunitRange(0x9963, 0x9963), - CodeunitRange(0x9996, 0x9999), - CodeunitRange(0x999c, 0x999d), - CodeunitRange(0x999f, 0x999f), - CodeunitRange(0x99a1, 0x99a1), - CodeunitRange(0x99a3, 0x99a3), - CodeunitRange(0x99a5, 0x99a5), - CodeunitRange(0x99a7, 0x99a8), - CodeunitRange(0x99aa, 0x99aa), - CodeunitRange(0x99ac, 0x99ae), - CodeunitRange(0x99b0, 0x99b1), - CodeunitRange(0x99b3, 0x99b4), - CodeunitRange(0x99b6, 0x99b6), - CodeunitRange(0x99b9, 0x99b9), - CodeunitRange(0x99c1, 0x99c1), - CodeunitRange(0x99c4, 0x99c5), - CodeunitRange(0x99c8, 0x99c9), - CodeunitRange(0x99cf, 0x99d2), - CodeunitRange(0x99d5, 0x99d5), - CodeunitRange(0x99d8, 0x99d9), - CodeunitRange(0x99db, 0x99df), - CodeunitRange(0x99e2, 0x99e2), - CodeunitRange(0x99e8, 0x99e8), - CodeunitRange(0x99ea, 0x99ea), - CodeunitRange(0x99ed, 0x99ee), - CodeunitRange(0x99f1, 0x99f1), - CodeunitRange(0x99f8, 0x99f8), - CodeunitRange(0x99fa, 0x99fb), - CodeunitRange(0x99fd, 0x99fd), - CodeunitRange(0x99ff, 0x99ff), - CodeunitRange(0x9a01, 0x9a05), - CodeunitRange(0x9a08, 0x9a08), - CodeunitRange(0x9a0b, 0x9a0b), - CodeunitRange(0x9a0d, 0x9a0f), - CodeunitRange(0x9a11, 0x9a11), - CodeunitRange(0x9a16, 0x9a16), - CodeunitRange(0x9a18, 0x9a19), - CodeunitRange(0x9a1b, 0x9a1b), - CodeunitRange(0x9a2b, 0x9a2b), - CodeunitRange(0x9a2d, 0x9a2d), - CodeunitRange(0x9a30, 0x9a30), - CodeunitRange(0x9a35, 0x9a38), - CodeunitRange(0x9a3e, 0x9a3e), - CodeunitRange(0x9a40, 0x9a45), - CodeunitRange(0x9a4a, 0x9a4a), - CodeunitRange(0x9a4c, 0x9a4f), - CodeunitRange(0x9a52, 0x9a52), - CodeunitRange(0x9a55, 0x9a55), - CodeunitRange(0x9a57, 0x9a58), - CodeunitRange(0x9a5a, 0x9a5b), - CodeunitRange(0x9a5f, 0x9a5f), - CodeunitRange(0x9a62, 0x9a62), - CodeunitRange(0x9a64, 0x9a65), - CodeunitRange(0x9a69, 0x9a6a), - CodeunitRange(0x9a6c, 0x9a6c), - CodeunitRange(0x9aa8, 0x9aa8), - CodeunitRange(0x9aaa, 0x9aaa), - CodeunitRange(0x9ab0, 0x9ab0), - CodeunitRange(0x9ab8, 0x9ab9), - CodeunitRange(0x9abc, 0x9abc), - CodeunitRange(0x9abf, 0x9ac0), - CodeunitRange(0x9ac6, 0x9ac6), - CodeunitRange(0x9acf, 0x9acf), - CodeunitRange(0x9ad1, 0x9ad1), - CodeunitRange(0x9ad3, 0x9ad4), - CodeunitRange(0x9ad6, 0x9ad8), - CodeunitRange(0x9adf, 0x9adf), - CodeunitRange(0x9ae1, 0x9ae1), - CodeunitRange(0x9ae3, 0x9ae3), - CodeunitRange(0x9ae5, 0x9ae6), - CodeunitRange(0x9aeb, 0x9aeb), - CodeunitRange(0x9aed, 0x9aee), - CodeunitRange(0x9af0, 0x9af0), - CodeunitRange(0x9af2, 0x9af2), - CodeunitRange(0x9af4, 0x9af4), - CodeunitRange(0x9af9, 0x9afb), - CodeunitRange(0x9afd, 0x9afd), - CodeunitRange(0x9b02, 0x9b02), - CodeunitRange(0x9b05, 0x9b06), - CodeunitRange(0x9b0a, 0x9b0b), - CodeunitRange(0x9b0d, 0x9b0d), - CodeunitRange(0x9b10, 0x9b10), - CodeunitRange(0x9b12, 0x9b12), - CodeunitRange(0x9b16, 0x9b16), - CodeunitRange(0x9b18, 0x9b1a), - CodeunitRange(0x9b1f, 0x9b1f), - CodeunitRange(0x9b22, 0x9b23), - CodeunitRange(0x9b25, 0x9b25), - CodeunitRange(0x9b27, 0x9b2a), - CodeunitRange(0x9b2e, 0x9b2f), - CodeunitRange(0x9b31, 0x9b32), - CodeunitRange(0x9b3a, 0x9b3a), - CodeunitRange(0x9b3c, 0x9b3c), - CodeunitRange(0x9b41, 0x9b45), - CodeunitRange(0x9b48, 0x9b48), - CodeunitRange(0x9b4b, 0x9b4b), - CodeunitRange(0x9b4d, 0x9b4f), - CodeunitRange(0x9b51, 0x9b51), - CodeunitRange(0x9b54, 0x9b54), - CodeunitRange(0x9b58, 0x9b58), - CodeunitRange(0x9b5a, 0x9b5a), - CodeunitRange(0x9b66, 0x9b66), - CodeunitRange(0x9b6f, 0x9b6f), - CodeunitRange(0x9b74, 0x9b74), - CodeunitRange(0x9b80, 0x9b80), - CodeunitRange(0x9b83, 0x9b83), - CodeunitRange(0x9b8e, 0x9b8e), - CodeunitRange(0x9b90, 0x9b93), - CodeunitRange(0x9b97, 0x9b97), - CodeunitRange(0x9b9f, 0x9b9f), - CodeunitRange(0x9ba7, 0x9ba8), - CodeunitRange(0x9baa, 0x9bab), - CodeunitRange(0x9bad, 0x9bae), - CodeunitRange(0x9bb9, 0x9bb9), - CodeunitRange(0x9bc1, 0x9bc1), - CodeunitRange(0x9bc6, 0x9bc6), - CodeunitRange(0x9bc9, 0x9bca), - CodeunitRange(0x9bd4, 0x9bd4), - CodeunitRange(0x9bd6, 0x9bd6), - CodeunitRange(0x9bdb, 0x9bdb), - CodeunitRange(0x9be2, 0x9be2), - CodeunitRange(0x9be4, 0x9be4), - CodeunitRange(0x9be8, 0x9be8), - CodeunitRange(0x9bf7, 0x9bf7), - CodeunitRange(0x9c08, 0x9c08), - CodeunitRange(0x9c0a, 0x9c0a), - CodeunitRange(0x9c0c, 0x9c0d), - CodeunitRange(0x9c10, 0x9c10), - CodeunitRange(0x9c12, 0x9c13), - CodeunitRange(0x9c15, 0x9c15), - CodeunitRange(0x9c24, 0x9c25), - CodeunitRange(0x9c2d, 0x9c2f), - CodeunitRange(0x9c31, 0x9c32), - CodeunitRange(0x9c35, 0x9c35), - CodeunitRange(0x9c39, 0x9c3b), - CodeunitRange(0x9c3e, 0x9c3e), - CodeunitRange(0x9c47, 0x9c47), - CodeunitRange(0x9c49, 0x9c49), - CodeunitRange(0x9c4f, 0x9c4f), - CodeunitRange(0x9c52, 0x9c53), - CodeunitRange(0x9c57, 0x9c57), - CodeunitRange(0x9c60, 0x9c60), - CodeunitRange(0x9c63, 0x9c63), - CodeunitRange(0x9c67, 0x9c67), - CodeunitRange(0x9c78, 0x9c78), - CodeunitRange(0x9c7b, 0x9c7c), - CodeunitRange(0x9ce5, 0x9ce7), - CodeunitRange(0x9ce9, 0x9ce9), - CodeunitRange(0x9cf3, 0x9cf4), - CodeunitRange(0x9cf6, 0x9cf6), - CodeunitRange(0x9d03, 0x9d03), - CodeunitRange(0x9d06, 0x9d09), - CodeunitRange(0x9d0c, 0x9d0c), - CodeunitRange(0x9d12, 0x9d12), - CodeunitRange(0x9d15, 0x9d15), - CodeunitRange(0x9d18, 0x9d19), - CodeunitRange(0x9d1b, 0x9d1b), - CodeunitRange(0x9d1e, 0x9d1f), - CodeunitRange(0x9d23, 0x9d23), - CodeunitRange(0x9d25, 0x9d26), - CodeunitRange(0x9d28, 0x9d28), - CodeunitRange(0x9d2f, 0x9d30), - CodeunitRange(0x9d36, 0x9d36), - CodeunitRange(0x9d3b, 0x9d3b), - CodeunitRange(0x9d41, 0x9d42), - CodeunitRange(0x9d44, 0x9d44), - CodeunitRange(0x9d51, 0x9d51), - CodeunitRange(0x9d53, 0x9d54), - CodeunitRange(0x9d5d, 0x9d5e), - CodeunitRange(0x9d60, 0x9d61), - CodeunitRange(0x9d66, 0x9d66), - CodeunitRange(0x9d69, 0x9d69), - CodeunitRange(0x9d6c, 0x9d6c), - CodeunitRange(0x9d6f, 0x9d70), - CodeunitRange(0x9d72, 0x9d72), - CodeunitRange(0x9d77, 0x9d77), - CodeunitRange(0x9d7b, 0x9d7b), - CodeunitRange(0x9d7e, 0x9d7e), - CodeunitRange(0x9d84, 0x9d84), - CodeunitRange(0x9d89, 0x9d8a), - CodeunitRange(0x9d96, 0x9d96), - CodeunitRange(0x9d9a, 0x9d9a), - CodeunitRange(0x9da1, 0x9da1), - CodeunitRange(0x9da4, 0x9da4), - CodeunitRange(0x9da9, 0x9da9), - CodeunitRange(0x9dac, 0x9dac), - CodeunitRange(0x9daf, 0x9daf), - CodeunitRange(0x9db4, 0x9db5), - CodeunitRange(0x9db8, 0x9db9), - CodeunitRange(0x9dbb, 0x9dbb), - CodeunitRange(0x9dbf, 0x9dbf), - CodeunitRange(0x9dc1, 0x9dc2), - CodeunitRange(0x9dc4, 0x9dc4), - CodeunitRange(0x9dc7, 0x9dc7), - CodeunitRange(0x9dd3, 0x9dd3), - CodeunitRange(0x9dd6, 0x9dd7), - CodeunitRange(0x9dd9, 0x9dd9), - CodeunitRange(0x9de6, 0x9de6), - CodeunitRange(0x9de9, 0x9deb), - CodeunitRange(0x9df0, 0x9df3), - CodeunitRange(0x9df8, 0x9dfa), - CodeunitRange(0x9dfd, 0x9dfd), - CodeunitRange(0x9dff, 0x9dff), - CodeunitRange(0x9e07, 0x9e07), - CodeunitRange(0x9e0f, 0x9e0f), - CodeunitRange(0x9e15, 0x9e15), - CodeunitRange(0x9e1a, 0x9e1f), - CodeunitRange(0x9e75, 0x9e75), - CodeunitRange(0x9e77, 0x9e77), - CodeunitRange(0x9e79, 0x9e7b), - CodeunitRange(0x9e7d, 0x9e7d), - CodeunitRange(0x9e7f, 0x9e80), - CodeunitRange(0x9e82, 0x9e82), - CodeunitRange(0x9e84, 0x9e84), - CodeunitRange(0x9e8b, 0x9e8c), - CodeunitRange(0x9e8f, 0x9e8f), - CodeunitRange(0x9e91, 0x9e93), - CodeunitRange(0x9e97, 0x9e98), - CodeunitRange(0x9e9d, 0x9e9f), - CodeunitRange(0x9ea4, 0x9ea6), - CodeunitRange(0x9ea9, 0x9eaa), - CodeunitRange(0x9eaf, 0x9eaf), - CodeunitRange(0x9eb4, 0x9eb5), - CodeunitRange(0x9ebb, 0x9ebb), - CodeunitRange(0x9ebd, 0x9ebf), - CodeunitRange(0x9ec3, 0x9ec5), - CodeunitRange(0x9ecc, 0x9ed1), - CodeunitRange(0x9ed4, 0x9ed4), - CodeunitRange(0x9ed6, 0x9ed6), - CodeunitRange(0x9ed8, 0x9ed8), - CodeunitRange(0x9eda, 0x9ede), - CodeunitRange(0x9ee0, 0x9ee0), - CodeunitRange(0x9ee5, 0x9ee5), - CodeunitRange(0x9ee8, 0x9ee8), - CodeunitRange(0x9eee, 0x9eef), - CodeunitRange(0x9ef2, 0x9ef2), - CodeunitRange(0x9ef4, 0x9ef7), - CodeunitRange(0x9ef9, 0x9f00), - CodeunitRange(0x9f02, 0x9f02), - CodeunitRange(0x9f04, 0x9f04), - CodeunitRange(0x9f07, 0x9f0a), - CodeunitRange(0x9f0e, 0x9f0e), - CodeunitRange(0x9f10, 0x9f10), - CodeunitRange(0x9f13, 0x9f14), - CodeunitRange(0x9f17, 0x9f17), - CodeunitRange(0x9f19, 0x9f19), - CodeunitRange(0x9f20, 0x9f20), - CodeunitRange(0x9f22, 0x9f22), - CodeunitRange(0x9f2b, 0x9f2c), - CodeunitRange(0x9f2f, 0x9f2f), - CodeunitRange(0x9f34, 0x9f34), - CodeunitRange(0x9f38, 0x9f39), - CodeunitRange(0x9f3b, 0x9f3b), - CodeunitRange(0x9f3e, 0x9f3e), - CodeunitRange(0x9f4a, 0x9f4b), - CodeunitRange(0x9f4e, 0x9f4e), - CodeunitRange(0x9f50, 0x9f50), - CodeunitRange(0x9f52, 0x9f52), - CodeunitRange(0x9f54, 0x9f55), - CodeunitRange(0x9f57, 0x9f57), - CodeunitRange(0x9f5f, 0x9f61), - CodeunitRange(0x9f66, 0x9f67), - CodeunitRange(0x9f69, 0x9f6c), - CodeunitRange(0x9f72, 0x9f72), - CodeunitRange(0x9f76, 0x9f77), - CodeunitRange(0x9f7f, 0x9f7f), - CodeunitRange(0x9f8d, 0x9f8e), - CodeunitRange(0x9f90, 0x9f92), - CodeunitRange(0x9f94, 0x9f95), - CodeunitRange(0x9f99, 0x9f99), - CodeunitRange(0x9f9c, 0x9f9d), - CodeunitRange(0x9f9f, 0x9fa0), - CodeunitRange(0x9fa2, 0x9fa2), - CodeunitRange(0x9fa5, 0x9fa5), - CodeunitRange(0xa960, 0xa97c), - CodeunitRange(0xac00, 0xd7a3), - CodeunitRange(0xd7b0, 0xd7c6), - CodeunitRange(0xd7cb, 0xd7fb), - CodeunitRange(0xf900, 0xf95e), - CodeunitRange(0xf960, 0xf9a9), - CodeunitRange(0xf9ab, 0xfa0b), - CodeunitRange(0xfa12, 0xfa12), - CodeunitRange(0xfa15, 0xfa17), - CodeunitRange(0xfa19, 0xfa1e), - CodeunitRange(0xfa22, 0xfa22), - CodeunitRange(0xfa26, 0xfa26), - CodeunitRange(0xfa2a, 0xfa2c), - CodeunitRange(0xfa2e, 0xfa31), - CodeunitRange(0xfa33, 0xfa3d), - CodeunitRange(0xfa3f, 0xfa3f), - CodeunitRange(0xfa41, 0xfa41), - CodeunitRange(0xfa43, 0xfa55), - CodeunitRange(0xfa57, 0xfa57), - CodeunitRange(0xfa59, 0xfa68), - CodeunitRange(0xfa6a, 0xfa6a), - CodeunitRange(0xfb00, 0xfb04), - CodeunitRange(0xfe10, 0xfe19), - CodeunitRange(0xfe30, 0xfe52), - CodeunitRange(0xfe54, 0xfe66), - CodeunitRange(0xfe68, 0xfe6b), - CodeunitRange(0xff01, 0xffbe), - CodeunitRange(0xffc2, 0xffc7), - CodeunitRange(0xffca, 0xffcf), - CodeunitRange(0xffd2, 0xffd7), - CodeunitRange(0xffda, 0xffdc), - CodeunitRange(0xffe0, 0xffe6), - CodeunitRange(0xffe8, 0xffee), - CodeunitRange(0x1f100, 0x1f10c), - CodeunitRange(0x1f110, 0x1f16c), - CodeunitRange(0x1f170, 0x1f1ac), - CodeunitRange(0x1f200, 0x1f202), - CodeunitRange(0x1f210, 0x1f23b), - CodeunitRange(0x1f240, 0x1f248), - CodeunitRange(0x1f250, 0x1f251), - CodeunitRange(0x200d7, 0x200d7), - CodeunitRange(0x2012c, 0x2012c), - CodeunitRange(0x205ca, 0x205ca), - CodeunitRange(0x20628, 0x20628), - CodeunitRange(0x20984, 0x20984), - CodeunitRange(0x21155, 0x21155), - CodeunitRange(0x2128d, 0x2128d), - CodeunitRange(0x21594, 0x21594), - CodeunitRange(0x21727, 0x21727), - CodeunitRange(0x21f5c, 0x21f5c), - CodeunitRange(0x224b0, 0x224b0), - CodeunitRange(0x224ed, 0x224ed), - CodeunitRange(0x2294f, 0x2294f), - CodeunitRange(0x22c6f, 0x22c6f), - CodeunitRange(0x22ee0, 0x22ee0), - CodeunitRange(0x230fd, 0x230fd), - CodeunitRange(0x23343, 0x23343), - CodeunitRange(0x2363b, 0x2363b), - CodeunitRange(0x23ad9, 0x23ad9), - CodeunitRange(0x242f1, 0x242f1), - CodeunitRange(0x2439d, 0x2439d), - CodeunitRange(0x248e9, 0x248e9), - CodeunitRange(0x248f0, 0x248f0), - CodeunitRange(0x24a01, 0x24a01), - CodeunitRange(0x24a12, 0x24a12), - CodeunitRange(0x25055, 0x25055), - CodeunitRange(0x2533e, 0x2533e), - CodeunitRange(0x253b5, 0x253b5), - CodeunitRange(0x253fe, 0x253fe), - CodeunitRange(0x25832, 0x25832), - CodeunitRange(0x2583a, 0x2583a), - CodeunitRange(0x25874, 0x25874), - CodeunitRange(0x25978, 0x25978), - CodeunitRange(0x25ad7, 0x25ad7), - CodeunitRange(0x25b97, 0x25b97), - CodeunitRange(0x25e44, 0x25e44), - CodeunitRange(0x26057, 0x26057), - CodeunitRange(0x265a4, 0x265a4), - CodeunitRange(0x267d8, 0x267d8), - CodeunitRange(0x26951, 0x26951), - CodeunitRange(0x27144, 0x27144), - CodeunitRange(0x275ff, 0x275ff), - CodeunitRange(0x27625, 0x27625), - CodeunitRange(0x278b2, 0x278b2), - CodeunitRange(0x27a51, 0x27a51), - CodeunitRange(0x27b02, 0x27b02), - CodeunitRange(0x27cef, 0x27cef), - CodeunitRange(0x27e7d, 0x27e7d), - CodeunitRange(0x27f1b, 0x27f1b), - CodeunitRange(0x27fb7, 0x27fb7), - CodeunitRange(0x283f6, 0x283f6), - CodeunitRange(0x284dc, 0x284dc), - CodeunitRange(0x28d8a, 0x28d8a), - CodeunitRange(0x28da1, 0x28da1), - CodeunitRange(0x28e0f, 0x28e0f), - CodeunitRange(0x291d5, 0x291d5), - CodeunitRange(0x291e3, 0x291e3), - CodeunitRange(0x294de, 0x294de), - CodeunitRange(0x29509, 0x29509), - CodeunitRange(0x2967f, 0x2967f), - CodeunitRange(0x29810, 0x29810), - CodeunitRange(0x2983b, 0x2983b), - CodeunitRange(0x2a2ad, 0x2a2ad), - CodeunitRange(0x2a4d0, 0x2a4d0), - CodeunitRange(0x2a664, 0x2a664), - CodeunitRange(0x2c115, 0x2c115), - CodeunitRange(0x2c7d3, 0x2c7d3), - CodeunitRange(0x2d544, 0x2d544), - CodeunitRange(0x2e569, 0x2e569), - CodeunitRange(0x2f815, 0x2f815), - CodeunitRange(0x2f818, 0x2f818), - CodeunitRange(0x2f81a, 0x2f81a), - CodeunitRange(0x2f82c, 0x2f82c), - CodeunitRange(0x2f833, 0x2f833), - CodeunitRange(0x2f852, 0x2f852), - CodeunitRange(0x2f862, 0x2f862), - CodeunitRange(0x2f877, 0x2f877), - CodeunitRange(0x2f884, 0x2f884), - CodeunitRange(0x2f8b2, 0x2f8b2), - CodeunitRange(0x2f8ed, 0x2f8ed), - CodeunitRange(0x2f8fc, 0x2f8fc), - CodeunitRange(0x2f920, 0x2f920), - CodeunitRange(0x2f96c, 0x2f96c), - CodeunitRange(0x2f9d0, 0x2f9d0), - CodeunitRange(0x2f9df, 0x2f9df), - CodeunitRange(0x30729, 0x30729), - CodeunitRange(0x30ede, 0x30ede), - ]), - NotoFont('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x966, 0x96f), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x11080, 0x110c1), - CodeunitRange(0x110cd, 0x110cd), - ]), - NotoFont('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v19/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xc80, 0xc8c), - CodeunitRange(0xc8e, 0xc90), - CodeunitRange(0xc92, 0xca8), - CodeunitRange(0xcaa, 0xcb3), - CodeunitRange(0xcb5, 0xcb9), - CodeunitRange(0xcbc, 0xcc4), - CodeunitRange(0xcc6, 0xcc8), - CodeunitRange(0xcca, 0xccd), - CodeunitRange(0xcd5, 0xcd6), - CodeunitRange(0xcde, 0xcde), - CodeunitRange(0xce0, 0xce3), - CodeunitRange(0xce6, 0xcef), - CodeunitRange(0xcf1, 0xcf2), - CodeunitRange(0x1cd0, 0x1cd0), - CodeunitRange(0x1cd2, 0x1cd2), - CodeunitRange(0x1cda, 0x1cda), - CodeunitRange(0x1cf2, 0x1cf2), - CodeunitRange(0x1cf4, 0x1cf5), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa835), - ]), - NotoFont('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa900, 0xa92f), - ]), - NotoFont('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x10a00, 0x10a03), - CodeunitRange(0x10a05, 0x10a06), - CodeunitRange(0x10a0c, 0x10a13), - CodeunitRange(0x10a15, 0x10a17), - CodeunitRange(0x10a19, 0x10a35), - CodeunitRange(0x10a38, 0x10a3a), - CodeunitRange(0x10a3f, 0x10a48), - CodeunitRange(0x10a50, 0x10a58), - ]), - NotoFont('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v16/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [ - CodeunitRange(0x20, 0x22), - CodeunitRange(0x27, 0x29), - CodeunitRange(0x2c, 0x2f), - CodeunitRange(0x3a, 0x3b), - CodeunitRange(0x3f, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xab, 0xab), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xbb, 0xbb), - CodeunitRange(0x1780, 0x17dd), - CodeunitRange(0x17e0, 0x17e9), - CodeunitRange(0x17f0, 0x17f9), - CodeunitRange(0x19e0, 0x19ff), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xae6, 0xaef), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x11200, 0x11211), - CodeunitRange(0x11213, 0x1123e), - ]), - NotoFont('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x964, 0x965), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x112b0, 0x112ea), - CodeunitRange(0x112f0, 0x112f9), - ]), - NotoFont('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v22/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xe81, 0xe82), - CodeunitRange(0xe84, 0xe84), - CodeunitRange(0xe87, 0xe88), - CodeunitRange(0xe8a, 0xe8a), - CodeunitRange(0xe8d, 0xe8d), - CodeunitRange(0xe94, 0xe97), - CodeunitRange(0xe99, 0xe9f), - CodeunitRange(0xea1, 0xea3), - CodeunitRange(0xea5, 0xea5), - CodeunitRange(0xea7, 0xea7), - CodeunitRange(0xeaa, 0xeab), - CodeunitRange(0xead, 0xeb9), - CodeunitRange(0xebb, 0xebd), - CodeunitRange(0xec0, 0xec4), - CodeunitRange(0xec6, 0xec6), - CodeunitRange(0xec8, 0xecd), - CodeunitRange(0xed0, 0xed9), - CodeunitRange(0xedc, 0xedf), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x20ad, 0x20ad), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1c00, 0x1c37), - CodeunitRange(0x1c3b, 0x1c49), - CodeunitRange(0x1c4d, 0x1c4f), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x965, 0x965), - CodeunitRange(0x1900, 0x191e), - CodeunitRange(0x1920, 0x192b), - CodeunitRange(0x1930, 0x193b), - CodeunitRange(0x1940, 0x1940), - CodeunitRange(0x1944, 0x194f), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10600, 0x10736), - CodeunitRange(0x10740, 0x10755), - CodeunitRange(0x10760, 0x10767), - ]), - NotoFont('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10000, 0x1000b), - CodeunitRange(0x1000d, 0x10026), - CodeunitRange(0x10028, 0x1003a), - CodeunitRange(0x1003c, 0x1003d), - CodeunitRange(0x1003f, 0x1004d), - CodeunitRange(0x10050, 0x1005d), - CodeunitRange(0x10080, 0x100fa), - CodeunitRange(0x10100, 0x10102), - CodeunitRange(0x10107, 0x10133), - CodeunitRange(0x10137, 0x1013f), - ]), - NotoFont('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v19/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x2bc, 0x2bc), - CodeunitRange(0x2cd, 0x2cd), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x300a, 0x300b), - CodeunitRange(0xa4d0, 0xa4ff), - ]), - NotoFont('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10280, 0x1029c), - ]), - NotoFont('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10920, 0x10939), - CodeunitRange(0x1093f, 0x1093f), - ]), - NotoFont('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x964, 0x96f), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x11150, 0x11176), - ]), - NotoFont('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v19/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x323, 0x323), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xd00, 0xd0c), - CodeunitRange(0xd0e, 0xd10), - CodeunitRange(0xd12, 0xd44), - CodeunitRange(0xd46, 0xd48), - CodeunitRange(0xd4a, 0xd4f), - CodeunitRange(0xd54, 0xd63), - CodeunitRange(0xd66, 0xd7f), - CodeunitRange(0x1cda, 0x1cda), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa832), - ]), - NotoFont('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x640, 0x640), - CodeunitRange(0x840, 0x85b), - CodeunitRange(0x85e, 0x85e), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x640, 0x640), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xfe00, 0xfe00), - CodeunitRange(0x10ac0, 0x10ae6), - CodeunitRange(0x10aeb, 0x10af6), - ]), - NotoFont('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11c70, 0x11c8f), - CodeunitRange(0x11c92, 0x11ca7), - CodeunitRange(0x11ca9, 0x11cb6), - ]), - NotoFont('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [ - CodeunitRange(0x20, 0x22), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x2f), - CodeunitRange(0x3a, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x964, 0x965), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11d00, 0x11d06), - CodeunitRange(0x11d08, 0x11d09), - CodeunitRange(0x11d0b, 0x11d36), - CodeunitRange(0x11d3a, 0x11d3a), - CodeunitRange(0x11d3c, 0x11d3d), - CodeunitRange(0x11d3f, 0x11d47), - CodeunitRange(0x11d50, 0x11d59), - ]), - NotoFont('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xa7, 0xa7), - CodeunitRange(0xac, 0xac), - CodeunitRange(0xb1, 0xb1), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x302, 0x303), - CodeunitRange(0x305, 0x305), - CodeunitRange(0x307, 0x308), - CodeunitRange(0x330, 0x330), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3b1, 0x3c9), - CodeunitRange(0x3d1, 0x3d1), - CodeunitRange(0x3d5, 0x3d6), - CodeunitRange(0x3f0, 0x3f1), - CodeunitRange(0x3f4, 0x3f5), - CodeunitRange(0x2032, 0x2037), - CodeunitRange(0x2057, 0x2057), - CodeunitRange(0x20d0, 0x20dc), - CodeunitRange(0x20e1, 0x20e1), - CodeunitRange(0x20e5, 0x20ef), - CodeunitRange(0x2102, 0x2102), - CodeunitRange(0x210a, 0x210e), - CodeunitRange(0x2110, 0x2112), - CodeunitRange(0x2115, 0x2115), - CodeunitRange(0x2119, 0x211d), - CodeunitRange(0x2124, 0x2124), - CodeunitRange(0x2128, 0x2128), - CodeunitRange(0x212c, 0x212d), - CodeunitRange(0x212f, 0x2131), - CodeunitRange(0x2133, 0x2138), - CodeunitRange(0x213c, 0x2140), - CodeunitRange(0x2145, 0x2149), - CodeunitRange(0x2190, 0x21ae), - CodeunitRange(0x21b0, 0x21e5), - CodeunitRange(0x21f1, 0x21f2), - CodeunitRange(0x21f4, 0x22ff), - CodeunitRange(0x2308, 0x230b), - CodeunitRange(0x2310, 0x2310), - CodeunitRange(0x2319, 0x2319), - CodeunitRange(0x231c, 0x2321), - CodeunitRange(0x2336, 0x237a), - CodeunitRange(0x237c, 0x237c), - CodeunitRange(0x2395, 0x2395), - CodeunitRange(0x239b, 0x23b6), - CodeunitRange(0x23d0, 0x23d0), - CodeunitRange(0x23dc, 0x23e1), - CodeunitRange(0x2474, 0x2475), - CodeunitRange(0x25af, 0x25af), - CodeunitRange(0x25b3, 0x25b3), - CodeunitRange(0x25b7, 0x25b7), - CodeunitRange(0x25bd, 0x25bd), - CodeunitRange(0x25c1, 0x25c1), - CodeunitRange(0x25ca, 0x25ca), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x25fb, 0x25fb), - CodeunitRange(0x266d, 0x266f), - CodeunitRange(0x27c0, 0x27ff), - CodeunitRange(0x2900, 0x2aff), - CodeunitRange(0x2b0e, 0x2b11), - CodeunitRange(0x2b30, 0x2b4c), - CodeunitRange(0x2bfe, 0x2bfe), - CodeunitRange(0xff5b, 0xff5b), - CodeunitRange(0xff5d, 0xff5d), - CodeunitRange(0x1d400, 0x1d454), - CodeunitRange(0x1d456, 0x1d49c), - CodeunitRange(0x1d49e, 0x1d49f), - CodeunitRange(0x1d4a2, 0x1d4a2), - CodeunitRange(0x1d4a5, 0x1d4a6), - CodeunitRange(0x1d4a9, 0x1d4ac), - CodeunitRange(0x1d4ae, 0x1d4b9), - CodeunitRange(0x1d4bb, 0x1d4bb), - CodeunitRange(0x1d4bd, 0x1d4c3), - CodeunitRange(0x1d4c5, 0x1d505), - CodeunitRange(0x1d507, 0x1d50a), - CodeunitRange(0x1d50d, 0x1d514), - CodeunitRange(0x1d516, 0x1d51c), - CodeunitRange(0x1d51e, 0x1d539), - CodeunitRange(0x1d53b, 0x1d53e), - CodeunitRange(0x1d540, 0x1d544), - CodeunitRange(0x1d546, 0x1d546), - CodeunitRange(0x1d54a, 0x1d550), - CodeunitRange(0x1d552, 0x1d6a5), - CodeunitRange(0x1d6a8, 0x1d7cb), - CodeunitRange(0x1d7ce, 0x1d7ff), - CodeunitRange(0x1ee00, 0x1ee03), - CodeunitRange(0x1ee05, 0x1ee1f), - CodeunitRange(0x1ee21, 0x1ee22), - CodeunitRange(0x1ee24, 0x1ee24), - CodeunitRange(0x1ee27, 0x1ee27), - CodeunitRange(0x1ee29, 0x1ee32), - CodeunitRange(0x1ee34, 0x1ee37), - CodeunitRange(0x1ee39, 0x1ee39), - CodeunitRange(0x1ee3b, 0x1ee3b), - CodeunitRange(0x1ee42, 0x1ee42), - CodeunitRange(0x1ee47, 0x1ee47), - CodeunitRange(0x1ee49, 0x1ee49), - CodeunitRange(0x1ee4b, 0x1ee4b), - CodeunitRange(0x1ee4d, 0x1ee4f), - CodeunitRange(0x1ee51, 0x1ee52), - CodeunitRange(0x1ee54, 0x1ee54), - CodeunitRange(0x1ee57, 0x1ee57), - CodeunitRange(0x1ee59, 0x1ee59), - CodeunitRange(0x1ee5b, 0x1ee5b), - CodeunitRange(0x1ee5d, 0x1ee5d), - CodeunitRange(0x1ee5f, 0x1ee5f), - CodeunitRange(0x1ee61, 0x1ee62), - CodeunitRange(0x1ee64, 0x1ee64), - CodeunitRange(0x1ee67, 0x1ee6a), - CodeunitRange(0x1ee6c, 0x1ee72), - CodeunitRange(0x1ee74, 0x1ee77), - CodeunitRange(0x1ee79, 0x1ee7c), - CodeunitRange(0x1ee7e, 0x1ee7e), - CodeunitRange(0x1ee80, 0x1ee89), - CodeunitRange(0x1ee8b, 0x1ee9b), - CodeunitRange(0x1eea1, 0x1eea3), - CodeunitRange(0x1eea5, 0x1eea9), - CodeunitRange(0x1eeab, 0x1eebb), - CodeunitRange(0x1eef0, 0x1eef1), - ]), - NotoFont('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1d2e0, 0x1d2f3), - ]), - NotoFont('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x16e40, 0x16e9a), - ]), - NotoFont('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xaae0, 0xaaf6), - CodeunitRange(0xabc0, 0xabed), - CodeunitRange(0xabf0, 0xabf9), - ]), - NotoFont('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x3a, 0x3a), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x205d, 0x205d), - CodeunitRange(0x10980, 0x109b7), - CodeunitRange(0x109bc, 0x109cf), - CodeunitRange(0x109d2, 0x109ff), - ]), - NotoFont('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x16f00, 0x16f4a), - CodeunitRange(0x16f4f, 0x16f87), - CodeunitRange(0x16f8f, 0x16f9f), - ]), - NotoFont('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x11600, 0x11644), - CodeunitRange(0x11650, 0x11659), - ]), - NotoFont('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [ - CodeunitRange(0x20, 0x22), - CodeunitRange(0x28, 0x29), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0x3f, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1800, 0x180e), - CodeunitRange(0x1810, 0x1819), - CodeunitRange(0x1820, 0x1878), - CodeunitRange(0x1880, 0x18aa), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x202f, 0x202f), - CodeunitRange(0x2048, 0x2049), - CodeunitRange(0x2460, 0x2473), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x3001, 0x3002), - CodeunitRange(0x300a, 0x300f), - CodeunitRange(0xfe3d, 0xfe3e), - CodeunitRange(0xfe41, 0xfe44), - CodeunitRange(0x11660, 0x1166c), - ]), - NotoFont('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x16a40, 0x16a5e), - CodeunitRange(0x16a60, 0x16a69), - CodeunitRange(0x16a6e, 0x16a6f), - ]), - NotoFont('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xa66, 0xa6f), - CodeunitRange(0x11280, 0x11286), - CodeunitRange(0x11288, 0x11288), - CodeunitRange(0x1128a, 0x1128d), - CodeunitRange(0x1128f, 0x1129d), - CodeunitRange(0x1129f, 0x112a9), - ]), - NotoFont('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x3f, 0x3f), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1000, 0x109f), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa92e, 0xa92e), - CodeunitRange(0xa9e0, 0xa9fe), - CodeunitRange(0xaa60, 0xaa7f), - CodeunitRange(0xfe00, 0xfe00), - ]), - NotoFont('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x60c, 0x60c), - CodeunitRange(0x61b, 0x61b), - CodeunitRange(0x61f, 0x61f), - CodeunitRange(0x66a, 0x66a), - CodeunitRange(0x7c0, 0x7fa), - CodeunitRange(0x7fd, 0x7ff), - CodeunitRange(0x200c, 0x200f), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2e1c, 0x2e1d), - CodeunitRange(0xfd3e, 0xfd3f), - ]), - NotoFont('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10880, 0x1089e), - CodeunitRange(0x108a7, 0x108af), - ]), - NotoFont('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1980, 0x19ab), - CodeunitRange(0x19b0, 0x19c9), - CodeunitRange(0x19d0, 0x19da), - CodeunitRange(0x19de, 0x19df), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xb7, 0xb7), - CodeunitRange(0x1dfb, 0x1dfb), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11400, 0x1145b), - CodeunitRange(0x1145d, 0x11461), - ]), - NotoFont('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x16fe1, 0x16fe1), - CodeunitRange(0x1b170, 0x1b2fb), - ]), - NotoFont('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1680, 0x169c), - ]), - NotoFont('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1c50, 0x1c7f), - CodeunitRange(0x20b9, 0x20b9), - ]), - NotoFont('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200d, 0x200d), - CodeunitRange(0x10c80, 0x10cb2), - CodeunitRange(0x10cc0, 0x10cf2), - CodeunitRange(0x10cfa, 0x10cff), - ]), - NotoFont('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10300, 0x10323), - CodeunitRange(0x1032d, 0x1032f), - ]), - NotoFont('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10a80, 0x10a9f), - ]), - NotoFont('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x300, 0x300), - CodeunitRange(0x306, 0x308), - CodeunitRange(0x313, 0x313), - CodeunitRange(0x483, 0x483), - CodeunitRange(0x20db, 0x20db), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x10350, 0x1037a), - ]), - NotoFont('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x103a0, 0x103c3), - CodeunitRange(0x103c8, 0x103d5), - ]), - NotoFont('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10f00, 0x10f27), - ]), - NotoFont('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10a60, 0x10a7f), - ]), - NotoFont('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10c00, 0x10c48), - ]), - NotoFont('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x2c), - CodeunitRange(0x2e, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xb01, 0xb03), - CodeunitRange(0xb05, 0xb0c), - CodeunitRange(0xb0f, 0xb10), - CodeunitRange(0xb13, 0xb28), - CodeunitRange(0xb2a, 0xb30), - CodeunitRange(0xb32, 0xb33), - CodeunitRange(0xb35, 0xb39), - CodeunitRange(0xb3c, 0xb44), - CodeunitRange(0xb47, 0xb48), - CodeunitRange(0xb4b, 0xb4d), - CodeunitRange(0xb56, 0xb57), - CodeunitRange(0xb5c, 0xb5d), - CodeunitRange(0xb5f, 0xb63), - CodeunitRange(0xb66, 0xb77), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x301, 0x301), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x30b, 0x30b), - CodeunitRange(0x358, 0x358), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x104b0, 0x104d3), - CodeunitRange(0x104d8, 0x104fb), - ]), - NotoFont('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10480, 0x1049d), - CodeunitRange(0x104a0, 0x104a9), - ]), - NotoFont('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x16b00, 0x16b45), - CodeunitRange(0x16b50, 0x16b59), - CodeunitRange(0x16b5b, 0x16b61), - CodeunitRange(0x16b63, 0x16b77), - CodeunitRange(0x16b7d, 0x16b8f), - ]), - NotoFont('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10860, 0x1087f), - ]), - NotoFont('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x11ac0, 0x11af8), - ]), - NotoFont('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1801, 0x1803), - CodeunitRange(0x1805, 0x1805), - CodeunitRange(0x200b, 0x200f), - CodeunitRange(0x2025, 0x2026), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x3001, 0x3002), - CodeunitRange(0x3007, 0x3011), - CodeunitRange(0x3014, 0x301b), - CodeunitRange(0xa840, 0xa877), - CodeunitRange(0xfe00, 0xfe00), - ]), - NotoFont('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10900, 0x1091b), - CodeunitRange(0x1091f, 0x1091f), - ]), - NotoFont('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x640, 0x640), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x10b80, 0x10b91), - CodeunitRange(0x10b99, 0x10b9c), - CodeunitRange(0x10ba9, 0x10baf), - ]), - NotoFont('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa930, 0xa953), - CodeunitRange(0xa95f, 0xa95f), - ]), - NotoFont('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x16a0, 0x16f8), - ]), - NotoFont('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0x103), - CodeunitRange(0x110, 0x113), - CodeunitRange(0x11a, 0x11b), - CodeunitRange(0x128, 0x12b), - CodeunitRange(0x143, 0x144), - CodeunitRange(0x147, 0x148), - CodeunitRange(0x14c, 0x14f), - CodeunitRange(0x152, 0x153), - CodeunitRange(0x168, 0x16d), - CodeunitRange(0x192, 0x192), - CodeunitRange(0x1a0, 0x1a1), - CodeunitRange(0x1af, 0x1b0), - CodeunitRange(0x1cd, 0x1dc), - CodeunitRange(0x1f8, 0x1f9), - CodeunitRange(0x251, 0x251), - CodeunitRange(0x261, 0x261), - CodeunitRange(0x2bb, 0x2bb), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x2c9, 0x2cb), - CodeunitRange(0x2d9, 0x2d9), - CodeunitRange(0x2ea, 0x2eb), - CodeunitRange(0x300, 0x301), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x30c, 0x30c), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3b1, 0x3c9), - CodeunitRange(0x401, 0x401), - CodeunitRange(0x410, 0x44f), - CodeunitRange(0x451, 0x451), - CodeunitRange(0x1e3e, 0x1e3f), - CodeunitRange(0x1ea0, 0x1ef9), - CodeunitRange(0x2002, 0x2003), - CodeunitRange(0x2010, 0x2016), - CodeunitRange(0x2018, 0x201a), - CodeunitRange(0x201c, 0x201e), - CodeunitRange(0x2020, 0x2022), - CodeunitRange(0x2025, 0x2027), - CodeunitRange(0x2030, 0x2030), - CodeunitRange(0x2032, 0x2033), - CodeunitRange(0x2035, 0x2035), - CodeunitRange(0x2039, 0x203c), - CodeunitRange(0x2042, 0x2042), - CodeunitRange(0x2047, 0x2049), - CodeunitRange(0x2051, 0x2051), - CodeunitRange(0x2074, 0x2074), - CodeunitRange(0x20a9, 0x20a9), - CodeunitRange(0x20ab, 0x20ac), - CodeunitRange(0x20dd, 0x20de), - CodeunitRange(0x2100, 0x2100), - CodeunitRange(0x2103, 0x2103), - CodeunitRange(0x2105, 0x2105), - CodeunitRange(0x2109, 0x210a), - CodeunitRange(0x210f, 0x210f), - CodeunitRange(0x2113, 0x2113), - CodeunitRange(0x2116, 0x2116), - CodeunitRange(0x2121, 0x2122), - CodeunitRange(0x2126, 0x2127), - CodeunitRange(0x212b, 0x212b), - CodeunitRange(0x212e, 0x212e), - CodeunitRange(0x2135, 0x2135), - CodeunitRange(0x213b, 0x213b), - CodeunitRange(0x2160, 0x216b), - CodeunitRange(0x2170, 0x217b), - CodeunitRange(0x2190, 0x2199), - CodeunitRange(0x21b8, 0x21b9), - CodeunitRange(0x21c4, 0x21c6), - CodeunitRange(0x21cb, 0x21cc), - CodeunitRange(0x21d0, 0x21d0), - CodeunitRange(0x21d2, 0x21d2), - CodeunitRange(0x21d4, 0x21d4), - CodeunitRange(0x21e6, 0x21e9), - CodeunitRange(0x21f5, 0x21f5), - CodeunitRange(0x2200, 0x2200), - CodeunitRange(0x2202, 0x2203), - CodeunitRange(0x2205, 0x220b), - CodeunitRange(0x220f, 0x220f), - CodeunitRange(0x2211, 0x2213), - CodeunitRange(0x2215, 0x2215), - CodeunitRange(0x221a, 0x221a), - CodeunitRange(0x221d, 0x2220), - CodeunitRange(0x2223, 0x2223), - CodeunitRange(0x2225, 0x222e), - CodeunitRange(0x2234, 0x2237), - CodeunitRange(0x223d, 0x223d), - CodeunitRange(0x2243, 0x2243), - CodeunitRange(0x2245, 0x2245), - CodeunitRange(0x2248, 0x2248), - CodeunitRange(0x224c, 0x224c), - CodeunitRange(0x2252, 0x2252), - CodeunitRange(0x2260, 0x2262), - CodeunitRange(0x2264, 0x2267), - CodeunitRange(0x226a, 0x226b), - CodeunitRange(0x226e, 0x226f), - CodeunitRange(0x2272, 0x2273), - CodeunitRange(0x2276, 0x2277), - CodeunitRange(0x2282, 0x2287), - CodeunitRange(0x228a, 0x228b), - CodeunitRange(0x2295, 0x2299), - CodeunitRange(0x22a0, 0x22a0), - CodeunitRange(0x22a5, 0x22a5), - CodeunitRange(0x22bf, 0x22bf), - CodeunitRange(0x22da, 0x22db), - CodeunitRange(0x22ef, 0x22ef), - CodeunitRange(0x2305, 0x2307), - CodeunitRange(0x2312, 0x2312), - CodeunitRange(0x2318, 0x2318), - CodeunitRange(0x2329, 0x232a), - CodeunitRange(0x23b0, 0x23b1), - CodeunitRange(0x23be, 0x23cc), - CodeunitRange(0x23ce, 0x23ce), - CodeunitRange(0x23da, 0x23db), - CodeunitRange(0x2423, 0x2423), - CodeunitRange(0x2460, 0x25ab), - CodeunitRange(0x25b1, 0x25b3), - CodeunitRange(0x25b6, 0x25b7), - CodeunitRange(0x25bc, 0x25bd), - CodeunitRange(0x25c0, 0x25c1), - CodeunitRange(0x25c6, 0x25cc), - CodeunitRange(0x25ce, 0x25d3), - CodeunitRange(0x25e2, 0x25e6), - CodeunitRange(0x25ef, 0x25ef), - CodeunitRange(0x2600, 0x2603), - CodeunitRange(0x2605, 0x2606), - CodeunitRange(0x2609, 0x2609), - CodeunitRange(0x260e, 0x260f), - CodeunitRange(0x2616, 0x2617), - CodeunitRange(0x261c, 0x261f), - CodeunitRange(0x262f, 0x262f), - CodeunitRange(0x2640, 0x2642), - CodeunitRange(0x2660, 0x266f), - CodeunitRange(0x2672, 0x267d), - CodeunitRange(0x26a0, 0x26a0), - CodeunitRange(0x26bd, 0x26be), - CodeunitRange(0x2702, 0x2702), - CodeunitRange(0x2713, 0x2713), - CodeunitRange(0x271a, 0x271a), - CodeunitRange(0x273d, 0x273d), - CodeunitRange(0x273f, 0x2740), - CodeunitRange(0x2756, 0x2756), - CodeunitRange(0x2776, 0x2793), - CodeunitRange(0x27a1, 0x27a1), - CodeunitRange(0x2934, 0x2935), - CodeunitRange(0x29bf, 0x29bf), - CodeunitRange(0x29fa, 0x29fb), - CodeunitRange(0x2b05, 0x2b07), - CodeunitRange(0x2b1a, 0x2b1a), - CodeunitRange(0x2b95, 0x2b95), - CodeunitRange(0x2e3a, 0x2e3b), - CodeunitRange(0x2e80, 0x2e99), - CodeunitRange(0x2e9b, 0x2ef3), - CodeunitRange(0x2f00, 0x2fd5), - CodeunitRange(0x2ff0, 0x2ffb), - CodeunitRange(0x3000, 0x303f), - CodeunitRange(0x3041, 0x3096), - CodeunitRange(0x3099, 0x30ff), - CodeunitRange(0x3105, 0x312f), - CodeunitRange(0x3131, 0x3163), - CodeunitRange(0x3165, 0x318e), - CodeunitRange(0x3190, 0x31bb), - CodeunitRange(0x31c0, 0x31e3), - CodeunitRange(0x31f0, 0x321e), - CodeunitRange(0x3220, 0x332b), - CodeunitRange(0x332d, 0x4db5), - CodeunitRange(0x4e00, 0x9fef), - CodeunitRange(0xf900, 0xf903), - CodeunitRange(0xf905, 0xf906), - CodeunitRange(0xf90b, 0xf90c), - CodeunitRange(0xf915, 0xf915), - CodeunitRange(0xf917, 0xf91a), - CodeunitRange(0xf921, 0xf921), - CodeunitRange(0xf92c, 0xf92d), - CodeunitRange(0xf92f, 0xf92f), - CodeunitRange(0xf931, 0xf935), - CodeunitRange(0xf937, 0xf93a), - CodeunitRange(0xf943, 0xf943), - CodeunitRange(0xf947, 0xf94a), - CodeunitRange(0xf94e, 0xf94e), - CodeunitRange(0xf952, 0xf953), - CodeunitRange(0xf95e, 0xf95e), - CodeunitRange(0xf962, 0xf967), - CodeunitRange(0xf96e, 0xf96e), - CodeunitRange(0xf972, 0xf972), - CodeunitRange(0xf974, 0xf974), - CodeunitRange(0xf976, 0xf976), - CodeunitRange(0xf979, 0xf97b), - CodeunitRange(0xf97e, 0xf980), - CodeunitRange(0xf984, 0xf985), - CodeunitRange(0xf98a, 0xf98c), - CodeunitRange(0xf98e, 0xf98e), - CodeunitRange(0xf993, 0xf993), - CodeunitRange(0xf995, 0xf995), - CodeunitRange(0xf998, 0xf998), - CodeunitRange(0xf9ae, 0xf9ae), - CodeunitRange(0xf9b3, 0xf9b3), - CodeunitRange(0xf9b7, 0xf9b7), - CodeunitRange(0xf9bb, 0xf9bb), - CodeunitRange(0xf9bd, 0xf9be), - CodeunitRange(0xf9c0, 0xf9c0), - CodeunitRange(0xf9c5, 0xf9c6), - CodeunitRange(0xf9d0, 0xf9d0), - CodeunitRange(0xf9d8, 0xf9d9), - CodeunitRange(0xf9dc, 0xf9e0), - CodeunitRange(0xf9e2, 0xf9e4), - CodeunitRange(0xf9e7, 0xf9e7), - CodeunitRange(0xf9e9, 0xf9e9), - CodeunitRange(0xf9f1, 0xf9f1), - CodeunitRange(0xf9f4, 0xf9f5), - CodeunitRange(0xf9fa, 0xf9fa), - CodeunitRange(0xf9fd, 0xf9fd), - CodeunitRange(0xf9ff, 0xf9ff), - CodeunitRange(0xfa02, 0xfa02), - CodeunitRange(0xfa05, 0xfa08), - CodeunitRange(0xfa0a, 0xfa0a), - CodeunitRange(0xfa0c, 0xfa0f), - CodeunitRange(0xfa11, 0xfa11), - CodeunitRange(0xfa13, 0xfa14), - CodeunitRange(0xfa18, 0xfa18), - CodeunitRange(0xfa1f, 0xfa21), - CodeunitRange(0xfa23, 0xfa24), - CodeunitRange(0xfa27, 0xfa29), - CodeunitRange(0xfa2f, 0xfa2f), - CodeunitRange(0xfa33, 0xfa35), - CodeunitRange(0xfa37, 0xfa38), - CodeunitRange(0xfa3a, 0xfa3a), - CodeunitRange(0xfa47, 0xfa47), - CodeunitRange(0xfa49, 0xfa49), - CodeunitRange(0xfa4b, 0xfa4b), - CodeunitRange(0xfa5d, 0xfa5e), - CodeunitRange(0xfb00, 0xfb04), - CodeunitRange(0xfe10, 0xfe19), - CodeunitRange(0xfe30, 0xfe52), - CodeunitRange(0xfe54, 0xfe66), - CodeunitRange(0xfe68, 0xfe6b), - CodeunitRange(0xff01, 0xff9f), - CodeunitRange(0xffa1, 0xffbe), - CodeunitRange(0xffc2, 0xffc7), - CodeunitRange(0xffca, 0xffcf), - CodeunitRange(0xffd2, 0xffd7), - CodeunitRange(0xffda, 0xffdc), - CodeunitRange(0xffe0, 0xffe6), - CodeunitRange(0xffe8, 0xffee), - CodeunitRange(0x1f100, 0x1f10c), - CodeunitRange(0x1f110, 0x1f16c), - CodeunitRange(0x1f170, 0x1f1ac), - CodeunitRange(0x1f200, 0x1f202), - CodeunitRange(0x1f210, 0x1f23b), - CodeunitRange(0x1f240, 0x1f248), - CodeunitRange(0x1f250, 0x1f251), - CodeunitRange(0x20087, 0x20087), - CodeunitRange(0x20089, 0x20089), - CodeunitRange(0x200cc, 0x200cc), - CodeunitRange(0x20164, 0x20164), - CodeunitRange(0x20628, 0x20628), - CodeunitRange(0x20676, 0x20676), - CodeunitRange(0x20cd0, 0x20cd0), - CodeunitRange(0x2139a, 0x2139a), - CodeunitRange(0x21413, 0x21413), - CodeunitRange(0x215d7, 0x215d7), - CodeunitRange(0x2298f, 0x2298f), - CodeunitRange(0x235cb, 0x235cb), - CodeunitRange(0x23c97, 0x23c98), - CodeunitRange(0x23e23, 0x23e23), - CodeunitRange(0x241fe, 0x241fe), - CodeunitRange(0x2420e, 0x2420e), - CodeunitRange(0x248e9, 0x248e9), - CodeunitRange(0x249db, 0x249db), - CodeunitRange(0x24a01, 0x24a01), - CodeunitRange(0x24a7d, 0x24a7d), - CodeunitRange(0x24ac9, 0x24ac9), - CodeunitRange(0x25532, 0x25532), - CodeunitRange(0x25562, 0x25562), - CodeunitRange(0x255a8, 0x255a8), - CodeunitRange(0x25ad7, 0x25ad7), - CodeunitRange(0x25ed7, 0x25ed7), - CodeunitRange(0x26221, 0x26221), - CodeunitRange(0x2648d, 0x2648d), - CodeunitRange(0x26676, 0x26676), - CodeunitRange(0x2677c, 0x2677c), - CodeunitRange(0x26951, 0x26951), - CodeunitRange(0x26b5c, 0x26b5c), - CodeunitRange(0x26c21, 0x26c21), - CodeunitRange(0x278b2, 0x278b2), - CodeunitRange(0x27eaf, 0x27eaf), - CodeunitRange(0x27fb7, 0x27fb7), - CodeunitRange(0x27ff9, 0x27ff9), - CodeunitRange(0x28408, 0x28408), - CodeunitRange(0x28678, 0x28678), - CodeunitRange(0x28695, 0x28695), - CodeunitRange(0x287e0, 0x287e0), - CodeunitRange(0x28b49, 0x28b49), - CodeunitRange(0x28c47, 0x28c47), - CodeunitRange(0x28c4f, 0x28c4f), - CodeunitRange(0x28c51, 0x28c51), - CodeunitRange(0x28c54, 0x28c54), - CodeunitRange(0x28e0f, 0x28e0f), - CodeunitRange(0x28e99, 0x28e99), - CodeunitRange(0x2967f, 0x2967f), - CodeunitRange(0x29810, 0x29810), - CodeunitRange(0x29f7e, 0x29f7e), - CodeunitRange(0x29f83, 0x29f83), - CodeunitRange(0x29f8c, 0x29f8c), - CodeunitRange(0x2a7dd, 0x2a7dd), - CodeunitRange(0x2a8fb, 0x2a8fb), - CodeunitRange(0x2a917, 0x2a917), - CodeunitRange(0x2aa30, 0x2aa30), - CodeunitRange(0x2aa36, 0x2aa36), - CodeunitRange(0x2aa58, 0x2aa58), - CodeunitRange(0x2afa2, 0x2afa2), - CodeunitRange(0x2b127, 0x2b128), - CodeunitRange(0x2b137, 0x2b138), - CodeunitRange(0x2b1ed, 0x2b1ed), - CodeunitRange(0x2b300, 0x2b300), - CodeunitRange(0x2b363, 0x2b363), - CodeunitRange(0x2b36f, 0x2b36f), - CodeunitRange(0x2b372, 0x2b372), - CodeunitRange(0x2b37d, 0x2b37d), - CodeunitRange(0x2b404, 0x2b404), - CodeunitRange(0x2b410, 0x2b410), - CodeunitRange(0x2b413, 0x2b413), - CodeunitRange(0x2b461, 0x2b461), - CodeunitRange(0x2b4e7, 0x2b4e7), - CodeunitRange(0x2b4ef, 0x2b4ef), - CodeunitRange(0x2b4f6, 0x2b4f6), - CodeunitRange(0x2b4f9, 0x2b4f9), - CodeunitRange(0x2b50d, 0x2b50e), - CodeunitRange(0x2b536, 0x2b536), - CodeunitRange(0x2b5ae, 0x2b5af), - CodeunitRange(0x2b5b3, 0x2b5b3), - CodeunitRange(0x2b5e7, 0x2b5e7), - CodeunitRange(0x2b5f4, 0x2b5f4), - CodeunitRange(0x2b61c, 0x2b61d), - CodeunitRange(0x2b626, 0x2b628), - CodeunitRange(0x2b62a, 0x2b62a), - CodeunitRange(0x2b62c, 0x2b62c), - CodeunitRange(0x2b695, 0x2b696), - CodeunitRange(0x2b6ad, 0x2b6ad), - CodeunitRange(0x2b6ed, 0x2b6ed), - CodeunitRange(0x2b7a9, 0x2b7a9), - CodeunitRange(0x2b7c5, 0x2b7c5), - CodeunitRange(0x2b7e6, 0x2b7e6), - CodeunitRange(0x2b7f9, 0x2b7f9), - CodeunitRange(0x2b7fc, 0x2b7fc), - CodeunitRange(0x2b806, 0x2b806), - CodeunitRange(0x2b80a, 0x2b80a), - CodeunitRange(0x2b81c, 0x2b81c), - CodeunitRange(0x2b8b8, 0x2b8b8), - CodeunitRange(0x2bac7, 0x2bac7), - CodeunitRange(0x2bb5f, 0x2bb5f), - CodeunitRange(0x2bb62, 0x2bb62), - CodeunitRange(0x2bb7c, 0x2bb7c), - CodeunitRange(0x2bb83, 0x2bb83), - CodeunitRange(0x2bc1b, 0x2bc1b), - CodeunitRange(0x2bd77, 0x2bd77), - CodeunitRange(0x2bd87, 0x2bd87), - CodeunitRange(0x2bdf7, 0x2bdf7), - CodeunitRange(0x2be29, 0x2be29), - CodeunitRange(0x2c029, 0x2c02a), - CodeunitRange(0x2c0a9, 0x2c0a9), - CodeunitRange(0x2c0ca, 0x2c0ca), - CodeunitRange(0x2c1d5, 0x2c1d5), - CodeunitRange(0x2c1d9, 0x2c1d9), - CodeunitRange(0x2c1f9, 0x2c1f9), - CodeunitRange(0x2c27c, 0x2c27c), - CodeunitRange(0x2c288, 0x2c288), - CodeunitRange(0x2c2a4, 0x2c2a4), - CodeunitRange(0x2c317, 0x2c317), - CodeunitRange(0x2c35b, 0x2c35b), - CodeunitRange(0x2c361, 0x2c361), - CodeunitRange(0x2c364, 0x2c364), - CodeunitRange(0x2c488, 0x2c488), - CodeunitRange(0x2c494, 0x2c494), - CodeunitRange(0x2c497, 0x2c497), - CodeunitRange(0x2c542, 0x2c542), - CodeunitRange(0x2c613, 0x2c613), - CodeunitRange(0x2c618, 0x2c618), - CodeunitRange(0x2c621, 0x2c621), - CodeunitRange(0x2c629, 0x2c629), - CodeunitRange(0x2c62b, 0x2c62d), - CodeunitRange(0x2c62f, 0x2c62f), - CodeunitRange(0x2c642, 0x2c642), - CodeunitRange(0x2c64a, 0x2c64b), - CodeunitRange(0x2c72c, 0x2c72c), - CodeunitRange(0x2c72f, 0x2c72f), - CodeunitRange(0x2c79f, 0x2c79f), - CodeunitRange(0x2c7c1, 0x2c7c1), - CodeunitRange(0x2c7fd, 0x2c7fd), - CodeunitRange(0x2c8d9, 0x2c8d9), - CodeunitRange(0x2c8de, 0x2c8de), - CodeunitRange(0x2c8e1, 0x2c8e1), - CodeunitRange(0x2c8f3, 0x2c8f3), - CodeunitRange(0x2c907, 0x2c907), - CodeunitRange(0x2c90a, 0x2c90a), - CodeunitRange(0x2c91d, 0x2c91d), - CodeunitRange(0x2ca02, 0x2ca02), - CodeunitRange(0x2ca0e, 0x2ca0e), - CodeunitRange(0x2ca7d, 0x2ca7d), - CodeunitRange(0x2caa9, 0x2caa9), - CodeunitRange(0x2cb29, 0x2cb29), - CodeunitRange(0x2cb2d, 0x2cb2e), - CodeunitRange(0x2cb31, 0x2cb31), - CodeunitRange(0x2cb38, 0x2cb39), - CodeunitRange(0x2cb3b, 0x2cb3b), - CodeunitRange(0x2cb3f, 0x2cb3f), - CodeunitRange(0x2cb41, 0x2cb41), - CodeunitRange(0x2cb4a, 0x2cb4a), - CodeunitRange(0x2cb4e, 0x2cb4e), - CodeunitRange(0x2cb5a, 0x2cb5b), - CodeunitRange(0x2cb64, 0x2cb64), - CodeunitRange(0x2cb69, 0x2cb69), - CodeunitRange(0x2cb6c, 0x2cb6c), - CodeunitRange(0x2cb6f, 0x2cb6f), - CodeunitRange(0x2cb73, 0x2cb73), - CodeunitRange(0x2cb76, 0x2cb76), - CodeunitRange(0x2cb78, 0x2cb78), - CodeunitRange(0x2cb7c, 0x2cb7c), - CodeunitRange(0x2cbb1, 0x2cbb1), - CodeunitRange(0x2cbbf, 0x2cbc0), - CodeunitRange(0x2cbce, 0x2cbce), - CodeunitRange(0x2cc56, 0x2cc56), - CodeunitRange(0x2cc5f, 0x2cc5f), - CodeunitRange(0x2ccf5, 0x2ccf6), - CodeunitRange(0x2ccfd, 0x2ccfd), - CodeunitRange(0x2ccff, 0x2ccff), - CodeunitRange(0x2cd02, 0x2cd03), - CodeunitRange(0x2cd0a, 0x2cd0a), - CodeunitRange(0x2cd8b, 0x2cd8b), - CodeunitRange(0x2cd8d, 0x2cd8d), - CodeunitRange(0x2cd8f, 0x2cd90), - CodeunitRange(0x2cd9f, 0x2cda0), - CodeunitRange(0x2cda8, 0x2cda8), - CodeunitRange(0x2cdad, 0x2cdae), - CodeunitRange(0x2cdd5, 0x2cdd5), - CodeunitRange(0x2ce18, 0x2ce18), - CodeunitRange(0x2ce1a, 0x2ce1a), - CodeunitRange(0x2ce23, 0x2ce23), - CodeunitRange(0x2ce26, 0x2ce26), - CodeunitRange(0x2ce2a, 0x2ce2a), - CodeunitRange(0x2ce7c, 0x2ce7c), - CodeunitRange(0x2ce88, 0x2ce88), - CodeunitRange(0x2ce93, 0x2ce93), - CodeunitRange(0x2d544, 0x2d544), - CodeunitRange(0x2f884, 0x2f884), - CodeunitRange(0x2f8b6, 0x2f8b6), - CodeunitRange(0x30edd, 0x30ede), - CodeunitRange(0x3106c, 0x3106c), - ]), - NotoFont('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa880, 0xa8c5), - CodeunitRange(0xa8ce, 0xa8d9), - ]), - NotoFont('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x951, 0x951), - CodeunitRange(0x1cd7, 0x1cd7), - CodeunitRange(0x1cd9, 0x1cd9), - CodeunitRange(0x1cdc, 0x1cdd), - CodeunitRange(0x1ce0, 0x1ce0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11180, 0x111df), - ]), - NotoFont('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10450, 0x1047f), - ]), - NotoFont('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11580, 0x115b5), - CodeunitRange(0x115b8, 0x115dd), - ]), - NotoFont('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xd81, 0xd83), - CodeunitRange(0xd85, 0xd96), - CodeunitRange(0xd9a, 0xdb1), - CodeunitRange(0xdb3, 0xdbb), - CodeunitRange(0xdbd, 0xdbd), - CodeunitRange(0xdc0, 0xdc6), - CodeunitRange(0xdca, 0xdca), - CodeunitRange(0xdcf, 0xdd4), - CodeunitRange(0xdd6, 0xdd6), - CodeunitRange(0xdd8, 0xddf), - CodeunitRange(0xde6, 0xdef), - CodeunitRange(0xdf2, 0xdf4), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x111e1, 0x111f4), - ]), - NotoFont('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x640, 0x640), - CodeunitRange(0x200c, 0x200c), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x10f30, 0x10f59), - ]), - NotoFont('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x110d0, 0x110e8), - CodeunitRange(0x110f0, 0x110f9), - ]), - NotoFont('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11a50, 0x11aa2), - ]), - NotoFont('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1b80, 0x1bbf), - CodeunitRange(0x1cc0, 0x1cc7), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x964, 0x965), - CodeunitRange(0x9e6, 0x9ef), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2011), - CodeunitRange(0x2055, 0x2055), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa800, 0xa82c), - ]), - NotoFont('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [ - CodeunitRange(0x20, 0x21), - CodeunitRange(0x28, 0x2b), - CodeunitRange(0x2d, 0x2f), - CodeunitRange(0x3a, 0x3a), - CodeunitRange(0x3d, 0x3d), - CodeunitRange(0x5b, 0x5d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xab, 0xab), - CodeunitRange(0xb0, 0xb0), - CodeunitRange(0xbb, 0xbb), - CodeunitRange(0x303, 0x304), - CodeunitRange(0x307, 0x308), - CodeunitRange(0x30a, 0x30a), - CodeunitRange(0x320, 0x320), - CodeunitRange(0x323, 0x325), - CodeunitRange(0x32d, 0x32e), - CodeunitRange(0x330, 0x331), - CodeunitRange(0x60c, 0x60c), - CodeunitRange(0x61b, 0x61b), - CodeunitRange(0x61f, 0x61f), - CodeunitRange(0x621, 0x621), - CodeunitRange(0x640, 0x640), - CodeunitRange(0x64b, 0x655), - CodeunitRange(0x660, 0x66c), - CodeunitRange(0x670, 0x670), - CodeunitRange(0x700, 0x70d), - CodeunitRange(0x70f, 0x74a), - CodeunitRange(0x74d, 0x74f), - CodeunitRange(0x200c, 0x200f), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x2044, 0x2044), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2670, 0x2671), - ]), - NotoFont('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [ - CodeunitRange(0x20, 0x7e), - CodeunitRange(0xa0, 0x103), - CodeunitRange(0x110, 0x113), - CodeunitRange(0x11a, 0x11b), - CodeunitRange(0x128, 0x12b), - CodeunitRange(0x143, 0x144), - CodeunitRange(0x147, 0x148), - CodeunitRange(0x14c, 0x14f), - CodeunitRange(0x152, 0x153), - CodeunitRange(0x168, 0x16d), - CodeunitRange(0x192, 0x192), - CodeunitRange(0x1a0, 0x1a1), - CodeunitRange(0x1af, 0x1b0), - CodeunitRange(0x1cd, 0x1dc), - CodeunitRange(0x1f8, 0x1f9), - CodeunitRange(0x251, 0x251), - CodeunitRange(0x261, 0x261), - CodeunitRange(0x2bb, 0x2bb), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x2c9, 0x2cb), - CodeunitRange(0x2d9, 0x2d9), - CodeunitRange(0x2ea, 0x2eb), - CodeunitRange(0x300, 0x301), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x307, 0x307), - CodeunitRange(0x30c, 0x30c), - CodeunitRange(0x391, 0x3a1), - CodeunitRange(0x3a3, 0x3a9), - CodeunitRange(0x3b1, 0x3c9), - CodeunitRange(0x401, 0x401), - CodeunitRange(0x410, 0x44f), - CodeunitRange(0x451, 0x451), - CodeunitRange(0x1e3e, 0x1e3f), - CodeunitRange(0x1ea0, 0x1ef9), - CodeunitRange(0x2002, 0x2003), - CodeunitRange(0x2010, 0x2016), - CodeunitRange(0x2018, 0x201a), - CodeunitRange(0x201c, 0x201e), - CodeunitRange(0x2020, 0x2022), - CodeunitRange(0x2025, 0x2027), - CodeunitRange(0x2030, 0x2030), - CodeunitRange(0x2032, 0x2033), - CodeunitRange(0x2035, 0x2035), - CodeunitRange(0x2039, 0x203c), - CodeunitRange(0x2042, 0x2042), - CodeunitRange(0x2047, 0x2049), - CodeunitRange(0x2051, 0x2051), - CodeunitRange(0x2074, 0x2074), - CodeunitRange(0x20a9, 0x20a9), - CodeunitRange(0x20ab, 0x20ac), - CodeunitRange(0x20dd, 0x20de), - CodeunitRange(0x2100, 0x2100), - CodeunitRange(0x2103, 0x2103), - CodeunitRange(0x2105, 0x2105), - CodeunitRange(0x2109, 0x210a), - CodeunitRange(0x210f, 0x210f), - CodeunitRange(0x2113, 0x2113), - CodeunitRange(0x2116, 0x2116), - CodeunitRange(0x2121, 0x2122), - CodeunitRange(0x2126, 0x2127), - CodeunitRange(0x212b, 0x212b), - CodeunitRange(0x212e, 0x212e), - CodeunitRange(0x2135, 0x2135), - CodeunitRange(0x213b, 0x213b), - CodeunitRange(0x2160, 0x216b), - CodeunitRange(0x2170, 0x217b), - CodeunitRange(0x2190, 0x2199), - CodeunitRange(0x21b8, 0x21b9), - CodeunitRange(0x21c4, 0x21c6), - CodeunitRange(0x21cb, 0x21cc), - CodeunitRange(0x21d0, 0x21d0), - CodeunitRange(0x21d2, 0x21d2), - CodeunitRange(0x21d4, 0x21d4), - CodeunitRange(0x21e6, 0x21e9), - CodeunitRange(0x21f5, 0x21f5), - CodeunitRange(0x2200, 0x2200), - CodeunitRange(0x2202, 0x2203), - CodeunitRange(0x2205, 0x220b), - CodeunitRange(0x220f, 0x220f), - CodeunitRange(0x2211, 0x2213), - CodeunitRange(0x2215, 0x2215), - CodeunitRange(0x221a, 0x221a), - CodeunitRange(0x221d, 0x2220), - CodeunitRange(0x2223, 0x2223), - CodeunitRange(0x2225, 0x222e), - CodeunitRange(0x2234, 0x2237), - CodeunitRange(0x223d, 0x223d), - CodeunitRange(0x2243, 0x2243), - CodeunitRange(0x2245, 0x2245), - CodeunitRange(0x2248, 0x2248), - CodeunitRange(0x224c, 0x224c), - CodeunitRange(0x2252, 0x2252), - CodeunitRange(0x2260, 0x2262), - CodeunitRange(0x2264, 0x2267), - CodeunitRange(0x226a, 0x226b), - CodeunitRange(0x226e, 0x226f), - CodeunitRange(0x2272, 0x2273), - CodeunitRange(0x2276, 0x2277), - CodeunitRange(0x2282, 0x2287), - CodeunitRange(0x228a, 0x228b), - CodeunitRange(0x2295, 0x2299), - CodeunitRange(0x22a0, 0x22a0), - CodeunitRange(0x22a5, 0x22a5), - CodeunitRange(0x22bf, 0x22bf), - CodeunitRange(0x22da, 0x22db), - CodeunitRange(0x22ef, 0x22ef), - CodeunitRange(0x2305, 0x2307), - CodeunitRange(0x2312, 0x2312), - CodeunitRange(0x2318, 0x2318), - CodeunitRange(0x2329, 0x232a), - CodeunitRange(0x23b0, 0x23b1), - CodeunitRange(0x23be, 0x23cc), - CodeunitRange(0x23ce, 0x23ce), - CodeunitRange(0x23da, 0x23db), - CodeunitRange(0x2423, 0x2423), - CodeunitRange(0x2460, 0x25ab), - CodeunitRange(0x25b1, 0x25b3), - CodeunitRange(0x25b6, 0x25b7), - CodeunitRange(0x25bc, 0x25bd), - CodeunitRange(0x25c0, 0x25c1), - CodeunitRange(0x25c6, 0x25cc), - CodeunitRange(0x25ce, 0x25d3), - CodeunitRange(0x25e2, 0x25e6), - CodeunitRange(0x25ef, 0x25ef), - CodeunitRange(0x2600, 0x2603), - CodeunitRange(0x2605, 0x2606), - CodeunitRange(0x2609, 0x2609), - CodeunitRange(0x260e, 0x260f), - CodeunitRange(0x2616, 0x2617), - CodeunitRange(0x261c, 0x261f), - CodeunitRange(0x262f, 0x262f), - CodeunitRange(0x2640, 0x2642), - CodeunitRange(0x2660, 0x266f), - CodeunitRange(0x2672, 0x267d), - CodeunitRange(0x26a0, 0x26a0), - CodeunitRange(0x26bd, 0x26be), - CodeunitRange(0x2702, 0x2702), - CodeunitRange(0x2713, 0x2713), - CodeunitRange(0x271a, 0x271a), - CodeunitRange(0x273d, 0x273d), - CodeunitRange(0x273f, 0x2740), - CodeunitRange(0x2756, 0x2756), - CodeunitRange(0x2776, 0x2793), - CodeunitRange(0x27a1, 0x27a1), - CodeunitRange(0x2934, 0x2935), - CodeunitRange(0x29bf, 0x29bf), - CodeunitRange(0x29fa, 0x29fb), - CodeunitRange(0x2b05, 0x2b07), - CodeunitRange(0x2b1a, 0x2b1a), - CodeunitRange(0x2b95, 0x2b95), - CodeunitRange(0x2e3a, 0x2e3b), - CodeunitRange(0x2e80, 0x2e99), - CodeunitRange(0x2e9b, 0x2ef3), - CodeunitRange(0x2f00, 0x2fd5), - CodeunitRange(0x2ff0, 0x2ffb), - CodeunitRange(0x3000, 0x303f), - CodeunitRange(0x3041, 0x3096), - CodeunitRange(0x3099, 0x30ff), - CodeunitRange(0x3105, 0x312f), - CodeunitRange(0x3131, 0x3163), - CodeunitRange(0x3165, 0x318e), - CodeunitRange(0x3190, 0x31bb), - CodeunitRange(0x31c0, 0x31e3), - CodeunitRange(0x31f0, 0x321e), - CodeunitRange(0x3220, 0x332b), - CodeunitRange(0x332d, 0x33ff), - CodeunitRange(0x3435, 0x3435), - CodeunitRange(0x3440, 0x3440), - CodeunitRange(0x344a, 0x344a), - CodeunitRange(0x344c, 0x344c), - CodeunitRange(0x3464, 0x3464), - CodeunitRange(0x3473, 0x3473), - CodeunitRange(0x347a, 0x347a), - CodeunitRange(0x347d, 0x347e), - CodeunitRange(0x3493, 0x3493), - CodeunitRange(0x3496, 0x3496), - CodeunitRange(0x34a5, 0x34a5), - CodeunitRange(0x34af, 0x34af), - CodeunitRange(0x34bc, 0x34bc), - CodeunitRange(0x34c1, 0x34c1), - CodeunitRange(0x34c8, 0x34c8), - CodeunitRange(0x34df, 0x34df), - CodeunitRange(0x34e4, 0x34e4), - CodeunitRange(0x34e6, 0x34e6), - CodeunitRange(0x34fb, 0x34fb), - CodeunitRange(0x3506, 0x3506), - CodeunitRange(0x353e, 0x353e), - CodeunitRange(0x3551, 0x3551), - CodeunitRange(0x3553, 0x3553), - CodeunitRange(0x3559, 0x3559), - CodeunitRange(0x3561, 0x3561), - CodeunitRange(0x356d, 0x356d), - CodeunitRange(0x3570, 0x3570), - CodeunitRange(0x3572, 0x3572), - CodeunitRange(0x3577, 0x3578), - CodeunitRange(0x3584, 0x3584), - CodeunitRange(0x3597, 0x3598), - CodeunitRange(0x35a1, 0x35a1), - CodeunitRange(0x35a5, 0x35a5), - CodeunitRange(0x35ad, 0x35ad), - CodeunitRange(0x35bf, 0x35bf), - CodeunitRange(0x35c1, 0x35c1), - CodeunitRange(0x35c5, 0x35c5), - CodeunitRange(0x35c7, 0x35c7), - CodeunitRange(0x35ca, 0x35ca), - CodeunitRange(0x35ce, 0x35ce), - CodeunitRange(0x35d2, 0x35d2), - CodeunitRange(0x35d6, 0x35d6), - CodeunitRange(0x35db, 0x35db), - CodeunitRange(0x35dd, 0x35dd), - CodeunitRange(0x35f1, 0x35f3), - CodeunitRange(0x35fb, 0x35fb), - CodeunitRange(0x35fe, 0x35fe), - CodeunitRange(0x3609, 0x3609), - CodeunitRange(0x3618, 0x3618), - CodeunitRange(0x361a, 0x361a), - CodeunitRange(0x3623, 0x3623), - CodeunitRange(0x3625, 0x3625), - CodeunitRange(0x362d, 0x362d), - CodeunitRange(0x3635, 0x3635), - CodeunitRange(0x3639, 0x3639), - CodeunitRange(0x363e, 0x363e), - CodeunitRange(0x3647, 0x3649), - CodeunitRange(0x364e, 0x364e), - CodeunitRange(0x365f, 0x365f), - CodeunitRange(0x3661, 0x3661), - CodeunitRange(0x367a, 0x367a), - CodeunitRange(0x3681, 0x3681), - CodeunitRange(0x369a, 0x369a), - CodeunitRange(0x36a5, 0x36a5), - CodeunitRange(0x36aa, 0x36aa), - CodeunitRange(0x36ac, 0x36ac), - CodeunitRange(0x36b0, 0x36b1), - CodeunitRange(0x36b5, 0x36b5), - CodeunitRange(0x36b9, 0x36b9), - CodeunitRange(0x36bc, 0x36bc), - CodeunitRange(0x36c1, 0x36c1), - CodeunitRange(0x36c3, 0x36c5), - CodeunitRange(0x36c7, 0x36c8), - CodeunitRange(0x36d3, 0x36d4), - CodeunitRange(0x36d6, 0x36d6), - CodeunitRange(0x36dd, 0x36dd), - CodeunitRange(0x36e1, 0x36e2), - CodeunitRange(0x36e5, 0x36e6), - CodeunitRange(0x36f5, 0x36f5), - CodeunitRange(0x3701, 0x3701), - CodeunitRange(0x3703, 0x3703), - CodeunitRange(0x3708, 0x3708), - CodeunitRange(0x370a, 0x370a), - CodeunitRange(0x370d, 0x370d), - CodeunitRange(0x371c, 0x371c), - CodeunitRange(0x3722, 0x3723), - CodeunitRange(0x3725, 0x3725), - CodeunitRange(0x372c, 0x372d), - CodeunitRange(0x3730, 0x3730), - CodeunitRange(0x3732, 0x3733), - CodeunitRange(0x373a, 0x373a), - CodeunitRange(0x3740, 0x3740), - CodeunitRange(0x3743, 0x3743), - CodeunitRange(0x3762, 0x3762), - CodeunitRange(0x376f, 0x376f), - CodeunitRange(0x3797, 0x3797), - CodeunitRange(0x37a0, 0x37a0), - CodeunitRange(0x37b9, 0x37b9), - CodeunitRange(0x37be, 0x37be), - CodeunitRange(0x37d6, 0x37d6), - CodeunitRange(0x37f2, 0x37f2), - CodeunitRange(0x37f8, 0x37f8), - CodeunitRange(0x37fb, 0x37fb), - CodeunitRange(0x380f, 0x380f), - CodeunitRange(0x3819, 0x3819), - CodeunitRange(0x3820, 0x3820), - CodeunitRange(0x382d, 0x382d), - CodeunitRange(0x3836, 0x3836), - CodeunitRange(0x3838, 0x3838), - CodeunitRange(0x3863, 0x3863), - CodeunitRange(0x3875, 0x3875), - CodeunitRange(0x38a0, 0x38a0), - CodeunitRange(0x38c3, 0x38c3), - CodeunitRange(0x38cc, 0x38cc), - CodeunitRange(0x38d1, 0x38d1), - CodeunitRange(0x38d4, 0x38d4), - CodeunitRange(0x38fa, 0x38fa), - CodeunitRange(0x3908, 0x3908), - CodeunitRange(0x3914, 0x3914), - CodeunitRange(0x3927, 0x3927), - CodeunitRange(0x3932, 0x3932), - CodeunitRange(0x393f, 0x393f), - CodeunitRange(0x394d, 0x394d), - CodeunitRange(0x3963, 0x3963), - CodeunitRange(0x3978, 0x3978), - CodeunitRange(0x3980, 0x3980), - CodeunitRange(0x3989, 0x398a), - CodeunitRange(0x3992, 0x3992), - CodeunitRange(0x3999, 0x3999), - CodeunitRange(0x399b, 0x399b), - CodeunitRange(0x39a1, 0x39a1), - CodeunitRange(0x39a4, 0x39a4), - CodeunitRange(0x39b8, 0x39b8), - CodeunitRange(0x39dc, 0x39dc), - CodeunitRange(0x39e2, 0x39e2), - CodeunitRange(0x39e5, 0x39e5), - CodeunitRange(0x39ec, 0x39ec), - CodeunitRange(0x39f8, 0x39f8), - CodeunitRange(0x39fb, 0x39fb), - CodeunitRange(0x39fe, 0x39fe), - CodeunitRange(0x3a01, 0x3a01), - CodeunitRange(0x3a03, 0x3a03), - CodeunitRange(0x3a06, 0x3a06), - CodeunitRange(0x3a17, 0x3a18), - CodeunitRange(0x3a29, 0x3a2a), - CodeunitRange(0x3a34, 0x3a34), - CodeunitRange(0x3a4b, 0x3a4b), - CodeunitRange(0x3a52, 0x3a52), - CodeunitRange(0x3a57, 0x3a57), - CodeunitRange(0x3a5c, 0x3a5c), - CodeunitRange(0x3a5e, 0x3a5e), - CodeunitRange(0x3a66, 0x3a67), - CodeunitRange(0x3a97, 0x3a97), - CodeunitRange(0x3aab, 0x3aab), - CodeunitRange(0x3abd, 0x3abd), - CodeunitRange(0x3ada, 0x3ada), - CodeunitRange(0x3ade, 0x3ade), - CodeunitRange(0x3ae0, 0x3ae0), - CodeunitRange(0x3af0, 0x3af0), - CodeunitRange(0x3af2, 0x3af2), - CodeunitRange(0x3af5, 0x3af5), - CodeunitRange(0x3afb, 0x3afb), - CodeunitRange(0x3b0e, 0x3b0e), - CodeunitRange(0x3b19, 0x3b19), - CodeunitRange(0x3b22, 0x3b22), - CodeunitRange(0x3b2b, 0x3b2b), - CodeunitRange(0x3b39, 0x3b39), - CodeunitRange(0x3b42, 0x3b42), - CodeunitRange(0x3b58, 0x3b58), - CodeunitRange(0x3b60, 0x3b60), - CodeunitRange(0x3b71, 0x3b72), - CodeunitRange(0x3b7b, 0x3b7c), - CodeunitRange(0x3b80, 0x3b80), - CodeunitRange(0x3b95, 0x3b96), - CodeunitRange(0x3b99, 0x3b99), - CodeunitRange(0x3ba1, 0x3ba1), - CodeunitRange(0x3bbc, 0x3bbc), - CodeunitRange(0x3bbe, 0x3bbe), - CodeunitRange(0x3bc2, 0x3bc2), - CodeunitRange(0x3bc4, 0x3bc4), - CodeunitRange(0x3bd7, 0x3bd7), - CodeunitRange(0x3bdd, 0x3bdd), - CodeunitRange(0x3bec, 0x3bec), - CodeunitRange(0x3bf2, 0x3bf4), - CodeunitRange(0x3c0d, 0x3c0d), - CodeunitRange(0x3c11, 0x3c11), - CodeunitRange(0x3c15, 0x3c15), - CodeunitRange(0x3c18, 0x3c18), - CodeunitRange(0x3c54, 0x3c54), - CodeunitRange(0x3c8b, 0x3c8b), - CodeunitRange(0x3ccb, 0x3ccb), - CodeunitRange(0x3ccd, 0x3ccd), - CodeunitRange(0x3cd1, 0x3cd1), - CodeunitRange(0x3cd6, 0x3cd6), - CodeunitRange(0x3cdc, 0x3cdc), - CodeunitRange(0x3ceb, 0x3ceb), - CodeunitRange(0x3cef, 0x3cef), - CodeunitRange(0x3d12, 0x3d13), - CodeunitRange(0x3d1d, 0x3d1d), - CodeunitRange(0x3d32, 0x3d32), - CodeunitRange(0x3d3b, 0x3d3b), - CodeunitRange(0x3d46, 0x3d46), - CodeunitRange(0x3d4c, 0x3d4c), - CodeunitRange(0x3d4e, 0x3d4e), - CodeunitRange(0x3d51, 0x3d51), - CodeunitRange(0x3d5f, 0x3d5f), - CodeunitRange(0x3d62, 0x3d62), - CodeunitRange(0x3d69, 0x3d6a), - CodeunitRange(0x3d6f, 0x3d6f), - CodeunitRange(0x3d75, 0x3d75), - CodeunitRange(0x3d7d, 0x3d7d), - CodeunitRange(0x3d85, 0x3d85), - CodeunitRange(0x3d88, 0x3d88), - CodeunitRange(0x3d8a, 0x3d8a), - CodeunitRange(0x3d8f, 0x3d8f), - CodeunitRange(0x3d91, 0x3d91), - CodeunitRange(0x3da5, 0x3da5), - CodeunitRange(0x3dad, 0x3dad), - CodeunitRange(0x3db4, 0x3db4), - CodeunitRange(0x3dbf, 0x3dbf), - CodeunitRange(0x3dc6, 0x3dc7), - CodeunitRange(0x3dc9, 0x3dc9), - CodeunitRange(0x3dcc, 0x3dcd), - CodeunitRange(0x3dd3, 0x3dd3), - CodeunitRange(0x3ddb, 0x3ddb), - CodeunitRange(0x3de7, 0x3de8), - CodeunitRange(0x3deb, 0x3deb), - CodeunitRange(0x3df3, 0x3df4), - CodeunitRange(0x3df7, 0x3df7), - CodeunitRange(0x3dfc, 0x3dfd), - CodeunitRange(0x3e06, 0x3e06), - CodeunitRange(0x3e40, 0x3e40), - CodeunitRange(0x3e43, 0x3e43), - CodeunitRange(0x3e48, 0x3e48), - CodeunitRange(0x3e55, 0x3e55), - CodeunitRange(0x3e74, 0x3e74), - CodeunitRange(0x3ea8, 0x3eaa), - CodeunitRange(0x3ead, 0x3ead), - CodeunitRange(0x3eb1, 0x3eb1), - CodeunitRange(0x3eb8, 0x3eb8), - CodeunitRange(0x3ebf, 0x3ebf), - CodeunitRange(0x3ec2, 0x3ec2), - CodeunitRange(0x3ec7, 0x3ec7), - CodeunitRange(0x3eca, 0x3eca), - CodeunitRange(0x3ecc, 0x3ecc), - CodeunitRange(0x3ed0, 0x3ed1), - CodeunitRange(0x3ed6, 0x3ed7), - CodeunitRange(0x3eda, 0x3edb), - CodeunitRange(0x3ede, 0x3ede), - CodeunitRange(0x3ee1, 0x3ee2), - CodeunitRange(0x3ee7, 0x3ee7), - CodeunitRange(0x3ee9, 0x3ee9), - CodeunitRange(0x3eeb, 0x3eec), - CodeunitRange(0x3ef0, 0x3ef0), - CodeunitRange(0x3ef3, 0x3ef4), - CodeunitRange(0x3efa, 0x3efa), - CodeunitRange(0x3efc, 0x3efc), - CodeunitRange(0x3eff, 0x3f00), - CodeunitRange(0x3f04, 0x3f04), - CodeunitRange(0x3f06, 0x3f07), - CodeunitRange(0x3f0e, 0x3f0e), - CodeunitRange(0x3f53, 0x3f53), - CodeunitRange(0x3f58, 0x3f59), - CodeunitRange(0x3f63, 0x3f63), - CodeunitRange(0x3f7c, 0x3f7c), - CodeunitRange(0x3f93, 0x3f93), - CodeunitRange(0x3fc0, 0x3fc0), - CodeunitRange(0x3fc8, 0x3fc8), - CodeunitRange(0x3fd7, 0x3fd7), - CodeunitRange(0x3fdc, 0x3fdc), - CodeunitRange(0x3fe5, 0x3fe5), - CodeunitRange(0x3fed, 0x3fed), - CodeunitRange(0x3ff9, 0x3ffa), - CodeunitRange(0x4004, 0x4004), - CodeunitRange(0x4009, 0x4009), - CodeunitRange(0x401d, 0x401d), - CodeunitRange(0x4039, 0x4039), - CodeunitRange(0x4045, 0x4045), - CodeunitRange(0x4053, 0x4053), - CodeunitRange(0x4057, 0x4057), - CodeunitRange(0x4062, 0x4062), - CodeunitRange(0x4065, 0x4065), - CodeunitRange(0x406a, 0x406a), - CodeunitRange(0x406f, 0x406f), - CodeunitRange(0x4071, 0x4071), - CodeunitRange(0x40a8, 0x40a8), - CodeunitRange(0x40b4, 0x40b4), - CodeunitRange(0x40bb, 0x40bb), - CodeunitRange(0x40bf, 0x40bf), - CodeunitRange(0x40c8, 0x40c8), - CodeunitRange(0x40d8, 0x40d8), - CodeunitRange(0x40df, 0x40df), - CodeunitRange(0x40f8, 0x40f8), - CodeunitRange(0x40fa, 0x40fa), - CodeunitRange(0x4102, 0x4104), - CodeunitRange(0x4109, 0x4109), - CodeunitRange(0x410e, 0x410e), - CodeunitRange(0x4131, 0x4132), - CodeunitRange(0x4167, 0x4167), - CodeunitRange(0x416c, 0x416c), - CodeunitRange(0x416e, 0x416e), - CodeunitRange(0x417c, 0x417c), - CodeunitRange(0x417f, 0x417f), - CodeunitRange(0x4181, 0x4181), - CodeunitRange(0x4190, 0x4190), - CodeunitRange(0x41b2, 0x41b2), - CodeunitRange(0x41c4, 0x41c4), - CodeunitRange(0x41ca, 0x41ca), - CodeunitRange(0x41cf, 0x41cf), - CodeunitRange(0x41db, 0x41db), - CodeunitRange(0x41ed, 0x41ed), - CodeunitRange(0x41ef, 0x41ef), - CodeunitRange(0x41f9, 0x41f9), - CodeunitRange(0x4211, 0x4211), - CodeunitRange(0x4223, 0x4223), - CodeunitRange(0x4240, 0x4240), - CodeunitRange(0x4260, 0x4260), - CodeunitRange(0x426a, 0x426a), - CodeunitRange(0x4276, 0x4276), - CodeunitRange(0x427a, 0x427a), - CodeunitRange(0x428c, 0x428c), - CodeunitRange(0x4294, 0x4294), - CodeunitRange(0x42a2, 0x42a2), - CodeunitRange(0x42b5, 0x42b5), - CodeunitRange(0x42b9, 0x42b9), - CodeunitRange(0x42bc, 0x42bc), - CodeunitRange(0x42f4, 0x42f4), - CodeunitRange(0x42fb, 0x42fc), - CodeunitRange(0x430a, 0x430a), - CodeunitRange(0x432b, 0x432b), - CodeunitRange(0x436e, 0x436e), - CodeunitRange(0x4397, 0x4397), - CodeunitRange(0x439a, 0x439a), - CodeunitRange(0x43ba, 0x43ba), - CodeunitRange(0x43c1, 0x43c1), - CodeunitRange(0x43d9, 0x43d9), - CodeunitRange(0x43df, 0x43df), - CodeunitRange(0x43ed, 0x43ed), - CodeunitRange(0x43f0, 0x43f0), - CodeunitRange(0x43f2, 0x43f2), - CodeunitRange(0x4401, 0x4402), - CodeunitRange(0x4413, 0x4413), - CodeunitRange(0x4425, 0x4425), - CodeunitRange(0x442d, 0x442d), - CodeunitRange(0x447a, 0x447a), - CodeunitRange(0x448f, 0x448f), - CodeunitRange(0x4491, 0x4491), - CodeunitRange(0x449f, 0x44a0), - CodeunitRange(0x44a2, 0x44a2), - CodeunitRange(0x44b0, 0x44b0), - CodeunitRange(0x44b7, 0x44b7), - CodeunitRange(0x44bd, 0x44bd), - CodeunitRange(0x44c0, 0x44c0), - CodeunitRange(0x44c3, 0x44c3), - CodeunitRange(0x44c5, 0x44c5), - CodeunitRange(0x44ce, 0x44ce), - CodeunitRange(0x44dd, 0x44df), - CodeunitRange(0x44e1, 0x44e1), - CodeunitRange(0x44e4, 0x44e4), - CodeunitRange(0x44e9, 0x44ec), - CodeunitRange(0x44f4, 0x44f4), - CodeunitRange(0x4503, 0x4504), - CodeunitRange(0x4509, 0x4509), - CodeunitRange(0x450b, 0x450b), - CodeunitRange(0x4516, 0x4516), - CodeunitRange(0x451b, 0x451b), - CodeunitRange(0x451d, 0x451d), - CodeunitRange(0x4527, 0x4527), - CodeunitRange(0x452e, 0x452e), - CodeunitRange(0x4533, 0x4533), - CodeunitRange(0x4536, 0x4536), - CodeunitRange(0x453b, 0x453b), - CodeunitRange(0x453d, 0x453d), - CodeunitRange(0x453f, 0x453f), - CodeunitRange(0x4543, 0x4543), - CodeunitRange(0x4551, 0x4552), - CodeunitRange(0x4555, 0x4555), - CodeunitRange(0x4558, 0x4558), - CodeunitRange(0x455c, 0x455c), - CodeunitRange(0x4561, 0x4562), - CodeunitRange(0x456a, 0x456a), - CodeunitRange(0x456d, 0x456d), - CodeunitRange(0x4577, 0x4578), - CodeunitRange(0x4585, 0x4585), - CodeunitRange(0x45a6, 0x45a6), - CodeunitRange(0x45b3, 0x45b3), - CodeunitRange(0x45da, 0x45da), - CodeunitRange(0x45e9, 0x45ea), - CodeunitRange(0x4603, 0x4603), - CodeunitRange(0x4606, 0x4606), - CodeunitRange(0x460f, 0x460f), - CodeunitRange(0x4615, 0x4615), - CodeunitRange(0x4617, 0x4617), - CodeunitRange(0x465b, 0x465b), - CodeunitRange(0x467a, 0x467a), - CodeunitRange(0x4680, 0x4680), - CodeunitRange(0x46a1, 0x46a1), - CodeunitRange(0x46ae, 0x46ae), - CodeunitRange(0x46bb, 0x46bb), - CodeunitRange(0x46cf, 0x46d0), - CodeunitRange(0x46f5, 0x46f5), - CodeunitRange(0x46f7, 0x46f7), - CodeunitRange(0x4713, 0x4713), - CodeunitRange(0x4718, 0x4718), - CodeunitRange(0x4736, 0x4736), - CodeunitRange(0x4744, 0x4744), - CodeunitRange(0x474e, 0x474f), - CodeunitRange(0x477c, 0x477c), - CodeunitRange(0x4798, 0x4798), - CodeunitRange(0x47a6, 0x47a6), - CodeunitRange(0x47d5, 0x47d5), - CodeunitRange(0x47ed, 0x47ed), - CodeunitRange(0x47f4, 0x47f4), - CodeunitRange(0x4800, 0x4800), - CodeunitRange(0x480b, 0x480b), - CodeunitRange(0x4837, 0x4837), - CodeunitRange(0x485d, 0x485d), - CodeunitRange(0x4871, 0x4871), - CodeunitRange(0x489b, 0x489b), - CodeunitRange(0x48ad, 0x48ae), - CodeunitRange(0x48d0, 0x48d0), - CodeunitRange(0x48dd, 0x48dd), - CodeunitRange(0x48ed, 0x48ed), - CodeunitRange(0x48f3, 0x48f3), - CodeunitRange(0x48fa, 0x48fa), - CodeunitRange(0x4906, 0x4906), - CodeunitRange(0x4911, 0x4911), - CodeunitRange(0x491e, 0x491e), - CodeunitRange(0x4925, 0x4925), - CodeunitRange(0x492a, 0x492a), - CodeunitRange(0x492d, 0x492d), - CodeunitRange(0x492f, 0x4930), - CodeunitRange(0x4935, 0x4935), - CodeunitRange(0x493c, 0x493c), - CodeunitRange(0x493e, 0x493e), - CodeunitRange(0x4945, 0x4945), - CodeunitRange(0x4951, 0x4951), - CodeunitRange(0x4953, 0x4953), - CodeunitRange(0x4965, 0x4965), - CodeunitRange(0x496a, 0x496a), - CodeunitRange(0x4972, 0x4972), - CodeunitRange(0x4989, 0x4989), - CodeunitRange(0x49a1, 0x49a1), - CodeunitRange(0x49a7, 0x49a7), - CodeunitRange(0x49df, 0x49df), - CodeunitRange(0x49e5, 0x49e5), - CodeunitRange(0x49e7, 0x49e7), - CodeunitRange(0x4a0f, 0x4a0f), - CodeunitRange(0x4a1d, 0x4a1d), - CodeunitRange(0x4a24, 0x4a24), - CodeunitRange(0x4a35, 0x4a35), - CodeunitRange(0x4a96, 0x4a96), - CodeunitRange(0x4aa4, 0x4aa4), - CodeunitRange(0x4ab4, 0x4ab4), - CodeunitRange(0x4ab8, 0x4ab8), - CodeunitRange(0x4ad1, 0x4ad1), - CodeunitRange(0x4ae4, 0x4ae4), - CodeunitRange(0x4aff, 0x4aff), - CodeunitRange(0x4b10, 0x4b10), - CodeunitRange(0x4b19, 0x4b19), - CodeunitRange(0x4b20, 0x4b20), - CodeunitRange(0x4b2c, 0x4b2c), - CodeunitRange(0x4b37, 0x4b37), - CodeunitRange(0x4b6f, 0x4b70), - CodeunitRange(0x4b72, 0x4b72), - CodeunitRange(0x4b7b, 0x4b7b), - CodeunitRange(0x4b7e, 0x4b7e), - CodeunitRange(0x4b8e, 0x4b8e), - CodeunitRange(0x4b90, 0x4b90), - CodeunitRange(0x4b93, 0x4b93), - CodeunitRange(0x4b96, 0x4b97), - CodeunitRange(0x4b9d, 0x4b9d), - CodeunitRange(0x4bbd, 0x4bbe), - CodeunitRange(0x4bc0, 0x4bc0), - CodeunitRange(0x4c04, 0x4c04), - CodeunitRange(0x4c07, 0x4c07), - CodeunitRange(0x4c0e, 0x4c0e), - CodeunitRange(0x4c32, 0x4c32), - CodeunitRange(0x4c3b, 0x4c3b), - CodeunitRange(0x4c3e, 0x4c3e), - CodeunitRange(0x4c40, 0x4c40), - CodeunitRange(0x4c47, 0x4c47), - CodeunitRange(0x4c57, 0x4c57), - CodeunitRange(0x4c5b, 0x4c5b), - CodeunitRange(0x4c6d, 0x4c6d), - CodeunitRange(0x4c77, 0x4c77), - CodeunitRange(0x4c7b, 0x4c7b), - CodeunitRange(0x4c7d, 0x4c7d), - CodeunitRange(0x4c81, 0x4c81), - CodeunitRange(0x4c85, 0x4c85), - CodeunitRange(0x4ca4, 0x4ca4), - CodeunitRange(0x4cae, 0x4cae), - CodeunitRange(0x4cb0, 0x4cb0), - CodeunitRange(0x4cb7, 0x4cb7), - CodeunitRange(0x4ccd, 0x4ccd), - CodeunitRange(0x4ce1, 0x4ce2), - CodeunitRange(0x4ced, 0x4ced), - CodeunitRange(0x4d07, 0x4d07), - CodeunitRange(0x4d09, 0x4d09), - CodeunitRange(0x4d10, 0x4d10), - CodeunitRange(0x4d34, 0x4d34), - CodeunitRange(0x4d76, 0x4d77), - CodeunitRange(0x4d89, 0x4d89), - CodeunitRange(0x4d91, 0x4d91), - CodeunitRange(0x4d9c, 0x4d9c), - CodeunitRange(0x4e00, 0x4e01), - CodeunitRange(0x4e03, 0x4e04), - CodeunitRange(0x4e07, 0x4e11), - CodeunitRange(0x4e14, 0x4e16), - CodeunitRange(0x4e18, 0x4e1a), - CodeunitRange(0x4e1c, 0x4e1c), - CodeunitRange(0x4e1e, 0x4e1f), - CodeunitRange(0x4e21, 0x4e22), - CodeunitRange(0x4e24, 0x4e24), - CodeunitRange(0x4e26, 0x4e26), - CodeunitRange(0x4e28, 0x4e28), - CodeunitRange(0x4e2a, 0x4e33), - CodeunitRange(0x4e36, 0x4e39), - CodeunitRange(0x4e3b, 0x4e3d), - CodeunitRange(0x4e3f, 0x4e3f), - CodeunitRange(0x4e42, 0x4e43), - CodeunitRange(0x4e45, 0x4e45), - CodeunitRange(0x4e47, 0x4e49), - CodeunitRange(0x4e4b, 0x4e4b), - CodeunitRange(0x4e4d, 0x4e4f), - CodeunitRange(0x4e52, 0x4e53), - CodeunitRange(0x4e56, 0x4e56), - CodeunitRange(0x4e58, 0x4e5f), - CodeunitRange(0x4e69, 0x4e6a), - CodeunitRange(0x4e73, 0x4e73), - CodeunitRange(0x4e78, 0x4e78), - CodeunitRange(0x4e7e, 0x4e89), - CodeunitRange(0x4e8b, 0x4e8e), - CodeunitRange(0x4e91, 0x4e95), - CodeunitRange(0x4e98, 0x4e9b), - CodeunitRange(0x4e9e, 0x4ea6), - CodeunitRange(0x4ea8, 0x4ea8), - CodeunitRange(0x4eab, 0x4eae), - CodeunitRange(0x4eb3, 0x4eb3), - CodeunitRange(0x4eb6, 0x4eb7), - CodeunitRange(0x4eb9, 0x4ebc), - CodeunitRange(0x4ebf, 0x4ec4), - CodeunitRange(0x4ec6, 0x4ecb), - CodeunitRange(0x4ecd, 0x4ece), - CodeunitRange(0x4ed4, 0x4eda), - CodeunitRange(0x4edc, 0x4edf), - CodeunitRange(0x4ee1, 0x4ee1), - CodeunitRange(0x4ee3, 0x4ee5), - CodeunitRange(0x4ee8, 0x4eeb), - CodeunitRange(0x4eee, 0x4eee), - CodeunitRange(0x4ef0, 0x4ef8), - CodeunitRange(0x4efb, 0x4efb), - CodeunitRange(0x4efd, 0x4efd), - CodeunitRange(0x4eff, 0x4f05), - CodeunitRange(0x4f08, 0x4f0b), - CodeunitRange(0x4f0d, 0x4f15), - CodeunitRange(0x4f17, 0x4f1a), - CodeunitRange(0x4f1d, 0x4f1d), - CodeunitRange(0x4f22, 0x4f22), - CodeunitRange(0x4f28, 0x4f29), - CodeunitRange(0x4f2c, 0x4f2d), - CodeunitRange(0x4f2f, 0x4f30), - CodeunitRange(0x4f32, 0x4f34), - CodeunitRange(0x4f36, 0x4f3f), - CodeunitRange(0x4f41, 0x4f43), - CodeunitRange(0x4f45, 0x4f49), - CodeunitRange(0x4f4b, 0x4f64), - CodeunitRange(0x4f67, 0x4f67), - CodeunitRange(0x4f69, 0x4f6c), - CodeunitRange(0x4f6e, 0x4f70), - CodeunitRange(0x4f72, 0x4f8b), - CodeunitRange(0x4f8d, 0x4f8d), - CodeunitRange(0x4f8f, 0x4f92), - CodeunitRange(0x4f94, 0x4f98), - CodeunitRange(0x4f9a, 0x4f9e), - CodeunitRange(0x4fa2, 0x4fa2), - CodeunitRange(0x4fa8, 0x4fa8), - CodeunitRange(0x4fab, 0x4fab), - CodeunitRange(0x4fae, 0x4fb0), - CodeunitRange(0x4fb2, 0x4fb7), - CodeunitRange(0x4fb9, 0x4fbb), - CodeunitRange(0x4fbd, 0x4fbd), - CodeunitRange(0x4fbf, 0x4fc5), - CodeunitRange(0x4fc7, 0x4fd1), - CodeunitRange(0x4fd3, 0x4fd4), - CodeunitRange(0x4fd6, 0x4fe1), - CodeunitRange(0x4fe4, 0x4fe5), - CodeunitRange(0x4fec, 0x4fec), - CodeunitRange(0x4fee, 0x4ffa), - CodeunitRange(0x4ffd, 0x4ffe), - CodeunitRange(0x5000, 0x5000), - CodeunitRange(0x5003, 0x5003), - CodeunitRange(0x5005, 0x5009), - CodeunitRange(0x500b, 0x500f), - CodeunitRange(0x5011, 0x501c), - CodeunitRange(0x501e, 0x5023), - CodeunitRange(0x5025, 0x5031), - CodeunitRange(0x5033, 0x5035), - CodeunitRange(0x5037, 0x5037), - CodeunitRange(0x503b, 0x503c), - CodeunitRange(0x5040, 0x5041), - CodeunitRange(0x5043, 0x5043), - CodeunitRange(0x5045, 0x504f), - CodeunitRange(0x5051, 0x5051), - CodeunitRange(0x5053, 0x5053), - CodeunitRange(0x5055, 0x5058), - CodeunitRange(0x505a, 0x5066), - CodeunitRange(0x5068, 0x5070), - CodeunitRange(0x5072, 0x5077), - CodeunitRange(0x507a, 0x507a), - CodeunitRange(0x507d, 0x507d), - CodeunitRange(0x5080, 0x5083), - CodeunitRange(0x5085, 0x5085), - CodeunitRange(0x5087, 0x5088), - CodeunitRange(0x508b, 0x508e), - CodeunitRange(0x5090, 0x5092), - CodeunitRange(0x5094, 0x5096), - CodeunitRange(0x5098, 0x509e), - CodeunitRange(0x50a2, 0x50a3), - CodeunitRange(0x50a6, 0x50a6), - CodeunitRange(0x50ac, 0x50b8), - CodeunitRange(0x50ba, 0x50bf), - CodeunitRange(0x50c1, 0x50c2), - CodeunitRange(0x50c4, 0x50cb), - CodeunitRange(0x50cd, 0x50d1), - CodeunitRange(0x50d3, 0x50d7), - CodeunitRange(0x50d9, 0x50db), - CodeunitRange(0x50dd, 0x50dd), - CodeunitRange(0x50df, 0x50e1), - CodeunitRange(0x50e3, 0x50ea), - CodeunitRange(0x50ec, 0x50f1), - CodeunitRange(0x50f3, 0x50f6), - CodeunitRange(0x50f8, 0x50f9), - CodeunitRange(0x50fb, 0x510e), - CodeunitRange(0x5110, 0x5115), - CodeunitRange(0x5117, 0x5118), - CodeunitRange(0x511a, 0x511a), - CodeunitRange(0x511c, 0x511c), - CodeunitRange(0x511f, 0x5122), - CodeunitRange(0x5124, 0x5126), - CodeunitRange(0x5129, 0x512b), - CodeunitRange(0x512d, 0x512e), - CodeunitRange(0x5130, 0x5135), - CodeunitRange(0x5137, 0x513d), - CodeunitRange(0x513f, 0x5141), - CodeunitRange(0x5143, 0x5149), - CodeunitRange(0x514b, 0x514d), - CodeunitRange(0x5151, 0x5152), - CodeunitRange(0x5154, 0x5157), - CodeunitRange(0x5159, 0x5163), - CodeunitRange(0x5165, 0x5165), - CodeunitRange(0x5167, 0x516e), - CodeunitRange(0x5171, 0x5171), - CodeunitRange(0x5174, 0x5179), - CodeunitRange(0x517c, 0x517c), - CodeunitRange(0x5180, 0x5180), - CodeunitRange(0x5182, 0x5182), - CodeunitRange(0x5186, 0x518a), - CodeunitRange(0x518d, 0x518d), - CodeunitRange(0x518f, 0x518f), - CodeunitRange(0x5191, 0x5198), - CodeunitRange(0x519a, 0x519a), - CodeunitRange(0x519c, 0x519c), - CodeunitRange(0x519e, 0x519e), - CodeunitRange(0x51a0, 0x51a0), - CodeunitRange(0x51a2, 0x51a2), - CodeunitRange(0x51a4, 0x51a5), - CodeunitRange(0x51a7, 0x51a8), - CodeunitRange(0x51aa, 0x51ac), - CodeunitRange(0x51ae, 0x51ae), - CodeunitRange(0x51b0, 0x51b9), - CodeunitRange(0x51bc, 0x51be), - CodeunitRange(0x51c3, 0x51d4), - CodeunitRange(0x51d7, 0x51d8), - CodeunitRange(0x51db, 0x51e2), - CodeunitRange(0x51e4, 0x51e4), - CodeunitRange(0x51ed, 0x51ed), - CodeunitRange(0x51f0, 0x51f1), - CodeunitRange(0x51f3, 0x51f6), - CodeunitRange(0x51f8, 0x51fa), - CodeunitRange(0x51fc, 0x51fe), - CodeunitRange(0x5200, 0x5203), - CodeunitRange(0x5205, 0x520c), - CodeunitRange(0x520e, 0x520e), - CodeunitRange(0x5210, 0x5213), - CodeunitRange(0x5216, 0x5217), - CodeunitRange(0x521c, 0x5221), - CodeunitRange(0x5224, 0x522a), - CodeunitRange(0x522e, 0x522e), - CodeunitRange(0x5230, 0x5238), - CodeunitRange(0x523a, 0x523c), - CodeunitRange(0x5241, 0x5241), - CodeunitRange(0x5243, 0x5244), - CodeunitRange(0x5246, 0x5247), - CodeunitRange(0x5249, 0x524f), - CodeunitRange(0x5252, 0x5252), - CodeunitRange(0x5254, 0x5257), - CodeunitRange(0x5259, 0x5262), - CodeunitRange(0x5268, 0x526f), - CodeunitRange(0x5272, 0x5275), - CodeunitRange(0x5277, 0x527d), - CodeunitRange(0x527f, 0x5284), - CodeunitRange(0x5287, 0x528d), - CodeunitRange(0x528f, 0x5291), - CodeunitRange(0x5293, 0x5294), - CodeunitRange(0x5296, 0x529b), - CodeunitRange(0x529f, 0x52a1), - CodeunitRange(0x52a3, 0x52a4), - CodeunitRange(0x52a6, 0x52a6), - CodeunitRange(0x52a8, 0x52ae), - CodeunitRange(0x52b5, 0x52b5), - CodeunitRange(0x52b9, 0x52b9), - CodeunitRange(0x52bb, 0x52bc), - CodeunitRange(0x52be, 0x52be), - CodeunitRange(0x52c0, 0x52c3), - CodeunitRange(0x52c5, 0x52c5), - CodeunitRange(0x52c7, 0x52c7), - CodeunitRange(0x52c9, 0x52c9), - CodeunitRange(0x52cc, 0x52cd), - CodeunitRange(0x52d0, 0x52d3), - CodeunitRange(0x52d5, 0x52d9), - CodeunitRange(0x52db, 0x52db), - CodeunitRange(0x52dd, 0x52e4), - CodeunitRange(0x52e6, 0x52e6), - CodeunitRange(0x52e9, 0x52e9), - CodeunitRange(0x52eb, 0x52eb), - CodeunitRange(0x52ef, 0x52f1), - CodeunitRange(0x52f3, 0x52f5), - CodeunitRange(0x52f7, 0x52fc), - CodeunitRange(0x52fe, 0x52ff), - CodeunitRange(0x5301, 0x5301), - CodeunitRange(0x5305, 0x5306), - CodeunitRange(0x5308, 0x530b), - CodeunitRange(0x530d, 0x5312), - CodeunitRange(0x5315, 0x5317), - CodeunitRange(0x5319, 0x531a), - CodeunitRange(0x531c, 0x531d), - CodeunitRange(0x531f, 0x5324), - CodeunitRange(0x5327, 0x5327), - CodeunitRange(0x532a, 0x532a), - CodeunitRange(0x532c, 0x532d), - CodeunitRange(0x532f, 0x5334), - CodeunitRange(0x5337, 0x5339), - CodeunitRange(0x533b, 0x5345), - CodeunitRange(0x5347, 0x534a), - CodeunitRange(0x534c, 0x534e), - CodeunitRange(0x5351, 0x5354), - CodeunitRange(0x5357, 0x5357), - CodeunitRange(0x535a, 0x535a), - CodeunitRange(0x535c, 0x5361), - CodeunitRange(0x5363, 0x5364), - CodeunitRange(0x5366, 0x5367), - CodeunitRange(0x5369, 0x5369), - CodeunitRange(0x536c, 0x5375), - CodeunitRange(0x5377, 0x5379), - CodeunitRange(0x537b, 0x537f), - CodeunitRange(0x5382, 0x5382), - CodeunitRange(0x5384, 0x5384), - CodeunitRange(0x538a, 0x538a), - CodeunitRange(0x538e, 0x538f), - CodeunitRange(0x5392, 0x5394), - CodeunitRange(0x5396, 0x539a), - CodeunitRange(0x539c, 0x53a0), - CodeunitRange(0x53a2, 0x53a2), - CodeunitRange(0x53a4, 0x53ae), - CodeunitRange(0x53b0, 0x53b0), - CodeunitRange(0x53b2, 0x53b2), - CodeunitRange(0x53b4, 0x53b4), - CodeunitRange(0x53b6, 0x53b6), - CodeunitRange(0x53b9, 0x53b9), - CodeunitRange(0x53bb, 0x53bb), - CodeunitRange(0x53c1, 0x53c3), - CodeunitRange(0x53c5, 0x53c5), - CodeunitRange(0x53c8, 0x53cd), - CodeunitRange(0x53d0, 0x53d2), - CodeunitRange(0x53d4, 0x53d4), - CodeunitRange(0x53d6, 0x53db), - CodeunitRange(0x53df, 0x53e6), - CodeunitRange(0x53e8, 0x53f3), - CodeunitRange(0x53f5, 0x53f8), - CodeunitRange(0x53fb, 0x53fc), - CodeunitRange(0x53fe, 0x53fe), - CodeunitRange(0x5401, 0x5401), - CodeunitRange(0x5403, 0x5404), - CodeunitRange(0x5406, 0x5414), - CodeunitRange(0x5416, 0x5416), - CodeunitRange(0x5418, 0x5421), - CodeunitRange(0x5423, 0x5439), - CodeunitRange(0x543b, 0x5443), - CodeunitRange(0x5445, 0x5448), - CodeunitRange(0x544a, 0x544f), - CodeunitRange(0x5454, 0x5454), - CodeunitRange(0x5460, 0x546d), - CodeunitRange(0x546f, 0x5478), - CodeunitRange(0x547a, 0x5482), - CodeunitRange(0x5484, 0x5488), - CodeunitRange(0x548b, 0x5498), - CodeunitRange(0x549a, 0x549a), - CodeunitRange(0x549c, 0x549c), - CodeunitRange(0x549e, 0x549e), - CodeunitRange(0x54a0, 0x54b4), - CodeunitRange(0x54b6, 0x54c9), - CodeunitRange(0x54cb, 0x54d0), - CodeunitRange(0x54d6, 0x54d6), - CodeunitRange(0x54da, 0x54da), - CodeunitRange(0x54de, 0x54de), - CodeunitRange(0x54e0, 0x54eb), - CodeunitRange(0x54ed, 0x54ef), - CodeunitRange(0x54f1, 0x54f3), - CodeunitRange(0x54f7, 0x54f8), - CodeunitRange(0x54fa, 0x54fd), - CodeunitRange(0x54ff, 0x54ff), - CodeunitRange(0x5501, 0x5514), - CodeunitRange(0x5517, 0x5518), - CodeunitRange(0x551a, 0x551a), - CodeunitRange(0x551e, 0x551e), - CodeunitRange(0x5523, 0x5523), - CodeunitRange(0x5525, 0x5528), - CodeunitRange(0x552a, 0x5539), - CodeunitRange(0x553b, 0x553c), - CodeunitRange(0x553e, 0x5541), - CodeunitRange(0x5543, 0x554b), - CodeunitRange(0x554d, 0x5553), - CodeunitRange(0x5555, 0x5557), - CodeunitRange(0x555c, 0x555f), - CodeunitRange(0x5561, 0x5566), - CodeunitRange(0x5569, 0x556b), - CodeunitRange(0x5571, 0x5573), - CodeunitRange(0x5575, 0x5577), - CodeunitRange(0x5579, 0x5579), - CodeunitRange(0x557b, 0x5584), - CodeunitRange(0x5586, 0x5595), - CodeunitRange(0x5598, 0x559a), - CodeunitRange(0x559c, 0x559d), - CodeunitRange(0x559f, 0x559f), - CodeunitRange(0x55a1, 0x55ae), - CodeunitRange(0x55b0, 0x55b5), - CodeunitRange(0x55b9, 0x55bc), - CodeunitRange(0x55bf, 0x55df), - CodeunitRange(0x55e1, 0x55ea), - CodeunitRange(0x55ec, 0x55ec), - CodeunitRange(0x55ee, 0x55f2), - CodeunitRange(0x55f5, 0x55f7), - CodeunitRange(0x55f9, 0x5602), - CodeunitRange(0x5604, 0x5606), - CodeunitRange(0x5608, 0x5609), - CodeunitRange(0x560c, 0x5617), - CodeunitRange(0x561b, 0x5623), - CodeunitRange(0x5625, 0x5625), - CodeunitRange(0x5627, 0x5627), - CodeunitRange(0x5629, 0x562a), - CodeunitRange(0x562c, 0x5630), - CodeunitRange(0x5632, 0x563b), - CodeunitRange(0x563d, 0x5643), - CodeunitRange(0x5645, 0x5646), - CodeunitRange(0x5648, 0x564a), - CodeunitRange(0x564c, 0x5650), - CodeunitRange(0x5652, 0x5654), - CodeunitRange(0x5657, 0x565a), - CodeunitRange(0x565d, 0x565e), - CodeunitRange(0x5660, 0x5666), - CodeunitRange(0x5668, 0x5674), - CodeunitRange(0x5676, 0x567c), - CodeunitRange(0x567e, 0x5687), - CodeunitRange(0x5689, 0x5690), - CodeunitRange(0x5692, 0x5693), - CodeunitRange(0x5695, 0x5695), - CodeunitRange(0x5697, 0x569a), - CodeunitRange(0x569c, 0x569f), - CodeunitRange(0x56a1, 0x56a1), - CodeunitRange(0x56a4, 0x56a8), - CodeunitRange(0x56aa, 0x56af), - CodeunitRange(0x56b1, 0x56b7), - CodeunitRange(0x56b9, 0x56b9), - CodeunitRange(0x56bc, 0x56c3), - CodeunitRange(0x56c5, 0x56c6), - CodeunitRange(0x56c8, 0x56cd), - CodeunitRange(0x56d1, 0x56d1), - CodeunitRange(0x56d3, 0x56d4), - CodeunitRange(0x56d6, 0x56d7), - CodeunitRange(0x56da, 0x56db), - CodeunitRange(0x56dd, 0x56e2), - CodeunitRange(0x56e4, 0x56e5), - CodeunitRange(0x56e7, 0x56e7), - CodeunitRange(0x56ea, 0x56eb), - CodeunitRange(0x56ed, 0x56f1), - CodeunitRange(0x56f7, 0x56f7), - CodeunitRange(0x56f9, 0x56fb), - CodeunitRange(0x56fd, 0x56fd), - CodeunitRange(0x56ff, 0x5704), - CodeunitRange(0x5707, 0x570d), - CodeunitRange(0x5712, 0x5716), - CodeunitRange(0x5718, 0x5718), - CodeunitRange(0x571a, 0x5720), - CodeunitRange(0x5722, 0x5723), - CodeunitRange(0x5728, 0x572a), - CodeunitRange(0x572c, 0x5730), - CodeunitRange(0x5732, 0x5734), - CodeunitRange(0x573b, 0x573b), - CodeunitRange(0x573d, 0x5743), - CodeunitRange(0x5745, 0x5747), - CodeunitRange(0x5749, 0x5752), - CodeunitRange(0x5754, 0x5754), - CodeunitRange(0x5757, 0x5757), - CodeunitRange(0x575b, 0x575b), - CodeunitRange(0x575f, 0x575f), - CodeunitRange(0x5761, 0x5762), - CodeunitRange(0x5764, 0x5764), - CodeunitRange(0x5766, 0x576b), - CodeunitRange(0x576d, 0x576d), - CodeunitRange(0x576f, 0x5777), - CodeunitRange(0x577a, 0x5780), - CodeunitRange(0x5782, 0x5783), - CodeunitRange(0x5788, 0x5788), - CodeunitRange(0x578a, 0x578d), - CodeunitRange(0x578f, 0x5790), - CodeunitRange(0x5793, 0x5795), - CodeunitRange(0x5797, 0x57a5), - CodeunitRange(0x57a7, 0x57a7), - CodeunitRange(0x57aa, 0x57aa), - CodeunitRange(0x57ae, 0x57ae), - CodeunitRange(0x57b3, 0x57b6), - CodeunitRange(0x57b8, 0x57bf), - CodeunitRange(0x57c1, 0x57c4), - CodeunitRange(0x57c6, 0x57c8), - CodeunitRange(0x57cb, 0x57cc), - CodeunitRange(0x57ce, 0x57d0), - CodeunitRange(0x57d2, 0x57d2), - CodeunitRange(0x57d4, 0x57d5), - CodeunitRange(0x57d7, 0x57d7), - CodeunitRange(0x57dc, 0x57e7), - CodeunitRange(0x57e9, 0x57e9), - CodeunitRange(0x57ec, 0x57fe), - CodeunitRange(0x5800, 0x580e), - CodeunitRange(0x5810, 0x5810), - CodeunitRange(0x5812, 0x5812), - CodeunitRange(0x5814, 0x5814), - CodeunitRange(0x5818, 0x5819), - CodeunitRange(0x581b, 0x581e), - CodeunitRange(0x5820, 0x582a), - CodeunitRange(0x582c, 0x583b), - CodeunitRange(0x583d, 0x583d), - CodeunitRange(0x583f, 0x5840), - CodeunitRange(0x5844, 0x5844), - CodeunitRange(0x5847, 0x584f), - CodeunitRange(0x5851, 0x5855), - CodeunitRange(0x5857, 0x585f), - CodeunitRange(0x5862, 0x5865), - CodeunitRange(0x5868, 0x5869), - CodeunitRange(0x586b, 0x586d), - CodeunitRange(0x586f, 0x586f), - CodeunitRange(0x5871, 0x5876), - CodeunitRange(0x5879, 0x5883), - CodeunitRange(0x5885, 0x588b), - CodeunitRange(0x588e, 0x5894), - CodeunitRange(0x5896, 0x5896), - CodeunitRange(0x5898, 0x589a), - CodeunitRange(0x589c, 0x58a1), - CodeunitRange(0x58a3, 0x58a3), - CodeunitRange(0x58a5, 0x58ac), - CodeunitRange(0x58ae, 0x58b1), - CodeunitRange(0x58b3, 0x58b3), - CodeunitRange(0x58b5, 0x58b6), - CodeunitRange(0x58ba, 0x58bf), - CodeunitRange(0x58c1, 0x58c2), - CodeunitRange(0x58c5, 0x58c9), - CodeunitRange(0x58cb, 0x58cb), - CodeunitRange(0x58ce, 0x58d6), - CodeunitRange(0x58d8, 0x58e0), - CodeunitRange(0x58e2, 0x58e4), - CodeunitRange(0x58e7, 0x58e9), - CodeunitRange(0x58eb, 0x58ec), - CodeunitRange(0x58ef, 0x58f0), - CodeunitRange(0x58f2, 0x58f4), - CodeunitRange(0x58f9, 0x58ff), - CodeunitRange(0x5902, 0x5907), - CodeunitRange(0x590a, 0x590a), - CodeunitRange(0x590c, 0x590f), - CodeunitRange(0x5911, 0x5912), - CodeunitRange(0x5914, 0x5917), - CodeunitRange(0x5919, 0x591a), - CodeunitRange(0x591c, 0x591d), - CodeunitRange(0x591f, 0x5920), - CodeunitRange(0x5922, 0x5922), - CodeunitRange(0x5924, 0x5925), - CodeunitRange(0x5927, 0x5927), - CodeunitRange(0x5929, 0x592f), - CodeunitRange(0x5931, 0x5932), - CodeunitRange(0x5934, 0x5934), - CodeunitRange(0x5937, 0x5938), - CodeunitRange(0x593c, 0x593c), - CodeunitRange(0x593e, 0x593e), - CodeunitRange(0x5940, 0x5940), - CodeunitRange(0x5944, 0x5945), - CodeunitRange(0x5947, 0x594a), - CodeunitRange(0x594e, 0x5951), - CodeunitRange(0x5953, 0x5955), - CodeunitRange(0x5957, 0x5958), - CodeunitRange(0x595a, 0x595a), - CodeunitRange(0x595c, 0x595c), - CodeunitRange(0x5960, 0x5962), - CodeunitRange(0x5965, 0x5965), - CodeunitRange(0x5967, 0x5967), - CodeunitRange(0x5969, 0x596e), - CodeunitRange(0x5970, 0x5979), - CodeunitRange(0x597b, 0x5985), - CodeunitRange(0x5989, 0x598a), - CodeunitRange(0x598d, 0x5990), - CodeunitRange(0x5992, 0x5994), - CodeunitRange(0x5996, 0x599a), - CodeunitRange(0x599d, 0x59a8), - CodeunitRange(0x59ac, 0x59ac), - CodeunitRange(0x59ae, 0x59c1), - CodeunitRange(0x59c3, 0x59d4), - CodeunitRange(0x59d6, 0x59d6), - CodeunitRange(0x59d8, 0x59de), - CodeunitRange(0x59e0, 0x59e1), - CodeunitRange(0x59e3, 0x59e6), - CodeunitRange(0x59e8, 0x5a03), - CodeunitRange(0x5a09, 0x5a0d), - CodeunitRange(0x5a0f, 0x5a0f), - CodeunitRange(0x5a11, 0x5a13), - CodeunitRange(0x5a15, 0x5a1c), - CodeunitRange(0x5a1e, 0x5a21), - CodeunitRange(0x5a23, 0x5a25), - CodeunitRange(0x5a27, 0x5a27), - CodeunitRange(0x5a29, 0x5a2e), - CodeunitRange(0x5a33, 0x5a33), - CodeunitRange(0x5a35, 0x5a39), - CodeunitRange(0x5a3c, 0x5a3e), - CodeunitRange(0x5a40, 0x5a4a), - CodeunitRange(0x5a4c, 0x5a4d), - CodeunitRange(0x5a50, 0x5a6e), - CodeunitRange(0x5a70, 0x5a71), - CodeunitRange(0x5a77, 0x5a7f), - CodeunitRange(0x5a81, 0x5a84), - CodeunitRange(0x5a86, 0x5a86), - CodeunitRange(0x5a88, 0x5a88), - CodeunitRange(0x5a8a, 0x5a8c), - CodeunitRange(0x5a8e, 0x5a97), - CodeunitRange(0x5a99, 0x5aa2), - CodeunitRange(0x5aa4, 0x5aa7), - CodeunitRange(0x5aa9, 0x5aac), - CodeunitRange(0x5aae, 0x5ac4), - CodeunitRange(0x5ac6, 0x5acf), - CodeunitRange(0x5ad1, 0x5ad1), - CodeunitRange(0x5ad3, 0x5ad3), - CodeunitRange(0x5ad5, 0x5ae6), - CodeunitRange(0x5ae8, 0x5aee), - CodeunitRange(0x5af0, 0x5af0), - CodeunitRange(0x5af2, 0x5afb), - CodeunitRange(0x5afd, 0x5aff), - CodeunitRange(0x5b01, 0x5b03), - CodeunitRange(0x5b05, 0x5b05), - CodeunitRange(0x5b07, 0x5b09), - CodeunitRange(0x5b0b, 0x5b0d), - CodeunitRange(0x5b0f, 0x5b11), - CodeunitRange(0x5b13, 0x5b17), - CodeunitRange(0x5b19, 0x5b1b), - CodeunitRange(0x5b1d, 0x5b21), - CodeunitRange(0x5b23, 0x5b28), - CodeunitRange(0x5b2a, 0x5b30), - CodeunitRange(0x5b32, 0x5b32), - CodeunitRange(0x5b34, 0x5b34), - CodeunitRange(0x5b38, 0x5b38), - CodeunitRange(0x5b3c, 0x5b41), - CodeunitRange(0x5b43, 0x5b48), - CodeunitRange(0x5b4a, 0x5b51), - CodeunitRange(0x5b53, 0x5b58), - CodeunitRange(0x5b5a, 0x5b5d), - CodeunitRange(0x5b5f, 0x5b5f), - CodeunitRange(0x5b62, 0x5b66), - CodeunitRange(0x5b68, 0x5b69), - CodeunitRange(0x5b6b, 0x5b6e), - CodeunitRange(0x5b70, 0x5b78), - CodeunitRange(0x5b7a, 0x5b7d), - CodeunitRange(0x5b7f, 0x5b85), - CodeunitRange(0x5b87, 0x5b89), - CodeunitRange(0x5b8b, 0x5b8c), - CodeunitRange(0x5b8e, 0x5b90), - CodeunitRange(0x5b92, 0x5b93), - CodeunitRange(0x5b95, 0x5b9f), - CodeunitRange(0x5ba2, 0x5ba8), - CodeunitRange(0x5baa, 0x5baa), - CodeunitRange(0x5bac, 0x5bae), - CodeunitRange(0x5bb0, 0x5bb0), - CodeunitRange(0x5bb3, 0x5bb9), - CodeunitRange(0x5bbf, 0x5bc7), - CodeunitRange(0x5bca, 0x5bce), - CodeunitRange(0x5bd0, 0x5bd9), - CodeunitRange(0x5bdb, 0x5bdb), - CodeunitRange(0x5bde, 0x5bec), - CodeunitRange(0x5bee, 0x5bf3), - CodeunitRange(0x5bf5, 0x5bf6), - CodeunitRange(0x5bf8, 0x5bf8), - CodeunitRange(0x5bfa, 0x5bfa), - CodeunitRange(0x5bff, 0x5bff), - CodeunitRange(0x5c01, 0x5c01), - CodeunitRange(0x5c03, 0x5c05), - CodeunitRange(0x5c07, 0x5c16), - CodeunitRange(0x5c1a, 0x5c1a), - CodeunitRange(0x5c1c, 0x5c1c), - CodeunitRange(0x5c1e, 0x5c20), - CodeunitRange(0x5c22, 0x5c25), - CodeunitRange(0x5c28, 0x5c28), - CodeunitRange(0x5c2a, 0x5c2a), - CodeunitRange(0x5c2c, 0x5c2c), - CodeunitRange(0x5c30, 0x5c31), - CodeunitRange(0x5c33, 0x5c33), - CodeunitRange(0x5c37, 0x5c3c), - CodeunitRange(0x5c3e, 0x5c41), - CodeunitRange(0x5c44, 0x5c51), - CodeunitRange(0x5c53, 0x5c56), - CodeunitRange(0x5c58, 0x5c59), - CodeunitRange(0x5c5c, 0x5c5e), - CodeunitRange(0x5c60, 0x5c60), - CodeunitRange(0x5c62, 0x5c65), - CodeunitRange(0x5c67, 0x5c6a), - CodeunitRange(0x5c6c, 0x5c6f), - CodeunitRange(0x5c71, 0x5c71), - CodeunitRange(0x5c73, 0x5c74), - CodeunitRange(0x5c78, 0x5c7c), - CodeunitRange(0x5c7e, 0x5c7e), - CodeunitRange(0x5c85, 0x5c86), - CodeunitRange(0x5c88, 0x5c8d), - CodeunitRange(0x5c8f, 0x5c95), - CodeunitRange(0x5c99, 0x5c9a), - CodeunitRange(0x5c9c, 0x5cb1), - CodeunitRange(0x5cb3, 0x5cb3), - CodeunitRange(0x5cb5, 0x5cb8), - CodeunitRange(0x5cba, 0x5cba), - CodeunitRange(0x5cc1, 0x5cc2), - CodeunitRange(0x5cc6, 0x5ccc), - CodeunitRange(0x5cce, 0x5cdb), - CodeunitRange(0x5cde, 0x5cdf), - CodeunitRange(0x5ce5, 0x5ce5), - CodeunitRange(0x5ce8, 0x5cea), - CodeunitRange(0x5cec, 0x5cf1), - CodeunitRange(0x5cf4, 0x5cf9), - CodeunitRange(0x5cfb, 0x5cfd), - CodeunitRange(0x5cff, 0x5d01), - CodeunitRange(0x5d06, 0x5d07), - CodeunitRange(0x5d0b, 0x5d12), - CodeunitRange(0x5d14, 0x5d1b), - CodeunitRange(0x5d1d, 0x5d20), - CodeunitRange(0x5d22, 0x5d29), - CodeunitRange(0x5d2c, 0x5d2c), - CodeunitRange(0x5d2e, 0x5d3a), - CodeunitRange(0x5d3c, 0x5d43), - CodeunitRange(0x5d45, 0x5d4c), - CodeunitRange(0x5d4e, 0x5d4e), - CodeunitRange(0x5d50, 0x5d52), - CodeunitRange(0x5d55, 0x5d57), - CodeunitRange(0x5d59, 0x5d59), - CodeunitRange(0x5d5b, 0x5d5b), - CodeunitRange(0x5d5e, 0x5d5e), - CodeunitRange(0x5d62, 0x5d63), - CodeunitRange(0x5d65, 0x5d65), - CodeunitRange(0x5d67, 0x5d69), - CodeunitRange(0x5d6b, 0x5d6c), - CodeunitRange(0x5d6f, 0x5d72), - CodeunitRange(0x5d74, 0x5d74), - CodeunitRange(0x5d77, 0x5d82), - CodeunitRange(0x5d84, 0x5d8b), - CodeunitRange(0x5d8d, 0x5d8e), - CodeunitRange(0x5d92, 0x5d95), - CodeunitRange(0x5d97, 0x5d97), - CodeunitRange(0x5d99, 0x5d9a), - CodeunitRange(0x5d9c, 0x5da2), - CodeunitRange(0x5da4, 0x5da4), - CodeunitRange(0x5da7, 0x5db2), - CodeunitRange(0x5db4, 0x5dba), - CodeunitRange(0x5dbc, 0x5dbd), - CodeunitRange(0x5dc0, 0x5dc3), - CodeunitRange(0x5dc6, 0x5dc7), - CodeunitRange(0x5dc9, 0x5dc9), - CodeunitRange(0x5dcb, 0x5dcb), - CodeunitRange(0x5dcd, 0x5dcd), - CodeunitRange(0x5dcf, 0x5dcf), - CodeunitRange(0x5dd1, 0x5dd2), - CodeunitRange(0x5dd4, 0x5dd8), - CodeunitRange(0x5ddb, 0x5ddb), - CodeunitRange(0x5ddd, 0x5de2), - CodeunitRange(0x5de5, 0x5de8), - CodeunitRange(0x5deb, 0x5deb), - CodeunitRange(0x5dee, 0x5dee), - CodeunitRange(0x5df0, 0x5df5), - CodeunitRange(0x5df7, 0x5df7), - CodeunitRange(0x5df9, 0x5df9), - CodeunitRange(0x5dfd, 0x5dff), - CodeunitRange(0x5e02, 0x5e04), - CodeunitRange(0x5e06, 0x5e06), - CodeunitRange(0x5e09, 0x5e0c), - CodeunitRange(0x5e0e, 0x5e0e), - CodeunitRange(0x5e11, 0x5e12), - CodeunitRange(0x5e14, 0x5e1b), - CodeunitRange(0x5e1d, 0x5e1d), - CodeunitRange(0x5e1f, 0x5e25), - CodeunitRange(0x5e28, 0x5e29), - CodeunitRange(0x5e2b, 0x5e2b), - CodeunitRange(0x5e2d, 0x5e2e), - CodeunitRange(0x5e33, 0x5e34), - CodeunitRange(0x5e36, 0x5e38), - CodeunitRange(0x5e3d, 0x5e3e), - CodeunitRange(0x5e40, 0x5e45), - CodeunitRange(0x5e48, 0x5e48), - CodeunitRange(0x5e4a, 0x5e4f), - CodeunitRange(0x5e53, 0x5e55), - CodeunitRange(0x5e57, 0x5e59), - CodeunitRange(0x5e5b, 0x5e63), - CodeunitRange(0x5e66, 0x5e70), - CodeunitRange(0x5e72, 0x5e76), - CodeunitRange(0x5e78, 0x5e80), - CodeunitRange(0x5e82, 0x5e84), - CodeunitRange(0x5e86, 0x5e8d), - CodeunitRange(0x5e8f, 0x5e8f), - CodeunitRange(0x5e92, 0x5e92), - CodeunitRange(0x5e95, 0x5e97), - CodeunitRange(0x5e99, 0x5e9c), - CodeunitRange(0x5ea0, 0x5ea0), - CodeunitRange(0x5ea2, 0x5ea8), - CodeunitRange(0x5eaa, 0x5eae), - CodeunitRange(0x5eb0, 0x5eb9), - CodeunitRange(0x5ebd, 0x5ebe), - CodeunitRange(0x5ec1, 0x5ec2), - CodeunitRange(0x5ec4, 0x5ece), - CodeunitRange(0x5ed0, 0x5ee3), - CodeunitRange(0x5ee5, 0x5ee9), - CodeunitRange(0x5eec, 0x5eec), - CodeunitRange(0x5eee, 0x5eef), - CodeunitRange(0x5ef1, 0x5ef4), - CodeunitRange(0x5ef6, 0x5efc), - CodeunitRange(0x5efe, 0x5eff), - CodeunitRange(0x5f01, 0x5f02), - CodeunitRange(0x5f04, 0x5f05), - CodeunitRange(0x5f07, 0x5f08), - CodeunitRange(0x5f0a, 0x5f0f), - CodeunitRange(0x5f12, 0x5f15), - CodeunitRange(0x5f17, 0x5f18), - CodeunitRange(0x5f1a, 0x5f1b), - CodeunitRange(0x5f1d, 0x5f1d), - CodeunitRange(0x5f1f, 0x5f1f), - CodeunitRange(0x5f22, 0x5f29), - CodeunitRange(0x5f2d, 0x5f2e), - CodeunitRange(0x5f30, 0x5f31), - CodeunitRange(0x5f33, 0x5f33), - CodeunitRange(0x5f35, 0x5f38), - CodeunitRange(0x5f3a, 0x5f3c), - CodeunitRange(0x5f40, 0x5f40), - CodeunitRange(0x5f43, 0x5f46), - CodeunitRange(0x5f48, 0x5f51), - CodeunitRange(0x5f54, 0x5f54), - CodeunitRange(0x5f56, 0x5f59), - CodeunitRange(0x5f5c, 0x5f5e), - CodeunitRange(0x5f61, 0x5f65), - CodeunitRange(0x5f67, 0x5f67), - CodeunitRange(0x5f69, 0x5f6d), - CodeunitRange(0x5f6f, 0x5f74), - CodeunitRange(0x5f76, 0x5f79), - CodeunitRange(0x5f7b, 0x5f83), - CodeunitRange(0x5f85, 0x5f8c), - CodeunitRange(0x5f90, 0x5f92), - CodeunitRange(0x5f96, 0x5f99), - CodeunitRange(0x5f9b, 0x5f9c), - CodeunitRange(0x5f9e, 0x5fa1), - CodeunitRange(0x5fa4, 0x5faf), - CodeunitRange(0x5fb1, 0x5fb2), - CodeunitRange(0x5fb5, 0x5fb7), - CodeunitRange(0x5fb9, 0x5fc5), - CodeunitRange(0x5fc9, 0x5fc9), - CodeunitRange(0x5fcc, 0x5fcd), - CodeunitRange(0x5fcf, 0x5fd2), - CodeunitRange(0x5fd4, 0x5fd9), - CodeunitRange(0x5fdb, 0x5fdb), - CodeunitRange(0x5fdd, 0x5fe1), - CodeunitRange(0x5fe3, 0x5fe5), - CodeunitRange(0x5fe8, 0x5fe8), - CodeunitRange(0x5fea, 0x5feb), - CodeunitRange(0x5fed, 0x5fef), - CodeunitRange(0x5ff1, 0x5ff1), - CodeunitRange(0x5ff3, 0x5ff5), - CodeunitRange(0x5ff7, 0x5ff8), - CodeunitRange(0x5ffa, 0x5ffb), - CodeunitRange(0x5ffd, 0x5ffd), - CodeunitRange(0x5fff, 0x6000), - CodeunitRange(0x6009, 0x6017), - CodeunitRange(0x6019, 0x601e), - CodeunitRange(0x6020, 0x602f), - CodeunitRange(0x6031, 0x6035), - CodeunitRange(0x6037, 0x6037), - CodeunitRange(0x6039, 0x6039), - CodeunitRange(0x603b, 0x603b), - CodeunitRange(0x6040, 0x6047), - CodeunitRange(0x6049, 0x604d), - CodeunitRange(0x6050, 0x6050), - CodeunitRange(0x6052, 0x6055), - CodeunitRange(0x6058, 0x605b), - CodeunitRange(0x605d, 0x605f), - CodeunitRange(0x6062, 0x6070), - CodeunitRange(0x6072, 0x6072), - CodeunitRange(0x6075, 0x6075), - CodeunitRange(0x6077, 0x6077), - CodeunitRange(0x607e, 0x6081), - CodeunitRange(0x6083, 0x608a), - CodeunitRange(0x608c, 0x608e), - CodeunitRange(0x6090, 0x6090), - CodeunitRange(0x6092, 0x6092), - CodeunitRange(0x6094, 0x6097), - CodeunitRange(0x609a, 0x60a0), - CodeunitRange(0x60a2, 0x60a4), - CodeunitRange(0x60a6, 0x60a8), - CodeunitRange(0x60b0, 0x60c1), - CodeunitRange(0x60c3, 0x60cf), - CodeunitRange(0x60d1, 0x60d1), - CodeunitRange(0x60d3, 0x60d5), - CodeunitRange(0x60d7, 0x60e4), - CodeunitRange(0x60e6, 0x60e9), - CodeunitRange(0x60f0, 0x6101), - CodeunitRange(0x6103, 0x6110), - CodeunitRange(0x6112, 0x6116), - CodeunitRange(0x6118, 0x611d), - CodeunitRange(0x611f, 0x6120), - CodeunitRange(0x6122, 0x6123), - CodeunitRange(0x6127, 0x6129), - CodeunitRange(0x612b, 0x612c), - CodeunitRange(0x612e, 0x6130), - CodeunitRange(0x6132, 0x6132), - CodeunitRange(0x6134, 0x6134), - CodeunitRange(0x6136, 0x6137), - CodeunitRange(0x613b, 0x613b), - CodeunitRange(0x613d, 0x6142), - CodeunitRange(0x6144, 0x6150), - CodeunitRange(0x6152, 0x6156), - CodeunitRange(0x6158, 0x6168), - CodeunitRange(0x616a, 0x616c), - CodeunitRange(0x616e, 0x6177), - CodeunitRange(0x6179, 0x617a), - CodeunitRange(0x617c, 0x617e), - CodeunitRange(0x6180, 0x6183), - CodeunitRange(0x6187, 0x6187), - CodeunitRange(0x6189, 0x618e), - CodeunitRange(0x6190, 0x6196), - CodeunitRange(0x6198, 0x619d), - CodeunitRange(0x619f, 0x619f), - CodeunitRange(0x61a1, 0x61a2), - CodeunitRange(0x61a4, 0x61a4), - CodeunitRange(0x61a7, 0x61ba), - CodeunitRange(0x61bc, 0x61bc), - CodeunitRange(0x61be, 0x61c3), - CodeunitRange(0x61c5, 0x61cd), - CodeunitRange(0x61cf, 0x61d0), - CodeunitRange(0x61d3, 0x61d3), - CodeunitRange(0x61d6, 0x61d6), - CodeunitRange(0x61d8, 0x61d8), - CodeunitRange(0x61da, 0x61da), - CodeunitRange(0x61de, 0x61e0), - CodeunitRange(0x61e2, 0x61eb), - CodeunitRange(0x61ed, 0x61ee), - CodeunitRange(0x61f0, 0x61f2), - CodeunitRange(0x61f5, 0x6201), - CodeunitRange(0x6203, 0x6204), - CodeunitRange(0x6207, 0x620a), - CodeunitRange(0x620c, 0x620e), - CodeunitRange(0x6210, 0x6212), - CodeunitRange(0x6214, 0x6216), - CodeunitRange(0x6219, 0x621b), - CodeunitRange(0x621f, 0x6225), - CodeunitRange(0x6227, 0x6227), - CodeunitRange(0x6229, 0x622e), - CodeunitRange(0x6230, 0x6230), - CodeunitRange(0x6232, 0x6234), - CodeunitRange(0x6236, 0x6237), - CodeunitRange(0x6239, 0x623a), - CodeunitRange(0x623d, 0x6243), - CodeunitRange(0x6246, 0x624e), - CodeunitRange(0x6250, 0x6254), - CodeunitRange(0x6258, 0x625c), - CodeunitRange(0x625e, 0x625e), - CodeunitRange(0x6260, 0x6266), - CodeunitRange(0x6268, 0x6268), - CodeunitRange(0x626d, 0x6274), - CodeunitRange(0x6276, 0x6277), - CodeunitRange(0x6279, 0x628a), - CodeunitRange(0x628c, 0x628c), - CodeunitRange(0x628e, 0x6298), - CodeunitRange(0x629d, 0x629d), - CodeunitRange(0x62a4, 0x62a4), - CodeunitRange(0x62a6, 0x62a6), - CodeunitRange(0x62a8, 0x62b1), - CodeunitRange(0x62b3, 0x62b6), - CodeunitRange(0x62b8, 0x62b9), - CodeunitRange(0x62bb, 0x62bf), - CodeunitRange(0x62c1, 0x62dc), - CodeunitRange(0x62df, 0x62df), - CodeunitRange(0x62e5, 0x62e5), - CodeunitRange(0x62eb, 0x6303), - CodeunitRange(0x6307, 0x6309), - CodeunitRange(0x630b, 0x6311), - CodeunitRange(0x6313, 0x6316), - CodeunitRange(0x6318, 0x6318), - CodeunitRange(0x6328, 0x632f), - CodeunitRange(0x6331, 0x633e), - CodeunitRange(0x6340, 0x6351), - CodeunitRange(0x6354, 0x635a), - CodeunitRange(0x635d, 0x635d), - CodeunitRange(0x6364, 0x6365), - CodeunitRange(0x6367, 0x6369), - CodeunitRange(0x636b, 0x6372), - CodeunitRange(0x6375, 0x637d), - CodeunitRange(0x637f, 0x6385), - CodeunitRange(0x6387, 0x6392), - CodeunitRange(0x6394, 0x6394), - CodeunitRange(0x6396, 0x6399), - CodeunitRange(0x639b, 0x63a5), - CodeunitRange(0x63a7, 0x63b1), - CodeunitRange(0x63b9, 0x63b9), - CodeunitRange(0x63bd, 0x63be), - CodeunitRange(0x63c0, 0x63d3), - CodeunitRange(0x63d5, 0x63eb), - CodeunitRange(0x63ed, 0x63f6), - CodeunitRange(0x63f8, 0x63f9), - CodeunitRange(0x63fb, 0x63fc), - CodeunitRange(0x63fe, 0x63fe), - CodeunitRange(0x6406, 0x6407), - CodeunitRange(0x6409, 0x6410), - CodeunitRange(0x6412, 0x6418), - CodeunitRange(0x641a, 0x641c), - CodeunitRange(0x641e, 0x6428), - CodeunitRange(0x642a, 0x6430), - CodeunitRange(0x6432, 0x643b), - CodeunitRange(0x643d, 0x6441), - CodeunitRange(0x6443, 0x6443), - CodeunitRange(0x644b, 0x644b), - CodeunitRange(0x644d, 0x644e), - CodeunitRange(0x6450, 0x6454), - CodeunitRange(0x6458, 0x6461), - CodeunitRange(0x6465, 0x6469), - CodeunitRange(0x646b, 0x647d), - CodeunitRange(0x647f, 0x647f), - CodeunitRange(0x6482, 0x6482), - CodeunitRange(0x6485, 0x6485), - CodeunitRange(0x6487, 0x648d), - CodeunitRange(0x648f, 0x6493), - CodeunitRange(0x6495, 0x649a), - CodeunitRange(0x649c, 0x64a0), - CodeunitRange(0x64a2, 0x64a6), - CodeunitRange(0x64a9, 0x64a9), - CodeunitRange(0x64ab, 0x64b4), - CodeunitRange(0x64b6, 0x64b6), - CodeunitRange(0x64bb, 0x64c5), - CodeunitRange(0x64c7, 0x64c7), - CodeunitRange(0x64c9, 0x64cb), - CodeunitRange(0x64cd, 0x64d0), - CodeunitRange(0x64d2, 0x64d4), - CodeunitRange(0x64d6, 0x64db), - CodeunitRange(0x64dd, 0x64dd), - CodeunitRange(0x64e0, 0x64ed), - CodeunitRange(0x64ef, 0x64f4), - CodeunitRange(0x64f7, 0x64f8), - CodeunitRange(0x64fa, 0x6501), - CodeunitRange(0x6503, 0x6504), - CodeunitRange(0x6506, 0x6507), - CodeunitRange(0x6509, 0x650a), - CodeunitRange(0x650c, 0x6511), - CodeunitRange(0x6513, 0x6519), - CodeunitRange(0x651b, 0x6526), - CodeunitRange(0x6529, 0x6530), - CodeunitRange(0x6532, 0x6539), - CodeunitRange(0x653b, 0x653b), - CodeunitRange(0x653d, 0x653f), - CodeunitRange(0x6541, 0x6541), - CodeunitRange(0x6543, 0x6543), - CodeunitRange(0x6545, 0x6546), - CodeunitRange(0x6548, 0x654a), - CodeunitRange(0x654d, 0x654d), - CodeunitRange(0x654f, 0x654f), - CodeunitRange(0x6551, 0x6551), - CodeunitRange(0x6553, 0x655a), - CodeunitRange(0x655c, 0x655f), - CodeunitRange(0x6562, 0x6568), - CodeunitRange(0x656a, 0x656d), - CodeunitRange(0x656f, 0x656f), - CodeunitRange(0x6572, 0x657c), - CodeunitRange(0x657f, 0x6589), - CodeunitRange(0x658b, 0x658c), - CodeunitRange(0x6590, 0x6592), - CodeunitRange(0x6594, 0x6597), - CodeunitRange(0x6599, 0x6599), - CodeunitRange(0x659b, 0x65a2), - CodeunitRange(0x65a4, 0x65a5), - CodeunitRange(0x65a7, 0x65a8), - CodeunitRange(0x65aa, 0x65ac), - CodeunitRange(0x65ae, 0x65b0), - CodeunitRange(0x65b2, 0x65b3), - CodeunitRange(0x65b5, 0x65b9), - CodeunitRange(0x65bb, 0x65bf), - CodeunitRange(0x65c1, 0x65c6), - CodeunitRange(0x65cb, 0x65d4), - CodeunitRange(0x65d6, 0x65d7), - CodeunitRange(0x65da, 0x65db), - CodeunitRange(0x65dd, 0x65e3), - CodeunitRange(0x65e5, 0x65e6), - CodeunitRange(0x65e8, 0x65e9), - CodeunitRange(0x65ec, 0x65f5), - CodeunitRange(0x65fa, 0x65fd), - CodeunitRange(0x65ff, 0x6600), - CodeunitRange(0x6602, 0x6615), - CodeunitRange(0x6618, 0x6618), - CodeunitRange(0x661c, 0x6628), - CodeunitRange(0x662b, 0x662b), - CodeunitRange(0x662d, 0x6636), - CodeunitRange(0x6639, 0x663a), - CodeunitRange(0x6641, 0x6645), - CodeunitRange(0x6647, 0x664d), - CodeunitRange(0x664f, 0x664f), - CodeunitRange(0x6651, 0x6653), - CodeunitRange(0x6657, 0x6657), - CodeunitRange(0x6659, 0x6668), - CodeunitRange(0x666a, 0x666c), - CodeunitRange(0x666e, 0x6674), - CodeunitRange(0x6676, 0x667e), - CodeunitRange(0x6680, 0x6680), - CodeunitRange(0x6684, 0x668e), - CodeunitRange(0x6690, 0x6692), - CodeunitRange(0x6694, 0x669a), - CodeunitRange(0x669d, 0x669d), - CodeunitRange(0x669f, 0x66a2), - CodeunitRange(0x66a4, 0x66a4), - CodeunitRange(0x66a8, 0x66ab), - CodeunitRange(0x66ad, 0x66bb), - CodeunitRange(0x66bd, 0x66c0), - CodeunitRange(0x66c4, 0x66c4), - CodeunitRange(0x66c6, 0x66cf), - CodeunitRange(0x66d2, 0x66d2), - CodeunitRange(0x66d6, 0x66d6), - CodeunitRange(0x66d8, 0x66de), - CodeunitRange(0x66e0, 0x66e0), - CodeunitRange(0x66e3, 0x66e4), - CodeunitRange(0x66e6, 0x66e9), - CodeunitRange(0x66eb, 0x66ee), - CodeunitRange(0x66f0, 0x66f4), - CodeunitRange(0x66f6, 0x66f9), - CodeunitRange(0x66fc, 0x66fc), - CodeunitRange(0x66fe, 0x6705), - CodeunitRange(0x6708, 0x6710), - CodeunitRange(0x6712, 0x6719), - CodeunitRange(0x671b, 0x671b), - CodeunitRange(0x671d, 0x6723), - CodeunitRange(0x6725, 0x6728), - CodeunitRange(0x672a, 0x672e), - CodeunitRange(0x6731, 0x6731), - CodeunitRange(0x6733, 0x6736), - CodeunitRange(0x6738, 0x673f), - CodeunitRange(0x6744, 0x6749), - CodeunitRange(0x674b, 0x6751), - CodeunitRange(0x6753, 0x6753), - CodeunitRange(0x6755, 0x6757), - CodeunitRange(0x6759, 0x675a), - CodeunitRange(0x675c, 0x6762), - CodeunitRange(0x6767, 0x6767), - CodeunitRange(0x676a, 0x677f), - CodeunitRange(0x6781, 0x6787), - CodeunitRange(0x6789, 0x6789), - CodeunitRange(0x678b, 0x6795), - CodeunitRange(0x6797, 0x679a), - CodeunitRange(0x679c, 0x679d), - CodeunitRange(0x679f, 0x67a0), - CodeunitRange(0x67a4, 0x67a4), - CodeunitRange(0x67ac, 0x67ac), - CodeunitRange(0x67ae, 0x67bb), - CodeunitRange(0x67bf, 0x67c6), - CodeunitRange(0x67c8, 0x67d4), - CodeunitRange(0x67d6, 0x67df), - CodeunitRange(0x67e2, 0x67e7), - CodeunitRange(0x67e9, 0x67fa), - CodeunitRange(0x67fc, 0x67fc), - CodeunitRange(0x67fe, 0x6804), - CodeunitRange(0x680d, 0x680d), - CodeunitRange(0x6810, 0x6810), - CodeunitRange(0x6812, 0x6814), - CodeunitRange(0x6816, 0x6818), - CodeunitRange(0x681a, 0x6822), - CodeunitRange(0x6825, 0x6826), - CodeunitRange(0x6828, 0x682b), - CodeunitRange(0x682d, 0x682f), - CodeunitRange(0x6831, 0x683e), - CodeunitRange(0x6840, 0x6851), - CodeunitRange(0x6853, 0x6856), - CodeunitRange(0x685d, 0x685d), - CodeunitRange(0x6865, 0x6865), - CodeunitRange(0x686b, 0x686b), - CodeunitRange(0x686d, 0x686f), - CodeunitRange(0x6871, 0x6872), - CodeunitRange(0x6874, 0x6879), - CodeunitRange(0x687b, 0x688c), - CodeunitRange(0x688f, 0x6894), - CodeunitRange(0x6896, 0x6898), - CodeunitRange(0x689b, 0x689d), - CodeunitRange(0x689f, 0x68a4), - CodeunitRange(0x68a6, 0x68b6), - CodeunitRange(0x68b9, 0x68b9), - CodeunitRange(0x68bd, 0x68bd), - CodeunitRange(0x68c1, 0x68c1), - CodeunitRange(0x68c3, 0x68ce), - CodeunitRange(0x68d0, 0x68d8), - CodeunitRange(0x68da, 0x68da), - CodeunitRange(0x68dc, 0x68e1), - CodeunitRange(0x68e3, 0x68e4), - CodeunitRange(0x68e6, 0x68ec), - CodeunitRange(0x68ee, 0x68fd), - CodeunitRange(0x6900, 0x6915), - CodeunitRange(0x6917, 0x691b), - CodeunitRange(0x6925, 0x6925), - CodeunitRange(0x692a, 0x692a), - CodeunitRange(0x692c, 0x692c), - CodeunitRange(0x692f, 0x6930), - CodeunitRange(0x6932, 0x6939), - CodeunitRange(0x693b, 0x6946), - CodeunitRange(0x6948, 0x694c), - CodeunitRange(0x694e, 0x694f), - CodeunitRange(0x6951, 0x697b), - CodeunitRange(0x6980, 0x6980), - CodeunitRange(0x6982, 0x6983), - CodeunitRange(0x6985, 0x6986), - CodeunitRange(0x698a, 0x698a), - CodeunitRange(0x698d, 0x698e), - CodeunitRange(0x6990, 0x6991), - CodeunitRange(0x6993, 0x699c), - CodeunitRange(0x699e, 0x69b7), - CodeunitRange(0x69b9, 0x69b9), - CodeunitRange(0x69bb, 0x69c4), - CodeunitRange(0x69c6, 0x69c6), - CodeunitRange(0x69c9, 0x69d1), - CodeunitRange(0x69d3, 0x69d6), - CodeunitRange(0x69d9, 0x69d9), - CodeunitRange(0x69e1, 0x69e2), - CodeunitRange(0x69e4, 0x69e9), - CodeunitRange(0x69eb, 0x69ee), - CodeunitRange(0x69f1, 0x69f4), - CodeunitRange(0x69f6, 0x6a0d), - CodeunitRange(0x6a0f, 0x6a0f), - CodeunitRange(0x6a11, 0x6a11), - CodeunitRange(0x6a13, 0x6a21), - CodeunitRange(0x6a23, 0x6a23), - CodeunitRange(0x6a25, 0x6a29), - CodeunitRange(0x6a2b, 0x6a2d), - CodeunitRange(0x6a32, 0x6a35), - CodeunitRange(0x6a38, 0x6a41), - CodeunitRange(0x6a43, 0x6a49), - CodeunitRange(0x6a4b, 0x6a5b), - CodeunitRange(0x6a5d, 0x6a6b), - CodeunitRange(0x6a6d, 0x6a6d), - CodeunitRange(0x6a6f, 0x6a6f), - CodeunitRange(0x6a71, 0x6a71), - CodeunitRange(0x6a74, 0x6a74), - CodeunitRange(0x6a76, 0x6a76), - CodeunitRange(0x6a7a, 0x6a7a), - CodeunitRange(0x6a7e, 0x6a85), - CodeunitRange(0x6a87, 0x6a87), - CodeunitRange(0x6a89, 0x6a8a), - CodeunitRange(0x6a8c, 0x6a97), - CodeunitRange(0x6a99, 0x6aa8), - CodeunitRange(0x6aab, 0x6aaf), - CodeunitRange(0x6ab1, 0x6abb), - CodeunitRange(0x6abd, 0x6abe), - CodeunitRange(0x6ac2, 0x6ac3), - CodeunitRange(0x6ac5, 0x6acd), - CodeunitRange(0x6acf, 0x6ad1), - CodeunitRange(0x6ad3, 0x6ad4), - CodeunitRange(0x6ad8, 0x6ae1), - CodeunitRange(0x6ae5, 0x6ae5), - CodeunitRange(0x6ae7, 0x6ae8), - CodeunitRange(0x6aea, 0x6aec), - CodeunitRange(0x6aee, 0x6af1), - CodeunitRange(0x6af3, 0x6af3), - CodeunitRange(0x6af6, 0x6af6), - CodeunitRange(0x6af8, 0x6afc), - CodeunitRange(0x6b00, 0x6b00), - CodeunitRange(0x6b02, 0x6b05), - CodeunitRange(0x6b08, 0x6b0b), - CodeunitRange(0x6b0f, 0x6b13), - CodeunitRange(0x6b16, 0x6b1a), - CodeunitRange(0x6b1d, 0x6b1e), - CodeunitRange(0x6b20, 0x6b21), - CodeunitRange(0x6b23, 0x6b23), - CodeunitRange(0x6b25, 0x6b25), - CodeunitRange(0x6b28, 0x6b28), - CodeunitRange(0x6b2c, 0x6b2d), - CodeunitRange(0x6b2f, 0x6b2f), - CodeunitRange(0x6b31, 0x6b3f), - CodeunitRange(0x6b41, 0x6b43), - CodeunitRange(0x6b45, 0x6b4e), - CodeunitRange(0x6b50, 0x6b52), - CodeunitRange(0x6b54, 0x6b57), - CodeunitRange(0x6b59, 0x6b59), - CodeunitRange(0x6b5b, 0x6b5c), - CodeunitRange(0x6b5e, 0x6b67), - CodeunitRange(0x6b6a, 0x6b6a), - CodeunitRange(0x6b6d, 0x6b6d), - CodeunitRange(0x6b6f, 0x6b6f), - CodeunitRange(0x6b72, 0x6b72), - CodeunitRange(0x6b74, 0x6b74), - CodeunitRange(0x6b76, 0x6b7b), - CodeunitRange(0x6b7e, 0x6b84), - CodeunitRange(0x6b86, 0x6b86), - CodeunitRange(0x6b88, 0x6b8a), - CodeunitRange(0x6b8c, 0x6b8f), - CodeunitRange(0x6b91, 0x6b91), - CodeunitRange(0x6b94, 0x6b99), - CodeunitRange(0x6b9b, 0x6b9b), - CodeunitRange(0x6b9e, 0x6ba0), - CodeunitRange(0x6ba2, 0x6ba7), - CodeunitRange(0x6baa, 0x6bab), - CodeunitRange(0x6bad, 0x6bb0), - CodeunitRange(0x6bb2, 0x6bb3), - CodeunitRange(0x6bb5, 0x6bb7), - CodeunitRange(0x6bba, 0x6bba), - CodeunitRange(0x6bbc, 0x6bbd), - CodeunitRange(0x6bbf, 0x6bc1), - CodeunitRange(0x6bc3, 0x6bcd), - CodeunitRange(0x6bcf, 0x6bd0), - CodeunitRange(0x6bd2, 0x6bd4), - CodeunitRange(0x6bd6, 0x6bd8), - CodeunitRange(0x6bda, 0x6bdc), - CodeunitRange(0x6bde, 0x6bde), - CodeunitRange(0x6be0, 0x6be4), - CodeunitRange(0x6be6, 0x6be8), - CodeunitRange(0x6bea, 0x6bec), - CodeunitRange(0x6bef, 0x6bf0), - CodeunitRange(0x6bf2, 0x6bf3), - CodeunitRange(0x6bf7, 0x6c06), - CodeunitRange(0x6c08, 0x6c09), - CodeunitRange(0x6c0b, 0x6c0d), - CodeunitRange(0x6c0f, 0x6c11), - CodeunitRange(0x6c13, 0x6c16), - CodeunitRange(0x6c18, 0x6c1d), - CodeunitRange(0x6c1f, 0x6c21), - CodeunitRange(0x6c23, 0x6c28), - CodeunitRange(0x6c2a, 0x6c2c), - CodeunitRange(0x6c2e, 0x6c3b), - CodeunitRange(0x6c3d, 0x6c43), - CodeunitRange(0x6c46, 0x6c46), - CodeunitRange(0x6c49, 0x6c50), - CodeunitRange(0x6c52, 0x6c52), - CodeunitRange(0x6c54, 0x6c55), - CodeunitRange(0x6c57, 0x6c61), - CodeunitRange(0x6c65, 0x6c6b), - CodeunitRange(0x6c6d, 0x6c76), - CodeunitRange(0x6c78, 0x6c7b), - CodeunitRange(0x6c7d, 0x6c90), - CodeunitRange(0x6c92, 0x6c96), - CodeunitRange(0x6c98, 0x6c9d), - CodeunitRange(0x6c9f, 0x6c9f), - CodeunitRange(0x6ca2, 0x6ca2), - CodeunitRange(0x6caa, 0x6cb4), - CodeunitRange(0x6cb6, 0x6cc7), - CodeunitRange(0x6cc9, 0x6cd7), - CodeunitRange(0x6cd9, 0x6ce3), - CodeunitRange(0x6ce5, 0x6ce5), - CodeunitRange(0x6ce7, 0x6cf3), - CodeunitRange(0x6cf5, 0x6cf5), - CodeunitRange(0x6cf9, 0x6cf9), - CodeunitRange(0x6cff, 0x6d12), - CodeunitRange(0x6d16, 0x6d1b), - CodeunitRange(0x6d1d, 0x6d20), - CodeunitRange(0x6d22, 0x6d22), - CodeunitRange(0x6d24, 0x6d42), - CodeunitRange(0x6d4e, 0x6d4e), - CodeunitRange(0x6d57, 0x6d5c), - CodeunitRange(0x6d5e, 0x6d6a), - CodeunitRange(0x6d6c, 0x6d72), - CodeunitRange(0x6d74, 0x6d98), - CodeunitRange(0x6d9a, 0x6d9a), - CodeunitRange(0x6da4, 0x6da5), - CodeunitRange(0x6daa, 0x6dac), - CodeunitRange(0x6dae, 0x6daf), - CodeunitRange(0x6db1, 0x6db5), - CodeunitRange(0x6db7, 0x6dc0), - CodeunitRange(0x6dc2, 0x6dc2), - CodeunitRange(0x6dc4, 0x6dcd), - CodeunitRange(0x6dcf, 0x6de6), - CodeunitRange(0x6de8, 0x6df7), - CodeunitRange(0x6df9, 0x6dfe), - CodeunitRange(0x6e00, 0x6e00), - CodeunitRange(0x6e02, 0x6e05), - CodeunitRange(0x6e0a, 0x6e0a), - CodeunitRange(0x6e0f, 0x6e0f), - CodeunitRange(0x6e15, 0x6e15), - CodeunitRange(0x6e18, 0x6e1d), - CodeunitRange(0x6e1f, 0x6e36), - CodeunitRange(0x6e38, 0x6e41), - CodeunitRange(0x6e43, 0x6e47), - CodeunitRange(0x6e49, 0x6e4b), - CodeunitRange(0x6e4d, 0x6e69), - CodeunitRange(0x6e6b, 0x6e6b), - CodeunitRange(0x6e6e, 0x6e6f), - CodeunitRange(0x6e71, 0x6e74), - CodeunitRange(0x6e76, 0x6e79), - CodeunitRange(0x6e7c, 0x6e7c), - CodeunitRange(0x6e86, 0x6e86), - CodeunitRange(0x6e88, 0x6e89), - CodeunitRange(0x6e8b, 0x6e8b), - CodeunitRange(0x6e8d, 0x6e90), - CodeunitRange(0x6e92, 0x6e94), - CodeunitRange(0x6e96, 0x6ea7), - CodeunitRange(0x6eaa, 0x6eab), - CodeunitRange(0x6eae, 0x6ed6), - CodeunitRange(0x6ed8, 0x6edd), - CodeunitRange(0x6ee2, 0x6ee2), - CodeunitRange(0x6ee8, 0x6ee9), - CodeunitRange(0x6eeb, 0x6eef), - CodeunitRange(0x6ef1, 0x6ef2), - CodeunitRange(0x6ef4, 0x6f0f), - CodeunitRange(0x6f12, 0x6f1a), - CodeunitRange(0x6f1c, 0x6f1c), - CodeunitRange(0x6f1e, 0x6f27), - CodeunitRange(0x6f29, 0x6f41), - CodeunitRange(0x6f43, 0x6f44), - CodeunitRange(0x6f4e, 0x6f58), - CodeunitRange(0x6f5a, 0x6f64), - CodeunitRange(0x6f66, 0x6f67), - CodeunitRange(0x6f69, 0x6f70), - CodeunitRange(0x6f72, 0x6f74), - CodeunitRange(0x6f76, 0x6f82), - CodeunitRange(0x6f84, 0x6f8e), - CodeunitRange(0x6f90, 0x6f90), - CodeunitRange(0x6f92, 0x6f97), - CodeunitRange(0x6f9d, 0x6fb6), - CodeunitRange(0x6fb8, 0x6fc4), - CodeunitRange(0x6fc6, 0x6fcf), - CodeunitRange(0x6fd3, 0x6fd5), - CodeunitRange(0x6fd8, 0x6fe4), - CodeunitRange(0x6fe6, 0x6fe9), - CodeunitRange(0x6feb, 0x6ff2), - CodeunitRange(0x6ff4, 0x6ff4), - CodeunitRange(0x6ff6, 0x6ff8), - CodeunitRange(0x6ffa, 0x6ffc), - CodeunitRange(0x6ffe, 0x7001), - CodeunitRange(0x7003, 0x7007), - CodeunitRange(0x7009, 0x700f), - CodeunitRange(0x7011, 0x7011), - CodeunitRange(0x7014, 0x7024), - CodeunitRange(0x7026, 0x702c), - CodeunitRange(0x702f, 0x7035), - CodeunitRange(0x7037, 0x703c), - CodeunitRange(0x703e, 0x7046), - CodeunitRange(0x7048, 0x704d), - CodeunitRange(0x7050, 0x7052), - CodeunitRange(0x7054, 0x7058), - CodeunitRange(0x705a, 0x706c), - CodeunitRange(0x706e, 0x7071), - CodeunitRange(0x7074, 0x707a), - CodeunitRange(0x707c, 0x707f), - CodeunitRange(0x7081, 0x7086), - CodeunitRange(0x7089, 0x708b), - CodeunitRange(0x708e, 0x708f), - CodeunitRange(0x7091, 0x7096), - CodeunitRange(0x7098, 0x709a), - CodeunitRange(0x709f, 0x70a1), - CodeunitRange(0x70a3, 0x70a7), - CodeunitRange(0x70a9, 0x70a9), - CodeunitRange(0x70ab, 0x70b1), - CodeunitRange(0x70b3, 0x70b5), - CodeunitRange(0x70b7, 0x70be), - CodeunitRange(0x70c0, 0x70c0), - CodeunitRange(0x70c4, 0x70c8), - CodeunitRange(0x70ca, 0x70da), - CodeunitRange(0x70dc, 0x70e2), - CodeunitRange(0x70e4, 0x70e4), - CodeunitRange(0x70ef, 0x70f1), - CodeunitRange(0x70f3, 0x7100), - CodeunitRange(0x7102, 0x7102), - CodeunitRange(0x7104, 0x7106), - CodeunitRange(0x7109, 0x710e), - CodeunitRange(0x7110, 0x7110), - CodeunitRange(0x7113, 0x7113), - CodeunitRange(0x7117, 0x7117), - CodeunitRange(0x7119, 0x7123), - CodeunitRange(0x7125, 0x7126), - CodeunitRange(0x7128, 0x7129), - CodeunitRange(0x712b, 0x712c), - CodeunitRange(0x712e, 0x7136), - CodeunitRange(0x713a, 0x713b), - CodeunitRange(0x713e, 0x713e), - CodeunitRange(0x7140, 0x7147), - CodeunitRange(0x7149, 0x7154), - CodeunitRange(0x7156, 0x715a), - CodeunitRange(0x715c, 0x716c), - CodeunitRange(0x716e, 0x716e), - CodeunitRange(0x7170, 0x7178), - CodeunitRange(0x717a, 0x717e), - CodeunitRange(0x7180, 0x7182), - CodeunitRange(0x7184, 0x718a), - CodeunitRange(0x718c, 0x718c), - CodeunitRange(0x718e, 0x7192), - CodeunitRange(0x7194, 0x7194), - CodeunitRange(0x7196, 0x71a5), - CodeunitRange(0x71a7, 0x71aa), - CodeunitRange(0x71ac, 0x71ad), - CodeunitRange(0x71af, 0x71b5), - CodeunitRange(0x71b7, 0x71ba), - CodeunitRange(0x71bc, 0x71cb), - CodeunitRange(0x71ce, 0x71d2), - CodeunitRange(0x71d4, 0x71d6), - CodeunitRange(0x71d8, 0x71dd), - CodeunitRange(0x71df, 0x71e2), - CodeunitRange(0x71e4, 0x71e8), - CodeunitRange(0x71eb, 0x71ee), - CodeunitRange(0x71f0, 0x71f2), - CodeunitRange(0x71f4, 0x71f6), - CodeunitRange(0x71f8, 0x71f9), - CodeunitRange(0x71fb, 0x7203), - CodeunitRange(0x7205, 0x7207), - CodeunitRange(0x7209, 0x720a), - CodeunitRange(0x720c, 0x7210), - CodeunitRange(0x7213, 0x7217), - CodeunitRange(0x7219, 0x721b), - CodeunitRange(0x721d, 0x721f), - CodeunitRange(0x7222, 0x722e), - CodeunitRange(0x7230, 0x7230), - CodeunitRange(0x7235, 0x7236), - CodeunitRange(0x7238, 0x723b), - CodeunitRange(0x723d, 0x7242), - CodeunitRange(0x7244, 0x7244), - CodeunitRange(0x7246, 0x724c), - CodeunitRange(0x724f, 0x7250), - CodeunitRange(0x7252, 0x7253), - CodeunitRange(0x7255, 0x7263), - CodeunitRange(0x7266, 0x7267), - CodeunitRange(0x7269, 0x726a), - CodeunitRange(0x726c, 0x726c), - CodeunitRange(0x726e, 0x7270), - CodeunitRange(0x7272, 0x7274), - CodeunitRange(0x7276, 0x7279), - CodeunitRange(0x727b, 0x7282), - CodeunitRange(0x7284, 0x7289), - CodeunitRange(0x728b, 0x7298), - CodeunitRange(0x729a, 0x729b), - CodeunitRange(0x729d, 0x729f), - CodeunitRange(0x72a1, 0x72aa), - CodeunitRange(0x72ac, 0x72b0), - CodeunitRange(0x72b2, 0x72b2), - CodeunitRange(0x72b4, 0x72b5), - CodeunitRange(0x72ba, 0x72ba), - CodeunitRange(0x72bd, 0x72bd), - CodeunitRange(0x72bf, 0x72c6), - CodeunitRange(0x72c9, 0x72ce), - CodeunitRange(0x72d0, 0x72d2), - CodeunitRange(0x72d4, 0x72d4), - CodeunitRange(0x72d6, 0x72da), - CodeunitRange(0x72dc, 0x72dc), - CodeunitRange(0x72df, 0x72e4), - CodeunitRange(0x72e6, 0x72e6), - CodeunitRange(0x72e8, 0x72eb), - CodeunitRange(0x72f3, 0x72f4), - CodeunitRange(0x72f6, 0x7302), - CodeunitRange(0x7304, 0x7304), - CodeunitRange(0x7307, 0x7308), - CodeunitRange(0x730a, 0x730c), - CodeunitRange(0x730f, 0x7313), - CodeunitRange(0x7316, 0x7319), - CodeunitRange(0x731b, 0x731e), - CodeunitRange(0x7322, 0x7323), - CodeunitRange(0x7325, 0x732e), - CodeunitRange(0x7330, 0x733c), - CodeunitRange(0x733e, 0x7345), - CodeunitRange(0x7348, 0x734a), - CodeunitRange(0x734c, 0x7352), - CodeunitRange(0x7357, 0x735b), - CodeunitRange(0x735d, 0x7362), - CodeunitRange(0x7365, 0x736c), - CodeunitRange(0x736e, 0x7378), - CodeunitRange(0x737a, 0x738c), - CodeunitRange(0x738e, 0x738f), - CodeunitRange(0x7392, 0x7398), - CodeunitRange(0x739c, 0x73a2), - CodeunitRange(0x73a4, 0x73ad), - CodeunitRange(0x73b2, 0x73bc), - CodeunitRange(0x73be, 0x73c0), - CodeunitRange(0x73c2, 0x73d0), - CodeunitRange(0x73d2, 0x73de), - CodeunitRange(0x73e0, 0x73eb), - CodeunitRange(0x73ed, 0x73ef), - CodeunitRange(0x73f3, 0x740d), - CodeunitRange(0x7411, 0x7412), - CodeunitRange(0x7414, 0x7417), - CodeunitRange(0x7419, 0x7426), - CodeunitRange(0x7428, 0x743a), - CodeunitRange(0x743c, 0x743c), - CodeunitRange(0x743f, 0x7457), - CodeunitRange(0x7459, 0x7465), - CodeunitRange(0x7467, 0x7476), - CodeunitRange(0x7479, 0x747a), - CodeunitRange(0x747c, 0x7483), - CodeunitRange(0x7485, 0x748d), - CodeunitRange(0x7490, 0x7490), - CodeunitRange(0x7492, 0x7492), - CodeunitRange(0x7494, 0x7495), - CodeunitRange(0x7497, 0x74a1), - CodeunitRange(0x74a3, 0x74ab), - CodeunitRange(0x74ad, 0x74ad), - CodeunitRange(0x74af, 0x74b2), - CodeunitRange(0x74b4, 0x74bb), - CodeunitRange(0x74bd, 0x74c3), - CodeunitRange(0x74c5, 0x74c6), - CodeunitRange(0x74c8, 0x74c8), - CodeunitRange(0x74ca, 0x74cc), - CodeunitRange(0x74cf, 0x74d0), - CodeunitRange(0x74d3, 0x74e9), - CodeunitRange(0x74ec, 0x74ec), - CodeunitRange(0x74ee, 0x74ee), - CodeunitRange(0x74f0, 0x74f2), - CodeunitRange(0x74f4, 0x74f8), - CodeunitRange(0x74fb, 0x74fb), - CodeunitRange(0x74fd, 0x7500), - CodeunitRange(0x7502, 0x7505), - CodeunitRange(0x7507, 0x7508), - CodeunitRange(0x750b, 0x751a), - CodeunitRange(0x751c, 0x751f), - CodeunitRange(0x7521, 0x7522), - CodeunitRange(0x7525, 0x7526), - CodeunitRange(0x7528, 0x7535), - CodeunitRange(0x7537, 0x753b), - CodeunitRange(0x753d, 0x7540), - CodeunitRange(0x7542, 0x7542), - CodeunitRange(0x7546, 0x7548), - CodeunitRange(0x754a, 0x754f), - CodeunitRange(0x7551, 0x7551), - CodeunitRange(0x7553, 0x7555), - CodeunitRange(0x7559, 0x755d), - CodeunitRange(0x755f, 0x7560), - CodeunitRange(0x7562, 0x7567), - CodeunitRange(0x756a, 0x7570), - CodeunitRange(0x7572, 0x7572), - CodeunitRange(0x7576, 0x757a), - CodeunitRange(0x757d, 0x7580), - CodeunitRange(0x7583, 0x7584), - CodeunitRange(0x7586, 0x7587), - CodeunitRange(0x758a, 0x7592), - CodeunitRange(0x7594, 0x7595), - CodeunitRange(0x7598, 0x759a), - CodeunitRange(0x759d, 0x759e), - CodeunitRange(0x75a2, 0x75a5), - CodeunitRange(0x75a7, 0x75a7), - CodeunitRange(0x75aa, 0x75ab), - CodeunitRange(0x75b0, 0x75b6), - CodeunitRange(0x75b8, 0x75c5), - CodeunitRange(0x75c7, 0x75c8), - CodeunitRange(0x75ca, 0x75d2), - CodeunitRange(0x75d4, 0x75d5), - CodeunitRange(0x75d7, 0x75e4), - CodeunitRange(0x75e6, 0x75e7), - CodeunitRange(0x75ed, 0x75ed), - CodeunitRange(0x75ef, 0x7603), - CodeunitRange(0x7607, 0x760d), - CodeunitRange(0x760f, 0x7611), - CodeunitRange(0x7613, 0x7616), - CodeunitRange(0x7619, 0x7629), - CodeunitRange(0x762c, 0x762d), - CodeunitRange(0x762f, 0x7635), - CodeunitRange(0x7638, 0x7638), - CodeunitRange(0x763a, 0x763d), - CodeunitRange(0x7640, 0x7640), - CodeunitRange(0x7642, 0x7643), - CodeunitRange(0x7646, 0x7649), - CodeunitRange(0x764c, 0x7654), - CodeunitRange(0x7656, 0x765a), - CodeunitRange(0x765c, 0x765c), - CodeunitRange(0x765f, 0x7662), - CodeunitRange(0x7664, 0x7667), - CodeunitRange(0x7669, 0x766a), - CodeunitRange(0x766c, 0x7676), - CodeunitRange(0x7678, 0x767f), - CodeunitRange(0x7681, 0x7682), - CodeunitRange(0x7684, 0x7684), - CodeunitRange(0x7686, 0x768b), - CodeunitRange(0x768e, 0x7690), - CodeunitRange(0x7692, 0x7693), - CodeunitRange(0x7695, 0x7696), - CodeunitRange(0x7699, 0x769e), - CodeunitRange(0x76a1, 0x76a1), - CodeunitRange(0x76a4, 0x76a6), - CodeunitRange(0x76aa, 0x76ab), - CodeunitRange(0x76ad, 0x76b0), - CodeunitRange(0x76b4, 0x76b5), - CodeunitRange(0x76b7, 0x76b8), - CodeunitRange(0x76ba, 0x76bb), - CodeunitRange(0x76bd, 0x76bf), - CodeunitRange(0x76c2, 0x76c6), - CodeunitRange(0x76c8, 0x76ca), - CodeunitRange(0x76cc, 0x76ce), - CodeunitRange(0x76d2, 0x76d4), - CodeunitRange(0x76d6, 0x76d6), - CodeunitRange(0x76d9, 0x76df), - CodeunitRange(0x76e1, 0x76e1), - CodeunitRange(0x76e3, 0x76e7), - CodeunitRange(0x76e9, 0x76ea), - CodeunitRange(0x76ec, 0x76f5), - CodeunitRange(0x76f7, 0x76fc), - CodeunitRange(0x76fe, 0x76fe), - CodeunitRange(0x7701, 0x7701), - CodeunitRange(0x7703, 0x7705), - CodeunitRange(0x7707, 0x770c), - CodeunitRange(0x770e, 0x7713), - CodeunitRange(0x7715, 0x7715), - CodeunitRange(0x7719, 0x771b), - CodeunitRange(0x771d, 0x7720), - CodeunitRange(0x7722, 0x7729), - CodeunitRange(0x772b, 0x772b), - CodeunitRange(0x772d, 0x772d), - CodeunitRange(0x772f, 0x772f), - CodeunitRange(0x7731, 0x773e), - CodeunitRange(0x7740, 0x7740), - CodeunitRange(0x7743, 0x7747), - CodeunitRange(0x774a, 0x774f), - CodeunitRange(0x7752, 0x7752), - CodeunitRange(0x7754, 0x7756), - CodeunitRange(0x7758, 0x775c), - CodeunitRange(0x775e, 0x7763), - CodeunitRange(0x7765, 0x776f), - CodeunitRange(0x7772, 0x7772), - CodeunitRange(0x7777, 0x7785), - CodeunitRange(0x7787, 0x7789), - CodeunitRange(0x778b, 0x778f), - CodeunitRange(0x7791, 0x7791), - CodeunitRange(0x7793, 0x7793), - CodeunitRange(0x7795, 0x7795), - CodeunitRange(0x7797, 0x77a3), - CodeunitRange(0x77a5, 0x77a5), - CodeunitRange(0x77a7, 0x77a8), - CodeunitRange(0x77aa, 0x77ad), - CodeunitRange(0x77af, 0x77b7), - CodeunitRange(0x77b9, 0x77bf), - CodeunitRange(0x77c2, 0x77c5), - CodeunitRange(0x77c7, 0x77c7), - CodeunitRange(0x77c9, 0x77d0), - CodeunitRange(0x77d3, 0x77d5), - CodeunitRange(0x77d7, 0x77de), - CodeunitRange(0x77e0, 0x77e0), - CodeunitRange(0x77e2, 0x77e3), - CodeunitRange(0x77e5, 0x77e9), - CodeunitRange(0x77ec, 0x77f4), - CodeunitRange(0x77f7, 0x77fe), - CodeunitRange(0x7802, 0x7803), - CodeunitRange(0x7805, 0x7806), - CodeunitRange(0x7808, 0x7809), - CodeunitRange(0x780c, 0x7814), - CodeunitRange(0x7818, 0x7818), - CodeunitRange(0x781c, 0x7823), - CodeunitRange(0x7825, 0x7835), - CodeunitRange(0x7837, 0x7839), - CodeunitRange(0x783c, 0x783d), - CodeunitRange(0x7842, 0x7845), - CodeunitRange(0x7847, 0x784e), - CodeunitRange(0x7850, 0x7854), - CodeunitRange(0x785c, 0x785e), - CodeunitRange(0x7860, 0x7860), - CodeunitRange(0x7862, 0x7862), - CodeunitRange(0x7864, 0x7866), - CodeunitRange(0x7868, 0x7871), - CodeunitRange(0x7879, 0x787c), - CodeunitRange(0x787e, 0x7881), - CodeunitRange(0x7883, 0x7889), - CodeunitRange(0x788c, 0x788f), - CodeunitRange(0x7891, 0x7891), - CodeunitRange(0x7893, 0x789a), - CodeunitRange(0x789e, 0x78a5), - CodeunitRange(0x78a7, 0x78ad), - CodeunitRange(0x78af, 0x78b4), - CodeunitRange(0x78b6, 0x78b6), - CodeunitRange(0x78b8, 0x78bc), - CodeunitRange(0x78be, 0x78be), - CodeunitRange(0x78c1, 0x78c1), - CodeunitRange(0x78c3, 0x78c5), - CodeunitRange(0x78c7, 0x78d5), - CodeunitRange(0x78d7, 0x78d8), - CodeunitRange(0x78da, 0x78db), - CodeunitRange(0x78dd, 0x78e5), - CodeunitRange(0x78e7, 0x78ea), - CodeunitRange(0x78ec, 0x78f5), - CodeunitRange(0x78f7, 0x78f7), - CodeunitRange(0x78f9, 0x78ff), - CodeunitRange(0x7901, 0x7902), - CodeunitRange(0x7904, 0x7906), - CodeunitRange(0x7909, 0x7909), - CodeunitRange(0x790c, 0x790c), - CodeunitRange(0x790e, 0x790e), - CodeunitRange(0x7910, 0x7914), - CodeunitRange(0x7917, 0x7917), - CodeunitRange(0x7919, 0x7919), - CodeunitRange(0x791b, 0x791e), - CodeunitRange(0x7921, 0x7921), - CodeunitRange(0x7923, 0x792f), - CodeunitRange(0x7931, 0x7936), - CodeunitRange(0x7938, 0x7942), - CodeunitRange(0x7944, 0x794c), - CodeunitRange(0x794f, 0x7965), - CodeunitRange(0x7967, 0x796b), - CodeunitRange(0x796d, 0x796d), - CodeunitRange(0x7970, 0x7974), - CodeunitRange(0x7979, 0x797a), - CodeunitRange(0x797c, 0x7983), - CodeunitRange(0x7986, 0x7988), - CodeunitRange(0x798a, 0x798b), - CodeunitRange(0x798d, 0x799d), - CodeunitRange(0x799f, 0x79a2), - CodeunitRange(0x79a4, 0x79ae), - CodeunitRange(0x79b0, 0x79b4), - CodeunitRange(0x79b6, 0x79bb), - CodeunitRange(0x79bd, 0x79c1), - CodeunitRange(0x79c4, 0x79c6), - CodeunitRange(0x79c8, 0x79d2), - CodeunitRange(0x79d4, 0x79d6), - CodeunitRange(0x79d8, 0x79d8), - CodeunitRange(0x79dc, 0x79e0), - CodeunitRange(0x79e2, 0x79e4), - CodeunitRange(0x79e6, 0x79e7), - CodeunitRange(0x79e9, 0x79ee), - CodeunitRange(0x79f1, 0x79f1), - CodeunitRange(0x79f4, 0x79f4), - CodeunitRange(0x79f6, 0x79f8), - CodeunitRange(0x79fa, 0x79fb), - CodeunitRange(0x7a00, 0x7a00), - CodeunitRange(0x7a02, 0x7a06), - CodeunitRange(0x7a08, 0x7a08), - CodeunitRange(0x7a0a, 0x7a0e), - CodeunitRange(0x7a10, 0x7a15), - CodeunitRange(0x7a17, 0x7a1c), - CodeunitRange(0x7a1e, 0x7a20), - CodeunitRange(0x7a22, 0x7a22), - CodeunitRange(0x7a26, 0x7a26), - CodeunitRange(0x7a28, 0x7a28), - CodeunitRange(0x7a2a, 0x7a32), - CodeunitRange(0x7a37, 0x7a37), - CodeunitRange(0x7a39, 0x7a40), - CodeunitRange(0x7a43, 0x7a4e), - CodeunitRange(0x7a54, 0x7a54), - CodeunitRange(0x7a56, 0x7a58), - CodeunitRange(0x7a5a, 0x7a5c), - CodeunitRange(0x7a5f, 0x7a62), - CodeunitRange(0x7a65, 0x7a65), - CodeunitRange(0x7a67, 0x7a69), - CodeunitRange(0x7a6b, 0x7a6e), - CodeunitRange(0x7a70, 0x7a72), - CodeunitRange(0x7a74, 0x7a76), - CodeunitRange(0x7a78, 0x7a7b), - CodeunitRange(0x7a7d, 0x7a81), - CodeunitRange(0x7a83, 0x7a8c), - CodeunitRange(0x7a8f, 0x7a99), - CodeunitRange(0x7a9e, 0x7aa0), - CodeunitRange(0x7aa2, 0x7aa3), - CodeunitRange(0x7aa8, 0x7aac), - CodeunitRange(0x7aae, 0x7ab8), - CodeunitRange(0x7aba, 0x7abc), - CodeunitRange(0x7abe, 0x7ac5), - CodeunitRange(0x7ac7, 0x7acb), - CodeunitRange(0x7acf, 0x7acf), - CodeunitRange(0x7ad1, 0x7ad1), - CodeunitRange(0x7ad3, 0x7ad3), - CodeunitRange(0x7ad8, 0x7add), - CodeunitRange(0x7adf, 0x7ae0), - CodeunitRange(0x7ae2, 0x7ae7), - CodeunitRange(0x7ae9, 0x7aeb), - CodeunitRange(0x7aed, 0x7aef), - CodeunitRange(0x7af6, 0x7af7), - CodeunitRange(0x7af9, 0x7b01), - CodeunitRange(0x7b04, 0x7b06), - CodeunitRange(0x7b08, 0x7b0c), - CodeunitRange(0x7b0e, 0x7b14), - CodeunitRange(0x7b18, 0x7b1b), - CodeunitRange(0x7b1d, 0x7b20), - CodeunitRange(0x7b22, 0x7b35), - CodeunitRange(0x7b38, 0x7b39), - CodeunitRange(0x7b3b, 0x7b3b), - CodeunitRange(0x7b40, 0x7b40), - CodeunitRange(0x7b42, 0x7b52), - CodeunitRange(0x7b54, 0x7b56), - CodeunitRange(0x7b58, 0x7b58), - CodeunitRange(0x7b60, 0x7b67), - CodeunitRange(0x7b69, 0x7b69), - CodeunitRange(0x7b6c, 0x7b78), - CodeunitRange(0x7b7b, 0x7b7b), - CodeunitRange(0x7b82, 0x7b82), - CodeunitRange(0x7b84, 0x7b85), - CodeunitRange(0x7b87, 0x7b88), - CodeunitRange(0x7b8a, 0x7b92), - CodeunitRange(0x7b94, 0x7b9d), - CodeunitRange(0x7ba0, 0x7ba4), - CodeunitRange(0x7bac, 0x7baf), - CodeunitRange(0x7bb1, 0x7bb2), - CodeunitRange(0x7bb4, 0x7bb5), - CodeunitRange(0x7bb7, 0x7bb9), - CodeunitRange(0x7bbe, 0x7bbe), - CodeunitRange(0x7bc0, 0x7bc1), - CodeunitRange(0x7bc4, 0x7bc7), - CodeunitRange(0x7bc9, 0x7bcc), - CodeunitRange(0x7bce, 0x7bd0), - CodeunitRange(0x7bd4, 0x7bd5), - CodeunitRange(0x7bd8, 0x7bec), - CodeunitRange(0x7bf0, 0x7bf4), - CodeunitRange(0x7bf7, 0x7c03), - CodeunitRange(0x7c05, 0x7c07), - CodeunitRange(0x7c09, 0x7c12), - CodeunitRange(0x7c15, 0x7c15), - CodeunitRange(0x7c19, 0x7c19), - CodeunitRange(0x7c1b, 0x7c23), - CodeunitRange(0x7c25, 0x7c2d), - CodeunitRange(0x7c30, 0x7c30), - CodeunitRange(0x7c33, 0x7c33), - CodeunitRange(0x7c35, 0x7c35), - CodeunitRange(0x7c37, 0x7c39), - CodeunitRange(0x7c3b, 0x7c40), - CodeunitRange(0x7c42, 0x7c45), - CodeunitRange(0x7c47, 0x7c4a), - CodeunitRange(0x7c4c, 0x7c4d), - CodeunitRange(0x7c50, 0x7c51), - CodeunitRange(0x7c53, 0x7c54), - CodeunitRange(0x7c56, 0x7c57), - CodeunitRange(0x7c59, 0x7c5d), - CodeunitRange(0x7c5f, 0x7c60), - CodeunitRange(0x7c63, 0x7c67), - CodeunitRange(0x7c69, 0x7c70), - CodeunitRange(0x7c72, 0x7c75), - CodeunitRange(0x7c78, 0x7c81), - CodeunitRange(0x7c83, 0x7c86), - CodeunitRange(0x7c88, 0x7c8a), - CodeunitRange(0x7c8c, 0x7c8e), - CodeunitRange(0x7c91, 0x7c92), - CodeunitRange(0x7c94, 0x7c98), - CodeunitRange(0x7c9c, 0x7c9c), - CodeunitRange(0x7c9e, 0x7c9f), - CodeunitRange(0x7ca1, 0x7ca3), - CodeunitRange(0x7ca5, 0x7ca8), - CodeunitRange(0x7cac, 0x7cac), - CodeunitRange(0x7cae, 0x7caf), - CodeunitRange(0x7cb1, 0x7cb5), - CodeunitRange(0x7cb8, 0x7cbf), - CodeunitRange(0x7cc2, 0x7cc3), - CodeunitRange(0x7cc5, 0x7cc5), - CodeunitRange(0x7cc7, 0x7cce), - CodeunitRange(0x7cd0, 0x7cd7), - CodeunitRange(0x7cd9, 0x7cda), - CodeunitRange(0x7cdc, 0x7ce0), - CodeunitRange(0x7ce2, 0x7ce2), - CodeunitRange(0x7ce6, 0x7ce8), - CodeunitRange(0x7cea, 0x7cea), - CodeunitRange(0x7cec, 0x7cf9), - CodeunitRange(0x7cfb, 0x7cfe), - CodeunitRange(0x7d00, 0x7d22), - CodeunitRange(0x7d25, 0x7d25), - CodeunitRange(0x7d28, 0x7d29), - CodeunitRange(0x7d2b, 0x7d2c), - CodeunitRange(0x7d2e, 0x7d33), - CodeunitRange(0x7d35, 0x7d36), - CodeunitRange(0x7d38, 0x7d47), - CodeunitRange(0x7d4a, 0x7d4a), - CodeunitRange(0x7d4d, 0x7d56), - CodeunitRange(0x7d58, 0x7d58), - CodeunitRange(0x7d5a, 0x7d5f), - CodeunitRange(0x7d61, 0x7d63), - CodeunitRange(0x7d66, 0x7d6b), - CodeunitRange(0x7d6d, 0x7d73), - CodeunitRange(0x7d79, 0x7d7d), - CodeunitRange(0x7d7f, 0x7d81), - CodeunitRange(0x7d83, 0x7d86), - CodeunitRange(0x7d88, 0x7d89), - CodeunitRange(0x7d8b, 0x7d8f), - CodeunitRange(0x7d91, 0x7d97), - CodeunitRange(0x7d9c, 0x7da4), - CodeunitRange(0x7da6, 0x7db5), - CodeunitRange(0x7db7, 0x7dc2), - CodeunitRange(0x7dc4, 0x7dc7), - CodeunitRange(0x7dc9, 0x7dd0), - CodeunitRange(0x7dd2, 0x7dd4), - CodeunitRange(0x7dd7, 0x7de1), - CodeunitRange(0x7de3, 0x7dea), - CodeunitRange(0x7dec, 0x7dec), - CodeunitRange(0x7dee, 0x7df7), - CodeunitRange(0x7df9, 0x7dfe), - CodeunitRange(0x7e03, 0x7e03), - CodeunitRange(0x7e07, 0x7e17), - CodeunitRange(0x7e1a, 0x7e25), - CodeunitRange(0x7e27, 0x7e27), - CodeunitRange(0x7e29, 0x7e2b), - CodeunitRange(0x7e2d, 0x7e49), - CodeunitRange(0x7e4c, 0x7e4c), - CodeunitRange(0x7e50, 0x7e5c), - CodeunitRange(0x7e5e, 0x7e63), - CodeunitRange(0x7e65, 0x7e65), - CodeunitRange(0x7e67, 0x7e70), - CodeunitRange(0x7e72, 0x7e82), - CodeunitRange(0x7e86, 0x7e88), - CodeunitRange(0x7e8a, 0x7e8f), - CodeunitRange(0x7e91, 0x7e9c), - CodeunitRange(0x7e9f, 0x7e9f), - CodeunitRange(0x7ea4, 0x7ea4), - CodeunitRange(0x7eac, 0x7eac), - CodeunitRange(0x7eba, 0x7eba), - CodeunitRange(0x7ec7, 0x7ec7), - CodeunitRange(0x7ecf, 0x7ecf), - CodeunitRange(0x7edf, 0x7edf), - CodeunitRange(0x7f06, 0x7f06), - CodeunitRange(0x7f36, 0x7f3a), - CodeunitRange(0x7f3d, 0x7f41), - CodeunitRange(0x7f43, 0x7f45), - CodeunitRange(0x7f47, 0x7f55), - CodeunitRange(0x7f58, 0x7f58), - CodeunitRange(0x7f5b, 0x7f61), - CodeunitRange(0x7f63, 0x7f63), - CodeunitRange(0x7f65, 0x7f6e), - CodeunitRange(0x7f70, 0x7f73), - CodeunitRange(0x7f75, 0x7f7f), - CodeunitRange(0x7f83, 0x7f83), - CodeunitRange(0x7f85, 0x7f8f), - CodeunitRange(0x7f91, 0x7f97), - CodeunitRange(0x7f9a, 0x7f9e), - CodeunitRange(0x7fa0, 0x7fa9), - CodeunitRange(0x7fac, 0x7fc3), - CodeunitRange(0x7fc5, 0x7fc5), - CodeunitRange(0x7fc7, 0x7fc7), - CodeunitRange(0x7fc9, 0x7fd2), - CodeunitRange(0x7fd4, 0x7fd5), - CodeunitRange(0x7fd7, 0x7fd7), - CodeunitRange(0x7fdb, 0x7fe3), - CodeunitRange(0x7fe5, 0x7ff5), - CodeunitRange(0x7ff7, 0x8008), - CodeunitRange(0x800b, 0x8012), - CodeunitRange(0x8014, 0x8019), - CodeunitRange(0x801b, 0x8021), - CodeunitRange(0x8024, 0x8026), - CodeunitRange(0x8028, 0x802a), - CodeunitRange(0x802c, 0x802c), - CodeunitRange(0x802e, 0x8031), - CodeunitRange(0x8033, 0x8037), - CodeunitRange(0x8039, 0x8039), - CodeunitRange(0x803b, 0x803f), - CodeunitRange(0x8043, 0x8043), - CodeunitRange(0x8046, 0x8048), - CodeunitRange(0x804a, 0x804a), - CodeunitRange(0x804f, 0x8052), - CodeunitRange(0x8054, 0x8054), - CodeunitRange(0x8056, 0x8056), - CodeunitRange(0x8058, 0x8058), - CodeunitRange(0x805a, 0x805e), - CodeunitRange(0x8061, 0x8064), - CodeunitRange(0x8066, 0x8067), - CodeunitRange(0x806c, 0x806c), - CodeunitRange(0x806f, 0x8073), - CodeunitRange(0x8075, 0x8079), - CodeunitRange(0x807d, 0x8080), - CodeunitRange(0x8082, 0x8082), - CodeunitRange(0x8084, 0x8087), - CodeunitRange(0x8089, 0x808c), - CodeunitRange(0x808f, 0x8090), - CodeunitRange(0x8092, 0x8093), - CodeunitRange(0x8095, 0x8096), - CodeunitRange(0x8098, 0x809d), - CodeunitRange(0x809f, 0x809f), - CodeunitRange(0x80a1, 0x80a3), - CodeunitRange(0x80a5, 0x80a5), - CodeunitRange(0x80a7, 0x80a7), - CodeunitRange(0x80a9, 0x80ab), - CodeunitRange(0x80ad, 0x80af), - CodeunitRange(0x80b1, 0x80b2), - CodeunitRange(0x80b4, 0x80b8), - CodeunitRange(0x80ba, 0x80ba), - CodeunitRange(0x80bc, 0x80bd), - CodeunitRange(0x80c2, 0x80ca), - CodeunitRange(0x80cc, 0x80d1), - CodeunitRange(0x80d4, 0x80de), - CodeunitRange(0x80e0, 0x80e1), - CodeunitRange(0x80e3, 0x80e6), - CodeunitRange(0x80e9, 0x80e9), - CodeunitRange(0x80ec, 0x80ed), - CodeunitRange(0x80ef, 0x80f6), - CodeunitRange(0x80f8, 0x80fe), - CodeunitRange(0x8100, 0x8103), - CodeunitRange(0x8105, 0x810a), - CodeunitRange(0x810c, 0x810c), - CodeunitRange(0x810e, 0x810e), - CodeunitRange(0x8112, 0x8112), - CodeunitRange(0x8114, 0x811b), - CodeunitRange(0x811d, 0x811f), - CodeunitRange(0x8121, 0x8125), - CodeunitRange(0x8127, 0x8127), - CodeunitRange(0x8129, 0x812d), - CodeunitRange(0x812f, 0x8132), - CodeunitRange(0x8134, 0x8134), - CodeunitRange(0x8137, 0x8137), - CodeunitRange(0x8139, 0x813a), - CodeunitRange(0x813d, 0x813e), - CodeunitRange(0x8142, 0x8144), - CodeunitRange(0x8146, 0x8148), - CodeunitRange(0x814a, 0x8156), - CodeunitRange(0x8159, 0x815c), - CodeunitRange(0x815e, 0x815e), - CodeunitRange(0x8160, 0x8162), - CodeunitRange(0x8164, 0x8167), - CodeunitRange(0x8169, 0x8169), - CodeunitRange(0x816b, 0x8174), - CodeunitRange(0x8176, 0x817a), - CodeunitRange(0x817c, 0x817d), - CodeunitRange(0x817f, 0x8180), - CodeunitRange(0x8182, 0x8184), - CodeunitRange(0x8186, 0x818d), - CodeunitRange(0x818f, 0x818f), - CodeunitRange(0x8193, 0x8193), - CodeunitRange(0x8195, 0x8195), - CodeunitRange(0x8197, 0x81a0), - CodeunitRange(0x81a2, 0x81a3), - CodeunitRange(0x81a5, 0x81ac), - CodeunitRange(0x81ae, 0x81ae), - CodeunitRange(0x81b0, 0x81b7), - CodeunitRange(0x81b9, 0x81ca), - CodeunitRange(0x81cc, 0x81cd), - CodeunitRange(0x81cf, 0x81d2), - CodeunitRange(0x81d5, 0x81d5), - CodeunitRange(0x81d7, 0x81db), - CodeunitRange(0x81dd, 0x81ea), - CodeunitRange(0x81ec, 0x81ef), - CodeunitRange(0x81f2, 0x81f4), - CodeunitRange(0x81f6, 0x81fc), - CodeunitRange(0x81fe, 0x8202), - CodeunitRange(0x8204, 0x8205), - CodeunitRange(0x8207, 0x820d), - CodeunitRange(0x8210, 0x8212), - CodeunitRange(0x8214, 0x8216), - CodeunitRange(0x8218, 0x8218), - CodeunitRange(0x821a, 0x8222), - CodeunitRange(0x8225, 0x8226), - CodeunitRange(0x8228, 0x822d), - CodeunitRange(0x822f, 0x822f), - CodeunitRange(0x8232, 0x823a), - CodeunitRange(0x823c, 0x8240), - CodeunitRange(0x8242, 0x8242), - CodeunitRange(0x8244, 0x8245), - CodeunitRange(0x8247, 0x8247), - CodeunitRange(0x8249, 0x8249), - CodeunitRange(0x824b, 0x824b), - CodeunitRange(0x824e, 0x825c), - CodeunitRange(0x825e, 0x825f), - CodeunitRange(0x8261, 0x8266), - CodeunitRange(0x8268, 0x8269), - CodeunitRange(0x826b, 0x826f), - CodeunitRange(0x8271, 0x8272), - CodeunitRange(0x8274, 0x8280), - CodeunitRange(0x8283, 0x8285), - CodeunitRange(0x8287, 0x8287), - CodeunitRange(0x828a, 0x828b), - CodeunitRange(0x828d, 0x8294), - CodeunitRange(0x8298, 0x829b), - CodeunitRange(0x829d, 0x82b1), - CodeunitRange(0x82b3, 0x82c0), - CodeunitRange(0x82c2, 0x82c4), - CodeunitRange(0x82ca, 0x82ca), - CodeunitRange(0x82cf, 0x82d9), - CodeunitRange(0x82db, 0x82dc), - CodeunitRange(0x82de, 0x82e8), - CodeunitRange(0x82ea, 0x8309), - CodeunitRange(0x830b, 0x830d), - CodeunitRange(0x8316, 0x831e), - CodeunitRange(0x8320, 0x8320), - CodeunitRange(0x8322, 0x8322), - CodeunitRange(0x8324, 0x832d), - CodeunitRange(0x832f, 0x832f), - CodeunitRange(0x8331, 0x833d), - CodeunitRange(0x833f, 0x8345), - CodeunitRange(0x8347, 0x8354), - CodeunitRange(0x8356, 0x8357), - CodeunitRange(0x8362, 0x8363), - CodeunitRange(0x8366, 0x8366), - CodeunitRange(0x836f, 0x836f), - CodeunitRange(0x8373, 0x8378), - CodeunitRange(0x837a, 0x837f), - CodeunitRange(0x8381, 0x8381), - CodeunitRange(0x8383, 0x8383), - CodeunitRange(0x8385, 0x839e), - CodeunitRange(0x83a0, 0x83a0), - CodeunitRange(0x83a2, 0x83ac), - CodeunitRange(0x83ae, 0x83b0), - CodeunitRange(0x83b9, 0x83b9), - CodeunitRange(0x83bd, 0x83cf), - CodeunitRange(0x83d1, 0x83d1), - CodeunitRange(0x83d3, 0x83d9), - CodeunitRange(0x83db, 0x83e5), - CodeunitRange(0x83e7, 0x83f6), - CodeunitRange(0x83f8, 0x83ff), - CodeunitRange(0x8401, 0x8401), - CodeunitRange(0x8403, 0x8407), - CodeunitRange(0x8409, 0x8414), - CodeunitRange(0x8416, 0x8416), - CodeunitRange(0x8418, 0x8418), - CodeunitRange(0x841b, 0x841c), - CodeunitRange(0x8420, 0x8421), - CodeunitRange(0x8423, 0x8424), - CodeunitRange(0x8426, 0x8426), - CodeunitRange(0x8429, 0x8429), - CodeunitRange(0x842b, 0x8440), - CodeunitRange(0x8442, 0x844e), - CodeunitRange(0x8450, 0x8469), - CodeunitRange(0x846b, 0x847a), - CodeunitRange(0x847d, 0x8480), - CodeunitRange(0x8482, 0x8482), - CodeunitRange(0x8484, 0x8484), - CodeunitRange(0x8486, 0x8486), - CodeunitRange(0x8488, 0x8488), - CodeunitRange(0x848d, 0x8494), - CodeunitRange(0x8496, 0x84a4), - CodeunitRange(0x84a7, 0x84b2), - CodeunitRange(0x84b4, 0x84b4), - CodeunitRange(0x84b6, 0x84b6), - CodeunitRange(0x84b8, 0x84c2), - CodeunitRange(0x84c4, 0x84c7), - CodeunitRange(0x84c9, 0x84d4), - CodeunitRange(0x84d6, 0x84d7), - CodeunitRange(0x84da, 0x84db), - CodeunitRange(0x84de, 0x84de), - CodeunitRange(0x84e1, 0x84e2), - CodeunitRange(0x84e4, 0x84e5), - CodeunitRange(0x84e7, 0x84ec), - CodeunitRange(0x84ee, 0x84f4), - CodeunitRange(0x84f6, 0x8500), - CodeunitRange(0x8502, 0x851a), - CodeunitRange(0x851c, 0x8521), - CodeunitRange(0x8523, 0x8531), - CodeunitRange(0x8533, 0x8534), - CodeunitRange(0x8538, 0x8538), - CodeunitRange(0x853b, 0x853b), - CodeunitRange(0x853d, 0x853e), - CodeunitRange(0x8540, 0x854e), - CodeunitRange(0x8551, 0x855b), - CodeunitRange(0x855d, 0x8571), - CodeunitRange(0x8573, 0x8573), - CodeunitRange(0x8575, 0x857c), - CodeunitRange(0x857e, 0x857e), - CodeunitRange(0x8580, 0x8591), - CodeunitRange(0x8593, 0x85a4), - CodeunitRange(0x85a6, 0x85aa), - CodeunitRange(0x85af, 0x85b1), - CodeunitRange(0x85b3, 0x85ba), - CodeunitRange(0x85bd, 0x85c9), - CodeunitRange(0x85cb, 0x85cb), - CodeunitRange(0x85cd, 0x85d2), - CodeunitRange(0x85d5, 0x85da), - CodeunitRange(0x85dc, 0x85e6), - CodeunitRange(0x85e8, 0x85f2), - CodeunitRange(0x85f4, 0x85f4), - CodeunitRange(0x85f6, 0x8602), - CodeunitRange(0x8604, 0x8607), - CodeunitRange(0x8609, 0x860d), - CodeunitRange(0x860f, 0x8611), - CodeunitRange(0x8613, 0x8614), - CodeunitRange(0x8616, 0x861c), - CodeunitRange(0x861e, 0x862a), - CodeunitRange(0x862c, 0x862f), - CodeunitRange(0x8631, 0x8636), - CodeunitRange(0x8638, 0x863c), - CodeunitRange(0x863e, 0x8640), - CodeunitRange(0x8642, 0x8643), - CodeunitRange(0x8645, 0x8648), - CodeunitRange(0x864b, 0x864e), - CodeunitRange(0x8650, 0x8650), - CodeunitRange(0x8652, 0x8656), - CodeunitRange(0x8659, 0x8659), - CodeunitRange(0x865b, 0x865c), - CodeunitRange(0x865e, 0x865f), - CodeunitRange(0x8661, 0x8665), - CodeunitRange(0x8667, 0x8674), - CodeunitRange(0x8677, 0x8677), - CodeunitRange(0x8679, 0x867c), - CodeunitRange(0x867e, 0x867e), - CodeunitRange(0x8685, 0x8687), - CodeunitRange(0x868a, 0x868e), - CodeunitRange(0x8690, 0x869a), - CodeunitRange(0x869c, 0x869e), - CodeunitRange(0x86a0, 0x86a5), - CodeunitRange(0x86a7, 0x86aa), - CodeunitRange(0x86ad, 0x86ad), - CodeunitRange(0x86af, 0x86c9), - CodeunitRange(0x86cb, 0x86cc), - CodeunitRange(0x86d0, 0x86d1), - CodeunitRange(0x86d3, 0x86d4), - CodeunitRange(0x86d6, 0x86df), - CodeunitRange(0x86e2, 0x86e4), - CodeunitRange(0x86e6, 0x86e6), - CodeunitRange(0x86e8, 0x86ed), - CodeunitRange(0x86ef, 0x86ef), - CodeunitRange(0x86f5, 0x86fb), - CodeunitRange(0x86fe, 0x86fe), - CodeunitRange(0x8700, 0x870e), - CodeunitRange(0x8711, 0x8713), - CodeunitRange(0x8715, 0x8715), - CodeunitRange(0x8718, 0x871c), - CodeunitRange(0x871e, 0x871e), - CodeunitRange(0x8720, 0x872a), - CodeunitRange(0x872c, 0x872e), - CodeunitRange(0x8730, 0x8735), - CodeunitRange(0x8737, 0x8738), - CodeunitRange(0x873a, 0x873c), - CodeunitRange(0x873e, 0x8743), - CodeunitRange(0x8746, 0x8746), - CodeunitRange(0x874c, 0x8771), - CodeunitRange(0x8773, 0x877b), - CodeunitRange(0x877d, 0x877d), - CodeunitRange(0x8781, 0x8789), - CodeunitRange(0x878b, 0x878d), - CodeunitRange(0x878f, 0x8794), - CodeunitRange(0x8796, 0x8798), - CodeunitRange(0x879a, 0x879f), - CodeunitRange(0x87a2, 0x87a5), - CodeunitRange(0x87a9, 0x87c6), - CodeunitRange(0x87c8, 0x87cc), - CodeunitRange(0x87ce, 0x87ce), - CodeunitRange(0x87d1, 0x87d4), - CodeunitRange(0x87d6, 0x87e8), - CodeunitRange(0x87ea, 0x87ef), - CodeunitRange(0x87f2, 0x87f7), - CodeunitRange(0x87f9, 0x87fc), - CodeunitRange(0x87fe, 0x8806), - CodeunitRange(0x8808, 0x880d), - CodeunitRange(0x880f, 0x8811), - CodeunitRange(0x8813, 0x8819), - CodeunitRange(0x881b, 0x881d), - CodeunitRange(0x881f, 0x8833), - CodeunitRange(0x8835, 0x8839), - CodeunitRange(0x883b, 0x8846), - CodeunitRange(0x8848, 0x8848), - CodeunitRange(0x884a, 0x884f), - CodeunitRange(0x8852, 0x8853), - CodeunitRange(0x8855, 0x8857), - CodeunitRange(0x8859, 0x885b), - CodeunitRange(0x885d, 0x885e), - CodeunitRange(0x8860, 0x8865), - CodeunitRange(0x8867, 0x886b), - CodeunitRange(0x886d, 0x8872), - CodeunitRange(0x8874, 0x8877), - CodeunitRange(0x8879, 0x8879), - CodeunitRange(0x887c, 0x8884), - CodeunitRange(0x8887, 0x8889), - CodeunitRange(0x888b, 0x8893), - CodeunitRange(0x8895, 0x88a2), - CodeunitRange(0x88a4, 0x88a4), - CodeunitRange(0x88a7, 0x88a8), - CodeunitRange(0x88aa, 0x88ac), - CodeunitRange(0x88ae, 0x88ae), - CodeunitRange(0x88b1, 0x88b2), - CodeunitRange(0x88b4, 0x88ba), - CodeunitRange(0x88bc, 0x88c2), - CodeunitRange(0x88c5, 0x88c5), - CodeunitRange(0x88c7, 0x88c7), - CodeunitRange(0x88c9, 0x88d0), - CodeunitRange(0x88d2, 0x88d2), - CodeunitRange(0x88d4, 0x88df), - CodeunitRange(0x88e1, 0x88e1), - CodeunitRange(0x88e6, 0x88e8), - CodeunitRange(0x88eb, 0x88ec), - CodeunitRange(0x88ee, 0x8902), - CodeunitRange(0x8905, 0x8907), - CodeunitRange(0x8909, 0x890c), - CodeunitRange(0x890e, 0x890e), - CodeunitRange(0x8910, 0x891a), - CodeunitRange(0x891e, 0x891f), - CodeunitRange(0x8921, 0x8927), - CodeunitRange(0x8929, 0x8933), - CodeunitRange(0x8935, 0x8938), - CodeunitRange(0x893b, 0x893e), - CodeunitRange(0x8941, 0x8944), - CodeunitRange(0x8946, 0x8947), - CodeunitRange(0x8949, 0x8949), - CodeunitRange(0x894b, 0x894d), - CodeunitRange(0x894f, 0x8954), - CodeunitRange(0x8956, 0x8966), - CodeunitRange(0x8969, 0x896f), - CodeunitRange(0x8971, 0x8974), - CodeunitRange(0x8976, 0x8977), - CodeunitRange(0x8979, 0x897c), - CodeunitRange(0x897e, 0x8983), - CodeunitRange(0x8985, 0x898b), - CodeunitRange(0x898f, 0x898f), - CodeunitRange(0x8991, 0x8991), - CodeunitRange(0x8993, 0x8998), - CodeunitRange(0x899b, 0x899f), - CodeunitRange(0x89a1, 0x89a7), - CodeunitRange(0x89a9, 0x89aa), - CodeunitRange(0x89ac, 0x89af), - CodeunitRange(0x89b2, 0x89b2), - CodeunitRange(0x89b6, 0x89b7), - CodeunitRange(0x89b9, 0x89ba), - CodeunitRange(0x89bc, 0x89c1), - CodeunitRange(0x89c6, 0x89c6), - CodeunitRange(0x89d2, 0x89d6), - CodeunitRange(0x89d9, 0x89dd), - CodeunitRange(0x89df, 0x89e9), - CodeunitRange(0x89eb, 0x89ed), - CodeunitRange(0x89f0, 0x89f4), - CodeunitRange(0x89f6, 0x89f8), - CodeunitRange(0x89fa, 0x89fc), - CodeunitRange(0x89fe, 0x8a00), - CodeunitRange(0x8a02, 0x8a04), - CodeunitRange(0x8a07, 0x8a08), - CodeunitRange(0x8a0a, 0x8a0a), - CodeunitRange(0x8a0c, 0x8a0c), - CodeunitRange(0x8a0e, 0x8a13), - CodeunitRange(0x8a15, 0x8a18), - CodeunitRange(0x8a1b, 0x8a1f), - CodeunitRange(0x8a22, 0x8a23), - CodeunitRange(0x8a25, 0x8a25), - CodeunitRange(0x8a27, 0x8a27), - CodeunitRange(0x8a29, 0x8a2d), - CodeunitRange(0x8a30, 0x8a31), - CodeunitRange(0x8a34, 0x8a34), - CodeunitRange(0x8a36, 0x8a36), - CodeunitRange(0x8a38, 0x8a41), - CodeunitRange(0x8a44, 0x8a46), - CodeunitRange(0x8a48, 0x8a4a), - CodeunitRange(0x8a4c, 0x8a52), - CodeunitRange(0x8a54, 0x8a59), - CodeunitRange(0x8a5b, 0x8a5b), - CodeunitRange(0x8a5e, 0x8a5e), - CodeunitRange(0x8a60, 0x8a63), - CodeunitRange(0x8a66, 0x8a69), - CodeunitRange(0x8a6b, 0x8a6e), - CodeunitRange(0x8a70, 0x8a77), - CodeunitRange(0x8a79, 0x8a7c), - CodeunitRange(0x8a7e, 0x8a7f), - CodeunitRange(0x8a81, 0x8a87), - CodeunitRange(0x8a8b, 0x8a8d), - CodeunitRange(0x8a8f, 0x8a96), - CodeunitRange(0x8a98, 0x8a9a), - CodeunitRange(0x8a9c, 0x8a9c), - CodeunitRange(0x8a9e, 0x8a9e), - CodeunitRange(0x8aa0, 0x8aa1), - CodeunitRange(0x8aa3, 0x8aac), - CodeunitRange(0x8aaf, 0x8ab0), - CodeunitRange(0x8ab2, 0x8ab2), - CodeunitRange(0x8ab4, 0x8ab4), - CodeunitRange(0x8ab6, 0x8ab6), - CodeunitRange(0x8ab8, 0x8ac0), - CodeunitRange(0x8ac2, 0x8ac9), - CodeunitRange(0x8acb, 0x8acd), - CodeunitRange(0x8acf, 0x8acf), - CodeunitRange(0x8ad1, 0x8ae2), - CodeunitRange(0x8ae4, 0x8ae4), - CodeunitRange(0x8ae6, 0x8ae8), - CodeunitRange(0x8aea, 0x8aeb), - CodeunitRange(0x8aed, 0x8afc), - CodeunitRange(0x8afe, 0x8b02), - CodeunitRange(0x8b04, 0x8b08), - CodeunitRange(0x8b0a, 0x8b20), - CodeunitRange(0x8b22, 0x8b28), - CodeunitRange(0x8b2a, 0x8b31), - CodeunitRange(0x8b33, 0x8b33), - CodeunitRange(0x8b35, 0x8b37), - CodeunitRange(0x8b39, 0x8b43), - CodeunitRange(0x8b45, 0x8b5a), - CodeunitRange(0x8b5c, 0x8b60), - CodeunitRange(0x8b62, 0x8b63), - CodeunitRange(0x8b65, 0x8b6d), - CodeunitRange(0x8b6f, 0x8b70), - CodeunitRange(0x8b74, 0x8b74), - CodeunitRange(0x8b77, 0x8b7b), - CodeunitRange(0x8b7d, 0x8b86), - CodeunitRange(0x8b88, 0x8b88), - CodeunitRange(0x8b8a, 0x8b8c), - CodeunitRange(0x8b8e, 0x8b90), - CodeunitRange(0x8b92, 0x8b96), - CodeunitRange(0x8b98, 0x8b9c), - CodeunitRange(0x8b9e, 0x8ba0), - CodeunitRange(0x8bbe, 0x8bbe), - CodeunitRange(0x8be2, 0x8be2), - CodeunitRange(0x8c37, 0x8c37), - CodeunitRange(0x8c39, 0x8c39), - CodeunitRange(0x8c3b, 0x8c3f), - CodeunitRange(0x8c41, 0x8c43), - CodeunitRange(0x8c45, 0x8c51), - CodeunitRange(0x8c54, 0x8c57), - CodeunitRange(0x8c5a, 0x8c5a), - CodeunitRange(0x8c5c, 0x8c5d), - CodeunitRange(0x8c5f, 0x8c5f), - CodeunitRange(0x8c61, 0x8c62), - CodeunitRange(0x8c64, 0x8c66), - CodeunitRange(0x8c68, 0x8c6d), - CodeunitRange(0x8c6f, 0x8c73), - CodeunitRange(0x8c75, 0x8c7b), - CodeunitRange(0x8c7d, 0x8c7d), - CodeunitRange(0x8c80, 0x8c82), - CodeunitRange(0x8c84, 0x8c86), - CodeunitRange(0x8c89, 0x8c8a), - CodeunitRange(0x8c8c, 0x8c8d), - CodeunitRange(0x8c8f, 0x8c95), - CodeunitRange(0x8c97, 0x8ca5), - CodeunitRange(0x8ca7, 0x8cad), - CodeunitRange(0x8caf, 0x8cb0), - CodeunitRange(0x8cb2, 0x8cc5), - CodeunitRange(0x8cc7, 0x8cc8), - CodeunitRange(0x8cca, 0x8cca), - CodeunitRange(0x8ccc, 0x8ccd), - CodeunitRange(0x8ccf, 0x8ccf), - CodeunitRange(0x8cd1, 0x8cd7), - CodeunitRange(0x8cd9, 0x8cee), - CodeunitRange(0x8cf0, 0x8cf5), - CodeunitRange(0x8cf7, 0x8cfe), - CodeunitRange(0x8d00, 0x8d00), - CodeunitRange(0x8d02, 0x8d0d), - CodeunitRange(0x8d0f, 0x8d19), - CodeunitRange(0x8d1b, 0x8d1d), - CodeunitRange(0x8d64, 0x8d64), - CodeunitRange(0x8d66, 0x8d69), - CodeunitRange(0x8d6b, 0x8d70), - CodeunitRange(0x8d72, 0x8d74), - CodeunitRange(0x8d76, 0x8d7b), - CodeunitRange(0x8d7d, 0x8d7d), - CodeunitRange(0x8d80, 0x8d82), - CodeunitRange(0x8d84, 0x8d85), - CodeunitRange(0x8d89, 0x8d8a), - CodeunitRange(0x8d8c, 0x8d96), - CodeunitRange(0x8d99, 0x8d99), - CodeunitRange(0x8d9b, 0x8d9c), - CodeunitRange(0x8d9f, 0x8da1), - CodeunitRange(0x8da3, 0x8da3), - CodeunitRange(0x8da5, 0x8daf), - CodeunitRange(0x8db2, 0x8db7), - CodeunitRange(0x8db9, 0x8dba), - CodeunitRange(0x8dbc, 0x8dbc), - CodeunitRange(0x8dbe, 0x8dc3), - CodeunitRange(0x8dc5, 0x8dc8), - CodeunitRange(0x8dcb, 0x8dd1), - CodeunitRange(0x8dd3, 0x8ddd), - CodeunitRange(0x8ddf, 0x8de4), - CodeunitRange(0x8de6, 0x8dec), - CodeunitRange(0x8dee, 0x8df4), - CodeunitRange(0x8dfa, 0x8dfa), - CodeunitRange(0x8dfc, 0x8e07), - CodeunitRange(0x8e09, 0x8e0a), - CodeunitRange(0x8e0d, 0x8e2b), - CodeunitRange(0x8e2d, 0x8e2e), - CodeunitRange(0x8e30, 0x8e31), - CodeunitRange(0x8e33, 0x8e36), - CodeunitRange(0x8e38, 0x8e3a), - CodeunitRange(0x8e3c, 0x8e42), - CodeunitRange(0x8e44, 0x8e50), - CodeunitRange(0x8e53, 0x8e57), - CodeunitRange(0x8e59, 0x8e6a), - CodeunitRange(0x8e6c, 0x8e6d), - CodeunitRange(0x8e6f, 0x8e6f), - CodeunitRange(0x8e71, 0x8e78), - CodeunitRange(0x8e7a, 0x8e7c), - CodeunitRange(0x8e7e, 0x8e7e), - CodeunitRange(0x8e80, 0x8e82), - CodeunitRange(0x8e84, 0x8e8e), - CodeunitRange(0x8e90, 0x8e98), - CodeunitRange(0x8e9a, 0x8e9a), - CodeunitRange(0x8e9d, 0x8ea1), - CodeunitRange(0x8ea3, 0x8ead), - CodeunitRange(0x8eb0, 0x8eb0), - CodeunitRange(0x8eb2, 0x8eb2), - CodeunitRange(0x8eb6, 0x8eb6), - CodeunitRange(0x8eb9, 0x8eba), - CodeunitRange(0x8ebc, 0x8ebd), - CodeunitRange(0x8ec0, 0x8ec0), - CodeunitRange(0x8ec2, 0x8ec3), - CodeunitRange(0x8ec9, 0x8ecf), - CodeunitRange(0x8ed1, 0x8ed4), - CodeunitRange(0x8ed7, 0x8ed8), - CodeunitRange(0x8eda, 0x8ee2), - CodeunitRange(0x8ee4, 0x8ee9), - CodeunitRange(0x8eeb, 0x8eef), - CodeunitRange(0x8ef1, 0x8ef2), - CodeunitRange(0x8ef4, 0x8efc), - CodeunitRange(0x8efe, 0x8f03), - CodeunitRange(0x8f05, 0x8f0b), - CodeunitRange(0x8f0d, 0x8f0e), - CodeunitRange(0x8f10, 0x8f20), - CodeunitRange(0x8f23, 0x8f26), - CodeunitRange(0x8f29, 0x8f2a), - CodeunitRange(0x8f2c, 0x8f30), - CodeunitRange(0x8f32, 0x8f39), - CodeunitRange(0x8f3b, 0x8f3c), - CodeunitRange(0x8f3e, 0x8f4b), - CodeunitRange(0x8f4d, 0x8f64), - CodeunitRange(0x8f66, 0x8f67), - CodeunitRange(0x8f6e, 0x8f6e), - CodeunitRange(0x8f93, 0x8f93), - CodeunitRange(0x8f9b, 0x8f9c), - CodeunitRange(0x8f9f, 0x8fa0), - CodeunitRange(0x8fa3, 0x8fa3), - CodeunitRange(0x8fa5, 0x8fa8), - CodeunitRange(0x8fad, 0x8fbc), - CodeunitRange(0x8fbe, 0x8fbf), - CodeunitRange(0x8fc1, 0x8fc2), - CodeunitRange(0x8fc4, 0x8fc6), - CodeunitRange(0x8fc9, 0x8fd7), - CodeunitRange(0x8fda, 0x8fda), - CodeunitRange(0x8fe0, 0x8fe6), - CodeunitRange(0x8fe8, 0x8fe8), - CodeunitRange(0x8fea, 0x8feb), - CodeunitRange(0x8fed, 0x8fee), - CodeunitRange(0x8ff0, 0x8ff0), - CodeunitRange(0x8ff4, 0x9006), - CodeunitRange(0x9008, 0x9008), - CodeunitRange(0x900b, 0x900d), - CodeunitRange(0x900f, 0x9012), - CodeunitRange(0x9014, 0x9017), - CodeunitRange(0x9019, 0x9024), - CodeunitRange(0x902d, 0x902f), - CodeunitRange(0x9031, 0x9038), - CodeunitRange(0x903c, 0x903f), - CodeunitRange(0x9041, 0x9042), - CodeunitRange(0x9044, 0x9044), - CodeunitRange(0x9046, 0x9047), - CodeunitRange(0x9049, 0x9056), - CodeunitRange(0x9058, 0x9059), - CodeunitRange(0x905b, 0x905e), - CodeunitRange(0x9060, 0x9064), - CodeunitRange(0x9067, 0x9069), - CodeunitRange(0x906b, 0x9070), - CodeunitRange(0x9072, 0x9088), - CodeunitRange(0x908a, 0x908b), - CodeunitRange(0x908d, 0x908d), - CodeunitRange(0x908f, 0x9091), - CodeunitRange(0x9094, 0x9095), - CodeunitRange(0x9097, 0x9099), - CodeunitRange(0x909b, 0x909b), - CodeunitRange(0x909e, 0x90a3), - CodeunitRange(0x90a5, 0x90a8), - CodeunitRange(0x90aa, 0x90aa), - CodeunitRange(0x90ae, 0x90b6), - CodeunitRange(0x90b8, 0x90b8), - CodeunitRange(0x90bb, 0x90bb), - CodeunitRange(0x90bd, 0x90bf), - CodeunitRange(0x90c1, 0x90c1), - CodeunitRange(0x90c3, 0x90c5), - CodeunitRange(0x90c7, 0x90c8), - CodeunitRange(0x90ca, 0x90cb), - CodeunitRange(0x90ce, 0x90ce), - CodeunitRange(0x90d4, 0x90dd), - CodeunitRange(0x90df, 0x90e5), - CodeunitRange(0x90e8, 0x90ed), - CodeunitRange(0x90ef, 0x90f5), - CodeunitRange(0x90f9, 0x9109), - CodeunitRange(0x910b, 0x910b), - CodeunitRange(0x910d, 0x9112), - CodeunitRange(0x9114, 0x9114), - CodeunitRange(0x9116, 0x9124), - CodeunitRange(0x9126, 0x9136), - CodeunitRange(0x9138, 0x913b), - CodeunitRange(0x913e, 0x9141), - CodeunitRange(0x9143, 0x9153), - CodeunitRange(0x9155, 0x915a), - CodeunitRange(0x915c, 0x915c), - CodeunitRange(0x915e, 0x9165), - CodeunitRange(0x9167, 0x916a), - CodeunitRange(0x916c, 0x916c), - CodeunitRange(0x916e, 0x9170), - CodeunitRange(0x9172, 0x917a), - CodeunitRange(0x917c, 0x917c), - CodeunitRange(0x9180, 0x9187), - CodeunitRange(0x9189, 0x9193), - CodeunitRange(0x9196, 0x9196), - CodeunitRange(0x9199, 0x91a3), - CodeunitRange(0x91a5, 0x91a5), - CodeunitRange(0x91a7, 0x91b7), - CodeunitRange(0x91b9, 0x91be), - CodeunitRange(0x91c0, 0x91c7), - CodeunitRange(0x91c9, 0x91c9), - CodeunitRange(0x91cb, 0x91d1), - CodeunitRange(0x91d3, 0x91da), - CodeunitRange(0x91dc, 0x91dd), - CodeunitRange(0x91df, 0x91df), - CodeunitRange(0x91e2, 0x91ee), - CodeunitRange(0x91f1, 0x91f1), - CodeunitRange(0x91f3, 0x91fa), - CodeunitRange(0x91fd, 0x920a), - CodeunitRange(0x920c, 0x921a), - CodeunitRange(0x921c, 0x921c), - CodeunitRange(0x921e, 0x921e), - CodeunitRange(0x9221, 0x9221), - CodeunitRange(0x9223, 0x9228), - CodeunitRange(0x922a, 0x922b), - CodeunitRange(0x922d, 0x922e), - CodeunitRange(0x9230, 0x923a), - CodeunitRange(0x923c, 0x9241), - CodeunitRange(0x9244, 0x9246), - CodeunitRange(0x9248, 0x9258), - CodeunitRange(0x925a, 0x925b), - CodeunitRange(0x925d, 0x9267), - CodeunitRange(0x926b, 0x9270), - CodeunitRange(0x9272, 0x9272), - CodeunitRange(0x9276, 0x928f), - CodeunitRange(0x9291, 0x9291), - CodeunitRange(0x9293, 0x929d), - CodeunitRange(0x92a0, 0x92ac), - CodeunitRange(0x92ae, 0x92ae), - CodeunitRange(0x92b1, 0x92b7), - CodeunitRange(0x92b9, 0x92bc), - CodeunitRange(0x92be, 0x92d5), - CodeunitRange(0x92d7, 0x92d9), - CodeunitRange(0x92db, 0x92db), - CodeunitRange(0x92dd, 0x92e1), - CodeunitRange(0x92e3, 0x92f4), - CodeunitRange(0x92f6, 0x9304), - CodeunitRange(0x9306, 0x9309), - CodeunitRange(0x930b, 0x9310), - CodeunitRange(0x9312, 0x9316), - CodeunitRange(0x9318, 0x931b), - CodeunitRange(0x931d, 0x9331), - CodeunitRange(0x9333, 0x9336), - CodeunitRange(0x9338, 0x9339), - CodeunitRange(0x933c, 0x933c), - CodeunitRange(0x9340, 0x9352), - CodeunitRange(0x9354, 0x935c), - CodeunitRange(0x935e, 0x936e), - CodeunitRange(0x9370, 0x9371), - CodeunitRange(0x9373, 0x937e), - CodeunitRange(0x9380, 0x938a), - CodeunitRange(0x938c, 0x9392), - CodeunitRange(0x9394, 0x93aa), - CodeunitRange(0x93ac, 0x93b5), - CodeunitRange(0x93b7, 0x93b8), - CodeunitRange(0x93bb, 0x93bb), - CodeunitRange(0x93bd, 0x93bd), - CodeunitRange(0x93bf, 0x93c0), - CodeunitRange(0x93c2, 0x93c4), - CodeunitRange(0x93c6, 0x93c8), - CodeunitRange(0x93ca, 0x93e4), - CodeunitRange(0x93e6, 0x93e8), - CodeunitRange(0x93ec, 0x93ec), - CodeunitRange(0x93ee, 0x93ee), - CodeunitRange(0x93f0, 0x93f1), - CodeunitRange(0x93f3, 0x9401), - CodeunitRange(0x9403, 0x9404), - CodeunitRange(0x9406, 0x9419), - CodeunitRange(0x941b, 0x941b), - CodeunitRange(0x941d, 0x941d), - CodeunitRange(0x9420, 0x9420), - CodeunitRange(0x9424, 0x9433), - CodeunitRange(0x9435, 0x9440), - CodeunitRange(0x9442, 0x944d), - CodeunitRange(0x944f, 0x9452), - CodeunitRange(0x9454, 0x9455), - CodeunitRange(0x9457, 0x9458), - CodeunitRange(0x945b, 0x945b), - CodeunitRange(0x945d, 0x945e), - CodeunitRange(0x9460, 0x9460), - CodeunitRange(0x9462, 0x9465), - CodeunitRange(0x9467, 0x9479), - CodeunitRange(0x947b, 0x9483), - CodeunitRange(0x9485, 0x9485), - CodeunitRange(0x949f, 0x949f), - CodeunitRange(0x94a2, 0x94a2), - CodeunitRange(0x94c1, 0x94c1), - CodeunitRange(0x94c3, 0x94c3), - CodeunitRange(0x94dc, 0x94dc), - CodeunitRange(0x94f6, 0x94f6), - CodeunitRange(0x952d, 0x952d), - CodeunitRange(0x9547, 0x9547), - CodeunitRange(0x9577, 0x9578), - CodeunitRange(0x957a, 0x957d), - CodeunitRange(0x957f, 0x9580), - CodeunitRange(0x9582, 0x9583), - CodeunitRange(0x9585, 0x9586), - CodeunitRange(0x9588, 0x9589), - CodeunitRange(0x958b, 0x9594), - CodeunitRange(0x9596, 0x9599), - CodeunitRange(0x959b, 0x959c), - CodeunitRange(0x959e, 0x95ae), - CodeunitRange(0x95b0, 0x95b2), - CodeunitRange(0x95b5, 0x95b7), - CodeunitRange(0x95b9, 0x95c0), - CodeunitRange(0x95c3, 0x95c3), - CodeunitRange(0x95c5, 0x95cd), - CodeunitRange(0x95d0, 0x95d6), - CodeunitRange(0x95da, 0x95dc), - CodeunitRange(0x95de, 0x95e5), - CodeunitRange(0x95e8, 0x95e8), - CodeunitRange(0x95f4, 0x95f4), - CodeunitRange(0x961c, 0x961e), - CodeunitRange(0x9620, 0x9624), - CodeunitRange(0x9628, 0x9628), - CodeunitRange(0x962a, 0x962a), - CodeunitRange(0x962c, 0x9633), - CodeunitRange(0x9638, 0x963d), - CodeunitRange(0x963f, 0x9645), - CodeunitRange(0x964a, 0x9651), - CodeunitRange(0x9653, 0x9654), - CodeunitRange(0x9656, 0x9656), - CodeunitRange(0x9658, 0x9658), - CodeunitRange(0x965b, 0x965f), - CodeunitRange(0x9661, 0x9664), - CodeunitRange(0x9669, 0x966d), - CodeunitRange(0x966f, 0x9678), - CodeunitRange(0x967b, 0x967e), - CodeunitRange(0x9680, 0x9681), - CodeunitRange(0x9683, 0x968b), - CodeunitRange(0x968d, 0x968f), - CodeunitRange(0x9691, 0x9699), - CodeunitRange(0x969b, 0x969c), - CodeunitRange(0x969e, 0x969e), - CodeunitRange(0x96a1, 0x96a5), - CodeunitRange(0x96a7, 0x96aa), - CodeunitRange(0x96ac, 0x96ac), - CodeunitRange(0x96ae, 0x96ae), - CodeunitRange(0x96b0, 0x96b1), - CodeunitRange(0x96b3, 0x96b4), - CodeunitRange(0x96b6, 0x96b6), - CodeunitRange(0x96b8, 0x96b9), - CodeunitRange(0x96bb, 0x96bd), - CodeunitRange(0x96bf, 0x96ce), - CodeunitRange(0x96d2, 0x96df), - CodeunitRange(0x96e1, 0x96e3), - CodeunitRange(0x96e5, 0x96e5), - CodeunitRange(0x96e8, 0x96ea), - CodeunitRange(0x96ef, 0x96f2), - CodeunitRange(0x96f4, 0x96fb), - CodeunitRange(0x96fd, 0x96fd), - CodeunitRange(0x96ff, 0x9700), - CodeunitRange(0x9702, 0x9709), - CodeunitRange(0x970b, 0x970b), - CodeunitRange(0x970d, 0x9713), - CodeunitRange(0x9716, 0x9716), - CodeunitRange(0x9718, 0x9719), - CodeunitRange(0x971b, 0x972c), - CodeunitRange(0x972e, 0x9732), - CodeunitRange(0x9734, 0x9736), - CodeunitRange(0x9738, 0x973a), - CodeunitRange(0x973d, 0x9744), - CodeunitRange(0x9746, 0x974b), - CodeunitRange(0x9751, 0x9752), - CodeunitRange(0x9755, 0x9758), - CodeunitRange(0x975a, 0x9762), - CodeunitRange(0x9766, 0x9766), - CodeunitRange(0x9768, 0x976a), - CodeunitRange(0x976c, 0x976e), - CodeunitRange(0x9770, 0x9774), - CodeunitRange(0x9776, 0x9778), - CodeunitRange(0x977a, 0x9785), - CodeunitRange(0x9787, 0x978b), - CodeunitRange(0x978d, 0x978f), - CodeunitRange(0x9794, 0x9794), - CodeunitRange(0x9797, 0x97a6), - CodeunitRange(0x97a8, 0x97a8), - CodeunitRange(0x97aa, 0x97ae), - CodeunitRange(0x97b1, 0x97b4), - CodeunitRange(0x97b6, 0x97bb), - CodeunitRange(0x97bd, 0x97c9), - CodeunitRange(0x97cb, 0x97d0), - CodeunitRange(0x97d2, 0x97d9), - CodeunitRange(0x97dc, 0x97e1), - CodeunitRange(0x97e3, 0x97e3), - CodeunitRange(0x97e5, 0x97e6), - CodeunitRange(0x97ed, 0x97ee), - CodeunitRange(0x97f0, 0x97f3), - CodeunitRange(0x97f5, 0x97f6), - CodeunitRange(0x97f8, 0x97fb), - CodeunitRange(0x97fd, 0x9808), - CodeunitRange(0x980a, 0x980a), - CodeunitRange(0x980c, 0x9818), - CodeunitRange(0x981b, 0x9821), - CodeunitRange(0x9823, 0x9824), - CodeunitRange(0x9826, 0x9829), - CodeunitRange(0x982b, 0x982b), - CodeunitRange(0x982d, 0x9830), - CodeunitRange(0x9832, 0x9835), - CodeunitRange(0x9837, 0x9839), - CodeunitRange(0x983b, 0x983b), - CodeunitRange(0x9841, 0x9841), - CodeunitRange(0x9843, 0x9853), - CodeunitRange(0x9856, 0x9859), - CodeunitRange(0x985b, 0x9860), - CodeunitRange(0x9862, 0x986c), - CodeunitRange(0x986f, 0x9875), - CodeunitRange(0x98a8, 0x98a9), - CodeunitRange(0x98ac, 0x98af), - CodeunitRange(0x98b1, 0x98b4), - CodeunitRange(0x98b6, 0x98c4), - CodeunitRange(0x98c6, 0x98cc), - CodeunitRange(0x98ce, 0x98ce), - CodeunitRange(0x98db, 0x98dc), - CodeunitRange(0x98de, 0x98e3), - CodeunitRange(0x98e5, 0x98e7), - CodeunitRange(0x98e9, 0x98ed), - CodeunitRange(0x98ef, 0x98ef), - CodeunitRange(0x98f1, 0x98f2), - CodeunitRange(0x98f4, 0x98f6), - CodeunitRange(0x98f9, 0x98fa), - CodeunitRange(0x98fc, 0x98fe), - CodeunitRange(0x9900, 0x9900), - CodeunitRange(0x9902, 0x9903), - CodeunitRange(0x9905, 0x9905), - CodeunitRange(0x9907, 0x990a), - CodeunitRange(0x990c, 0x990c), - CodeunitRange(0x990e, 0x990e), - CodeunitRange(0x9910, 0x991c), - CodeunitRange(0x991e, 0x991f), - CodeunitRange(0x9921, 0x9921), - CodeunitRange(0x9924, 0x9925), - CodeunitRange(0x9927, 0x9933), - CodeunitRange(0x9935, 0x9935), - CodeunitRange(0x9937, 0x9943), - CodeunitRange(0x9945, 0x9945), - CodeunitRange(0x9947, 0x994e), - CodeunitRange(0x9950, 0x9959), - CodeunitRange(0x995b, 0x995f), - CodeunitRange(0x9961, 0x9963), - CodeunitRange(0x9996, 0x9999), - CodeunitRange(0x999b, 0x999e), - CodeunitRange(0x99a1, 0x99a1), - CodeunitRange(0x99a3, 0x99a8), - CodeunitRange(0x99aa, 0x99b5), - CodeunitRange(0x99b8, 0x99bd), - CodeunitRange(0x99c1, 0x99c5), - CodeunitRange(0x99c7, 0x99c7), - CodeunitRange(0x99c9, 0x99c9), - CodeunitRange(0x99cb, 0x99dd), - CodeunitRange(0x99df, 0x99e7), - CodeunitRange(0x99e9, 0x99ea), - CodeunitRange(0x99ec, 0x99ee), - CodeunitRange(0x99f0, 0x99f1), - CodeunitRange(0x99f4, 0x99ff), - CodeunitRange(0x9a01, 0x9a07), - CodeunitRange(0x9a09, 0x9a11), - CodeunitRange(0x9a14, 0x9a16), - CodeunitRange(0x9a19, 0x9a27), - CodeunitRange(0x9a29, 0x9a32), - CodeunitRange(0x9a34, 0x9a46), - CodeunitRange(0x9a48, 0x9a4a), - CodeunitRange(0x9a4c, 0x9a50), - CodeunitRange(0x9a52, 0x9a5c), - CodeunitRange(0x9a5e, 0x9a60), - CodeunitRange(0x9a62, 0x9a6c), - CodeunitRange(0x9a8f, 0x9a8f), - CodeunitRange(0x9aa8, 0x9aa8), - CodeunitRange(0x9aab, 0x9aab), - CodeunitRange(0x9aad, 0x9aad), - CodeunitRange(0x9aaf, 0x9ab4), - CodeunitRange(0x9ab6, 0x9ac2), - CodeunitRange(0x9ac6, 0x9ac7), - CodeunitRange(0x9aca, 0x9aca), - CodeunitRange(0x9acd, 0x9acd), - CodeunitRange(0x9acf, 0x9ad8), - CodeunitRange(0x9adc, 0x9adc), - CodeunitRange(0x9adf, 0x9ae3), - CodeunitRange(0x9ae6, 0x9ae7), - CodeunitRange(0x9aeb, 0x9aef), - CodeunitRange(0x9af1, 0x9af4), - CodeunitRange(0x9af6, 0x9af7), - CodeunitRange(0x9af9, 0x9aff), - CodeunitRange(0x9b01, 0x9b06), - CodeunitRange(0x9b08, 0x9b12), - CodeunitRange(0x9b14, 0x9b1a), - CodeunitRange(0x9b1e, 0x9b20), - CodeunitRange(0x9b22, 0x9b25), - CodeunitRange(0x9b27, 0x9b2b), - CodeunitRange(0x9b2d, 0x9b2f), - CodeunitRange(0x9b31, 0x9b35), - CodeunitRange(0x9b37, 0x9b37), - CodeunitRange(0x9b39, 0x9b3c), - CodeunitRange(0x9b3e, 0x9b46), - CodeunitRange(0x9b48, 0x9b48), - CodeunitRange(0x9b4a, 0x9b52), - CodeunitRange(0x9b54, 0x9b56), - CodeunitRange(0x9b58, 0x9b5b), - CodeunitRange(0x9b5f, 0x9b61), - CodeunitRange(0x9b64, 0x9b64), - CodeunitRange(0x9b66, 0x9b69), - CodeunitRange(0x9b6c, 0x9b6c), - CodeunitRange(0x9b6f, 0x9b71), - CodeunitRange(0x9b74, 0x9b77), - CodeunitRange(0x9b7a, 0x9b83), - CodeunitRange(0x9b85, 0x9b88), - CodeunitRange(0x9b8b, 0x9b8b), - CodeunitRange(0x9b8d, 0x9b93), - CodeunitRange(0x9b95, 0x9b95), - CodeunitRange(0x9b97, 0x9b97), - CodeunitRange(0x9b9a, 0x9b9b), - CodeunitRange(0x9b9d, 0x9ba2), - CodeunitRange(0x9ba4, 0x9ba6), - CodeunitRange(0x9ba8, 0x9ba8), - CodeunitRange(0x9baa, 0x9bab), - CodeunitRange(0x9bad, 0x9bb0), - CodeunitRange(0x9bb5, 0x9bb6), - CodeunitRange(0x9bb8, 0x9bb9), - CodeunitRange(0x9bbd, 0x9bbd), - CodeunitRange(0x9bbf, 0x9bc1), - CodeunitRange(0x9bc3, 0x9bc4), - CodeunitRange(0x9bc6, 0x9bca), - CodeunitRange(0x9bcf, 0x9bcf), - CodeunitRange(0x9bd3, 0x9bd7), - CodeunitRange(0x9bd9, 0x9bde), - CodeunitRange(0x9be0, 0x9be2), - CodeunitRange(0x9be4, 0x9bed), - CodeunitRange(0x9bf0, 0x9bf1), - CodeunitRange(0x9bf4, 0x9bf4), - CodeunitRange(0x9bf7, 0x9bf8), - CodeunitRange(0x9bfd, 0x9bfd), - CodeunitRange(0x9bff, 0x9bff), - CodeunitRange(0x9c02, 0x9c02), - CodeunitRange(0x9c05, 0x9c0e), - CodeunitRange(0x9c10, 0x9c10), - CodeunitRange(0x9c12, 0x9c15), - CodeunitRange(0x9c17, 0x9c17), - CodeunitRange(0x9c1b, 0x9c1d), - CodeunitRange(0x9c1f, 0x9c21), - CodeunitRange(0x9c23, 0x9c26), - CodeunitRange(0x9c28, 0x9c29), - CodeunitRange(0x9c2b, 0x9c2d), - CodeunitRange(0x9c2f, 0x9c2f), - CodeunitRange(0x9c31, 0x9c37), - CodeunitRange(0x9c39, 0x9c41), - CodeunitRange(0x9c44, 0x9c50), - CodeunitRange(0x9c52, 0x9c59), - CodeunitRange(0x9c5d, 0x9c60), - CodeunitRange(0x9c62, 0x9c63), - CodeunitRange(0x9c66, 0x9c68), - CodeunitRange(0x9c6d, 0x9c6e), - CodeunitRange(0x9c71, 0x9c75), - CodeunitRange(0x9c77, 0x9c7c), - CodeunitRange(0x9ce5, 0x9ce7), - CodeunitRange(0x9ce9, 0x9cea), - CodeunitRange(0x9ced, 0x9ced), - CodeunitRange(0x9cf1, 0x9cf7), - CodeunitRange(0x9cf9, 0x9cfd), - CodeunitRange(0x9cff, 0x9d00), - CodeunitRange(0x9d02, 0x9d09), - CodeunitRange(0x9d0c, 0x9d0c), - CodeunitRange(0x9d10, 0x9d10), - CodeunitRange(0x9d12, 0x9d12), - CodeunitRange(0x9d14, 0x9d19), - CodeunitRange(0x9d1b, 0x9d1b), - CodeunitRange(0x9d1d, 0x9d23), - CodeunitRange(0x9d25, 0x9d26), - CodeunitRange(0x9d28, 0x9d29), - CodeunitRange(0x9d2d, 0x9d31), - CodeunitRange(0x9d33, 0x9d34), - CodeunitRange(0x9d36, 0x9d39), - CodeunitRange(0x9d3b, 0x9d3b), - CodeunitRange(0x9d3d, 0x9d45), - CodeunitRange(0x9d49, 0x9d4c), - CodeunitRange(0x9d4e, 0x9d54), - CodeunitRange(0x9d56, 0x9d61), - CodeunitRange(0x9d67, 0x9d75), - CodeunitRange(0x9d77, 0x9d79), - CodeunitRange(0x9d7b, 0x9d8c), - CodeunitRange(0x9d90, 0x9d90), - CodeunitRange(0x9d92, 0x9d94), - CodeunitRange(0x9d96, 0x9dad), - CodeunitRange(0x9daf, 0x9daf), - CodeunitRange(0x9db1, 0x9dc5), - CodeunitRange(0x9dc7, 0x9ddf), - CodeunitRange(0x9de1, 0x9de6), - CodeunitRange(0x9de8, 0x9de9), - CodeunitRange(0x9deb, 0x9df0), - CodeunitRange(0x9df2, 0x9e07), - CodeunitRange(0x9e09, 0x9e15), - CodeunitRange(0x9e17, 0x9e1f), - CodeunitRange(0x9e75, 0x9e75), - CodeunitRange(0x9e79, 0x9e7d), - CodeunitRange(0x9e7f, 0x9e8e), - CodeunitRange(0x9e90, 0x9ea2), - CodeunitRange(0x9ea4, 0x9eb1), - CodeunitRange(0x9eb4, 0x9eb7), - CodeunitRange(0x9ebb, 0x9ec4), - CodeunitRange(0x9ec6, 0x9ec8), - CodeunitRange(0x9ecc, 0x9ed1), - CodeunitRange(0x9ed3, 0x9ed6), - CodeunitRange(0x9ed8, 0x9ed8), - CodeunitRange(0x9eda, 0x9ee0), - CodeunitRange(0x9ee2, 0x9ee2), - CodeunitRange(0x9ee4, 0x9ee8), - CodeunitRange(0x9eeb, 0x9eeb), - CodeunitRange(0x9eed, 0x9f02), - CodeunitRange(0x9f06, 0x9f0a), - CodeunitRange(0x9f0e, 0x9f10), - CodeunitRange(0x9f12, 0x9f13), - CodeunitRange(0x9f15, 0x9f1c), - CodeunitRange(0x9f1e, 0x9f1e), - CodeunitRange(0x9f20, 0x9f20), - CodeunitRange(0x9f22, 0x9f39), - CodeunitRange(0x9f3b, 0x9f3b), - CodeunitRange(0x9f3d, 0x9f3e), - CodeunitRange(0x9f40, 0x9f50), - CodeunitRange(0x9f52, 0x9f67), - CodeunitRange(0x9f69, 0x9f6c), - CodeunitRange(0x9f6e, 0x9f72), - CodeunitRange(0x9f74, 0x9f7b), - CodeunitRange(0x9f7e, 0x9f7f), - CodeunitRange(0x9f8d, 0x9f8e), - CodeunitRange(0x9f90, 0x9f92), - CodeunitRange(0x9f94, 0x9f99), - CodeunitRange(0x9f9c, 0x9f9c), - CodeunitRange(0x9f9f, 0x9fa0), - CodeunitRange(0x9fa2, 0x9fa2), - CodeunitRange(0x9fa4, 0x9fb3), - CodeunitRange(0x9fc7, 0x9fcb), - CodeunitRange(0x9fd0, 0x9fd0), - CodeunitRange(0xf900, 0xf903), - CodeunitRange(0xf905, 0xf907), - CodeunitRange(0xf90b, 0xf90b), - CodeunitRange(0xf90d, 0xf90d), - CodeunitRange(0xf915, 0xf915), - CodeunitRange(0xf917, 0xf917), - CodeunitRange(0xf91a, 0xf91a), - CodeunitRange(0xf922, 0xf922), - CodeunitRange(0xf92d, 0xf92d), - CodeunitRange(0xf931, 0xf931), - CodeunitRange(0xf937, 0xf937), - CodeunitRange(0xf939, 0xf93a), - CodeunitRange(0xf943, 0xf943), - CodeunitRange(0xf947, 0xf948), - CodeunitRange(0xf94a, 0xf94a), - CodeunitRange(0xf952, 0xf952), - CodeunitRange(0xf95e, 0xf95e), - CodeunitRange(0xf962, 0xf962), - CodeunitRange(0xf965, 0xf965), - CodeunitRange(0xf967, 0xf967), - CodeunitRange(0xf972, 0xf972), - CodeunitRange(0xf976, 0xf976), - CodeunitRange(0xf978, 0xf979), - CodeunitRange(0xf97e, 0xf97e), - CodeunitRange(0xf980, 0xf980), - CodeunitRange(0xf986, 0xf986), - CodeunitRange(0xf98a, 0xf98a), - CodeunitRange(0xf98e, 0xf98e), - CodeunitRange(0xf995, 0xf995), - CodeunitRange(0xf99c, 0xf99c), - CodeunitRange(0xf99f, 0xf99f), - CodeunitRange(0xf9b5, 0xf9b5), - CodeunitRange(0xf9bb, 0xf9bb), - CodeunitRange(0xf9bd, 0xf9bd), - CodeunitRange(0xf9c5, 0xf9c6), - CodeunitRange(0xf9c8, 0xf9c8), - CodeunitRange(0xf9d8, 0xf9d8), - CodeunitRange(0xf9dc, 0xf9de), - CodeunitRange(0xf9e0, 0xf9e0), - CodeunitRange(0xf9e4, 0xf9e4), - CodeunitRange(0xf9e7, 0xf9e7), - CodeunitRange(0xf9e9, 0xf9e9), - CodeunitRange(0xf9f4, 0xf9f5), - CodeunitRange(0xf9fa, 0xf9fa), - CodeunitRange(0xf9fd, 0xf9fd), - CodeunitRange(0xf9ff, 0xf9ff), - CodeunitRange(0xfa02, 0xfa02), - CodeunitRange(0xfa05, 0xfa08), - CodeunitRange(0xfa0a, 0xfa0a), - CodeunitRange(0xfa0c, 0xfa0d), - CodeunitRange(0xfa33, 0xfa35), - CodeunitRange(0xfa3a, 0xfa3a), - CodeunitRange(0xfa49, 0xfa49), - CodeunitRange(0xfa4b, 0xfa4b), - CodeunitRange(0xfa5d, 0xfa5e), - CodeunitRange(0xfb00, 0xfb04), - CodeunitRange(0xfe10, 0xfe19), - CodeunitRange(0xfe30, 0xfe52), - CodeunitRange(0xfe54, 0xfe66), - CodeunitRange(0xfe68, 0xfe6b), - CodeunitRange(0xff01, 0xff9f), - CodeunitRange(0xffa1, 0xffbe), - CodeunitRange(0xffc2, 0xffc7), - CodeunitRange(0xffca, 0xffcf), - CodeunitRange(0xffd2, 0xffd7), - CodeunitRange(0xffda, 0xffdc), - CodeunitRange(0xffe0, 0xffe6), - CodeunitRange(0xffe8, 0xffee), - CodeunitRange(0x1f100, 0x1f10c), - CodeunitRange(0x1f110, 0x1f16c), - CodeunitRange(0x1f170, 0x1f1ac), - CodeunitRange(0x1f200, 0x1f202), - CodeunitRange(0x1f210, 0x1f23b), - CodeunitRange(0x1f240, 0x1f248), - CodeunitRange(0x1f250, 0x1f251), - CodeunitRange(0x20021, 0x20021), - CodeunitRange(0x2003e, 0x2003e), - CodeunitRange(0x20046, 0x20046), - CodeunitRange(0x2004e, 0x2004e), - CodeunitRange(0x20068, 0x20068), - CodeunitRange(0x20086, 0x20087), - CodeunitRange(0x2008a, 0x2008a), - CodeunitRange(0x20094, 0x20094), - CodeunitRange(0x200ca, 0x200cd), - CodeunitRange(0x200d1, 0x200d1), - CodeunitRange(0x200ee, 0x200ee), - CodeunitRange(0x2010c, 0x2010c), - CodeunitRange(0x2010e, 0x2010e), - CodeunitRange(0x20118, 0x20118), - CodeunitRange(0x201a4, 0x201a4), - CodeunitRange(0x201a9, 0x201a9), - CodeunitRange(0x201ab, 0x201ab), - CodeunitRange(0x201c1, 0x201c1), - CodeunitRange(0x201d4, 0x201d4), - CodeunitRange(0x201f2, 0x201f2), - CodeunitRange(0x20204, 0x20204), - CodeunitRange(0x2020c, 0x2020c), - CodeunitRange(0x20214, 0x20214), - CodeunitRange(0x20239, 0x20239), - CodeunitRange(0x2025b, 0x2025b), - CodeunitRange(0x20274, 0x20275), - CodeunitRange(0x20299, 0x20299), - CodeunitRange(0x2029e, 0x2029e), - CodeunitRange(0x202a0, 0x202a0), - CodeunitRange(0x202b7, 0x202b7), - CodeunitRange(0x202bf, 0x202c0), - CodeunitRange(0x202e5, 0x202e5), - CodeunitRange(0x2030a, 0x2030a), - CodeunitRange(0x20325, 0x20325), - CodeunitRange(0x20341, 0x20341), - CodeunitRange(0x20345, 0x20347), - CodeunitRange(0x2037e, 0x20380), - CodeunitRange(0x203a0, 0x203a0), - CodeunitRange(0x203a7, 0x203a7), - CodeunitRange(0x203b5, 0x203b5), - CodeunitRange(0x203c9, 0x203c9), - CodeunitRange(0x203cb, 0x203cb), - CodeunitRange(0x203f5, 0x203f5), - CodeunitRange(0x203fc, 0x203fc), - CodeunitRange(0x20413, 0x20414), - CodeunitRange(0x2041f, 0x2041f), - CodeunitRange(0x20465, 0x20465), - CodeunitRange(0x20487, 0x20487), - CodeunitRange(0x2048e, 0x2048e), - CodeunitRange(0x20491, 0x20492), - CodeunitRange(0x204a3, 0x204a3), - CodeunitRange(0x204d7, 0x204d7), - CodeunitRange(0x204fc, 0x204fc), - CodeunitRange(0x204fe, 0x204fe), - CodeunitRange(0x20547, 0x20547), - CodeunitRange(0x2058e, 0x2058e), - CodeunitRange(0x205a5, 0x205a5), - CodeunitRange(0x205b3, 0x205b3), - CodeunitRange(0x205c3, 0x205c3), - CodeunitRange(0x205ca, 0x205ca), - CodeunitRange(0x205d0, 0x205d0), - CodeunitRange(0x205d5, 0x205d5), - CodeunitRange(0x205df, 0x205e0), - CodeunitRange(0x205eb, 0x205eb), - CodeunitRange(0x20611, 0x20611), - CodeunitRange(0x20615, 0x20615), - CodeunitRange(0x20619, 0x2061a), - CodeunitRange(0x20628, 0x20628), - CodeunitRange(0x20630, 0x20630), - CodeunitRange(0x20656, 0x20656), - CodeunitRange(0x20676, 0x20676), - CodeunitRange(0x2070e, 0x2070e), - CodeunitRange(0x20731, 0x20731), - CodeunitRange(0x20779, 0x20779), - CodeunitRange(0x2082c, 0x2082c), - CodeunitRange(0x20873, 0x20873), - CodeunitRange(0x208d5, 0x208d5), - CodeunitRange(0x20916, 0x20916), - CodeunitRange(0x20923, 0x20923), - CodeunitRange(0x20954, 0x20954), - CodeunitRange(0x20979, 0x20979), - CodeunitRange(0x209e7, 0x209e7), - CodeunitRange(0x20a11, 0x20a11), - CodeunitRange(0x20a50, 0x20a50), - CodeunitRange(0x20a6f, 0x20a6f), - CodeunitRange(0x20a8a, 0x20a8a), - CodeunitRange(0x20ab4, 0x20ab4), - CodeunitRange(0x20ac2, 0x20ac2), - CodeunitRange(0x20acd, 0x20acd), - CodeunitRange(0x20b0d, 0x20b0d), - CodeunitRange(0x20b8f, 0x20b8f), - CodeunitRange(0x20b9f, 0x20b9f), - CodeunitRange(0x20ba8, 0x20ba9), - CodeunitRange(0x20bbf, 0x20bbf), - CodeunitRange(0x20bc6, 0x20bc6), - CodeunitRange(0x20bcb, 0x20bcb), - CodeunitRange(0x20be2, 0x20be2), - CodeunitRange(0x20beb, 0x20beb), - CodeunitRange(0x20bfb, 0x20bfb), - CodeunitRange(0x20bff, 0x20bff), - CodeunitRange(0x20c0b, 0x20c0b), - CodeunitRange(0x20c0d, 0x20c0d), - CodeunitRange(0x20c20, 0x20c20), - CodeunitRange(0x20c34, 0x20c34), - CodeunitRange(0x20c3a, 0x20c3b), - CodeunitRange(0x20c41, 0x20c43), - CodeunitRange(0x20c53, 0x20c53), - CodeunitRange(0x20c65, 0x20c65), - CodeunitRange(0x20c77, 0x20c78), - CodeunitRange(0x20c7c, 0x20c7c), - CodeunitRange(0x20c8d, 0x20c8d), - CodeunitRange(0x20c96, 0x20c96), - CodeunitRange(0x20c9c, 0x20c9c), - CodeunitRange(0x20cb5, 0x20cb5), - CodeunitRange(0x20cb8, 0x20cb8), - CodeunitRange(0x20ccf, 0x20ccf), - CodeunitRange(0x20cd3, 0x20cd6), - CodeunitRange(0x20cdd, 0x20cdd), - CodeunitRange(0x20ced, 0x20ced), - CodeunitRange(0x20cff, 0x20cff), - CodeunitRange(0x20d15, 0x20d15), - CodeunitRange(0x20d28, 0x20d28), - CodeunitRange(0x20d31, 0x20d32), - CodeunitRange(0x20d46, 0x20d49), - CodeunitRange(0x20d4c, 0x20d4e), - CodeunitRange(0x20d6f, 0x20d6f), - CodeunitRange(0x20d71, 0x20d71), - CodeunitRange(0x20d74, 0x20d74), - CodeunitRange(0x20d7c, 0x20d7c), - CodeunitRange(0x20d7e, 0x20d7f), - CodeunitRange(0x20d96, 0x20d96), - CodeunitRange(0x20d9c, 0x20d9c), - CodeunitRange(0x20da7, 0x20da7), - CodeunitRange(0x20db2, 0x20db2), - CodeunitRange(0x20dc8, 0x20dc8), - CodeunitRange(0x20e04, 0x20e04), - CodeunitRange(0x20e09, 0x20e0a), - CodeunitRange(0x20e0d, 0x20e11), - CodeunitRange(0x20e16, 0x20e16), - CodeunitRange(0x20e1d, 0x20e1d), - CodeunitRange(0x20e4c, 0x20e4c), - CodeunitRange(0x20e6d, 0x20e6d), - CodeunitRange(0x20e73, 0x20e73), - CodeunitRange(0x20e75, 0x20e7b), - CodeunitRange(0x20e8c, 0x20e8c), - CodeunitRange(0x20e96, 0x20e96), - CodeunitRange(0x20e98, 0x20e98), - CodeunitRange(0x20e9d, 0x20e9d), - CodeunitRange(0x20ea2, 0x20ea2), - CodeunitRange(0x20eaa, 0x20eac), - CodeunitRange(0x20eb6, 0x20eb6), - CodeunitRange(0x20ed7, 0x20ed8), - CodeunitRange(0x20edd, 0x20edd), - CodeunitRange(0x20ef8, 0x20efb), - CodeunitRange(0x20f1d, 0x20f1d), - CodeunitRange(0x20f26, 0x20f26), - CodeunitRange(0x20f2d, 0x20f2e), - CodeunitRange(0x20f30, 0x20f31), - CodeunitRange(0x20f3b, 0x20f3b), - CodeunitRange(0x20f4c, 0x20f4c), - CodeunitRange(0x20f64, 0x20f64), - CodeunitRange(0x20f8d, 0x20f8d), - CodeunitRange(0x20f90, 0x20f90), - CodeunitRange(0x20fad, 0x20fad), - CodeunitRange(0x20fb4, 0x20fb6), - CodeunitRange(0x20fbc, 0x20fbc), - CodeunitRange(0x20fdf, 0x20fdf), - CodeunitRange(0x20fea, 0x20fed), - CodeunitRange(0x21014, 0x21014), - CodeunitRange(0x2101d, 0x2101e), - CodeunitRange(0x2104f, 0x2104f), - CodeunitRange(0x2105c, 0x2105c), - CodeunitRange(0x2106f, 0x2106f), - CodeunitRange(0x21075, 0x21078), - CodeunitRange(0x2107b, 0x2107b), - CodeunitRange(0x21088, 0x21088), - CodeunitRange(0x21096, 0x21096), - CodeunitRange(0x2109d, 0x2109d), - CodeunitRange(0x210b4, 0x210b4), - CodeunitRange(0x210bf, 0x210c1), - CodeunitRange(0x210c7, 0x210c9), - CodeunitRange(0x210cf, 0x210cf), - CodeunitRange(0x210d3, 0x210d3), - CodeunitRange(0x210e4, 0x210e4), - CodeunitRange(0x210f4, 0x210f6), - CodeunitRange(0x2112f, 0x2112f), - CodeunitRange(0x2113b, 0x2113b), - CodeunitRange(0x2113d, 0x2113d), - CodeunitRange(0x21145, 0x21145), - CodeunitRange(0x21148, 0x21148), - CodeunitRange(0x2114f, 0x2114f), - CodeunitRange(0x21180, 0x21180), - CodeunitRange(0x21187, 0x21187), - CodeunitRange(0x211d9, 0x211d9), - CodeunitRange(0x2123c, 0x2123c), - CodeunitRange(0x2124f, 0x2124f), - CodeunitRange(0x2127c, 0x2127c), - CodeunitRange(0x212a8, 0x212a9), - CodeunitRange(0x212b0, 0x212b0), - CodeunitRange(0x212e3, 0x212e3), - CodeunitRange(0x212fe, 0x212fe), - CodeunitRange(0x21302, 0x21305), - CodeunitRange(0x21336, 0x21336), - CodeunitRange(0x2133a, 0x2133a), - CodeunitRange(0x21375, 0x21376), - CodeunitRange(0x2138e, 0x2138e), - CodeunitRange(0x21398, 0x21398), - CodeunitRange(0x2139c, 0x2139c), - CodeunitRange(0x213c5, 0x213c6), - CodeunitRange(0x213ed, 0x213ed), - CodeunitRange(0x213fe, 0x213fe), - CodeunitRange(0x21413, 0x21413), - CodeunitRange(0x21416, 0x21416), - CodeunitRange(0x21424, 0x21424), - CodeunitRange(0x2143f, 0x2143f), - CodeunitRange(0x21452, 0x21452), - CodeunitRange(0x21454, 0x21455), - CodeunitRange(0x2148a, 0x2148a), - CodeunitRange(0x21497, 0x21497), - CodeunitRange(0x214b6, 0x214b6), - CodeunitRange(0x214e8, 0x214e8), - CodeunitRange(0x214fd, 0x214fd), - CodeunitRange(0x21577, 0x21577), - CodeunitRange(0x21582, 0x21582), - CodeunitRange(0x21596, 0x21596), - CodeunitRange(0x2160a, 0x2160a), - CodeunitRange(0x21613, 0x21613), - CodeunitRange(0x21619, 0x21619), - CodeunitRange(0x2163e, 0x2163e), - CodeunitRange(0x21661, 0x21661), - CodeunitRange(0x21692, 0x21692), - CodeunitRange(0x216b8, 0x216b8), - CodeunitRange(0x216ba, 0x216ba), - CodeunitRange(0x216c0, 0x216c2), - CodeunitRange(0x216d3, 0x216d3), - CodeunitRange(0x216d5, 0x216d5), - CodeunitRange(0x216df, 0x216df), - CodeunitRange(0x216e6, 0x216e8), - CodeunitRange(0x216fa, 0x216fc), - CodeunitRange(0x216fe, 0x216fe), - CodeunitRange(0x2170d, 0x2170d), - CodeunitRange(0x21710, 0x21710), - CodeunitRange(0x21726, 0x21726), - CodeunitRange(0x2173a, 0x2173c), - CodeunitRange(0x21757, 0x21757), - CodeunitRange(0x2176c, 0x21771), - CodeunitRange(0x21773, 0x21774), - CodeunitRange(0x217ab, 0x217ab), - CodeunitRange(0x217b0, 0x217b5), - CodeunitRange(0x217c3, 0x217c3), - CodeunitRange(0x217c7, 0x217c7), - CodeunitRange(0x217d9, 0x217dc), - CodeunitRange(0x217df, 0x217df), - CodeunitRange(0x217ef, 0x217ef), - CodeunitRange(0x217f5, 0x217f6), - CodeunitRange(0x217f8, 0x217fc), - CodeunitRange(0x21820, 0x21820), - CodeunitRange(0x21828, 0x2182a), - CodeunitRange(0x2182d, 0x2182d), - CodeunitRange(0x21839, 0x2183b), - CodeunitRange(0x21840, 0x21840), - CodeunitRange(0x21845, 0x21845), - CodeunitRange(0x21852, 0x21852), - CodeunitRange(0x2185e, 0x2185e), - CodeunitRange(0x21861, 0x21864), - CodeunitRange(0x21877, 0x21877), - CodeunitRange(0x2187b, 0x2187b), - CodeunitRange(0x21883, 0x21885), - CodeunitRange(0x2189e, 0x218a2), - CodeunitRange(0x218be, 0x218bf), - CodeunitRange(0x218d1, 0x218d1), - CodeunitRange(0x218d6, 0x218d9), - CodeunitRange(0x218fa, 0x218fa), - CodeunitRange(0x21903, 0x21905), - CodeunitRange(0x21910, 0x21912), - CodeunitRange(0x21915, 0x21915), - CodeunitRange(0x2191c, 0x2191c), - CodeunitRange(0x21922, 0x21922), - CodeunitRange(0x21927, 0x21927), - CodeunitRange(0x2193b, 0x2193b), - CodeunitRange(0x21944, 0x21944), - CodeunitRange(0x21958, 0x21958), - CodeunitRange(0x2196a, 0x2196a), - CodeunitRange(0x2197c, 0x2197c), - CodeunitRange(0x21980, 0x21980), - CodeunitRange(0x21983, 0x21983), - CodeunitRange(0x21988, 0x21988), - CodeunitRange(0x21996, 0x21996), - CodeunitRange(0x219db, 0x219db), - CodeunitRange(0x219f3, 0x219f3), - CodeunitRange(0x21a2d, 0x21a2d), - CodeunitRange(0x21a34, 0x21a34), - CodeunitRange(0x21a45, 0x21a45), - CodeunitRange(0x21a4b, 0x21a4b), - CodeunitRange(0x21a63, 0x21a63), - CodeunitRange(0x21b44, 0x21b44), - CodeunitRange(0x21bc1, 0x21bc2), - CodeunitRange(0x21c2a, 0x21c2a), - CodeunitRange(0x21c70, 0x21c70), - CodeunitRange(0x21ca2, 0x21ca2), - CodeunitRange(0x21ca5, 0x21ca5), - CodeunitRange(0x21cac, 0x21cac), - CodeunitRange(0x21d46, 0x21d46), - CodeunitRange(0x21d53, 0x21d53), - CodeunitRange(0x21d5e, 0x21d5e), - CodeunitRange(0x21d90, 0x21d90), - CodeunitRange(0x21db6, 0x21db6), - CodeunitRange(0x21dba, 0x21dba), - CodeunitRange(0x21dca, 0x21dca), - CodeunitRange(0x21dd1, 0x21dd1), - CodeunitRange(0x21deb, 0x21deb), - CodeunitRange(0x21df9, 0x21df9), - CodeunitRange(0x21e1c, 0x21e1c), - CodeunitRange(0x21e23, 0x21e23), - CodeunitRange(0x21e37, 0x21e37), - CodeunitRange(0x21e3d, 0x21e3d), - CodeunitRange(0x21e89, 0x21e89), - CodeunitRange(0x21ea4, 0x21ea4), - CodeunitRange(0x21ea8, 0x21ea8), - CodeunitRange(0x21ec8, 0x21ec8), - CodeunitRange(0x21ed5, 0x21ed5), - CodeunitRange(0x21f0f, 0x21f0f), - CodeunitRange(0x21f15, 0x21f15), - CodeunitRange(0x21f6a, 0x21f6a), - CodeunitRange(0x21f9e, 0x21f9e), - CodeunitRange(0x21fa1, 0x21fa1), - CodeunitRange(0x21fe8, 0x21fe8), - CodeunitRange(0x22045, 0x22045), - CodeunitRange(0x22049, 0x22049), - CodeunitRange(0x2207e, 0x2207e), - CodeunitRange(0x2209a, 0x2209a), - CodeunitRange(0x220c7, 0x220c7), - CodeunitRange(0x220fc, 0x220fc), - CodeunitRange(0x2212a, 0x2212a), - CodeunitRange(0x2215b, 0x2215b), - CodeunitRange(0x22173, 0x22173), - CodeunitRange(0x2217a, 0x2217a), - CodeunitRange(0x221a1, 0x221a1), - CodeunitRange(0x221c1, 0x221c1), - CodeunitRange(0x221c3, 0x221c3), - CodeunitRange(0x22208, 0x22208), - CodeunitRange(0x2227c, 0x2227c), - CodeunitRange(0x22321, 0x22321), - CodeunitRange(0x22325, 0x22325), - CodeunitRange(0x223bd, 0x223bd), - CodeunitRange(0x223d0, 0x223d0), - CodeunitRange(0x223d7, 0x223d7), - CodeunitRange(0x223fa, 0x223fa), - CodeunitRange(0x22465, 0x22465), - CodeunitRange(0x22471, 0x22471), - CodeunitRange(0x2248b, 0x2248b), - CodeunitRange(0x22491, 0x22491), - CodeunitRange(0x224b0, 0x224b0), - CodeunitRange(0x224bc, 0x224bc), - CodeunitRange(0x224c1, 0x224c1), - CodeunitRange(0x224c9, 0x224c9), - CodeunitRange(0x224cc, 0x224cc), - CodeunitRange(0x224ed, 0x224ed), - CodeunitRange(0x22513, 0x22513), - CodeunitRange(0x2251b, 0x2251b), - CodeunitRange(0x22530, 0x22530), - CodeunitRange(0x22554, 0x22554), - CodeunitRange(0x2258d, 0x2258d), - CodeunitRange(0x225af, 0x225af), - CodeunitRange(0x225be, 0x225be), - CodeunitRange(0x2261b, 0x2261c), - CodeunitRange(0x2262b, 0x2262b), - CodeunitRange(0x22668, 0x22668), - CodeunitRange(0x2267a, 0x2267a), - CodeunitRange(0x22696, 0x22696), - CodeunitRange(0x22698, 0x22698), - CodeunitRange(0x226f4, 0x226f6), - CodeunitRange(0x22712, 0x22712), - CodeunitRange(0x22714, 0x22714), - CodeunitRange(0x2271b, 0x2271b), - CodeunitRange(0x2271f, 0x2271f), - CodeunitRange(0x2272a, 0x2272a), - CodeunitRange(0x22775, 0x22775), - CodeunitRange(0x22781, 0x22781), - CodeunitRange(0x22796, 0x22796), - CodeunitRange(0x227b4, 0x227b5), - CodeunitRange(0x227cd, 0x227cd), - CodeunitRange(0x22803, 0x22803), - CodeunitRange(0x2285f, 0x22860), - CodeunitRange(0x22871, 0x22871), - CodeunitRange(0x228ad, 0x228ad), - CodeunitRange(0x228c1, 0x228c1), - CodeunitRange(0x228f7, 0x228f7), - CodeunitRange(0x22926, 0x22926), - CodeunitRange(0x22939, 0x22939), - CodeunitRange(0x2294f, 0x2294f), - CodeunitRange(0x22967, 0x22967), - CodeunitRange(0x2296b, 0x2296b), - CodeunitRange(0x22980, 0x22980), - CodeunitRange(0x22993, 0x22993), - CodeunitRange(0x22a66, 0x22a66), - CodeunitRange(0x22acf, 0x22acf), - CodeunitRange(0x22ad5, 0x22ad5), - CodeunitRange(0x22ae6, 0x22ae6), - CodeunitRange(0x22ae8, 0x22ae8), - CodeunitRange(0x22b0e, 0x22b0e), - CodeunitRange(0x22b22, 0x22b22), - CodeunitRange(0x22b3f, 0x22b3f), - CodeunitRange(0x22b43, 0x22b43), - CodeunitRange(0x22b6a, 0x22b6a), - CodeunitRange(0x22bca, 0x22bca), - CodeunitRange(0x22bce, 0x22bce), - CodeunitRange(0x22c26, 0x22c27), - CodeunitRange(0x22c38, 0x22c38), - CodeunitRange(0x22c4c, 0x22c4c), - CodeunitRange(0x22c51, 0x22c51), - CodeunitRange(0x22c55, 0x22c55), - CodeunitRange(0x22c62, 0x22c62), - CodeunitRange(0x22c88, 0x22c88), - CodeunitRange(0x22c9b, 0x22c9b), - CodeunitRange(0x22ca1, 0x22ca1), - CodeunitRange(0x22ca9, 0x22ca9), - CodeunitRange(0x22cb2, 0x22cb2), - CodeunitRange(0x22cb7, 0x22cb7), - CodeunitRange(0x22cc2, 0x22cc2), - CodeunitRange(0x22cc6, 0x22cc6), - CodeunitRange(0x22cc9, 0x22cc9), - CodeunitRange(0x22d07, 0x22d08), - CodeunitRange(0x22d12, 0x22d12), - CodeunitRange(0x22d44, 0x22d44), - CodeunitRange(0x22d4c, 0x22d4c), - CodeunitRange(0x22d67, 0x22d67), - CodeunitRange(0x22d8d, 0x22d8d), - CodeunitRange(0x22d95, 0x22d95), - CodeunitRange(0x22da0, 0x22da0), - CodeunitRange(0x22da3, 0x22da4), - CodeunitRange(0x22db7, 0x22db7), - CodeunitRange(0x22dee, 0x22dee), - CodeunitRange(0x22e0d, 0x22e0d), - CodeunitRange(0x22e36, 0x22e36), - CodeunitRange(0x22e42, 0x22e42), - CodeunitRange(0x22e78, 0x22e78), - CodeunitRange(0x22e8b, 0x22e8b), - CodeunitRange(0x22eb3, 0x22eb3), - CodeunitRange(0x22eef, 0x22eef), - CodeunitRange(0x22f74, 0x22f74), - CodeunitRange(0x22fcc, 0x22fcc), - CodeunitRange(0x22fe3, 0x22fe3), - CodeunitRange(0x23033, 0x23033), - CodeunitRange(0x23044, 0x23044), - CodeunitRange(0x2304b, 0x2304b), - CodeunitRange(0x23066, 0x23066), - CodeunitRange(0x2307d, 0x2307e), - CodeunitRange(0x2308e, 0x2308e), - CodeunitRange(0x230b7, 0x230b7), - CodeunitRange(0x230bc, 0x230bc), - CodeunitRange(0x230da, 0x230da), - CodeunitRange(0x23103, 0x23103), - CodeunitRange(0x2313d, 0x2313d), - CodeunitRange(0x2317d, 0x2317d), - CodeunitRange(0x23182, 0x23182), - CodeunitRange(0x231a4, 0x231a5), - CodeunitRange(0x231b3, 0x231b3), - CodeunitRange(0x231c8, 0x231c9), - CodeunitRange(0x231ea, 0x231ea), - CodeunitRange(0x231f7, 0x231f9), - CodeunitRange(0x2320f, 0x2320f), - CodeunitRange(0x23225, 0x23225), - CodeunitRange(0x2322f, 0x2322f), - CodeunitRange(0x23231, 0x23234), - CodeunitRange(0x23256, 0x23256), - CodeunitRange(0x2325e, 0x2325e), - CodeunitRange(0x23262, 0x23262), - CodeunitRange(0x23281, 0x23281), - CodeunitRange(0x23289, 0x2328a), - CodeunitRange(0x232ab, 0x232ad), - CodeunitRange(0x232d2, 0x232d2), - CodeunitRange(0x232e0, 0x232e1), - CodeunitRange(0x23300, 0x23300), - CodeunitRange(0x2330a, 0x2330a), - CodeunitRange(0x2331f, 0x2331f), - CodeunitRange(0x233b4, 0x233b4), - CodeunitRange(0x233cc, 0x233cc), - CodeunitRange(0x233de, 0x233de), - CodeunitRange(0x233e6, 0x233e6), - CodeunitRange(0x233f4, 0x233f5), - CodeunitRange(0x233f9, 0x233fa), - CodeunitRange(0x233fe, 0x233fe), - CodeunitRange(0x23400, 0x23400), - CodeunitRange(0x2343f, 0x2343f), - CodeunitRange(0x23450, 0x23450), - CodeunitRange(0x2346f, 0x2346f), - CodeunitRange(0x23472, 0x23472), - CodeunitRange(0x234e5, 0x234e5), - CodeunitRange(0x23519, 0x23519), - CodeunitRange(0x23530, 0x23530), - CodeunitRange(0x23551, 0x23551), - CodeunitRange(0x2355a, 0x2355a), - CodeunitRange(0x23567, 0x23567), - CodeunitRange(0x23595, 0x23595), - CodeunitRange(0x23599, 0x23599), - CodeunitRange(0x2359c, 0x2359c), - CodeunitRange(0x235bb, 0x235bb), - CodeunitRange(0x235cd, 0x235cf), - CodeunitRange(0x235f3, 0x235f3), - CodeunitRange(0x23600, 0x23600), - CodeunitRange(0x23617, 0x23617), - CodeunitRange(0x2361a, 0x2361a), - CodeunitRange(0x2363c, 0x2363c), - CodeunitRange(0x23640, 0x23640), - CodeunitRange(0x23659, 0x23659), - CodeunitRange(0x2365f, 0x2365f), - CodeunitRange(0x23677, 0x23677), - CodeunitRange(0x2368e, 0x2368e), - CodeunitRange(0x2369e, 0x2369e), - CodeunitRange(0x236a6, 0x236a6), - CodeunitRange(0x236ad, 0x236ad), - CodeunitRange(0x236ba, 0x236ba), - CodeunitRange(0x236df, 0x236df), - CodeunitRange(0x236ee, 0x236ee), - CodeunitRange(0x23703, 0x23703), - CodeunitRange(0x23716, 0x23716), - CodeunitRange(0x23720, 0x23720), - CodeunitRange(0x2372d, 0x2372d), - CodeunitRange(0x2372f, 0x2372f), - CodeunitRange(0x2373f, 0x2373f), - CodeunitRange(0x23766, 0x23766), - CodeunitRange(0x23781, 0x23781), - CodeunitRange(0x237a2, 0x237a2), - CodeunitRange(0x237bc, 0x237bc), - CodeunitRange(0x237c2, 0x237c2), - CodeunitRange(0x237d5, 0x237d7), - CodeunitRange(0x2383a, 0x2383a), - CodeunitRange(0x239c2, 0x239c2), - CodeunitRange(0x23aa7, 0x23aa7), - CodeunitRange(0x23adb, 0x23adb), - CodeunitRange(0x23aee, 0x23aee), - CodeunitRange(0x23afa, 0x23afa), - CodeunitRange(0x23b1a, 0x23b1a), - CodeunitRange(0x23b5a, 0x23b5a), - CodeunitRange(0x23c63, 0x23c63), - CodeunitRange(0x23c99, 0x23c9b), - CodeunitRange(0x23cb5, 0x23cb5), - CodeunitRange(0x23cb7, 0x23cb7), - CodeunitRange(0x23cc7, 0x23cc9), - CodeunitRange(0x23cfc, 0x23cff), - CodeunitRange(0x23d40, 0x23d40), - CodeunitRange(0x23d5b, 0x23d5b), - CodeunitRange(0x23d7e, 0x23d7e), - CodeunitRange(0x23d8f, 0x23d8f), - CodeunitRange(0x23db6, 0x23dbd), - CodeunitRange(0x23de3, 0x23de3), - CodeunitRange(0x23df8, 0x23df8), - CodeunitRange(0x23e06, 0x23e06), - CodeunitRange(0x23e11, 0x23e11), - CodeunitRange(0x23e2c, 0x23e31), - CodeunitRange(0x23e39, 0x23e39), - CodeunitRange(0x23e88, 0x23e8b), - CodeunitRange(0x23eb9, 0x23eb9), - CodeunitRange(0x23ebf, 0x23ebf), - CodeunitRange(0x23ed7, 0x23ed7), - CodeunitRange(0x23ef7, 0x23efc), - CodeunitRange(0x23f35, 0x23f35), - CodeunitRange(0x23f41, 0x23f41), - CodeunitRange(0x23f4a, 0x23f4a), - CodeunitRange(0x23f61, 0x23f61), - CodeunitRange(0x23f7f, 0x23f82), - CodeunitRange(0x23f8f, 0x23f8f), - CodeunitRange(0x23fb4, 0x23fb4), - CodeunitRange(0x23fb7, 0x23fb7), - CodeunitRange(0x23fc0, 0x23fc0), - CodeunitRange(0x23fc5, 0x23fc5), - CodeunitRange(0x23feb, 0x23ff0), - CodeunitRange(0x24011, 0x24011), - CodeunitRange(0x24039, 0x2403d), - CodeunitRange(0x24057, 0x24057), - CodeunitRange(0x24085, 0x24085), - CodeunitRange(0x2408b, 0x2408d), - CodeunitRange(0x24091, 0x24091), - CodeunitRange(0x240c9, 0x240c9), - CodeunitRange(0x240e1, 0x240e1), - CodeunitRange(0x240ec, 0x240ec), - CodeunitRange(0x24104, 0x24104), - CodeunitRange(0x2410f, 0x2410f), - CodeunitRange(0x24119, 0x24119), - CodeunitRange(0x2413f, 0x24140), - CodeunitRange(0x24144, 0x24144), - CodeunitRange(0x2414e, 0x2414e), - CodeunitRange(0x24155, 0x24157), - CodeunitRange(0x2415c, 0x2415c), - CodeunitRange(0x2415f, 0x2415f), - CodeunitRange(0x24161, 0x24161), - CodeunitRange(0x24177, 0x24177), - CodeunitRange(0x2417a, 0x2417a), - CodeunitRange(0x241a3, 0x241a5), - CodeunitRange(0x241ac, 0x241ac), - CodeunitRange(0x241b5, 0x241b5), - CodeunitRange(0x241cd, 0x241cd), - CodeunitRange(0x241e2, 0x241e2), - CodeunitRange(0x241fc, 0x241fc), - CodeunitRange(0x2421b, 0x2421b), - CodeunitRange(0x2424b, 0x2424b), - CodeunitRange(0x24256, 0x24256), - CodeunitRange(0x24259, 0x24259), - CodeunitRange(0x24276, 0x24278), - CodeunitRange(0x24284, 0x24284), - CodeunitRange(0x24293, 0x24293), - CodeunitRange(0x24295, 0x24295), - CodeunitRange(0x242a5, 0x242a5), - CodeunitRange(0x242bf, 0x242bf), - CodeunitRange(0x242c1, 0x242c1), - CodeunitRange(0x242c9, 0x242ca), - CodeunitRange(0x242ee, 0x242ee), - CodeunitRange(0x242fa, 0x242fa), - CodeunitRange(0x2430d, 0x2430d), - CodeunitRange(0x2431a, 0x2431a), - CodeunitRange(0x24334, 0x24334), - CodeunitRange(0x24348, 0x24348), - CodeunitRange(0x24362, 0x24365), - CodeunitRange(0x2438c, 0x2438c), - CodeunitRange(0x24396, 0x24396), - CodeunitRange(0x2439c, 0x2439c), - CodeunitRange(0x243bd, 0x243bd), - CodeunitRange(0x243c1, 0x243c1), - CodeunitRange(0x243e9, 0x243ea), - CodeunitRange(0x243f2, 0x243f2), - CodeunitRange(0x243f8, 0x243f8), - CodeunitRange(0x24404, 0x24404), - CodeunitRange(0x24435, 0x24436), - CodeunitRange(0x2445a, 0x2445b), - CodeunitRange(0x24473, 0x24473), - CodeunitRange(0x24487, 0x24488), - CodeunitRange(0x244b9, 0x244b9), - CodeunitRange(0x244bc, 0x244bc), - CodeunitRange(0x244ce, 0x244ce), - CodeunitRange(0x244d3, 0x244d3), - CodeunitRange(0x244d6, 0x244d6), - CodeunitRange(0x24505, 0x24505), - CodeunitRange(0x24521, 0x24521), - CodeunitRange(0x24578, 0x24578), - CodeunitRange(0x245c8, 0x245c8), - CodeunitRange(0x24618, 0x24618), - CodeunitRange(0x2462a, 0x2462a), - CodeunitRange(0x24665, 0x24665), - CodeunitRange(0x24674, 0x24674), - CodeunitRange(0x24697, 0x24697), - CodeunitRange(0x246d4, 0x246d4), - CodeunitRange(0x24706, 0x24706), - CodeunitRange(0x24725, 0x24725), - CodeunitRange(0x2472f, 0x2472f), - CodeunitRange(0x2478f, 0x2478f), - CodeunitRange(0x247e0, 0x247e0), - CodeunitRange(0x24812, 0x24812), - CodeunitRange(0x24823, 0x24823), - CodeunitRange(0x24882, 0x24882), - CodeunitRange(0x248e9, 0x248e9), - CodeunitRange(0x248f0, 0x248f3), - CodeunitRange(0x248fb, 0x248fb), - CodeunitRange(0x248ff, 0x24901), - CodeunitRange(0x2490c, 0x2490c), - CodeunitRange(0x24916, 0x24917), - CodeunitRange(0x24919, 0x24919), - CodeunitRange(0x2492f, 0x2492f), - CodeunitRange(0x24933, 0x24934), - CodeunitRange(0x2493e, 0x24943), - CodeunitRange(0x24962, 0x24963), - CodeunitRange(0x24974, 0x24976), - CodeunitRange(0x2497b, 0x2497b), - CodeunitRange(0x2497f, 0x2497f), - CodeunitRange(0x24982, 0x24982), - CodeunitRange(0x24988, 0x2498f), - CodeunitRange(0x24994, 0x24994), - CodeunitRange(0x249a4, 0x249a4), - CodeunitRange(0x249a7, 0x249a7), - CodeunitRange(0x249a9, 0x249a9), - CodeunitRange(0x249ab, 0x249ad), - CodeunitRange(0x249b7, 0x249bb), - CodeunitRange(0x249c5, 0x249c5), - CodeunitRange(0x249d0, 0x249d0), - CodeunitRange(0x249da, 0x249da), - CodeunitRange(0x249de, 0x249df), - CodeunitRange(0x249e3, 0x249e3), - CodeunitRange(0x249e5, 0x249e5), - CodeunitRange(0x249ec, 0x249ed), - CodeunitRange(0x249f6, 0x249f9), - CodeunitRange(0x249fb, 0x249fb), - CodeunitRange(0x24a0e, 0x24a0e), - CodeunitRange(0x24a12, 0x24a13), - CodeunitRange(0x24a15, 0x24a15), - CodeunitRange(0x24a21, 0x24a2a), - CodeunitRange(0x24a3e, 0x24a3e), - CodeunitRange(0x24a42, 0x24a42), - CodeunitRange(0x24a45, 0x24a45), - CodeunitRange(0x24a4a, 0x24a4a), - CodeunitRange(0x24a4e, 0x24a51), - CodeunitRange(0x24a5d, 0x24a5d), - CodeunitRange(0x24a65, 0x24a67), - CodeunitRange(0x24a71, 0x24a71), - CodeunitRange(0x24a77, 0x24a7a), - CodeunitRange(0x24a8c, 0x24a8c), - CodeunitRange(0x24a93, 0x24a96), - CodeunitRange(0x24aa4, 0x24aa7), - CodeunitRange(0x24ab1, 0x24ab3), - CodeunitRange(0x24aba, 0x24abc), - CodeunitRange(0x24ac0, 0x24ac0), - CodeunitRange(0x24ac7, 0x24ac7), - CodeunitRange(0x24aca, 0x24aca), - CodeunitRange(0x24ad1, 0x24ad1), - CodeunitRange(0x24adf, 0x24adf), - CodeunitRange(0x24ae2, 0x24ae2), - CodeunitRange(0x24ae9, 0x24ae9), - CodeunitRange(0x24b0f, 0x24b0f), - CodeunitRange(0x24b6e, 0x24b6e), - CodeunitRange(0x24bf5, 0x24bf5), - CodeunitRange(0x24c09, 0x24c09), - CodeunitRange(0x24c9e, 0x24c9f), - CodeunitRange(0x24cc9, 0x24cc9), - CodeunitRange(0x24cd9, 0x24cd9), - CodeunitRange(0x24d06, 0x24d06), - CodeunitRange(0x24d13, 0x24d13), - CodeunitRange(0x24db8, 0x24db8), - CodeunitRange(0x24dea, 0x24deb), - CodeunitRange(0x24e3b, 0x24e3b), - CodeunitRange(0x24e50, 0x24e50), - CodeunitRange(0x24ea5, 0x24ea5), - CodeunitRange(0x24ea7, 0x24ea7), - CodeunitRange(0x24f0e, 0x24f0e), - CodeunitRange(0x24f5c, 0x24f5c), - CodeunitRange(0x24f82, 0x24f82), - CodeunitRange(0x24f86, 0x24f86), - CodeunitRange(0x24f97, 0x24f97), - CodeunitRange(0x24f9a, 0x24f9a), - CodeunitRange(0x24fa9, 0x24fa9), - CodeunitRange(0x24fb8, 0x24fb8), - CodeunitRange(0x24fc2, 0x24fc2), - CodeunitRange(0x2502c, 0x2502c), - CodeunitRange(0x25052, 0x25052), - CodeunitRange(0x2509d, 0x2509d), - CodeunitRange(0x2512b, 0x2512b), - CodeunitRange(0x25148, 0x25148), - CodeunitRange(0x2517d, 0x2517e), - CodeunitRange(0x251cd, 0x251cd), - CodeunitRange(0x251e3, 0x251e3), - CodeunitRange(0x251e6, 0x251e7), - CodeunitRange(0x25220, 0x25221), - CodeunitRange(0x25250, 0x25250), - CodeunitRange(0x25299, 0x25299), - CodeunitRange(0x252c7, 0x252c7), - CodeunitRange(0x252d8, 0x252d8), - CodeunitRange(0x2530e, 0x2530e), - CodeunitRange(0x25311, 0x25311), - CodeunitRange(0x25313, 0x25313), - CodeunitRange(0x25419, 0x25419), - CodeunitRange(0x25425, 0x25425), - CodeunitRange(0x2542f, 0x25430), - CodeunitRange(0x25446, 0x25446), - CodeunitRange(0x2546c, 0x2546c), - CodeunitRange(0x2546e, 0x2546e), - CodeunitRange(0x2549a, 0x2549a), - CodeunitRange(0x25531, 0x25531), - CodeunitRange(0x25535, 0x25535), - CodeunitRange(0x2553f, 0x2553f), - CodeunitRange(0x2555b, 0x2555e), - CodeunitRange(0x25562, 0x25562), - CodeunitRange(0x25565, 0x25566), - CodeunitRange(0x25581, 0x25581), - CodeunitRange(0x25584, 0x25584), - CodeunitRange(0x2558f, 0x2558f), - CodeunitRange(0x255b9, 0x255b9), - CodeunitRange(0x255d5, 0x255d5), - CodeunitRange(0x255db, 0x255db), - CodeunitRange(0x255e0, 0x255e0), - CodeunitRange(0x25605, 0x25605), - CodeunitRange(0x25635, 0x25635), - CodeunitRange(0x25651, 0x25651), - CodeunitRange(0x25683, 0x25683), - CodeunitRange(0x25695, 0x25695), - CodeunitRange(0x256e3, 0x256e3), - CodeunitRange(0x256f6, 0x256f6), - CodeunitRange(0x25706, 0x25706), - CodeunitRange(0x2571d, 0x2571d), - CodeunitRange(0x25725, 0x25725), - CodeunitRange(0x2573d, 0x2573d), - CodeunitRange(0x25772, 0x25772), - CodeunitRange(0x257c7, 0x257c7), - CodeunitRange(0x257df, 0x257e1), - CodeunitRange(0x25857, 0x25857), - CodeunitRange(0x2585d, 0x2585d), - CodeunitRange(0x25872, 0x25872), - CodeunitRange(0x258c8, 0x258c8), - CodeunitRange(0x258de, 0x258de), - CodeunitRange(0x258e1, 0x258e1), - CodeunitRange(0x25903, 0x25903), - CodeunitRange(0x25946, 0x25946), - CodeunitRange(0x25956, 0x25956), - CodeunitRange(0x259ac, 0x259ac), - CodeunitRange(0x259cc, 0x259cc), - CodeunitRange(0x25a54, 0x25a54), - CodeunitRange(0x25a95, 0x25a95), - CodeunitRange(0x25a9c, 0x25a9c), - CodeunitRange(0x25aae, 0x25aaf), - CodeunitRange(0x25ad7, 0x25ad7), - CodeunitRange(0x25ae9, 0x25ae9), - CodeunitRange(0x25b74, 0x25b74), - CodeunitRange(0x25b89, 0x25b89), - CodeunitRange(0x25bb3, 0x25bb4), - CodeunitRange(0x25bc6, 0x25bc6), - CodeunitRange(0x25be4, 0x25be4), - CodeunitRange(0x25be8, 0x25be8), - CodeunitRange(0x25c01, 0x25c01), - CodeunitRange(0x25c06, 0x25c06), - CodeunitRange(0x25c21, 0x25c21), - CodeunitRange(0x25c4a, 0x25c4a), - CodeunitRange(0x25c65, 0x25c65), - CodeunitRange(0x25c91, 0x25c91), - CodeunitRange(0x25ca4, 0x25ca4), - CodeunitRange(0x25cc0, 0x25cc1), - CodeunitRange(0x25cfe, 0x25cfe), - CodeunitRange(0x25d20, 0x25d20), - CodeunitRange(0x25d30, 0x25d30), - CodeunitRange(0x25d43, 0x25d43), - CodeunitRange(0x25d99, 0x25d99), - CodeunitRange(0x25db9, 0x25db9), - CodeunitRange(0x25e0e, 0x25e0e), - CodeunitRange(0x25e49, 0x25e49), - CodeunitRange(0x25e81, 0x25e83), - CodeunitRange(0x25ea6, 0x25ea6), - CodeunitRange(0x25ebc, 0x25ebc), - CodeunitRange(0x25ed7, 0x25ed8), - CodeunitRange(0x25f1a, 0x25f1a), - CodeunitRange(0x25f4b, 0x25f4b), - CodeunitRange(0x25fe1, 0x25fe2), - CodeunitRange(0x26021, 0x26021), - CodeunitRange(0x26029, 0x26029), - CodeunitRange(0x26048, 0x26048), - CodeunitRange(0x26064, 0x26064), - CodeunitRange(0x26083, 0x26083), - CodeunitRange(0x26097, 0x26097), - CodeunitRange(0x260a4, 0x260a5), - CodeunitRange(0x26102, 0x26102), - CodeunitRange(0x26121, 0x26121), - CodeunitRange(0x26159, 0x2615c), - CodeunitRange(0x261ad, 0x261ae), - CodeunitRange(0x261b2, 0x261b2), - CodeunitRange(0x261dd, 0x261dd), - CodeunitRange(0x26258, 0x26258), - CodeunitRange(0x26261, 0x26261), - CodeunitRange(0x2626a, 0x2626b), - CodeunitRange(0x262d0, 0x262d0), - CodeunitRange(0x26335, 0x26335), - CodeunitRange(0x2634b, 0x2634c), - CodeunitRange(0x26351, 0x26351), - CodeunitRange(0x263be, 0x263be), - CodeunitRange(0x263f5, 0x263f5), - CodeunitRange(0x263f8, 0x263f8), - CodeunitRange(0x26402, 0x26402), - CodeunitRange(0x26410, 0x26412), - CodeunitRange(0x2644a, 0x2644a), - CodeunitRange(0x26469, 0x26469), - CodeunitRange(0x26484, 0x26484), - CodeunitRange(0x26488, 0x26489), - CodeunitRange(0x2648d, 0x2648d), - CodeunitRange(0x26498, 0x26498), - CodeunitRange(0x26512, 0x26512), - CodeunitRange(0x26572, 0x26572), - CodeunitRange(0x265a0, 0x265a0), - CodeunitRange(0x265ad, 0x265ad), - CodeunitRange(0x265bf, 0x265bf), - CodeunitRange(0x26612, 0x26612), - CodeunitRange(0x26626, 0x26626), - CodeunitRange(0x266af, 0x266af), - CodeunitRange(0x266b1, 0x266b1), - CodeunitRange(0x266b5, 0x266b5), - CodeunitRange(0x266da, 0x266da), - CodeunitRange(0x266e8, 0x266e8), - CodeunitRange(0x266fc, 0x266fc), - CodeunitRange(0x26716, 0x26716), - CodeunitRange(0x26741, 0x26741), - CodeunitRange(0x26799, 0x26799), - CodeunitRange(0x267b3, 0x267b4), - CodeunitRange(0x267cc, 0x267cc), - CodeunitRange(0x2681c, 0x2681c), - CodeunitRange(0x26846, 0x26846), - CodeunitRange(0x2685e, 0x2685e), - CodeunitRange(0x2686e, 0x2686e), - CodeunitRange(0x26888, 0x26888), - CodeunitRange(0x2688a, 0x2688a), - CodeunitRange(0x26893, 0x26893), - CodeunitRange(0x268c7, 0x268c7), - CodeunitRange(0x2690e, 0x2690e), - CodeunitRange(0x26911, 0x26911), - CodeunitRange(0x26926, 0x26926), - CodeunitRange(0x26939, 0x26939), - CodeunitRange(0x26951, 0x26951), - CodeunitRange(0x269a8, 0x269a8), - CodeunitRange(0x269b5, 0x269b5), - CodeunitRange(0x269f2, 0x269f2), - CodeunitRange(0x269fa, 0x269fa), - CodeunitRange(0x26a2d, 0x26a2e), - CodeunitRange(0x26a34, 0x26a34), - CodeunitRange(0x26a42, 0x26a42), - CodeunitRange(0x26a51, 0x26a52), - CodeunitRange(0x26b05, 0x26b05), - CodeunitRange(0x26b0a, 0x26b0a), - CodeunitRange(0x26b13, 0x26b13), - CodeunitRange(0x26b15, 0x26b15), - CodeunitRange(0x26b23, 0x26b23), - CodeunitRange(0x26b28, 0x26b28), - CodeunitRange(0x26b50, 0x26b53), - CodeunitRange(0x26b5b, 0x26b5b), - CodeunitRange(0x26b75, 0x26b75), - CodeunitRange(0x26b82, 0x26b82), - CodeunitRange(0x26b96, 0x26b97), - CodeunitRange(0x26b9d, 0x26b9d), - CodeunitRange(0x26bb3, 0x26bb3), - CodeunitRange(0x26bc0, 0x26bc0), - CodeunitRange(0x26bf7, 0x26bf7), - CodeunitRange(0x26c21, 0x26c21), - CodeunitRange(0x26c40, 0x26c41), - CodeunitRange(0x26c46, 0x26c46), - CodeunitRange(0x26c7e, 0x26c82), - CodeunitRange(0x26ca4, 0x26ca4), - CodeunitRange(0x26cb7, 0x26cb8), - CodeunitRange(0x26cbd, 0x26cbd), - CodeunitRange(0x26cc0, 0x26cc0), - CodeunitRange(0x26cc3, 0x26cc3), - CodeunitRange(0x26cd1, 0x26cd1), - CodeunitRange(0x26d22, 0x26d2a), - CodeunitRange(0x26d51, 0x26d51), - CodeunitRange(0x26d74, 0x26d74), - CodeunitRange(0x26da0, 0x26da7), - CodeunitRange(0x26dae, 0x26dae), - CodeunitRange(0x26ddc, 0x26ddc), - CodeunitRange(0x26dea, 0x26deb), - CodeunitRange(0x26df0, 0x26df0), - CodeunitRange(0x26e00, 0x26e00), - CodeunitRange(0x26e05, 0x26e05), - CodeunitRange(0x26e07, 0x26e07), - CodeunitRange(0x26e12, 0x26e12), - CodeunitRange(0x26e42, 0x26e45), - CodeunitRange(0x26e6e, 0x26e6e), - CodeunitRange(0x26e72, 0x26e72), - CodeunitRange(0x26e77, 0x26e77), - CodeunitRange(0x26e84, 0x26e84), - CodeunitRange(0x26e88, 0x26e88), - CodeunitRange(0x26e8b, 0x26e8b), - CodeunitRange(0x26e99, 0x26e99), - CodeunitRange(0x26ed0, 0x26ed7), - CodeunitRange(0x26f26, 0x26f26), - CodeunitRange(0x26f73, 0x26f74), - CodeunitRange(0x26f9f, 0x26f9f), - CodeunitRange(0x26fa1, 0x26fa1), - CodeunitRange(0x26fbe, 0x26fbe), - CodeunitRange(0x26fde, 0x26fdf), - CodeunitRange(0x2700e, 0x2700e), - CodeunitRange(0x2704b, 0x2704b), - CodeunitRange(0x27052, 0x27053), - CodeunitRange(0x27088, 0x27088), - CodeunitRange(0x270ad, 0x270af), - CodeunitRange(0x270cd, 0x270cd), - CodeunitRange(0x270d2, 0x270d2), - CodeunitRange(0x270f0, 0x270f0), - CodeunitRange(0x270f8, 0x270f8), - CodeunitRange(0x27109, 0x27109), - CodeunitRange(0x2710c, 0x2710d), - CodeunitRange(0x27126, 0x27127), - CodeunitRange(0x27164, 0x27165), - CodeunitRange(0x27175, 0x27175), - CodeunitRange(0x271cd, 0x271cd), - CodeunitRange(0x2721b, 0x2721b), - CodeunitRange(0x27267, 0x27267), - CodeunitRange(0x27280, 0x27280), - CodeunitRange(0x27285, 0x27285), - CodeunitRange(0x2728b, 0x2728b), - CodeunitRange(0x272b2, 0x272b2), - CodeunitRange(0x272b6, 0x272b6), - CodeunitRange(0x272e6, 0x272e6), - CodeunitRange(0x27352, 0x27352), - CodeunitRange(0x2739a, 0x2739a), - CodeunitRange(0x273ff, 0x273ff), - CodeunitRange(0x27422, 0x27422), - CodeunitRange(0x27450, 0x27450), - CodeunitRange(0x27484, 0x27484), - CodeunitRange(0x27486, 0x27486), - CodeunitRange(0x27574, 0x27574), - CodeunitRange(0x275a3, 0x275a3), - CodeunitRange(0x275e0, 0x275e0), - CodeunitRange(0x275e4, 0x275e4), - CodeunitRange(0x275fd, 0x275fe), - CodeunitRange(0x27607, 0x27607), - CodeunitRange(0x2760c, 0x2760c), - CodeunitRange(0x27632, 0x27632), - CodeunitRange(0x27639, 0x27639), - CodeunitRange(0x27655, 0x27657), - CodeunitRange(0x27694, 0x27694), - CodeunitRange(0x2770f, 0x2770f), - CodeunitRange(0x27735, 0x27736), - CodeunitRange(0x27741, 0x27741), - CodeunitRange(0x2775e, 0x2775e), - CodeunitRange(0x27784, 0x27785), - CodeunitRange(0x277cc, 0x277cc), - CodeunitRange(0x27858, 0x27858), - CodeunitRange(0x27870, 0x27870), - CodeunitRange(0x2789d, 0x2789d), - CodeunitRange(0x278b2, 0x278b2), - CodeunitRange(0x278c8, 0x278c8), - CodeunitRange(0x27924, 0x27924), - CodeunitRange(0x27967, 0x27967), - CodeunitRange(0x2797a, 0x2797a), - CodeunitRange(0x279a0, 0x279a0), - CodeunitRange(0x279dd, 0x279dd), - CodeunitRange(0x279fd, 0x279fd), - CodeunitRange(0x27a0a, 0x27a0a), - CodeunitRange(0x27a0e, 0x27a0e), - CodeunitRange(0x27a3e, 0x27a3e), - CodeunitRange(0x27a53, 0x27a53), - CodeunitRange(0x27a59, 0x27a59), - CodeunitRange(0x27a79, 0x27a79), - CodeunitRange(0x27a84, 0x27a84), - CodeunitRange(0x27abd, 0x27abe), - CodeunitRange(0x27af4, 0x27af4), - CodeunitRange(0x27b06, 0x27b06), - CodeunitRange(0x27b0b, 0x27b0b), - CodeunitRange(0x27b18, 0x27b18), - CodeunitRange(0x27b38, 0x27b3a), - CodeunitRange(0x27b48, 0x27b48), - CodeunitRange(0x27b65, 0x27b65), - CodeunitRange(0x27bef, 0x27bef), - CodeunitRange(0x27bf4, 0x27bf4), - CodeunitRange(0x27c12, 0x27c12), - CodeunitRange(0x27c6c, 0x27c6c), - CodeunitRange(0x27cb1, 0x27cb1), - CodeunitRange(0x27cc5, 0x27cc5), - CodeunitRange(0x27d2f, 0x27d2f), - CodeunitRange(0x27d53, 0x27d54), - CodeunitRange(0x27d66, 0x27d66), - CodeunitRange(0x27d73, 0x27d73), - CodeunitRange(0x27d84, 0x27d84), - CodeunitRange(0x27d8f, 0x27d8f), - CodeunitRange(0x27d98, 0x27d98), - CodeunitRange(0x27dbd, 0x27dbd), - CodeunitRange(0x27ddc, 0x27ddc), - CodeunitRange(0x27e4d, 0x27e4d), - CodeunitRange(0x27e4f, 0x27e4f), - CodeunitRange(0x27f2e, 0x27f2e), - CodeunitRange(0x27fb7, 0x27fb7), - CodeunitRange(0x27ff9, 0x27ff9), - CodeunitRange(0x28002, 0x28002), - CodeunitRange(0x28009, 0x28009), - CodeunitRange(0x2801e, 0x2801e), - CodeunitRange(0x28023, 0x28024), - CodeunitRange(0x28048, 0x28048), - CodeunitRange(0x28083, 0x28083), - CodeunitRange(0x28090, 0x28090), - CodeunitRange(0x280bd, 0x280be), - CodeunitRange(0x280e8, 0x280e9), - CodeunitRange(0x280f4, 0x280f4), - CodeunitRange(0x2812e, 0x2812e), - CodeunitRange(0x2814f, 0x2814f), - CodeunitRange(0x2815d, 0x2815d), - CodeunitRange(0x2816f, 0x2816f), - CodeunitRange(0x28189, 0x28189), - CodeunitRange(0x281af, 0x281af), - CodeunitRange(0x281bc, 0x281bc), - CodeunitRange(0x28207, 0x28207), - CodeunitRange(0x28218, 0x28218), - CodeunitRange(0x2821a, 0x2821a), - CodeunitRange(0x28256, 0x28256), - CodeunitRange(0x2827c, 0x2827c), - CodeunitRange(0x2829b, 0x2829b), - CodeunitRange(0x282cd, 0x282cd), - CodeunitRange(0x282e2, 0x282e2), - CodeunitRange(0x28306, 0x28306), - CodeunitRange(0x28318, 0x28318), - CodeunitRange(0x2832f, 0x2832f), - CodeunitRange(0x2833a, 0x2833a), - CodeunitRange(0x28365, 0x28365), - CodeunitRange(0x2836d, 0x2836d), - CodeunitRange(0x2837d, 0x2837d), - CodeunitRange(0x2838a, 0x2838a), - CodeunitRange(0x28412, 0x28412), - CodeunitRange(0x28468, 0x28468), - CodeunitRange(0x2846c, 0x2846c), - CodeunitRange(0x28473, 0x28473), - CodeunitRange(0x28482, 0x28482), - CodeunitRange(0x28501, 0x28501), - CodeunitRange(0x2853c, 0x2853d), - CodeunitRange(0x2856c, 0x2856c), - CodeunitRange(0x285e8, 0x285e8), - CodeunitRange(0x285f4, 0x285f4), - CodeunitRange(0x28600, 0x28600), - CodeunitRange(0x2860b, 0x2860b), - CodeunitRange(0x28625, 0x28625), - CodeunitRange(0x2863b, 0x2863b), - CodeunitRange(0x286aa, 0x286ab), - CodeunitRange(0x286b2, 0x286b2), - CodeunitRange(0x286bc, 0x286bc), - CodeunitRange(0x286d8, 0x286d8), - CodeunitRange(0x286e6, 0x286e6), - CodeunitRange(0x2870f, 0x2870f), - CodeunitRange(0x28713, 0x28713), - CodeunitRange(0x28804, 0x28804), - CodeunitRange(0x2882b, 0x2882b), - CodeunitRange(0x2890d, 0x2890d), - CodeunitRange(0x28933, 0x28933), - CodeunitRange(0x28948, 0x28949), - CodeunitRange(0x28956, 0x28956), - CodeunitRange(0x28964, 0x28964), - CodeunitRange(0x28968, 0x28968), - CodeunitRange(0x2896c, 0x2896d), - CodeunitRange(0x2897e, 0x2897e), - CodeunitRange(0x28989, 0x28989), - CodeunitRange(0x289a8, 0x289a8), - CodeunitRange(0x289aa, 0x289ab), - CodeunitRange(0x289b8, 0x289b8), - CodeunitRange(0x289bc, 0x289bc), - CodeunitRange(0x289c0, 0x289c0), - CodeunitRange(0x289dc, 0x289dc), - CodeunitRange(0x289de, 0x289de), - CodeunitRange(0x289e1, 0x289e1), - CodeunitRange(0x289e3, 0x289e4), - CodeunitRange(0x289e7, 0x289e8), - CodeunitRange(0x289f9, 0x289fc), - CodeunitRange(0x28a0f, 0x28a0f), - CodeunitRange(0x28a16, 0x28a16), - CodeunitRange(0x28a25, 0x28a25), - CodeunitRange(0x28a29, 0x28a29), - CodeunitRange(0x28a32, 0x28a32), - CodeunitRange(0x28a36, 0x28a36), - CodeunitRange(0x28a44, 0x28a4b), - CodeunitRange(0x28a59, 0x28a5a), - CodeunitRange(0x28a81, 0x28a83), - CodeunitRange(0x28a9a, 0x28a9c), - CodeunitRange(0x28ac0, 0x28ac0), - CodeunitRange(0x28ac6, 0x28ac6), - CodeunitRange(0x28acb, 0x28acc), - CodeunitRange(0x28ace, 0x28ace), - CodeunitRange(0x28ade, 0x28ae3), - CodeunitRange(0x28ae5, 0x28ae5), - CodeunitRange(0x28aea, 0x28aea), - CodeunitRange(0x28afc, 0x28afc), - CodeunitRange(0x28b0c, 0x28b0c), - CodeunitRange(0x28b13, 0x28b13), - CodeunitRange(0x28b21, 0x28b22), - CodeunitRange(0x28b2b, 0x28b2d), - CodeunitRange(0x28b2f, 0x28b2f), - CodeunitRange(0x28b46, 0x28b46), - CodeunitRange(0x28b4c, 0x28b4c), - CodeunitRange(0x28b4e, 0x28b4e), - CodeunitRange(0x28b50, 0x28b50), - CodeunitRange(0x28b63, 0x28b66), - CodeunitRange(0x28b6c, 0x28b6c), - CodeunitRange(0x28b8f, 0x28b8f), - CodeunitRange(0x28b99, 0x28b99), - CodeunitRange(0x28b9c, 0x28b9d), - CodeunitRange(0x28bb9, 0x28bb9), - CodeunitRange(0x28bc2, 0x28bc2), - CodeunitRange(0x28bc5, 0x28bc5), - CodeunitRange(0x28bd4, 0x28bd4), - CodeunitRange(0x28bd7, 0x28bd7), - CodeunitRange(0x28bd9, 0x28bda), - CodeunitRange(0x28be7, 0x28bec), - CodeunitRange(0x28bf5, 0x28bf5), - CodeunitRange(0x28bff, 0x28bff), - CodeunitRange(0x28c03, 0x28c03), - CodeunitRange(0x28c09, 0x28c09), - CodeunitRange(0x28c1c, 0x28c1d), - CodeunitRange(0x28c23, 0x28c23), - CodeunitRange(0x28c26, 0x28c26), - CodeunitRange(0x28c2b, 0x28c2b), - CodeunitRange(0x28c30, 0x28c30), - CodeunitRange(0x28c39, 0x28c39), - CodeunitRange(0x28c3b, 0x28c3b), - CodeunitRange(0x28cca, 0x28cca), - CodeunitRange(0x28ccd, 0x28ccd), - CodeunitRange(0x28cd2, 0x28cd2), - CodeunitRange(0x28d34, 0x28d34), - CodeunitRange(0x28d99, 0x28d99), - CodeunitRange(0x28db9, 0x28db9), - CodeunitRange(0x28e0f, 0x28e0f), - CodeunitRange(0x28e36, 0x28e36), - CodeunitRange(0x28e39, 0x28e39), - CodeunitRange(0x28e65, 0x28e66), - CodeunitRange(0x28e97, 0x28e97), - CodeunitRange(0x28eac, 0x28eac), - CodeunitRange(0x28eb2, 0x28eb3), - CodeunitRange(0x28ed9, 0x28ed9), - CodeunitRange(0x28ee7, 0x28ee7), - CodeunitRange(0x28fc5, 0x28fc5), - CodeunitRange(0x29079, 0x29079), - CodeunitRange(0x29088, 0x29088), - CodeunitRange(0x2908b, 0x2908b), - CodeunitRange(0x29093, 0x29093), - CodeunitRange(0x290af, 0x290b1), - CodeunitRange(0x290c0, 0x290c0), - CodeunitRange(0x290e4, 0x290e5), - CodeunitRange(0x290ec, 0x290ed), - CodeunitRange(0x2910d, 0x2910d), - CodeunitRange(0x29110, 0x29110), - CodeunitRange(0x2913c, 0x2913c), - CodeunitRange(0x2914d, 0x2914d), - CodeunitRange(0x2915b, 0x2915b), - CodeunitRange(0x2915e, 0x2915e), - CodeunitRange(0x29170, 0x29170), - CodeunitRange(0x2919c, 0x2919c), - CodeunitRange(0x291a8, 0x291a8), - CodeunitRange(0x291d5, 0x291d5), - CodeunitRange(0x291eb, 0x291eb), - CodeunitRange(0x2941d, 0x2941d), - CodeunitRange(0x29420, 0x29420), - CodeunitRange(0x29433, 0x29433), - CodeunitRange(0x2943f, 0x2943f), - CodeunitRange(0x29448, 0x29448), - CodeunitRange(0x294d0, 0x294d0), - CodeunitRange(0x294d9, 0x294da), - CodeunitRange(0x294e5, 0x294e5), - CodeunitRange(0x294e7, 0x294e7), - CodeunitRange(0x2959e, 0x2959e), - CodeunitRange(0x295b0, 0x295b0), - CodeunitRange(0x295b8, 0x295b8), - CodeunitRange(0x295d7, 0x295d7), - CodeunitRange(0x295e9, 0x295e9), - CodeunitRange(0x295f4, 0x295f4), - CodeunitRange(0x2967f, 0x2967f), - CodeunitRange(0x29720, 0x29720), - CodeunitRange(0x29732, 0x29732), - CodeunitRange(0x297d4, 0x297d4), - CodeunitRange(0x29810, 0x29810), - CodeunitRange(0x29857, 0x29857), - CodeunitRange(0x298a4, 0x298a4), - CodeunitRange(0x298d1, 0x298d1), - CodeunitRange(0x298ea, 0x298ea), - CodeunitRange(0x298f1, 0x298f1), - CodeunitRange(0x298fa, 0x298fa), - CodeunitRange(0x29903, 0x29903), - CodeunitRange(0x29905, 0x29905), - CodeunitRange(0x2992f, 0x2992f), - CodeunitRange(0x29945, 0x29945), - CodeunitRange(0x29947, 0x29949), - CodeunitRange(0x2995d, 0x2995d), - CodeunitRange(0x2996a, 0x2996a), - CodeunitRange(0x2999d, 0x2999d), - CodeunitRange(0x299c3, 0x299c3), - CodeunitRange(0x299c9, 0x299c9), - CodeunitRange(0x29a28, 0x29a28), - CodeunitRange(0x29a4d, 0x29a4d), - CodeunitRange(0x29b05, 0x29b05), - CodeunitRange(0x29b0e, 0x29b0e), - CodeunitRange(0x29bd5, 0x29bd5), - CodeunitRange(0x29c73, 0x29c73), - CodeunitRange(0x29cad, 0x29cad), - CodeunitRange(0x29d3e, 0x29d3e), - CodeunitRange(0x29d5a, 0x29d5a), - CodeunitRange(0x29d7c, 0x29d7c), - CodeunitRange(0x29d98, 0x29d98), - CodeunitRange(0x29d9b, 0x29d9b), - CodeunitRange(0x29df6, 0x29df6), - CodeunitRange(0x29e06, 0x29e06), - CodeunitRange(0x29e2d, 0x29e2d), - CodeunitRange(0x29e68, 0x29e68), - CodeunitRange(0x29eac, 0x29eac), - CodeunitRange(0x29eb0, 0x29eb0), - CodeunitRange(0x29ec3, 0x29ec3), - CodeunitRange(0x29ef8, 0x29ef8), - CodeunitRange(0x29f23, 0x29f23), - CodeunitRange(0x29f30, 0x29f30), - CodeunitRange(0x29fb7, 0x29fb7), - CodeunitRange(0x29fde, 0x29fde), - CodeunitRange(0x2a014, 0x2a014), - CodeunitRange(0x2a087, 0x2a087), - CodeunitRange(0x2a0b9, 0x2a0b9), - CodeunitRange(0x2a0e1, 0x2a0e1), - CodeunitRange(0x2a0ed, 0x2a0ed), - CodeunitRange(0x2a0f3, 0x2a0f3), - CodeunitRange(0x2a0f8, 0x2a0f8), - CodeunitRange(0x2a0fe, 0x2a0fe), - CodeunitRange(0x2a107, 0x2a107), - CodeunitRange(0x2a123, 0x2a123), - CodeunitRange(0x2a133, 0x2a134), - CodeunitRange(0x2a150, 0x2a150), - CodeunitRange(0x2a192, 0x2a193), - CodeunitRange(0x2a1ab, 0x2a1ab), - CodeunitRange(0x2a1b4, 0x2a1b5), - CodeunitRange(0x2a1df, 0x2a1df), - CodeunitRange(0x2a1f5, 0x2a1f5), - CodeunitRange(0x2a220, 0x2a220), - CodeunitRange(0x2a233, 0x2a233), - CodeunitRange(0x2a293, 0x2a293), - CodeunitRange(0x2a29f, 0x2a29f), - CodeunitRange(0x2a2b2, 0x2a2b2), - CodeunitRange(0x2a2b4, 0x2a2b4), - CodeunitRange(0x2a2b6, 0x2a2b6), - CodeunitRange(0x2a2ba, 0x2a2ba), - CodeunitRange(0x2a2bd, 0x2a2bd), - CodeunitRange(0x2a2df, 0x2a2df), - CodeunitRange(0x2a2ff, 0x2a2ff), - CodeunitRange(0x2a351, 0x2a351), - CodeunitRange(0x2a3a9, 0x2a3a9), - CodeunitRange(0x2a3ed, 0x2a3ed), - CodeunitRange(0x2a434, 0x2a434), - CodeunitRange(0x2a45b, 0x2a45b), - CodeunitRange(0x2a5c6, 0x2a5c6), - CodeunitRange(0x2a5cb, 0x2a5cb), - CodeunitRange(0x2a601, 0x2a601), - CodeunitRange(0x2a632, 0x2a632), - CodeunitRange(0x2a64a, 0x2a64a), - CodeunitRange(0x2a65b, 0x2a65b), - CodeunitRange(0x2a6a9, 0x2a6a9), - CodeunitRange(0x2adff, 0x2adff), - CodeunitRange(0x2d544, 0x2d544), - CodeunitRange(0x2f825, 0x2f825), - CodeunitRange(0x2f83b, 0x2f83b), - CodeunitRange(0x2f840, 0x2f840), - CodeunitRange(0x2f878, 0x2f878), - CodeunitRange(0x2f894, 0x2f894), - CodeunitRange(0x2f8a6, 0x2f8a6), - CodeunitRange(0x2f8cd, 0x2f8cd), - CodeunitRange(0x2f8db, 0x2f8db), - CodeunitRange(0x2f994, 0x2f994), - CodeunitRange(0x2f9b2, 0x2f9b2), - CodeunitRange(0x2f9bc, 0x2f9bc), - CodeunitRange(0x2f9d4, 0x2f9d4), - CodeunitRange(0x30edd, 0x30ede), - CodeunitRange(0x3106c, 0x3106c), - ]), - NotoFont('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1700, 0x170c), - CodeunitRange(0x170e, 0x1714), - CodeunitRange(0x1735, 0x1736), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1735, 0x1736), - CodeunitRange(0x1760, 0x176c), - CodeunitRange(0x176e, 0x1770), - CodeunitRange(0x1772, 0x1773), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x300, 0x301), - CodeunitRange(0x307, 0x308), - CodeunitRange(0x30c, 0x30c), - CodeunitRange(0x1040, 0x1049), - CodeunitRange(0x1950, 0x196d), - CodeunitRange(0x1970, 0x1974), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x3001, 0x3002), - CodeunitRange(0x3008, 0x300b), - ]), - NotoFont('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x1a20, 0x1a5e), - CodeunitRange(0x1a60, 0x1a7c), - CodeunitRange(0x1a7f, 0x1a89), - CodeunitRange(0x1a90, 0x1a99), - CodeunitRange(0x1aa0, 0x1aad), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2219, 0x2219), - ]), - NotoFont('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa78b, 0xa78c), - CodeunitRange(0xaa80, 0xaac2), - CodeunitRange(0xaadb, 0xaadf), - ]), - NotoFont('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x964, 0x965), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x11680, 0x116b8), - CodeunitRange(0x116c0, 0x116c9), - ]), - NotoFont('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v20/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xb2, 0xb3), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xb82, 0xb83), - CodeunitRange(0xb85, 0xb8a), - CodeunitRange(0xb8e, 0xb90), - CodeunitRange(0xb92, 0xb95), - CodeunitRange(0xb99, 0xb9a), - CodeunitRange(0xb9c, 0xb9c), - CodeunitRange(0xb9e, 0xb9f), - CodeunitRange(0xba3, 0xba4), - CodeunitRange(0xba8, 0xbaa), - CodeunitRange(0xbae, 0xbb9), - CodeunitRange(0xbbe, 0xbc2), - CodeunitRange(0xbc6, 0xbc8), - CodeunitRange(0xbca, 0xbcd), - CodeunitRange(0xbd0, 0xbd0), - CodeunitRange(0xbd7, 0xbd7), - CodeunitRange(0xbe6, 0xbfa), - CodeunitRange(0x1cda, 0x1cda), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x2074, 0x2074), - CodeunitRange(0x2082, 0x2084), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa8f3, 0xa8f3), - CodeunitRange(0x11301, 0x11301), - CodeunitRange(0x11303, 0x11303), - CodeunitRange(0x1133b, 0x1133c), - ]), - NotoFont('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [ - CodeunitRange(0x11fc0, 0x11ff1), - CodeunitRange(0x11fff, 0x11fff), - ]), - NotoFont('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v18/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [ - CodeunitRange(0x20, 0x23), - CodeunitRange(0x25, 0x25), - CodeunitRange(0x27, 0x3f), - CodeunitRange(0x5b, 0x5f), - CodeunitRange(0x7b, 0x7e), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xad, 0xad), - CodeunitRange(0xd7, 0xd7), - CodeunitRange(0xf7, 0xf7), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0xc00, 0xc0c), - CodeunitRange(0xc0e, 0xc10), - CodeunitRange(0xc12, 0xc28), - CodeunitRange(0xc2a, 0xc39), - CodeunitRange(0xc3d, 0xc44), - CodeunitRange(0xc46, 0xc48), - CodeunitRange(0xc4a, 0xc4d), - CodeunitRange(0xc55, 0xc56), - CodeunitRange(0xc58, 0xc5a), - CodeunitRange(0xc60, 0xc63), - CodeunitRange(0xc66, 0xc6f), - CodeunitRange(0xc77, 0xc7f), - CodeunitRange(0x1cda, 0x1cda), - CodeunitRange(0x1cf2, 0x1cf2), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x2013, 0x2014), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x2026, 0x2026), - CodeunitRange(0x20b9, 0x20b9), - CodeunitRange(0x2212, 0x2212), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [ - CodeunitRange(0x20, 0x21), - CodeunitRange(0x28, 0x29), - CodeunitRange(0x2c, 0x2c), - CodeunitRange(0x2e, 0x2e), - CodeunitRange(0x3a, 0x3b), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x60c, 0x60c), - CodeunitRange(0x61b, 0x61b), - CodeunitRange(0x61f, 0x61f), - CodeunitRange(0x660, 0x66c), - CodeunitRange(0x780, 0x7b1), - CodeunitRange(0x200b, 0x200f), - CodeunitRange(0x2018, 0x2019), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xfdf2, 0xfdf2), - CodeunitRange(0xfdfd, 0xfdfd), - ]), - NotoFont('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v18/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x2d, 0x2d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x2bc, 0x2bc), - CodeunitRange(0x2d7, 0x2d7), - CodeunitRange(0x303, 0x303), - CodeunitRange(0x331, 0x331), - CodeunitRange(0xe01, 0xe3a), - CodeunitRange(0xe3f, 0xe5b), - CodeunitRange(0x200b, 0x200d), - CodeunitRange(0x2010, 0x2010), - CodeunitRange(0x25cc, 0x25cc), - ]), - NotoFont('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x2c7, 0x2c7), - CodeunitRange(0x301, 0x302), - CodeunitRange(0x304, 0x304), - CodeunitRange(0x306, 0x307), - CodeunitRange(0x309, 0x309), - CodeunitRange(0x323, 0x323), - CodeunitRange(0x331, 0x331), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x202e, 0x202e), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x2d30, 0x2d67), - CodeunitRange(0x2d6f, 0x2d70), - CodeunitRange(0x2d7f, 0x2d7f), - ]), - NotoFont('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x951, 0x952), - CodeunitRange(0x964, 0x965), - CodeunitRange(0x9f4, 0x9f7), - CodeunitRange(0x1cf2, 0x1cf2), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0xa830, 0xa839), - CodeunitRange(0x11480, 0x114c7), - CodeunitRange(0x114d0, 0x114d9), - ]), - NotoFont('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x10380, 0x1039d), - CodeunitRange(0x1039f, 0x1039f), - ]), - NotoFont('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0xa500, 0xa62b), - ]), - NotoFont('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x22, 0x22), - CodeunitRange(0x27, 0x29), - CodeunitRange(0x2c, 0x2f), - CodeunitRange(0x5b, 0x5d), - CodeunitRange(0x7b, 0x7b), - CodeunitRange(0x7d, 0x7d), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x201c, 0x201d), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x1e2c0, 0x1e2f9), - CodeunitRange(0x1e2ff, 0x1e2ff), - ]), - NotoFont('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0x27, 0x27), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x200c, 0x200d), - CodeunitRange(0x118a0, 0x118f2), - CodeunitRange(0x118ff, 0x118ff), - ]), - NotoFont('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x3001, 0x3002), - CodeunitRange(0x3008, 0x3011), - CodeunitRange(0x3014, 0x301b), - CodeunitRange(0x30fb, 0x30fb), - CodeunitRange(0xa000, 0xa48c), - CodeunitRange(0xa490, 0xa4c6), - CodeunitRange(0xff61, 0xff65), - ]), - NotoFont('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [ - CodeunitRange(0x20, 0x20), - CodeunitRange(0xa0, 0xa0), - CodeunitRange(0x25cc, 0x25cc), - CodeunitRange(0x11a00, 0x11a47), - ]), + NotoFont.fromFlatList('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [20,7e,a0,377,37a,37f,384,38a,38c,38c,38e,3a1,3a3,3e1,3f0,52f,900,97f,1ab0,1ac0,1c80,1c88,1cd0,1cf6,1cf8,1cf9,1d00,1df9,1dfb,1f15,1f18,1f1d,1f20,1f45,1f48,1f4d,1f50,1f57,1f59,1f59,1f5b,1f5b,1f5d,1f5d,1f5f,1f7d,1f80,1fb4,1fb6,1fc4,1fc6,1fd3,1fd6,1fdb,1fdd,1fef,1ff2,1ff4,1ff6,1ffe,2000,2064,2066,2071,2074,208e,2090,209c,20a0,20bf,20f0,20f0,2100,215f,2184,2184,2189,2189,2212,2212,2215,2215,25cc,25cc,2c60,2c7f,2de0,2e52,a640,a69f,a700,a7bf,a7c2,a7ca,a7f5,a7ff,a830,a839,a8e0,a8ff,a92e,a92e,ab30,ab6b,fb00,fb06,fe00,fe00,fe20,fe2f,feff,feff,fffc,fffd,]), + NotoFont.fromFlatList('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [20,20,23,23,2a,2a,30,39,a9,a9,ae,ae,200d,200d,203c,203c,2049,2049,20e3,20e3,2122,2122,2139,2139,2194,2199,21a9,21aa,231a,231b,2328,2328,23cf,23cf,23e9,23f3,23f8,23fa,24c2,24c2,25aa,25ab,25b6,25b6,25c0,25c0,25fb,25fe,2600,2604,260e,260e,2611,2611,2614,2615,2618,2618,261d,261d,2620,2620,2622,2623,2626,2626,262a,262a,262e,262f,2638,263a,2640,2640,2642,2642,2648,2653,265f,2660,2663,2663,2665,2666,2668,2668,267b,267b,267e,267f,2692,2697,2699,2699,269b,269c,26a0,26a1,26a7,26a7,26aa,26ab,26b0,26b1,26bd,26be,26c4,26c5,26c8,26c8,26ce,26cf,26d1,26d1,26d3,26d4,26e9,26ea,26f0,26f5,26f7,26fa,26fd,26fd,2702,2702,2705,2705,2708,270d,270f,270f,2712,2712,2714,2714,2716,2716,271d,271d,2721,2721,2728,2728,2733,2734,2744,2744,2747,2747,274c,274c,274e,274e,2753,2755,2757,2757,2763,2764,2795,2797,27a1,27a1,27b0,27b0,27bf,27bf,2934,2935,2b05,2b07,2b1b,2b1c,2b50,2b50,2b55,2b55,3030,3030,303d,303d,3297,3297,3299,3299,fe0e,fe0f,1f004,1f004,1f0cf,1f0cf,1f170,1f171,1f17e,1f17f,1f18e,1f18e,1f191,1f19a,1f1e6,1f1ff,1f201,1f202,1f21a,1f21a,1f22f,1f22f,1f232,1f23a,1f250,1f251,1f300,1f321,1f324,1f393,1f396,1f397,1f399,1f39b,1f39e,1f3f0,1f3f3,1f3f5,1f3f7,1f4fd,1f4ff,1f53d,1f549,1f54e,1f550,1f567,1f56f,1f570,1f573,1f57a,1f587,1f587,1f58a,1f58d,1f590,1f590,1f595,1f596,1f5a4,1f5a5,1f5a8,1f5a8,1f5b1,1f5b2,1f5bc,1f5bc,1f5c2,1f5c4,1f5d1,1f5d3,1f5dc,1f5de,1f5e1,1f5e1,1f5e3,1f5e3,1f5e8,1f5e8,1f5ef,1f5ef,1f5f3,1f5f3,1f5fa,1f64f,1f680,1f6c5,1f6cb,1f6d2,1f6d5,1f6d7,1f6dd,1f6e5,1f6e9,1f6e9,1f6eb,1f6ec,1f6f0,1f6f0,1f6f3,1f6fc,1f7e0,1f7eb,1f7f0,1f7f0,1f90c,1f93a,1f93c,1f945,1f947,1f9ff,1fa70,1fa74,1fa78,1fa7c,1fa80,1fa86,1fa90,1faac,1fab0,1faba,1fac0,1fac5,1fad0,1fad9,1fae0,1fae7,1faf0,1faf6,e0030,e0039,e0061,e007a,e007f,e007f,fe4e5,fe4ee,fe82c,fe82c,fe82e,fe837,]), + NotoFont.fromFlatList('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [20,20,30,39,41,5a,61,7a,a0,a0,20dd,20e0,20e2,20e4,2160,2183,2185,2188,218a,218b,2190,2199,2300,230f,2311,2315,2317,2317,231c,231f,2322,2323,2329,232a,232c,2335,237c,237c,2380,2394,2396,239a,23af,23af,23be,23cd,23d0,23db,23e2,23e8,2460,24ff,25cc,25cc,260a,260d,2613,2613,2624,262f,2638,263b,263d,2653,2669,267e,2690,269d,26a2,26a9,26ad,26bc,26ce,26ce,26e2,26ff,271d,2721,2776,2793,2921,2922,1f100,1f10c,1f110,1f16c,1f170,1f190,1f19b,1f1ac,1f546,1f549,1f54f,1f54f,1f610,1f610,1f700,1f773,]), + NotoFont.fromFlatList('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [20,20,23,23,2a,2a,30,39,7f,a0,2022,2022,20e2,20e3,21af,21af,21e6,21f0,21f3,21f3,2218,2219,2299,2299,22c4,22c6,2316,2316,2318,2318,231a,231b,2324,2328,232b,232b,237b,237b,237d,237f,2394,2394,23ce,23cf,23e9,23ea,23ed,23ef,23f1,2426,2440,244a,25a0,2609,260e,2612,2614,2623,2630,2637,263c,263c,2654,2668,267f,268f,269e,26a1,26aa,26ac,26bd,26cd,26cf,26e1,2700,2704,2706,2709,270b,271c,2722,2727,2729,274b,274d,274d,274f,2753,2756,2775,2794,2794,2798,27af,27b1,27be,2800,28ff,2981,2981,29bf,29bf,29eb,29eb,2b00,2b0d,2b12,2b2f,2b4d,2b73,2b76,2b95,2b97,2bfd,2bff,2bff,4dc0,4dff,fff9,fffb,10140,1018e,10190,1019c,101a0,101a0,101d0,101fd,102e0,102fb,10e60,10e7e,1d2e0,1d2f3,1d300,1d356,1d360,1d378,1f000,1f02b,1f030,1f093,1f0a0,1f0ae,1f0b1,1f0bf,1f0c1,1f0cf,1f0d1,1f0f5,1f30d,1f30f,1f315,1f315,1f31c,1f31c,1f321,1f32c,1f336,1f336,1f378,1f378,1f37d,1f37d,1f393,1f39f,1f3a7,1f3a7,1f3ac,1f3ae,1f3c2,1f3c2,1f3c4,1f3c4,1f3c6,1f3c6,1f3ca,1f3ce,1f3d4,1f3e0,1f3ed,1f3ed,1f3f1,1f3f3,1f3f5,1f3f7,1f408,1f408,1f415,1f415,1f41f,1f41f,1f426,1f426,1f43f,1f43f,1f441,1f442,1f446,1f449,1f44c,1f44e,1f453,1f453,1f46a,1f46a,1f47d,1f47d,1f4a3,1f4a3,1f4b0,1f4b0,1f4b3,1f4b3,1f4b9,1f4b9,1f4bb,1f4bb,1f4bf,1f4bf,1f4c8,1f4cb,1f4da,1f4da,1f4df,1f4df,1f4e4,1f4e6,1f4ea,1f4ed,1f4f7,1f4f7,1f4f9,1f4fb,1f4fd,1f4fe,1f503,1f503,1f507,1f50a,1f50d,1f50d,1f512,1f513,1f53e,1f545,1f54a,1f54a,1f550,1f579,1f57b,1f594,1f597,1f5a3,1f5a5,1f5fa,1f650,1f67f,1f687,1f687,1f68d,1f68d,1f691,1f691,1f694,1f694,1f698,1f698,1f6ad,1f6ad,1f6b2,1f6b2,1f6b9,1f6ba,1f6bc,1f6bc,1f6c6,1f6cb,1f6cd,1f6cf,1f6d3,1f6d7,1f6e0,1f6ea,1f6f0,1f6f3,1f6f7,1f6fc,1f780,1f7d8,1f7e0,1f7eb,1f800,1f80b,1f810,1f847,1f850,1f859,1f860,1f887,1f890,1f8ad,1f8b0,1f8b1,1f93b,1f93b,1f946,1f946,1fa00,1fa53,1fa60,1fa6d,1fa70,1fa74,1fa78,1fa7a,1fa80,1fa86,1fa90,1faa8,1fab0,1fab6,1fac0,1fac2,1fad0,1fad6,1fb00,1fb92,1fb94,1fbca,1fbf0,1fbf9,]), + NotoFont.fromFlatList('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [20,2f,3a,40,5b,5f,7b,7d,a0,a0,ab,ab,bb,bb,61f,61f,640,640,2013,2015,2018,201e,2020,2022,2026,2026,2030,2030,2039,203a,2044,2044,204f,204f,25cc,25cc,2e28,2e29,2e41,2e41,1e900,1e94b,1e950,1e959,1e95e,1e95f,]), + NotoFont.fromFlatList('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [20,20,a0,a0,200b,200b,14400,14646,]), + NotoFont.fromFlatList('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [20,21,2c,2e,30,3a,a0,a0,ab,ab,bb,bb,34f,34f,600,61c,61e,6ff,750,77f,8a0,8b4,8b6,8be,8d3,8ff,200b,2011,204f,204f,25cc,25cc,2e41,2e41,fb50,fbc1,fbd3,fd3f,fd50,fd8f,fd92,fdc7,fdf0,fdfd,fe70,fe74,fe76,fefc,]), + NotoFont.fromFlatList('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [20,20,2d,2d,a0,a0,308,308,531,556,559,58a,58d,58f,2010,2010,25cc,25cc,fb13,fb17,]), + NotoFont.fromFlatList('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v17/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200c,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,2e30,2e31,10b00,10b35,10b39,10b3f,]), + NotoFont.fromFlatList('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v18/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1b00,1b4b,1b50,1b7c,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [20,20,a0,a0,a6a0,a6f7,16800,16a38,]), + NotoFont.fromFlatList('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [20,20,a0,a0,25cc,25cc,16ad0,16aed,16af0,16af5,]), + NotoFont.fromFlatList('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [20,20,a0,a0,1bc0,1bf3,1bfc,1bff,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,980,983,985,98c,98f,990,993,9a8,9aa,9b0,9b2,9b2,9b6,9b9,9bc,9c4,9c7,9c8,9cb,9ce,9d7,9d7,9dc,9dd,9df,9e3,9e6,9fe,1cd0,1cd0,1cd2,1cd2,1cd5,1cd6,1cd8,1cd8,1ce1,1ce1,1cea,1cea,1ced,1ced,1cf2,1cf2,1cf5,1cf7,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a8f1,a8f1,]), + NotoFont.fromFlatList('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [20,20,a0,a0,200b,200b,25cc,25cc,11c00,11c08,11c0a,11c36,11c38,11c45,11c50,11c6c,]), + NotoFont.fromFlatList('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,11000,1104d,11052,1106f,1107f,1107f,]), + NotoFont.fromFlatList('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [20,20,a0,a0,1a00,1a1b,1a1e,1a1f,200b,200d,25cc,25cc,a9cf,a9cf,]), + NotoFont.fromFlatList('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v15/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [20,20,a0,a0,1735,1736,1740,1753,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [20,20,a0,a0,131,131,2c7,2c7,2d8,2db,307,307,1400,167f,18b0,18f5,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [20,20,a0,a0,102a0,102d0,]), + NotoFont.fromFlatList('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [20,20,a0,a0,304,304,331,331,25cc,25cc,fe20,fe2f,10530,10563,1056f,1056f,]), + NotoFont.fromFlatList('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [20,20,a0,a0,9e6,9ef,1040,1049,200c,200d,25cc,25cc,11100,11134,11136,11146,]), + NotoFont.fromFlatList('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [20,22,27,29,2c,2f,3a,3b,3f,3f,a0,a0,ad,ad,200c,200d,2010,2010,25cc,25cc,aa00,aa36,aa40,aa4d,aa50,aa59,aa5c,aa5f,]), + NotoFont.fromFlatList('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [20,20,a0,a0,300,302,304,304,30b,30c,323,324,330,331,13a0,13f5,13f8,13fd,ab70,abbf,]), + NotoFont.fromFlatList('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [20,20,2d,2d,a0,a0,300,302,304,305,307,308,323,323,33f,33f,361,361,374,375,3e2,3ef,1dcd,1dcd,2010,2010,25cc,25cc,2c80,2cf3,2cf9,2cff,fe24,fe26,102e0,102fb,]), + NotoFont.fromFlatList('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [20,20,a0,a0,12000,12399,12400,1246e,12470,12474,12480,12543,]), + NotoFont.fromFlatList('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [20,20,a0,a0,10800,10805,10808,10808,1080a,10835,10837,10838,1083c,1083c,1083f,1083f,]), + NotoFont.fromFlatList('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [20,20,a0,a0,10400,1044f,]), + NotoFont.fromFlatList('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v16/TuGOUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv2lRdRhtCC4d.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,2bc,2bc,900,97f,1cd0,1cf6,1cf8,1cf9,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,20f0,20f0,2212,2212,25cc,25cc,a830,a839,a8e0,a8ff,]), + NotoFont.fromFlatList('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,1bc00,1bc6a,1bc70,1bc7c,1bc80,1bc88,1bc90,1bc99,1bc9c,1bca3,]), + NotoFont.fromFlatList('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,13000,1342e,]), + NotoFont.fromFlatList('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [20,20,a0,a0,b7,b7,305,305,391,3a1,3a3,3a9,3da,3da,3dc,3dc,3de,3de,25cc,25cc,10500,10527,]), + NotoFont.fromFlatList('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [20,20,a0,a0,10fe0,10ff6,]), + NotoFont.fromFlatList('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v34/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [20,20,2d,2d,a0,a0,301,302,304,304,308,308,589,589,10a0,10c5,10c7,10c7,10cd,10cd,10d0,10ff,1c90,1cba,1cbd,1cbf,2010,2010,20be,20be,2d00,2d25,2d27,2d27,2d2d,2d2d,]), + NotoFont.fromFlatList('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [20,20,a0,a0,303,303,305,305,484,484,487,487,2c00,2c2e,2c30,2c5e,a66f,a66f,1e000,1e006,1e008,1e018,1e01b,1e021,1e023,1e024,1e026,1e02a,]), + NotoFont.fromFlatList('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [20,20,a0,a0,304,305,308,308,331,331,10330,1034a,]), + NotoFont.fromFlatList('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [20,20,a0,a0,951,952,964,965,baa,baa,bb5,bb5,be6,bf2,1cd0,1cd0,1cd2,1cd3,1cf2,1cf4,1cf8,1cf9,200c,200d,20f0,20f0,25cc,25cc,11300,11303,11305,1130c,1130f,11310,11313,11328,1132a,11330,11332,11333,11335,11339,1133b,11344,11347,11348,1134b,1134d,11350,11350,11357,11357,1135d,11363,11366,1136c,11370,11374,]), + NotoFont.fromFlatList('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v16/wlpsgx_HC1ti5ViekvcxnhMlCVo3f5p13JpDd6u3AQ.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,a81,a83,a85,a8d,a8f,a91,a93,aa8,aaa,ab0,ab2,ab3,ab5,ab9,abc,ac5,ac7,ac9,acb,acd,ad0,ad0,ae0,ae3,ae6,af1,af9,aff,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,a830,a839,]), + NotoFont.fromFlatList('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [20,21,25,25,27,2f,3a,3a,3c,3f,a0,a0,d7,d7,f7,f7,200c,200d,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,11d60,11d65,11d67,11d68,11d6a,11d8e,11d90,11d91,11d93,11d98,11da0,11da9,]), + NotoFont.fromFlatList('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,a01,a03,a05,a0a,a0f,a10,a13,a28,a2a,a30,a32,a33,a35,a36,a38,a39,a3c,a3c,a3e,a42,a47,a48,a4b,a4d,a51,a51,a59,a5c,a5e,a5e,a66,a76,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,262c,262c,a830,a839,]), + NotoFont.fromFlatList('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3435,3435,3440,3440,344a,344a,344c,344c,3464,3464,3473,3473,347a,347a,347d,347e,3493,3493,3496,3496,34a5,34a5,34af,34af,34bc,34bc,34c1,34c1,34c8,34c8,34df,34df,34e4,34e4,34e6,34e6,34fb,34fb,3506,3506,353e,353e,3551,3551,3553,3553,3559,3559,3561,3561,356d,356d,3570,3570,3572,3572,3577,3578,3584,3584,3597,3598,35a1,35a1,35a5,35a5,35ad,35ad,35bf,35bf,35c1,35c1,35c5,35c5,35c7,35c7,35ca,35ca,35ce,35ce,35d2,35d2,35d6,35d6,35db,35db,35dd,35dd,35f1,35f3,35fb,35fb,35fe,35fe,3609,3609,3618,3618,361a,361a,3623,3623,3625,3625,362d,362d,3635,3635,3639,3639,363e,363e,3647,3649,364e,364e,365f,365f,3661,3661,367a,367a,3681,3681,369a,369a,36a5,36a5,36aa,36aa,36ac,36ac,36b0,36b1,36b5,36b5,36b9,36b9,36bc,36bc,36c1,36c1,36c3,36c5,36c7,36c8,36d3,36d4,36d6,36d6,36dd,36dd,36e1,36e2,36e5,36e6,36f5,36f5,3701,3701,3703,3703,3708,3708,370a,370a,370d,370d,371c,371c,3722,3723,3725,3725,372c,372d,3730,3730,3732,3733,373a,373a,3740,3740,3743,3743,3762,3762,376f,376f,3797,3797,37a0,37a0,37b9,37b9,37be,37be,37d6,37d6,37f2,37f2,37f8,37f8,37fb,37fb,380f,380f,3819,3819,3820,3820,382d,382d,3836,3836,3838,3838,3863,3863,3875,3875,38a0,38a0,38c3,38c3,38cc,38cc,38d1,38d1,38d4,38d4,38fa,38fa,3908,3908,3914,3914,3927,3927,3932,3932,393f,393f,394d,394d,3963,3963,3978,3978,3980,3980,3989,398a,3992,3992,3999,3999,399b,399b,39a1,39a1,39a4,39a4,39b8,39b8,39dc,39dc,39e2,39e2,39e5,39e5,39ec,39ec,39f8,39f8,39fb,39fb,39fe,39fe,3a01,3a01,3a03,3a03,3a06,3a06,3a17,3a18,3a29,3a2a,3a34,3a34,3a4b,3a4b,3a52,3a52,3a57,3a57,3a5c,3a5c,3a5e,3a5e,3a66,3a67,3a97,3a97,3aab,3aab,3abd,3abd,3ade,3ade,3ae0,3ae0,3af0,3af0,3af2,3af2,3af5,3af5,3afb,3afb,3b0e,3b0e,3b19,3b19,3b22,3b22,3b2b,3b2b,3b39,3b39,3b42,3b42,3b58,3b58,3b60,3b60,3b71,3b72,3b7b,3b7c,3b80,3b80,3b95,3b96,3b99,3b99,3ba1,3ba1,3bbc,3bbc,3bbe,3bbe,3bc2,3bc2,3bc4,3bc4,3bd7,3bd7,3bdd,3bdd,3bec,3bec,3bf2,3bf4,3c0d,3c0d,3c11,3c11,3c15,3c15,3c18,3c18,3c54,3c54,3c8b,3c8b,3ccb,3ccb,3ccd,3ccd,3cd1,3cd1,3cd6,3cd6,3cdc,3cdc,3ceb,3ceb,3cef,3cef,3d12,3d13,3d1d,3d1d,3d32,3d32,3d3b,3d3b,3d46,3d46,3d4c,3d4c,3d4e,3d4e,3d51,3d51,3d5f,3d5f,3d62,3d62,3d69,3d6a,3d6f,3d6f,3d75,3d75,3d7d,3d7d,3d85,3d85,3d88,3d88,3d8a,3d8a,3d8f,3d8f,3d91,3d91,3da5,3da5,3dad,3dad,3db4,3db4,3dbf,3dbf,3dc6,3dc7,3dc9,3dc9,3dcc,3dcd,3dd3,3dd3,3ddb,3ddb,3de7,3de8,3deb,3deb,3df3,3df4,3df7,3df7,3dfc,3dfd,3e06,3e06,3e40,3e40,3e43,3e43,3e48,3e48,3e55,3e55,3e74,3e74,3ea8,3eaa,3ead,3ead,3eb1,3eb1,3eb8,3eb8,3ebf,3ebf,3ec2,3ec2,3ec7,3ec7,3eca,3eca,3ecc,3ecc,3ed0,3ed1,3ed6,3ed7,3eda,3edb,3ede,3ede,3ee1,3ee2,3ee7,3ee7,3ee9,3ee9,3eeb,3eec,3ef0,3ef0,3ef3,3ef4,3efa,3efa,3efc,3efc,3eff,3f00,3f04,3f04,3f06,3f07,3f0e,3f0e,3f53,3f53,3f58,3f59,3f63,3f63,3f7c,3f7c,3f93,3f93,3fc0,3fc0,3fc8,3fc8,3fd7,3fd7,3fdc,3fdc,3fe5,3fe5,3fed,3fed,3ff9,3ffa,4004,4004,4009,4009,401d,401d,4039,4039,4045,4045,4053,4053,4057,4057,4062,4062,4065,4065,406a,406a,406f,406f,4071,4071,40a8,40a8,40b4,40b4,40bb,40bb,40bf,40bf,40c8,40c8,40d8,40d8,40df,40df,40f8,40f8,40fa,40fa,4102,4104,4109,4109,410e,410e,4131,4132,4167,4167,416c,416c,416e,416e,417c,417c,417f,417f,4181,4181,4190,4190,41b2,41b2,41c4,41c4,41ca,41ca,41cf,41cf,41db,41db,41ed,41ed,41ef,41ef,41f9,41f9,4211,4211,4223,4223,4240,4240,4260,4260,426a,426a,4276,4276,427a,427a,428c,428c,4294,4294,42a2,42a2,42b5,42b5,42b9,42b9,42bc,42bc,42f4,42f4,42fb,42fc,430a,430a,432b,432b,436e,436e,4397,4397,439a,439a,43ba,43ba,43c1,43c1,43d9,43d9,43df,43df,43ed,43ed,43f0,43f0,43f2,43f2,4401,4402,4413,4413,4425,4425,442d,442d,447a,447a,448f,448f,4491,4491,449f,44a0,44a2,44a2,44b0,44b0,44b7,44b7,44bd,44bd,44c0,44c0,44c3,44c3,44c5,44c5,44ce,44ce,44dd,44df,44e1,44e1,44e4,44e4,44e9,44ec,44f4,44f4,4503,4504,4509,4509,450b,450b,4516,4516,451b,451b,451d,451d,4527,4527,452e,452e,4533,4533,4536,4536,453b,453b,453d,453d,453f,453f,4543,4543,4551,4552,4555,4555,4558,4558,455c,455c,4561,4562,456a,456a,456d,456d,4577,4578,4585,4585,45a6,45a6,45b3,45b3,45da,45da,45e9,45ea,4603,4603,4606,4606,460f,460f,4615,4615,4617,4617,465b,465b,467a,467a,4680,4680,46a1,46a1,46ae,46ae,46bb,46bb,46cf,46d0,46f5,46f5,46f7,46f7,4713,4713,4718,4718,4736,4736,4744,4744,474e,474f,477c,477c,4798,4798,47a6,47a6,47d5,47d5,47ed,47ed,47f4,47f4,4800,4800,480b,480b,4837,4837,485d,485d,4871,4871,489b,489b,48ad,48ae,48d0,48d0,48dd,48dd,48ed,48ed,48f3,48f3,48fa,48fa,4906,4906,4911,4911,491e,491e,4925,4925,492a,492a,492d,492d,492f,4930,4935,4935,493c,493c,493e,493e,4945,4945,4951,4951,4953,4953,4965,4965,496a,496a,4972,4972,4989,4989,49a1,49a1,49a7,49a7,49df,49df,49e5,49e5,49e7,49e7,4a0f,4a0f,4a1d,4a1d,4a24,4a24,4a35,4a35,4a96,4a96,4aa4,4aa4,4ab4,4ab4,4ab8,4ab8,4ad1,4ad1,4ae4,4ae4,4aff,4aff,4b10,4b10,4b19,4b19,4b20,4b20,4b2c,4b2c,4b37,4b37,4b6f,4b70,4b72,4b72,4b7b,4b7b,4b7e,4b7e,4b8e,4b8e,4b90,4b90,4b93,4b93,4b96,4b97,4b9d,4b9d,4bbd,4bbe,4bc0,4bc0,4c04,4c04,4c07,4c07,4c0e,4c0e,4c32,4c32,4c3b,4c3b,4c3e,4c3e,4c40,4c40,4c47,4c47,4c57,4c57,4c5b,4c5b,4c6d,4c6d,4c77,4c77,4c7b,4c7b,4c7d,4c7d,4c81,4c81,4c85,4c85,4ca4,4ca4,4cae,4cae,4cb0,4cb0,4cb7,4cb7,4ccd,4ccd,4ce1,4ce2,4ced,4ced,4d07,4d07,4d09,4d09,4d10,4d10,4d34,4d34,4d76,4d77,4d89,4d89,4d91,4d91,4d9c,4d9c,4e00,4e01,4e03,4e04,4e07,4e11,4e14,4e16,4e18,4e1a,4e1c,4e1c,4e1e,4e1f,4e21,4e22,4e24,4e24,4e26,4e26,4e28,4e28,4e2a,4e33,4e36,4e39,4e3b,4e3d,4e3f,4e3f,4e42,4e43,4e45,4e45,4e47,4e49,4e4b,4e4b,4e4d,4e4f,4e52,4e53,4e56,4e56,4e58,4e5f,4e69,4e6a,4e73,4e73,4e78,4e78,4e7e,4e89,4e8b,4e8e,4e91,4e95,4e98,4e9b,4e9e,4ea6,4ea8,4ea8,4eab,4eae,4eb3,4eb3,4eb6,4eb7,4eb9,4ebc,4ebf,4ec4,4ec6,4ecb,4ecd,4ece,4ed4,4eda,4edc,4edf,4ee1,4ee1,4ee3,4ee5,4ee8,4eeb,4eee,4eee,4ef0,4ef8,4efb,4efb,4efd,4efd,4eff,4f05,4f08,4f0b,4f0d,4f15,4f17,4f1a,4f1d,4f1d,4f22,4f22,4f28,4f29,4f2c,4f2d,4f2f,4f30,4f32,4f34,4f36,4f3f,4f41,4f43,4f45,4f49,4f4b,4f64,4f67,4f67,4f69,4f6c,4f6e,4f70,4f72,4f8b,4f8d,4f8d,4f8f,4f92,4f94,4f98,4f9a,4f9e,4fa2,4fa2,4fa8,4fa8,4fab,4fab,4fae,4fb0,4fb2,4fb7,4fb9,4fbb,4fbd,4fbd,4fbf,4fc5,4fc7,4fd1,4fd3,4fd4,4fd6,4fe1,4fe4,4fe5,4fec,4fec,4fee,4ffa,4ffd,4ffe,5000,5000,5003,5003,5005,5009,500b,500f,5011,501c,501e,5023,5025,5031,5033,5035,5037,5037,503b,503c,5040,5041,5043,5043,5045,504f,5051,5051,5053,5053,5055,5058,505a,5066,5068,5070,5072,5077,507a,507a,507d,507d,5080,5083,5085,5085,5087,5088,508b,508e,5090,5092,5094,5096,5098,509e,50a2,50a3,50a6,50a6,50ac,50b8,50ba,50bf,50c1,50c2,50c4,50cb,50cd,50d1,50d3,50d7,50d9,50db,50dd,50dd,50df,50e1,50e3,50ea,50ec,50f1,50f3,50f6,50f8,50f9,50fb,510e,5110,5115,5117,5118,511a,511a,511c,511c,511f,5122,5124,5126,5129,512b,512d,512e,5130,5135,5137,513d,513f,5141,5143,5149,514b,514d,5151,5152,5154,5157,5159,5163,5165,5165,5167,516e,5171,5171,5174,5179,517c,517c,5180,5180,5182,5182,5186,518a,518d,518d,518f,518f,5191,5198,519a,519a,519c,519c,519e,519e,51a0,51a0,51a2,51a2,51a4,51a5,51a7,51a8,51aa,51ac,51ae,51ae,51b0,51b9,51bc,51be,51c3,51d4,51d7,51d8,51db,51e2,51e4,51e4,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fc,51fe,5200,5203,5205,520c,520e,520e,5210,5213,5216,5217,521c,5221,5224,522a,522e,522e,5230,5238,523a,523c,5241,5241,5243,5244,5246,5247,5249,524f,5252,5252,5254,5257,5259,5262,5268,526f,5272,5275,5277,527d,527f,5284,5287,528d,528f,5291,5293,5294,5296,529b,529f,52a1,52a3,52a4,52a6,52a6,52a8,52ae,52b5,52b5,52b9,52b9,52bb,52bc,52be,52be,52c0,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d0,52d3,52d5,52d9,52db,52db,52dd,52e4,52e6,52e6,52e9,52e9,52eb,52eb,52ef,52f1,52f3,52f5,52f7,52fc,52fe,52ff,5301,5301,5305,5306,5308,530b,530d,5312,5315,5317,5319,531a,531c,531d,531f,5324,5327,5327,532a,532a,532c,532d,532f,5334,5337,5339,533b,5345,5347,534a,534c,534e,5351,5354,5357,5357,535a,535a,535c,5361,5363,5364,5366,5367,5369,5369,536c,5375,5377,5379,537b,537f,5382,5382,5384,5384,538a,538a,538e,538f,5392,5394,5396,539a,539c,53a0,53a2,53a2,53a4,53ae,53b0,53b0,53b2,53b2,53b4,53b4,53b6,53b6,53b9,53b9,53bb,53bb,53c1,53c3,53c5,53c5,53c8,53cd,53d0,53d2,53d4,53d4,53d6,53db,53df,53e6,53e8,53f3,53f5,53f8,53fb,53fc,53fe,53fe,5401,5401,5403,5404,5406,5414,5416,5416,5418,5421,5423,5439,543b,5443,5445,5448,544a,544f,5454,5454,5460,546d,546f,5478,547a,5482,5484,5488,548b,5498,549a,549a,549c,549c,549e,549e,54a0,54b4,54b6,54c9,54cb,54d0,54d6,54d6,54da,54da,54de,54de,54e0,54eb,54ed,54ef,54f1,54f3,54f7,54f8,54fa,54fd,54ff,54ff,5501,5514,5517,5518,551a,551a,551e,551e,5523,5523,5525,5528,552a,5539,553b,553c,553e,5541,5543,554b,554d,5553,5555,5557,555c,555f,5561,5566,5569,556b,5571,5573,5575,5577,5579,5579,557b,5584,5586,5595,5598,559a,559c,559d,559f,559f,55a1,55ae,55b0,55b5,55b9,55bc,55bf,55df,55e1,55ea,55ec,55ec,55ee,55f2,55f5,55f7,55f9,5602,5604,5606,5608,5609,560c,5617,561b,5623,5625,5625,5627,5627,5629,562a,562c,5630,5632,563b,563d,5643,5645,5646,5648,564a,564c,5650,5652,5654,5657,565a,565d,565e,5660,5666,5668,5674,5676,567c,567e,5687,5689,5690,5692,5693,5695,5695,5697,569a,569c,569f,56a1,56a1,56a4,56a8,56aa,56af,56b1,56b7,56b9,56b9,56bc,56c3,56c5,56c6,56c8,56cd,56d1,56d1,56d3,56d4,56d6,56d7,56da,56db,56dd,56e2,56e4,56e5,56e7,56e7,56ea,56eb,56ed,56f1,56f7,56f7,56f9,56fb,56fd,56fd,56ff,5704,5707,570d,5712,5716,5718,5718,571a,5720,5722,5723,5728,572a,572c,5730,5732,5734,573b,573b,573d,5743,5745,5747,5749,5752,5754,5754,5757,5757,575b,575b,575f,575f,5761,5762,5764,5764,5766,576b,576d,576d,576f,5777,577a,5780,5782,5783,5788,5788,578a,578d,578f,5790,5793,5795,5797,57a5,57a7,57a7,57aa,57aa,57ae,57ae,57b3,57b6,57b8,57bf,57c1,57c4,57c6,57c8,57cb,57cc,57ce,57d0,57d2,57d2,57d4,57d5,57d7,57d7,57dc,57e7,57e9,57e9,57ec,57fe,5800,580e,5810,5810,5812,5812,5814,5814,5818,5819,581b,581e,5820,582a,582c,583b,583d,583d,583f,5840,5844,5844,5847,584f,5851,5855,5857,585f,5862,5865,5868,5869,586b,586d,586f,586f,5871,5876,5879,5883,5885,588b,588e,5894,5896,5896,5898,589a,589c,58a1,58a3,58a3,58a5,58ac,58ae,58b1,58b3,58b3,58b5,58b6,58ba,58bf,58c1,58c2,58c5,58c9,58cb,58cb,58ce,58d6,58d8,58e0,58e2,58e4,58e7,58e9,58eb,58ec,58ef,58f0,58f2,58f4,58f9,58ff,5902,5907,590a,590a,590c,590f,5911,5912,5914,5917,5919,591a,591c,591d,591f,5920,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5934,5934,5937,5938,593c,593c,593e,593e,5940,5940,5944,5945,5947,594a,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5962,5965,5965,5967,5967,5969,596e,5970,5979,597b,5985,5989,598a,598d,5990,5992,5994,5996,599a,599d,59a8,59ac,59ac,59ae,59c1,59c3,59d4,59d6,59d6,59d8,59de,59e0,59e1,59e3,59e6,59e8,5a03,5a09,5a0d,5a0f,5a0f,5a11,5a13,5a15,5a1c,5a1e,5a21,5a23,5a25,5a27,5a27,5a29,5a2e,5a33,5a33,5a35,5a39,5a3c,5a3e,5a40,5a4a,5a4c,5a4d,5a50,5a6e,5a70,5a71,5a77,5a7f,5a81,5a84,5a86,5a86,5a88,5a88,5a8a,5a8c,5a8e,5a97,5a99,5aa2,5aa4,5aa7,5aa9,5aac,5aae,5ac4,5ac6,5acf,5ad1,5ad1,5ad3,5ad3,5ad5,5ae6,5ae8,5aee,5af0,5af0,5af2,5afb,5afd,5aff,5b01,5b03,5b05,5b05,5b07,5b09,5b0b,5b0d,5b0f,5b11,5b13,5b17,5b19,5b1b,5b1d,5b21,5b23,5b28,5b2a,5b30,5b32,5b32,5b34,5b34,5b38,5b38,5b3c,5b41,5b43,5b48,5b4a,5b51,5b53,5b58,5b5a,5b5d,5b5f,5b5f,5b62,5b66,5b68,5b69,5b6b,5b6e,5b70,5b78,5b7a,5b7d,5b7f,5b85,5b87,5b89,5b8b,5b8c,5b8e,5b90,5b92,5b93,5b95,5b9f,5ba2,5ba8,5baa,5baa,5bac,5bae,5bb0,5bb0,5bb3,5bb9,5bbf,5bc7,5bca,5bce,5bd0,5bd9,5bdb,5bdb,5bde,5bec,5bee,5bf3,5bf5,5bf6,5bf8,5bf8,5bfa,5bfa,5bff,5bff,5c01,5c01,5c03,5c05,5c07,5c16,5c1a,5c1a,5c1c,5c1c,5c1e,5c20,5c22,5c25,5c28,5c28,5c2a,5c2a,5c2c,5c2c,5c30,5c31,5c33,5c33,5c37,5c3c,5c3e,5c41,5c44,5c51,5c53,5c56,5c58,5c59,5c5c,5c5e,5c60,5c60,5c62,5c65,5c67,5c6a,5c6c,5c6f,5c71,5c71,5c73,5c74,5c78,5c7c,5c7e,5c7e,5c83,5c83,5c85,5c86,5c88,5c8d,5c8f,5c95,5c99,5c9a,5c9c,5cb1,5cb3,5cb3,5cb5,5cb8,5cba,5cba,5cc1,5cc2,5cc6,5ccc,5cce,5cdb,5cde,5cdf,5ce5,5ce5,5ce8,5cea,5cec,5cf1,5cf4,5cf9,5cfb,5cfd,5cff,5d01,5d06,5d07,5d0b,5d12,5d14,5d1b,5d1d,5d20,5d22,5d29,5d2c,5d2c,5d2e,5d3a,5d3c,5d43,5d45,5d4c,5d4e,5d4e,5d50,5d52,5d55,5d57,5d59,5d59,5d5b,5d5b,5d5e,5d5e,5d62,5d63,5d65,5d65,5d67,5d69,5d6b,5d6c,5d6f,5d72,5d74,5d74,5d77,5d82,5d84,5d8b,5d8d,5d8e,5d92,5d95,5d97,5d97,5d99,5d9a,5d9c,5da2,5da4,5da4,5da7,5db2,5db4,5dba,5dbc,5dbd,5dc0,5dc3,5dc6,5dc7,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dcf,5dcf,5dd1,5dd2,5dd4,5dd8,5ddb,5ddb,5ddd,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df0,5df5,5df7,5df7,5df9,5df9,5dfd,5dff,5e02,5e04,5e06,5e06,5e09,5e0c,5e0e,5e0e,5e11,5e12,5e14,5e1b,5e1d,5e1d,5e1f,5e25,5e28,5e29,5e2b,5e2b,5e2d,5e2e,5e33,5e34,5e36,5e38,5e3d,5e3e,5e40,5e45,5e48,5e48,5e4a,5e4f,5e53,5e55,5e57,5e59,5e5b,5e63,5e66,5e70,5e72,5e76,5e78,5e80,5e82,5e84,5e86,5e8d,5e8f,5e8f,5e92,5e92,5e95,5e97,5e99,5e9c,5ea0,5ea0,5ea2,5ea8,5eaa,5eae,5eb0,5eb9,5ebd,5ebe,5ec1,5ec2,5ec4,5ece,5ed0,5ee3,5ee5,5ee9,5eec,5eec,5eee,5eef,5ef1,5ef4,5ef6,5efc,5efe,5eff,5f01,5f02,5f04,5f05,5f07,5f08,5f0a,5f0f,5f12,5f15,5f17,5f18,5f1a,5f1b,5f1d,5f1d,5f1f,5f1f,5f22,5f29,5f2d,5f2e,5f30,5f31,5f33,5f33,5f35,5f38,5f3a,5f3c,5f40,5f40,5f43,5f46,5f48,5f51,5f54,5f54,5f56,5f59,5f5c,5f5e,5f61,5f65,5f67,5f67,5f69,5f6d,5f6f,5f74,5f76,5f79,5f7b,5f83,5f85,5f8c,5f90,5f92,5f96,5f99,5f9b,5f9c,5f9e,5fa1,5fa4,5faf,5fb1,5fb2,5fb5,5fb7,5fb9,5fc5,5fc9,5fc9,5fcc,5fcd,5fcf,5fd2,5fd4,5fd9,5fdb,5fdb,5fdd,5fe1,5fe3,5fe5,5fe8,5fe8,5fea,5feb,5fed,5fef,5ff1,5ff1,5ff3,5ff5,5ff7,5ff8,5ffa,5ffb,5ffd,5ffd,5fff,6000,6009,6017,6019,601e,6020,602f,6031,6035,6037,6037,6039,6039,603b,603b,6040,6047,6049,604d,6050,6050,6052,6055,6058,605b,605d,605f,6062,6070,6072,6072,6075,6075,6077,6077,607e,6081,6083,608a,608c,608e,6090,6090,6092,6092,6094,6097,609a,60a0,60a2,60a4,60a6,60a8,60b0,60c1,60c3,60cf,60d1,60d1,60d3,60d5,60d7,60e4,60e6,60e9,60f0,6101,6103,6110,6112,6116,6118,611d,611f,6120,6122,6123,6127,6129,612b,612c,612e,6130,6132,6132,6134,6134,6136,6137,613b,613b,613d,6142,6144,6150,6152,6156,6158,6168,616a,616c,616e,6177,6179,617a,617c,617e,6180,6183,6187,6187,6189,618e,6190,6196,6198,619d,619f,619f,61a1,61a2,61a4,61a4,61a7,61ba,61bc,61bc,61be,61c3,61c5,61cd,61cf,61d0,61d3,61d3,61d6,61d6,61d8,61d8,61da,61da,61de,61e0,61e2,61eb,61ed,61ee,61f0,61f2,61f5,6201,6203,6204,6207,620a,620c,620e,6210,6212,6214,6216,6219,621b,621f,6225,6227,6227,6229,622e,6230,6230,6232,6234,6236,6237,6239,623a,623d,6243,6246,624e,6250,6254,6258,625c,625e,625e,6260,6266,6268,6268,626d,6274,6276,6277,6279,628a,628c,628c,628e,6298,629d,629d,62a4,62a4,62a6,62a6,62a8,62b1,62b3,62b6,62b8,62b9,62bb,62bf,62c1,62dc,62df,62df,62e5,62e5,62eb,6303,6307,6309,630b,6311,6313,6316,6318,6318,6328,632f,6331,633e,6340,6351,6354,635a,635d,635d,6364,6365,6367,6369,636b,6372,6375,637d,637f,6385,6387,6392,6394,6394,6396,6399,639b,63a5,63a7,63b1,63b9,63b9,63bd,63be,63c0,63d3,63d5,63eb,63ed,63f6,63f8,63f9,63fb,63fc,63fe,63fe,6406,6407,6409,6410,6412,6418,641a,641c,641e,6428,642a,6430,6432,643b,643d,6441,6443,6443,644b,644b,644d,644e,6450,6454,6458,6461,6465,6469,646b,647d,647f,647f,6482,6482,6485,6485,6487,648d,648f,6493,6495,649a,649c,64a0,64a2,64a6,64a9,64a9,64ab,64b4,64b6,64b6,64bb,64c5,64c7,64c7,64c9,64cb,64cd,64d0,64d2,64d4,64d6,64db,64dd,64dd,64e0,64ed,64ef,64f4,64f7,64f8,64fa,6501,6503,6504,6506,6507,6509,650a,650c,6511,6513,6519,651b,6526,6529,6530,6532,6539,653b,653b,653d,653f,6541,6541,6543,6543,6545,6546,6548,654a,654d,654d,654f,654f,6551,6551,6553,655a,655c,655f,6562,6568,656a,656d,656f,656f,6572,657c,657f,6589,658b,658c,6590,6592,6594,6597,6599,6599,659b,65a2,65a4,65a5,65a7,65a8,65aa,65ac,65ae,65b0,65b2,65b3,65b5,65b9,65bb,65bf,65c1,65c6,65cb,65d4,65d6,65d7,65da,65db,65dd,65e3,65e5,65e6,65e8,65e9,65ec,65f5,65fa,65fd,65ff,6600,6602,6615,6618,6618,661c,6628,662b,662b,662d,6636,6639,663a,6641,6645,6647,664d,664f,664f,6651,6653,6657,6657,6659,6668,666a,666c,666e,6674,6676,667e,6680,6680,6684,668e,6690,6692,6694,669a,669d,669d,669f,66a2,66a4,66a4,66a8,66ab,66ad,66bb,66bd,66c0,66c4,66c4,66c6,66cf,66d2,66d2,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e4,66e6,66e9,66eb,66ee,66f0,66f4,66f6,66f9,66fc,66fc,66fe,6705,6708,6710,6712,6719,671b,671b,671d,6723,6725,6728,672a,672e,6731,6731,6733,6736,6738,673f,6744,6749,674b,6751,6753,6753,6755,6757,6759,675a,675c,6762,6767,6767,676a,677f,6781,6787,6789,6789,678b,6795,6797,679a,679c,679d,679f,67a0,67a4,67a4,67ac,67ac,67ae,67bb,67bf,67c6,67c8,67d4,67d6,67df,67e2,67e7,67e9,67fa,67fc,67fc,67fe,6804,680d,680d,6810,6810,6812,6814,6816,6818,681a,6822,6825,6826,6828,682b,682d,682f,6831,683e,6840,6851,6853,6856,685d,685d,6865,6865,686b,686b,686d,686f,6871,6872,6874,6879,687b,688c,688f,6894,6896,6898,689b,689d,689f,68a4,68a6,68b6,68b9,68b9,68bd,68bd,68c1,68c1,68c3,68ce,68d0,68d8,68da,68da,68dc,68e1,68e3,68e4,68e6,68ec,68ee,68fd,6900,6915,6917,691b,6925,6925,692a,692a,692c,692c,692f,6930,6932,6939,693b,6946,6948,694c,694e,694f,6951,697b,6980,6980,6982,6983,6985,6986,698a,698a,698d,698e,6990,6991,6993,699c,699e,69b7,69b9,69b9,69bb,69c4,69c6,69c6,69c9,69d1,69d3,69d6,69d9,69d9,69e1,69e2,69e4,69e9,69eb,69ee,69f1,69f4,69f6,6a0d,6a0f,6a0f,6a11,6a11,6a13,6a21,6a23,6a23,6a25,6a29,6a2b,6a2d,6a32,6a35,6a38,6a41,6a43,6a49,6a4b,6a5b,6a5d,6a6b,6a6d,6a6d,6a6f,6a6f,6a71,6a71,6a74,6a74,6a76,6a76,6a7a,6a7a,6a7e,6a85,6a87,6a87,6a89,6a8a,6a8c,6a97,6a99,6aa8,6aab,6aaf,6ab1,6abb,6abd,6abe,6ac2,6ac3,6ac5,6acd,6acf,6ad1,6ad3,6ad4,6ad8,6ae1,6ae5,6ae5,6ae7,6ae8,6aea,6aec,6aee,6af1,6af3,6af3,6af6,6af6,6af8,6afc,6b00,6b00,6b02,6b05,6b08,6b0b,6b0f,6b13,6b16,6b1a,6b1d,6b1e,6b20,6b21,6b23,6b23,6b25,6b25,6b28,6b28,6b2c,6b2d,6b2f,6b2f,6b31,6b3f,6b41,6b43,6b45,6b4e,6b50,6b52,6b54,6b57,6b59,6b59,6b5b,6b5c,6b5e,6b67,6b6a,6b6a,6b6d,6b6d,6b6f,6b6f,6b72,6b72,6b74,6b74,6b76,6b7b,6b7e,6b84,6b86,6b86,6b88,6b8a,6b8c,6b8f,6b91,6b91,6b94,6b99,6b9b,6b9b,6b9e,6ba0,6ba2,6ba7,6baa,6bab,6bad,6bb0,6bb2,6bb3,6bb5,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc3,6bcd,6bcf,6bd0,6bd2,6bd4,6bd6,6bd8,6bda,6bdc,6bde,6bde,6be0,6be4,6be6,6be8,6bea,6bec,6bef,6bf0,6bf2,6bf3,6bf7,6c06,6c08,6c09,6c0b,6c0d,6c0f,6c11,6c13,6c16,6c18,6c1d,6c1f,6c21,6c23,6c28,6c2a,6c2c,6c2e,6c3b,6c3d,6c43,6c46,6c46,6c49,6c50,6c52,6c52,6c54,6c55,6c57,6c61,6c65,6c6b,6c6d,6c76,6c78,6c7b,6c7d,6c90,6c92,6c96,6c98,6c9d,6c9f,6c9f,6ca2,6ca2,6caa,6cb4,6cb6,6cc7,6cc9,6cd7,6cd9,6ce3,6ce5,6ce5,6ce7,6cf3,6cf5,6cf5,6cf9,6cf9,6cff,6d12,6d16,6d1b,6d1d,6d20,6d22,6d22,6d24,6d42,6d4e,6d4e,6d57,6d5c,6d5e,6d6a,6d6c,6d72,6d74,6d98,6d9a,6d9a,6da4,6da5,6daa,6dac,6dae,6daf,6db1,6db5,6db7,6dc0,6dc2,6dc2,6dc4,6dcd,6dcf,6de6,6de8,6df7,6df9,6dfe,6e00,6e00,6e02,6e05,6e0a,6e0a,6e0f,6e0f,6e15,6e15,6e18,6e1d,6e1f,6e36,6e38,6e41,6e43,6e47,6e49,6e4b,6e4d,6e69,6e6b,6e6b,6e6e,6e6f,6e71,6e74,6e76,6e79,6e7c,6e7c,6e86,6e86,6e88,6e89,6e8b,6e8b,6e8d,6e90,6e92,6e94,6e96,6ea7,6eaa,6eab,6eae,6ed6,6ed8,6edd,6ee2,6ee2,6ee8,6ee9,6eeb,6eef,6ef1,6ef2,6ef4,6f0f,6f12,6f1a,6f1c,6f1c,6f1e,6f27,6f29,6f41,6f43,6f44,6f4e,6f58,6f5a,6f64,6f66,6f67,6f69,6f70,6f72,6f74,6f76,6f82,6f84,6f8e,6f90,6f90,6f92,6f97,6f9d,6fb6,6fb8,6fc4,6fc6,6fcf,6fd3,6fd5,6fd8,6fe4,6fe6,6fe9,6feb,6ff2,6ff4,6ff4,6ff6,6ff8,6ffa,6ffc,6ffe,7001,7003,7007,7009,700f,7011,7011,7014,7024,7026,702c,702f,7035,7037,703c,703e,7046,7048,704d,7050,7052,7054,7058,705a,706c,706e,7071,7074,707a,707c,707f,7081,7086,7089,708b,708e,708f,7091,7096,7098,709a,709f,70a1,70a3,70a7,70a9,70a9,70ab,70b1,70b3,70b5,70b7,70be,70c0,70c0,70c4,70c8,70ca,70da,70dc,70e2,70e4,70e4,70ef,70f1,70f3,7100,7102,7102,7104,7106,7109,710e,7110,7110,7113,7113,7117,7117,7119,7123,7125,7126,7128,7129,712b,712c,712e,7136,713a,713b,713e,713e,7140,7147,7149,7154,7156,715a,715c,716c,716e,716e,7170,7178,717a,717e,7180,7182,7184,718a,718c,718c,718e,7192,7194,7194,7196,71a5,71a7,71aa,71ac,71ad,71af,71b5,71b7,71ba,71bc,71cb,71ce,71d2,71d4,71d6,71d8,71dd,71df,71e2,71e4,71e8,71eb,71ee,71f0,71f2,71f4,71f6,71f8,71f9,71fb,7203,7205,7207,7209,720a,720c,7210,7213,7217,7219,721b,721d,721f,7222,722e,7230,7230,7235,7236,7238,723b,723d,7242,7244,7244,7246,724c,724f,7250,7252,7253,7255,7263,7266,7267,7269,726a,726c,726c,726e,7270,7272,7274,7276,7279,727b,7282,7284,7289,728b,7298,729a,729b,729d,729f,72a1,72aa,72ac,72b0,72b2,72b2,72b4,72b5,72ba,72ba,72bd,72bd,72bf,72c6,72c9,72ce,72d0,72d2,72d4,72d4,72d6,72da,72dc,72dc,72df,72e4,72e6,72e6,72e8,72eb,72f3,72f4,72f6,7302,7304,7304,7307,7308,730a,730c,730f,7313,7316,7319,731b,731e,7322,7323,7325,732e,7330,733c,733e,7345,7348,734a,734c,7352,7357,735b,735d,7362,7365,736c,736e,7378,737a,738c,738e,738f,7392,7398,739c,73a2,73a4,73ad,73b2,73bc,73be,73c0,73c2,73d0,73d2,73de,73e0,73eb,73ed,73ef,73f3,740d,7411,7412,7414,7417,7419,7426,7428,743a,743c,743c,743f,7457,7459,7465,7467,7476,7479,747a,747c,7483,7485,748d,7490,7490,7492,7492,7494,7495,7497,74a1,74a3,74ab,74ad,74ad,74af,74b2,74b4,74bb,74bd,74c3,74c5,74c6,74c8,74c8,74ca,74cc,74cf,74d0,74d3,74e9,74ec,74ec,74ee,74ee,74f0,74f2,74f4,74f8,74fb,74fb,74fd,7500,7502,7505,7507,7508,750b,751a,751c,751f,7521,7522,7525,7526,7528,7535,7537,753b,753d,7540,7542,7542,7546,7548,754a,754f,7551,7551,7553,7555,7559,755d,755f,7560,7562,7567,756a,7570,7572,7572,7576,757a,757d,7580,7583,7584,7586,7587,758a,7592,7594,7595,7598,759a,759d,759e,75a2,75a5,75a7,75a7,75aa,75ab,75b0,75b6,75b8,75c5,75c7,75c8,75ca,75d2,75d4,75d5,75d7,75e4,75e6,75e7,75ed,75ed,75ef,7603,7607,760d,760f,7611,7613,7616,7619,7629,762c,762d,762f,7635,7638,7638,763a,763d,7640,7640,7642,7643,7646,7649,764c,7654,7656,765a,765c,765c,765f,7662,7664,7667,7669,766a,766c,7676,7678,767f,7681,7682,7684,7684,7686,768b,768e,7690,7692,7693,7695,7696,7699,769e,76a1,76a1,76a4,76a6,76aa,76ab,76ad,76b0,76b4,76b5,76b7,76b8,76ba,76bb,76bd,76bf,76c2,76c6,76c8,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76df,76e1,76e1,76e3,76e7,76e9,76ea,76ec,76f5,76f7,76fc,76fe,76fe,7701,7701,7703,7705,7707,770c,770e,7713,7715,7715,7719,771b,771d,7720,7722,7729,772b,772b,772d,772d,772f,772f,7731,773e,7740,7740,7743,7747,774a,774f,7752,7752,7754,7756,7758,775c,775e,7763,7765,776f,7772,7772,7777,7785,7787,7789,778b,778f,7791,7791,7793,7793,7795,7795,7797,77a3,77a5,77a5,77a7,77a8,77aa,77ad,77af,77b7,77b9,77bf,77c2,77c5,77c7,77c7,77c9,77d0,77d3,77d5,77d7,77de,77e0,77e0,77e2,77e3,77e5,77e9,77ec,77f4,77f7,77fe,7802,7803,7805,7806,7808,7809,780c,7814,7818,7818,781c,7823,7825,7835,7837,7839,783c,783d,7842,7845,7847,784e,7850,7854,785c,785e,7860,7860,7862,7862,7864,7866,7868,7871,7879,787c,787e,7881,7883,7889,788c,788f,7891,7891,7893,789a,789e,78a5,78a7,78ad,78af,78b4,78b6,78b6,78b8,78bc,78be,78be,78c1,78c1,78c3,78c5,78c7,78d5,78d7,78d8,78da,78db,78dd,78e5,78e7,78ea,78ec,78f5,78f7,78f7,78f9,78ff,7901,7902,7904,7906,7909,7909,790c,790c,790e,790e,7910,7914,7917,7917,7919,7919,791b,791e,7921,7921,7923,792f,7931,7936,7938,7942,7944,794c,794f,7965,7967,796b,796d,796d,7970,7974,7979,797a,797c,7983,7986,7988,798a,798b,798d,799d,799f,79a2,79a4,79ae,79b0,79b4,79b6,79bb,79bd,79c1,79c4,79c6,79c8,79d2,79d4,79d6,79d8,79d8,79dc,79e0,79e2,79e4,79e6,79e7,79e9,79ee,79f1,79f1,79f4,79f4,79f6,79f8,79fa,79fb,7a00,7a00,7a02,7a06,7a08,7a08,7a0a,7a0e,7a10,7a15,7a17,7a1c,7a1e,7a20,7a22,7a22,7a26,7a26,7a28,7a28,7a2a,7a32,7a37,7a37,7a39,7a40,7a43,7a4e,7a54,7a54,7a56,7a58,7a5a,7a5c,7a5f,7a62,7a65,7a65,7a67,7a69,7a6b,7a6e,7a70,7a72,7a74,7a76,7a78,7a7b,7a7d,7a81,7a83,7a8c,7a8f,7a99,7a9e,7aa0,7aa2,7aa3,7aa8,7aac,7aae,7ab8,7aba,7abc,7abe,7ac5,7ac7,7acb,7acf,7acf,7ad1,7ad1,7ad3,7ad3,7ad8,7add,7adf,7ae0,7ae2,7ae7,7ae9,7aeb,7aed,7aef,7af6,7af7,7af9,7b01,7b04,7b06,7b08,7b0c,7b0e,7b14,7b18,7b1b,7b1d,7b20,7b22,7b35,7b38,7b39,7b3b,7b3b,7b40,7b40,7b42,7b52,7b54,7b56,7b58,7b58,7b60,7b67,7b69,7b69,7b6c,7b78,7b7b,7b7b,7b82,7b82,7b84,7b85,7b87,7b88,7b8a,7b92,7b94,7b9d,7ba0,7ba4,7bac,7baf,7bb1,7bb2,7bb4,7bb5,7bb7,7bb9,7bbe,7bbe,7bc0,7bc1,7bc4,7bc7,7bc9,7bcc,7bce,7bd0,7bd4,7bd5,7bd8,7bec,7bf0,7bf4,7bf7,7c03,7c05,7c07,7c09,7c12,7c15,7c15,7c19,7c19,7c1b,7c23,7c25,7c2d,7c30,7c30,7c33,7c33,7c35,7c35,7c37,7c39,7c3b,7c40,7c42,7c45,7c47,7c4a,7c4c,7c4d,7c50,7c51,7c53,7c54,7c56,7c57,7c59,7c5d,7c5f,7c60,7c63,7c67,7c69,7c70,7c72,7c75,7c78,7c81,7c83,7c86,7c88,7c8a,7c8c,7c8e,7c91,7c92,7c94,7c98,7c9c,7c9c,7c9e,7c9f,7ca1,7ca3,7ca5,7ca8,7cac,7cac,7cae,7caf,7cb1,7cb5,7cb8,7cbf,7cc2,7cc3,7cc5,7cc5,7cc7,7cce,7cd0,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce8,7cea,7cea,7cec,7cf9,7cfb,7cfe,7d00,7d22,7d25,7d25,7d28,7d29,7d2b,7d2c,7d2e,7d33,7d35,7d36,7d38,7d47,7d4a,7d4a,7d4d,7d56,7d58,7d58,7d5a,7d5f,7d61,7d63,7d66,7d6b,7d6d,7d73,7d79,7d7d,7d7f,7d81,7d83,7d86,7d88,7d89,7d8b,7d8f,7d91,7d97,7d9c,7da4,7da6,7db5,7db7,7dc2,7dc4,7dc7,7dc9,7dd0,7dd2,7dd4,7dd7,7de1,7de3,7dea,7dec,7dec,7dee,7df7,7df9,7dfe,7e03,7e03,7e07,7e17,7e1a,7e25,7e27,7e27,7e29,7e2b,7e2d,7e49,7e4c,7e4c,7e50,7e5c,7e5e,7e63,7e65,7e65,7e67,7e70,7e72,7e82,7e86,7e88,7e8a,7e8f,7e91,7e9c,7e9f,7e9f,7ea4,7ea4,7eac,7eac,7eba,7eba,7ec7,7ec7,7ecf,7ecf,7edf,7edf,7f06,7f06,7f36,7f3a,7f3d,7f41,7f43,7f45,7f47,7f55,7f58,7f58,7f5b,7f61,7f63,7f63,7f65,7f6e,7f70,7f73,7f75,7f7f,7f83,7f83,7f85,7f8f,7f91,7f97,7f9a,7f9e,7fa0,7fa9,7fac,7fc3,7fc5,7fc5,7fc7,7fc7,7fc9,7fd2,7fd4,7fd5,7fd7,7fd7,7fdb,7fe3,7fe5,7ff5,7ff7,8008,800b,8012,8014,8019,801b,8021,8024,8026,8028,802a,802c,802c,802e,8031,8033,8037,8039,8039,803b,803f,8043,8043,8046,8048,804a,804a,804f,8052,8054,8054,8056,8056,8058,8058,805a,805e,8061,8064,8066,8067,806c,806c,806f,8073,8075,8079,807d,8080,8082,8082,8084,8087,8089,808c,808f,8090,8092,8093,8095,8096,8098,809d,809f,809f,80a1,80a3,80a5,80a5,80a7,80a7,80a9,80ab,80ad,80af,80b1,80b2,80b4,80b8,80ba,80ba,80bc,80bd,80c2,80ca,80cc,80d1,80d4,80de,80e0,80e1,80e3,80e6,80e9,80e9,80ec,80ed,80ef,80f6,80f8,80fe,8100,8103,8105,810a,810c,810c,810e,810e,8112,8112,8114,811b,811d,811f,8121,8125,8127,8127,8129,812d,812f,8132,8134,8134,8137,8137,8139,813a,813d,813e,8142,8144,8146,8148,814a,8156,8159,815c,815e,815e,8160,8162,8164,8167,8169,8169,816b,8174,8176,817a,817c,817d,817f,8180,8182,8184,8186,818d,818f,818f,8193,8193,8195,8195,8197,81a0,81a2,81a3,81a5,81ac,81ae,81ae,81b0,81b7,81b9,81ca,81cc,81cd,81cf,81d2,81d5,81d5,81d7,81db,81dd,81ea,81ec,81ef,81f2,81f4,81f6,81fc,81fe,8202,8204,8205,8207,820d,8210,8212,8214,8216,8218,8218,821a,8222,8225,8226,8228,822d,822f,822f,8232,823a,823c,8240,8242,8242,8244,8245,8247,8247,8249,8249,824b,824b,824e,825c,825e,825f,8261,8266,8268,8269,826b,826f,8271,8272,8274,8280,8283,8285,8287,8287,828a,828b,828d,8294,8298,829b,829d,82b1,82b3,82c0,82c2,82c4,82ca,82ca,82cf,82d9,82db,82dc,82de,82e8,82ea,8309,830b,830d,8316,831e,8320,8320,8322,8322,8324,832d,832f,832f,8331,833d,833f,8345,8347,8354,8356,8357,8362,8363,8366,8366,836f,836f,8373,8378,837a,837f,8381,8381,8383,8383,8385,839e,83a0,83a0,83a2,83ac,83ae,83b0,83b9,83b9,83bd,83cf,83d1,83d1,83d3,83d9,83db,83e5,83e7,83f6,83f8,83ff,8401,8401,8403,8407,8409,8414,8416,8416,8418,8418,841b,841c,8420,8421,8423,8424,8426,8426,8429,8429,842b,8440,8442,844e,8450,8469,846b,847a,847d,8480,8482,8482,8484,8484,8486,8486,8488,8488,848d,8494,8496,84a4,84a7,84b2,84b4,84b4,84b6,84b6,84b8,84c2,84c4,84c7,84c9,84d4,84d6,84d7,84da,84db,84de,84de,84e1,84e2,84e4,84e5,84e7,84ec,84ee,84f4,84f6,8500,8502,851a,851c,8521,8523,8531,8533,8534,8538,8538,853b,853b,853d,853e,8540,854e,8551,855b,855d,8571,8573,8573,8575,857c,857e,857e,8580,8591,8593,85a4,85a6,85aa,85af,85b1,85b3,85ba,85bd,85c9,85cb,85cb,85cd,85d2,85d5,85da,85dc,85e6,85e8,85f2,85f4,85f4,85f6,8602,8604,8607,8609,860d,860f,8611,8613,8614,8616,861c,861e,862a,862c,862f,8631,8636,8638,863c,863e,8640,8642,8643,8645,8648,864b,864e,8650,8650,8652,8656,8659,8659,865b,865c,865e,865f,8661,8665,8667,8674,8677,8677,8679,867c,867e,867e,8685,8687,868a,868e,8690,869a,869c,869e,86a0,86a5,86a7,86aa,86ad,86ad,86af,86c9,86cb,86cc,86d0,86d1,86d3,86d4,86d6,86df,86e2,86e4,86e6,86e6,86e8,86ed,86ef,86ef,86f5,86fb,86fe,86fe,8700,870e,8711,8713,8715,8715,8718,871c,871e,871e,8720,872a,872c,872e,8730,8735,8737,8738,873a,873c,873e,8743,8746,8746,874c,8771,8773,877b,877d,877d,8781,8789,878b,878d,878f,8794,8796,8798,879a,879f,87a2,87a5,87a9,87c6,87c8,87cc,87ce,87ce,87d1,87d4,87d6,87e8,87ea,87ef,87f2,87f7,87f9,87fc,87fe,8806,8808,880d,880f,8811,8813,8819,881b,881d,881f,8833,8835,8839,883b,8846,8848,8848,884a,884f,8852,8853,8855,8857,8859,885b,885d,885e,8860,8865,8867,886b,886d,8872,8874,8877,8879,8879,887c,8884,8887,8889,888b,8893,8895,88a2,88a4,88a4,88a7,88a8,88aa,88ac,88ae,88ae,88b1,88b2,88b4,88ba,88bc,88c2,88c5,88c5,88c7,88c7,88c9,88d0,88d2,88d2,88d4,88df,88e1,88e1,88e6,88e8,88eb,88ec,88ee,8902,8905,8907,8909,890c,890e,890e,8910,891a,891e,891f,8921,8927,8929,8933,8935,8938,893b,893e,8941,8944,8946,8947,8949,8949,894b,894d,894f,8954,8956,8966,8969,896f,8971,8974,8976,8977,8979,897c,897e,8983,8985,898b,898f,898f,8991,8991,8993,8998,899b,899f,89a1,89a7,89a9,89aa,89ac,89af,89b2,89b2,89b6,89b7,89b9,89ba,89bc,89c1,89c6,89c6,89d2,89d6,89d9,89dd,89df,89e9,89eb,89ed,89f0,89f4,89f6,89f8,89fa,89fc,89fe,8a00,8a02,8a04,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a13,8a15,8a18,8a1b,8a1f,8a22,8a23,8a25,8a25,8a27,8a27,8a29,8a2d,8a30,8a31,8a34,8a34,8a36,8a36,8a38,8a41,8a44,8a46,8a48,8a4a,8a4c,8a52,8a54,8a59,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a69,8a6b,8a6e,8a70,8a77,8a79,8a7c,8a7e,8a7f,8a81,8a87,8a8b,8a8d,8a8f,8a96,8a98,8a9a,8a9c,8a9c,8a9e,8a9e,8aa0,8aa1,8aa3,8aac,8aaf,8ab0,8ab2,8ab2,8ab4,8ab4,8ab6,8ab6,8ab8,8ac0,8ac2,8ac9,8acb,8acd,8acf,8acf,8ad1,8ae2,8ae4,8ae4,8ae6,8ae8,8aea,8aeb,8aed,8afc,8afe,8b02,8b04,8b08,8b0a,8b20,8b22,8b28,8b2a,8b31,8b33,8b33,8b35,8b37,8b39,8b43,8b45,8b5a,8b5c,8b60,8b62,8b63,8b65,8b6d,8b6f,8b70,8b74,8b74,8b77,8b7b,8b7d,8b86,8b88,8b88,8b8a,8b8c,8b8e,8b90,8b92,8b96,8b98,8b9c,8b9e,8ba0,8bbe,8bbe,8be2,8be2,8c37,8c37,8c39,8c39,8c3b,8c3f,8c41,8c43,8c45,8c51,8c54,8c57,8c5a,8c5a,8c5c,8c5d,8c5f,8c5f,8c61,8c62,8c64,8c66,8c68,8c6d,8c6f,8c73,8c75,8c7b,8c7d,8c7d,8c80,8c82,8c84,8c86,8c89,8c8a,8c8c,8c8d,8c8f,8c95,8c97,8ca5,8ca7,8cad,8caf,8cb0,8cb2,8cc5,8cc7,8cc8,8cca,8cca,8ccc,8ccd,8ccf,8ccf,8cd1,8cd7,8cd9,8cee,8cf0,8cf5,8cf7,8cfe,8d00,8d00,8d02,8d0d,8d0f,8d19,8d1b,8d1d,8d64,8d64,8d66,8d69,8d6b,8d70,8d72,8d74,8d76,8d7b,8d7d,8d7d,8d80,8d82,8d84,8d85,8d89,8d8a,8d8c,8d96,8d99,8d99,8d9b,8d9c,8d9f,8da1,8da3,8da3,8da5,8daf,8db2,8db7,8db9,8dba,8dbc,8dbc,8dbe,8dc3,8dc5,8dc8,8dcb,8dd1,8dd3,8ddd,8ddf,8de4,8de6,8dec,8dee,8df4,8dfa,8dfa,8dfc,8e07,8e09,8e0a,8e0d,8e2b,8e2d,8e2e,8e30,8e31,8e33,8e36,8e38,8e3a,8e3c,8e42,8e44,8e50,8e53,8e57,8e59,8e6a,8e6c,8e6d,8e6f,8e6f,8e71,8e78,8e7a,8e7c,8e7e,8e7e,8e80,8e82,8e84,8e8e,8e90,8e98,8e9a,8e9a,8e9d,8ea1,8ea3,8ead,8eb0,8eb0,8eb2,8eb2,8eb6,8eb6,8eb9,8eba,8ebc,8ebd,8ec0,8ec0,8ec2,8ec3,8ec9,8ecf,8ed1,8ed4,8ed7,8ed8,8eda,8ee2,8ee4,8ee9,8eeb,8eef,8ef1,8ef2,8ef4,8efc,8efe,8f03,8f05,8f0b,8f0d,8f0e,8f10,8f20,8f23,8f26,8f29,8f2a,8f2c,8f30,8f32,8f39,8f3b,8f3c,8f3e,8f4b,8f4d,8f64,8f66,8f67,8f6e,8f6e,8f93,8f93,8f9b,8f9c,8f9f,8fa0,8fa3,8fa3,8fa5,8fa8,8fad,8fbc,8fbe,8fbf,8fc1,8fc2,8fc4,8fc6,8fc9,8fd7,8fda,8fda,8fe0,8fe6,8fe8,8fe8,8fea,8feb,8fed,8fee,8ff0,8ff0,8ff4,9006,9008,9008,900b,900d,900f,9012,9014,9017,9019,9024,902d,902f,9031,9038,903c,903f,9041,9042,9044,9044,9046,9047,9049,9056,9058,9059,905b,905e,9060,9064,9067,9069,906b,9070,9072,9088,908a,908b,908d,908d,908f,9091,9094,9095,9097,9099,909b,909b,909e,90a3,90a5,90a8,90aa,90aa,90ae,90b6,90b8,90b8,90bb,90bb,90bd,90bf,90c1,90c1,90c3,90c5,90c7,90c8,90ca,90cb,90ce,90ce,90d4,90dd,90df,90e5,90e8,90ed,90ef,90f5,90f9,9109,910b,910b,910d,9112,9114,9114,9116,9124,9126,9136,9138,913b,913e,9141,9143,9153,9155,915a,915c,915c,915e,9165,9167,916a,916c,916c,916e,9170,9172,917a,917c,917c,9180,9187,9189,9193,9196,9196,9199,91a3,91a5,91a5,91a7,91b7,91b9,91be,91c0,91c7,91c9,91c9,91cb,91d1,91d3,91da,91dc,91dd,91df,91df,91e2,91ee,91f1,91f1,91f3,91fa,91fd,920a,920c,921a,921c,921c,921e,921e,9221,9221,9223,9228,922a,922b,922d,922e,9230,923a,923c,9241,9244,9246,9248,9258,925a,925b,925d,9267,926b,9270,9272,9272,9276,928f,9291,9291,9293,929d,92a0,92ac,92ae,92ae,92b1,92b7,92b9,92bc,92be,92d5,92d7,92d9,92db,92db,92dd,92e1,92e3,92f4,92f6,9304,9306,9309,930b,9310,9312,9316,9318,931b,931d,9331,9333,9336,9338,9339,933c,933c,9340,9352,9354,935c,935e,936e,9370,9371,9373,937e,9380,938a,938c,9392,9394,93aa,93ac,93b5,93b7,93b8,93bb,93bb,93bd,93bd,93bf,93c0,93c2,93c4,93c6,93c8,93ca,93e4,93e6,93e8,93ec,93ec,93ee,93ee,93f0,93f1,93f3,9401,9403,9404,9406,9419,941b,941b,941d,941d,9420,9420,9424,9433,9435,9440,9442,944d,944f,9452,9454,9455,9457,9458,945b,945b,945d,945e,9460,9460,9462,9465,9467,9479,947b,9483,9485,9485,949f,949f,94a2,94a2,94c1,94c1,94c3,94c3,94dc,94dc,94f6,94f6,952d,952d,9547,9547,9577,9578,957a,957d,957f,9580,9582,9583,9585,9586,9588,9589,958b,9594,9596,9599,959b,959c,959e,95ae,95b0,95b2,95b5,95b7,95b9,95c0,95c3,95c3,95c5,95cd,95d0,95d6,95da,95dc,95de,95e5,95e8,95e8,95f4,95f4,961c,961e,9620,9624,9628,9628,962a,962a,962c,9633,9638,963d,963f,9645,964a,9651,9653,9654,9656,9656,9658,9658,965b,965f,9661,9664,9669,966d,966f,9678,967b,967e,9680,9681,9683,968b,968d,968f,9691,9699,969b,969c,969e,969e,96a1,96a5,96a7,96aa,96ac,96ac,96ae,96ae,96b0,96b1,96b3,96b4,96b6,96b6,96b8,96b9,96bb,96bd,96bf,96ce,96d2,96df,96e1,96e3,96e5,96e5,96e8,96ea,96ef,96f2,96f4,96fb,96fd,96fd,96ff,9700,9702,9709,970b,970b,970d,9713,9716,9716,9718,9719,971b,972c,972e,9732,9734,9736,9738,973a,973d,9744,9746,974b,9751,9752,9755,9758,975a,9762,9766,9766,9768,976a,976c,976e,9770,9774,9776,9778,977a,9785,9787,978b,978d,978f,9794,9794,9797,97a6,97a8,97a8,97aa,97ae,97b1,97b4,97b6,97bb,97bd,97c9,97cb,97d0,97d2,97d9,97dc,97e1,97e3,97e3,97e5,97e6,97ed,97ee,97f0,97f3,97f5,97f6,97f8,97fb,97fd,9808,980a,980a,980c,9818,981b,9821,9823,9824,9826,9829,982b,982b,982d,9830,9832,9835,9837,9839,983b,983b,9841,9841,9843,9853,9856,9859,985b,9860,9862,986c,986f,9875,98a8,98a9,98ac,98af,98b1,98b4,98b6,98c4,98c6,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98ed,98ef,98ef,98f1,98f2,98f4,98f6,98f9,98fa,98fc,98fe,9900,9900,9902,9903,9905,9905,9907,990a,990c,990c,990e,990e,9910,991c,991e,991f,9921,9921,9924,9925,9927,9933,9935,9935,9937,9943,9945,9945,9947,994e,9950,9959,995b,995f,9961,9963,9996,9999,999b,999e,99a1,99a1,99a3,99a8,99aa,99b5,99b8,99bd,99c1,99c5,99c7,99c7,99c9,99c9,99cb,99dd,99df,99e7,99e9,99ea,99ec,99ee,99f0,99f1,99f4,99ff,9a01,9a07,9a09,9a11,9a14,9a16,9a19,9a27,9a29,9a32,9a34,9a46,9a48,9a4a,9a4c,9a50,9a52,9a5c,9a5e,9a60,9a62,9a6c,9a8f,9a8f,9aa8,9aa8,9aab,9aab,9aad,9aad,9aaf,9ab4,9ab6,9ac2,9ac6,9ac7,9aca,9aca,9acd,9acd,9acf,9ad8,9adc,9adc,9adf,9ae3,9ae6,9ae7,9aeb,9aef,9af1,9af4,9af6,9af7,9af9,9aff,9b01,9b06,9b08,9b12,9b14,9b1a,9b1e,9b20,9b22,9b25,9b27,9b2b,9b2d,9b2f,9b31,9b35,9b37,9b37,9b39,9b3c,9b3e,9b46,9b48,9b48,9b4a,9b52,9b54,9b56,9b58,9b5b,9b5f,9b61,9b64,9b64,9b66,9b69,9b6c,9b6c,9b6f,9b71,9b74,9b77,9b7a,9b83,9b85,9b88,9b8b,9b8b,9b8d,9b93,9b95,9b95,9b97,9b97,9b9a,9b9b,9b9d,9ba2,9ba4,9ba6,9ba8,9ba8,9baa,9bab,9bad,9bb0,9bb5,9bb6,9bb8,9bb9,9bbd,9bbd,9bbf,9bc1,9bc3,9bc4,9bc6,9bca,9bcf,9bcf,9bd3,9bd7,9bd9,9bde,9be0,9be2,9be4,9bed,9bf0,9bf1,9bf4,9bf4,9bf7,9bf8,9bfd,9bfd,9bff,9bff,9c02,9c02,9c05,9c0e,9c10,9c10,9c12,9c15,9c17,9c17,9c1b,9c1d,9c1f,9c21,9c23,9c26,9c28,9c29,9c2b,9c2d,9c2f,9c2f,9c31,9c37,9c39,9c41,9c44,9c50,9c52,9c59,9c5d,9c60,9c62,9c63,9c66,9c68,9c6d,9c6e,9c71,9c75,9c77,9c7c,9ce5,9ce7,9ce9,9cea,9ced,9ced,9cf1,9cf7,9cf9,9cfd,9cff,9d00,9d02,9d09,9d0c,9d0c,9d10,9d10,9d12,9d12,9d14,9d19,9d1b,9d1b,9d1d,9d23,9d25,9d26,9d28,9d29,9d2d,9d31,9d33,9d34,9d36,9d39,9d3b,9d3b,9d3d,9d45,9d49,9d4c,9d4e,9d54,9d56,9d61,9d67,9d75,9d77,9d79,9d7b,9d8c,9d90,9d90,9d92,9d94,9d96,9dad,9daf,9daf,9db1,9dc5,9dc7,9ddf,9de1,9de6,9de8,9de9,9deb,9df0,9df2,9e07,9e09,9e15,9e17,9e1f,9e75,9e75,9e79,9e7d,9e7f,9e8e,9e90,9ea2,9ea4,9eb1,9eb4,9eb7,9ebb,9ec4,9ec6,9ec8,9ecc,9ed1,9ed3,9ed6,9ed8,9ed8,9eda,9ee0,9ee2,9ee2,9ee4,9ee8,9eeb,9eeb,9eed,9f02,9f06,9f0a,9f0e,9f10,9f12,9f13,9f15,9f1c,9f1e,9f1e,9f20,9f20,9f22,9f39,9f3b,9f3b,9f3d,9f3e,9f40,9f50,9f52,9f67,9f69,9f6c,9f6e,9f72,9f74,9f7b,9f7e,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f99,9f9c,9f9c,9f9f,9fa0,9fa2,9fa2,9fa4,9fb3,9fc7,9fcb,9fd0,9fd0,f900,f908,f90b,f90d,f915,f915,f917,f917,f91a,f91a,f922,f922,f92d,f92d,f934,f934,f937,f937,f93a,f93a,f943,f943,f947,f948,f94a,f94a,f952,f952,f95e,f95e,f962,f962,f965,f965,f967,f967,f96d,f96d,f972,f972,f976,f976,f978,f979,f97b,f97b,f97e,f97e,f980,f980,f986,f986,f98a,f98a,f98e,f98e,f995,f995,f99c,f99d,f99f,f99f,f9b5,f9b5,f9bb,f9bb,f9bd,f9be,f9c5,f9c6,f9c8,f9c8,f9d0,f9d0,f9d8,f9d9,f9dc,f9de,f9e0,f9e0,f9e2,f9e4,f9e7,f9e7,f9e9,f9e9,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0d,fa33,fa35,fa3a,fa3a,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20021,20021,2003e,2003e,20046,20046,2004e,2004e,20068,20068,20086,20087,2008a,2008a,20094,20094,200ca,200cd,200d1,200d1,200ee,200ee,2010c,2010c,2010e,2010e,20118,20118,201a4,201a4,201a9,201a9,201ab,201ab,201c1,201c1,201d4,201d4,201f2,201f2,20204,20204,2020c,2020c,20214,20214,20239,20239,2025b,2025b,20274,20275,20299,20299,2029e,2029e,202a0,202a0,202b7,202b7,202bf,202c0,202e5,202e5,2030a,2030a,20325,20325,20341,20341,20345,20347,2037e,20380,203a0,203a0,203a7,203a7,203b5,203b5,203c9,203c9,203cb,203cb,203f5,203f5,203fc,203fc,20413,20414,2041f,2041f,20465,20465,20487,20487,2048e,2048e,20491,20492,204a3,204a3,204d7,204d7,204fc,204fc,204fe,204fe,20547,20547,2058e,2058e,205a5,205a5,205b3,205b3,205c3,205c3,205ca,205ca,205d0,205d0,205d5,205d5,205df,205e0,205eb,205eb,20611,20611,20615,20615,20619,2061a,20628,20628,20630,20630,20656,20656,20676,20676,2070e,2070e,20731,20731,20779,20779,2082c,2082c,20873,20873,208d5,208d5,20916,20916,20923,20923,20954,20954,20979,20979,209e7,209e7,20a11,20a11,20a50,20a50,20a6f,20a6f,20a8a,20a8a,20ab4,20ab4,20ac2,20ac2,20acd,20acd,20b0d,20b0d,20b8f,20b8f,20b9f,20b9f,20ba8,20ba9,20bbf,20bbf,20bc6,20bc6,20bcb,20bcb,20be2,20be2,20beb,20beb,20bfb,20bfb,20bff,20bff,20c0b,20c0b,20c0d,20c0d,20c20,20c20,20c34,20c34,20c3a,20c3b,20c41,20c43,20c53,20c53,20c65,20c65,20c77,20c78,20c7c,20c7c,20c8d,20c8d,20c96,20c96,20c9c,20c9c,20cb5,20cb5,20cb8,20cb8,20ccf,20ccf,20cd3,20cd6,20cdd,20cdd,20ced,20ced,20cff,20cff,20d15,20d15,20d28,20d28,20d31,20d32,20d46,20d49,20d4c,20d4e,20d6f,20d6f,20d71,20d71,20d74,20d74,20d7c,20d7c,20d7e,20d7f,20d96,20d96,20d9c,20d9c,20da7,20da7,20db2,20db2,20dc8,20dc8,20e04,20e04,20e09,20e0a,20e0d,20e11,20e16,20e16,20e1d,20e1d,20e4c,20e4c,20e6d,20e6d,20e73,20e73,20e75,20e7b,20e8c,20e8c,20e96,20e96,20e98,20e98,20e9d,20e9d,20ea2,20ea2,20eaa,20eac,20eb6,20eb6,20ed7,20ed8,20edd,20edd,20ef8,20efb,20f1d,20f1d,20f26,20f26,20f2d,20f2e,20f30,20f31,20f3b,20f3b,20f4c,20f4c,20f64,20f64,20f8d,20f8d,20f90,20f90,20fad,20fad,20fb4,20fb6,20fbc,20fbc,20fdf,20fdf,20fea,20fed,21014,21014,2101d,2101e,2104f,2104f,2105c,2105c,2106f,2106f,21075,21078,2107b,2107b,21088,21088,21096,21096,2109d,2109d,210b4,210b4,210bf,210c1,210c7,210c9,210cf,210cf,210d3,210d3,210e4,210e4,210f4,210f6,2112f,2112f,2113b,2113b,2113d,2113d,21145,21145,21148,21148,2114f,2114f,21180,21180,21187,21187,211d9,211d9,2123c,2123c,2124f,2124f,2127c,2127c,212a8,212a9,212b0,212b0,212e3,212e3,212fe,212fe,21302,21305,21336,21336,2133a,2133a,21375,21376,2138e,2138e,21398,21398,2139c,2139c,213c5,213c6,213ed,213ed,213fe,213fe,21413,21413,21416,21416,21424,21424,2143f,2143f,21452,21452,21454,21455,2148a,2148a,21497,21497,214b6,214b6,214e8,214e8,214fd,214fd,21577,21577,21582,21582,21596,21596,2160a,2160a,21613,21613,21619,21619,2163e,2163e,21661,21661,21692,21692,216b8,216b8,216ba,216ba,216c0,216c2,216d3,216d3,216d5,216d5,216df,216df,216e6,216e8,216fa,216fc,216fe,216fe,2170d,2170d,21710,21710,21726,21726,2173a,2173c,21757,21757,2176c,21771,21773,21774,217ab,217ab,217b0,217b5,217c3,217c3,217c7,217c7,217d9,217dc,217df,217df,217ef,217ef,217f5,217f6,217f8,217fc,21820,21820,21828,2182a,2182d,2182d,21839,2183b,21840,21840,21845,21845,21852,21852,2185e,2185e,21861,21864,21877,21877,2187b,2187b,21883,21885,2189e,218a2,218be,218bf,218d1,218d1,218d6,218d9,218fa,218fa,21903,21905,21910,21912,21915,21915,2191c,2191c,21922,21922,21927,21927,2193b,2193b,21944,21944,21958,21958,2196a,2196a,2197c,2197c,21980,21980,21983,21983,21988,21988,21996,21996,219db,219db,219f3,219f3,21a2d,21a2d,21a34,21a34,21a45,21a45,21a4b,21a4b,21a63,21a63,21b44,21b44,21bc1,21bc2,21c2a,21c2a,21c70,21c70,21ca2,21ca2,21ca5,21ca5,21cac,21cac,21d46,21d46,21d53,21d53,21d5e,21d5e,21d90,21d90,21db6,21db6,21dba,21dba,21dca,21dca,21dd1,21dd1,21deb,21deb,21df9,21df9,21e1c,21e1c,21e23,21e23,21e37,21e37,21e3d,21e3d,21e89,21e89,21ea4,21ea4,21ea8,21ea8,21ec8,21ec8,21ed5,21ed5,21f0f,21f0f,21f15,21f15,21f6a,21f6a,21f9e,21f9e,21fa1,21fa1,21fe8,21fe8,22045,22045,22049,22049,2207e,2207e,2209a,2209a,220c7,220c7,220fc,220fc,2212a,2212a,2215b,2215b,22173,22173,2217a,2217a,221a1,221a1,221c1,221c1,221c3,221c3,22208,22208,2227c,2227c,22321,22321,22325,22325,223bd,223bd,223d0,223d0,223d7,223d7,223fa,223fa,22465,22465,22471,22471,2248b,2248b,22491,22491,224b0,224b0,224bc,224bc,224c1,224c1,224c9,224c9,224cc,224cc,224ed,224ed,22513,22513,2251b,2251b,22530,22530,22554,22554,2258d,2258d,225af,225af,225be,225be,2261b,2261c,2262b,2262b,22668,22668,2267a,2267a,22696,22696,22698,22698,226f4,226f6,22712,22712,22714,22714,2271b,2271b,2271f,2271f,2272a,2272a,22775,22775,22781,22781,22796,22796,227b4,227b5,227cd,227cd,22803,22803,2285f,22860,22871,22871,228ad,228ad,228c1,228c1,228f7,228f7,22926,22926,22939,22939,2294f,2294f,22967,22967,2296b,2296b,22980,22980,22993,22993,22a66,22a66,22acf,22acf,22ad5,22ad5,22ae6,22ae6,22ae8,22ae8,22b0e,22b0e,22b22,22b22,22b3f,22b3f,22b43,22b43,22b6a,22b6a,22bca,22bca,22bce,22bce,22c26,22c27,22c38,22c38,22c4c,22c4c,22c51,22c51,22c55,22c55,22c62,22c62,22c88,22c88,22c9b,22c9b,22ca1,22ca1,22ca9,22ca9,22cb2,22cb2,22cb7,22cb7,22cc2,22cc2,22cc6,22cc6,22cc9,22cc9,22d07,22d08,22d12,22d12,22d44,22d44,22d4c,22d4c,22d67,22d67,22d8d,22d8d,22d95,22d95,22da0,22da0,22da3,22da4,22db7,22db7,22dee,22dee,22e0d,22e0d,22e36,22e36,22e42,22e42,22e78,22e78,22e8b,22e8b,22eb3,22eb3,22eef,22eef,22f74,22f74,22fcc,22fcc,22fe3,22fe3,23033,23033,23044,23044,2304b,2304b,23066,23066,2307d,2307e,2308e,2308e,230b7,230b7,230bc,230bc,230da,230da,23103,23103,2313d,2313d,2317d,2317d,23182,23182,231a4,231a5,231b3,231b3,231c8,231c9,231ea,231ea,231f7,231f9,2320f,2320f,23225,23225,2322f,2322f,23231,23234,23256,23256,2325e,2325e,23262,23262,23281,23281,23289,2328a,232ab,232ad,232d2,232d2,232e0,232e1,23300,23300,2330a,2330a,2331f,2331f,233b4,233b4,233cc,233cc,233de,233de,233e6,233e6,233f4,233f5,233f9,233fa,233fe,233fe,23400,23400,2343f,2343f,23450,23450,2346f,2346f,23472,23472,234e5,234e5,23519,23519,23530,23530,23551,23551,2355a,2355a,23567,23567,23595,23595,23599,23599,2359c,2359c,235bb,235bb,235cd,235cf,235f3,235f3,23600,23600,23617,23617,2361a,2361a,2363c,2363c,23640,23640,23659,23659,2365f,2365f,23677,23677,2368e,2368e,2369e,2369e,236a6,236a6,236ad,236ad,236ba,236ba,236df,236df,236ee,236ee,23703,23703,23716,23716,23720,23720,2372d,2372d,2372f,2372f,2373f,2373f,23766,23766,23781,23781,237a2,237a2,237bc,237bc,237c2,237c2,237d5,237d7,2383a,2383a,239c2,239c2,23aa7,23aa7,23adb,23adb,23aee,23aee,23afa,23afa,23b1a,23b1a,23b5a,23b5a,23c63,23c63,23c99,23c9b,23cb5,23cb5,23cb7,23cb7,23cc7,23cc9,23cfc,23cff,23d40,23d40,23d5b,23d5b,23d7e,23d7e,23d8f,23d8f,23db6,23dbd,23de3,23de3,23df8,23df8,23e06,23e06,23e11,23e11,23e2c,23e31,23e39,23e39,23e88,23e8b,23eb9,23eb9,23ebf,23ebf,23ed7,23ed7,23ef7,23efc,23f35,23f35,23f41,23f41,23f4a,23f4a,23f61,23f61,23f7f,23f82,23f8f,23f8f,23fb4,23fb4,23fb7,23fb7,23fc0,23fc0,23fc5,23fc5,23feb,23ff0,24011,24011,24039,2403d,24057,24057,24085,24085,2408b,2408d,24091,24091,240c9,240c9,240e1,240e1,240ec,240ec,24104,24104,2410f,2410f,24119,24119,2413f,24140,24144,24144,2414e,2414e,24155,24157,2415c,2415c,2415f,2415f,24161,24161,24177,24177,2417a,2417a,241a3,241a5,241ac,241ac,241b5,241b5,241cd,241cd,241e2,241e2,241fc,241fc,2421b,2421b,2424b,2424b,24256,24256,24259,24259,24276,24278,24284,24284,24293,24293,24295,24295,242a5,242a5,242bf,242bf,242c1,242c1,242c9,242ca,242ee,242ee,242fa,242fa,2430d,2430d,2431a,2431a,24334,24334,24348,24348,24362,24365,2438c,2438c,24396,24396,2439c,2439c,243bd,243bd,243c1,243c1,243e9,243ea,243f2,243f2,243f8,243f8,24404,24404,24435,24436,2445a,2445b,24473,24473,24487,24488,244b9,244b9,244bc,244bc,244ce,244ce,244d3,244d3,244d6,244d6,24505,24505,24521,24521,24578,24578,245c8,245c8,24618,24618,2462a,2462a,24665,24665,24674,24674,24697,24697,246d4,246d4,24706,24706,24725,24725,2472f,2472f,2478f,2478f,247e0,247e0,24812,24812,24823,24823,24882,24882,248e9,248e9,248f0,248f3,248fb,248fb,248ff,24901,2490c,2490c,24916,24917,24919,24919,2492f,2492f,24933,24934,2493e,24943,24962,24963,24974,24976,2497b,2497b,2497f,2497f,24982,24982,24988,2498f,24994,24994,249a4,249a4,249a7,249a7,249a9,249a9,249ab,249ad,249b7,249bb,249c5,249c5,249d0,249d0,249da,249da,249de,249df,249e3,249e3,249e5,249e5,249ec,249ed,249f6,249f9,249fb,249fb,24a0e,24a0e,24a12,24a13,24a15,24a15,24a21,24a2a,24a3e,24a3e,24a42,24a42,24a45,24a45,24a4a,24a4a,24a4e,24a51,24a5d,24a5d,24a65,24a67,24a71,24a71,24a77,24a7a,24a8c,24a8c,24a93,24a96,24aa4,24aa7,24ab1,24ab3,24aba,24abc,24ac0,24ac0,24ac7,24ac7,24aca,24aca,24ad1,24ad1,24adf,24adf,24ae2,24ae2,24ae9,24ae9,24b0f,24b0f,24b6e,24b6e,24bf5,24bf5,24c09,24c09,24c9e,24c9f,24cc9,24cc9,24cd9,24cd9,24d06,24d06,24d13,24d13,24db8,24db8,24dea,24deb,24e3b,24e3b,24e50,24e50,24ea5,24ea5,24ea7,24ea7,24f0e,24f0e,24f5c,24f5c,24f82,24f82,24f86,24f86,24f97,24f97,24f9a,24f9a,24fa9,24fa9,24fb8,24fb8,24fc2,24fc2,2502c,2502c,25052,25052,2509d,2509d,2512b,2512b,25148,25148,2517d,2517e,251cd,251cd,251e3,251e3,251e6,251e7,25220,25221,25250,25250,25299,25299,252c7,252c7,252d8,252d8,2530e,2530e,25311,25311,25313,25313,25419,25419,25425,25425,2542f,25430,25446,25446,2546c,2546c,2546e,2546e,2549a,2549a,25531,25531,25535,25535,2553f,2553f,2555b,2555e,25562,25562,25565,25566,25581,25581,25584,25584,2558f,2558f,255b9,255b9,255d5,255d5,255db,255db,255e0,255e0,25605,25605,25635,25635,25651,25651,25683,25683,25695,25695,256e3,256e3,256f6,256f6,25706,25706,2571d,2571d,25725,25725,2573d,2573d,25772,25772,257c7,257c7,257df,257e1,25857,25857,2585d,2585d,25872,25872,258c8,258c8,258de,258de,258e1,258e1,25903,25903,25946,25946,25956,25956,259ac,259ac,259cc,259cc,25a54,25a54,25a95,25a95,25a9c,25a9c,25aae,25aaf,25ad7,25ad7,25ae9,25ae9,25b74,25b74,25b89,25b89,25bb3,25bb4,25bc6,25bc6,25be4,25be4,25be8,25be8,25c01,25c01,25c06,25c06,25c21,25c21,25c4a,25c4a,25c65,25c65,25c91,25c91,25ca4,25ca4,25cc0,25cc1,25cfe,25cfe,25d20,25d20,25d30,25d30,25d43,25d43,25d99,25d99,25db9,25db9,25e0e,25e0e,25e49,25e49,25e81,25e83,25ea6,25ea6,25ebc,25ebc,25ed7,25ed8,25f1a,25f1a,25f4b,25f4b,25fe1,25fe2,26021,26021,26029,26029,26048,26048,26064,26064,26083,26083,26097,26097,260a4,260a5,26102,26102,26121,26121,26159,2615c,261ad,261ae,261b2,261b2,261dd,261dd,26258,26258,26261,26261,2626a,2626b,262d0,262d0,26335,26335,2634b,2634c,26351,26351,263be,263be,263f5,263f5,263f8,263f8,26402,26402,26410,26412,2644a,2644a,26469,26469,26484,26484,26488,26489,2648d,2648d,26498,26498,26512,26512,26572,26572,265a0,265a0,265ad,265ad,265bf,265bf,26612,26612,26626,26626,266af,266af,266b1,266b1,266b5,266b5,266da,266da,266e8,266e8,266fc,266fc,26716,26716,26741,26741,26799,26799,267b3,267b4,267cc,267cc,2681c,2681c,26846,26846,2685e,2685e,2686e,2686e,26888,26888,2688a,2688a,26893,26893,268c7,268c7,2690e,2690e,26911,26911,26926,26926,26939,26939,26951,26951,269a8,269a8,269b5,269b5,269f2,269f2,269fa,269fa,26a2d,26a2e,26a34,26a34,26a42,26a42,26a51,26a52,26b05,26b05,26b0a,26b0a,26b13,26b13,26b15,26b15,26b23,26b23,26b28,26b28,26b50,26b53,26b5b,26b5b,26b75,26b75,26b82,26b82,26b96,26b97,26b9d,26b9d,26bb3,26bb3,26bc0,26bc0,26bf7,26bf7,26c21,26c21,26c40,26c41,26c46,26c46,26c7e,26c82,26ca4,26ca4,26cb7,26cb8,26cbd,26cbd,26cc0,26cc0,26cc3,26cc3,26cd1,26cd1,26d22,26d2a,26d51,26d51,26d74,26d74,26da0,26da7,26dae,26dae,26ddc,26ddc,26dea,26deb,26df0,26df0,26e00,26e00,26e05,26e05,26e07,26e07,26e12,26e12,26e42,26e45,26e6e,26e6e,26e72,26e72,26e77,26e77,26e84,26e84,26e88,26e88,26e8b,26e8b,26e99,26e99,26ed0,26ed7,26f26,26f26,26f73,26f74,26f9f,26f9f,26fa1,26fa1,26fbe,26fbe,26fde,26fdf,2700e,2700e,2704b,2704b,27052,27053,27088,27088,270ad,270af,270cd,270cd,270d2,270d2,270f0,270f0,270f8,270f8,27109,27109,2710c,2710d,27126,27127,27164,27165,27175,27175,271cd,271cd,2721b,2721b,27267,27267,27280,27280,27285,27285,2728b,2728b,272b2,272b2,272b6,272b6,272e6,272e6,27352,27352,2739a,2739a,273ff,273ff,27422,27422,27450,27450,27484,27484,27486,27486,27574,27574,275a3,275a3,275e0,275e0,275e4,275e4,275fd,275fe,27607,27607,2760c,2760c,27632,27632,27639,27639,27655,27657,27694,27694,2770f,2770f,27735,27736,27741,27741,2775e,2775e,27784,27785,277cc,277cc,27858,27858,27870,27870,2789d,2789d,278b2,278b2,278c8,278c8,27924,27924,27967,27967,2797a,2797a,279a0,279a0,279dd,279dd,279fd,279fd,27a0a,27a0a,27a0e,27a0e,27a3e,27a3e,27a53,27a53,27a59,27a59,27a79,27a79,27a84,27a84,27abd,27abe,27af4,27af4,27b06,27b06,27b0b,27b0b,27b18,27b18,27b38,27b3a,27b48,27b48,27b65,27b65,27bef,27bef,27bf4,27bf4,27c12,27c12,27c6c,27c6c,27cb1,27cb1,27cc5,27cc5,27d2f,27d2f,27d53,27d54,27d66,27d66,27d73,27d73,27d84,27d84,27d8f,27d8f,27d98,27d98,27dbd,27dbd,27ddc,27ddc,27e4d,27e4d,27e4f,27e4f,27f2e,27f2e,27fb7,27fb7,27ff9,27ff9,28002,28002,28009,28009,2801e,2801e,28023,28024,28048,28048,28083,28083,28090,28090,280bd,280be,280e8,280e9,280f4,280f4,2812e,2812e,2814f,2814f,2815d,2815d,2816f,2816f,28189,28189,281af,281af,281bc,281bc,28207,28207,28218,28218,2821a,2821a,28256,28256,2827c,2827c,2829b,2829b,282cd,282cd,282e2,282e2,28306,28306,28318,28318,2832f,2832f,2833a,2833a,28365,28365,2836d,2836d,2837d,2837d,2838a,2838a,28412,28412,28468,28468,2846c,2846c,28473,28473,28482,28482,28501,28501,2853c,2853d,2856c,2856c,285e8,285e8,285f4,285f4,28600,28600,2860b,2860b,28625,28625,2863b,2863b,286aa,286ab,286b2,286b2,286bc,286bc,286d8,286d8,286e6,286e6,2870f,2870f,28713,28713,28804,28804,2882b,2882b,2890d,2890d,28933,28933,28948,28949,28956,28956,28964,28964,28968,28968,2896c,2896d,2897e,2897e,28989,28989,289a8,289a8,289aa,289ab,289b8,289b8,289bc,289bc,289c0,289c0,289dc,289dc,289de,289de,289e1,289e1,289e3,289e4,289e7,289e8,289f9,289fc,28a0f,28a0f,28a16,28a16,28a25,28a25,28a29,28a29,28a32,28a32,28a36,28a36,28a44,28a4b,28a59,28a5a,28a81,28a83,28a9a,28a9c,28ac0,28ac0,28ac6,28ac6,28acb,28acc,28ace,28ace,28ade,28ae3,28ae5,28ae5,28aea,28aea,28afc,28afc,28b0c,28b0c,28b13,28b13,28b21,28b22,28b2b,28b2d,28b2f,28b2f,28b46,28b46,28b4c,28b4c,28b4e,28b4e,28b50,28b50,28b63,28b66,28b6c,28b6c,28b8f,28b8f,28b99,28b99,28b9c,28b9d,28bb9,28bb9,28bc2,28bc2,28bc5,28bc5,28bd4,28bd4,28bd7,28bd7,28bd9,28bda,28be7,28bec,28bf5,28bf5,28bff,28bff,28c03,28c03,28c09,28c09,28c1c,28c1d,28c23,28c23,28c26,28c26,28c2b,28c2b,28c30,28c30,28c39,28c39,28c3b,28c3b,28cca,28cca,28ccd,28ccd,28cd2,28cd2,28d34,28d34,28d99,28d99,28db9,28db9,28e0f,28e0f,28e36,28e36,28e39,28e39,28e65,28e66,28e97,28e97,28eac,28eac,28eb2,28eb3,28ed9,28ed9,28ee7,28ee7,28fc5,28fc5,29079,29079,29088,29088,2908b,2908b,29093,29093,290af,290b1,290c0,290c0,290e4,290e5,290ec,290ed,2910d,2910d,29110,29110,2913c,2913c,2914d,2914d,2915b,2915b,2915e,2915e,29170,29170,2919c,2919c,291a8,291a8,291d5,291d5,291eb,291eb,2941d,2941d,29420,29420,29433,29433,2943f,2943f,29448,29448,294d0,294d0,294d9,294da,294e5,294e5,294e7,294e7,2959e,2959e,295b0,295b0,295b8,295b8,295d7,295d7,295e9,295e9,295f4,295f4,2967f,2967f,29720,29720,29732,29732,297d4,297d4,29810,29810,29857,29857,298a4,298a4,298d1,298d1,298ea,298ea,298f1,298f1,298fa,298fa,29903,29903,29905,29905,2992f,2992f,29945,29945,29947,29949,2995d,2995d,2996a,2996a,2999d,2999d,299c3,299c3,299c9,299c9,29a28,29a28,29a4d,29a4d,29b05,29b05,29b0e,29b0e,29bd5,29bd5,29c73,29c73,29cad,29cad,29d3e,29d3e,29d5a,29d5a,29d7c,29d7c,29d98,29d98,29d9b,29d9b,29df6,29df6,29e06,29e06,29e2d,29e2d,29e68,29e68,29eac,29eac,29eb0,29eb0,29ec3,29ec3,29ef8,29ef8,29f23,29f23,29f30,29f30,29fb7,29fb7,29fde,29fde,2a014,2a014,2a087,2a087,2a0b9,2a0b9,2a0e1,2a0e1,2a0ed,2a0ed,2a0f3,2a0f3,2a0f8,2a0f8,2a0fe,2a0fe,2a107,2a107,2a123,2a123,2a133,2a134,2a150,2a150,2a192,2a193,2a1ab,2a1ab,2a1b4,2a1b5,2a1df,2a1df,2a1f5,2a1f5,2a220,2a220,2a233,2a233,2a293,2a293,2a29f,2a29f,2a2b2,2a2b2,2a2b4,2a2b4,2a2b6,2a2b6,2a2ba,2a2ba,2a2bd,2a2bd,2a2df,2a2df,2a2ff,2a2ff,2a351,2a351,2a3a9,2a3a9,2a3ed,2a3ed,2a434,2a434,2a45b,2a45b,2a5c6,2a5c6,2a5cb,2a5cb,2a601,2a601,2a632,2a632,2a64a,2a64a,2a65b,2a65b,2a6a9,2a6a9,2adff,2adff,2d544,2d544,2f825,2f825,2f83b,2f83b,2f840,2f840,2f878,2f878,2f894,2f894,2f8a6,2f8a6,2f8cd,2f8cd,2f8db,2f8db,2f994,2f994,2f9b2,2f9b2,2f9bc,2f9bc,2f9d4,2f9d4,30ede,30ede,3106c,3106c,]), + NotoFont.fromFlatList('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [20,20,a0,a0,1720,1736,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [20,20,a0,a0,200c,200c,108e0,108f2,108f4,108f5,108fb,108ff,]), + NotoFont.fromFlatList('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v38/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,34f,34f,591,5c7,5d0,5ea,5f0,5f4,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200c,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20aa,20aa,20ac,20ac,2122,2122,2212,2212,25cc,25cc,fb1d,fb36,fb38,fb3c,fb3e,fb3e,fb40,fb41,fb43,fb44,fb46,fb4f,]), + NotoFont.fromFlatList('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [20,20,a0,a0,10840,10855,10857,1085f,]), + NotoFont.fromFlatList('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [20,20,a0,a0,627,627,660,669,6f0,6f9,1ec71,1ecb4,]), + NotoFont.fromFlatList('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [20,20,a0,a0,10b60,10b72,10b78,10b7f,]), + NotoFont.fromFlatList('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [20,20,a0,a0,10b40,10b55,10b58,10b5f,]), + NotoFont.fromFlatList('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3402,3402,3405,3406,3427,3427,342c,342c,342e,342e,3468,3468,346a,346a,3488,3488,3492,3492,34b5,34b5,34bc,34bc,34c1,34c1,34c7,34c7,34db,34db,351f,351f,353e,353e,355d,355e,3563,3563,356e,356e,35a6,35a6,35a8,35a8,35c5,35c5,35da,35da,35de,35de,35f4,35f4,3605,3605,3614,3614,364a,364a,3691,3691,3696,3696,3699,3699,36cf,36cf,3761,3762,376b,376c,3775,3775,378d,378d,37c1,37c1,37e2,37e2,37e8,37e8,37f4,37f4,37fd,37fd,3800,3800,382f,382f,3836,3836,3840,3840,385c,385c,3861,3861,38a1,38a1,38ad,38ad,38fa,38fa,3917,3917,391a,391a,396f,396f,39a4,39a4,39b8,39b8,3a5c,3a5c,3a6e,3a6e,3a73,3a73,3a85,3a85,3ac4,3ac4,3acb,3acb,3ad6,3ad7,3aea,3aea,3af3,3af3,3b0e,3b0e,3b1a,3b1a,3b1c,3b1c,3b22,3b22,3b35,3b35,3b6d,3b6d,3b77,3b77,3b87,3b88,3b8d,3b8d,3ba4,3ba4,3bb6,3bb6,3bc3,3bc3,3bcd,3bcd,3bf0,3bf0,3bf3,3bf3,3c0f,3c0f,3c26,3c26,3cc3,3cc3,3cd2,3cd2,3d11,3d11,3d1e,3d1e,3d31,3d31,3d4e,3d4e,3d64,3d64,3d9a,3d9a,3dc0,3dc0,3dcc,3dcc,3dd4,3dd4,3e05,3e05,3e3f,3e40,3e60,3e60,3e66,3e66,3e68,3e68,3e83,3e83,3e8a,3e8a,3e94,3e94,3eda,3eda,3f57,3f57,3f72,3f72,3f75,3f75,3f77,3f77,3fae,3fae,3fb1,3fb1,3fc9,3fc9,3fd7,3fd7,3fdc,3fdc,4039,4039,4058,4058,4093,4093,4103,4103,4105,4105,4148,4148,414f,414f,4163,4163,41b4,41b4,41bf,41bf,41e6,41e6,41ee,41ee,41f3,41f3,4207,4207,420e,420e,4264,4264,4293,4293,42c6,42c6,42d6,42d6,42dd,42dd,4302,4302,432b,432b,4343,4343,43ee,43ee,43f0,43f0,4408,4408,440c,440c,4417,4417,441c,441c,4422,4422,4453,4453,445b,445b,4476,4476,447a,447a,4491,4491,44b3,44b3,44be,44be,44d4,44d4,4508,4508,450d,450d,4525,4525,4543,4543,457a,457a,459d,459d,45b8,45b8,45be,45be,45e5,45e5,45ea,45ea,460f,4610,4641,4641,4665,4665,46a1,46a1,46ae,46af,470c,470c,471f,471f,4764,4764,47e6,47e6,47fd,47fd,4816,4816,481e,481e,4844,4844,484e,484e,48b5,48b5,49b0,49b0,49e7,49e7,49fa,49fa,4a04,4a04,4a29,4a29,4abc,4abc,4b38,4b38,4b3b,4b3b,4b7e,4b7e,4bc2,4bc2,4bca,4bca,4bd2,4bd2,4be8,4be8,4c17,4c17,4c20,4c20,4c38,4c38,4cc4,4cc4,4cd1,4cd1,4ce1,4ce1,4d07,4d07,4d77,4d77,4e00,4e05,4e07,4e12,4e14,4e19,4e1e,4e1f,4e21,4e21,4e23,4e24,4e26,4e26,4e28,4e32,4e35,4e39,4e3b,4e3c,4e3f,4e45,4e47,4e48,4e4b,4e4b,4e4d,4e4f,4e51,4e51,4e55,4e5f,4e62,4e63,4e68,4e69,4e71,4e71,4e73,4e75,4e79,4e79,4e7e,4e80,4e82,4e82,4e85,4e86,4e88,4e8e,4e91,4e92,4e94,4e99,4e9b,4ea2,4ea4,4ea6,4ea8,4ea8,4eab,4eb0,4eb3,4eb3,4eb6,4eb6,4eb9,4ebc,4ec0,4ec4,4ec6,4ec8,4eca,4ecb,4ecd,4ed0,4ed4,4edb,4edd,4ee5,4ee8,4ee8,4eeb,4eeb,4eed,4ef3,4ef5,4ef7,4efb,4f03,4f08,4f12,4f15,4f17,4f19,4f1a,4f1c,4f1d,4f2b,4f2b,4f2e,4f31,4f33,4f3e,4f40,4f40,4f42,4f43,4f46,4f49,4f4b,4f60,4f63,4f64,4f69,4f6a,4f6c,4f6c,4f6e,4f71,4f73,4f73,4f75,4f7f,4f81,4f86,4f88,4f94,4f96,4f9b,4f9d,4fa1,4fab,4fab,4fad,4faf,4fb2,4fb2,4fb5,4fb7,4fb9,4fb9,4fbb,4fc6,4fc8,4fd4,4fd7,4fd8,4fda,4fdd,4fdf,4fe6,4fee,4ff3,4ff5,4ff6,4ff8,4ff8,4ffa,4ffa,4ffc,5002,5004,5007,5009,5014,5016,501f,5021,502e,5030,5030,5032,5033,5035,5036,5039,5039,503b,503b,5040,5043,5045,504a,504c,504c,504e,5053,5055,5057,5059,505a,505c,505c,505f,5060,5062,5063,5065,5067,506a,506a,506c,506d,5070,5072,5074,5078,507d,507d,5080,5081,5083,5086,5088,5088,508a,508a,508d,5096,5098,509c,509e,50a3,50aa,50aa,50ac,50ad,50af,50b5,50b7,50b7,50b9,50bb,50bd,50be,50c0,50c0,50c2,50c5,50c7,50c7,50c9,50ca,50cc,50d1,50d3,50d6,50d8,50da,50dc,50df,50e1,50e9,50ed,50f6,50f9,50fb,50fe,50fe,5100,5104,5106,5109,510b,510e,5110,5110,5112,5112,5114,511f,5121,5121,5123,5123,5127,5128,512a,512a,512c,512d,512f,512f,5131,5135,5137,513c,513f,5150,5152,5155,5157,5158,515a,515a,515c,515c,515f,5160,5162,5162,5164,516e,5171,5171,5173,5179,517b,517c,517e,517e,5180,5180,5182,5186,5189,5193,5195,5199,519d,519d,51a0,51a6,51a8,51ad,51b0,51b8,51ba,51ba,51bc,51bf,51c2,51c6,51c8,51cd,51cf,51cf,51d1,51d6,51d8,51d8,51db,51e2,51e5,51e7,51e9,51ea,51ec,51ee,51f0,51fa,51fd,51fe,5200,5208,520a,520b,520e,520e,5211,5218,521d,521d,5222,5222,5224,522b,522e,522e,5230,5233,5235,523c,5243,5245,5247,5247,5249,524d,524f,524f,5254,5258,525a,5261,5263,5266,5269,526a,526c,526c,526e,5275,5277,5279,527d,527d,527f,5280,5282,5285,5287,528a,528c,528d,5291,5298,529a,529c,529f,52a0,52a3,52a7,52a9,52ad,52af,52b1,52b4,52be,52c0,52c1,52c3,52ca,52cc,52cd,52cf,52d2,52d4,52d9,52db,52ea,52ec,52ec,52f0,52fb,52fe,5303,5305,5308,530a,530d,530f,5311,5313,5313,5315,5321,5323,5325,5327,532d,532f,5333,5335,5335,5338,5343,5345,534d,5351,5354,5357,535c,535e,535e,5360,5361,5363,5367,5369,5369,536c,5375,5377,537b,537d,537f,5382,5384,5387,5389,538e,538e,5393,5394,5396,5396,5398,539a,539d,539d,539f,53a1,53a4,53a6,53a8,53ab,53ad,53b0,53b2,53b8,53ba,53bb,53bd,53bd,53c0,53c5,53c8,53cf,53d2,53d7,53d9,53db,53dd,53f8,53fa,53fa,5401,5404,5408,5413,541a,541b,541d,5421,5424,5424,5426,542f,5431,5431,5433,5436,5438,5439,543b,5440,5442,5444,5446,544a,544c,544f,5451,5451,5455,5455,545e,545f,5462,5462,5464,5464,5466,546e,5470,5471,5473,5477,547b,547d,547f,5481,5483,5486,5488,5492,5495,5496,549c,549c,549f,54a2,54a4,54af,54b1,54b3,54b7,54c4,54c6,54ca,54cd,54ce,54d8,54d8,54e0,54e2,54e5,54e6,54e8,54ea,54ec,54ef,54f1,54f3,54f6,54f6,54fa,54fa,54fc,5501,5504,5509,550c,5510,5514,5516,5527,5527,552a,552b,552e,552f,5531,5533,5535,5536,5538,5539,553b,553e,5540,5541,5544,5547,5549,554a,554c,554d,554f,5551,5553,5553,5556,5558,555a,555e,5560,5561,5563,5564,5566,5566,557b,5584,5586,558b,558e,558f,5591,5594,5597,559a,559c,559f,55a3,55a4,55a7,55ae,55b0,55b0,55b2,55b2,55b6,55b6,55bf,55bf,55c1,55c1,55c3,55c7,55c9,55c9,55cb,55cc,55ce,55ce,55d1,55d4,55d7,55d8,55da,55df,55e2,55e4,55e9,55e9,55ec,55ec,55ee,55ee,55f1,55f1,55f6,55f9,55fd,55ff,5605,560a,560d,5612,5614,5614,5616,5619,561b,561b,5620,5620,5628,5629,562c,562c,562f,5639,563b,563d,563f,5644,5646,5647,5649,5649,564b,5650,5653,5654,565b,565b,565e,565e,5660,5664,5666,5666,5668,566d,566f,566f,5671,5672,5674,5676,5678,5678,567a,567a,5680,5680,5684,5688,568a,568c,568f,568f,5694,5695,5699,569a,569d,56a0,56a2,56a2,56a5,56a9,56ab,56ae,56b1,56b4,56b6,56b7,56bc,56bc,56be,56be,56c0,56c3,56c5,56c5,56c8,56d1,56d3,56d3,56d7,56e1,56e3,56e8,56eb,56eb,56ed,56ee,56f0,56f3,56f6,56f7,56f9,56fa,56fd,56fd,56ff,5704,5707,570d,570f,570f,5711,5713,5715,5716,5718,5718,571a,571d,571f,572a,572c,5730,5733,5734,5737,5738,573b,573b,573d,5740,5742,5742,5745,5747,574a,574a,574c,5752,5759,5759,575f,575f,5761,5762,5764,576b,576d,5771,5773,5775,5777,5777,5779,577c,577e,577f,5781,5783,5788,5789,578b,578c,5793,5795,5797,5797,5799,579a,579c,57a4,57a7,57aa,57ac,57ac,57ae,57ae,57b0,57b0,57b3,57b3,57b8,57b8,57bd,57bd,57c0,57c0,57c3,57c3,57c6,57c8,57cb,57cc,57ce,57cf,57d2,57d7,57dc,57e1,57e3,57e4,57e6,57e7,57e9,57e9,57ed,57ed,57f0,57f0,57f4,5800,5802,5806,5808,580d,5815,5815,5819,5819,581b,581b,581d,5821,5824,5824,5826,5827,582a,582a,582d,582d,582f,5832,5834,5835,5839,583a,583d,583d,583f,5841,5849,584d,584f,5852,5854,5855,5857,585a,585e,585f,5861,5862,5864,5864,5867,5869,586b,586b,586d,586d,5870,5870,5872,5872,5875,5875,5878,5879,587c,587c,587e,5881,5883,5883,5885,5885,5887,588d,588f,5890,5893,5894,5896,5898,589c,58a2,58a6,58a6,58a8,58ab,58ae,58ae,58b1,58b3,58b8,58bc,58be,58be,58c1,58c5,58c7,58c8,58ca,58ca,58cc,58ce,58d0,58da,58dc,58e2,58e4,58e5,58e9,58e9,58eb,58ec,58ee,58f4,58f7,58f7,58f9,58fd,5902,5902,5905,5906,5909,590d,590f,5910,5912,5916,5918,591d,591f,591f,5921,5925,5927,5933,5935,5939,593d,593f,5943,5944,5946,5949,594e,5955,5957,595b,595d,5963,5965,5965,5967,596f,5972,5976,5978,5979,597b,597d,5981,5984,598a,598e,5992,5993,5995,5997,5999,5999,599b,599b,599d,599d,599f,599f,59a3,59a5,59a7,59a8,59ac,59b0,59b2,59b3,59b7,59b7,59b9,59bc,59be,59be,59c1,59c1,59c3,59c4,59c6,59c6,59c8,59cb,59cd,59cd,59d0,59d4,59d9,59da,59dc,59df,59e3,59e8,59ea,59ec,59ee,59ef,59f1,59f2,59f4,59f4,59f6,59f8,59fb,59fb,59ff,5a01,5a03,5a04,5a09,5a09,5a0c,5a0e,5a11,5a13,5a17,5a18,5a1a,5a1c,5a1e,5a20,5a23,5a25,5a27,5a2a,5a2d,5a2d,5a2f,5a30,5a35,5a36,5a3c,5a3c,5a40,5a41,5a44,5a49,5a4c,5a4c,5a50,5a50,5a55,5a55,5a5a,5a5a,5a5e,5a5e,5a62,5a63,5a65,5a67,5a6a,5a6a,5a6c,5a6d,5a77,5a77,5a7a,5a7b,5a7e,5a7f,5a84,5a84,5a8b,5a8b,5a90,5a90,5a92,5a93,5a96,5a96,5a99,5a9c,5a9e,5aa0,5aa2,5aa2,5aa7,5aa7,5aac,5aac,5ab1,5ab3,5ab5,5ab5,5ab8,5ab8,5aba,5abf,5ac1,5ac2,5ac4,5ac4,5ac6,5ac6,5ac8,5ac9,5acb,5acc,5acf,5ad0,5ad6,5ad7,5ada,5ada,5adc,5adc,5ae0,5ae1,5ae3,5ae3,5ae5,5ae6,5ae9,5aea,5aee,5aee,5af0,5af0,5af5,5af6,5afa,5afb,5afd,5afd,5b00,5b01,5b08,5b09,5b0b,5b0c,5b16,5b17,5b19,5b19,5b1b,5b1b,5b1d,5b1d,5b21,5b22,5b25,5b25,5b2a,5b2a,5b2c,5b2d,5b30,5b30,5b32,5b32,5b34,5b34,5b36,5b36,5b38,5b38,5b3e,5b3e,5b40,5b41,5b43,5b43,5b45,5b45,5b4b,5b4c,5b50,5b52,5b54,5b58,5b5a,5b5f,5b63,5b66,5b68,5b69,5b6b,5b6b,5b6e,5b71,5b73,5b73,5b75,5b76,5b78,5b78,5b7a,5b7a,5b7c,5b91,5b93,5b9d,5b9f,5b9f,5ba2,5ba6,5ba8,5ba9,5bac,5bba,5bbc,5bbc,5bbf,5bc7,5bc9,5bc9,5bcc,5bd0,5bd2,5bd4,5bd6,5bdb,5bdd,5be2,5be4,5be9,5beb,5bec,5bee,5bf1,5bf3,5bf6,5bf8,5bf8,5bfa,5bfa,5bfd,5bff,5c01,5c0f,5c11,5c14,5c16,5c17,5c19,5c1a,5c1e,5c20,5c22,5c24,5c26,5c26,5c28,5c2e,5c30,5c32,5c35,5c36,5c38,5c41,5c45,5c46,5c48,5c48,5c4a,5c4b,5c4d,5c51,5c53,5c53,5c55,5c55,5c59,5c5c,5c5e,5c65,5c67,5c69,5c6c,5c71,5c74,5c76,5c79,5c7d,5c87,5c88,5c8a,5c8a,5c8c,5c8c,5c8f,5c92,5c94,5c94,5c9d,5c9d,5c9f,5ca3,5ca6,5cad,5cb1,5cb8,5cba,5cbc,5cbe,5cbe,5cc5,5cc5,5cc7,5cc7,5cc9,5cc9,5ccb,5ccb,5cd0,5cd0,5cd2,5cd2,5cd7,5cd7,5cd9,5cd9,5cdd,5cdd,5ce0,5ce1,5ce6,5ce6,5ce8,5cea,5ced,5cf2,5cf4,5cf6,5cfa,5cfb,5cfd,5cfd,5d01,5d01,5d06,5d07,5d0b,5d0b,5d0d,5d0e,5d10,5d12,5d14,5d1b,5d1d,5d1d,5d1f,5d20,5d22,5d24,5d26,5d27,5d29,5d29,5d2b,5d2b,5d31,5d31,5d34,5d34,5d39,5d39,5d3d,5d3d,5d3f,5d3f,5d42,5d43,5d46,5d48,5d4a,5d4c,5d4e,5d4e,5d50,5d53,5d55,5d55,5d59,5d59,5d5c,5d5c,5d5f,5d62,5d64,5d64,5d69,5d6a,5d6c,5d6d,5d6f,5d70,5d73,5d73,5d76,5d76,5d79,5d7a,5d7e,5d7f,5d81,5d84,5d87,5d88,5d8a,5d8c,5d90,5d90,5d92,5d95,5d97,5d97,5d99,5d99,5d9b,5d9b,5d9d,5d9d,5d9f,5da0,5da2,5da2,5da4,5da4,5da7,5da7,5dab,5dac,5dae,5dae,5db0,5db0,5db2,5db2,5db4,5db4,5db7,5dba,5dbc,5dbd,5dc3,5dc3,5dc7,5dc7,5dc9,5dc9,5dcb,5dce,5dd0,5dd3,5dd6,5dd9,5ddb,5ddb,5ddd,5dde,5de0,5de9,5deb,5deb,5dee,5dee,5df1,5df5,5df7,5df9,5dfb,5dfb,5dfd,5e00,5e02,5e03,5e06,5e07,5e0b,5e0d,5e11,5e12,5e14,5e16,5e18,5e1b,5e1d,5e1d,5e1f,5e20,5e25,5e25,5e28,5e28,5e2b,5e2b,5e2d,5e30,5e32,5e33,5e35,5e38,5e3d,5e3e,5e40,5e40,5e43,5e45,5e47,5e47,5e49,5e49,5e4b,5e4c,5e4e,5e4e,5e50,5e51,5e54,5e58,5e5b,5e5c,5e5e,5e5f,5e61,5e64,5e68,5e68,5e6a,5e6e,5e70,5e70,5e72,5e81,5e83,5e84,5e87,5e87,5e8a,5e8b,5e8e,5e8f,5e95,5e97,5e99,5e9a,5e9c,5e9c,5ea0,5ea0,5ea2,5ea2,5ea4,5ea8,5eaa,5ead,5eb1,5eb1,5eb3,5eb3,5eb5,5eb9,5ebd,5ebf,5ec1,5ec3,5ec6,5ec6,5ec8,5ecc,5ece,5ed6,5ed9,5ee3,5ee5,5ee5,5ee8,5ee9,5eeb,5eec,5ef0,5ef1,5ef3,5ef4,5ef6,5f04,5f06,5f11,5f13,5f19,5f1b,5f1f,5f21,5f29,5f2b,5f31,5f34,5f38,5f3a,5f41,5f44,5f45,5f47,5f48,5f4a,5f4a,5f4c,5f4e,5f50,5f51,5f53,5f54,5f56,5f59,5f5b,5f5d,5f60,5f67,5f69,5f6d,5f6f,5f75,5f77,5f7a,5f7c,5f85,5f87,5f8d,5f8f,5f93,5f96,5f99,5f9c,5f9e,5fa0,5fa2,5fa4,5fa4,5fa7,5fb1,5fb3,5fb5,5fb7,5fb9,5fbc,5fbd,5fc3,5fc5,5fc7,5fc9,5fcb,5fcd,5fd0,5fd4,5fd6,5fd9,5fdc,5fde,5fe0,5fe2,5fe4,5fe4,5fe8,5ff3,5ff5,5ff6,5ff8,5ff8,5ffa,5ffd,5fff,5fff,6007,6007,600a,600a,600d,6010,6012,601d,601f,6022,6024,602b,602d,602d,602f,602f,6031,6031,6033,6033,6035,6035,603a,603a,6040,6043,6046,604d,6050,6052,6054,6057,6059,605a,605d,605d,605f,6065,6067,606d,606f,6071,6075,6075,6077,6077,607e,607f,6081,6086,6088,608e,6091,6098,609a,609b,609d,60a0,60a2,60aa,60b0,60b8,60bb,60be,60c2,60c2,60c4,60cb,60ce,60cf,60d1,60d1,60d3,60d5,60d8,60e3,60e5,60e5,60e7,60e8,60ee,60ee,60f0,60fd,6100,6103,6106,610a,610c,6117,6119,611c,611e,6122,6127,6128,612a,612c,6130,6131,6134,6137,6139,613a,613c,613f,6141,6142,6144,614e,6153,6153,6155,6155,6158,615a,615d,6160,6162,6165,6167,6168,616b,616c,616e,6178,617b,6184,6187,6187,618a,618b,618d,618e,6190,6194,6196,619a,619c,619d,619f,61a0,61a4,61a5,61a7,61ae,61b2,61b2,61b6,61b6,61b8,61ba,61bc,61bc,61be,61be,61c0,61c3,61c6,61d0,61d5,61d5,61dc,61df,61e1,61e3,61e5,61e9,61ec,61ed,61ef,61ef,61f2,61f2,61f4,61f8,61fa,61fa,61fc,6201,6203,6204,6207,620a,620c,620e,6210,6216,621a,6223,6226,6227,6229,622b,622e,6234,6236,6236,6238,6239,623b,623b,623d,6244,6246,6249,624b,624e,6250,6256,6258,6258,625a,625c,625e,625e,6260,6261,6263,6264,6268,6268,626d,626f,6271,6271,6273,6273,6276,6276,6279,6280,6282,6285,6289,628a,628d,6299,629b,629c,629e,629e,62a6,62a6,62a8,62a8,62ab,62ac,62b1,62b1,62b3,62b3,62b5,62b7,62b9,62bf,62c2,62c2,62c4,62ca,62cc,62dd,62e0,62e1,62ea,62ea,62ec,62ef,62f1,62f7,62fc,62ff,6301,6304,6307,630d,6310,6311,6313,6313,6316,6316,6318,6319,631b,631b,631f,631f,6327,632b,632d,632d,632f,632f,6332,6332,6335,6336,6339,633f,6341,6344,6346,6346,6349,6350,6352,6355,6357,6359,635b,635c,6365,6369,636b,636e,6371,6372,6374,6378,637a,637d,637f,6380,6382,6384,6387,638a,638c,638c,638e,6390,6392,6392,6394,6396,6398,639b,639e,63af,63b2,63b2,63b4,63b5,63bb,63bb,63bd,63be,63c0,63c1,63c3,63c6,63c8,63c9,63ce,63d6,63da,63dc,63e0,63e1,63e3,63e3,63e5,63e5,63e9,63ee,63f2,63fa,6406,6406,6409,640a,640d,640d,640f,6410,6412,6414,6416,6418,641c,641c,641e,641e,6420,6420,6422,6422,6424,6426,6428,642a,642c,642d,642f,6430,6434,6436,643a,643a,643d,643f,6442,6442,644b,644b,644e,644f,6451,6454,6458,6458,645a,645d,645f,6461,6463,6463,6467,6467,6469,6469,646d,646d,646f,646f,6473,6474,6476,6476,6478,647b,647d,647d,6483,6483,6485,6485,6487,6488,648f,6493,6495,6495,6498,649b,649d,649f,64a1,64a1,64a3,64a6,64a8,64a9,64ab,64ae,64b0,64b0,64b2,64b3,64b9,64b9,64bb,64bf,64c1,64c2,64c4,64c5,64c7,64c7,64c9,64ce,64d0,64d2,64d4,64d5,64d7,64d8,64da,64da,64e0,64e7,64e9,64ea,64ec,64ed,64ef,64f2,64f4,64f7,64fa,64fb,64fd,6501,6504,6505,6508,650a,650f,650f,6513,6514,6516,6516,6518,6519,651b,651f,6522,6524,6526,6526,6529,652c,652e,652f,6531,6532,6534,653f,6543,6545,6547,6549,654d,6552,6554,6559,655d,6560,6562,6563,6566,6567,656b,656c,6570,6570,6572,6572,6574,6575,6577,6578,657a,657a,657d,657d,6581,6585,6587,658a,658c,658c,658e,658e,6590,6592,6595,6595,6597,6599,659b,659d,659f,65a1,65a3,65a7,65ab,65b0,65b2,65b5,65b7,65b9,65bc,65bf,65c1,65c6,65c8,65c9,65cb,65cc,65ce,65d0,65d2,65d2,65d4,65d4,65d6,65d9,65db,65db,65df,65e3,65e5,65e9,65ec,65ed,65f0,65f2,65f4,65f5,65f9,65fc,65fe,6600,6602,6604,6606,660a,660c,660f,6611,6616,661c,6631,6633,6637,6639,663c,663f,6646,6648,664c,664e,664f,6651,6652,6657,6670,6673,667c,667e,6681,6683,6684,6687,6689,668b,668e,6690,6692,6696,669d,669f,66a0,66a2,66a2,66a4,66a4,66a6,66a6,66ab,66ab,66ad,66ae,66b1,66b5,66b8,66b9,66bb,66bc,66be,66c4,66c6,66c9,66cc,66cc,66ce,66cf,66d4,66d4,66d6,66d6,66d9,66dd,66df,66e0,66e6,66e6,66e8,66e9,66eb,66ec,66ee,66ee,66f0,66f0,66f2,66f5,66f7,6701,6703,6703,6705,6705,6707,6709,670b,6710,6712,6717,6719,6719,671b,6720,6722,6722,6725,6728,672a,672e,6731,6731,6733,6738,673a,673a,673d,673f,6741,6741,6743,6743,6745,6749,674c,6751,6753,6756,6759,6759,675c,6766,676a,676a,676c,6777,677b,677c,677e,6781,6784,6785,6787,6787,6789,6789,678b,678c,678e,6793,6795,679d,67a0,67a2,67a4,67a4,67a6,67a6,67a9,67a9,67af,67b9,67bb,67be,67c0,67c6,67c8,67ca,67ce,67d4,67d7,67de,67e1,67e2,67e4,67e4,67e6,67e7,67e9,67e9,67ec,67ec,67ee,67f7,67f9,67fc,67fe,67ff,6801,6805,6810,6810,6813,6814,6816,6819,681d,681f,6821,6822,6827,682d,682f,6834,6838,6839,683b,6846,6848,684a,684c,684e,6850,6855,6857,6859,685b,685d,685f,685f,6863,6863,6867,6867,686b,686b,686e,6872,6874,6877,6879,687c,687e,687f,6881,6886,6888,6888,688d,6890,6893,6894,6896,689d,689f,68a3,68a5,68ab,68ad,68b6,68b9,68bc,68c3,68c6,68c8,68cd,68cf,68da,68dc,68dd,68df,68e1,68e3,68e5,68e7,68e8,68ea,68f2,68f5,68f7,68f9,68fd,6900,6901,6903,6913,6916,6917,6919,691c,6921,6923,6925,6926,6928,6928,692a,692a,6930,6931,6933,6936,6938,6939,693b,693b,693d,693d,693f,693f,6942,6942,6945,6946,6949,694a,694e,694e,6953,6955,6957,6957,6959,695e,6960,6966,6968,6975,6977,6982,6986,6986,698a,698a,698d,698e,6991,6992,6994,6996,6998,6998,699b,699c,69a0,69a1,69a5,69a8,69ab,69ab,69ad,69b2,69b4,69b4,69b7,69b8,69ba,69bc,69be,69c1,69c3,69c3,69c5,69c5,69c7,69c8,69ca,69d1,69d3,69d3,69d6,69d9,69dd,69de,69e2,69e3,69e5,69e5,69e7,69eb,69ed,69ef,69f1,69f6,69f9,69f9,69fb,69fb,69fd,6a03,6a05,6a05,6a0a,6a0c,6a0f,6a0f,6a11,6a15,6a17,6a17,6a19,6a1b,6a1d,6a24,6a28,6a2b,6a2e,6a2e,6a30,6a30,6a32,6a3b,6a3d,6a3f,6a44,6a4b,6a4e,6a4e,6a50,6a52,6a54,6a56,6a58,6a59,6a5b,6a5b,6a5f,6a5f,6a61,6a62,6a64,6a64,6a66,6a67,6a6a,6a6b,6a71,6a73,6a78,6a78,6a7a,6a7a,6a7e,6a81,6a83,6a84,6a86,6a87,6a89,6a89,6a8b,6a8b,6a8d,6a8e,6a90,6a91,6a94,6a94,6a97,6a97,6a9b,6aa3,6aa5,6aa5,6aaa,6aac,6aae,6ab1,6ab3,6ab4,6ab8,6ab8,6abb,6abb,6abd,6abf,6ac1,6ac3,6ac6,6ac6,6ac8,6ac9,6acc,6acc,6ad0,6ad1,6ad3,6ad6,6ada,6adf,6ae2,6ae2,6ae4,6ae4,6ae7,6ae8,6aea,6aea,6aec,6aec,6af0,6af3,6af8,6af8,6afa,6afd,6b02,6b07,6b09,6b0b,6b0f,6b12,6b16,6b17,6b1b,6b1b,6b1d,6b21,6b23,6b24,6b27,6b28,6b2b,6b2c,6b2f,6b2f,6b32,6b32,6b35,6b3b,6b3d,6b3f,6b43,6b43,6b46,6b47,6b49,6b4a,6b4c,6b4e,6b50,6b50,6b52,6b54,6b56,6b56,6b58,6b59,6b5b,6b5b,6b5d,6b5d,6b5f,6b67,6b69,6b6c,6b6e,6b70,6b72,6b75,6b77,6b7b,6b7d,6b86,6b89,6b8b,6b8d,6b8d,6b95,6b98,6b9b,6b9b,6b9e,6ba0,6ba2,6ba4,6ba8,6bb5,6bb7,6bc0,6bc3,6bc9,6bcb,6bcf,6bd2,6bd4,6bd6,6bd8,6bda,6bdb,6bdf,6bdf,6be1,6be1,6be3,6be3,6be6,6be7,6beb,6bec,6bee,6bef,6bf1,6bf1,6bf3,6bf3,6bf7,6bf7,6bf9,6bf9,6bff,6bff,6c02,6c02,6c04,6c05,6c08,6c0a,6c0d,6c14,6c17,6c17,6c19,6c19,6c1b,6c1b,6c1f,6c1f,6c23,6c24,6c26,6c28,6c2c,6c2c,6c2e,6c2e,6c33,6c38,6c3a,6c3b,6c3e,6c42,6c4a,6c4b,6c4d,6c50,6c52,6c52,6c54,6c55,6c57,6c57,6c59,6c60,6c62,6c62,6c67,6c68,6c6a,6c6b,6c6d,6c6d,6c6f,6c70,6c72,6c74,6c76,6c76,6c78,6c7b,6c7d,6c7e,6c81,6c89,6c8c,6c8d,6c90,6c90,6c92,6c9c,6c9f,6c9f,6ca1,6ca2,6caa,6cae,6cb0,6cb4,6cb8,6cbf,6cc1,6cc2,6cc4,6cc6,6cc9,6cca,6ccc,6ccd,6ccf,6cd7,6cd9,6cdd,6ce0,6ce3,6ce5,6ce5,6ce7,6cf4,6cfb,6cfb,6d00,6d01,6d04,6d04,6d07,6d07,6d0a,6d0c,6d0e,6d0f,6d11,6d13,6d17,6d17,6d19,6d1b,6d1e,6d1f,6d24,6d2b,6d2e,6d2f,6d31,6d36,6d38,6d39,6d3b,6d3f,6d41,6d41,6d44,6d45,6d57,6d5c,6d5e,6d61,6d63,6d67,6d69,6d6a,6d6c,6d6c,6d6e,6d70,6d74,6d74,6d77,6d79,6d7c,6d7c,6d80,6d82,6d85,6d85,6d87,6d8a,6d8c,6d8e,6d91,6d99,6d9b,6d9c,6daa,6dac,6dae,6daf,6db2,6db2,6db4,6db5,6db7,6db9,6dbc,6dbd,6dbf,6dc0,6dc2,6dc2,6dc4,6dc8,6dca,6dcc,6dce,6dd2,6dd5,6dd6,6dd8,6ddb,6ddd,6de2,6de4,6de6,6de8,6dec,6dee,6dfc,6e00,6e00,6e04,6e05,6e07,6e0b,6e13,6e13,6e15,6e15,6e17,6e17,6e19,6e1b,6e1d,6e27,6e29,6e29,6e2b,6e2f,6e32,6e32,6e34,6e34,6e36,6e36,6e38,6e3c,6e3e,6e3e,6e42,6e45,6e48,6e4f,6e51,6e54,6e56,6e58,6e5b,6e5f,6e62,6e63,6e67,6e68,6e6b,6e6b,6e6e,6e6f,6e72,6e73,6e76,6e76,6e7b,6e7b,6e7d,6e80,6e82,6e82,6e89,6e89,6e8c,6e8d,6e8f,6e90,6e93,6e93,6e96,6e96,6e98,6e99,6e9c,6e9d,6e9f,6ea0,6ea2,6ea2,6ea5,6ea5,6ea7,6ea7,6eaa,6eab,6ead,6eaf,6eb1,6eb4,6eb6,6eb7,6eba,6ebd,6ebf,6ec5,6ec7,6ecf,6ed1,6ed1,6ed3,6ed5,6ed9,6edb,6edd,6ede,6ee6,6ee6,6eeb,6eef,6ef2,6ef2,6ef4,6ef4,6ef7,6ef9,6efb,6efb,6efd,6eff,6f01,6f02,6f04,6f04,6f06,6f06,6f08,6f0a,6f0c,6f0d,6f0f,6f11,6f13,6f16,6f18,6f18,6f1a,6f1b,6f20,6f20,6f22,6f23,6f25,6f26,6f29,6f2d,6f2f,6f33,6f35,6f36,6f38,6f38,6f3b,6f3c,6f3e,6f3f,6f41,6f41,6f45,6f45,6f4f,6f4f,6f51,6f54,6f57,6f62,6f64,6f64,6f66,6f66,6f68,6f68,6f6c,6f70,6f74,6f74,6f78,6f78,6f7a,6f7a,6f7c,6f7e,6f80,6f84,6f86,6f88,6f8b,6f8e,6f90,6f94,6f96,6f98,6f9a,6f9a,6f9d,6f9d,6f9f,6fa1,6fa3,6fa8,6faa,6faa,6fae,6fb1,6fb3,6fb3,6fb5,6fb7,6fb9,6fb9,6fbc,6fbc,6fbe,6fbe,6fc0,6fc3,6fc5,6fca,6fd4,6fd5,6fd8,6fd8,6fda,6fdb,6fde,6fe1,6fe4,6fe4,6fe8,6fe9,6feb,6fec,6fee,6ff1,6ff3,6ff3,6ff5,6ff6,6ff9,6ffa,6ffc,6ffe,7000,7001,7005,7007,7009,700b,700d,700d,700f,700f,7011,7011,7015,7015,7017,7018,701a,701b,701d,7020,7023,7023,7026,7028,702c,702c,702f,7030,7032,7032,7034,7034,7037,7037,7039,703a,703c,703c,703e,703e,7043,7044,7047,704c,704e,704e,7051,7051,7054,7055,7058,7058,705d,705e,7063,7065,7069,7069,706b,706c,706e,7070,7075,7076,7078,7078,707c,707e,7081,7081,7085,7086,7089,708a,708e,708e,7092,7092,7094,7099,709b,709b,709f,709f,70a4,70a4,70ab,70b1,70b3,70b4,70b7,70bb,70c8,70c8,70ca,70cb,70cf,70cf,70d1,70d1,70d3,70d6,70d8,70d9,70dc,70dd,70df,70df,70e4,70e4,70ec,70ec,70f1,70f1,70f9,70fa,70fd,70fd,7103,7109,710b,710c,710f,710f,7114,7114,7119,711a,711c,711c,711e,711e,7120,7121,7126,7126,712b,712b,712d,7131,7136,7136,7138,7138,713c,713c,7141,7141,7145,7147,7149,714c,714e,714e,7150,7153,7155,7157,7159,715a,715c,715c,715e,715e,7160,7160,7162,7162,7164,7169,716c,716c,716e,716e,7179,7179,717d,717d,7180,7180,7184,7185,7187,7188,718a,718a,718c,718c,718f,718f,7192,7192,7194,7196,7199,719b,719f,71a0,71a2,71a2,71a8,71a8,71ac,71ac,71ae,71b3,71b9,71ba,71be,71c1,71c3,71c4,71c8,71c9,71cb,71cc,71ce,71ce,71d0,71d0,71d2,71d7,71d9,71da,71dc,71dc,71df,71e0,71e5,71e7,71ec,71ee,71f4,71f5,71f8,71f9,71fb,71fc,71fe,7200,7206,7209,720d,720d,7210,7210,7213,7213,7215,7215,7217,7217,721a,721b,721d,721d,721f,721f,7224,7224,7228,7228,722a,722d,722f,7230,7232,7232,7234,7236,7238,7243,7245,7248,724b,724c,724e,7250,7252,7253,7255,7263,7267,7269,726b,726b,726e,726f,7271,7272,7274,7274,7277,7279,727b,7282,7284,7284,7287,7287,7289,7289,728d,728e,7292,7293,7296,7296,729b,729b,72a0,72a0,72a2,72a2,72a7,72a8,72ac,72b2,72b4,72b4,72b6,72b6,72b9,72b9,72be,72be,72c0,72c4,72c6,72c7,72c9,72c9,72cc,72cc,72ce,72ce,72d0,72d0,72d2,72d2,72d5,72d9,72db,72db,72df,72e2,72e5,72e5,72e9,72e9,72ec,72ed,72f3,72f4,72f7,72fe,7302,7302,7304,7305,7307,7307,730a,730b,730d,730d,7312,7313,7316,7319,731b,731f,7322,7322,7324,7325,7327,732c,732e,732f,7331,7337,7339,733b,733d,733f,7343,7345,734d,7350,7352,7352,7356,7358,735d,7360,7363,7363,7366,736c,736e,7372,7375,7375,7377,737c,7380,7381,7383,7387,7389,738b,738e,738e,7390,7390,7393,7398,739c,739c,739e,73a0,73a2,73a2,73a5,73a6,73a8,73ab,73ad,73ad,73b2,73b3,73b5,73b5,73b7,73b7,73b9,73bd,73bf,73c0,73c2,73c2,73c5,73c6,73c8,73cf,73d2,73d3,73d6,73d6,73d9,73d9,73dd,73de,73e0,73e1,73e3,73e7,73e9,73ea,73ed,73ee,73f1,73f1,73f4,73f5,73f7,73fb,73fd,7401,7403,7407,7409,740a,7411,7411,7413,7413,741a,741b,7421,7422,7424,7426,7428,7436,7439,743a,743f,7441,7443,7444,7446,7447,744b,744b,744d,744d,7451,7453,7455,7455,7457,7457,7459,7460,7462,7464,7466,746b,746d,7473,7476,7476,747e,747e,7480,7481,7483,7483,7485,7489,748b,748b,748f,7492,7497,749a,749c,749c,749e,74a3,74a5,74ab,74ae,74b2,74b5,74b5,74b9,74bb,74bd,74bd,74bf,74bf,74c8,74ca,74cc,74cc,74cf,74d0,74d3,74d4,74d6,74d6,74d8,74d8,74da,74dc,74de,74e0,74e2,74e4,74e6,74eb,74ee,74f2,74f4,74f4,74f6,74f8,74fa,74fc,74ff,74ff,7501,7501,7503,7506,750c,750e,7511,7513,7515,7518,751a,751a,751c,751c,751e,752c,752f,7533,7536,7540,7543,7544,7546,7552,7554,7554,7557,7557,7559,7562,7564,7567,7569,756d,756f,757f,7581,7582,7585,7587,7589,758c,758e,7595,7599,759a,759c,759d,75a2,75a5,75ab,75ab,75b0,75b5,75b7,75ba,75bc,75c7,75ca,75ca,75cc,75cf,75d2,75d5,75d7,75d9,75db,75e4,75e7,75e7,75e9,75e9,75ec,75ec,75ee,75f4,75f9,75fa,75fc,75fc,75fe,7604,7607,760d,760f,760f,7612,7613,7615,7616,7618,7619,761b,7629,762d,762d,7630,7630,7632,7635,7638,763c,7640,764c,764e,764e,7652,7652,7655,7656,7658,7659,765c,765c,765f,765f,7661,7662,7664,7665,7667,766a,766c,7672,7674,7674,7676,7676,7678,7678,767a,767e,7680,7688,768b,768e,7690,7690,7693,7693,7695,7696,7699,76a8,76aa,76aa,76ad,76b0,76b4,76b4,76b6,76ba,76bd,76bd,76bf,76bf,76c1,76c3,76c5,76c6,76c8,76ce,76d2,76d2,76d4,76d4,76d6,76d7,76d9,76d9,76db,76dc,76de,76e1,76e3,76e8,76ea,76ec,76ee,76ee,76f0,76f2,76f4,76f4,76f6,76f6,76f8,76f9,76fb,76fc,76fe,76fe,7700,7701,7704,7704,7706,770c,770e,770e,7712,7712,7714,7715,7717,7717,7719,771c,771e,7720,7722,7722,7724,7726,7728,7729,772d,772f,7734,773a,773c,773e,7740,7740,7742,7742,7745,7747,774a,774a,774d,774f,7752,7752,7756,7758,775a,775c,775e,7768,776a,776c,7770,7770,7772,7774,7779,777a,777c,7780,7784,7784,778b,778e,7791,7791,7794,7796,779a,779a,779e,77a0,77a2,77a2,77a4,77a5,77a7,77a7,77a9,77aa,77ac,77b1,77b3,77b3,77b5,77b7,77b9,77b9,77bb,77bf,77c3,77c3,77c7,77c7,77c9,77c9,77cd,77cd,77d1,77d2,77d5,77d5,77d7,77d7,77d9,77dc,77de,77e0,77e2,77e7,77e9,77ea,77ec,77f1,77f3,77f4,77f8,77f8,77fb,77fc,7802,7802,7805,7806,7809,7809,780c,780e,7811,7812,7814,7815,7819,7819,781d,781d,7820,7823,7825,7827,782c,782e,7830,7830,7832,7832,7834,7835,7837,7837,783a,783a,783f,783f,7843,7845,7847,7848,784c,784c,784e,784f,7851,7852,785c,785e,7860,7861,7863,7864,7868,7868,786a,786c,786e,786f,7872,7872,7874,7874,787a,787a,787c,787c,787e,787e,7881,7881,7886,7887,788a,788a,788c,788f,7891,7891,7893,7895,7897,7898,789a,789a,789d,789f,78a1,78a1,78a3,78a4,78a7,78aa,78ac,78ad,78af,78b3,78b5,78b5,78ba,78bf,78c1,78c1,78c5,78cc,78ce,78ce,78d0,78d6,78da,78db,78df,78e1,78e4,78e4,78e6,78e8,78ea,78ea,78ec,78ec,78ef,78ef,78f2,78f4,78f6,78f7,78f9,78fb,78fd,7901,7906,7907,790c,790c,790e,790e,7910,7912,7919,791c,791e,7920,7925,792e,7930,7931,7934,7935,793a,7942,7944,794b,794f,7951,7953,7958,795a,7960,7962,7962,7965,7965,7967,7969,796b,796b,796d,796d,7972,7972,7977,7977,7979,797c,797e,7981,7984,7985,798a,798f,7991,7991,7993,7996,7998,7998,799b,799d,79a1,79a1,79a6,79ab,79ae,79b1,79b3,79b4,79b8,79bb,79bd,79c2,79c4,79c4,79c7,79cd,79cf,79cf,79d1,79d2,79d4,79d6,79d8,79d8,79da,79da,79dd,79e7,79e9,79ed,79f0,79f1,79f8,79f8,79fb,79fc,7a00,7a00,7a02,7a03,7a05,7a05,7a07,7a0e,7a11,7a11,7a14,7a15,7a17,7a1c,7a1e,7a21,7a27,7a27,7a2b,7a2b,7a2d,7a32,7a34,7a35,7a37,7a40,7a42,7a49,7a4c,7a50,7a55,7a57,7a59,7a59,7a5c,7a5d,7a5f,7a63,7a65,7a65,7a67,7a67,7a69,7a6b,7a6d,7a6d,7a70,7a70,7a74,7a76,7a78,7a7a,7a7d,7a86,7a88,7a88,7a8a,7a8b,7a90,7a98,7a9e,7aa0,7aa3,7aa3,7aa9,7aaa,7aac,7aac,7aae,7ab0,7ab3,7ab3,7ab5,7ab6,7ab9,7abf,7ac3,7acf,7ad1,7ad3,7ad5,7ad5,7ad9,7add,7adf,7ae3,7ae5,7aed,7aef,7af1,7af4,7af4,7af6,7af6,7af8,7afb,7afd,7aff,7b02,7b02,7b04,7b04,7b06,7b08,7b0a,7b0b,7b0f,7b0f,7b11,7b12,7b14,7b14,7b18,7b19,7b1b,7b1b,7b1e,7b20,7b23,7b23,7b25,7b31,7b33,7b36,7b39,7b39,7b3b,7b3b,7b3d,7b3d,7b3f,7b41,7b45,7b49,7b4b,7b56,7b5d,7b5d,7b60,7b60,7b64,7b67,7b69,7b6a,7b6c,7b75,7b77,7b77,7b79,7b7a,7b7f,7b7f,7b84,7b84,7b86,7b87,7b89,7b89,7b8b,7b8b,7b8d,7b92,7b94,7ba1,7ba5,7ba5,7baa,7baa,7bac,7bad,7baf,7bb2,7bb4,7bb6,7bb8,7bb8,7bba,7bbd,7bc0,7bc2,7bc4,7bcc,7bcf,7bcf,7bd4,7bd4,7bd6,7bd7,7bd9,7bdb,7bdd,7bdd,7be0,7be0,7be4,7be6,7be8,7bea,7bed,7bed,7bf0,7bf0,7bf2,7bfa,7bfc,7bfc,7bfe,7bfe,7c00,7c04,7c06,7c07,7c09,7c09,7c0b,7c0f,7c11,7c14,7c17,7c17,7c19,7c19,7c1b,7c1b,7c1e,7c21,7c23,7c23,7c25,7c28,7c2a,7c2c,7c2f,7c2f,7c31,7c31,7c33,7c34,7c36,7c3a,7c3d,7c40,7c42,7c43,7c45,7c46,7c4a,7c4a,7c4c,7c4d,7c4f,7c61,7c63,7c65,7c67,7c67,7c69,7c69,7c6c,7c70,7c72,7c73,7c75,7c75,7c79,7c79,7c7b,7c7e,7c81,7c83,7c86,7c87,7c89,7c89,7c8b,7c8b,7c8d,7c8d,7c8f,7c90,7c92,7c92,7c94,7c95,7c97,7c98,7c9b,7c9b,7c9e,7ca2,7ca4,7ca8,7cab,7cab,7cad,7cae,7cb0,7cb3,7cb6,7cb7,7cb9,7cc0,7cc2,7cc2,7cc4,7cc5,7cc7,7cca,7ccd,7ccf,7cd2,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce7,7ce9,7ce9,7ceb,7ceb,7cef,7cef,7cf2,7cf2,7cf4,7cf6,7cf8,7cfb,7cfe,7cfe,7d00,7d00,7d02,7d0b,7d0d,7d0d,7d0f,7d1e,7d20,7d23,7d26,7d26,7d2a,7d33,7d35,7d35,7d39,7d3a,7d3c,7d48,7d4b,7d51,7d53,7d53,7d55,7d57,7d59,7d5e,7d61,7d63,7d65,7d68,7d6a,7d6a,7d6e,7d6e,7d70,7d73,7d75,7d76,7d78,7d7b,7d7d,7d7d,7d7f,7d7f,7d81,7d83,7d85,7d86,7d88,7d89,7d8b,7d8d,7d8f,7d8f,7d91,7d91,7d93,7d93,7d96,7d97,7d99,7da0,7da2,7da3,7da6,7da7,7daa,7dbb,7dbd,7dc0,7dc2,7dc7,7dca,7dd2,7dd5,7dda,7ddc,7dde,7de0,7de6,7de8,7ded,7def,7def,7df1,7df2,7df4,7df6,7df9,7dfb,7e00,7e01,7e04,7e05,7e08,7e0b,7e10,7e12,7e15,7e15,7e17,7e17,7e1b,7e23,7e26,7e28,7e2b,7e2f,7e31,7e33,7e35,7e37,7e39,7e3b,7e3d,7e3f,7e41,7e41,7e43,7e48,7e4a,7e4b,7e4d,7e4e,7e50,7e50,7e52,7e52,7e54,7e56,7e58,7e5a,7e5d,7e5f,7e61,7e62,7e65,7e67,7e69,7e6b,7e6d,7e70,7e73,7e73,7e75,7e75,7e78,7e79,7e7b,7e7f,7e81,7e83,7e86,7e8a,7e8c,7e96,7e98,7e98,7e9a,7e9f,7f36,7f36,7f38,7f38,7f3a,7f3f,7f43,7f45,7f47,7f47,7f4c,7f55,7f58,7f58,7f5b,7f5d,7f5f,7f61,7f63,7f6b,7f6d,7f6e,7f70,7f72,7f75,7f75,7f77,7f79,7f7d,7f80,7f82,7f83,7f85,7f88,7f8a,7f91,7f94,7f94,7f96,7f97,7f9a,7f9a,7f9c,7f9e,7fa1,7fa4,7fa6,7fa6,7fa8,7faa,7fad,7faf,7fb2,7fb2,7fb4,7fb4,7fb6,7fb6,7fb8,7fb9,7fbc,7fbd,7fbf,7fc1,7fc3,7fc3,7fc5,7fc6,7fc8,7fc8,7fca,7fca,7fcc,7fcc,7fce,7fcf,7fd2,7fd2,7fd4,7fd5,7fdb,7fdb,7fdf,7fe1,7fe3,7fe3,7fe5,7fe6,7fe8,7fe9,7feb,7fec,7fee,7ff0,7ff2,7ff3,7ff9,8008,800a,8019,801c,8021,8024,8024,8026,8026,8028,8028,802c,802c,802e,802e,8030,8030,8033,8037,8039,8040,8043,8044,8046,8046,804a,804a,8052,8052,8056,8056,8058,8058,805a,805a,805e,8062,8064,8064,8066,8066,8068,8068,806d,806d,806f,8077,8079,8079,807b,807b,807d,8081,8084,8089,808b,808c,808e,808e,8093,8093,8096,8096,8098,809e,80a1,80a2,80a4,80a7,80a9,80ad,80af,80af,80b1,80b2,80b4,80b4,80b8,80ba,80c3,80c6,80c8,80c8,80ca,80ca,80cc,80cf,80d2,80d2,80d4,80db,80dd,80de,80e0,80e1,80e4,80e6,80ed,80fe,8101,8103,8105,810b,810d,810d,8116,8118,811a,811c,811e,811e,8120,8120,8123,8124,8127,8127,8129,8129,812b,812c,812f,8131,8133,8133,8135,8135,8139,813a,813c,813e,8141,8141,8145,8147,814a,814c,814e,814e,8150,8155,8157,8157,815f,8161,8165,8169,816b,816b,816d,8171,8173,8174,8177,817a,817f,8186,8188,8188,818a,818b,818e,8190,8193,8193,8195,8196,8198,8198,819a,819e,81a0,81a0,81a2,81a4,81a8,81a9,81ae,81ae,81b0,81b0,81b2,81b5,81b8,81b8,81ba,81bb,81bd,81c3,81c5,81c6,81c8,81cb,81cd,81cf,81d1,81d1,81d3,81d3,81d5,81db,81dd,81e1,81e3,81e5,81e7,81e8,81ea,81ed,81ef,81f6,81f8,8205,8207,8210,8212,8214,8216,821f,8221,8222,8228,822c,822e,822e,8232,823a,823c,823c,8240,8240,8243,8247,8249,8249,824b,824b,824e,824f,8251,8251,8256,825a,825c,825d,825f,8260,8262,8264,8266,8268,826a,826b,826d,826f,8271,8272,8274,8274,8276,8279,827b,827b,827d,8281,8283,8284,8287,8287,8289,828b,828d,828e,8291,8294,8296,8296,8298,829b,829d,829d,829f,82a1,82a3,82b4,82b7,82bf,82c5,82c6,82d0,82d5,82d7,82d7,82d9,82dc,82de,82e8,82ea,82eb,82ed,82ed,82ef,82ef,82f1,82f1,82f3,82f4,82f6,82f7,82f9,82fb,82fd,82fe,8300,830c,830e,830e,8316,8318,831b,831f,8321,8323,8328,8328,832b,833a,833c,833d,8340,8340,8342,8347,8349,834a,834d,8358,835a,835a,8362,8363,8370,8370,8373,8373,8375,8375,8377,8378,837b,837d,837f,8380,8382,8382,8384,8387,8389,838a,838d,838e,8392,8396,8398,83a0,83a2,83a2,83a6,83ad,83b1,83b1,83b5,83b5,83bd,83c1,83c5,83c5,83c7,83c7,83c9,83ca,83cc,83cc,83ce,83d1,83d3,83d4,83d6,83d6,83d8,83d8,83dc,83dd,83df,83e1,83e5,83e5,83e8,83eb,83ef,83f2,83f4,83f4,83f6,83f9,83fb,83fd,8401,8401,8403,8404,8406,8407,840a,840f,8411,8411,8413,8413,8415,8415,8417,8417,8419,8419,8420,8420,8422,8422,8429,842a,842c,842c,842f,842f,8431,8431,8435,8435,8438,8439,843c,843d,8445,844a,844d,844f,8451,8452,8456,845c,845f,8467,8469,8471,8473,847a,847c,847d,8481,8482,8484,8485,848b,848b,8490,8490,8492,8495,8497,8497,8499,8499,849c,849c,849e,849f,84a1,84a1,84a6,84a6,84a8,84aa,84ad,84ad,84af,84af,84b1,84b2,84b4,84b4,84b8,84c2,84c4,84c4,84c6,84d1,84d3,84d3,84d6,84d6,84d9,84da,84dc,84dc,84e7,84e7,84ea,84ea,84ec,84ec,84ee,84f2,84f4,84f4,84f7,84f7,84fa,84fd,84ff,8500,8502,8503,8506,8507,850c,850c,850e,850e,8510,8511,8513,8515,8517,8518,851a,851c,851e,851f,8521,8527,852a,852d,852f,852f,8532,8536,853d,8541,8543,8543,8546,8546,8548,854b,854e,8553,8555,855a,855c,8564,8568,856b,856d,856d,856f,856f,8577,8577,8579,857b,857d,8581,8584,858c,858f,8591,8593,8594,8597,8599,859b,859d,859f,85a0,85a2,85a2,85a4,85b0,85b4,85b4,85b6,85ba,85bc,85bf,85c1,85c2,85c7,85c7,85c9,85cb,85cd,85d0,85d5,85d5,85d8,85da,85dc,85dd,85df,85e1,85e4,85e6,85e8,85ea,85ed,85ed,85f3,85f4,85f6,85f7,85f9,85fc,85fe,8600,8602,8602,8604,8607,860a,860b,860d,860e,8610,8613,8616,861b,861e,861e,8621,8622,8624,8624,8627,8627,8629,8629,862d,862d,862f,8630,8636,8636,8638,863a,863c,863d,863f,8642,8646,8646,864d,864e,8650,8650,8652,8664,8667,8667,8669,8669,866b,866c,866f,866f,8671,8671,8675,8677,8679,867b,867d,867d,8687,868d,8691,8691,8693,8693,8695,8696,8698,8698,869a,869a,869c,869d,86a1,86a1,86a3,86a4,86a6,86ab,86ad,86ad,86af,86b1,86b3,86b9,86bf,86c1,86c3,86c7,86c9,86c9,86cb,86cb,86cd,86ce,86d1,86d2,86d4,86d5,86d7,86d7,86d9,86dc,86de,86e0,86e3,86e7,86e9,86e9,86ec,86ef,86f8,86fe,8700,8700,8702,870b,870d,8714,8718,871a,871c,871c,871e,871f,8721,8723,8725,8725,8728,8729,872e,872f,8731,8732,8734,8734,8737,8737,8739,8740,8743,8743,8745,8745,8749,8749,874b,874e,8751,8751,8753,8753,8755,8755,8757,8759,875d,875d,875f,8761,8763,8766,8768,8768,876a,876a,876e,876f,8771,8772,8774,8774,8776,8776,8778,8778,877b,877c,877f,877f,8782,8789,878b,878e,8790,8790,8793,8793,8795,8795,8797,8799,879e,87a0,87a2,87a3,87a7,87a7,87ab,87af,87b1,87b1,87b3,87b3,87b5,87b5,87ba,87bb,87bd,87c1,87c4,87c4,87c6,87cb,87ce,87ce,87d0,87d0,87d2,87d2,87d5,87d6,87d9,87da,87dc,87dc,87df,87e0,87e2,87e6,87ea,87ed,87ef,87ef,87f1,87f3,87f5,87fb,87fe,87ff,8801,8801,8803,8803,8805,8807,8809,880b,880d,8816,8818,881c,881e,881f,8821,8823,8827,8828,882d,882e,8830,8832,8835,8836,8839,883c,8840,8846,8848,884e,8851,8853,8855,8864,8868,8869,886b,886b,886e,8872,8875,8875,8877,8877,8879,8879,887b,887b,887d,8882,8888,8888,888b,888b,888d,888d,8892,8892,8896,889c,889e,88a0,88a2,88a2,88a4,88a4,88a8,88a8,88aa,88ab,88ae,88ae,88b0,88b1,88b4,88b5,88b7,88b7,88ba,88ba,88bc,88c6,88ca,88cf,88d1,88d5,88d8,88d9,88db,88e1,88e7,88e8,88ef,88f5,88f7,88f9,88fc,88fe,8901,8902,8904,8904,8906,8907,890a,890a,890c,8910,8912,8913,8915,8916,8918,891a,891c,891e,8920,8920,8925,8928,892a,892b,8930,8932,8935,893b,893e,893e,8940,8946,8949,8949,894c,894d,894f,894f,8952,8952,8956,8957,895a,895c,895e,8964,8966,8966,896a,896b,896d,8970,8972,8975,8977,8977,897a,8981,8983,8983,8986,898b,898d,898d,898f,8990,8993,8998,899a,899c,899f,89a1,89a5,89a7,89a9,89aa,89ac,89ac,89af,89b0,89b2,89b7,89ba,89ba,89bc,89bd,89bf,89c1,89d2,89d2,89d4,89d8,89da,89da,89dc,89dd,89e3,89e3,89e5,89e7,89e9,89e9,89eb,89eb,89ed,89ed,89f1,89f1,89f3,89f4,89f6,89f6,89f8,89f9,89fd,89fd,89ff,8a05,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a18,8a1b,8a1b,8a1d,8a26,8a2a,8a2d,8a2f,8a2f,8a31,8a31,8a33,8a37,8a3a,8a3e,8a40,8a41,8a43,8a43,8a45,8a49,8a4d,8a4e,8a50,8a58,8a5b,8a5e,8a60,8a63,8a65,8a67,8a69,8a69,8a6b,8a6e,8a70,8a73,8a75,8a77,8a79,8a7c,8a7e,8a80,8a82,8a87,8a89,8a89,8a8b,8a8d,8a8f,8a93,8a95,8a9a,8a9e,8aa1,8aa3,8aaa,8aac,8ab0,8ab2,8ab3,8ab6,8ab7,8ab9,8ab9,8abb,8abc,8abe,8abf,8ac2,8ac4,8ac6,8acd,8acf,8ad7,8ada,8ae2,8ae4,8ae4,8ae6,8ae7,8aeb,8aee,8af0,8af1,8af3,8af8,8afa,8afa,8afc,8afc,8afe,8b02,8b04,8b07,8b0a,8b11,8b14,8b14,8b16,8b17,8b19,8b21,8b26,8b26,8b28,8b28,8b2b,8b2d,8b30,8b30,8b33,8b33,8b37,8b37,8b39,8b39,8b3c,8b3c,8b3e,8b3e,8b41,8b46,8b48,8b49,8b4c,8b4f,8b51,8b54,8b56,8b56,8b58,8b5c,8b5e,8b5f,8b63,8b63,8b66,8b66,8b69,8b69,8b6b,8b6d,8b6f,8b72,8b74,8b74,8b76,8b79,8b7c,8b81,8b83,8b85,8b8a,8b90,8b92,8b96,8b99,8b9a,8b9c,8ba0,8c37,8c3a,8c3d,8c3f,8c41,8c41,8c45,8c4c,8c4e,8c51,8c53,8c55,8c57,8c5b,8c5d,8c5d,8c61,8c64,8c66,8c66,8c68,8c6d,8c73,8c73,8c75,8c76,8c78,8c7c,8c7e,8c7e,8c82,8c82,8c85,8c87,8c89,8c8e,8c90,8c90,8c92,8c94,8c98,8c99,8c9b,8ca2,8ca4,8ca4,8ca7,8cb0,8cb2,8cb4,8cb6,8cbd,8cbf,8ccb,8ccd,8ccf,8cd1,8cd3,8cd5,8cd6,8cd9,8cde,8ce0,8ce4,8ce6,8ce6,8ce8,8ce8,8cea,8cea,8cec,8ced,8cef,8cf2,8cf4,8cf5,8cf7,8cf8,8cfa,8cff,8d01,8d01,8d03,8d05,8d07,8d0b,8d0d,8d10,8d12,8d14,8d16,8d17,8d1b,8d1d,8d64,8d67,8d69,8d69,8d6b,8d6e,8d70,8d71,8d73,8d74,8d76,8d77,8d7f,8d7f,8d81,8d82,8d84,8d85,8d88,8d88,8d8a,8d8a,8d8d,8d8d,8d90,8d91,8d95,8d95,8d99,8d99,8d9e,8da0,8da3,8da3,8da6,8da6,8da8,8da8,8dab,8dac,8daf,8daf,8db2,8db3,8db5,8db5,8db7,8db7,8db9,8dbc,8dbe,8dbe,8dc0,8dc0,8dc2,8dc2,8dc5,8dc8,8dca,8dcc,8dce,8dcf,8dd1,8dd1,8dd4,8dd7,8dd9,8ddb,8ddd,8ddd,8ddf,8ddf,8de1,8de1,8de3,8de5,8de7,8de8,8dea,8dec,8def,8df5,8dfc,8dfd,8dff,8dff,8e01,8e01,8e04,8e06,8e08,8e0c,8e0f,8e11,8e14,8e14,8e16,8e16,8e1d,8e23,8e26,8e27,8e2a,8e2a,8e30,8e31,8e33,8e39,8e3d,8e3d,8e40,8e42,8e44,8e44,8e47,8e50,8e54,8e55,8e59,8e59,8e5b,8e64,8e69,8e69,8e6c,8e6d,8e6f,8e72,8e74,8e77,8e79,8e7c,8e81,8e85,8e87,8e87,8e89,8e8b,8e8d,8e8d,8e90,8e95,8e98,8e9b,8e9d,8e9e,8ea1,8ea2,8ea7,8ea7,8ea9,8eb1,8eb3,8eb3,8eb5,8eb6,8eba,8ebb,8ebe,8ebe,8ec0,8ec1,8ec3,8ec8,8eca,8ecd,8ecf,8ecf,8ed1,8ed2,8ed4,8ed4,8edb,8edc,8edf,8edf,8ee2,8ee3,8ee8,8ee8,8eeb,8eeb,8eed,8eee,8ef0,8ef1,8ef7,8efe,8f00,8f00,8f02,8f03,8f05,8f05,8f07,8f0a,8f0c,8f0c,8f0f,8f10,8f12,8f19,8f1b,8f21,8f23,8f23,8f25,8f2f,8f33,8f3b,8f3e,8f47,8f49,8f4a,8f4c,8f4f,8f51,8f55,8f57,8f58,8f5c,8f5f,8f61,8f66,8f9b,8fa8,8fad,8fb2,8fb4,8fb8,8fba,8fbc,8fbe,8fc2,8fc4,8fc6,8fc8,8fc8,8fca,8fcb,8fcd,8fce,8fd0,8fd5,8fda,8fda,8fe0,8fe0,8fe2,8fe6,8fe8,8feb,8fed,8ff1,8ff4,8ffb,8ffd,8ffe,9000,9006,9008,9008,900b,9011,9013,901b,901d,9023,9027,902a,902c,902f,9031,9039,903c,903c,903e,903f,9041,9045,9047,9047,9049,9056,9058,9059,905b,905e,9060,9063,9065,9069,906c,9070,9072,9072,9074,907a,907c,907d,907f,9085,9087,908c,908e,9091,9095,9095,9097,9099,909b,909b,90a0,90a3,90a5,90a6,90a8,90a8,90aa,90aa,90af,90b6,90b8,90b8,90bd,90be,90c1,90c1,90c3,90c5,90c7,90ca,90cc,90cc,90ce,90ce,90d2,90d2,90d5,90d5,90d7,90d9,90db,90df,90e1,90e2,90e4,90e5,90e8,90e8,90eb,90eb,90ed,90ed,90ef,90f0,90f2,90f2,90f4,90f7,90fd,9100,9102,9102,9104,9106,9108,9108,910d,910d,9110,9110,9112,9112,9114,911a,911c,911c,911e,911e,9120,9120,9122,9123,9125,9125,9127,9127,9129,9129,912d,9132,9134,9134,9136,9137,9139,913a,913c,913d,9143,9143,9146,914f,9152,9154,9156,915b,9161,9165,9167,9167,9169,916a,916c,916d,9172,9175,9177,917b,9181,9183,9185,9187,9189,918b,918d,918e,9190,9195,9197,9198,919c,919c,919e,919e,91a1,91a2,91a4,91a4,91a6,91a6,91a8,91a8,91aa,91b6,91b8,91b8,91ba,91bd,91bf,91c9,91cb,91d1,91d3,91d4,91d6,91df,91e1,91e1,91e3,91e7,91e9,91ea,91ec,91f1,91f5,91f7,91f9,91f9,91fb,91fd,91ff,9201,9204,9207,9209,920a,920c,920e,9210,9218,921c,921e,9223,9226,9228,9229,922c,922c,922e,9230,9233,923a,923c,923c,923e,9240,9242,924b,924d,9251,9256,925e,9260,9262,9264,9269,926e,9271,9275,9279,927b,9280,9283,9283,9285,9285,9288,928a,928d,928e,9291,9293,9295,929c,929f,92a0,92a4,92a5,92a7,92a8,92ab,92ab,92ad,92ad,92af,92af,92b2,92b3,92b6,92bd,92bf,92c3,92c5,92c8,92cb,92d0,92d2,92d3,92d5,92d5,92d7,92d9,92dc,92dd,92df,92e1,92e3,92e5,92e7,92ea,92ec,92ee,92f0,92f0,92f2,92f3,92f7,92fc,92ff,9300,9302,9302,9304,9304,9306,9306,9308,9308,930d,930d,930f,9311,9314,9315,9318,931a,931c,932c,932e,932f,9332,9337,933a,933b,9344,9344,9347,934b,934d,934d,9350,9352,9354,9358,935a,935c,935e,935e,9360,9360,9364,9365,9367,9367,9369,9371,9373,9376,937a,937a,937c,9382,9388,9388,938a,938d,938f,938f,9392,9392,9394,9398,939a,939b,939e,939e,93a1,93a1,93a3,93a4,93a6,93a9,93ab,93ae,93b0,93b0,93b4,93b6,93b9,93bb,93c1,93c1,93c3,93cd,93d0,93d1,93d3,93d3,93d6,93d9,93dc,93df,93e1,93e2,93e4,93e8,93f1,93f1,93f5,93f5,93f7,93fb,93fd,93fd,9401,9404,9407,9409,940d,9410,9413,941a,941f,941f,9421,9421,942b,942b,942e,942f,9431,9436,9438,9438,943a,943b,943d,943d,943f,943f,9441,9441,9443,9445,9448,9448,944a,944a,944c,944c,9451,9453,9455,9455,9459,945c,945e,9463,9468,9468,946a,946b,946d,9472,9475,9475,9477,9477,947c,947f,9481,9481,9483,9485,9577,9579,957e,9580,9582,9584,9586,958f,9591,9594,9596,9596,9598,9599,959d,95a9,95ab,95ad,95b1,95b2,95b4,95b4,95b6,95b6,95b9,95bf,95c3,95c3,95c6,95cd,95d0,95d6,95d8,95da,95dc,95e2,95e4,95e6,95e8,95e8,961c,961e,9621,9622,9624,9626,9628,9628,962a,962a,962c,962c,962e,962f,9631,9634,9637,963d,963f,9642,9644,9644,964b,964d,964f,9650,9652,9652,9654,9654,9656,9658,965b,965f,9661,9666,966a,966a,966c,966c,966e,966e,9670,9670,9672,9678,967a,967f,9681,9686,9688,968b,968d,968f,9691,9691,9694,969d,969f,96a0,96a3,96aa,96ae,96b4,96b6,96bd,96c0,96c1,96c4,96c7,96c9,96ce,96d1,96d2,96d5,96d6,96d8,96df,96e2,96e3,96e8,96eb,96ef,96f2,96f6,96f7,96f9,96fb,9700,9700,9702,970a,970d,970f,9711,9711,9713,9714,9716,9716,9719,971e,9721,9724,9727,9728,972a,972a,9730,9733,9736,9736,9738,9739,973b,973b,973d,973e,9741,9744,9746,974a,974d,974f,9751,9752,9755,975c,975e,975e,9760,9764,9766,976b,976d,976e,9771,9771,9773,9774,9776,977d,977f,9781,9784,9786,9789,9789,978b,978b,978d,978d,978f,9790,9795,979a,979c,979c,979e,97a0,97a2,97a3,97a6,97a6,97a8,97a8,97ab,97ae,97b1,97b6,97b8,97ba,97bc,97bc,97be,97bf,97c1,97c1,97c3,97ce,97d0,97d1,97d3,97d4,97d7,97d9,97db,97de,97e0,97e1,97e4,97e4,97e6,97e6,97ed,97ef,97f1,97f8,97fa,97fb,97ff,97ff,9801,9808,980a,980a,980c,9814,9816,981a,981c,981c,981e,981e,9820,9821,9823,9826,982b,9830,9832,9835,9837,9839,983b,983e,9844,9844,9846,9847,984a,984f,9851,985b,985e,985e,9862,9863,9865,9867,986a,986c,986f,9871,9873,9875,98a8,98a8,98aa,98ab,98ad,98b1,98b4,98b4,98b6,98b8,98ba,98bc,98bf,98bf,98c2,98c8,98cb,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98eb,98ed,98f4,98f6,98f6,98fc,98fe,9902,9903,9905,9905,9907,990a,990c,990c,9910,9918,991a,9922,9924,9924,9926,9928,992b,992c,992e,992e,9931,9935,9939,993e,9940,9942,9945,9949,994b,994e,9950,9952,9954,9955,9957,9959,995b,995c,995e,9960,9963,9963,9996,9999,999b,999b,999d,999f,99a3,99a3,99a5,99a6,99a8,99a8,99ac,99ae,99b0,99b5,99b9,99ba,99bc,99bd,99bf,99bf,99c1,99c1,99c3,99c6,99c8,99c9,99d0,99d5,99d8,99df,99e1,99e2,99e7,99e7,99ea,99ee,99f0,99f2,99f4,99f5,99f8,99f9,99fb,99ff,9a01,9a05,9a08,9a08,9a0a,9a0c,9a0e,9a13,9a16,9a16,9a19,9a1a,9a1e,9a1e,9a20,9a20,9a22,9a24,9a27,9a28,9a2b,9a2b,9a2d,9a2e,9a30,9a31,9a33,9a33,9a35,9a38,9a3e,9a3e,9a40,9a45,9a47,9a47,9a4a,9a4e,9a51,9a52,9a54,9a58,9a5a,9a5b,9a5d,9a5d,9a5f,9a5f,9a62,9a62,9a64,9a65,9a69,9a6c,9aa8,9aa8,9aaa,9aaa,9aac,9ab0,9ab2,9ab2,9ab4,9ab9,9abb,9ac1,9ac3,9ac4,9ac6,9ac6,9ac8,9ac8,9ace,9ad9,9adb,9adc,9ade,9ae0,9ae2,9ae7,9ae9,9aef,9af1,9af5,9af7,9af7,9af9,9afb,9afd,9afd,9aff,9b06,9b08,9b09,9b0b,9b0e,9b10,9b10,9b12,9b12,9b16,9b16,9b18,9b1d,9b1f,9b20,9b22,9b23,9b25,9b2f,9b31,9b35,9b37,9b37,9b39,9b3d,9b41,9b45,9b48,9b48,9b4b,9b4f,9b51,9b51,9b54,9b58,9b5a,9b5b,9b5e,9b5e,9b61,9b61,9b63,9b63,9b65,9b66,9b68,9b68,9b6a,9b6f,9b72,9b79,9b7f,9b80,9b83,9b87,9b89,9b8b,9b8d,9b94,9b96,9b97,9b9a,9b9a,9b9d,9ba0,9ba6,9bae,9bb0,9bb2,9bb4,9bb4,9bb7,9bb9,9bbb,9bbc,9bbe,9bc1,9bc6,9bca,9bce,9bd2,9bd4,9bd4,9bd6,9bd8,9bdb,9bdb,9bdd,9bdd,9bdf,9bdf,9be1,9be5,9be7,9be8,9bea,9beb,9bee,9bf3,9bf5,9bf5,9bf7,9bfa,9bfd,9bfd,9bff,9c00,9c02,9c02,9c04,9c04,9c06,9c06,9c08,9c0d,9c0f,9c16,9c18,9c1e,9c21,9c2a,9c2d,9c32,9c35,9c37,9c39,9c3b,9c3d,9c3e,9c41,9c41,9c43,9c4a,9c4e,9c50,9c52,9c54,9c56,9c58,9c5a,9c61,9c63,9c63,9c65,9c65,9c67,9c6b,9c6d,9c6e,9c70,9c70,9c72,9c72,9c75,9c78,9c7a,9c7c,9ce5,9ce7,9ce9,9ce9,9ceb,9cec,9cf0,9cf0,9cf2,9cf4,9cf6,9cf7,9cf9,9cf9,9d02,9d03,9d06,9d09,9d0b,9d0b,9d0e,9d0e,9d11,9d12,9d15,9d15,9d17,9d18,9d1b,9d1f,9d23,9d23,9d26,9d26,9d28,9d28,9d2a,9d2c,9d2f,9d30,9d32,9d34,9d3a,9d3f,9d41,9d48,9d4a,9d4a,9d50,9d54,9d59,9d59,9d5c,9d65,9d69,9d6c,9d6f,9d70,9d72,9d73,9d76,9d77,9d7a,9d7c,9d7e,9d7e,9d83,9d84,9d86,9d87,9d89,9d8a,9d8d,9d8f,9d92,9d93,9d95,9d9a,9da1,9da1,9da4,9da4,9da9,9dac,9dae,9daf,9db1,9db2,9db4,9db5,9db8,9dbd,9dbf,9dc4,9dc6,9dc7,9dc9,9dca,9dcf,9dcf,9dd3,9dd7,9dd9,9dda,9dde,9de0,9de3,9de3,9de5,9de7,9de9,9de9,9deb,9deb,9ded,9df0,9df2,9df4,9df8,9dfa,9dfd,9dfe,9e02,9e02,9e07,9e07,9e0a,9e0a,9e0d,9e0e,9e10,9e12,9e15,9e16,9e19,9e1f,9e75,9e75,9e78,9e7d,9e7f,9e85,9e87,9e88,9e8b,9e8c,9e8e,9e8f,9e91,9e93,9e95,9e98,9e9b,9e9b,9e9d,9e9f,9ea4,9ea6,9ea8,9eaa,9eac,9eb0,9eb3,9eb5,9eb8,9ebf,9ec3,9ec4,9ec6,9ec6,9ec8,9ec8,9ecb,9ed2,9ed4,9ed5,9ed8,9ed9,9edb,9ee0,9ee4,9ee5,9ee7,9ee8,9eec,9ef2,9ef4,9ef9,9efb,9eff,9f02,9f03,9f07,9f09,9f0e,9f17,9f19,9f1b,9f1f,9f22,9f26,9f26,9f2a,9f2c,9f2f,9f2f,9f31,9f32,9f34,9f34,9f37,9f37,9f39,9f3f,9f41,9f41,9f43,9f47,9f4a,9f4b,9f4e,9f50,9f52,9f58,9f5a,9f5a,9f5d,9f63,9f66,9f6a,9f6c,9f73,9f75,9f77,9f7a,9f7a,9f7d,9f7d,9f7f,9f7f,9f8d,9f8d,9f8f,9f92,9f94,9f97,9f99,9f99,9f9c,9fa3,9fa5,9fa5,9fb4,9fb4,9fbc,9fc2,9fc4,9fc4,9fc6,9fc6,9fcc,9fcc,f900,f959,f95b,f9f2,f9f4,fa0b,fa0e,fa6d,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,2000b,2000b,20089,2008a,200a2,200a2,200a4,200a4,200b0,200b0,200f5,200f5,20158,20158,201a2,201a2,20213,20213,2032b,2032b,20371,20371,20381,20381,203f9,203f9,2044a,2044a,20509,20509,2053f,2053f,205b1,205b1,205d6,205d6,20611,20611,20628,20628,206ec,206ec,2074f,2074f,207c8,207c8,20807,20807,2083a,2083a,208b9,208b9,2090e,2090e,2097c,2097c,20984,20984,2099d,2099d,20a64,20a64,20ad3,20ad3,20b1d,20b1d,20b9f,20b9f,20bb7,20bb7,20d45,20d45,20d58,20d58,20de1,20de1,20e64,20e64,20e6d,20e6d,20e95,20e95,20f5f,20f5f,21201,21201,2123d,2123d,21255,21255,21274,21274,2127b,2127b,212d7,212d7,212e4,212e4,212fd,212fd,2131b,2131b,21336,21336,21344,21344,213c4,213c4,2146d,2146e,215d7,215d7,21647,21647,216b4,216b4,21706,21706,21742,21742,218bd,218bd,219c3,219c3,21a1a,21a1a,21c56,21c56,21d2d,21d2d,21d45,21d45,21d62,21d62,21d78,21d78,21d92,21d92,21d9c,21d9c,21da1,21da1,21db7,21db7,21de0,21de0,21e33,21e34,21f1e,21f1e,21f76,21f76,21ffa,21ffa,2217b,2217b,22218,22218,2231e,2231e,223ad,223ad,22609,22609,226f3,226f3,2285b,2285b,228ab,228ab,2298f,2298f,22ab8,22ab8,22b46,22b46,22b4f,22b50,22ba6,22ba6,22c1d,22c1d,22c24,22c24,22de1,22de1,22e42,22e42,22feb,22feb,231b6,231b6,231c3,231c4,231f5,231f5,23372,23372,233cc,233cc,233d0,233d0,233d2,233d3,233d5,233d5,233da,233da,233df,233df,233e4,233e4,233fe,233fe,2344a,2344b,23451,23451,23465,23465,234e4,234e4,2355a,2355a,23594,23594,235c4,235c4,23638,2363a,23647,23647,2370c,2370c,2371c,2371c,2373f,2373f,23763,23764,237e7,237e7,237f1,237f1,237ff,237ff,23824,23824,2383d,2383d,23a98,23a98,23c7f,23c7f,23cbe,23cbe,23cfe,23cfe,23d00,23d00,23d0e,23d0e,23d40,23d40,23dd3,23dd3,23df9,23dfa,23f7e,23f7e,2404b,2404b,24096,24096,24103,24103,241c6,241c6,241fe,241fe,242ee,242ee,243bc,243bc,243d0,243d0,24629,24629,246a5,246a5,247f1,247f1,24896,24896,248e9,248e9,24a4d,24a4d,24b56,24b56,24b6f,24b6f,24c16,24c16,24d14,24d14,24e04,24e04,24e0e,24e0e,24e37,24e37,24e6a,24e6a,24e8b,24e8b,24ff2,24ff2,2504a,2504a,25055,25055,25122,25122,251a9,251a9,251cd,251cd,251e5,251e5,2521e,2521e,2524c,2524c,2542e,2542e,2548e,2548e,254d9,254d9,2550e,2550e,255a7,255a7,2567f,2567f,25771,25771,257a9,257a9,257b4,257b4,25874,25874,259c4,259c4,259cc,259cc,259d4,259d4,25ad7,25ad7,25ae3,25ae4,25af1,25af1,25bb2,25bb2,25c4b,25c4b,25c64,25c64,25da1,25da1,25e2e,25e2e,25e56,25e56,25e62,25e62,25e65,25e65,25ec2,25ec2,25ed8,25ed8,25ee8,25ee8,25f23,25f23,25f5c,25f5c,25fd4,25fd4,25fe0,25fe0,25ffb,25ffb,2600c,2600c,26017,26017,26060,26060,260ed,260ed,26222,26222,2626a,2626a,26270,26270,26286,26286,2634c,2634c,26402,26402,2667e,2667e,266b0,266b0,2671d,2671d,268dd,268dd,268ea,268ea,26951,26951,2696f,2696f,26999,26999,269dd,269dd,26a1e,26a1e,26a58,26a58,26a8c,26a8c,26ab7,26ab7,26aff,26aff,26c29,26c29,26c73,26c73,26c9e,26c9e,26cdd,26cdd,26e40,26e40,26e65,26e65,26f94,26f94,26ff6,26ff8,270f4,270f4,2710d,2710d,27139,27139,273da,273db,273fe,273fe,27410,27410,27449,27449,27614,27615,27631,27631,27684,27684,27693,27693,2770e,2770e,27723,27723,27752,27752,278b2,278b2,27985,27985,279b4,279b4,27a84,27a84,27bb3,27bb3,27bbe,27bbe,27bc7,27bc7,27c3c,27c3c,27cb8,27cb8,27d73,27d73,27da0,27da0,27e10,27e10,27eaf,27eaf,27fb7,27fb7,2808a,2808a,280bb,280bb,28277,28277,28282,28282,282f3,282f3,283cd,283cd,2840c,2840c,28455,28455,284dc,284dc,2856b,2856b,285c8,285c9,286d7,286d7,286fa,286fa,28946,28946,28949,28949,2896b,2896b,28987,28988,289ba,289bb,28a1e,28a1e,28a29,28a29,28a43,28a43,28a71,28a71,28a99,28a99,28acd,28acd,28add,28add,28ae4,28ae4,28bc1,28bc1,28bef,28bef,28cdd,28cdd,28d10,28d10,28d71,28d71,28dfb,28dfb,28e0f,28e0f,28e17,28e17,28e1f,28e1f,28e36,28e36,28e89,28e89,28eeb,28eeb,28ef6,28ef6,28f32,28f32,28ff8,28ff8,292a0,292a0,292b1,292b1,29490,29490,295cf,295cf,2967f,2967f,296f0,296f0,29719,29719,29750,29750,29810,29810,298c6,298c6,29a72,29a72,29d4b,29d4b,29ddb,29ddb,29e15,29e15,29e3d,29e3d,29e49,29e49,29e8a,29e8a,29ec4,29ec4,29edb,29edb,29ee9,29ee9,29fce,29fce,29fd7,29fd7,2a01a,2a01a,2a02f,2a02f,2a082,2a082,2a0f9,2a0f9,2a190,2a190,2a2b2,2a2b2,2a38c,2a38c,2a437,2a437,2a5f1,2a5f1,2a602,2a602,2a61a,2a61a,2a6b2,2a6b2,2a9e6,2a9e6,2b746,2b746,2b751,2b751,2b753,2b753,2b75a,2b75a,2b75c,2b75c,2b765,2b765,2b776,2b777,2b77c,2b77c,2b782,2b782,2b789,2b789,2b78b,2b78b,2b78e,2b78e,2b794,2b794,2b7ac,2b7ac,2b7af,2b7af,2b7bd,2b7bd,2b7c9,2b7c9,2b7cf,2b7cf,2b7d2,2b7d2,2b7d8,2b7d8,2b7f0,2b7f0,2b80d,2b80d,2b817,2b817,2b81a,2b81a,2d544,2d544,2e278,2e278,2e569,2e569,2e6ea,2e6ea,2f804,2f804,2f80f,2f80f,2f815,2f815,2f818,2f818,2f81a,2f81a,2f822,2f822,2f828,2f828,2f82c,2f82c,2f833,2f833,2f83f,2f83f,2f846,2f846,2f852,2f852,2f862,2f862,2f86d,2f86d,2f873,2f873,2f877,2f877,2f884,2f884,2f899,2f89a,2f8a6,2f8a6,2f8ac,2f8ac,2f8b2,2f8b2,2f8b6,2f8b6,2f8d3,2f8d3,2f8db,2f8dc,2f8e1,2f8e1,2f8e5,2f8e5,2f8ea,2f8ea,2f8ed,2f8ed,2f8fc,2f8fc,2f903,2f903,2f90b,2f90b,2f90f,2f90f,2f91a,2f91a,2f920,2f921,2f945,2f945,2f947,2f947,2f96c,2f96c,2f995,2f995,2f9d0,2f9d0,2f9de,2f9df,2f9f4,2f9f4,30ede,30ede,3106c,3106c,]), + NotoFont.fromFlatList('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a980,a9cd,a9cf,a9d9,a9de,a9df,]), + NotoFont.fromFlatList('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1100,11ff,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,349a,349a,34d7,34d7,3515,3515,3521,3521,353e,353e,35ff,35ff,366f,366f,36c3,36c5,36e6,36e6,3723,3723,372f,372f,373a,373a,37bc,37bc,380c,380c,3818,3818,3883,3883,38ba,38ba,38e7,38e7,38fd,38fd,3960,3960,3965,3965,3983,3983,3990,3990,39a5,39a5,39b6,39b6,3a39,3a39,3aa4,3aa4,3adc,3adc,3af6,3af6,3b03,3b03,3b23,3b23,3b79,3b79,3bf3,3bf3,3c14,3c14,3c24,3c24,3c2d,3c2d,3cbd,3cbe,3cfc,3cfc,3d17,3d17,3d5f,3d5f,3dbc,3dbc,3dc2,3dc2,3ec4,3ec4,3eed,3eed,3efd,3efd,3f04,3f04,402f,402f,4034,4034,4062,4062,40a9,40a9,40c9,40c9,4137,4137,41ac,41ac,4259,4259,43bb,43bb,43c7,43c7,43e7,43e7,43ea,43ea,4450,4450,4512,4512,45f2,45f2,4618,4618,46b7,46b7,46be,46be,46d4,46d4,46d8,46d8,46dd,46dd,472d,472d,476c,476c,477d,477d,479f,479f,4863,4863,4883,4883,4896,4896,48a6,48a6,4925,4925,499e,499e,49a5,49a5,49cb,49cb,4a12,4a12,4a2d,4a2d,4ab8,4ab8,4adf,4adf,4ae8,4ae8,4afb,4afb,4b53,4b53,4b71,4b71,4cdf,4ce0,4d1b,4d1b,4e00,4e01,4e03,4e03,4e07,4e0b,4e0d,4e0e,4e11,4e11,4e14,4e16,4e18,4e19,4e1e,4e1f,4e24,4e24,4e26,4e26,4e28,4e28,4e2b,4e2d,4e30,4e32,4e36,4e36,4e38,4e39,4e3b,4e3b,4e3f,4e3f,4e42,4e43,4e45,4e45,4e4b,4e4b,4e4d,4e4f,4e56,4e5b,4e5d,4e5f,4e67,4e67,4e6b,4e6d,4e71,4e71,4e73,4e73,4e76,4e77,4e7a,4e7c,4e7e,4e7e,4e80,4e80,4e82,4e82,4e85,4e86,4e88,4e89,4e8b,4e8c,4e8e,4e92,4e94,4e95,4e98,4e99,4e9b,4e9c,4e9e,4ea2,4ea4,4ea6,4ea8,4ea8,4eab,4eae,4eb0,4eb0,4eb3,4eb4,4eb6,4eb6,4eb9,4ebb,4ec0,4ec1,4ec4,4ec4,4ec6,4ec7,4eca,4ecb,4ecd,4ecd,4ed4,4ed9,4edd,4edf,4ee1,4ee1,4ee3,4ee5,4eee,4eee,4ef0,4ef0,4ef2,4ef3,4ef5,4ef7,4efb,4efb,4efd,4efd,4eff,4f01,4f09,4f0b,4f0d,4f11,4f1a,4f1a,4f1d,4f1d,4f2f,4f30,4f34,4f34,4f36,4f36,4f38,4f38,4f3a,4f3a,4f3c,4f3e,4f42,4f43,4f46,4f49,4f4b,4f4b,4f4d,4f51,4f53,4f57,4f59,4f5f,4f69,4f6a,4f6f,4f70,4f73,4f74,4f76,4f76,4f78,4f81,4f83,4f84,4f86,4f86,4f88,4f8b,4f8d,4f92,4f94,4f94,4f96,4f98,4f9a,4f9d,4fae,4faf,4fb2,4fb2,4fb5,4fb6,4fb9,4fb9,4fbb,4fbb,4fbf,4fbf,4fc1,4fc5,4fc9,4fca,4fcc,4fd4,4fd7,4fdb,4fdd,4fe1,4fe3,4fe3,4fee,4ff1,4ff3,4ff6,4ff8,4ff8,4ffa,4ffa,4ffe,4ffe,5000,5000,5002,5002,5005,5007,5009,5009,500b,500b,500d,500d,500f,500f,5011,5014,5016,5016,5018,501a,501c,501c,501e,501f,5021,502e,5030,5030,503b,503b,5043,5044,5047,504a,504e,504f,5053,5053,5055,5056,5058,505a,505c,505c,5060,5060,5062,5062,5065,5066,506a,506a,5070,5070,5072,5072,5074,5076,5078,5078,5080,5080,5083,5083,5085,5085,508b,508b,508d,508d,5091,5092,5094,5094,5096,5096,5098,509b,509d,509e,50a2,50a2,50ac,50ae,50b2,50b5,50b7,50b7,50bd,50bf,50c2,50c2,50c4,50c5,50c9,50ca,50cf,50cf,50d1,50d1,50d4,50d6,50da,50db,50de,50de,50e2,50e2,50e5,50e7,50e9,50e9,50ec,50ee,50f5,50f5,50f9,50f9,50fb,50fb,50fe,5104,5106,5107,5109,5109,510b,510c,5110,5110,5112,5115,5117,5118,511a,511c,511f,511f,5121,5122,5124,5125,5127,5127,512a,512b,5131,5133,5135,5135,5137,513c,513f,5141,5143,5149,514b,514e,5150,5150,5152,5152,5154,5157,515a,515a,515c,515c,5162,5162,5165,5165,5167,516e,5171,5171,5175,5178,517c,517c,5180,5180,5182,5182,5186,5186,5189,518a,518c,518d,518f,518f,5191,5193,5195,5199,519e,519e,51a0,51a0,51a2,51a5,51aa,51ac,51b0,51b2,51b6,51b7,51bd,51be,51c4,51c6,51c9,51cd,51d2,51d2,51d4,51d4,51d6,51d6,51db,51de,51e0,51e1,51e9,51e9,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fd,51fd,5200,5203,5206,5208,520a,520a,520e,520e,5211,5211,5213,5213,5216,5217,521d,521d,5224,5227,5229,522a,522e,522e,5230,5233,5236,523b,5243,5244,5246,5247,5249,524d,5254,5257,525a,525b,525d,525f,5261,5261,5269,526a,526f,526f,5272,5272,5274,5275,5277,5277,527a,527a,527d,527d,527f,527f,5282,5283,5287,5289,528d,528d,5291,5293,5297,5298,529b,529b,529f,52a0,52a3,52a4,52a7,52a7,52a9,52ae,52b9,52b9,52be,52be,52c1,52c1,52c3,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d2,52d2,52d5,52d6,52d8,52d9,52db,52db,52dd,52e4,52e6,52e6,52ed,52ed,52f2,52f3,52f5,52f5,52f8,52fb,52fe,5303,5305,5305,5308,5308,530a,530a,530c,530d,530f,5310,5315,5317,5319,531a,5320,5321,5323,5323,5327,5327,532a,532a,532f,532f,5331,5331,5336,5336,5338,533b,533d,5341,5343,5345,5347,534a,534d,534d,5351,5354,5357,5357,535a,535a,535c,535c,535e,535e,5360,5361,5364,5364,5366,5366,5368,5369,536c,536c,536e,5375,5377,537b,537d,537f,5382,5382,5384,5384,538e,538e,5393,5393,5396,5396,5398,5398,539a,539a,539d,539d,539f,53a0,53a5,53a6,53aa,53aa,53ad,53ae,53b2,53b3,53b6,53b6,53b9,53b9,53bb,53bb,53c2,53c3,53c5,53c5,53c8,53cd,53d4,53d4,53d6,53d7,53d9,53d9,53db,53db,53df,53df,53e1,53e6,53e8,53f8,5401,5401,5403,5404,5408,5411,541b,541b,541d,541d,541f,5420,5426,5426,5429,5429,542b,542c,542e,542e,5431,5431,5433,5433,5436,5436,5438,5439,543b,543e,5440,5440,5442,5442,5446,5446,5448,5448,544a,544a,544e,544e,5451,5451,545d,545d,545f,545f,5462,5462,5464,5464,5466,5466,5468,5468,546a,546b,5470,5471,5473,5473,5475,5476,547b,547d,547f,5480,5484,5484,5486,5487,548b,5490,5496,5496,54a0,54a0,54a2,54a2,54a4,54a5,54a8,54a8,54ab,54ac,54af,54af,54b2,54b3,54b8,54b8,54bb,54bd,54bf,54c4,54c6,54c9,54e1,54e1,54e5,54e6,54e8,54e9,54ed,54ee,54f1,54f2,54fa,54fa,54fd,54fd,54ff,54ff,5504,5504,5506,5507,5509,5509,550e,5510,5514,5514,551c,551c,552b,552b,552e,552f,5531,5531,5533,5533,5535,5535,5539,5539,553c,553c,553e,553e,5540,5540,5542,5542,5544,5544,5546,5546,554a,554a,554f,554f,5553,5553,5556,5557,555c,555c,555e,555e,5563,5563,557b,5581,5583,5584,5586,5587,5589,558b,5591,5591,5593,5594,5598,559a,559c,559f,55a3,55a4,55a7,55ac,55ae,55ae,55b0,55b0,55c3,55c3,55c5,55c5,55c7,55c7,55c9,55c9,55d1,55d1,55d4,55d4,55da,55dc,55df,55e0,55e2,55e4,55f7,55f7,55fd,55ff,5604,5604,5606,5606,5608,5609,560c,5610,5612,5612,5614,5614,5616,5617,5629,5629,562c,562c,562f,562f,5632,5632,5634,5634,5636,5639,563b,563b,563f,563f,5641,5642,5649,5649,564b,564b,564d,564f,5653,5653,5664,5665,5668,566d,566f,566f,5672,5672,5674,5674,5676,5676,5678,5678,567a,567a,5680,5680,5684,5684,5686,5687,568f,568f,5699,569a,56a5,56a5,56a7,56a7,56ac,56ac,56ae,56ae,56b3,56b4,56b6,56b6,56bc,56bc,56c0,56c3,56c8,56ca,56cd,56cd,56d1,56d1,56d7,56d7,56da,56db,56de,56e0,56e3,56e3,56e6,56e7,56eb,56eb,56ed,56ee,56f0,56f0,56f3,56f3,56f7,56f7,56f9,56fa,56fd,56fd,56ff,56ff,5701,5704,5707,570b,570d,570d,5712,5713,5716,5716,5718,5718,571c,571c,571f,571f,5725,5725,5728,572a,572c,572e,5730,5730,573b,573b,573e,573e,5740,5742,5747,5747,574a,574a,574c,5751,5761,5761,5764,5764,5766,576a,576e,5771,5773,5773,5775,5775,5777,5778,577b,577c,5782,5782,5788,5788,578b,578c,5793,5793,5795,5795,579e,579e,57a0,57a0,57a2,57a4,57b8,57b8,57bd,57bd,57c3,57c3,57c6,57c9,57cb,57cb,57ce,57cf,57d1,57d2,57dc,57dc,57df,57e0,57e4,57e4,57e9,57e9,57ed,57ee,57f0,57f0,57f3,57f4,57f6,57f7,57f9,57fd,5800,5800,5802,5806,5808,580b,5817,5817,5819,5819,581d,581e,5820,5821,5823,5824,5826,5827,582a,582a,582d,582d,582f,5831,5834,5835,583a,583a,5840,5840,5849,584d,584f,5852,5854,5854,5857,585a,585e,585e,5861,5862,5864,5864,5869,5869,5875,5875,5879,5879,587c,587e,5880,5881,5883,5883,5885,5885,5889,588a,588c,588d,5890,5890,5893,5893,589c,589f,58a1,58a1,58a3,58a3,58a8,58a9,58ab,58ab,58ae,58ae,58b0,58b1,58b3,58b3,58ba,58bb,58be,58be,58c1,58c1,58c3,58c3,58c5,58c5,58c7,58c7,58ce,58ce,58d1,58d1,58d3,58d5,58d8,58da,58dc,58df,58e1,58e1,58e4,58e4,58eb,58ec,58ee,58f0,58f2,58f2,58f9,58fb,58fd,58fd,5902,5902,5906,5906,5908,5908,590a,590a,590f,5910,5914,5916,5919,591c,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5937,5938,593d,593e,5944,5944,5947,5949,594c,594c,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5960,5962,5962,5967,5967,5969,596e,5972,5974,5976,5976,5978,5978,597d,597d,5982,5984,598a,598a,598c,598d,5991,5993,5996,5997,5999,5999,599d,599d,59a3,59a5,59a7,59a8,59ac,59ac,59af,59af,59b2,59b2,59b5,59b6,59b8,59b9,59bb,59bb,59be,59bf,59c1,59c1,59c3,59c3,59c6,59c6,59c8,59cb,59cd,59cd,59d0,59d4,59d9,59da,59dc,59de,59e2,59e6,59e8,59e8,59ea,59ec,59ee,59ee,59f0,59f0,59f2,59f2,59f7,59fc,59ff,59ff,5a01,5a01,5a03,5a03,5a09,5a0a,5a0d,5a0d,5a11,5a11,5a13,5a13,5a18,5a19,5a1b,5a1c,5a1f,5a20,5a23,5a23,5a25,5a25,5a27,5a27,5a29,5a29,5a2b,5a2b,5a2d,5a2d,5a35,5a36,5a3c,5a3c,5a3f,5a41,5a46,5a47,5a49,5a49,5a4b,5a4c,5a50,5a51,5a5a,5a5a,5a60,5a60,5a62,5a63,5a66,5a67,5a69,5a6a,5a6d,5a6d,5a72,5a72,5a77,5a77,5a7f,5a7f,5a84,5a84,5a8d,5a8d,5a90,5a90,5a92,5a93,5a95,5a95,5a9a,5a9b,5a9e,5a9f,5aa2,5aa2,5aa4,5aa4,5aa7,5aa7,5aaa,5aaa,5ab3,5ab3,5ab5,5ab5,5aba,5abf,5ac1,5ac2,5ac4,5ac4,5ac8,5ac9,5acb,5acc,5ad5,5ad7,5ad9,5adb,5add,5add,5ae0,5ae6,5ae9,5ae9,5aeb,5aeb,5aed,5aef,5af6,5af6,5afa,5afb,5afd,5afd,5b00,5b00,5b05,5b05,5b08,5b09,5b0b,5b0c,5b16,5b16,5b19,5b19,5b1b,5b1b,5b25,5b25,5b28,5b28,5b2a,5b2a,5b2d,5b2d,5b30,5b30,5b32,5b32,5b34,5b34,5b3e,5b40,5b43,5b43,5b45,5b45,5b4c,5b4c,5b50,5b51,5b54,5b58,5b5a,5b5d,5b5f,5b5f,5b61,5b61,5b63,5b66,5b69,5b69,5b6b,5b6b,5b70,5b71,5b75,5b76,5b78,5b78,5b7a,5b7a,5b7c,5b7c,5b7f,5b82,5b85,5b85,5b87,5b8c,5b8f,5b8f,5b93,5b93,5b95,5b9d,5b9f,5b9f,5ba2,5ba6,5bac,5bac,5bae,5bae,5bb0,5bb0,5bb3,5bb6,5bb8,5bb9,5bbf,5bc0,5bc2,5bc7,5bcc,5bcc,5bd0,5bd0,5bd2,5bd4,5bd6,5bd8,5bdb,5bdb,5bde,5bdf,5be1,5be2,5be4,5be9,5beb,5bf0,5bf5,5bf6,5bf8,5bfa,5bff,5bff,5c01,5c01,5c04,5c0f,5c11,5c11,5c14,5c14,5c16,5c16,5c19,5c19,5c1f,5c20,5c22,5c24,5c28,5c28,5c2b,5c2b,5c31,5c31,5c38,5c41,5c45,5c48,5c4b,5c4b,5c4d,5c4e,5c50,5c51,5c55,5c55,5c5b,5c5b,5c60,5c60,5c62,5c62,5c64,5c65,5c68,5c68,5c6c,5c6c,5c6f,5c6f,5c71,5c71,5c73,5c73,5c79,5c7a,5c88,5c88,5c8a,5c8a,5c8c,5c8c,5c8f,5c92,5c94,5c94,5c9d,5c9d,5ca1,5ca1,5ca3,5ca3,5ca5,5cad,5cb1,5cb1,5cb3,5cb3,5cb5,5cb5,5cb7,5cb8,5cba,5cba,5cbe,5cbe,5cc0,5cc0,5ccb,5ccb,5cd2,5cd2,5cd9,5cd9,5ce0,5ce0,5ce8,5ce9,5ced,5ced,5cef,5cf1,5cf4,5cf4,5cf6,5cf6,5cfb,5cfb,5cfd,5cfd,5d06,5d07,5d0d,5d0e,5d10,5d11,5d14,5d19,5d1b,5d1b,5d1f,5d1f,5d22,5d22,5d24,5d24,5d26,5d27,5d29,5d29,5d34,5d34,5d3d,5d3d,5d41,5d42,5d44,5d44,5d4b,5d4c,5d4e,5d4e,5d50,5d50,5d53,5d54,5d69,5d69,5d6c,5d6c,5d6f,5d6f,5d71,5d71,5d81,5d82,5d84,5d84,5d86,5d87,5d8b,5d8b,5d92,5d92,5d94,5d95,5d99,5d99,5d9d,5d9d,5da0,5da0,5da2,5da2,5da7,5da7,5daa,5dab,5dae,5dae,5db0,5db0,5db7,5db8,5dba,5dba,5dbc,5dbe,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dd1,5dd3,5dd6,5dd6,5dda,5ddb,5ddd,5dde,5de0,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df1,5df5,5df7,5df9,5dfb,5dfb,5dfd,5dfe,5e02,5e03,5e06,5e06,5e09,5e09,5e0c,5e0c,5e11,5e11,5e15,5e16,5e19,5e1b,5e1d,5e1d,5e20,5e20,5e25,5e25,5e28,5e28,5e2b,5e2b,5e2d,5e2d,5e33,5e33,5e36,5e38,5e3d,5e3d,5e3f,5e40,5e43,5e45,5e47,5e47,5e4c,5e4c,5e4e,5e4e,5e54,5e55,5e58,5e58,5e5e,5e5f,5e61,5e63,5e68,5e68,5e6a,5e6c,5e70,5e74,5e76,5e80,5e83,5e84,5e87,5e87,5e8a,5e8b,5e8f,5e8f,5e95,5e97,5e9a,5e9a,5e9c,5e9c,5ea0,5ea0,5ea5,5ea8,5eab,5eab,5ead,5ead,5eb3,5eb3,5eb5,5eb8,5ebd,5ebe,5ec1,5ec2,5ec8,5ecb,5ecf,5ed1,5ed3,5ed3,5ed5,5ed6,5ed9,5edb,5edd,5ee3,5ee5,5ee5,5ee7,5ee9,5eec,5eec,5ef1,5ef1,5ef3,5ef4,5ef6,5ef7,5efa,5efb,5efe,5eff,5f01,5f01,5f03,5f04,5f07,5f08,5f0a,5f0b,5f0f,5f0f,5f11,5f15,5f17,5f18,5f1b,5f1b,5f1f,5f1f,5f22,5f22,5f25,5f27,5f29,5f29,5f2d,5f2d,5f31,5f31,5f34,5f35,5f37,5f37,5f3a,5f3a,5f3c,5f3c,5f3e,5f3e,5f40,5f40,5f46,5f46,5f48,5f48,5f4a,5f4a,5f4c,5f4c,5f4e,5f4e,5f50,5f51,5f53,5f54,5f56,5f59,5f5b,5f5b,5f5d,5f5d,5f61,5f62,5f64,5f67,5f69,5f6d,5f70,5f71,5f73,5f73,5f77,5f77,5f79,5f79,5f7c,5f7c,5f7f,5f82,5f85,5f85,5f87,5f8c,5f90,5f92,5f97,5f99,5f9c,5f9c,5f9e,5f9e,5fa0,5fa1,5fa3,5fa3,5fa7,5faa,5fac,5faf,5fb3,5fb3,5fb5,5fb5,5fb7,5fb7,5fb9,5fb9,5fbc,5fbd,5fc3,5fc5,5fc8,5fc9,5fcc,5fce,5fd0,5fd0,5fd2,5fd3,5fd5,5fd9,5fdc,5fe1,5fe4,5fe4,5fe8,5fe8,5feb,5feb,5fed,5fef,5ff1,5ff1,5ff5,5ff5,5ff8,5ff8,5ffb,5ffd,5fff,5fff,600a,600a,600d,600d,600f,600f,6012,6012,6014,6017,6019,6019,601b,601d,6020,6021,6025,602a,602f,6030,6033,6033,6041,6043,6046,6048,604a,604b,604d,604d,6050,6050,6052,6052,6055,6055,6059,605a,605d,605d,605f,6060,6062,6065,6068,606d,606f,6070,6075,6075,6081,6081,6083,6086,6089,608d,608f,608f,6092,6092,6094,6097,609a,609b,609f,60a0,60a2,60a4,60a7,60a7,60aa,60aa,60b0,60b6,60b8,60b8,60bb,60be,60c4,60c7,60c9,60c9,60cb,60cb,60cf,60cf,60d1,60d1,60d3,60d3,60d5,60d5,60d7,60e2,60f0,60f4,60f6,60fc,6100,6101,6103,6103,6106,6106,6108,6109,610d,610f,6114,6115,611a,611c,611e,611f,6122,6122,6127,6128,612b,612d,6130,6130,6134,6134,6137,6137,613c,613c,613e,613f,6142,6142,6144,6144,6146,6148,614a,614d,614f,614f,6152,6155,6158,615a,615c,615d,615f,6164,6167,6168,616a,616b,616e,616e,6170,6171,6173,6177,617a,617a,617c,617e,6181,6183,618a,618a,618d,618e,6190,6194,6196,6196,6198,619a,61a4,61a4,61a7,61a9,61ab,61ac,61ae,61af,61b2,61b2,61b6,61b6,61b8,61b8,61ba,61be,61c3,61c3,61c6,61cc,61cf,61cf,61d5,61d5,61d7,61d7,61de,61df,61e3,61e3,61e6,61e6,61f2,61f2,61f6,61f8,61fa,61fa,61fc,6200,6207,6208,620a,620a,620c,620e,6210,6212,6214,6216,6218,6218,621a,621a,621e,621f,6221,6222,6226,6227,6229,622a,622d,622e,6230,6236,6239,6239,623e,6241,6243,6243,6247,624e,6251,6253,6257,6258,625b,625c,625e,625e,6263,6263,6268,6268,626e,626e,6271,6271,6273,6273,6276,6276,6279,627a,627c,627c,627e,6280,6283,6284,6286,6286,6289,628a,628f,628f,6291,6292,6294,6298,629b,629b,62a6,62a6,62a8,62a8,62ab,62ac,62ae,62ae,62b1,62b2,62b5,62b5,62b9,62b9,62bc,62bd,62c2,62c2,62c4,62cd,62cf,62d9,62db,62dc,62e1,62e1,62ec,62ef,62f1,62f1,62f3,62f3,62f5,62f7,62fd,62ff,6301,6302,6307,6307,6309,6309,630c,630c,6310,6312,6328,6328,632a,632b,632f,632f,6339,633b,633d,633e,6342,6344,6346,6346,6349,6349,634c,6350,6353,6353,6355,6355,6357,6357,635a,635a,6367,6369,636b,636b,636e,636e,6371,6372,6376,6377,637a,637b,637f,6380,6383,6384,6387,638a,638c,638c,638e,638f,6392,6392,6396,6396,6398,6398,639b,639c,639f,63a2,63a5,63a5,63a7,63aa,63ac,63ac,63be,63be,63c0,63c0,63c3,63c4,63c6,63c6,63c9,63c9,63cf,63d0,63d2,63d2,63d6,63d6,63da,63db,63df,63e1,63e3,63e3,63e9,63e9,63eb,63eb,63ed,63ee,63f2,63f2,63f4,63f7,6406,6406,6409,6409,640d,640d,640f,640f,6412,6412,6414,6414,6416,6418,641c,641c,6420,6420,6422,6422,6424,6425,6428,6428,642a,642d,642f,6430,6434,6434,6436,6436,643a,643a,643e,643e,6458,6458,645b,645b,645e,645e,6460,6460,6467,6467,6469,6469,646d,646d,646f,646f,6473,6473,6478,647b,647d,647d,6485,6485,6488,6488,6490,6493,6495,6495,6499,649b,649d,649f,64a4,64a5,64a9,64a9,64ab,64ab,64ad,64ae,64b0,64b0,64b2,64b2,64bb,64bc,64be,64bf,64c1,64c1,64c4,64c5,64c7,64c7,64c9,64ca,64cd,64ce,64d0,64d0,64d2,64d2,64d4,64d5,64d7,64d8,64da,64da,64e0,64e3,64e5,64e7,64ec,64ed,64ef,64ef,64f1,64f2,64f4,64f4,64fa,64fa,64fe,64fe,6500,6500,6502,6502,6504,6504,6507,6507,650a,650a,650f,650f,6514,6514,6518,6519,651d,651d,6522,6524,652a,652c,652f,652f,6532,6532,6534,6539,653b,653b,653d,653f,6543,6543,6545,6545,6548,6549,654d,654f,6551,6552,6554,6559,655d,655e,6562,6563,6566,6566,656c,656d,6572,6572,6574,6575,6577,6578,657e,657e,6581,6583,6585,6585,6587,6587,6589,6589,658c,658c,6590,6591,6597,6597,6599,6599,659b,659d,659f,659f,65a1,65a1,65a4,65a5,65a7,65a7,65ab,65ad,65af,65b2,65b7,65b7,65b9,65b9,65bc,65bd,65bf,65bf,65c1,65c6,65ca,65cc,65cf,65cf,65d2,65d2,65d7,65d7,65e0,65e1,65e3,65e3,65e5,65e6,65e8,65e9,65ec,65ed,65f1,65f2,65f4,65f4,65fa,65fd,65ff,6600,6602,6603,6606,6607,6609,660a,660c,6611,6613,6615,661b,661c,661e,6621,6623,6625,6627,6628,662b,662b,662d,662d,662f,6631,6634,6637,663a,663b,6641,6644,6648,6649,664b,664c,664e,6651,6659,665b,665d,6662,6664,6669,666b,6670,6673,6674,6676,667b,667d,667d,667f,667f,6684,6684,6687,6689,668b,668c,668e,668e,6690,6691,6696,6698,669a,669a,669d,669e,66a0,66a0,66a2,66a3,66ab,66ac,66ae,66ae,66b1,66b5,66b8,66bb,66be,66c1,66c4,66c9,66d3,66d4,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e3,66e6,66e6,66e8,66ea,66ec,66ec,66ee,66f0,66f2,66f4,66f7,66fa,66fc,66fc,66fe,6700,6703,6705,6708,670d,6710,6710,6714,6715,6717,6717,671b,671b,671d,6720,6722,6723,6726,6728,672a,672e,6731,6731,6733,6734,6736,6736,673a,673a,673d,673e,6745,6746,6749,6749,674b,674c,674e,6751,6753,6753,6756,6756,675c,6760,6765,6765,676a,676a,676c,676d,676f,6773,6775,6775,6777,6777,677b,677c,677e,677f,6783,6783,6787,6787,6789,6789,678b,678c,678f,6790,6792,6793,6795,6795,6797,679a,679c,679d,67af,67b0,67b2,67b3,67b6,67b8,67be,67be,67c1,67c1,67c4,67c5,67ca,67ca,67cf,67d4,67d6,67da,67dd,67df,67e2,67e2,67e9,67e9,67ec,67ec,67ef,67f1,67f3,67f6,67f9,67f9,67fb,67fb,67fe,67ff,6803,6804,6810,6810,6812,6813,6816,6817,681d,681e,6821,6822,682a,682a,682e,682f,6831,6832,6834,6834,6838,6839,683b,683d,6840,6844,6846,6846,6848,6849,684e,684e,6850,6851,6853,6854,686d,686d,686f,686f,6874,6874,6876,6877,687e,687f,6881,6881,6883,6883,6885,6886,688f,688f,6893,6894,6897,6897,689b,689b,689d,689d,689f,68a3,68a7,68a8,68ad,68ad,68af,68b1,68b3,68b3,68b5,68b6,68c4,68c5,68c9,68cd,68d0,68d0,68d2,68d2,68d5,68d8,68da,68da,68df,68e0,68e3,68e3,68e7,68e8,68ec,68ec,68ee,68ee,68f2,68f2,68f9,68fd,6900,6901,6904,6906,690b,690b,690d,690f,6911,6912,6919,6919,691c,691c,6927,6927,6930,6930,6934,6934,6936,6936,6939,6939,693d,693d,693f,693f,6942,6942,694a,694a,694f,694f,6953,6955,6957,6957,6959,695a,695d,695e,6960,6963,6965,6965,6968,6968,696a,696f,6973,6973,6975,6975,6977,6979,697b,697b,697d,697d,698e,698e,6991,6991,6994,6995,6998,6998,699b,699c,699f,699f,69a4,69a7,69ad,69ae,69b0,69b2,69b4,69b4,69b7,69b7,69ba,69bc,69be,69c1,69c3,69c3,69c7,69c7,69ca,69d0,69d3,69d3,69d6,69d6,69e2,69e2,69e5,69ea,69ed,69ed,69f2,69f2,69f9,69f9,69fb,69fb,69fd,69fd,69ff,6a00,6a02,6a02,6a05,6a05,6a0a,6a0b,6a11,6a14,6a17,6a17,6a19,6a19,6a1b,6a1b,6a1e,6a1f,6a21,6a21,6a23,6a23,6a29,6a29,6a2b,6a2b,6a35,6a35,6a38,6a3b,6a3d,6a3d,6a43,6a45,6a47,6a4d,6a50,6a50,6a52,6a53,6a58,6a5a,6a5f,6a5f,6a61,6a62,6a64,6a64,6a66,6a66,6a6b,6a6b,6a72,6a72,6a75,6a75,6a7f,6a80,6a83,6a84,6a89,6a89,6a8d,6a8e,6a90,6a90,6a94,6a94,6a97,6a97,6a9c,6a9d,6a9f,6aa0,6aa2,6aa3,6aae,6aae,6ab3,6ab3,6ab6,6ab6,6abb,6abc,6abf,6abf,6ac2,6ac3,6ad3,6ad3,6ada,6adf,6ae8,6ae8,6aea,6aea,6aec,6aec,6af6,6af6,6afb,6afc,6b02,6b04,6b0a,6b0a,6b0c,6b0c,6b11,6b12,6b16,6b16,6b1e,6b1e,6b20,6b21,6b23,6b23,6b2c,6b2c,6b32,6b32,6b37,6b3b,6b3d,6b3f,6b43,6b43,6b46,6b47,6b49,6b4a,6b4c,6b4c,6b4e,6b4e,6b50,6b50,6b54,6b54,6b59,6b5b,6b5f,6b67,6b69,6b6a,6b6f,6b6f,6b72,6b72,6b77,6b7b,6b7f,6b80,6b82,6b84,6b86,6b86,6b89,6b8a,6b8d,6b8d,6b91,6b91,6b96,6b96,6b98,6b98,6b9e,6b9e,6ba2,6ba2,6ba4,6ba4,6bab,6bab,6bad,6baf,6bb2,6bb3,6bb5,6bb5,6bb7,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc4,6bc6,6bcb,6bcb,6bcd,6bcd,6bcf,6bcf,6bd2,6bd4,6bd6,6bd8,6bda,6bdb,6beb,6bec,6bef,6bef,6bf3,6bf3,6bf8,6bf8,6bff,6bff,6c05,6c05,6c08,6c08,6c0f,6c11,6c13,6c14,6c17,6c17,6c1b,6c1b,6c23,6c24,6c33,6c38,6c3e,6c43,6c4b,6c4b,6c4e,6c50,6c52,6c55,6c57,6c57,6c59,6c60,6c66,6c66,6c68,6c6a,6c6d,6c6d,6c70,6c70,6c72,6c72,6c74,6c74,6c76,6c76,6c7a,6c7a,6c7d,6c7e,6c81,6c89,6c8c,6c8d,6c90,6c90,6c92,6c96,6c98,6c9b,6ca2,6ca2,6cab,6cac,6cae,6cae,6cb0,6cb1,6cb3,6cb3,6cb6,6cb6,6cb8,6cb9,6cbb,6cbf,6cc1,6cc2,6cc4,6cc6,6cc9,6cca,6ccc,6ccc,6cd0,6cd1,6cd3,6cd5,6cd7,6cd7,6cd9,6cdd,6ce0,6ce3,6ce5,6ce5,6ce8,6ce8,6ceb,6ceb,6cee,6cf1,6cf3,6cf3,6cff,6cff,6d04,6d04,6d07,6d07,6d0a,6d0c,6d11,6d12,6d14,6d14,6d17,6d17,6d19,6d19,6d1b,6d1b,6d1e,6d1f,6d23,6d23,6d25,6d25,6d27,6d2c,6d2e,6d2e,6d32,6d32,6d35,6d36,6d38,6d3e,6d41,6d41,6d59,6d5a,6d5c,6d5c,6d61,6d61,6d63,6d67,6d69,6d6a,6d6c,6d6c,6d6e,6d6f,6d72,6d72,6d74,6d74,6d77,6d79,6d7f,6d7f,6d82,6d82,6d85,6d85,6d87,6d89,6d8c,6d8f,6d91,6d91,6d93,6d97,6daa,6dac,6daf,6daf,6db2,6db2,6db4,6db5,6db7,6db8,6dbc,6dbc,6dbf,6dc0,6dc3,6dc8,6dcb,6dcc,6dcf,6dd2,6dd6,6dd6,6dd8,6dda,6ddd,6dde,6de0,6de6,6de8,6de8,6dea,6dec,6dee,6dee,6df1,6df1,6df3,6df3,6df5,6dfc,6e05,6e05,6e08,6e08,6e0a,6e0a,6e17,6e17,6e19,6e1b,6e1d,6e1d,6e1f,6e26,6e28,6e28,6e2b,6e2d,6e2f,6e2f,6e32,6e32,6e34,6e34,6e36,6e38,6e3a,6e3a,6e3c,6e3e,6e40,6e40,6e43,6e45,6e4a,6e4a,6e4d,6e4e,6e51,6e51,6e53,6e56,6e58,6e58,6e5b,6e5c,6e5e,6e5f,6e63,6e63,6e67,6e67,6e6b,6e6b,6e6e,6e6f,6e72,6e73,6e75,6e75,6e7a,6e7a,6e8f,6e90,6e95,6e96,6e98,6e98,6e9c,6e9d,6e9f,6e9f,6ea2,6ea2,6ea5,6ea5,6ea7,6ea8,6eaa,6eab,6eaf,6eaf,6eb1,6eb2,6eb5,6eb7,6eba,6eba,6ebd,6ebd,6ec2,6ec5,6ec8,6ec9,6ecb,6ecc,6ece,6ece,6ed1,6ed1,6ed3,6ed5,6ed9,6ed9,6eec,6eed,6eef,6eef,6ef2,6ef2,6ef4,6ef5,6ef7,6ef8,6efc,6efc,6efe,6eff,6f01,6f02,6f04,6f04,6f06,6f06,6f09,6f09,6f0c,6f0c,6f0f,6f0f,6f11,6f11,6f13,6f15,6f19,6f1a,6f20,6f20,6f22,6f24,6f26,6f28,6f2a,6f2d,6f30,6f33,6f38,6f38,6f3c,6f3c,6f3e,6f3f,6f41,6f41,6f4f,6f4f,6f51,6f52,6f54,6f54,6f57,6f5f,6f61,6f64,6f66,6f66,6f6d,6f71,6f74,6f74,6f78,6f78,6f7a,6f7a,6f7c,6f7e,6f81,6f82,6f84,6f84,6f86,6f89,6f8b,6f8e,6f90,6f90,6f92,6f92,6f94,6f98,6f9f,6f9f,6fa1,6fa1,6fa3,6fa5,6fa7,6fa8,6faa,6faa,6fae,6faf,6fb1,6fb1,6fb3,6fb3,6fb6,6fb6,6fb9,6fb9,6fbe,6fbe,6fc0,6fc3,6fc6,6fc7,6fc9,6fca,6fd4,6fd5,6fd8,6fd8,6fda,6fdb,6fde,6fe1,6fe4,6fe6,6fe9,6fe9,6feb,6fec,6fee,6fef,6ff1,6ff1,6ff3,6ff4,6ff6,6ff6,6ffa,6ffa,6ffe,6ffe,7001,7001,7005,7007,7009,7009,700b,700b,700f,700f,7011,7013,7015,7015,7018,7018,701a,701f,7023,7023,7026,7028,702f,7030,7032,7032,7037,7038,703c,703c,703e,703e,7044,7044,7046,7046,704c,704c,704e,704e,7050,7051,7053,7053,7058,7058,705d,705e,7063,7063,7066,7066,7069,7069,706b,706c,706f,7070,7078,7078,707c,707e,7081,7081,7085,7086,708a,708a,708e,708e,7092,7092,7095,7095,7098,709b,70a1,70a1,70a4,70a4,70a6,70a6,70ab,70b0,70b3,70b3,70b7,70ba,70c8,70c8,70ca,70cb,70cf,70cf,70d3,70d4,70d8,70d9,70dc,70dd,70df,70df,70ef,70ef,70f1,70f1,70f9,70fa,70fd,70fd,7103,7104,7106,7106,7109,7109,710c,710c,7119,711a,711c,711c,711e,711e,7120,7121,7126,7126,712d,7131,7136,7136,7143,7143,7146,7147,7149,714a,714c,714c,714e,714e,7150,7150,7152,7153,7155,7157,7159,7159,715c,715e,7162,7162,7164,7169,716c,716c,716e,716e,717d,717d,7180,7180,7184,7185,7187,718a,718f,718f,7192,7192,7194,7194,7199,7199,719b,719b,719f,71a2,71a4,71a4,71a8,71a9,71ac,71ac,71af,71af,71b1,71b2,71b9,71ba,71be,71be,71c1,71c1,71c3,71c3,71c8,71c9,71cb,71cb,71ce,71d0,71d2,71d2,71d4,71d6,71d9,71d9,71db,71db,71df,71e0,71e5,71e7,71ec,71ee,71f9,71f9,71fb,7201,7206,7207,720b,720d,7210,7210,7214,7214,7217,7217,721a,721b,721f,721f,7225,7225,7228,7228,722a,722a,722c,722d,7230,7230,7232,7232,7235,7236,7238,723b,723d,7240,7242,7242,7246,7248,724b,724c,7252,7254,7256,7256,7258,725b,725d,725d,725f,725f,7261,7263,7267,7267,7269,7269,726f,726f,7272,7272,7274,7274,7278,7279,727d,727d,7280,7282,7287,7287,728d,728d,7292,7292,7296,7296,72a2,72a2,72a7,72a7,72ac,72ad,72af,72af,72b3,72b5,72c0,72c0,72c2,72c2,72c4,72c4,72c9,72c9,72ce,72ce,72d0,72d0,72d2,72d2,72d7,72d7,72d9,72d9,72e1,72e2,72e5,72e5,72e8,72e9,72ec,72ec,72f4,72f4,72f7,72fd,7309,730a,7313,7313,7316,7319,731b,731d,7322,7322,7325,7325,7327,732b,7331,7331,7334,7334,7336,7337,733e,733f,7343,7345,734e,734e,7350,7350,7352,7352,7357,7358,735c,735c,7360,7360,7368,736c,736f,7370,7372,7372,7375,7375,7377,7378,737a,737c,7381,7381,7384,7384,7386,7389,738b,738b,738e,738e,7392,7392,7394,7398,739e,73a0,73a6,73a7,73a9,73ab,73ad,73ad,73b2,73b4,73b7,73b7,73b9,73b9,73bb,73bd,73bf,73c0,73c2,73c2,73c6,73c6,73c8,73ca,73cc,73cd,73cf,73cf,73d2,73d2,73d6,73d9,73dd,73de,73e0,73e0,73e2,73e6,73e9,73eb,73ed,73ee,73f5,73f5,73f7,73f9,73fd,73fe,7401,7401,7403,7407,7409,7409,7413,7413,7417,7418,741b,741b,741d,741d,741f,7422,7424,7426,7428,7428,742a,742c,742e,7436,7438,7438,743a,743a,743f,7446,7448,7449,744b,744c,744e,744e,7455,7455,7457,7457,7459,7460,7462,7465,7468,746a,746d,7473,747d,747e,7480,7480,7482,7487,7489,748c,7490,7490,7498,7498,749c,749f,74a1,74a1,74a3,74a3,74a5,74a5,74a7,74a8,74aa,74ab,74b0,74b2,74b5,74b6,74b8,74b9,74bc,74bd,74bf,74c0,74c6,74c6,74ca,74ca,74cd,74cd,74cf,74d0,74d3,74d4,74d8,74d8,74da,74dc,74e0,74e0,74e2,74e3,74e6,74e6,74e9,74e9,74ee,74ee,74f2,74f3,74f7,74f7,7501,7501,7503,7504,750c,750e,7511,7511,7513,7513,7515,7515,7518,7518,751a,751c,751e,751f,7522,7526,7528,7528,752b,752c,7530,7533,7537,7538,753a,753b,753f,753f,7543,7543,7547,7547,754a,754c,754e,754f,7551,7551,7553,7554,7559,755d,7560,7560,7562,7562,7564,7567,756a,756b,756f,7570,7575,7576,7578,7578,757a,757a,757f,757f,7586,7588,758a,758b,758e,758f,7591,7592,7594,7594,7599,759a,759d,759d,75a3,75a3,75a5,75a5,75a9,75a9,75ab,75ab,75b1,75b5,75b8,75b9,75bc,75be,75c0,75c0,75c2,75c3,75c5,75c5,75c7,75c7,75ca,75ca,75cd,75ce,75d2,75d5,75d8,75d9,75db,75db,75de,75de,75e2,75e4,75e7,75e7,75f0,75f0,75f2,75f4,75f9,75fa,75fc,75fc,75ff,7601,7607,7609,760b,760b,760d,760d,7610,7610,7615,7615,7619,7619,761f,7622,7624,7624,7626,7627,762f,7631,7633,7634,763b,763b,7642,7643,7646,7649,764c,764c,764e,764e,7652,7652,7655,7656,7658,7658,765c,765c,7661,7662,7664,7665,7667,7669,766c,7672,7676,7676,7678,7678,767a,767e,7680,7681,7683,7684,7686,7687,768b,768b,768e,768e,7690,7690,7692,7693,7696,7697,769a,769c,769e,769e,76a4,76a4,76ac,76ac,76ae,76ae,76b4,76b4,76b6,76b6,76b8,76b8,76ba,76ba,76bf,76bf,76c2,76c3,76c6,76c6,76c8,76c8,76ca,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76d9,76db,76dc,76de,76df,76e1,76e1,76e3,76e5,76e7,76e7,76ea,76ea,76ec,76ec,76ee,76ee,76f1,76f2,76f4,76f4,76f8,76f9,76fb,76fc,76fe,7702,7704,7704,7707,770c,7710,7710,771a,771b,771e,7720,7725,7726,7728,7729,7734,7734,7737,773c,773e,773e,7740,7740,7743,7743,7746,7747,774d,774d,7752,7752,775a,775b,775f,7763,7765,7766,7768,7768,776b,776c,7777,7777,7779,7779,777d,777f,778b,778b,778d,778e,7791,7791,7796,7796,7799,7799,779e,779e,77a0,77a0,77a2,77a2,77a5,77a5,77aa,77aa,77ac,77ae,77b0,77b0,77b3,77b3,77b9,77b9,77bb,77bd,77bf,77bf,77c7,77c7,77c9,77c9,77cd,77cd,77d7,77d7,77d9,77dc,77de,77de,77e1,77e3,77e5,77e5,77e7,77e7,77e9,77e9,77ed,77f0,77f3,77f3,77f8,77f8,77fa,77fd,7802,7802,7807,7807,780c,780c,780f,780f,7811,7812,7814,7814,7822,7822,7825,7827,782c,782d,7830,7830,7832,7832,7834,7834,7843,7843,7845,7845,784f,784f,785c,785d,7860,7860,7867,7868,786a,786c,786e,786f,787c,787c,7881,7881,7884,7884,7887,7887,788c,788f,7891,7891,7893,7893,7897,7897,789f,789f,78a3,78a4,78a7,78a9,78ac,78ad,78ba,78bc,78be,78be,78c1,78c1,78c5,78c5,78c8,78c8,78ca,78cb,78ce,78d1,78d4,78d5,78da,78da,78e0,78e0,78e7,78e8,78ea,78ea,78ec,78ec,78ef,78ef,78f4,78f5,78f7,78f7,78fa,78fd,7901,7901,790c,790c,790e,790f,7911,7912,7916,7916,7919,7919,7927,7927,792a,792d,7931,7931,793a,793c,793e,793e,7940,7941,7944,794a,7950,7950,7953,7958,795a,7960,7962,7962,7965,7965,7967,7968,796d,796d,7979,797a,797c,797c,797f,7981,798a,798b,798d,798f,7991,7991,7994,7994,799b,799b,799d,799d,79a6,79a8,79aa,79ab,79ae,79ae,79b0,79b1,79b3,79b4,79b8,79c1,79c4,79c4,79c6,79c6,79c9,79cb,79d1,79d2,79d5,79d5,79d8,79d8,79de,79df,79e2,79e4,79e6,79e7,79e9,79ec,79f5,79f5,79f8,79f8,79fb,79fb,7a00,7a02,7a05,7a05,7a08,7a08,7a0a,7a0d,7a14,7a14,7a17,7a1a,7a1c,7a1c,7a1e,7a20,7a22,7a22,7a27,7a27,7a2e,7a2e,7a30,7a31,7a33,7a33,7a36,7a37,7a39,7a39,7a3b,7a3d,7a3f,7a40,7a42,7a42,7a45,7a46,7a49,7a49,7a4c,7a4e,7a57,7a57,7a60,7a62,7a66,7a66,7a69,7a69,7a6b,7a6b,7a70,7a70,7a74,7a76,7a79,7a7a,7a7d,7a86,7a88,7a88,7a8a,7a8a,7a92,7a93,7a95,7a99,7a9b,7a9b,7a9f,7aa0,7aa3,7aa3,7aa9,7aaa,7aac,7aac,7aae,7aaf,7ab3,7ab3,7ab6,7ab6,7ab9,7abb,7abe,7abf,7ac4,7ac5,7ac7,7ac8,7aca,7acb,7ad7,7ad7,7ad9,7ad9,7adc,7add,7adf,7ae0,7ae2,7ae3,7ae5,7ae6,7aea,7aea,7aed,7aed,7aef,7aef,7af4,7af4,7af6,7af6,7af8,7afa,7afd,7afd,7aff,7aff,7b06,7b06,7b08,7b08,7b0a,7b0a,7b0c,7b0c,7b0e,7b0f,7b11,7b12,7b18,7b19,7b1b,7b1b,7b1e,7b1e,7b20,7b20,7b25,7b28,7b2c,7b2d,7b2f,7b2f,7b33,7b33,7b35,7b35,7b39,7b39,7b45,7b46,7b48,7b49,7b4b,7b4d,7b4f,7b54,7b56,7b56,7b5f,7b60,7b65,7b67,7b69,7b69,7b6c,7b6c,7b6e,7b6e,7b71,7b71,7b73,7b73,7b75,7b75,7b7d,7b7d,7b87,7b87,7b8b,7b8b,7b8d,7b8f,7b92,7b92,7b94,7b95,7b97,7b97,7b99,7b9a,7b9c,7b9d,7ba0,7ba1,7bad,7bad,7bb1,7bb1,7bb4,7bb4,7bb8,7bb8,7bbe,7bbe,7bc0,7bc1,7bc4,7bc4,7bc6,7bc7,7bc9,7bcc,7bd2,7bd2,7bd4,7bd4,7bd9,7bd9,7bdb,7bdb,7bdd,7bdd,7be0,7be1,7be4,7be4,7be6,7be6,7be9,7bea,7bf3,7bf3,7bf7,7bf7,7bfe,7bfe,7c00,7c00,7c07,7c07,7c09,7c09,7c0b,7c0b,7c0f,7c0f,7c12,7c12,7c1e,7c21,7c27,7c27,7c2a,7c2b,7c37,7c38,7c3d,7c3f,7c43,7c43,7c4c,7c4d,7c50,7c50,7c52,7c52,7c54,7c54,7c5b,7c5c,7c5f,7c60,7c64,7c65,7c67,7c67,7c69,7c69,7c6c,7c6c,7c72,7c73,7c7e,7c7e,7c81,7c81,7c83,7c83,7c89,7c89,7c8d,7c8d,7c92,7c92,7c95,7c95,7c97,7c98,7c9f,7c9f,7ca2,7ca2,7ca4,7ca8,7cae,7cae,7cb1,7cb3,7cb9,7cb9,7cbc,7cbe,7cc5,7cc6,7cca,7cca,7cd5,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce5,7ce5,7ce7,7ce7,7cef,7cef,7cf1,7cf2,7cf4,7cf6,7cf8,7cfb,7cfe,7cfe,7d00,7d00,7d02,7d08,7d0a,7d0b,7d0d,7d0d,7d10,7d10,7d13,7d15,7d17,7d1c,7d20,7d22,7d2b,7d2c,7d2e,7d33,7d35,7d35,7d38,7d3a,7d41,7d46,7d49,7d49,7d4c,7d4d,7d50,7d51,7d55,7d56,7d59,7d59,7d5b,7d5c,7d5e,7d5e,7d61,7d63,7d66,7d66,7d68,7d6a,7d6e,7d6e,7d70,7d73,7d75,7d76,7d79,7d7a,7d7f,7d7f,7d83,7d83,7d86,7d86,7d8e,7d8f,7d93,7d93,7d98,7d98,7d9a,7d9a,7d9c,7d9c,7da0,7da0,7da2,7da3,7da5,7da7,7da9,7da9,7dab,7dae,7db0,7db2,7db4,7db5,7db8,7db8,7dba,7dbb,7dbd,7dbf,7dc4,7dc4,7dc7,7dc7,7dca,7dcd,7dcf,7dcf,7dd6,7dd8,7dda,7dda,7ddc,7dde,7de0,7de1,7de3,7de3,7de6,7de6,7de8,7de9,7dec,7dec,7def,7def,7df4,7df4,7df6,7df6,7df9,7df9,7dfb,7dfb,7e03,7e03,7e08,7e0b,7e10,7e11,7e15,7e15,7e17,7e18,7e1b,7e1b,7e1d,7e23,7e2b,7e2b,7e2e,7e2f,7e31,7e33,7e35,7e35,7e37,7e37,7e39,7e39,7e3b,7e3b,7e3d,7e3e,7e41,7e41,7e43,7e48,7e50,7e50,7e52,7e52,7e54,7e57,7e59,7e5a,7e5e,7e5e,7e61,7e62,7e69,7e6b,7e6d,7e6d,7e6f,7e70,7e76,7e76,7e79,7e79,7e7c,7e7e,7e81,7e82,7e87,7e88,7e8a,7e8a,7e8c,7e8d,7e8f,7e8f,7e93,7e94,7e96,7e96,7e98,7e98,7e9b,7e9c,7e9f,7e9f,7f36,7f38,7f3a,7f3a,7f3e,7f3f,7f43,7f45,7f47,7f47,7f4b,7f4e,7f50,7f55,7f58,7f58,7f5d,7f5d,7f5f,7f61,7f63,7f63,7f66,7f66,7f68,7f68,7f6a,7f6b,7f6e,7f6e,7f70,7f70,7f72,7f72,7f75,7f75,7f77,7f79,7f7c,7f7e,7f82,7f82,7f85,7f88,7f8a,7f8a,7f8c,7f8c,7f8e,7f8e,7f94,7f94,7f96,7f98,7f9a,7f9a,7f9d,7f9e,7fa1,7fa1,7fa4,7fa4,7fa8,7fa9,7fab,7fab,7faf,7faf,7fb2,7fb2,7fb6,7fb6,7fb8,7fb9,7fbd,7fbd,7fbf,7fbf,7fc1,7fc1,7fc5,7fc5,7fca,7fca,7fcc,7fcc,7fce,7fce,7fd2,7fd2,7fd4,7fd6,7fdb,7fdb,7fdf,7fe1,7fe3,7fe4,7fe6,7fe6,7fe9,7fe9,7feb,7fec,7fee,7fee,7ff0,7ff0,7ff3,7ff3,7ff9,7ffc,7ffe,7ffe,8000,8009,800c,800c,8010,8012,8014,8019,801e,801e,8021,8021,8026,8026,8028,8028,802c,802d,8030,8030,8033,8033,8036,8036,803d,803d,803f,803f,8043,8043,8046,8046,8048,8048,804a,804a,8052,8052,8055,8056,8058,8058,805a,805a,805e,805e,8061,8061,806f,8073,8075,8077,807d,8080,8084,8087,8089,8089,808b,808c,8093,8093,8096,8096,8098,8098,809a,809b,809d,809d,80a1,80a2,80a5,80a6,80a9,80ab,80ad,80ad,80af,80af,80b1,80b2,80b4,80b5,80ba,80ba,80c3,80c4,80c6,80c6,80ca,80ca,80cc,80cc,80ce,80ce,80d5,80d6,80d9,80dc,80de,80de,80e0,80e1,80e4,80e5,80ef,80ef,80f1,80f1,80f4,80f4,80f7,80f8,80fd,80fe,8102,8102,8105,810a,8116,8118,811a,811b,8123,8124,8127,8127,8129,8129,812b,812b,812f,8130,8139,813a,813e,813e,8141,8141,8146,8146,814a,814b,814e,814e,8150,8155,8160,8160,8164,8166,816b,816b,816d,816d,8170,8171,8174,8174,8176,817a,817f,8180,8182,8184,8186,8186,8188,8188,818a,818b,818f,818f,819a,819a,819c,819e,81a0,81a0,81a3,81a3,81a8,81a9,81b0,81b0,81b3,81b5,81b8,81ba,81bd,81c0,81c2,81c2,81c6,81c6,81ca,81ca,81cd,81cd,81cf,81cf,81d1,81d1,81d8,81da,81dd,81dd,81df,81e0,81e3,81e3,81e5,81e5,81e7,81e8,81ea,81ea,81ec,81ed,81f3,81f4,81f6,81f6,81fa,81fc,81fe,81fe,8201,8203,8205,8205,8207,8208,820a,820a,820c,820d,8210,8210,8212,8212,8216,8216,8218,8218,821b,821c,821e,821f,8221,8221,822a,822c,8233,8233,8235,8239,823d,823d,8240,8240,8245,8245,8247,8247,8251,8251,8258,825a,825f,825f,8264,8264,8266,8266,8268,8268,826a,826b,826e,826f,8271,8272,8274,8274,8276,8279,827d,827e,8283,8283,828a,828b,828d,828e,8290,8290,8292,8292,8294,8294,8298,829a,829d,829d,829f,829f,82a1,82a3,82a5,82b1,82b3,82b3,82b7,82b9,82bb,82bf,82c5,82c5,82d1,82d5,82d7,82d7,82db,82dc,82de,82e1,82e3,82e3,82e5,82e7,82e9,82e9,82eb,82eb,82f1,82f1,82f3,82f4,82f9,82fb,82fd,8305,8308,8309,8317,8317,831b,831d,8323,8325,8328,8328,832a,832b,832f,832f,8331,8336,8338,8339,833c,833c,8340,8340,8343,8343,8347,8347,8349,834a,834f,8352,8363,8363,8373,8373,8377,8377,837a,837b,8382,8382,8385,8385,8389,838a,838e,838e,8392,8393,8396,8396,8398,8398,839a,839b,839d,83a0,83a2,83a2,83a8,83ab,83bd,83c2,83c5,83c5,83c9,83ca,83cc,83cc,83d1,83d1,83d3,83d4,83d6,83d6,83d8,83d8,83dc,83dc,83df,83e1,83e9,83e9,83eb,83eb,83ef,83f2,83f4,83f4,83f6,83f6,83f9,83f9,83fb,83fb,83fd,83fd,8403,8404,8406,8407,840a,840e,8429,8429,842c,842c,8431,8431,8435,8435,8438,8439,843c,843d,8446,8446,8449,844a,8451,8451,8457,8457,845a,845b,8461,8461,8463,8463,8466,8466,8469,846d,846f,8471,8473,8473,8475,8475,8477,8477,847a,847a,8482,8482,8490,8491,8494,8494,8499,8499,849c,849c,849f,849f,84a1,84a1,84a8,84a8,84ad,84ad,84af,84af,84b2,84b2,84b4,84b4,84b8,84bd,84bf,84c2,84c4,84c4,84c6,84c6,84c9,84cb,84cd,84cd,84cf,84d1,84d3,84d3,84d6,84d6,84da,84da,84ec,84ef,84f1,84f1,84f4,84f4,84fa,84fa,84fc,84fd,8500,8500,8506,8506,850e,850e,8511,8511,8513,8515,8517,8518,851a,851a,851e,851f,8521,8521,8523,8523,8525,8526,852a,852a,852c,852d,852f,8530,853d,853d,853f,853f,8541,8541,8543,8543,8546,8546,8549,854b,854e,854e,8553,8553,8555,8559,855e,855e,8561,8561,8563,8564,8568,856b,856d,856d,8578,8578,857a,857a,857e,857e,8580,8580,8584,8584,8586,8587,8589,858a,858c,858c,858f,858f,8591,8591,8594,8594,8597,8597,8599,8599,859b,859b,859d,859d,85a4,85a6,85a8,85ab,85af,85b0,85ba,85ba,85c1,85c1,85c7,85c7,85c9,85c9,85cd,85d0,85d5,85d5,85dc,85dd,85e4,85e5,85e9,85ea,85f7,85f7,85f9,85fb,85fd,85fd,85ff,8600,8602,8602,8604,8604,8606,8607,860a,860b,8616,8618,861a,861a,861f,861f,8622,8622,8627,8627,8629,862a,862d,862d,862f,862f,863c,863c,863f,863f,8641,8641,864d,864e,8650,8650,8653,8655,865b,865c,865e,865f,8667,8667,866b,866c,866f,866f,8671,8671,8678,867b,868a,868d,8693,8693,8695,8695,86a3,86a4,86a8,86aa,86af,86b1,86b4,86b4,86c0,86c0,86c5,86c7,86c9,86c9,86cb,86cb,86d4,86d4,86d9,86d9,86db,86db,86de,86df,86e3,86e4,86e9,86e9,86ec,86ed,86f8,86f9,86fb,86fb,86fe,86fe,8700,8700,8702,8703,8706,8706,8708,870b,8711,8711,8718,8718,871a,871a,871c,871d,8721,8721,8725,8725,8728,8729,8734,8735,8737,8737,873a,873b,873f,8740,874c,874c,874e,874e,8755,8755,8757,8757,8759,8759,875f,8760,8764,8766,8768,8768,876e,876e,8774,8774,8776,8776,8778,8778,8782,8783,878c,878d,8798,8798,879e,879f,87a2,87a3,87ad,87ad,87b3,87b4,87ba,87bb,87bd,87bd,87c0,87c0,87c4,87c4,87c7,87c7,87ca,87cb,87d2,87d2,87da,87db,87e0,87e0,87e3,87e3,87ec,87ec,87ef,87ef,87f2,87f2,87f7,87f7,87f9,87f9,87fb,87fb,87fe,87fe,8805,8805,880d,880d,8811,8811,8815,8815,881f,881f,8821,8823,8831,8832,8836,8836,8839,8839,883b,883b,8840,8840,8844,8844,8846,8846,884a,884a,884c,884e,8852,8853,8857,8857,8859,8859,885b,885b,885d,885e,8861,8864,8868,8868,886b,886b,886e,886e,8870,8870,8872,8872,8877,8877,887d,887f,8881,8882,8888,8888,888b,888b,888d,888d,8892,8892,8896,8897,889b,889b,889d,889e,88a2,88a2,88aa,88ab,88b4,88b4,88c0,88c2,88c5,88c5,88ca,88ca,88cd,88cd,88cf,88cf,88d2,88d2,88d4,88d5,88d8,88d9,88dc,88dd,88df,88df,88e1,88e1,88e8,88e8,88ef,88ef,88f1,88f1,88f3,88f5,88f8,88f9,88fd,88fe,8904,8904,8907,8907,890a,890a,890c,890c,8910,8913,8915,8915,8918,891a,8925,8925,8927,8927,892a,892b,892f,8930,8936,8936,8938,8938,893a,893b,8941,8941,8944,8944,894d,894d,8952,8952,8956,8956,8958,8958,895c,895c,895e,8960,8964,8964,896a,896a,896d,896d,896f,896f,8972,8972,8974,8974,897e,8981,8983,8983,8986,8989,898b,898b,898f,898f,8993,8993,8996,8998,899a,899a,89a0,89a1,89a8,89aa,89ac,89ac,89af,89af,89b2,89b3,89b6,89b7,89ba,89ba,89bd,89bd,89bf,89c1,89d2,89d2,89d4,89d4,89d6,89d7,89da,89da,89dc,89dd,89e3,89e3,89e5,89e7,89f0,89f1,89f3,89f4,89f6,89f6,89f8,89f8,8a00,8a00,8a02,8a03,8a07,8a0a,8a0c,8a0c,8a0e,8a0e,8a10,8a18,8a1b,8a1b,8a1d,8a1d,8a1f,8a1f,8a22,8a23,8a25,8a25,8a2a,8a2a,8a2d,8a2d,8a31,8a31,8a33,8a34,8a36,8a36,8a3a,8a3c,8a3e,8a3e,8a41,8a41,8a46,8a46,8a4b,8a4b,8a50,8a51,8a54,8a58,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a66,8a69,8a69,8a6b,8a6e,8a70,8a73,8a75,8a75,8a79,8a79,8a7c,8a7c,8a7f,8a7f,8a82,8a82,8a84,8a87,8a8c,8a8d,8a91,8a91,8a93,8a93,8a95,8a95,8a98,8a98,8a9a,8a9a,8a9e,8a9e,8aa0,8aa8,8aaa,8aaa,8ab0,8ab0,8ab2,8ab2,8ab9,8ab9,8abc,8abc,8abe,8abf,8ac2,8ac2,8ac4,8ac4,8ac7,8ac7,8ac9,8ac9,8acb,8acb,8acd,8acd,8acf,8acf,8ad2,8ad2,8ad6,8ad7,8adb,8ae1,8ae4,8ae4,8ae6,8ae7,8aea,8aeb,8aed,8aee,8af0,8af4,8af6,8af8,8afa,8afa,8afc,8afc,8afe,8afe,8b00,8b02,8b04,8b04,8b07,8b07,8b0c,8b0c,8b0e,8b0e,8b10,8b11,8b14,8b14,8b16,8b17,8b19,8b1d,8b20,8b20,8b23,8b23,8b26,8b26,8b28,8b28,8b2b,8b2c,8b33,8b33,8b37,8b37,8b39,8b39,8b3c,8b3c,8b3e,8b3e,8b41,8b41,8b43,8b43,8b46,8b46,8b49,8b49,8b4c,8b4c,8b4e,8b4f,8b53,8b54,8b56,8b56,8b58,8b5a,8b5c,8b5c,8b5e,8b5f,8b66,8b66,8b6b,8b6c,8b6f,8b71,8b74,8b74,8b77,8b77,8b7d,8b7d,8b7f,8b80,8b83,8b83,8b89,8b8a,8b8c,8b8c,8b8e,8b8e,8b90,8b90,8b92,8b93,8b96,8b96,8b9a,8b9a,8b9c,8b9c,8b9e,8b9e,8ba0,8ba0,8c37,8c37,8c3f,8c3f,8c41,8c41,8c46,8c4a,8c4c,8c4c,8c4e,8c4e,8c50,8c50,8c55,8c56,8c5a,8c5a,8c61,8c62,8c68,8c68,8c6a,8c6c,8c73,8c73,8c78,8c7a,8c82,8c83,8c8a,8c8a,8c8c,8c8d,8c93,8c94,8c98,8c98,8c9d,8ca2,8ca7,8cac,8caf,8cb0,8cb2,8cb4,8cb6,8cbd,8cbf,8cc4,8cc6,8cc8,8cca,8cca,8cd1,8cd1,8cd3,8cd3,8cd9,8cdc,8cde,8cde,8ce0,8ce6,8cea,8cea,8cec,8ced,8cf0,8cf1,8cf3,8cf4,8cfb,8cfd,8d04,8d05,8d07,8d08,8d0a,8d0b,8d0d,8d0d,8d0f,8d10,8d13,8d14,8d16,8d16,8d1b,8d1b,8d1d,8d1d,8d64,8d64,8d66,8d67,8d6b,8d6b,8d6d,8d6e,8d70,8d70,8d73,8d74,8d76,8d77,8d81,8d81,8d85,8d85,8d8a,8d8a,8d8e,8d8e,8d90,8d90,8d99,8d99,8da0,8da0,8da3,8da3,8da8,8da8,8dab,8dab,8db2,8db3,8dba,8dba,8dbe,8dbe,8dc2,8dc2,8dc6,8dc6,8dcb,8dcc,8dce,8dcf,8dd5,8dd7,8ddb,8ddb,8ddd,8ddd,8ddf,8ddf,8de1,8de1,8de3,8de3,8de8,8de8,8dea,8ded,8def,8def,8df1,8df1,8df3,8df3,8dfc,8dfc,8e06,8e06,8e08,8e0a,8e0f,8e10,8e14,8e14,8e1d,8e1f,8e2a,8e2a,8e30,8e30,8e34,8e36,8e3a,8e3a,8e3d,8e3d,8e40,8e40,8e42,8e42,8e44,8e44,8e47,8e4a,8e4c,8e4c,8e4f,8e4f,8e55,8e55,8e59,8e59,8e5c,8e5c,8e5f,8e60,8e63,8e64,8e72,8e72,8e74,8e74,8e76,8e76,8e7b,8e7b,8e81,8e81,8e85,8e85,8e87,8e87,8e89,8e8b,8e8d,8e8d,8e90,8e91,8e93,8e94,8e99,8e99,8e9e,8e9e,8ea1,8ea1,8ea9,8eac,8eb1,8eb1,8eb3,8eb3,8ebe,8ebe,8ec0,8ec0,8ec6,8ec6,8eca,8ecd,8ed2,8ed2,8ede,8edf,8ee2,8ee2,8ee8,8ee8,8eeb,8eeb,8ef8,8efc,8efe,8efe,8f03,8f03,8f05,8f05,8f07,8f09,8f12,8f15,8f1b,8f1f,8f26,8f2a,8f2d,8f2d,8f2f,8f30,8f33,8f33,8f38,8f39,8f3b,8f3b,8f3e,8f40,8f42,8f42,8f44,8f46,8f49,8f49,8f4d,8f4e,8f52,8f52,8f54,8f54,8f57,8f58,8f5d,8f5f,8f61,8f64,8f66,8f66,8f9b,8f9c,8f9f,8f9f,8fa2,8fa3,8fa6,8fa6,8fa8,8fa8,8fad,8fb2,8fb5,8fb6,8fbb,8fbb,8fbf,8fc0,8fc2,8fc5,8fcd,8fce,8fd0,8fd1,8fd3,8fd5,8fe2,8fe2,8fe4,8fe6,8fe8,8fe8,8fea,8fed,8ff0,8ff0,8ff2,8ff2,8ff4,8ff4,8ff7,8ffa,8ffc,8ffd,8fff,9003,9005,9006,9008,9008,900b,9011,9014,9017,9019,901a,901d,9023,902e,902e,9031,9032,9034,9036,9038,9038,903c,903c,903e,903e,9041,9042,9047,9047,9049,904b,904d,9055,9058,9059,905b,905e,9060,9061,9063,9063,9068,9069,906c,906f,9072,9072,9075,9078,907a,907a,907c,9085,9087,9088,908a,908a,908c,908d,908f,9091,9095,9095,9097,9099,90a0,90a0,90a2,90a3,90a6,90a6,90a8,90a8,90aa,90aa,90af,90b1,90b3,90b3,90b5,90b5,90b8,90b8,90bd,90be,90c1,90c1,90c3,90c5,90ca,90ca,90ce,90ce,90dc,90de,90e1,90e2,90e8,90e8,90ea,90eb,90ed,90ed,90ef,90ef,90f3,90f5,90fd,90fd,9102,9102,9112,9112,9115,9117,9119,9119,911e,911e,9122,9123,9127,9127,912d,912d,9130,9132,9134,9134,913d,913d,9148,914e,9152,9152,9156,9157,9162,9165,9169,916a,916c,916c,9172,9172,9174,9179,9183,9183,9187,9187,9189,9189,918b,918b,918d,918d,9190,9190,9192,9192,919c,919c,919e,919e,91a2,91a2,91aa,91ac,91ae,91af,91b1,91b2,91b4,91b5,91bc,91bc,91c0,91c1,91c3,91c3,91c5,91c7,91c9,91c9,91cb,91d1,91d7,91d8,91dc,91dd,91e3,91e7,91e9,91ea,91ed,91ed,91f5,91f5,91ff,91ff,9207,9207,920d,920d,9210,9212,9214,9215,9217,9217,921c,921c,921e,921f,9226,9226,9231,9231,9234,9235,9237,9238,923a,923a,923f,9241,9244,9245,9249,9249,924b,924b,924d,9252,9257,9257,925b,925b,925e,925e,9262,9262,9264,9266,9277,9278,927c,927c,927e,927e,9280,9280,9283,9283,9285,9285,928b,928b,9291,9291,9293,9293,9295,9296,9298,929c,92b3,92b4,92b6,92b7,92b9,92b9,92c6,92c6,92cc,92cc,92cf,92cf,92d1,92d2,92d5,92d5,92d7,92d7,92df,92df,92e4,92e5,92ea,92ea,92f2,92f2,92f8,92fa,92fc,92fe,9300,9300,9304,9304,9306,9306,930f,9310,9315,9315,9318,931a,931e,9324,9326,9328,932a,932c,932e,932f,9348,934b,934d,934d,9351,9351,9354,9354,9357,9357,935b,935d,9364,9365,936b,936c,936e,936e,9370,9370,9372,9372,9375,9375,937c,937c,937e,937e,938a,938a,938c,938c,9394,9394,9396,9397,939a,939b,939f,93a1,93a3,93a4,93a7,93a7,93ac,93ad,93b0,93b0,93bb,93bb,93c3,93c3,93c7,93c8,93ca,93cc,93d1,93d1,93d6,93d8,93dc,93df,93e1,93e2,93e4,93e4,93e6,93e6,93e8,93e8,93f6,93f6,93f8,93f9,93fb,93fb,9403,9404,940f,9410,9413,9414,9418,9419,9425,9425,942a,942b,9435,9436,9438,9438,943a,943a,9442,9442,9444,9444,944a,944a,944c,944c,9451,9452,9455,9455,945b,945b,945e,945e,9460,9460,9462,9463,946a,946b,9470,9472,9475,9475,9477,9477,947c,947f,9485,9485,9577,9578,957f,9580,9583,9583,9588,958b,958e,958f,9591,9594,9598,9598,959c,959c,959f,95a0,95a2,95a5,95a8,95a9,95ab,95ad,95b1,95b1,95b6,95b6,95b9,95b9,95bb,95be,95c3,95c3,95c7,95c8,95ca,95cd,95d3,95d6,95da,95da,95dc,95dc,95de,95de,95e0,95e2,95e5,95e5,95e8,95e8,961c,961d,9621,9621,9624,9624,9627,962a,962d,962f,9632,9632,963b,963b,963f,9640,9642,9642,9644,9644,964b,964d,9650,9650,9654,9654,9656,9656,9658,9658,965b,965f,9661,9664,966a,966a,966c,966c,9670,9670,9672,9679,967c,967d,9684,9686,968a,968b,968d,968f,9691,9691,9694,9695,9697,9698,969b,969c,96a3,96a4,96a7,96aa,96b0,96b1,96b3,96b4,96b6,96b9,96bb,96bc,96c0,96c1,96c4,96c7,96c9,96c9,96cb,96ce,96d5,96d6,96d9,96de,96e2,96e3,96e8,96ea,96ef,96f0,96f2,96f2,96f6,96f7,96f9,96fb,9700,9700,9704,9709,970c,970f,9711,9711,9713,9714,9716,9716,9719,9719,971c,971c,971e,971e,9723,9723,9726,9727,972a,972a,9730,9730,9732,9732,9738,9739,973d,973d,9742,9742,9744,9744,9746,9746,9748,9749,974c,974c,9751,9752,9755,9756,9758,975e,9760,9762,9766,9766,9768,9769,976d,976d,9773,9775,9777,9777,977a,977a,977c,977c,9780,9781,9784,9785,978b,978b,978d,978d,978f,978f,9798,9798,97a0,97a0,97a3,97a3,97a6,97a6,97a8,97a8,97ab,97ad,97b1,97b1,97b4,97b4,97b8,97b9,97c1,97c1,97c3,97c3,97c6,97c6,97cb,97cd,97d0,97d0,97d3,97d3,97d9,97d9,97dc,97de,97e0,97e1,97e6,97e6,97ed,97ee,97f1,97f3,97f5,97f6,97fa,97fb,97fe,9803,9805,9806,9808,9808,980a,980a,980c,9813,9816,9818,981e,981e,9821,9821,9823,9824,9826,9826,982b,982b,982d,982e,9830,9830,9832,9832,9837,9839,983b,983c,983f,983f,9842,9842,9846,9848,984b,984e,9852,9855,9858,985a,985c,985c,985e,985e,9865,9867,986b,986b,986f,9871,9873,9875,98a8,98a8,98ad,98ad,98af,98af,98b1,98b2,98b6,98b6,98ba,98ba,98bc,98bc,98bf,98bf,98c2,98c2,98c4,98c4,98c6,98c7,98c9,98c9,98cb,98cb,98ce,98ce,98db,98dc,98de,98e2,98e6,98e7,98ea,98eb,98ed,98ef,98f1,98f1,98f4,98f4,98fb,98fe,9903,9903,9909,990a,990c,990c,9910,9910,9912,9915,9918,9918,991a,991a,991e,991e,9920,9920,9926,9928,992a,992a,992c,992c,992e,992e,9930,9931,9933,9933,9939,9939,993c,993d,9942,9942,9945,9945,9948,9949,994b,994d,9950,9952,9954,9955,9957,9957,995c,995c,995e,995e,9963,9963,9996,9999,999c,999d,999f,999f,99a1,99a1,99a3,99a3,99a5,99a5,99a7,99a8,99aa,99aa,99ac,99ae,99b0,99b1,99b3,99b4,99b6,99b6,99b9,99b9,99c1,99c1,99c4,99c5,99c8,99c9,99cf,99d2,99d5,99d5,99d8,99d9,99db,99df,99e2,99e2,99e8,99e8,99ea,99ea,99ed,99ee,99f1,99f1,99f8,99f8,99fa,99fb,99fd,99fd,99ff,99ff,9a01,9a05,9a08,9a08,9a0b,9a0b,9a0d,9a0f,9a11,9a11,9a16,9a16,9a18,9a19,9a1b,9a1b,9a2b,9a2b,9a2d,9a2d,9a30,9a30,9a35,9a38,9a3e,9a3e,9a40,9a45,9a4a,9a4a,9a4c,9a4f,9a52,9a52,9a55,9a55,9a57,9a58,9a5a,9a5b,9a5f,9a5f,9a62,9a62,9a64,9a65,9a69,9a6a,9a6c,9a6c,9aa8,9aa8,9aaa,9aaa,9ab0,9ab0,9ab8,9ab9,9abc,9abc,9abf,9ac0,9ac6,9ac6,9acf,9acf,9ad1,9ad1,9ad3,9ad4,9ad6,9ad8,9adf,9adf,9ae1,9ae1,9ae3,9ae3,9ae5,9ae6,9aeb,9aeb,9aed,9aee,9af0,9af0,9af2,9af2,9af4,9af4,9af9,9afb,9afd,9afd,9b02,9b02,9b05,9b06,9b0a,9b0b,9b0d,9b0d,9b10,9b10,9b12,9b12,9b16,9b16,9b18,9b1a,9b1f,9b1f,9b22,9b23,9b25,9b25,9b27,9b2a,9b2e,9b2f,9b31,9b32,9b3a,9b3a,9b3c,9b3c,9b41,9b45,9b48,9b48,9b4b,9b4b,9b4d,9b4f,9b51,9b51,9b54,9b54,9b58,9b58,9b5a,9b5a,9b66,9b66,9b6f,9b6f,9b74,9b74,9b80,9b80,9b83,9b83,9b8e,9b8e,9b90,9b93,9b97,9b97,9b9f,9b9f,9ba7,9ba8,9baa,9bab,9bad,9bae,9bb9,9bb9,9bc1,9bc1,9bc6,9bc6,9bc9,9bca,9bd4,9bd4,9bd6,9bd6,9bdb,9bdb,9be2,9be2,9be4,9be4,9be8,9be8,9bf7,9bf7,9c08,9c08,9c0a,9c0a,9c0c,9c0d,9c10,9c10,9c12,9c13,9c15,9c15,9c24,9c25,9c2d,9c2f,9c31,9c32,9c35,9c35,9c39,9c3b,9c3e,9c3e,9c47,9c47,9c49,9c49,9c4f,9c4f,9c52,9c53,9c57,9c57,9c60,9c60,9c63,9c63,9c67,9c67,9c78,9c78,9c7b,9c7c,9ce5,9ce7,9ce9,9ce9,9cf3,9cf4,9cf6,9cf6,9d03,9d03,9d06,9d09,9d0c,9d0c,9d12,9d12,9d15,9d15,9d18,9d19,9d1b,9d1b,9d1e,9d1f,9d23,9d23,9d25,9d26,9d28,9d28,9d2f,9d30,9d36,9d36,9d3b,9d3b,9d41,9d42,9d44,9d44,9d51,9d51,9d53,9d54,9d5d,9d5e,9d60,9d61,9d66,9d66,9d69,9d69,9d6c,9d6c,9d6f,9d70,9d72,9d72,9d77,9d77,9d7b,9d7b,9d7e,9d7e,9d84,9d84,9d89,9d8a,9d96,9d96,9d9a,9d9a,9da1,9da1,9da4,9da4,9da9,9da9,9dac,9dac,9daf,9daf,9db4,9db5,9db8,9db9,9dbb,9dbb,9dbf,9dbf,9dc1,9dc2,9dc4,9dc4,9dc7,9dc7,9dd3,9dd3,9dd6,9dd7,9dd9,9dd9,9de6,9de6,9de9,9deb,9df0,9df3,9df8,9dfa,9dfd,9dfd,9dff,9dff,9e07,9e07,9e0f,9e0f,9e15,9e15,9e1a,9e1f,9e75,9e75,9e77,9e77,9e79,9e7b,9e7d,9e7d,9e7f,9e80,9e82,9e82,9e84,9e84,9e8b,9e8c,9e8f,9e8f,9e91,9e93,9e97,9e98,9e9d,9e9f,9ea4,9ea6,9ea9,9eaa,9eaf,9eaf,9eb4,9eb5,9ebb,9ebb,9ebd,9ebf,9ec3,9ec5,9ecc,9ed1,9ed4,9ed4,9ed6,9ed6,9ed8,9ed8,9eda,9ede,9ee0,9ee0,9ee5,9ee5,9ee8,9ee8,9eee,9eef,9ef2,9ef2,9ef4,9ef7,9ef9,9f00,9f02,9f02,9f04,9f04,9f07,9f0a,9f0e,9f0e,9f10,9f10,9f13,9f14,9f17,9f17,9f19,9f19,9f20,9f20,9f22,9f22,9f2b,9f2c,9f2f,9f2f,9f34,9f34,9f38,9f39,9f3b,9f3b,9f3e,9f3e,9f4a,9f4b,9f4e,9f4e,9f50,9f50,9f52,9f52,9f54,9f55,9f57,9f57,9f5f,9f61,9f66,9f67,9f69,9f6c,9f72,9f72,9f76,9f77,9f7f,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f95,9f99,9f99,9f9c,9f9d,9f9f,9fa0,9fa2,9fa2,9fa5,9fa5,a960,a97c,ac00,d7a3,d7b0,d7c6,d7cb,d7fb,f900,f95e,f960,f9a9,f9ab,fa0b,fa12,fa12,fa15,fa17,fa19,fa1e,fa22,fa22,fa26,fa26,fa2a,fa2c,fa2e,fa31,fa33,fa3d,fa3f,fa3f,fa41,fa41,fa43,fa55,fa57,fa57,fa59,fa68,fa6a,fa6a,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,200d7,200d7,2012c,2012c,205ca,205ca,20628,20628,20984,20984,21155,21155,2128d,2128d,21594,21594,21727,21727,21f5c,21f5c,224b0,224b0,224ed,224ed,2294f,2294f,22c6f,22c6f,22ee0,22ee0,230fd,230fd,23343,23343,2363b,2363b,23ad9,23ad9,242f1,242f1,2439d,2439d,248e9,248e9,248f0,248f0,24a01,24a01,24a12,24a12,25055,25055,2533e,2533e,253b5,253b5,253fe,253fe,25832,25832,2583a,2583a,25874,25874,25978,25978,25ad7,25ad7,25b97,25b97,25e44,25e44,26057,26057,265a4,265a4,267d8,267d8,26951,26951,27144,27144,275ff,275ff,27625,27625,278b2,278b2,27a51,27a51,27b02,27b02,27cef,27cef,27e7d,27e7d,27f1b,27f1b,27fb7,27fb7,283f6,283f6,284dc,284dc,28d8a,28d8a,28da1,28da1,28e0f,28e0f,291d5,291d5,291e3,291e3,294de,294de,29509,29509,2967f,2967f,29810,29810,2983b,2983b,2a2ad,2a2ad,2a4d0,2a4d0,2a664,2a664,2c115,2c115,2c7d3,2c7d3,2d544,2d544,2e569,2e569,2f815,2f815,2f818,2f818,2f81a,2f81a,2f82c,2f82c,2f833,2f833,2f852,2f852,2f862,2f862,2f877,2f877,2f884,2f884,2f8b2,2f8b2,2f8ed,2f8ed,2f8fc,2f8fc,2f920,2f920,2f96c,2f96c,2f9d0,2f9d0,2f9df,2f9df,30729,30729,30ede,30ede,]), + NotoFont.fromFlatList('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [20,20,2d,2d,a0,a0,966,96f,200b,200d,2010,2010,25cc,25cc,a830,a839,11080,110c1,110cd,110cd,]), + NotoFont.fromFlatList('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v19/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,c80,c8c,c8e,c90,c92,ca8,caa,cb3,cb5,cb9,cbc,cc4,cc6,cc8,cca,ccd,cd5,cd6,cde,cde,ce0,ce3,ce6,cef,cf1,cf2,1cd0,1cd0,1cd2,1cd2,1cda,1cda,1cf2,1cf2,1cf4,1cf5,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,a830,a835,]), + NotoFont.fromFlatList('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [20,20,2d,2d,a0,a0,200c,200d,2010,2010,25cc,25cc,a900,a92f,]), + NotoFont.fromFlatList('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [20,20,2d,2d,a0,a0,200b,200d,2010,2010,25cc,25cc,10a00,10a03,10a05,10a06,10a0c,10a13,10a15,10a17,10a19,10a35,10a38,10a3a,10a3f,10a48,10a50,10a58,]), + NotoFont.fromFlatList('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v16/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [20,22,27,29,2c,2f,3a,3b,3f,3f,a0,a0,ab,ab,ad,ad,bb,bb,1780,17dd,17e0,17e9,17f0,17f9,19e0,19ff,200b,200d,2010,2010,2018,2019,201c,201d,2026,2026,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [20,20,a0,a0,ae6,aef,200c,200d,25cc,25cc,a830,a839,11200,11211,11213,1123e,]), + NotoFont.fromFlatList('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [20,20,a0,a0,964,965,200c,200d,2013,2014,25cc,25cc,a830,a839,112b0,112ea,112f0,112f9,]), + NotoFont.fromFlatList('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v22/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [20,20,a0,a0,e81,e82,e84,e84,e87,e88,e8a,e8a,e8d,e8d,e94,e97,e99,e9f,ea1,ea3,ea5,ea5,ea7,ea7,eaa,eab,ead,eb9,ebb,ebd,ec0,ec4,ec6,ec6,ec8,ecd,ed0,ed9,edc,edf,200b,200d,20ad,20ad,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [20,20,a0,a0,1c00,1c37,1c3b,1c49,1c4d,1c4f,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [20,20,a0,a0,965,965,1900,191e,1920,192b,1930,193b,1940,1940,1944,194f,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [20,20,a0,a0,10600,10736,10740,10755,10760,10767,]), + NotoFont.fromFlatList('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [20,20,a0,a0,10000,1000b,1000d,10026,10028,1003a,1003c,1003d,1003f,1004d,10050,1005d,10080,100fa,10100,10102,10107,10133,10137,1013f,]), + NotoFont.fromFlatList('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v19/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [20,20,2d,2d,a0,a0,2bc,2bc,2cd,2cd,2010,2010,300a,300b,a4d0,a4ff,]), + NotoFont.fromFlatList('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [20,20,a0,a0,10280,1029c,]), + NotoFont.fromFlatList('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [20,20,a0,a0,10920,10939,1093f,1093f,]), + NotoFont.fromFlatList('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [20,20,a0,a0,964,96f,200c,200d,25cc,25cc,a830,a839,11150,11176,]), + NotoFont.fromFlatList('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v19/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,307,307,323,323,951,952,964,965,d00,d0c,d0e,d10,d12,d44,d46,d48,d4a,d4f,d54,d63,d66,d7f,1cda,1cda,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,a830,a832,]), + NotoFont.fromFlatList('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [20,20,a0,a0,640,640,840,85b,85e,85e,200c,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [20,20,a0,a0,640,640,200c,200d,25cc,25cc,fe00,fe00,10ac0,10ae6,10aeb,10af6,]), + NotoFont.fromFlatList('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [20,20,a0,a0,25cc,25cc,11c70,11c8f,11c92,11ca7,11ca9,11cb6,]), + NotoFont.fromFlatList('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [20,22,25,25,27,2f,3a,3f,a0,a0,d7,d7,f7,f7,964,965,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,11d00,11d06,11d08,11d09,11d0b,11d36,11d3a,11d3a,11d3c,11d3d,11d3f,11d47,11d50,11d59,]), + NotoFont.fromFlatList('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [20,7e,a0,a0,a7,a7,ac,ac,b1,b1,d7,d7,f7,f7,302,303,305,305,307,308,330,330,391,3a1,3a3,3a9,3b1,3c9,3d1,3d1,3d5,3d6,3f0,3f1,3f4,3f5,2032,2037,2057,2057,20d0,20dc,20e1,20e1,20e5,20ef,2102,2102,210a,210e,2110,2112,2115,2115,2119,211d,2124,2124,2128,2128,212c,212d,212f,2131,2133,2138,213c,2140,2145,2149,2190,21ae,21b0,21e5,21f1,21f2,21f4,22ff,2308,230b,2310,2310,2319,2319,231c,2321,2336,237a,237c,237c,2395,2395,239b,23b6,23d0,23d0,23dc,23e1,2474,2475,25af,25af,25b3,25b3,25b7,25b7,25bd,25bd,25c1,25c1,25ca,25ca,25cc,25cc,25fb,25fb,266d,266f,27c0,27ff,2900,2aff,2b0e,2b11,2b30,2b4c,2bfe,2bfe,ff5b,ff5b,ff5d,ff5d,1d400,1d454,1d456,1d49c,1d49e,1d49f,1d4a2,1d4a2,1d4a5,1d4a6,1d4a9,1d4ac,1d4ae,1d4b9,1d4bb,1d4bb,1d4bd,1d4c3,1d4c5,1d505,1d507,1d50a,1d50d,1d514,1d516,1d51c,1d51e,1d539,1d53b,1d53e,1d540,1d544,1d546,1d546,1d54a,1d550,1d552,1d6a5,1d6a8,1d7cb,1d7ce,1d7ff,1ee00,1ee03,1ee05,1ee1f,1ee21,1ee22,1ee24,1ee24,1ee27,1ee27,1ee29,1ee32,1ee34,1ee37,1ee39,1ee39,1ee3b,1ee3b,1ee42,1ee42,1ee47,1ee47,1ee49,1ee49,1ee4b,1ee4b,1ee4d,1ee4f,1ee51,1ee52,1ee54,1ee54,1ee57,1ee57,1ee59,1ee59,1ee5b,1ee5b,1ee5d,1ee5d,1ee5f,1ee5f,1ee61,1ee62,1ee64,1ee64,1ee67,1ee6a,1ee6c,1ee72,1ee74,1ee77,1ee79,1ee7c,1ee7e,1ee7e,1ee80,1ee89,1ee8b,1ee9b,1eea1,1eea3,1eea5,1eea9,1eeab,1eebb,1eef0,1eef1,]), + NotoFont.fromFlatList('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [20,20,a0,a0,1d2e0,1d2f3,]), + NotoFont.fromFlatList('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [20,20,a0,a0,16e40,16e9a,]), + NotoFont.fromFlatList('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,aae0,aaf6,abc0,abed,abf0,abf9,]), + NotoFont.fromFlatList('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [20,20,3a,3a,a0,a0,2026,2026,205d,205d,10980,109b7,109bc,109cf,109d2,109ff,]), + NotoFont.fromFlatList('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [20,20,a0,a0,25cc,25cc,16f00,16f4a,16f4f,16f87,16f8f,16f9f,]), + NotoFont.fromFlatList('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,a830,a839,11600,11644,11650,11659,]), + NotoFont.fromFlatList('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [20,22,28,29,2d,2d,3f,3f,a0,a0,1800,180e,1810,1819,1820,1878,1880,18aa,200c,200d,2013,2014,201c,201d,202f,202f,2048,2049,2460,2473,25cc,25cc,3001,3002,300a,300f,fe3d,fe3e,fe41,fe44,11660,1166c,]), + NotoFont.fromFlatList('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [20,20,a0,a0,16a40,16a5e,16a60,16a69,16a6e,16a6f,]), + NotoFont.fromFlatList('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [20,20,a0,a0,a66,a6f,11280,11286,11288,11288,1128a,1128d,1128f,1129d,1129f,112a9,]), + NotoFont.fromFlatList('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [20,20,3f,3f,a0,a0,1000,109f,200b,200d,2018,2019,201c,201d,2026,2026,25cc,25cc,a92e,a92e,a9e0,a9fe,aa60,aa7f,fe00,fe00,]), + NotoFont.fromFlatList('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [20,20,a0,a0,60c,60c,61b,61b,61f,61f,66a,66a,7c0,7fa,7fd,7ff,200c,200f,25cc,25cc,2e1c,2e1d,fd3e,fd3f,]), + NotoFont.fromFlatList('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [20,20,a0,a0,10880,1089e,108a7,108af,]), + NotoFont.fromFlatList('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [20,20,a0,a0,1980,19ab,19b0,19c9,19d0,19da,19de,19df,200c,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [20,20,a0,a0,b7,b7,1dfb,1dfb,200c,200d,25cc,25cc,11400,1145b,1145d,11461,]), + NotoFont.fromFlatList('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [20,20,a0,a0,16fe1,16fe1,1b170,1b2fb,]), + NotoFont.fromFlatList('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [20,20,a0,a0,1680,169c,]), + NotoFont.fromFlatList('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [20,20,a0,a0,1c50,1c7f,20b9,20b9,]), + NotoFont.fromFlatList('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [20,20,a0,a0,200d,200d,10c80,10cb2,10cc0,10cf2,10cfa,10cff,]), + NotoFont.fromFlatList('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [20,20,a0,a0,10300,10323,1032d,1032f,]), + NotoFont.fromFlatList('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [20,20,a0,a0,10a80,10a9f,]), + NotoFont.fromFlatList('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [20,20,a0,a0,300,300,306,308,313,313,483,483,20db,20db,25cc,25cc,10350,1037a,]), + NotoFont.fromFlatList('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [20,20,a0,a0,103a0,103c3,103c8,103d5,]), + NotoFont.fromFlatList('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [20,20,a0,a0,10f00,10f27,]), + NotoFont.fromFlatList('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [20,20,a0,a0,10a60,10a7f,]), + NotoFont.fromFlatList('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [20,20,a0,a0,10c00,10c48,]), + NotoFont.fromFlatList('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [20,23,25,25,27,2c,2e,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,964,965,b01,b03,b05,b0c,b0f,b10,b13,b28,b2a,b30,b32,b33,b35,b39,b3c,b44,b47,b48,b4b,b4d,b56,b57,b5c,b5d,b5f,b63,b66,b77,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [20,20,a0,a0,301,301,304,304,30b,30b,358,358,25cc,25cc,104b0,104d3,104d8,104fb,]), + NotoFont.fromFlatList('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [20,20,a0,a0,10480,1049d,104a0,104a9,]), + NotoFont.fromFlatList('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,16b00,16b45,16b50,16b59,16b5b,16b61,16b63,16b77,16b7d,16b8f,]), + NotoFont.fromFlatList('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [20,20,a0,a0,10860,1087f,]), + NotoFont.fromFlatList('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [20,20,a0,a0,11ac0,11af8,]), + NotoFont.fromFlatList('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [20,20,a0,a0,1801,1803,1805,1805,200b,200f,2025,2026,25cc,25cc,3001,3002,3007,3011,3014,301b,a840,a877,fe00,fe00,]), + NotoFont.fromFlatList('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [20,20,a0,a0,10900,1091b,1091f,1091f,]), + NotoFont.fromFlatList('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [20,20,a0,a0,640,640,200c,200d,25cc,25cc,10b80,10b91,10b99,10b9c,10ba9,10baf,]), + NotoFont.fromFlatList('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a930,a953,a95f,a95f,]), + NotoFont.fromFlatList('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [20,20,a0,a0,16a0,16f8,]), + NotoFont.fromFlatList('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,4db5,4e00,9fef,f900,f903,f905,f906,f90b,f90c,f915,f915,f917,f91a,f921,f921,f92c,f92d,f92f,f92f,f931,f935,f937,f93a,f943,f943,f947,f94a,f94e,f94e,f952,f953,f95e,f95e,f962,f967,f96e,f96e,f972,f972,f974,f974,f976,f976,f979,f97b,f97e,f980,f984,f985,f98a,f98c,f98e,f98e,f993,f993,f995,f995,f998,f998,f9ae,f9ae,f9b3,f9b3,f9b7,f9b7,f9bb,f9bb,f9bd,f9be,f9c0,f9c0,f9c5,f9c6,f9d0,f9d0,f9d8,f9d9,f9dc,f9e0,f9e2,f9e4,f9e7,f9e7,f9e9,f9e9,f9f1,f9f1,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0f,fa11,fa11,fa13,fa14,fa18,fa18,fa1f,fa21,fa23,fa24,fa27,fa29,fa2f,fa2f,fa33,fa35,fa37,fa38,fa3a,fa3a,fa47,fa47,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20087,20087,20089,20089,200cc,200cc,20164,20164,20628,20628,20676,20676,20cd0,20cd0,2139a,2139a,21413,21413,215d7,215d7,2298f,2298f,235cb,235cb,23c97,23c98,23e23,23e23,241fe,241fe,2420e,2420e,248e9,248e9,249db,249db,24a01,24a01,24a7d,24a7d,24ac9,24ac9,25532,25532,25562,25562,255a8,255a8,25ad7,25ad7,25ed7,25ed7,26221,26221,2648d,2648d,26676,26676,2677c,2677c,26951,26951,26b5c,26b5c,26c21,26c21,278b2,278b2,27eaf,27eaf,27fb7,27fb7,27ff9,27ff9,28408,28408,28678,28678,28695,28695,287e0,287e0,28b49,28b49,28c47,28c47,28c4f,28c4f,28c51,28c51,28c54,28c54,28e0f,28e0f,28e99,28e99,2967f,2967f,29810,29810,29f7e,29f7e,29f83,29f83,29f8c,29f8c,2a7dd,2a7dd,2a8fb,2a8fb,2a917,2a917,2aa30,2aa30,2aa36,2aa36,2aa58,2aa58,2afa2,2afa2,2b127,2b128,2b137,2b138,2b1ed,2b1ed,2b300,2b300,2b363,2b363,2b36f,2b36f,2b372,2b372,2b37d,2b37d,2b404,2b404,2b410,2b410,2b413,2b413,2b461,2b461,2b4e7,2b4e7,2b4ef,2b4ef,2b4f6,2b4f6,2b4f9,2b4f9,2b50d,2b50e,2b536,2b536,2b5ae,2b5af,2b5b3,2b5b3,2b5e7,2b5e7,2b5f4,2b5f4,2b61c,2b61d,2b626,2b628,2b62a,2b62a,2b62c,2b62c,2b695,2b696,2b6ad,2b6ad,2b6ed,2b6ed,2b7a9,2b7a9,2b7c5,2b7c5,2b7e6,2b7e6,2b7f9,2b7f9,2b7fc,2b7fc,2b806,2b806,2b80a,2b80a,2b81c,2b81c,2b8b8,2b8b8,2bac7,2bac7,2bb5f,2bb5f,2bb62,2bb62,2bb7c,2bb7c,2bb83,2bb83,2bc1b,2bc1b,2bd77,2bd77,2bd87,2bd87,2bdf7,2bdf7,2be29,2be29,2c029,2c02a,2c0a9,2c0a9,2c0ca,2c0ca,2c1d5,2c1d5,2c1d9,2c1d9,2c1f9,2c1f9,2c27c,2c27c,2c288,2c288,2c2a4,2c2a4,2c317,2c317,2c35b,2c35b,2c361,2c361,2c364,2c364,2c488,2c488,2c494,2c494,2c497,2c497,2c542,2c542,2c613,2c613,2c618,2c618,2c621,2c621,2c629,2c629,2c62b,2c62d,2c62f,2c62f,2c642,2c642,2c64a,2c64b,2c72c,2c72c,2c72f,2c72f,2c79f,2c79f,2c7c1,2c7c1,2c7fd,2c7fd,2c8d9,2c8d9,2c8de,2c8de,2c8e1,2c8e1,2c8f3,2c8f3,2c907,2c907,2c90a,2c90a,2c91d,2c91d,2ca02,2ca02,2ca0e,2ca0e,2ca7d,2ca7d,2caa9,2caa9,2cb29,2cb29,2cb2d,2cb2e,2cb31,2cb31,2cb38,2cb39,2cb3b,2cb3b,2cb3f,2cb3f,2cb41,2cb41,2cb4a,2cb4a,2cb4e,2cb4e,2cb5a,2cb5b,2cb64,2cb64,2cb69,2cb69,2cb6c,2cb6c,2cb6f,2cb6f,2cb73,2cb73,2cb76,2cb76,2cb78,2cb78,2cb7c,2cb7c,2cbb1,2cbb1,2cbbf,2cbc0,2cbce,2cbce,2cc56,2cc56,2cc5f,2cc5f,2ccf5,2ccf6,2ccfd,2ccfd,2ccff,2ccff,2cd02,2cd03,2cd0a,2cd0a,2cd8b,2cd8b,2cd8d,2cd8d,2cd8f,2cd90,2cd9f,2cda0,2cda8,2cda8,2cdad,2cdae,2cdd5,2cdd5,2ce18,2ce18,2ce1a,2ce1a,2ce23,2ce23,2ce26,2ce26,2ce2a,2ce2a,2ce7c,2ce7c,2ce88,2ce88,2ce93,2ce93,2d544,2d544,2f884,2f884,2f8b6,2f8b6,30edd,30ede,3106c,3106c,]), + NotoFont.fromFlatList('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a880,a8c5,a8ce,a8d9,]), + NotoFont.fromFlatList('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [20,20,a0,a0,951,951,1cd7,1cd7,1cd9,1cd9,1cdc,1cdd,1ce0,1ce0,200c,200d,25cc,25cc,11180,111df,]), + NotoFont.fromFlatList('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [20,20,a0,a0,10450,1047f,]), + NotoFont.fromFlatList('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,11580,115b5,115b8,115dd,]), + NotoFont.fromFlatList('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,964,965,d81,d83,d85,d96,d9a,db1,db3,dbb,dbd,dbd,dc0,dc6,dca,dca,dcf,dd4,dd6,dd6,dd8,ddf,de6,def,df2,df4,200b,200d,2013,2014,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,111e1,111f4,]), + NotoFont.fromFlatList('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [20,20,a0,a0,640,640,200c,200c,25cc,25cc,10f30,10f59,]), + NotoFont.fromFlatList('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [20,20,2d,2d,a0,a0,2010,2010,110d0,110e8,110f0,110f9,]), + NotoFont.fromFlatList('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [20,20,a0,a0,25cc,25cc,11a50,11aa2,]), + NotoFont.fromFlatList('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [20,20,2d,2d,a0,a0,1b80,1bbf,1cc0,1cc7,200b,200d,2010,2010,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [20,20,a0,a0,964,965,9e6,9ef,200b,200d,2010,2011,2055,2055,25cc,25cc,a800,a82c,]), + NotoFont.fromFlatList('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [20,21,28,2b,2d,2f,3a,3a,3d,3d,5b,5d,a0,a0,ab,ab,b0,b0,bb,bb,303,304,307,308,30a,30a,320,320,323,325,32d,32e,330,331,60c,60c,61b,61b,61f,61f,621,621,640,640,64b,655,660,66c,670,670,700,70d,70f,74a,74d,74f,200c,200f,2026,2026,2044,2044,2212,2212,25cc,25cc,2670,2671,]), + NotoFont.fromFlatList('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3435,3435,3440,3440,344a,344a,344c,344c,3464,3464,3473,3473,347a,347a,347d,347e,3493,3493,3496,3496,34a5,34a5,34af,34af,34bc,34bc,34c1,34c1,34c8,34c8,34df,34df,34e4,34e4,34e6,34e6,34fb,34fb,3506,3506,353e,353e,3551,3551,3553,3553,3559,3559,3561,3561,356d,356d,3570,3570,3572,3572,3577,3578,3584,3584,3597,3598,35a1,35a1,35a5,35a5,35ad,35ad,35bf,35bf,35c1,35c1,35c5,35c5,35c7,35c7,35ca,35ca,35ce,35ce,35d2,35d2,35d6,35d6,35db,35db,35dd,35dd,35f1,35f3,35fb,35fb,35fe,35fe,3609,3609,3618,3618,361a,361a,3623,3623,3625,3625,362d,362d,3635,3635,3639,3639,363e,363e,3647,3649,364e,364e,365f,365f,3661,3661,367a,367a,3681,3681,369a,369a,36a5,36a5,36aa,36aa,36ac,36ac,36b0,36b1,36b5,36b5,36b9,36b9,36bc,36bc,36c1,36c1,36c3,36c5,36c7,36c8,36d3,36d4,36d6,36d6,36dd,36dd,36e1,36e2,36e5,36e6,36f5,36f5,3701,3701,3703,3703,3708,3708,370a,370a,370d,370d,371c,371c,3722,3723,3725,3725,372c,372d,3730,3730,3732,3733,373a,373a,3740,3740,3743,3743,3762,3762,376f,376f,3797,3797,37a0,37a0,37b9,37b9,37be,37be,37d6,37d6,37f2,37f2,37f8,37f8,37fb,37fb,380f,380f,3819,3819,3820,3820,382d,382d,3836,3836,3838,3838,3863,3863,3875,3875,38a0,38a0,38c3,38c3,38cc,38cc,38d1,38d1,38d4,38d4,38fa,38fa,3908,3908,3914,3914,3927,3927,3932,3932,393f,393f,394d,394d,3963,3963,3978,3978,3980,3980,3989,398a,3992,3992,3999,3999,399b,399b,39a1,39a1,39a4,39a4,39b8,39b8,39dc,39dc,39e2,39e2,39e5,39e5,39ec,39ec,39f8,39f8,39fb,39fb,39fe,39fe,3a01,3a01,3a03,3a03,3a06,3a06,3a17,3a18,3a29,3a2a,3a34,3a34,3a4b,3a4b,3a52,3a52,3a57,3a57,3a5c,3a5c,3a5e,3a5e,3a66,3a67,3a97,3a97,3aab,3aab,3abd,3abd,3ada,3ada,3ade,3ade,3ae0,3ae0,3af0,3af0,3af2,3af2,3af5,3af5,3afb,3afb,3b0e,3b0e,3b19,3b19,3b22,3b22,3b2b,3b2b,3b39,3b39,3b42,3b42,3b58,3b58,3b60,3b60,3b71,3b72,3b7b,3b7c,3b80,3b80,3b95,3b96,3b99,3b99,3ba1,3ba1,3bbc,3bbc,3bbe,3bbe,3bc2,3bc2,3bc4,3bc4,3bd7,3bd7,3bdd,3bdd,3bec,3bec,3bf2,3bf4,3c0d,3c0d,3c11,3c11,3c15,3c15,3c18,3c18,3c54,3c54,3c8b,3c8b,3ccb,3ccb,3ccd,3ccd,3cd1,3cd1,3cd6,3cd6,3cdc,3cdc,3ceb,3ceb,3cef,3cef,3d12,3d13,3d1d,3d1d,3d32,3d32,3d3b,3d3b,3d46,3d46,3d4c,3d4c,3d4e,3d4e,3d51,3d51,3d5f,3d5f,3d62,3d62,3d69,3d6a,3d6f,3d6f,3d75,3d75,3d7d,3d7d,3d85,3d85,3d88,3d88,3d8a,3d8a,3d8f,3d8f,3d91,3d91,3da5,3da5,3dad,3dad,3db4,3db4,3dbf,3dbf,3dc6,3dc7,3dc9,3dc9,3dcc,3dcd,3dd3,3dd3,3ddb,3ddb,3de7,3de8,3deb,3deb,3df3,3df4,3df7,3df7,3dfc,3dfd,3e06,3e06,3e40,3e40,3e43,3e43,3e48,3e48,3e55,3e55,3e74,3e74,3ea8,3eaa,3ead,3ead,3eb1,3eb1,3eb8,3eb8,3ebf,3ebf,3ec2,3ec2,3ec7,3ec7,3eca,3eca,3ecc,3ecc,3ed0,3ed1,3ed6,3ed7,3eda,3edb,3ede,3ede,3ee1,3ee2,3ee7,3ee7,3ee9,3ee9,3eeb,3eec,3ef0,3ef0,3ef3,3ef4,3efa,3efa,3efc,3efc,3eff,3f00,3f04,3f04,3f06,3f07,3f0e,3f0e,3f53,3f53,3f58,3f59,3f63,3f63,3f7c,3f7c,3f93,3f93,3fc0,3fc0,3fc8,3fc8,3fd7,3fd7,3fdc,3fdc,3fe5,3fe5,3fed,3fed,3ff9,3ffa,4004,4004,4009,4009,401d,401d,4039,4039,4045,4045,4053,4053,4057,4057,4062,4062,4065,4065,406a,406a,406f,406f,4071,4071,40a8,40a8,40b4,40b4,40bb,40bb,40bf,40bf,40c8,40c8,40d8,40d8,40df,40df,40f8,40f8,40fa,40fa,4102,4104,4109,4109,410e,410e,4131,4132,4167,4167,416c,416c,416e,416e,417c,417c,417f,417f,4181,4181,4190,4190,41b2,41b2,41c4,41c4,41ca,41ca,41cf,41cf,41db,41db,41ed,41ed,41ef,41ef,41f9,41f9,4211,4211,4223,4223,4240,4240,4260,4260,426a,426a,4276,4276,427a,427a,428c,428c,4294,4294,42a2,42a2,42b5,42b5,42b9,42b9,42bc,42bc,42f4,42f4,42fb,42fc,430a,430a,432b,432b,436e,436e,4397,4397,439a,439a,43ba,43ba,43c1,43c1,43d9,43d9,43df,43df,43ed,43ed,43f0,43f0,43f2,43f2,4401,4402,4413,4413,4425,4425,442d,442d,447a,447a,448f,448f,4491,4491,449f,44a0,44a2,44a2,44b0,44b0,44b7,44b7,44bd,44bd,44c0,44c0,44c3,44c3,44c5,44c5,44ce,44ce,44dd,44df,44e1,44e1,44e4,44e4,44e9,44ec,44f4,44f4,4503,4504,4509,4509,450b,450b,4516,4516,451b,451b,451d,451d,4527,4527,452e,452e,4533,4533,4536,4536,453b,453b,453d,453d,453f,453f,4543,4543,4551,4552,4555,4555,4558,4558,455c,455c,4561,4562,456a,456a,456d,456d,4577,4578,4585,4585,45a6,45a6,45b3,45b3,45da,45da,45e9,45ea,4603,4603,4606,4606,460f,460f,4615,4615,4617,4617,465b,465b,467a,467a,4680,4680,46a1,46a1,46ae,46ae,46bb,46bb,46cf,46d0,46f5,46f5,46f7,46f7,4713,4713,4718,4718,4736,4736,4744,4744,474e,474f,477c,477c,4798,4798,47a6,47a6,47d5,47d5,47ed,47ed,47f4,47f4,4800,4800,480b,480b,4837,4837,485d,485d,4871,4871,489b,489b,48ad,48ae,48d0,48d0,48dd,48dd,48ed,48ed,48f3,48f3,48fa,48fa,4906,4906,4911,4911,491e,491e,4925,4925,492a,492a,492d,492d,492f,4930,4935,4935,493c,493c,493e,493e,4945,4945,4951,4951,4953,4953,4965,4965,496a,496a,4972,4972,4989,4989,49a1,49a1,49a7,49a7,49df,49df,49e5,49e5,49e7,49e7,4a0f,4a0f,4a1d,4a1d,4a24,4a24,4a35,4a35,4a96,4a96,4aa4,4aa4,4ab4,4ab4,4ab8,4ab8,4ad1,4ad1,4ae4,4ae4,4aff,4aff,4b10,4b10,4b19,4b19,4b20,4b20,4b2c,4b2c,4b37,4b37,4b6f,4b70,4b72,4b72,4b7b,4b7b,4b7e,4b7e,4b8e,4b8e,4b90,4b90,4b93,4b93,4b96,4b97,4b9d,4b9d,4bbd,4bbe,4bc0,4bc0,4c04,4c04,4c07,4c07,4c0e,4c0e,4c32,4c32,4c3b,4c3b,4c3e,4c3e,4c40,4c40,4c47,4c47,4c57,4c57,4c5b,4c5b,4c6d,4c6d,4c77,4c77,4c7b,4c7b,4c7d,4c7d,4c81,4c81,4c85,4c85,4ca4,4ca4,4cae,4cae,4cb0,4cb0,4cb7,4cb7,4ccd,4ccd,4ce1,4ce2,4ced,4ced,4d07,4d07,4d09,4d09,4d10,4d10,4d34,4d34,4d76,4d77,4d89,4d89,4d91,4d91,4d9c,4d9c,4e00,4e01,4e03,4e04,4e07,4e11,4e14,4e16,4e18,4e1a,4e1c,4e1c,4e1e,4e1f,4e21,4e22,4e24,4e24,4e26,4e26,4e28,4e28,4e2a,4e33,4e36,4e39,4e3b,4e3d,4e3f,4e3f,4e42,4e43,4e45,4e45,4e47,4e49,4e4b,4e4b,4e4d,4e4f,4e52,4e53,4e56,4e56,4e58,4e5f,4e69,4e6a,4e73,4e73,4e78,4e78,4e7e,4e89,4e8b,4e8e,4e91,4e95,4e98,4e9b,4e9e,4ea6,4ea8,4ea8,4eab,4eae,4eb3,4eb3,4eb6,4eb7,4eb9,4ebc,4ebf,4ec4,4ec6,4ecb,4ecd,4ece,4ed4,4eda,4edc,4edf,4ee1,4ee1,4ee3,4ee5,4ee8,4eeb,4eee,4eee,4ef0,4ef8,4efb,4efb,4efd,4efd,4eff,4f05,4f08,4f0b,4f0d,4f15,4f17,4f1a,4f1d,4f1d,4f22,4f22,4f28,4f29,4f2c,4f2d,4f2f,4f30,4f32,4f34,4f36,4f3f,4f41,4f43,4f45,4f49,4f4b,4f64,4f67,4f67,4f69,4f6c,4f6e,4f70,4f72,4f8b,4f8d,4f8d,4f8f,4f92,4f94,4f98,4f9a,4f9e,4fa2,4fa2,4fa8,4fa8,4fab,4fab,4fae,4fb0,4fb2,4fb7,4fb9,4fbb,4fbd,4fbd,4fbf,4fc5,4fc7,4fd1,4fd3,4fd4,4fd6,4fe1,4fe4,4fe5,4fec,4fec,4fee,4ffa,4ffd,4ffe,5000,5000,5003,5003,5005,5009,500b,500f,5011,501c,501e,5023,5025,5031,5033,5035,5037,5037,503b,503c,5040,5041,5043,5043,5045,504f,5051,5051,5053,5053,5055,5058,505a,5066,5068,5070,5072,5077,507a,507a,507d,507d,5080,5083,5085,5085,5087,5088,508b,508e,5090,5092,5094,5096,5098,509e,50a2,50a3,50a6,50a6,50ac,50b8,50ba,50bf,50c1,50c2,50c4,50cb,50cd,50d1,50d3,50d7,50d9,50db,50dd,50dd,50df,50e1,50e3,50ea,50ec,50f1,50f3,50f6,50f8,50f9,50fb,510e,5110,5115,5117,5118,511a,511a,511c,511c,511f,5122,5124,5126,5129,512b,512d,512e,5130,5135,5137,513d,513f,5141,5143,5149,514b,514d,5151,5152,5154,5157,5159,5163,5165,5165,5167,516e,5171,5171,5174,5179,517c,517c,5180,5180,5182,5182,5186,518a,518d,518d,518f,518f,5191,5198,519a,519a,519c,519c,519e,519e,51a0,51a0,51a2,51a2,51a4,51a5,51a7,51a8,51aa,51ac,51ae,51ae,51b0,51b9,51bc,51be,51c3,51d4,51d7,51d8,51db,51e2,51e4,51e4,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fc,51fe,5200,5203,5205,520c,520e,520e,5210,5213,5216,5217,521c,5221,5224,522a,522e,522e,5230,5238,523a,523c,5241,5241,5243,5244,5246,5247,5249,524f,5252,5252,5254,5257,5259,5262,5268,526f,5272,5275,5277,527d,527f,5284,5287,528d,528f,5291,5293,5294,5296,529b,529f,52a1,52a3,52a4,52a6,52a6,52a8,52ae,52b5,52b5,52b9,52b9,52bb,52bc,52be,52be,52c0,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d0,52d3,52d5,52d9,52db,52db,52dd,52e4,52e6,52e6,52e9,52e9,52eb,52eb,52ef,52f1,52f3,52f5,52f7,52fc,52fe,52ff,5301,5301,5305,5306,5308,530b,530d,5312,5315,5317,5319,531a,531c,531d,531f,5324,5327,5327,532a,532a,532c,532d,532f,5334,5337,5339,533b,5345,5347,534a,534c,534e,5351,5354,5357,5357,535a,535a,535c,5361,5363,5364,5366,5367,5369,5369,536c,5375,5377,5379,537b,537f,5382,5382,5384,5384,538a,538a,538e,538f,5392,5394,5396,539a,539c,53a0,53a2,53a2,53a4,53ae,53b0,53b0,53b2,53b2,53b4,53b4,53b6,53b6,53b9,53b9,53bb,53bb,53c1,53c3,53c5,53c5,53c8,53cd,53d0,53d2,53d4,53d4,53d6,53db,53df,53e6,53e8,53f3,53f5,53f8,53fb,53fc,53fe,53fe,5401,5401,5403,5404,5406,5414,5416,5416,5418,5421,5423,5439,543b,5443,5445,5448,544a,544f,5454,5454,5460,546d,546f,5478,547a,5482,5484,5488,548b,5498,549a,549a,549c,549c,549e,549e,54a0,54b4,54b6,54c9,54cb,54d0,54d6,54d6,54da,54da,54de,54de,54e0,54eb,54ed,54ef,54f1,54f3,54f7,54f8,54fa,54fd,54ff,54ff,5501,5514,5517,5518,551a,551a,551e,551e,5523,5523,5525,5528,552a,5539,553b,553c,553e,5541,5543,554b,554d,5553,5555,5557,555c,555f,5561,5566,5569,556b,5571,5573,5575,5577,5579,5579,557b,5584,5586,5595,5598,559a,559c,559d,559f,559f,55a1,55ae,55b0,55b5,55b9,55bc,55bf,55df,55e1,55ea,55ec,55ec,55ee,55f2,55f5,55f7,55f9,5602,5604,5606,5608,5609,560c,5617,561b,5623,5625,5625,5627,5627,5629,562a,562c,5630,5632,563b,563d,5643,5645,5646,5648,564a,564c,5650,5652,5654,5657,565a,565d,565e,5660,5666,5668,5674,5676,567c,567e,5687,5689,5690,5692,5693,5695,5695,5697,569a,569c,569f,56a1,56a1,56a4,56a8,56aa,56af,56b1,56b7,56b9,56b9,56bc,56c3,56c5,56c6,56c8,56cd,56d1,56d1,56d3,56d4,56d6,56d7,56da,56db,56dd,56e2,56e4,56e5,56e7,56e7,56ea,56eb,56ed,56f1,56f7,56f7,56f9,56fb,56fd,56fd,56ff,5704,5707,570d,5712,5716,5718,5718,571a,5720,5722,5723,5728,572a,572c,5730,5732,5734,573b,573b,573d,5743,5745,5747,5749,5752,5754,5754,5757,5757,575b,575b,575f,575f,5761,5762,5764,5764,5766,576b,576d,576d,576f,5777,577a,5780,5782,5783,5788,5788,578a,578d,578f,5790,5793,5795,5797,57a5,57a7,57a7,57aa,57aa,57ae,57ae,57b3,57b6,57b8,57bf,57c1,57c4,57c6,57c8,57cb,57cc,57ce,57d0,57d2,57d2,57d4,57d5,57d7,57d7,57dc,57e7,57e9,57e9,57ec,57fe,5800,580e,5810,5810,5812,5812,5814,5814,5818,5819,581b,581e,5820,582a,582c,583b,583d,583d,583f,5840,5844,5844,5847,584f,5851,5855,5857,585f,5862,5865,5868,5869,586b,586d,586f,586f,5871,5876,5879,5883,5885,588b,588e,5894,5896,5896,5898,589a,589c,58a1,58a3,58a3,58a5,58ac,58ae,58b1,58b3,58b3,58b5,58b6,58ba,58bf,58c1,58c2,58c5,58c9,58cb,58cb,58ce,58d6,58d8,58e0,58e2,58e4,58e7,58e9,58eb,58ec,58ef,58f0,58f2,58f4,58f9,58ff,5902,5907,590a,590a,590c,590f,5911,5912,5914,5917,5919,591a,591c,591d,591f,5920,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5934,5934,5937,5938,593c,593c,593e,593e,5940,5940,5944,5945,5947,594a,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5962,5965,5965,5967,5967,5969,596e,5970,5979,597b,5985,5989,598a,598d,5990,5992,5994,5996,599a,599d,59a8,59ac,59ac,59ae,59c1,59c3,59d4,59d6,59d6,59d8,59de,59e0,59e1,59e3,59e6,59e8,5a03,5a09,5a0d,5a0f,5a0f,5a11,5a13,5a15,5a1c,5a1e,5a21,5a23,5a25,5a27,5a27,5a29,5a2e,5a33,5a33,5a35,5a39,5a3c,5a3e,5a40,5a4a,5a4c,5a4d,5a50,5a6e,5a70,5a71,5a77,5a7f,5a81,5a84,5a86,5a86,5a88,5a88,5a8a,5a8c,5a8e,5a97,5a99,5aa2,5aa4,5aa7,5aa9,5aac,5aae,5ac4,5ac6,5acf,5ad1,5ad1,5ad3,5ad3,5ad5,5ae6,5ae8,5aee,5af0,5af0,5af2,5afb,5afd,5aff,5b01,5b03,5b05,5b05,5b07,5b09,5b0b,5b0d,5b0f,5b11,5b13,5b17,5b19,5b1b,5b1d,5b21,5b23,5b28,5b2a,5b30,5b32,5b32,5b34,5b34,5b38,5b38,5b3c,5b41,5b43,5b48,5b4a,5b51,5b53,5b58,5b5a,5b5d,5b5f,5b5f,5b62,5b66,5b68,5b69,5b6b,5b6e,5b70,5b78,5b7a,5b7d,5b7f,5b85,5b87,5b89,5b8b,5b8c,5b8e,5b90,5b92,5b93,5b95,5b9f,5ba2,5ba8,5baa,5baa,5bac,5bae,5bb0,5bb0,5bb3,5bb9,5bbf,5bc7,5bca,5bce,5bd0,5bd9,5bdb,5bdb,5bde,5bec,5bee,5bf3,5bf5,5bf6,5bf8,5bf8,5bfa,5bfa,5bff,5bff,5c01,5c01,5c03,5c05,5c07,5c16,5c1a,5c1a,5c1c,5c1c,5c1e,5c20,5c22,5c25,5c28,5c28,5c2a,5c2a,5c2c,5c2c,5c30,5c31,5c33,5c33,5c37,5c3c,5c3e,5c41,5c44,5c51,5c53,5c56,5c58,5c59,5c5c,5c5e,5c60,5c60,5c62,5c65,5c67,5c6a,5c6c,5c6f,5c71,5c71,5c73,5c74,5c78,5c7c,5c7e,5c7e,5c85,5c86,5c88,5c8d,5c8f,5c95,5c99,5c9a,5c9c,5cb1,5cb3,5cb3,5cb5,5cb8,5cba,5cba,5cc1,5cc2,5cc6,5ccc,5cce,5cdb,5cde,5cdf,5ce5,5ce5,5ce8,5cea,5cec,5cf1,5cf4,5cf9,5cfb,5cfd,5cff,5d01,5d06,5d07,5d0b,5d12,5d14,5d1b,5d1d,5d20,5d22,5d29,5d2c,5d2c,5d2e,5d3a,5d3c,5d43,5d45,5d4c,5d4e,5d4e,5d50,5d52,5d55,5d57,5d59,5d59,5d5b,5d5b,5d5e,5d5e,5d62,5d63,5d65,5d65,5d67,5d69,5d6b,5d6c,5d6f,5d72,5d74,5d74,5d77,5d82,5d84,5d8b,5d8d,5d8e,5d92,5d95,5d97,5d97,5d99,5d9a,5d9c,5da2,5da4,5da4,5da7,5db2,5db4,5dba,5dbc,5dbd,5dc0,5dc3,5dc6,5dc7,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dcf,5dcf,5dd1,5dd2,5dd4,5dd8,5ddb,5ddb,5ddd,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df0,5df5,5df7,5df7,5df9,5df9,5dfd,5dff,5e02,5e04,5e06,5e06,5e09,5e0c,5e0e,5e0e,5e11,5e12,5e14,5e1b,5e1d,5e1d,5e1f,5e25,5e28,5e29,5e2b,5e2b,5e2d,5e2e,5e33,5e34,5e36,5e38,5e3d,5e3e,5e40,5e45,5e48,5e48,5e4a,5e4f,5e53,5e55,5e57,5e59,5e5b,5e63,5e66,5e70,5e72,5e76,5e78,5e80,5e82,5e84,5e86,5e8d,5e8f,5e8f,5e92,5e92,5e95,5e97,5e99,5e9c,5ea0,5ea0,5ea2,5ea8,5eaa,5eae,5eb0,5eb9,5ebd,5ebe,5ec1,5ec2,5ec4,5ece,5ed0,5ee3,5ee5,5ee9,5eec,5eec,5eee,5eef,5ef1,5ef4,5ef6,5efc,5efe,5eff,5f01,5f02,5f04,5f05,5f07,5f08,5f0a,5f0f,5f12,5f15,5f17,5f18,5f1a,5f1b,5f1d,5f1d,5f1f,5f1f,5f22,5f29,5f2d,5f2e,5f30,5f31,5f33,5f33,5f35,5f38,5f3a,5f3c,5f40,5f40,5f43,5f46,5f48,5f51,5f54,5f54,5f56,5f59,5f5c,5f5e,5f61,5f65,5f67,5f67,5f69,5f6d,5f6f,5f74,5f76,5f79,5f7b,5f83,5f85,5f8c,5f90,5f92,5f96,5f99,5f9b,5f9c,5f9e,5fa1,5fa4,5faf,5fb1,5fb2,5fb5,5fb7,5fb9,5fc5,5fc9,5fc9,5fcc,5fcd,5fcf,5fd2,5fd4,5fd9,5fdb,5fdb,5fdd,5fe1,5fe3,5fe5,5fe8,5fe8,5fea,5feb,5fed,5fef,5ff1,5ff1,5ff3,5ff5,5ff7,5ff8,5ffa,5ffb,5ffd,5ffd,5fff,6000,6009,6017,6019,601e,6020,602f,6031,6035,6037,6037,6039,6039,603b,603b,6040,6047,6049,604d,6050,6050,6052,6055,6058,605b,605d,605f,6062,6070,6072,6072,6075,6075,6077,6077,607e,6081,6083,608a,608c,608e,6090,6090,6092,6092,6094,6097,609a,60a0,60a2,60a4,60a6,60a8,60b0,60c1,60c3,60cf,60d1,60d1,60d3,60d5,60d7,60e4,60e6,60e9,60f0,6101,6103,6110,6112,6116,6118,611d,611f,6120,6122,6123,6127,6129,612b,612c,612e,6130,6132,6132,6134,6134,6136,6137,613b,613b,613d,6142,6144,6150,6152,6156,6158,6168,616a,616c,616e,6177,6179,617a,617c,617e,6180,6183,6187,6187,6189,618e,6190,6196,6198,619d,619f,619f,61a1,61a2,61a4,61a4,61a7,61ba,61bc,61bc,61be,61c3,61c5,61cd,61cf,61d0,61d3,61d3,61d6,61d6,61d8,61d8,61da,61da,61de,61e0,61e2,61eb,61ed,61ee,61f0,61f2,61f5,6201,6203,6204,6207,620a,620c,620e,6210,6212,6214,6216,6219,621b,621f,6225,6227,6227,6229,622e,6230,6230,6232,6234,6236,6237,6239,623a,623d,6243,6246,624e,6250,6254,6258,625c,625e,625e,6260,6266,6268,6268,626d,6274,6276,6277,6279,628a,628c,628c,628e,6298,629d,629d,62a4,62a4,62a6,62a6,62a8,62b1,62b3,62b6,62b8,62b9,62bb,62bf,62c1,62dc,62df,62df,62e5,62e5,62eb,6303,6307,6309,630b,6311,6313,6316,6318,6318,6328,632f,6331,633e,6340,6351,6354,635a,635d,635d,6364,6365,6367,6369,636b,6372,6375,637d,637f,6385,6387,6392,6394,6394,6396,6399,639b,63a5,63a7,63b1,63b9,63b9,63bd,63be,63c0,63d3,63d5,63eb,63ed,63f6,63f8,63f9,63fb,63fc,63fe,63fe,6406,6407,6409,6410,6412,6418,641a,641c,641e,6428,642a,6430,6432,643b,643d,6441,6443,6443,644b,644b,644d,644e,6450,6454,6458,6461,6465,6469,646b,647d,647f,647f,6482,6482,6485,6485,6487,648d,648f,6493,6495,649a,649c,64a0,64a2,64a6,64a9,64a9,64ab,64b4,64b6,64b6,64bb,64c5,64c7,64c7,64c9,64cb,64cd,64d0,64d2,64d4,64d6,64db,64dd,64dd,64e0,64ed,64ef,64f4,64f7,64f8,64fa,6501,6503,6504,6506,6507,6509,650a,650c,6511,6513,6519,651b,6526,6529,6530,6532,6539,653b,653b,653d,653f,6541,6541,6543,6543,6545,6546,6548,654a,654d,654d,654f,654f,6551,6551,6553,655a,655c,655f,6562,6568,656a,656d,656f,656f,6572,657c,657f,6589,658b,658c,6590,6592,6594,6597,6599,6599,659b,65a2,65a4,65a5,65a7,65a8,65aa,65ac,65ae,65b0,65b2,65b3,65b5,65b9,65bb,65bf,65c1,65c6,65cb,65d4,65d6,65d7,65da,65db,65dd,65e3,65e5,65e6,65e8,65e9,65ec,65f5,65fa,65fd,65ff,6600,6602,6615,6618,6618,661c,6628,662b,662b,662d,6636,6639,663a,6641,6645,6647,664d,664f,664f,6651,6653,6657,6657,6659,6668,666a,666c,666e,6674,6676,667e,6680,6680,6684,668e,6690,6692,6694,669a,669d,669d,669f,66a2,66a4,66a4,66a8,66ab,66ad,66bb,66bd,66c0,66c4,66c4,66c6,66cf,66d2,66d2,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e4,66e6,66e9,66eb,66ee,66f0,66f4,66f6,66f9,66fc,66fc,66fe,6705,6708,6710,6712,6719,671b,671b,671d,6723,6725,6728,672a,672e,6731,6731,6733,6736,6738,673f,6744,6749,674b,6751,6753,6753,6755,6757,6759,675a,675c,6762,6767,6767,676a,677f,6781,6787,6789,6789,678b,6795,6797,679a,679c,679d,679f,67a0,67a4,67a4,67ac,67ac,67ae,67bb,67bf,67c6,67c8,67d4,67d6,67df,67e2,67e7,67e9,67fa,67fc,67fc,67fe,6804,680d,680d,6810,6810,6812,6814,6816,6818,681a,6822,6825,6826,6828,682b,682d,682f,6831,683e,6840,6851,6853,6856,685d,685d,6865,6865,686b,686b,686d,686f,6871,6872,6874,6879,687b,688c,688f,6894,6896,6898,689b,689d,689f,68a4,68a6,68b6,68b9,68b9,68bd,68bd,68c1,68c1,68c3,68ce,68d0,68d8,68da,68da,68dc,68e1,68e3,68e4,68e6,68ec,68ee,68fd,6900,6915,6917,691b,6925,6925,692a,692a,692c,692c,692f,6930,6932,6939,693b,6946,6948,694c,694e,694f,6951,697b,6980,6980,6982,6983,6985,6986,698a,698a,698d,698e,6990,6991,6993,699c,699e,69b7,69b9,69b9,69bb,69c4,69c6,69c6,69c9,69d1,69d3,69d6,69d9,69d9,69e1,69e2,69e4,69e9,69eb,69ee,69f1,69f4,69f6,6a0d,6a0f,6a0f,6a11,6a11,6a13,6a21,6a23,6a23,6a25,6a29,6a2b,6a2d,6a32,6a35,6a38,6a41,6a43,6a49,6a4b,6a5b,6a5d,6a6b,6a6d,6a6d,6a6f,6a6f,6a71,6a71,6a74,6a74,6a76,6a76,6a7a,6a7a,6a7e,6a85,6a87,6a87,6a89,6a8a,6a8c,6a97,6a99,6aa8,6aab,6aaf,6ab1,6abb,6abd,6abe,6ac2,6ac3,6ac5,6acd,6acf,6ad1,6ad3,6ad4,6ad8,6ae1,6ae5,6ae5,6ae7,6ae8,6aea,6aec,6aee,6af1,6af3,6af3,6af6,6af6,6af8,6afc,6b00,6b00,6b02,6b05,6b08,6b0b,6b0f,6b13,6b16,6b1a,6b1d,6b1e,6b20,6b21,6b23,6b23,6b25,6b25,6b28,6b28,6b2c,6b2d,6b2f,6b2f,6b31,6b3f,6b41,6b43,6b45,6b4e,6b50,6b52,6b54,6b57,6b59,6b59,6b5b,6b5c,6b5e,6b67,6b6a,6b6a,6b6d,6b6d,6b6f,6b6f,6b72,6b72,6b74,6b74,6b76,6b7b,6b7e,6b84,6b86,6b86,6b88,6b8a,6b8c,6b8f,6b91,6b91,6b94,6b99,6b9b,6b9b,6b9e,6ba0,6ba2,6ba7,6baa,6bab,6bad,6bb0,6bb2,6bb3,6bb5,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc3,6bcd,6bcf,6bd0,6bd2,6bd4,6bd6,6bd8,6bda,6bdc,6bde,6bde,6be0,6be4,6be6,6be8,6bea,6bec,6bef,6bf0,6bf2,6bf3,6bf7,6c06,6c08,6c09,6c0b,6c0d,6c0f,6c11,6c13,6c16,6c18,6c1d,6c1f,6c21,6c23,6c28,6c2a,6c2c,6c2e,6c3b,6c3d,6c43,6c46,6c46,6c49,6c50,6c52,6c52,6c54,6c55,6c57,6c61,6c65,6c6b,6c6d,6c76,6c78,6c7b,6c7d,6c90,6c92,6c96,6c98,6c9d,6c9f,6c9f,6ca2,6ca2,6caa,6cb4,6cb6,6cc7,6cc9,6cd7,6cd9,6ce3,6ce5,6ce5,6ce7,6cf3,6cf5,6cf5,6cf9,6cf9,6cff,6d12,6d16,6d1b,6d1d,6d20,6d22,6d22,6d24,6d42,6d4e,6d4e,6d57,6d5c,6d5e,6d6a,6d6c,6d72,6d74,6d98,6d9a,6d9a,6da4,6da5,6daa,6dac,6dae,6daf,6db1,6db5,6db7,6dc0,6dc2,6dc2,6dc4,6dcd,6dcf,6de6,6de8,6df7,6df9,6dfe,6e00,6e00,6e02,6e05,6e0a,6e0a,6e0f,6e0f,6e15,6e15,6e18,6e1d,6e1f,6e36,6e38,6e41,6e43,6e47,6e49,6e4b,6e4d,6e69,6e6b,6e6b,6e6e,6e6f,6e71,6e74,6e76,6e79,6e7c,6e7c,6e86,6e86,6e88,6e89,6e8b,6e8b,6e8d,6e90,6e92,6e94,6e96,6ea7,6eaa,6eab,6eae,6ed6,6ed8,6edd,6ee2,6ee2,6ee8,6ee9,6eeb,6eef,6ef1,6ef2,6ef4,6f0f,6f12,6f1a,6f1c,6f1c,6f1e,6f27,6f29,6f41,6f43,6f44,6f4e,6f58,6f5a,6f64,6f66,6f67,6f69,6f70,6f72,6f74,6f76,6f82,6f84,6f8e,6f90,6f90,6f92,6f97,6f9d,6fb6,6fb8,6fc4,6fc6,6fcf,6fd3,6fd5,6fd8,6fe4,6fe6,6fe9,6feb,6ff2,6ff4,6ff4,6ff6,6ff8,6ffa,6ffc,6ffe,7001,7003,7007,7009,700f,7011,7011,7014,7024,7026,702c,702f,7035,7037,703c,703e,7046,7048,704d,7050,7052,7054,7058,705a,706c,706e,7071,7074,707a,707c,707f,7081,7086,7089,708b,708e,708f,7091,7096,7098,709a,709f,70a1,70a3,70a7,70a9,70a9,70ab,70b1,70b3,70b5,70b7,70be,70c0,70c0,70c4,70c8,70ca,70da,70dc,70e2,70e4,70e4,70ef,70f1,70f3,7100,7102,7102,7104,7106,7109,710e,7110,7110,7113,7113,7117,7117,7119,7123,7125,7126,7128,7129,712b,712c,712e,7136,713a,713b,713e,713e,7140,7147,7149,7154,7156,715a,715c,716c,716e,716e,7170,7178,717a,717e,7180,7182,7184,718a,718c,718c,718e,7192,7194,7194,7196,71a5,71a7,71aa,71ac,71ad,71af,71b5,71b7,71ba,71bc,71cb,71ce,71d2,71d4,71d6,71d8,71dd,71df,71e2,71e4,71e8,71eb,71ee,71f0,71f2,71f4,71f6,71f8,71f9,71fb,7203,7205,7207,7209,720a,720c,7210,7213,7217,7219,721b,721d,721f,7222,722e,7230,7230,7235,7236,7238,723b,723d,7242,7244,7244,7246,724c,724f,7250,7252,7253,7255,7263,7266,7267,7269,726a,726c,726c,726e,7270,7272,7274,7276,7279,727b,7282,7284,7289,728b,7298,729a,729b,729d,729f,72a1,72aa,72ac,72b0,72b2,72b2,72b4,72b5,72ba,72ba,72bd,72bd,72bf,72c6,72c9,72ce,72d0,72d2,72d4,72d4,72d6,72da,72dc,72dc,72df,72e4,72e6,72e6,72e8,72eb,72f3,72f4,72f6,7302,7304,7304,7307,7308,730a,730c,730f,7313,7316,7319,731b,731e,7322,7323,7325,732e,7330,733c,733e,7345,7348,734a,734c,7352,7357,735b,735d,7362,7365,736c,736e,7378,737a,738c,738e,738f,7392,7398,739c,73a2,73a4,73ad,73b2,73bc,73be,73c0,73c2,73d0,73d2,73de,73e0,73eb,73ed,73ef,73f3,740d,7411,7412,7414,7417,7419,7426,7428,743a,743c,743c,743f,7457,7459,7465,7467,7476,7479,747a,747c,7483,7485,748d,7490,7490,7492,7492,7494,7495,7497,74a1,74a3,74ab,74ad,74ad,74af,74b2,74b4,74bb,74bd,74c3,74c5,74c6,74c8,74c8,74ca,74cc,74cf,74d0,74d3,74e9,74ec,74ec,74ee,74ee,74f0,74f2,74f4,74f8,74fb,74fb,74fd,7500,7502,7505,7507,7508,750b,751a,751c,751f,7521,7522,7525,7526,7528,7535,7537,753b,753d,7540,7542,7542,7546,7548,754a,754f,7551,7551,7553,7555,7559,755d,755f,7560,7562,7567,756a,7570,7572,7572,7576,757a,757d,7580,7583,7584,7586,7587,758a,7592,7594,7595,7598,759a,759d,759e,75a2,75a5,75a7,75a7,75aa,75ab,75b0,75b6,75b8,75c5,75c7,75c8,75ca,75d2,75d4,75d5,75d7,75e4,75e6,75e7,75ed,75ed,75ef,7603,7607,760d,760f,7611,7613,7616,7619,7629,762c,762d,762f,7635,7638,7638,763a,763d,7640,7640,7642,7643,7646,7649,764c,7654,7656,765a,765c,765c,765f,7662,7664,7667,7669,766a,766c,7676,7678,767f,7681,7682,7684,7684,7686,768b,768e,7690,7692,7693,7695,7696,7699,769e,76a1,76a1,76a4,76a6,76aa,76ab,76ad,76b0,76b4,76b5,76b7,76b8,76ba,76bb,76bd,76bf,76c2,76c6,76c8,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76df,76e1,76e1,76e3,76e7,76e9,76ea,76ec,76f5,76f7,76fc,76fe,76fe,7701,7701,7703,7705,7707,770c,770e,7713,7715,7715,7719,771b,771d,7720,7722,7729,772b,772b,772d,772d,772f,772f,7731,773e,7740,7740,7743,7747,774a,774f,7752,7752,7754,7756,7758,775c,775e,7763,7765,776f,7772,7772,7777,7785,7787,7789,778b,778f,7791,7791,7793,7793,7795,7795,7797,77a3,77a5,77a5,77a7,77a8,77aa,77ad,77af,77b7,77b9,77bf,77c2,77c5,77c7,77c7,77c9,77d0,77d3,77d5,77d7,77de,77e0,77e0,77e2,77e3,77e5,77e9,77ec,77f4,77f7,77fe,7802,7803,7805,7806,7808,7809,780c,7814,7818,7818,781c,7823,7825,7835,7837,7839,783c,783d,7842,7845,7847,784e,7850,7854,785c,785e,7860,7860,7862,7862,7864,7866,7868,7871,7879,787c,787e,7881,7883,7889,788c,788f,7891,7891,7893,789a,789e,78a5,78a7,78ad,78af,78b4,78b6,78b6,78b8,78bc,78be,78be,78c1,78c1,78c3,78c5,78c7,78d5,78d7,78d8,78da,78db,78dd,78e5,78e7,78ea,78ec,78f5,78f7,78f7,78f9,78ff,7901,7902,7904,7906,7909,7909,790c,790c,790e,790e,7910,7914,7917,7917,7919,7919,791b,791e,7921,7921,7923,792f,7931,7936,7938,7942,7944,794c,794f,7965,7967,796b,796d,796d,7970,7974,7979,797a,797c,7983,7986,7988,798a,798b,798d,799d,799f,79a2,79a4,79ae,79b0,79b4,79b6,79bb,79bd,79c1,79c4,79c6,79c8,79d2,79d4,79d6,79d8,79d8,79dc,79e0,79e2,79e4,79e6,79e7,79e9,79ee,79f1,79f1,79f4,79f4,79f6,79f8,79fa,79fb,7a00,7a00,7a02,7a06,7a08,7a08,7a0a,7a0e,7a10,7a15,7a17,7a1c,7a1e,7a20,7a22,7a22,7a26,7a26,7a28,7a28,7a2a,7a32,7a37,7a37,7a39,7a40,7a43,7a4e,7a54,7a54,7a56,7a58,7a5a,7a5c,7a5f,7a62,7a65,7a65,7a67,7a69,7a6b,7a6e,7a70,7a72,7a74,7a76,7a78,7a7b,7a7d,7a81,7a83,7a8c,7a8f,7a99,7a9e,7aa0,7aa2,7aa3,7aa8,7aac,7aae,7ab8,7aba,7abc,7abe,7ac5,7ac7,7acb,7acf,7acf,7ad1,7ad1,7ad3,7ad3,7ad8,7add,7adf,7ae0,7ae2,7ae7,7ae9,7aeb,7aed,7aef,7af6,7af7,7af9,7b01,7b04,7b06,7b08,7b0c,7b0e,7b14,7b18,7b1b,7b1d,7b20,7b22,7b35,7b38,7b39,7b3b,7b3b,7b40,7b40,7b42,7b52,7b54,7b56,7b58,7b58,7b60,7b67,7b69,7b69,7b6c,7b78,7b7b,7b7b,7b82,7b82,7b84,7b85,7b87,7b88,7b8a,7b92,7b94,7b9d,7ba0,7ba4,7bac,7baf,7bb1,7bb2,7bb4,7bb5,7bb7,7bb9,7bbe,7bbe,7bc0,7bc1,7bc4,7bc7,7bc9,7bcc,7bce,7bd0,7bd4,7bd5,7bd8,7bec,7bf0,7bf4,7bf7,7c03,7c05,7c07,7c09,7c12,7c15,7c15,7c19,7c19,7c1b,7c23,7c25,7c2d,7c30,7c30,7c33,7c33,7c35,7c35,7c37,7c39,7c3b,7c40,7c42,7c45,7c47,7c4a,7c4c,7c4d,7c50,7c51,7c53,7c54,7c56,7c57,7c59,7c5d,7c5f,7c60,7c63,7c67,7c69,7c70,7c72,7c75,7c78,7c81,7c83,7c86,7c88,7c8a,7c8c,7c8e,7c91,7c92,7c94,7c98,7c9c,7c9c,7c9e,7c9f,7ca1,7ca3,7ca5,7ca8,7cac,7cac,7cae,7caf,7cb1,7cb5,7cb8,7cbf,7cc2,7cc3,7cc5,7cc5,7cc7,7cce,7cd0,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce8,7cea,7cea,7cec,7cf9,7cfb,7cfe,7d00,7d22,7d25,7d25,7d28,7d29,7d2b,7d2c,7d2e,7d33,7d35,7d36,7d38,7d47,7d4a,7d4a,7d4d,7d56,7d58,7d58,7d5a,7d5f,7d61,7d63,7d66,7d6b,7d6d,7d73,7d79,7d7d,7d7f,7d81,7d83,7d86,7d88,7d89,7d8b,7d8f,7d91,7d97,7d9c,7da4,7da6,7db5,7db7,7dc2,7dc4,7dc7,7dc9,7dd0,7dd2,7dd4,7dd7,7de1,7de3,7dea,7dec,7dec,7dee,7df7,7df9,7dfe,7e03,7e03,7e07,7e17,7e1a,7e25,7e27,7e27,7e29,7e2b,7e2d,7e49,7e4c,7e4c,7e50,7e5c,7e5e,7e63,7e65,7e65,7e67,7e70,7e72,7e82,7e86,7e88,7e8a,7e8f,7e91,7e9c,7e9f,7e9f,7ea4,7ea4,7eac,7eac,7eba,7eba,7ec7,7ec7,7ecf,7ecf,7edf,7edf,7f06,7f06,7f36,7f3a,7f3d,7f41,7f43,7f45,7f47,7f55,7f58,7f58,7f5b,7f61,7f63,7f63,7f65,7f6e,7f70,7f73,7f75,7f7f,7f83,7f83,7f85,7f8f,7f91,7f97,7f9a,7f9e,7fa0,7fa9,7fac,7fc3,7fc5,7fc5,7fc7,7fc7,7fc9,7fd2,7fd4,7fd5,7fd7,7fd7,7fdb,7fe3,7fe5,7ff5,7ff7,8008,800b,8012,8014,8019,801b,8021,8024,8026,8028,802a,802c,802c,802e,8031,8033,8037,8039,8039,803b,803f,8043,8043,8046,8048,804a,804a,804f,8052,8054,8054,8056,8056,8058,8058,805a,805e,8061,8064,8066,8067,806c,806c,806f,8073,8075,8079,807d,8080,8082,8082,8084,8087,8089,808c,808f,8090,8092,8093,8095,8096,8098,809d,809f,809f,80a1,80a3,80a5,80a5,80a7,80a7,80a9,80ab,80ad,80af,80b1,80b2,80b4,80b8,80ba,80ba,80bc,80bd,80c2,80ca,80cc,80d1,80d4,80de,80e0,80e1,80e3,80e6,80e9,80e9,80ec,80ed,80ef,80f6,80f8,80fe,8100,8103,8105,810a,810c,810c,810e,810e,8112,8112,8114,811b,811d,811f,8121,8125,8127,8127,8129,812d,812f,8132,8134,8134,8137,8137,8139,813a,813d,813e,8142,8144,8146,8148,814a,8156,8159,815c,815e,815e,8160,8162,8164,8167,8169,8169,816b,8174,8176,817a,817c,817d,817f,8180,8182,8184,8186,818d,818f,818f,8193,8193,8195,8195,8197,81a0,81a2,81a3,81a5,81ac,81ae,81ae,81b0,81b7,81b9,81ca,81cc,81cd,81cf,81d2,81d5,81d5,81d7,81db,81dd,81ea,81ec,81ef,81f2,81f4,81f6,81fc,81fe,8202,8204,8205,8207,820d,8210,8212,8214,8216,8218,8218,821a,8222,8225,8226,8228,822d,822f,822f,8232,823a,823c,8240,8242,8242,8244,8245,8247,8247,8249,8249,824b,824b,824e,825c,825e,825f,8261,8266,8268,8269,826b,826f,8271,8272,8274,8280,8283,8285,8287,8287,828a,828b,828d,8294,8298,829b,829d,82b1,82b3,82c0,82c2,82c4,82ca,82ca,82cf,82d9,82db,82dc,82de,82e8,82ea,8309,830b,830d,8316,831e,8320,8320,8322,8322,8324,832d,832f,832f,8331,833d,833f,8345,8347,8354,8356,8357,8362,8363,8366,8366,836f,836f,8373,8378,837a,837f,8381,8381,8383,8383,8385,839e,83a0,83a0,83a2,83ac,83ae,83b0,83b9,83b9,83bd,83cf,83d1,83d1,83d3,83d9,83db,83e5,83e7,83f6,83f8,83ff,8401,8401,8403,8407,8409,8414,8416,8416,8418,8418,841b,841c,8420,8421,8423,8424,8426,8426,8429,8429,842b,8440,8442,844e,8450,8469,846b,847a,847d,8480,8482,8482,8484,8484,8486,8486,8488,8488,848d,8494,8496,84a4,84a7,84b2,84b4,84b4,84b6,84b6,84b8,84c2,84c4,84c7,84c9,84d4,84d6,84d7,84da,84db,84de,84de,84e1,84e2,84e4,84e5,84e7,84ec,84ee,84f4,84f6,8500,8502,851a,851c,8521,8523,8531,8533,8534,8538,8538,853b,853b,853d,853e,8540,854e,8551,855b,855d,8571,8573,8573,8575,857c,857e,857e,8580,8591,8593,85a4,85a6,85aa,85af,85b1,85b3,85ba,85bd,85c9,85cb,85cb,85cd,85d2,85d5,85da,85dc,85e6,85e8,85f2,85f4,85f4,85f6,8602,8604,8607,8609,860d,860f,8611,8613,8614,8616,861c,861e,862a,862c,862f,8631,8636,8638,863c,863e,8640,8642,8643,8645,8648,864b,864e,8650,8650,8652,8656,8659,8659,865b,865c,865e,865f,8661,8665,8667,8674,8677,8677,8679,867c,867e,867e,8685,8687,868a,868e,8690,869a,869c,869e,86a0,86a5,86a7,86aa,86ad,86ad,86af,86c9,86cb,86cc,86d0,86d1,86d3,86d4,86d6,86df,86e2,86e4,86e6,86e6,86e8,86ed,86ef,86ef,86f5,86fb,86fe,86fe,8700,870e,8711,8713,8715,8715,8718,871c,871e,871e,8720,872a,872c,872e,8730,8735,8737,8738,873a,873c,873e,8743,8746,8746,874c,8771,8773,877b,877d,877d,8781,8789,878b,878d,878f,8794,8796,8798,879a,879f,87a2,87a5,87a9,87c6,87c8,87cc,87ce,87ce,87d1,87d4,87d6,87e8,87ea,87ef,87f2,87f7,87f9,87fc,87fe,8806,8808,880d,880f,8811,8813,8819,881b,881d,881f,8833,8835,8839,883b,8846,8848,8848,884a,884f,8852,8853,8855,8857,8859,885b,885d,885e,8860,8865,8867,886b,886d,8872,8874,8877,8879,8879,887c,8884,8887,8889,888b,8893,8895,88a2,88a4,88a4,88a7,88a8,88aa,88ac,88ae,88ae,88b1,88b2,88b4,88ba,88bc,88c2,88c5,88c5,88c7,88c7,88c9,88d0,88d2,88d2,88d4,88df,88e1,88e1,88e6,88e8,88eb,88ec,88ee,8902,8905,8907,8909,890c,890e,890e,8910,891a,891e,891f,8921,8927,8929,8933,8935,8938,893b,893e,8941,8944,8946,8947,8949,8949,894b,894d,894f,8954,8956,8966,8969,896f,8971,8974,8976,8977,8979,897c,897e,8983,8985,898b,898f,898f,8991,8991,8993,8998,899b,899f,89a1,89a7,89a9,89aa,89ac,89af,89b2,89b2,89b6,89b7,89b9,89ba,89bc,89c1,89c6,89c6,89d2,89d6,89d9,89dd,89df,89e9,89eb,89ed,89f0,89f4,89f6,89f8,89fa,89fc,89fe,8a00,8a02,8a04,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a13,8a15,8a18,8a1b,8a1f,8a22,8a23,8a25,8a25,8a27,8a27,8a29,8a2d,8a30,8a31,8a34,8a34,8a36,8a36,8a38,8a41,8a44,8a46,8a48,8a4a,8a4c,8a52,8a54,8a59,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a69,8a6b,8a6e,8a70,8a77,8a79,8a7c,8a7e,8a7f,8a81,8a87,8a8b,8a8d,8a8f,8a96,8a98,8a9a,8a9c,8a9c,8a9e,8a9e,8aa0,8aa1,8aa3,8aac,8aaf,8ab0,8ab2,8ab2,8ab4,8ab4,8ab6,8ab6,8ab8,8ac0,8ac2,8ac9,8acb,8acd,8acf,8acf,8ad1,8ae2,8ae4,8ae4,8ae6,8ae8,8aea,8aeb,8aed,8afc,8afe,8b02,8b04,8b08,8b0a,8b20,8b22,8b28,8b2a,8b31,8b33,8b33,8b35,8b37,8b39,8b43,8b45,8b5a,8b5c,8b60,8b62,8b63,8b65,8b6d,8b6f,8b70,8b74,8b74,8b77,8b7b,8b7d,8b86,8b88,8b88,8b8a,8b8c,8b8e,8b90,8b92,8b96,8b98,8b9c,8b9e,8ba0,8bbe,8bbe,8be2,8be2,8c37,8c37,8c39,8c39,8c3b,8c3f,8c41,8c43,8c45,8c51,8c54,8c57,8c5a,8c5a,8c5c,8c5d,8c5f,8c5f,8c61,8c62,8c64,8c66,8c68,8c6d,8c6f,8c73,8c75,8c7b,8c7d,8c7d,8c80,8c82,8c84,8c86,8c89,8c8a,8c8c,8c8d,8c8f,8c95,8c97,8ca5,8ca7,8cad,8caf,8cb0,8cb2,8cc5,8cc7,8cc8,8cca,8cca,8ccc,8ccd,8ccf,8ccf,8cd1,8cd7,8cd9,8cee,8cf0,8cf5,8cf7,8cfe,8d00,8d00,8d02,8d0d,8d0f,8d19,8d1b,8d1d,8d64,8d64,8d66,8d69,8d6b,8d70,8d72,8d74,8d76,8d7b,8d7d,8d7d,8d80,8d82,8d84,8d85,8d89,8d8a,8d8c,8d96,8d99,8d99,8d9b,8d9c,8d9f,8da1,8da3,8da3,8da5,8daf,8db2,8db7,8db9,8dba,8dbc,8dbc,8dbe,8dc3,8dc5,8dc8,8dcb,8dd1,8dd3,8ddd,8ddf,8de4,8de6,8dec,8dee,8df4,8dfa,8dfa,8dfc,8e07,8e09,8e0a,8e0d,8e2b,8e2d,8e2e,8e30,8e31,8e33,8e36,8e38,8e3a,8e3c,8e42,8e44,8e50,8e53,8e57,8e59,8e6a,8e6c,8e6d,8e6f,8e6f,8e71,8e78,8e7a,8e7c,8e7e,8e7e,8e80,8e82,8e84,8e8e,8e90,8e98,8e9a,8e9a,8e9d,8ea1,8ea3,8ead,8eb0,8eb0,8eb2,8eb2,8eb6,8eb6,8eb9,8eba,8ebc,8ebd,8ec0,8ec0,8ec2,8ec3,8ec9,8ecf,8ed1,8ed4,8ed7,8ed8,8eda,8ee2,8ee4,8ee9,8eeb,8eef,8ef1,8ef2,8ef4,8efc,8efe,8f03,8f05,8f0b,8f0d,8f0e,8f10,8f20,8f23,8f26,8f29,8f2a,8f2c,8f30,8f32,8f39,8f3b,8f3c,8f3e,8f4b,8f4d,8f64,8f66,8f67,8f6e,8f6e,8f93,8f93,8f9b,8f9c,8f9f,8fa0,8fa3,8fa3,8fa5,8fa8,8fad,8fbc,8fbe,8fbf,8fc1,8fc2,8fc4,8fc6,8fc9,8fd7,8fda,8fda,8fe0,8fe6,8fe8,8fe8,8fea,8feb,8fed,8fee,8ff0,8ff0,8ff4,9006,9008,9008,900b,900d,900f,9012,9014,9017,9019,9024,902d,902f,9031,9038,903c,903f,9041,9042,9044,9044,9046,9047,9049,9056,9058,9059,905b,905e,9060,9064,9067,9069,906b,9070,9072,9088,908a,908b,908d,908d,908f,9091,9094,9095,9097,9099,909b,909b,909e,90a3,90a5,90a8,90aa,90aa,90ae,90b6,90b8,90b8,90bb,90bb,90bd,90bf,90c1,90c1,90c3,90c5,90c7,90c8,90ca,90cb,90ce,90ce,90d4,90dd,90df,90e5,90e8,90ed,90ef,90f5,90f9,9109,910b,910b,910d,9112,9114,9114,9116,9124,9126,9136,9138,913b,913e,9141,9143,9153,9155,915a,915c,915c,915e,9165,9167,916a,916c,916c,916e,9170,9172,917a,917c,917c,9180,9187,9189,9193,9196,9196,9199,91a3,91a5,91a5,91a7,91b7,91b9,91be,91c0,91c7,91c9,91c9,91cb,91d1,91d3,91da,91dc,91dd,91df,91df,91e2,91ee,91f1,91f1,91f3,91fa,91fd,920a,920c,921a,921c,921c,921e,921e,9221,9221,9223,9228,922a,922b,922d,922e,9230,923a,923c,9241,9244,9246,9248,9258,925a,925b,925d,9267,926b,9270,9272,9272,9276,928f,9291,9291,9293,929d,92a0,92ac,92ae,92ae,92b1,92b7,92b9,92bc,92be,92d5,92d7,92d9,92db,92db,92dd,92e1,92e3,92f4,92f6,9304,9306,9309,930b,9310,9312,9316,9318,931b,931d,9331,9333,9336,9338,9339,933c,933c,9340,9352,9354,935c,935e,936e,9370,9371,9373,937e,9380,938a,938c,9392,9394,93aa,93ac,93b5,93b7,93b8,93bb,93bb,93bd,93bd,93bf,93c0,93c2,93c4,93c6,93c8,93ca,93e4,93e6,93e8,93ec,93ec,93ee,93ee,93f0,93f1,93f3,9401,9403,9404,9406,9419,941b,941b,941d,941d,9420,9420,9424,9433,9435,9440,9442,944d,944f,9452,9454,9455,9457,9458,945b,945b,945d,945e,9460,9460,9462,9465,9467,9479,947b,9483,9485,9485,949f,949f,94a2,94a2,94c1,94c1,94c3,94c3,94dc,94dc,94f6,94f6,952d,952d,9547,9547,9577,9578,957a,957d,957f,9580,9582,9583,9585,9586,9588,9589,958b,9594,9596,9599,959b,959c,959e,95ae,95b0,95b2,95b5,95b7,95b9,95c0,95c3,95c3,95c5,95cd,95d0,95d6,95da,95dc,95de,95e5,95e8,95e8,95f4,95f4,961c,961e,9620,9624,9628,9628,962a,962a,962c,9633,9638,963d,963f,9645,964a,9651,9653,9654,9656,9656,9658,9658,965b,965f,9661,9664,9669,966d,966f,9678,967b,967e,9680,9681,9683,968b,968d,968f,9691,9699,969b,969c,969e,969e,96a1,96a5,96a7,96aa,96ac,96ac,96ae,96ae,96b0,96b1,96b3,96b4,96b6,96b6,96b8,96b9,96bb,96bd,96bf,96ce,96d2,96df,96e1,96e3,96e5,96e5,96e8,96ea,96ef,96f2,96f4,96fb,96fd,96fd,96ff,9700,9702,9709,970b,970b,970d,9713,9716,9716,9718,9719,971b,972c,972e,9732,9734,9736,9738,973a,973d,9744,9746,974b,9751,9752,9755,9758,975a,9762,9766,9766,9768,976a,976c,976e,9770,9774,9776,9778,977a,9785,9787,978b,978d,978f,9794,9794,9797,97a6,97a8,97a8,97aa,97ae,97b1,97b4,97b6,97bb,97bd,97c9,97cb,97d0,97d2,97d9,97dc,97e1,97e3,97e3,97e5,97e6,97ed,97ee,97f0,97f3,97f5,97f6,97f8,97fb,97fd,9808,980a,980a,980c,9818,981b,9821,9823,9824,9826,9829,982b,982b,982d,9830,9832,9835,9837,9839,983b,983b,9841,9841,9843,9853,9856,9859,985b,9860,9862,986c,986f,9875,98a8,98a9,98ac,98af,98b1,98b4,98b6,98c4,98c6,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98ed,98ef,98ef,98f1,98f2,98f4,98f6,98f9,98fa,98fc,98fe,9900,9900,9902,9903,9905,9905,9907,990a,990c,990c,990e,990e,9910,991c,991e,991f,9921,9921,9924,9925,9927,9933,9935,9935,9937,9943,9945,9945,9947,994e,9950,9959,995b,995f,9961,9963,9996,9999,999b,999e,99a1,99a1,99a3,99a8,99aa,99b5,99b8,99bd,99c1,99c5,99c7,99c7,99c9,99c9,99cb,99dd,99df,99e7,99e9,99ea,99ec,99ee,99f0,99f1,99f4,99ff,9a01,9a07,9a09,9a11,9a14,9a16,9a19,9a27,9a29,9a32,9a34,9a46,9a48,9a4a,9a4c,9a50,9a52,9a5c,9a5e,9a60,9a62,9a6c,9a8f,9a8f,9aa8,9aa8,9aab,9aab,9aad,9aad,9aaf,9ab4,9ab6,9ac2,9ac6,9ac7,9aca,9aca,9acd,9acd,9acf,9ad8,9adc,9adc,9adf,9ae3,9ae6,9ae7,9aeb,9aef,9af1,9af4,9af6,9af7,9af9,9aff,9b01,9b06,9b08,9b12,9b14,9b1a,9b1e,9b20,9b22,9b25,9b27,9b2b,9b2d,9b2f,9b31,9b35,9b37,9b37,9b39,9b3c,9b3e,9b46,9b48,9b48,9b4a,9b52,9b54,9b56,9b58,9b5b,9b5f,9b61,9b64,9b64,9b66,9b69,9b6c,9b6c,9b6f,9b71,9b74,9b77,9b7a,9b83,9b85,9b88,9b8b,9b8b,9b8d,9b93,9b95,9b95,9b97,9b97,9b9a,9b9b,9b9d,9ba2,9ba4,9ba6,9ba8,9ba8,9baa,9bab,9bad,9bb0,9bb5,9bb6,9bb8,9bb9,9bbd,9bbd,9bbf,9bc1,9bc3,9bc4,9bc6,9bca,9bcf,9bcf,9bd3,9bd7,9bd9,9bde,9be0,9be2,9be4,9bed,9bf0,9bf1,9bf4,9bf4,9bf7,9bf8,9bfd,9bfd,9bff,9bff,9c02,9c02,9c05,9c0e,9c10,9c10,9c12,9c15,9c17,9c17,9c1b,9c1d,9c1f,9c21,9c23,9c26,9c28,9c29,9c2b,9c2d,9c2f,9c2f,9c31,9c37,9c39,9c41,9c44,9c50,9c52,9c59,9c5d,9c60,9c62,9c63,9c66,9c68,9c6d,9c6e,9c71,9c75,9c77,9c7c,9ce5,9ce7,9ce9,9cea,9ced,9ced,9cf1,9cf7,9cf9,9cfd,9cff,9d00,9d02,9d09,9d0c,9d0c,9d10,9d10,9d12,9d12,9d14,9d19,9d1b,9d1b,9d1d,9d23,9d25,9d26,9d28,9d29,9d2d,9d31,9d33,9d34,9d36,9d39,9d3b,9d3b,9d3d,9d45,9d49,9d4c,9d4e,9d54,9d56,9d61,9d67,9d75,9d77,9d79,9d7b,9d8c,9d90,9d90,9d92,9d94,9d96,9dad,9daf,9daf,9db1,9dc5,9dc7,9ddf,9de1,9de6,9de8,9de9,9deb,9df0,9df2,9e07,9e09,9e15,9e17,9e1f,9e75,9e75,9e79,9e7d,9e7f,9e8e,9e90,9ea2,9ea4,9eb1,9eb4,9eb7,9ebb,9ec4,9ec6,9ec8,9ecc,9ed1,9ed3,9ed6,9ed8,9ed8,9eda,9ee0,9ee2,9ee2,9ee4,9ee8,9eeb,9eeb,9eed,9f02,9f06,9f0a,9f0e,9f10,9f12,9f13,9f15,9f1c,9f1e,9f1e,9f20,9f20,9f22,9f39,9f3b,9f3b,9f3d,9f3e,9f40,9f50,9f52,9f67,9f69,9f6c,9f6e,9f72,9f74,9f7b,9f7e,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f99,9f9c,9f9c,9f9f,9fa0,9fa2,9fa2,9fa4,9fb3,9fc7,9fcb,9fd0,9fd0,f900,f903,f905,f907,f90b,f90b,f90d,f90d,f915,f915,f917,f917,f91a,f91a,f922,f922,f92d,f92d,f931,f931,f937,f937,f939,f93a,f943,f943,f947,f948,f94a,f94a,f952,f952,f95e,f95e,f962,f962,f965,f965,f967,f967,f972,f972,f976,f976,f978,f979,f97e,f97e,f980,f980,f986,f986,f98a,f98a,f98e,f98e,f995,f995,f99c,f99c,f99f,f99f,f9b5,f9b5,f9bb,f9bb,f9bd,f9bd,f9c5,f9c6,f9c8,f9c8,f9d8,f9d8,f9dc,f9de,f9e0,f9e0,f9e4,f9e4,f9e7,f9e7,f9e9,f9e9,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0d,fa33,fa35,fa3a,fa3a,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20021,20021,2003e,2003e,20046,20046,2004e,2004e,20068,20068,20086,20087,2008a,2008a,20094,20094,200ca,200cd,200d1,200d1,200ee,200ee,2010c,2010c,2010e,2010e,20118,20118,201a4,201a4,201a9,201a9,201ab,201ab,201c1,201c1,201d4,201d4,201f2,201f2,20204,20204,2020c,2020c,20214,20214,20239,20239,2025b,2025b,20274,20275,20299,20299,2029e,2029e,202a0,202a0,202b7,202b7,202bf,202c0,202e5,202e5,2030a,2030a,20325,20325,20341,20341,20345,20347,2037e,20380,203a0,203a0,203a7,203a7,203b5,203b5,203c9,203c9,203cb,203cb,203f5,203f5,203fc,203fc,20413,20414,2041f,2041f,20465,20465,20487,20487,2048e,2048e,20491,20492,204a3,204a3,204d7,204d7,204fc,204fc,204fe,204fe,20547,20547,2058e,2058e,205a5,205a5,205b3,205b3,205c3,205c3,205ca,205ca,205d0,205d0,205d5,205d5,205df,205e0,205eb,205eb,20611,20611,20615,20615,20619,2061a,20628,20628,20630,20630,20656,20656,20676,20676,2070e,2070e,20731,20731,20779,20779,2082c,2082c,20873,20873,208d5,208d5,20916,20916,20923,20923,20954,20954,20979,20979,209e7,209e7,20a11,20a11,20a50,20a50,20a6f,20a6f,20a8a,20a8a,20ab4,20ab4,20ac2,20ac2,20acd,20acd,20b0d,20b0d,20b8f,20b8f,20b9f,20b9f,20ba8,20ba9,20bbf,20bbf,20bc6,20bc6,20bcb,20bcb,20be2,20be2,20beb,20beb,20bfb,20bfb,20bff,20bff,20c0b,20c0b,20c0d,20c0d,20c20,20c20,20c34,20c34,20c3a,20c3b,20c41,20c43,20c53,20c53,20c65,20c65,20c77,20c78,20c7c,20c7c,20c8d,20c8d,20c96,20c96,20c9c,20c9c,20cb5,20cb5,20cb8,20cb8,20ccf,20ccf,20cd3,20cd6,20cdd,20cdd,20ced,20ced,20cff,20cff,20d15,20d15,20d28,20d28,20d31,20d32,20d46,20d49,20d4c,20d4e,20d6f,20d6f,20d71,20d71,20d74,20d74,20d7c,20d7c,20d7e,20d7f,20d96,20d96,20d9c,20d9c,20da7,20da7,20db2,20db2,20dc8,20dc8,20e04,20e04,20e09,20e0a,20e0d,20e11,20e16,20e16,20e1d,20e1d,20e4c,20e4c,20e6d,20e6d,20e73,20e73,20e75,20e7b,20e8c,20e8c,20e96,20e96,20e98,20e98,20e9d,20e9d,20ea2,20ea2,20eaa,20eac,20eb6,20eb6,20ed7,20ed8,20edd,20edd,20ef8,20efb,20f1d,20f1d,20f26,20f26,20f2d,20f2e,20f30,20f31,20f3b,20f3b,20f4c,20f4c,20f64,20f64,20f8d,20f8d,20f90,20f90,20fad,20fad,20fb4,20fb6,20fbc,20fbc,20fdf,20fdf,20fea,20fed,21014,21014,2101d,2101e,2104f,2104f,2105c,2105c,2106f,2106f,21075,21078,2107b,2107b,21088,21088,21096,21096,2109d,2109d,210b4,210b4,210bf,210c1,210c7,210c9,210cf,210cf,210d3,210d3,210e4,210e4,210f4,210f6,2112f,2112f,2113b,2113b,2113d,2113d,21145,21145,21148,21148,2114f,2114f,21180,21180,21187,21187,211d9,211d9,2123c,2123c,2124f,2124f,2127c,2127c,212a8,212a9,212b0,212b0,212e3,212e3,212fe,212fe,21302,21305,21336,21336,2133a,2133a,21375,21376,2138e,2138e,21398,21398,2139c,2139c,213c5,213c6,213ed,213ed,213fe,213fe,21413,21413,21416,21416,21424,21424,2143f,2143f,21452,21452,21454,21455,2148a,2148a,21497,21497,214b6,214b6,214e8,214e8,214fd,214fd,21577,21577,21582,21582,21596,21596,2160a,2160a,21613,21613,21619,21619,2163e,2163e,21661,21661,21692,21692,216b8,216b8,216ba,216ba,216c0,216c2,216d3,216d3,216d5,216d5,216df,216df,216e6,216e8,216fa,216fc,216fe,216fe,2170d,2170d,21710,21710,21726,21726,2173a,2173c,21757,21757,2176c,21771,21773,21774,217ab,217ab,217b0,217b5,217c3,217c3,217c7,217c7,217d9,217dc,217df,217df,217ef,217ef,217f5,217f6,217f8,217fc,21820,21820,21828,2182a,2182d,2182d,21839,2183b,21840,21840,21845,21845,21852,21852,2185e,2185e,21861,21864,21877,21877,2187b,2187b,21883,21885,2189e,218a2,218be,218bf,218d1,218d1,218d6,218d9,218fa,218fa,21903,21905,21910,21912,21915,21915,2191c,2191c,21922,21922,21927,21927,2193b,2193b,21944,21944,21958,21958,2196a,2196a,2197c,2197c,21980,21980,21983,21983,21988,21988,21996,21996,219db,219db,219f3,219f3,21a2d,21a2d,21a34,21a34,21a45,21a45,21a4b,21a4b,21a63,21a63,21b44,21b44,21bc1,21bc2,21c2a,21c2a,21c70,21c70,21ca2,21ca2,21ca5,21ca5,21cac,21cac,21d46,21d46,21d53,21d53,21d5e,21d5e,21d90,21d90,21db6,21db6,21dba,21dba,21dca,21dca,21dd1,21dd1,21deb,21deb,21df9,21df9,21e1c,21e1c,21e23,21e23,21e37,21e37,21e3d,21e3d,21e89,21e89,21ea4,21ea4,21ea8,21ea8,21ec8,21ec8,21ed5,21ed5,21f0f,21f0f,21f15,21f15,21f6a,21f6a,21f9e,21f9e,21fa1,21fa1,21fe8,21fe8,22045,22045,22049,22049,2207e,2207e,2209a,2209a,220c7,220c7,220fc,220fc,2212a,2212a,2215b,2215b,22173,22173,2217a,2217a,221a1,221a1,221c1,221c1,221c3,221c3,22208,22208,2227c,2227c,22321,22321,22325,22325,223bd,223bd,223d0,223d0,223d7,223d7,223fa,223fa,22465,22465,22471,22471,2248b,2248b,22491,22491,224b0,224b0,224bc,224bc,224c1,224c1,224c9,224c9,224cc,224cc,224ed,224ed,22513,22513,2251b,2251b,22530,22530,22554,22554,2258d,2258d,225af,225af,225be,225be,2261b,2261c,2262b,2262b,22668,22668,2267a,2267a,22696,22696,22698,22698,226f4,226f6,22712,22712,22714,22714,2271b,2271b,2271f,2271f,2272a,2272a,22775,22775,22781,22781,22796,22796,227b4,227b5,227cd,227cd,22803,22803,2285f,22860,22871,22871,228ad,228ad,228c1,228c1,228f7,228f7,22926,22926,22939,22939,2294f,2294f,22967,22967,2296b,2296b,22980,22980,22993,22993,22a66,22a66,22acf,22acf,22ad5,22ad5,22ae6,22ae6,22ae8,22ae8,22b0e,22b0e,22b22,22b22,22b3f,22b3f,22b43,22b43,22b6a,22b6a,22bca,22bca,22bce,22bce,22c26,22c27,22c38,22c38,22c4c,22c4c,22c51,22c51,22c55,22c55,22c62,22c62,22c88,22c88,22c9b,22c9b,22ca1,22ca1,22ca9,22ca9,22cb2,22cb2,22cb7,22cb7,22cc2,22cc2,22cc6,22cc6,22cc9,22cc9,22d07,22d08,22d12,22d12,22d44,22d44,22d4c,22d4c,22d67,22d67,22d8d,22d8d,22d95,22d95,22da0,22da0,22da3,22da4,22db7,22db7,22dee,22dee,22e0d,22e0d,22e36,22e36,22e42,22e42,22e78,22e78,22e8b,22e8b,22eb3,22eb3,22eef,22eef,22f74,22f74,22fcc,22fcc,22fe3,22fe3,23033,23033,23044,23044,2304b,2304b,23066,23066,2307d,2307e,2308e,2308e,230b7,230b7,230bc,230bc,230da,230da,23103,23103,2313d,2313d,2317d,2317d,23182,23182,231a4,231a5,231b3,231b3,231c8,231c9,231ea,231ea,231f7,231f9,2320f,2320f,23225,23225,2322f,2322f,23231,23234,23256,23256,2325e,2325e,23262,23262,23281,23281,23289,2328a,232ab,232ad,232d2,232d2,232e0,232e1,23300,23300,2330a,2330a,2331f,2331f,233b4,233b4,233cc,233cc,233de,233de,233e6,233e6,233f4,233f5,233f9,233fa,233fe,233fe,23400,23400,2343f,2343f,23450,23450,2346f,2346f,23472,23472,234e5,234e5,23519,23519,23530,23530,23551,23551,2355a,2355a,23567,23567,23595,23595,23599,23599,2359c,2359c,235bb,235bb,235cd,235cf,235f3,235f3,23600,23600,23617,23617,2361a,2361a,2363c,2363c,23640,23640,23659,23659,2365f,2365f,23677,23677,2368e,2368e,2369e,2369e,236a6,236a6,236ad,236ad,236ba,236ba,236df,236df,236ee,236ee,23703,23703,23716,23716,23720,23720,2372d,2372d,2372f,2372f,2373f,2373f,23766,23766,23781,23781,237a2,237a2,237bc,237bc,237c2,237c2,237d5,237d7,2383a,2383a,239c2,239c2,23aa7,23aa7,23adb,23adb,23aee,23aee,23afa,23afa,23b1a,23b1a,23b5a,23b5a,23c63,23c63,23c99,23c9b,23cb5,23cb5,23cb7,23cb7,23cc7,23cc9,23cfc,23cff,23d40,23d40,23d5b,23d5b,23d7e,23d7e,23d8f,23d8f,23db6,23dbd,23de3,23de3,23df8,23df8,23e06,23e06,23e11,23e11,23e2c,23e31,23e39,23e39,23e88,23e8b,23eb9,23eb9,23ebf,23ebf,23ed7,23ed7,23ef7,23efc,23f35,23f35,23f41,23f41,23f4a,23f4a,23f61,23f61,23f7f,23f82,23f8f,23f8f,23fb4,23fb4,23fb7,23fb7,23fc0,23fc0,23fc5,23fc5,23feb,23ff0,24011,24011,24039,2403d,24057,24057,24085,24085,2408b,2408d,24091,24091,240c9,240c9,240e1,240e1,240ec,240ec,24104,24104,2410f,2410f,24119,24119,2413f,24140,24144,24144,2414e,2414e,24155,24157,2415c,2415c,2415f,2415f,24161,24161,24177,24177,2417a,2417a,241a3,241a5,241ac,241ac,241b5,241b5,241cd,241cd,241e2,241e2,241fc,241fc,2421b,2421b,2424b,2424b,24256,24256,24259,24259,24276,24278,24284,24284,24293,24293,24295,24295,242a5,242a5,242bf,242bf,242c1,242c1,242c9,242ca,242ee,242ee,242fa,242fa,2430d,2430d,2431a,2431a,24334,24334,24348,24348,24362,24365,2438c,2438c,24396,24396,2439c,2439c,243bd,243bd,243c1,243c1,243e9,243ea,243f2,243f2,243f8,243f8,24404,24404,24435,24436,2445a,2445b,24473,24473,24487,24488,244b9,244b9,244bc,244bc,244ce,244ce,244d3,244d3,244d6,244d6,24505,24505,24521,24521,24578,24578,245c8,245c8,24618,24618,2462a,2462a,24665,24665,24674,24674,24697,24697,246d4,246d4,24706,24706,24725,24725,2472f,2472f,2478f,2478f,247e0,247e0,24812,24812,24823,24823,24882,24882,248e9,248e9,248f0,248f3,248fb,248fb,248ff,24901,2490c,2490c,24916,24917,24919,24919,2492f,2492f,24933,24934,2493e,24943,24962,24963,24974,24976,2497b,2497b,2497f,2497f,24982,24982,24988,2498f,24994,24994,249a4,249a4,249a7,249a7,249a9,249a9,249ab,249ad,249b7,249bb,249c5,249c5,249d0,249d0,249da,249da,249de,249df,249e3,249e3,249e5,249e5,249ec,249ed,249f6,249f9,249fb,249fb,24a0e,24a0e,24a12,24a13,24a15,24a15,24a21,24a2a,24a3e,24a3e,24a42,24a42,24a45,24a45,24a4a,24a4a,24a4e,24a51,24a5d,24a5d,24a65,24a67,24a71,24a71,24a77,24a7a,24a8c,24a8c,24a93,24a96,24aa4,24aa7,24ab1,24ab3,24aba,24abc,24ac0,24ac0,24ac7,24ac7,24aca,24aca,24ad1,24ad1,24adf,24adf,24ae2,24ae2,24ae9,24ae9,24b0f,24b0f,24b6e,24b6e,24bf5,24bf5,24c09,24c09,24c9e,24c9f,24cc9,24cc9,24cd9,24cd9,24d06,24d06,24d13,24d13,24db8,24db8,24dea,24deb,24e3b,24e3b,24e50,24e50,24ea5,24ea5,24ea7,24ea7,24f0e,24f0e,24f5c,24f5c,24f82,24f82,24f86,24f86,24f97,24f97,24f9a,24f9a,24fa9,24fa9,24fb8,24fb8,24fc2,24fc2,2502c,2502c,25052,25052,2509d,2509d,2512b,2512b,25148,25148,2517d,2517e,251cd,251cd,251e3,251e3,251e6,251e7,25220,25221,25250,25250,25299,25299,252c7,252c7,252d8,252d8,2530e,2530e,25311,25311,25313,25313,25419,25419,25425,25425,2542f,25430,25446,25446,2546c,2546c,2546e,2546e,2549a,2549a,25531,25531,25535,25535,2553f,2553f,2555b,2555e,25562,25562,25565,25566,25581,25581,25584,25584,2558f,2558f,255b9,255b9,255d5,255d5,255db,255db,255e0,255e0,25605,25605,25635,25635,25651,25651,25683,25683,25695,25695,256e3,256e3,256f6,256f6,25706,25706,2571d,2571d,25725,25725,2573d,2573d,25772,25772,257c7,257c7,257df,257e1,25857,25857,2585d,2585d,25872,25872,258c8,258c8,258de,258de,258e1,258e1,25903,25903,25946,25946,25956,25956,259ac,259ac,259cc,259cc,25a54,25a54,25a95,25a95,25a9c,25a9c,25aae,25aaf,25ad7,25ad7,25ae9,25ae9,25b74,25b74,25b89,25b89,25bb3,25bb4,25bc6,25bc6,25be4,25be4,25be8,25be8,25c01,25c01,25c06,25c06,25c21,25c21,25c4a,25c4a,25c65,25c65,25c91,25c91,25ca4,25ca4,25cc0,25cc1,25cfe,25cfe,25d20,25d20,25d30,25d30,25d43,25d43,25d99,25d99,25db9,25db9,25e0e,25e0e,25e49,25e49,25e81,25e83,25ea6,25ea6,25ebc,25ebc,25ed7,25ed8,25f1a,25f1a,25f4b,25f4b,25fe1,25fe2,26021,26021,26029,26029,26048,26048,26064,26064,26083,26083,26097,26097,260a4,260a5,26102,26102,26121,26121,26159,2615c,261ad,261ae,261b2,261b2,261dd,261dd,26258,26258,26261,26261,2626a,2626b,262d0,262d0,26335,26335,2634b,2634c,26351,26351,263be,263be,263f5,263f5,263f8,263f8,26402,26402,26410,26412,2644a,2644a,26469,26469,26484,26484,26488,26489,2648d,2648d,26498,26498,26512,26512,26572,26572,265a0,265a0,265ad,265ad,265bf,265bf,26612,26612,26626,26626,266af,266af,266b1,266b1,266b5,266b5,266da,266da,266e8,266e8,266fc,266fc,26716,26716,26741,26741,26799,26799,267b3,267b4,267cc,267cc,2681c,2681c,26846,26846,2685e,2685e,2686e,2686e,26888,26888,2688a,2688a,26893,26893,268c7,268c7,2690e,2690e,26911,26911,26926,26926,26939,26939,26951,26951,269a8,269a8,269b5,269b5,269f2,269f2,269fa,269fa,26a2d,26a2e,26a34,26a34,26a42,26a42,26a51,26a52,26b05,26b05,26b0a,26b0a,26b13,26b13,26b15,26b15,26b23,26b23,26b28,26b28,26b50,26b53,26b5b,26b5b,26b75,26b75,26b82,26b82,26b96,26b97,26b9d,26b9d,26bb3,26bb3,26bc0,26bc0,26bf7,26bf7,26c21,26c21,26c40,26c41,26c46,26c46,26c7e,26c82,26ca4,26ca4,26cb7,26cb8,26cbd,26cbd,26cc0,26cc0,26cc3,26cc3,26cd1,26cd1,26d22,26d2a,26d51,26d51,26d74,26d74,26da0,26da7,26dae,26dae,26ddc,26ddc,26dea,26deb,26df0,26df0,26e00,26e00,26e05,26e05,26e07,26e07,26e12,26e12,26e42,26e45,26e6e,26e6e,26e72,26e72,26e77,26e77,26e84,26e84,26e88,26e88,26e8b,26e8b,26e99,26e99,26ed0,26ed7,26f26,26f26,26f73,26f74,26f9f,26f9f,26fa1,26fa1,26fbe,26fbe,26fde,26fdf,2700e,2700e,2704b,2704b,27052,27053,27088,27088,270ad,270af,270cd,270cd,270d2,270d2,270f0,270f0,270f8,270f8,27109,27109,2710c,2710d,27126,27127,27164,27165,27175,27175,271cd,271cd,2721b,2721b,27267,27267,27280,27280,27285,27285,2728b,2728b,272b2,272b2,272b6,272b6,272e6,272e6,27352,27352,2739a,2739a,273ff,273ff,27422,27422,27450,27450,27484,27484,27486,27486,27574,27574,275a3,275a3,275e0,275e0,275e4,275e4,275fd,275fe,27607,27607,2760c,2760c,27632,27632,27639,27639,27655,27657,27694,27694,2770f,2770f,27735,27736,27741,27741,2775e,2775e,27784,27785,277cc,277cc,27858,27858,27870,27870,2789d,2789d,278b2,278b2,278c8,278c8,27924,27924,27967,27967,2797a,2797a,279a0,279a0,279dd,279dd,279fd,279fd,27a0a,27a0a,27a0e,27a0e,27a3e,27a3e,27a53,27a53,27a59,27a59,27a79,27a79,27a84,27a84,27abd,27abe,27af4,27af4,27b06,27b06,27b0b,27b0b,27b18,27b18,27b38,27b3a,27b48,27b48,27b65,27b65,27bef,27bef,27bf4,27bf4,27c12,27c12,27c6c,27c6c,27cb1,27cb1,27cc5,27cc5,27d2f,27d2f,27d53,27d54,27d66,27d66,27d73,27d73,27d84,27d84,27d8f,27d8f,27d98,27d98,27dbd,27dbd,27ddc,27ddc,27e4d,27e4d,27e4f,27e4f,27f2e,27f2e,27fb7,27fb7,27ff9,27ff9,28002,28002,28009,28009,2801e,2801e,28023,28024,28048,28048,28083,28083,28090,28090,280bd,280be,280e8,280e9,280f4,280f4,2812e,2812e,2814f,2814f,2815d,2815d,2816f,2816f,28189,28189,281af,281af,281bc,281bc,28207,28207,28218,28218,2821a,2821a,28256,28256,2827c,2827c,2829b,2829b,282cd,282cd,282e2,282e2,28306,28306,28318,28318,2832f,2832f,2833a,2833a,28365,28365,2836d,2836d,2837d,2837d,2838a,2838a,28412,28412,28468,28468,2846c,2846c,28473,28473,28482,28482,28501,28501,2853c,2853d,2856c,2856c,285e8,285e8,285f4,285f4,28600,28600,2860b,2860b,28625,28625,2863b,2863b,286aa,286ab,286b2,286b2,286bc,286bc,286d8,286d8,286e6,286e6,2870f,2870f,28713,28713,28804,28804,2882b,2882b,2890d,2890d,28933,28933,28948,28949,28956,28956,28964,28964,28968,28968,2896c,2896d,2897e,2897e,28989,28989,289a8,289a8,289aa,289ab,289b8,289b8,289bc,289bc,289c0,289c0,289dc,289dc,289de,289de,289e1,289e1,289e3,289e4,289e7,289e8,289f9,289fc,28a0f,28a0f,28a16,28a16,28a25,28a25,28a29,28a29,28a32,28a32,28a36,28a36,28a44,28a4b,28a59,28a5a,28a81,28a83,28a9a,28a9c,28ac0,28ac0,28ac6,28ac6,28acb,28acc,28ace,28ace,28ade,28ae3,28ae5,28ae5,28aea,28aea,28afc,28afc,28b0c,28b0c,28b13,28b13,28b21,28b22,28b2b,28b2d,28b2f,28b2f,28b46,28b46,28b4c,28b4c,28b4e,28b4e,28b50,28b50,28b63,28b66,28b6c,28b6c,28b8f,28b8f,28b99,28b99,28b9c,28b9d,28bb9,28bb9,28bc2,28bc2,28bc5,28bc5,28bd4,28bd4,28bd7,28bd7,28bd9,28bda,28be7,28bec,28bf5,28bf5,28bff,28bff,28c03,28c03,28c09,28c09,28c1c,28c1d,28c23,28c23,28c26,28c26,28c2b,28c2b,28c30,28c30,28c39,28c39,28c3b,28c3b,28cca,28cca,28ccd,28ccd,28cd2,28cd2,28d34,28d34,28d99,28d99,28db9,28db9,28e0f,28e0f,28e36,28e36,28e39,28e39,28e65,28e66,28e97,28e97,28eac,28eac,28eb2,28eb3,28ed9,28ed9,28ee7,28ee7,28fc5,28fc5,29079,29079,29088,29088,2908b,2908b,29093,29093,290af,290b1,290c0,290c0,290e4,290e5,290ec,290ed,2910d,2910d,29110,29110,2913c,2913c,2914d,2914d,2915b,2915b,2915e,2915e,29170,29170,2919c,2919c,291a8,291a8,291d5,291d5,291eb,291eb,2941d,2941d,29420,29420,29433,29433,2943f,2943f,29448,29448,294d0,294d0,294d9,294da,294e5,294e5,294e7,294e7,2959e,2959e,295b0,295b0,295b8,295b8,295d7,295d7,295e9,295e9,295f4,295f4,2967f,2967f,29720,29720,29732,29732,297d4,297d4,29810,29810,29857,29857,298a4,298a4,298d1,298d1,298ea,298ea,298f1,298f1,298fa,298fa,29903,29903,29905,29905,2992f,2992f,29945,29945,29947,29949,2995d,2995d,2996a,2996a,2999d,2999d,299c3,299c3,299c9,299c9,29a28,29a28,29a4d,29a4d,29b05,29b05,29b0e,29b0e,29bd5,29bd5,29c73,29c73,29cad,29cad,29d3e,29d3e,29d5a,29d5a,29d7c,29d7c,29d98,29d98,29d9b,29d9b,29df6,29df6,29e06,29e06,29e2d,29e2d,29e68,29e68,29eac,29eac,29eb0,29eb0,29ec3,29ec3,29ef8,29ef8,29f23,29f23,29f30,29f30,29fb7,29fb7,29fde,29fde,2a014,2a014,2a087,2a087,2a0b9,2a0b9,2a0e1,2a0e1,2a0ed,2a0ed,2a0f3,2a0f3,2a0f8,2a0f8,2a0fe,2a0fe,2a107,2a107,2a123,2a123,2a133,2a134,2a150,2a150,2a192,2a193,2a1ab,2a1ab,2a1b4,2a1b5,2a1df,2a1df,2a1f5,2a1f5,2a220,2a220,2a233,2a233,2a293,2a293,2a29f,2a29f,2a2b2,2a2b2,2a2b4,2a2b4,2a2b6,2a2b6,2a2ba,2a2ba,2a2bd,2a2bd,2a2df,2a2df,2a2ff,2a2ff,2a351,2a351,2a3a9,2a3a9,2a3ed,2a3ed,2a434,2a434,2a45b,2a45b,2a5c6,2a5c6,2a5cb,2a5cb,2a601,2a601,2a632,2a632,2a64a,2a64a,2a65b,2a65b,2a6a9,2a6a9,2adff,2adff,2d544,2d544,2f825,2f825,2f83b,2f83b,2f840,2f840,2f878,2f878,2f894,2f894,2f8a6,2f8a6,2f8cd,2f8cd,2f8db,2f8db,2f994,2f994,2f9b2,2f9b2,2f9bc,2f9bc,2f9d4,2f9d4,30edd,30ede,3106c,3106c,]), + NotoFont.fromFlatList('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [20,20,a0,a0,1700,170c,170e,1714,1735,1736,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [20,20,a0,a0,1735,1736,1760,176c,176e,1770,1772,1773,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [20,20,a0,a0,300,301,307,308,30c,30c,1040,1049,1950,196d,1970,1974,200b,200d,25cc,25cc,3001,3002,3008,300b,]), + NotoFont.fromFlatList('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [20,20,a0,a0,1a20,1a5e,1a60,1a7c,1a7f,1a89,1a90,1a99,1aa0,1aad,200b,200d,2219,2219,]), + NotoFont.fromFlatList('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a78b,a78c,aa80,aac2,aadb,aadf,]), + NotoFont.fromFlatList('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [20,20,a0,a0,964,965,200c,200d,25cc,25cc,a830,a839,11680,116b8,116c0,116c9,]), + NotoFont.fromFlatList('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v21/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b2,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,b82,b83,b85,b8a,b8e,b90,b92,b95,b99,b9a,b9c,b9c,b9e,b9f,ba3,ba4,ba8,baa,bae,bb9,bbe,bc2,bc6,bc8,bca,bcd,bd0,bd0,bd7,bd7,be6,bfa,1cda,1cda,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,2074,2074,2082,2084,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a8f3,a8f3,11301,11301,11303,11303,1133b,1133c,]), + NotoFont.fromFlatList('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [11fc0,11ff1,11fff,11fff,]), + NotoFont.fromFlatList('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v18/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,c00,c0c,c0e,c10,c12,c28,c2a,c39,c3d,c44,c46,c48,c4a,c4d,c55,c56,c58,c5a,c60,c63,c66,c6f,c77,c7f,1cda,1cda,1cf2,1cf2,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [20,21,28,29,2c,2c,2e,2e,3a,3b,a0,a0,60c,60c,61b,61b,61f,61f,660,66c,780,7b1,200b,200f,2018,2019,201c,201d,25cc,25cc,fdf2,fdf2,fdfd,fdfd,]), + NotoFont.fromFlatList('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v18/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [20,20,2d,2d,a0,a0,2bc,2bc,2d7,2d7,303,303,331,331,e01,e3a,e3f,e5b,200b,200d,2010,2010,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [20,20,a0,a0,2c7,2c7,301,302,304,304,306,307,309,309,323,323,331,331,200c,200d,202e,202e,25cc,25cc,2d30,2d67,2d6f,2d70,2d7f,2d7f,]), + NotoFont.fromFlatList('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [20,20,a0,a0,951,952,964,965,9f4,9f7,1cf2,1cf2,200c,200d,25cc,25cc,a830,a839,11480,114c7,114d0,114d9,]), + NotoFont.fromFlatList('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [20,20,a0,a0,10380,1039d,1039f,1039f,]), + NotoFont.fromFlatList('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [20,20,a0,a0,a500,a62b,]), + NotoFont.fromFlatList('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [20,20,22,22,27,29,2c,2f,5b,5d,7b,7b,7d,7d,a0,a0,201c,201d,25cc,25cc,1e2c0,1e2f9,1e2ff,1e2ff,]), + NotoFont.fromFlatList('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [20,20,27,27,a0,a0,200c,200d,118a0,118f2,118ff,118ff,]), + NotoFont.fromFlatList('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [20,20,a0,a0,3001,3002,3008,3011,3014,301b,30fb,30fb,a000,a48c,a490,a4c6,ff61,ff65,]), + NotoFont.fromFlatList('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [20,20,a0,a0,25cc,25cc,11a00,11a47,]), ]; diff --git a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart index 056a182dd3078..789460ecb4875 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart @@ -3,15 +3,16 @@ // found in the LICENSE file. class NotoFont { - const NotoFont(this.name, this.url, List unicodeRanges) { - List starts = []; - List ends = []; - for (int i = 0; i < unicodeRanges.length; i += 2) { - starts.add(unicodeRanges[i]); - ends.add(unicodeRanges[i+1]); + const NotoFont(this.name, this.url, this._rangeStarts, this._rangeEnds); + + factory NotoFont.fromFlatRanges(String name, String url, List flatRanges) { + final List starts = []; + final List ends = []; + for (int i = 0; i < flatRanges.length; i += 2) { + starts.add(flatRanges[i]); + ends.add(flatRanges[i+1]); } - this._rangeStarts = starts; - this._rangeEnds = ends; + return NotoFont(name, url, starts, ends); } final String name; @@ -22,18 +23,34 @@ class NotoFont { // A sorted list of Unicode range end points. final List _rangeEnds; + List get unicodeRanges { + final List result = []; + for (int i = 0; i < _rangeStarts.length; i++) { + result.add(CodeunitRange(_rangeStarts[i], _rangeEnds[i])); + } + return result; + } // Returns `true` if this font has a glyph for the given [codeunit]. - bool contains(int codeunit) { - // The list of codeunit ranges is sorted. - for (final CodeunitRange range in unicodeRanges) { - if (range.start > codeunit) { - return false; - } else { - // range.start <= codeunit - if (range.end >= codeunit) { - return true; + bool contains(int codeUnit) { + // Binary search through the starts and ends to see if there + // is a range that contains the codeunit. + int min = 0; + int max = _rangeStarts.length; + // Search for the first rangeStart that is greater than codeunit. + while (min < max) { + final int mid = (min + max) ~/ 2; + if (_rangeStarts[mid] > codeUnit) { + if (mid == 0) return false; + final int rangeStart = _rangeStarts[mid - 1]; + if (rangeStart <= codeUnit) { + final int rangeEnd = _rangeEnds[mid - 1]; + return rangeStart <= codeUnit && codeUnit <= rangeEnd; + } else { + max = mid - 1; } + } else if (_rangeStarts[mid] < codeUnit) { + min = mid; } } return false; From 4275e7c4ebc7a29c52c520745a76f5d18c3fc14a Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 9 Aug 2022 16:32:14 -0700 Subject: [PATCH 13/33] Update README --- lib/web_ui/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/web_ui/README.md b/lib/web_ui/README.md index 4284463585a3c..ca664f4023549 100644 --- a/lib/web_ui/README.md +++ b/lib/web_ui/README.md @@ -226,6 +226,18 @@ directly), follow these steps to roll to the new version: If you have questions, contact the Flutter Web team on Flutter Discord on the #hackers-web-🌍 channel. +### Rolling Noto Font Data + +In order to generate new font data for Noto fallback fonts, run: + +``` +./dev/felt generate-fallback-font-data --key= +``` + +This will generate the file `lib/src/engine/canvaskit/font_fallback_data.dart` with +the latest data from GoogleFonts. This generated file should then be rolled in with +a PR to the engine. + ### Configuration files `browser_lock.yaml` contains the version of browsers we use to test Flutter for From 3ac2c06f96cf452e67b6fa659a5369f22b2d7db4 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 9 Aug 2022 17:24:04 -0700 Subject: [PATCH 14/33] Add edge cases for when the range containing the unit is either the first or last --- lib/web_ui/lib/src/engine/canvaskit/noto_font.dart | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart index 789460ecb4875..f9c61ff728985 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart @@ -41,7 +41,11 @@ class NotoFont { while (min < max) { final int mid = (min + max) ~/ 2; if (_rangeStarts[mid] > codeUnit) { - if (mid == 0) return false; + if (mid == 0) { + final int rangeStart = _rangeStarts[mid]; + final int rangeEnd = _rangeEnds[mid]; + return rangeStart <= codeUnit && codeUnit <= rangeEnd; + } final int rangeStart = _rangeStarts[mid - 1]; if (rangeStart <= codeUnit) { final int rangeEnd = _rangeEnds[mid - 1]; @@ -50,6 +54,12 @@ class NotoFont { max = mid - 1; } } else if (_rangeStarts[mid] < codeUnit) { + // If this is the last index, check if the codeunit is contained within it. + if (mid == _rangeStarts.length) { + final int rangeStart = _rangeStarts[mid]; + final int rangeEnd = _rangeEnds[mid]; + return rangeStart <= codeUnit && codeUnit <= rangeEnd; + } min = mid; } } From 2724489f31598f3127b3a41b7959861c1b4c9e75 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 9 Aug 2022 17:25:53 -0700 Subject: [PATCH 15/33] Fix edge cases in binary search where first or last range contains the unit --- lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart | 2 +- lib/web_ui/lib/src/engine/canvaskit/noto_font.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 777cbb36b7443..7c54984758ff6 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -49,7 +49,7 @@ class FontFallbackData { for (final NotoFont font in fallbackFonts) { // ignore: prefer_foreach - for (final CodeunitRange range in font.unicodeRanges) { + for (final CodeunitRange range in font.computeUnicodeRanges()) { ranges.putIfAbsent(font, () => []).add(range); } } diff --git a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart index f9c61ff728985..edefd348a0830 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart @@ -23,7 +23,7 @@ class NotoFont { // A sorted list of Unicode range end points. final List _rangeEnds; - List get unicodeRanges { + List computeUnicodeRanges() { final List result = []; for (int i = 0; i < _rangeStarts.length; i++) { result.add(CodeunitRange(_rangeStarts[i], _rangeEnds[i])); From 9744831ab17891eb9b00e2320b43788b4055796a Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 11:28:57 -0700 Subject: [PATCH 16/33] Retry tests --- lib/web_ui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web_ui/README.md b/lib/web_ui/README.md index 62ae80c70d357..1a940b0f92e1a 100644 --- a/lib/web_ui/README.md +++ b/lib/web_ui/README.md @@ -207,7 +207,7 @@ If you have questions, contact the Flutter Web team on Flutter Discord on the ### Rolling Noto Font Data -In order to generate new font data for Noto fallback fonts, run: +In order to generate new data for the Noto fallback fonts, run: ``` ./dev/felt generate-fallback-font-data --key= From a6b6567045048af9203acc7fd009f1a927b64a33 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 12:23:11 -0700 Subject: [PATCH 17/33] Fix generated file --- .../engine/canvaskit/font_fallback_data.dart | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index 902b381e0e5c5..2b4ace73e0637 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -1,5 +1,5 @@ // Copyright 2013 The Flutter Authors. All rights reserved. -/s Use of this source code is governed by a BSD-style license that can be +// Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // DO NOT EDIT! This file is generated. See: @@ -24,7 +24,7 @@ const List fallbackFonts = [ NotoFont.fromFlatList('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [20,20,a0,a0,200b,200b,25cc,25cc,11c00,11c08,11c0a,11c36,11c38,11c45,11c50,11c6c,]), NotoFont.fromFlatList('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,11000,1104d,11052,1106f,1107f,1107f,]), NotoFont.fromFlatList('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [20,20,a0,a0,1a00,1a1b,1a1e,1a1f,200b,200d,25cc,25cc,a9cf,a9cf,]), - NotoFont.fromFlatList('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v15/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [20,20,a0,a0,1735,1736,1740,1753,200b,200d,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v17/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1735,1736,1740,1753,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [20,20,a0,a0,131,131,2c7,2c7,2d8,2db,307,307,1400,167f,18b0,18f5,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [20,20,a0,a0,102a0,102d0,]), NotoFont.fromFlatList('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [20,20,a0,a0,304,304,331,331,25cc,25cc,fe20,fe2f,10530,10563,1056f,1056f,]), @@ -35,16 +35,16 @@ const List fallbackFonts = [ NotoFont.fromFlatList('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [20,20,a0,a0,12000,12399,12400,1246e,12470,12474,12480,12543,]), NotoFont.fromFlatList('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [20,20,a0,a0,10800,10805,10808,10808,1080a,10835,10837,10838,1083c,1083c,1083f,1083f,]), NotoFont.fromFlatList('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [20,20,a0,a0,10400,1044f,]), - NotoFont.fromFlatList('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v16/TuGOUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv2lRdRhtCC4d.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,2bc,2bc,900,97f,1cd0,1cf6,1cf8,1cf9,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,20f0,20f0,2212,2212,25cc,25cc,a830,a839,a8e0,a8ff,]), + NotoFont.fromFlatList('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v19/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,900,97f,1cd0,1cf6,1cf8,1cf9,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,20f0,20f0,2122,2122,2212,2212,25cc,25cc,a830,a839,a8e0,a8ff,]), NotoFont.fromFlatList('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,1bc00,1bc6a,1bc70,1bc7c,1bc80,1bc88,1bc90,1bc99,1bc9c,1bca3,]), NotoFont.fromFlatList('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,13000,1342e,]), NotoFont.fromFlatList('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [20,20,a0,a0,b7,b7,305,305,391,3a1,3a3,3a9,3da,3da,3dc,3dc,3de,3de,25cc,25cc,10500,10527,]), NotoFont.fromFlatList('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [20,20,a0,a0,10fe0,10ff6,]), - NotoFont.fromFlatList('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v34/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [20,20,2d,2d,a0,a0,301,302,304,304,308,308,589,589,10a0,10c5,10c7,10c7,10cd,10cd,10d0,10ff,1c90,1cba,1cbd,1cbf,2010,2010,20be,20be,2d00,2d25,2d27,2d27,2d2d,2d2d,]), + NotoFont.fromFlatList('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v36/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,589,589,10a0,10c5,10c7,10c7,10cd,10cd,10d0,10ff,1c90,1cba,1cbd,1cbf,1e80,1e85,1e9e,1e9e,1ef2,1ef3,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20be,20be,2122,2122,2212,2212,2d00,2d25,2d27,2d27,2d2d,2d2d,]), NotoFont.fromFlatList('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [20,20,a0,a0,303,303,305,305,484,484,487,487,2c00,2c2e,2c30,2c5e,a66f,a66f,1e000,1e006,1e008,1e018,1e01b,1e021,1e023,1e024,1e026,1e02a,]), NotoFont.fromFlatList('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [20,20,a0,a0,304,305,308,308,331,331,10330,1034a,]), NotoFont.fromFlatList('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [20,20,a0,a0,951,952,964,965,baa,baa,bb5,bb5,be6,bf2,1cd0,1cd0,1cd2,1cd3,1cf2,1cf4,1cf8,1cf9,200c,200d,20f0,20f0,25cc,25cc,11300,11303,11305,1130c,1130f,11310,11313,11328,1132a,11330,11332,11333,11335,11339,1133b,11344,11347,11348,1134b,1134d,11350,11350,11357,11357,1135d,11363,11366,1136c,11370,11374,]), - NotoFont.fromFlatList('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v16/wlpsgx_HC1ti5ViekvcxnhMlCVo3f5p13JpDd6u3AQ.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,a81,a83,a85,a8d,a8f,a91,a93,aa8,aaa,ab0,ab2,ab3,ab5,ab9,abc,ac5,ac7,ac9,acb,acd,ad0,ad0,ae0,ae3,ae6,af1,af9,aff,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,a830,a839,]), + NotoFont.fromFlatList('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v19/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,a81,a83,a85,a8d,a8f,a91,a93,aa8,aaa,ab0,ab2,ab3,ab5,ab9,abc,ac5,ac7,ac9,acb,acd,ad0,ad0,ae0,ae3,ae6,af1,af9,aff,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a830,a839,]), NotoFont.fromFlatList('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [20,21,25,25,27,2f,3a,3a,3c,3f,a0,a0,d7,d7,f7,f7,200c,200d,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,11d60,11d65,11d67,11d68,11d6a,11d8e,11d90,11d91,11d93,11d98,11da0,11da9,]), NotoFont.fromFlatList('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,a01,a03,a05,a0a,a0f,a10,a13,a28,a2a,a30,a32,a33,a35,a36,a38,a39,a3c,a3c,a3e,a42,a47,a48,a4b,a4d,a51,a51,a59,a5c,a5e,a5e,a66,a76,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,262c,262c,a830,a839,]), NotoFont.fromFlatList('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3435,3435,3440,3440,344a,344a,344c,344c,3464,3464,3473,3473,347a,347a,347d,347e,3493,3493,3496,3496,34a5,34a5,34af,34af,34bc,34bc,34c1,34c1,34c8,34c8,34df,34df,34e4,34e4,34e6,34e6,34fb,34fb,3506,3506,353e,353e,3551,3551,3553,3553,3559,3559,3561,3561,356d,356d,3570,3570,3572,3572,3577,3578,3584,3584,3597,3598,35a1,35a1,35a5,35a5,35ad,35ad,35bf,35bf,35c1,35c1,35c5,35c5,35c7,35c7,35ca,35ca,35ce,35ce,35d2,35d2,35d6,35d6,35db,35db,35dd,35dd,35f1,35f3,35fb,35fb,35fe,35fe,3609,3609,3618,3618,361a,361a,3623,3623,3625,3625,362d,362d,3635,3635,3639,3639,363e,363e,3647,3649,364e,364e,365f,365f,3661,3661,367a,367a,3681,3681,369a,369a,36a5,36a5,36aa,36aa,36ac,36ac,36b0,36b1,36b5,36b5,36b9,36b9,36bc,36bc,36c1,36c1,36c3,36c5,36c7,36c8,36d3,36d4,36d6,36d6,36dd,36dd,36e1,36e2,36e5,36e6,36f5,36f5,3701,3701,3703,3703,3708,3708,370a,370a,370d,370d,371c,371c,3722,3723,3725,3725,372c,372d,3730,3730,3732,3733,373a,373a,3740,3740,3743,3743,3762,3762,376f,376f,3797,3797,37a0,37a0,37b9,37b9,37be,37be,37d6,37d6,37f2,37f2,37f8,37f8,37fb,37fb,380f,380f,3819,3819,3820,3820,382d,382d,3836,3836,3838,3838,3863,3863,3875,3875,38a0,38a0,38c3,38c3,38cc,38cc,38d1,38d1,38d4,38d4,38fa,38fa,3908,3908,3914,3914,3927,3927,3932,3932,393f,393f,394d,394d,3963,3963,3978,3978,3980,3980,3989,398a,3992,3992,3999,3999,399b,399b,39a1,39a1,39a4,39a4,39b8,39b8,39dc,39dc,39e2,39e2,39e5,39e5,39ec,39ec,39f8,39f8,39fb,39fb,39fe,39fe,3a01,3a01,3a03,3a03,3a06,3a06,3a17,3a18,3a29,3a2a,3a34,3a34,3a4b,3a4b,3a52,3a52,3a57,3a57,3a5c,3a5c,3a5e,3a5e,3a66,3a67,3a97,3a97,3aab,3aab,3abd,3abd,3ade,3ade,3ae0,3ae0,3af0,3af0,3af2,3af2,3af5,3af5,3afb,3afb,3b0e,3b0e,3b19,3b19,3b22,3b22,3b2b,3b2b,3b39,3b39,3b42,3b42,3b58,3b58,3b60,3b60,3b71,3b72,3b7b,3b7c,3b80,3b80,3b95,3b96,3b99,3b99,3ba1,3ba1,3bbc,3bbc,3bbe,3bbe,3bc2,3bc2,3bc4,3bc4,3bd7,3bd7,3bdd,3bdd,3bec,3bec,3bf2,3bf4,3c0d,3c0d,3c11,3c11,3c15,3c15,3c18,3c18,3c54,3c54,3c8b,3c8b,3ccb,3ccb,3ccd,3ccd,3cd1,3cd1,3cd6,3cd6,3cdc,3cdc,3ceb,3ceb,3cef,3cef,3d12,3d13,3d1d,3d1d,3d32,3d32,3d3b,3d3b,3d46,3d46,3d4c,3d4c,3d4e,3d4e,3d51,3d51,3d5f,3d5f,3d62,3d62,3d69,3d6a,3d6f,3d6f,3d75,3d75,3d7d,3d7d,3d85,3d85,3d88,3d88,3d8a,3d8a,3d8f,3d8f,3d91,3d91,3da5,3da5,3dad,3dad,3db4,3db4,3dbf,3dbf,3dc6,3dc7,3dc9,3dc9,3dcc,3dcd,3dd3,3dd3,3ddb,3ddb,3de7,3de8,3deb,3deb,3df3,3df4,3df7,3df7,3dfc,3dfd,3e06,3e06,3e40,3e40,3e43,3e43,3e48,3e48,3e55,3e55,3e74,3e74,3ea8,3eaa,3ead,3ead,3eb1,3eb1,3eb8,3eb8,3ebf,3ebf,3ec2,3ec2,3ec7,3ec7,3eca,3eca,3ecc,3ecc,3ed0,3ed1,3ed6,3ed7,3eda,3edb,3ede,3ede,3ee1,3ee2,3ee7,3ee7,3ee9,3ee9,3eeb,3eec,3ef0,3ef0,3ef3,3ef4,3efa,3efa,3efc,3efc,3eff,3f00,3f04,3f04,3f06,3f07,3f0e,3f0e,3f53,3f53,3f58,3f59,3f63,3f63,3f7c,3f7c,3f93,3f93,3fc0,3fc0,3fc8,3fc8,3fd7,3fd7,3fdc,3fdc,3fe5,3fe5,3fed,3fed,3ff9,3ffa,4004,4004,4009,4009,401d,401d,4039,4039,4045,4045,4053,4053,4057,4057,4062,4062,4065,4065,406a,406a,406f,406f,4071,4071,40a8,40a8,40b4,40b4,40bb,40bb,40bf,40bf,40c8,40c8,40d8,40d8,40df,40df,40f8,40f8,40fa,40fa,4102,4104,4109,4109,410e,410e,4131,4132,4167,4167,416c,416c,416e,416e,417c,417c,417f,417f,4181,4181,4190,4190,41b2,41b2,41c4,41c4,41ca,41ca,41cf,41cf,41db,41db,41ed,41ed,41ef,41ef,41f9,41f9,4211,4211,4223,4223,4240,4240,4260,4260,426a,426a,4276,4276,427a,427a,428c,428c,4294,4294,42a2,42a2,42b5,42b5,42b9,42b9,42bc,42bc,42f4,42f4,42fb,42fc,430a,430a,432b,432b,436e,436e,4397,4397,439a,439a,43ba,43ba,43c1,43c1,43d9,43d9,43df,43df,43ed,43ed,43f0,43f0,43f2,43f2,4401,4402,4413,4413,4425,4425,442d,442d,447a,447a,448f,448f,4491,4491,449f,44a0,44a2,44a2,44b0,44b0,44b7,44b7,44bd,44bd,44c0,44c0,44c3,44c3,44c5,44c5,44ce,44ce,44dd,44df,44e1,44e1,44e4,44e4,44e9,44ec,44f4,44f4,4503,4504,4509,4509,450b,450b,4516,4516,451b,451b,451d,451d,4527,4527,452e,452e,4533,4533,4536,4536,453b,453b,453d,453d,453f,453f,4543,4543,4551,4552,4555,4555,4558,4558,455c,455c,4561,4562,456a,456a,456d,456d,4577,4578,4585,4585,45a6,45a6,45b3,45b3,45da,45da,45e9,45ea,4603,4603,4606,4606,460f,460f,4615,4615,4617,4617,465b,465b,467a,467a,4680,4680,46a1,46a1,46ae,46ae,46bb,46bb,46cf,46d0,46f5,46f5,46f7,46f7,4713,4713,4718,4718,4736,4736,4744,4744,474e,474f,477c,477c,4798,4798,47a6,47a6,47d5,47d5,47ed,47ed,47f4,47f4,4800,4800,480b,480b,4837,4837,485d,485d,4871,4871,489b,489b,48ad,48ae,48d0,48d0,48dd,48dd,48ed,48ed,48f3,48f3,48fa,48fa,4906,4906,4911,4911,491e,491e,4925,4925,492a,492a,492d,492d,492f,4930,4935,4935,493c,493c,493e,493e,4945,4945,4951,4951,4953,4953,4965,4965,496a,496a,4972,4972,4989,4989,49a1,49a1,49a7,49a7,49df,49df,49e5,49e5,49e7,49e7,4a0f,4a0f,4a1d,4a1d,4a24,4a24,4a35,4a35,4a96,4a96,4aa4,4aa4,4ab4,4ab4,4ab8,4ab8,4ad1,4ad1,4ae4,4ae4,4aff,4aff,4b10,4b10,4b19,4b19,4b20,4b20,4b2c,4b2c,4b37,4b37,4b6f,4b70,4b72,4b72,4b7b,4b7b,4b7e,4b7e,4b8e,4b8e,4b90,4b90,4b93,4b93,4b96,4b97,4b9d,4b9d,4bbd,4bbe,4bc0,4bc0,4c04,4c04,4c07,4c07,4c0e,4c0e,4c32,4c32,4c3b,4c3b,4c3e,4c3e,4c40,4c40,4c47,4c47,4c57,4c57,4c5b,4c5b,4c6d,4c6d,4c77,4c77,4c7b,4c7b,4c7d,4c7d,4c81,4c81,4c85,4c85,4ca4,4ca4,4cae,4cae,4cb0,4cb0,4cb7,4cb7,4ccd,4ccd,4ce1,4ce2,4ced,4ced,4d07,4d07,4d09,4d09,4d10,4d10,4d34,4d34,4d76,4d77,4d89,4d89,4d91,4d91,4d9c,4d9c,4e00,4e01,4e03,4e04,4e07,4e11,4e14,4e16,4e18,4e1a,4e1c,4e1c,4e1e,4e1f,4e21,4e22,4e24,4e24,4e26,4e26,4e28,4e28,4e2a,4e33,4e36,4e39,4e3b,4e3d,4e3f,4e3f,4e42,4e43,4e45,4e45,4e47,4e49,4e4b,4e4b,4e4d,4e4f,4e52,4e53,4e56,4e56,4e58,4e5f,4e69,4e6a,4e73,4e73,4e78,4e78,4e7e,4e89,4e8b,4e8e,4e91,4e95,4e98,4e9b,4e9e,4ea6,4ea8,4ea8,4eab,4eae,4eb3,4eb3,4eb6,4eb7,4eb9,4ebc,4ebf,4ec4,4ec6,4ecb,4ecd,4ece,4ed4,4eda,4edc,4edf,4ee1,4ee1,4ee3,4ee5,4ee8,4eeb,4eee,4eee,4ef0,4ef8,4efb,4efb,4efd,4efd,4eff,4f05,4f08,4f0b,4f0d,4f15,4f17,4f1a,4f1d,4f1d,4f22,4f22,4f28,4f29,4f2c,4f2d,4f2f,4f30,4f32,4f34,4f36,4f3f,4f41,4f43,4f45,4f49,4f4b,4f64,4f67,4f67,4f69,4f6c,4f6e,4f70,4f72,4f8b,4f8d,4f8d,4f8f,4f92,4f94,4f98,4f9a,4f9e,4fa2,4fa2,4fa8,4fa8,4fab,4fab,4fae,4fb0,4fb2,4fb7,4fb9,4fbb,4fbd,4fbd,4fbf,4fc5,4fc7,4fd1,4fd3,4fd4,4fd6,4fe1,4fe4,4fe5,4fec,4fec,4fee,4ffa,4ffd,4ffe,5000,5000,5003,5003,5005,5009,500b,500f,5011,501c,501e,5023,5025,5031,5033,5035,5037,5037,503b,503c,5040,5041,5043,5043,5045,504f,5051,5051,5053,5053,5055,5058,505a,5066,5068,5070,5072,5077,507a,507a,507d,507d,5080,5083,5085,5085,5087,5088,508b,508e,5090,5092,5094,5096,5098,509e,50a2,50a3,50a6,50a6,50ac,50b8,50ba,50bf,50c1,50c2,50c4,50cb,50cd,50d1,50d3,50d7,50d9,50db,50dd,50dd,50df,50e1,50e3,50ea,50ec,50f1,50f3,50f6,50f8,50f9,50fb,510e,5110,5115,5117,5118,511a,511a,511c,511c,511f,5122,5124,5126,5129,512b,512d,512e,5130,5135,5137,513d,513f,5141,5143,5149,514b,514d,5151,5152,5154,5157,5159,5163,5165,5165,5167,516e,5171,5171,5174,5179,517c,517c,5180,5180,5182,5182,5186,518a,518d,518d,518f,518f,5191,5198,519a,519a,519c,519c,519e,519e,51a0,51a0,51a2,51a2,51a4,51a5,51a7,51a8,51aa,51ac,51ae,51ae,51b0,51b9,51bc,51be,51c3,51d4,51d7,51d8,51db,51e2,51e4,51e4,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fc,51fe,5200,5203,5205,520c,520e,520e,5210,5213,5216,5217,521c,5221,5224,522a,522e,522e,5230,5238,523a,523c,5241,5241,5243,5244,5246,5247,5249,524f,5252,5252,5254,5257,5259,5262,5268,526f,5272,5275,5277,527d,527f,5284,5287,528d,528f,5291,5293,5294,5296,529b,529f,52a1,52a3,52a4,52a6,52a6,52a8,52ae,52b5,52b5,52b9,52b9,52bb,52bc,52be,52be,52c0,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d0,52d3,52d5,52d9,52db,52db,52dd,52e4,52e6,52e6,52e9,52e9,52eb,52eb,52ef,52f1,52f3,52f5,52f7,52fc,52fe,52ff,5301,5301,5305,5306,5308,530b,530d,5312,5315,5317,5319,531a,531c,531d,531f,5324,5327,5327,532a,532a,532c,532d,532f,5334,5337,5339,533b,5345,5347,534a,534c,534e,5351,5354,5357,5357,535a,535a,535c,5361,5363,5364,5366,5367,5369,5369,536c,5375,5377,5379,537b,537f,5382,5382,5384,5384,538a,538a,538e,538f,5392,5394,5396,539a,539c,53a0,53a2,53a2,53a4,53ae,53b0,53b0,53b2,53b2,53b4,53b4,53b6,53b6,53b9,53b9,53bb,53bb,53c1,53c3,53c5,53c5,53c8,53cd,53d0,53d2,53d4,53d4,53d6,53db,53df,53e6,53e8,53f3,53f5,53f8,53fb,53fc,53fe,53fe,5401,5401,5403,5404,5406,5414,5416,5416,5418,5421,5423,5439,543b,5443,5445,5448,544a,544f,5454,5454,5460,546d,546f,5478,547a,5482,5484,5488,548b,5498,549a,549a,549c,549c,549e,549e,54a0,54b4,54b6,54c9,54cb,54d0,54d6,54d6,54da,54da,54de,54de,54e0,54eb,54ed,54ef,54f1,54f3,54f7,54f8,54fa,54fd,54ff,54ff,5501,5514,5517,5518,551a,551a,551e,551e,5523,5523,5525,5528,552a,5539,553b,553c,553e,5541,5543,554b,554d,5553,5555,5557,555c,555f,5561,5566,5569,556b,5571,5573,5575,5577,5579,5579,557b,5584,5586,5595,5598,559a,559c,559d,559f,559f,55a1,55ae,55b0,55b5,55b9,55bc,55bf,55df,55e1,55ea,55ec,55ec,55ee,55f2,55f5,55f7,55f9,5602,5604,5606,5608,5609,560c,5617,561b,5623,5625,5625,5627,5627,5629,562a,562c,5630,5632,563b,563d,5643,5645,5646,5648,564a,564c,5650,5652,5654,5657,565a,565d,565e,5660,5666,5668,5674,5676,567c,567e,5687,5689,5690,5692,5693,5695,5695,5697,569a,569c,569f,56a1,56a1,56a4,56a8,56aa,56af,56b1,56b7,56b9,56b9,56bc,56c3,56c5,56c6,56c8,56cd,56d1,56d1,56d3,56d4,56d6,56d7,56da,56db,56dd,56e2,56e4,56e5,56e7,56e7,56ea,56eb,56ed,56f1,56f7,56f7,56f9,56fb,56fd,56fd,56ff,5704,5707,570d,5712,5716,5718,5718,571a,5720,5722,5723,5728,572a,572c,5730,5732,5734,573b,573b,573d,5743,5745,5747,5749,5752,5754,5754,5757,5757,575b,575b,575f,575f,5761,5762,5764,5764,5766,576b,576d,576d,576f,5777,577a,5780,5782,5783,5788,5788,578a,578d,578f,5790,5793,5795,5797,57a5,57a7,57a7,57aa,57aa,57ae,57ae,57b3,57b6,57b8,57bf,57c1,57c4,57c6,57c8,57cb,57cc,57ce,57d0,57d2,57d2,57d4,57d5,57d7,57d7,57dc,57e7,57e9,57e9,57ec,57fe,5800,580e,5810,5810,5812,5812,5814,5814,5818,5819,581b,581e,5820,582a,582c,583b,583d,583d,583f,5840,5844,5844,5847,584f,5851,5855,5857,585f,5862,5865,5868,5869,586b,586d,586f,586f,5871,5876,5879,5883,5885,588b,588e,5894,5896,5896,5898,589a,589c,58a1,58a3,58a3,58a5,58ac,58ae,58b1,58b3,58b3,58b5,58b6,58ba,58bf,58c1,58c2,58c5,58c9,58cb,58cb,58ce,58d6,58d8,58e0,58e2,58e4,58e7,58e9,58eb,58ec,58ef,58f0,58f2,58f4,58f9,58ff,5902,5907,590a,590a,590c,590f,5911,5912,5914,5917,5919,591a,591c,591d,591f,5920,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5934,5934,5937,5938,593c,593c,593e,593e,5940,5940,5944,5945,5947,594a,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5962,5965,5965,5967,5967,5969,596e,5970,5979,597b,5985,5989,598a,598d,5990,5992,5994,5996,599a,599d,59a8,59ac,59ac,59ae,59c1,59c3,59d4,59d6,59d6,59d8,59de,59e0,59e1,59e3,59e6,59e8,5a03,5a09,5a0d,5a0f,5a0f,5a11,5a13,5a15,5a1c,5a1e,5a21,5a23,5a25,5a27,5a27,5a29,5a2e,5a33,5a33,5a35,5a39,5a3c,5a3e,5a40,5a4a,5a4c,5a4d,5a50,5a6e,5a70,5a71,5a77,5a7f,5a81,5a84,5a86,5a86,5a88,5a88,5a8a,5a8c,5a8e,5a97,5a99,5aa2,5aa4,5aa7,5aa9,5aac,5aae,5ac4,5ac6,5acf,5ad1,5ad1,5ad3,5ad3,5ad5,5ae6,5ae8,5aee,5af0,5af0,5af2,5afb,5afd,5aff,5b01,5b03,5b05,5b05,5b07,5b09,5b0b,5b0d,5b0f,5b11,5b13,5b17,5b19,5b1b,5b1d,5b21,5b23,5b28,5b2a,5b30,5b32,5b32,5b34,5b34,5b38,5b38,5b3c,5b41,5b43,5b48,5b4a,5b51,5b53,5b58,5b5a,5b5d,5b5f,5b5f,5b62,5b66,5b68,5b69,5b6b,5b6e,5b70,5b78,5b7a,5b7d,5b7f,5b85,5b87,5b89,5b8b,5b8c,5b8e,5b90,5b92,5b93,5b95,5b9f,5ba2,5ba8,5baa,5baa,5bac,5bae,5bb0,5bb0,5bb3,5bb9,5bbf,5bc7,5bca,5bce,5bd0,5bd9,5bdb,5bdb,5bde,5bec,5bee,5bf3,5bf5,5bf6,5bf8,5bf8,5bfa,5bfa,5bff,5bff,5c01,5c01,5c03,5c05,5c07,5c16,5c1a,5c1a,5c1c,5c1c,5c1e,5c20,5c22,5c25,5c28,5c28,5c2a,5c2a,5c2c,5c2c,5c30,5c31,5c33,5c33,5c37,5c3c,5c3e,5c41,5c44,5c51,5c53,5c56,5c58,5c59,5c5c,5c5e,5c60,5c60,5c62,5c65,5c67,5c6a,5c6c,5c6f,5c71,5c71,5c73,5c74,5c78,5c7c,5c7e,5c7e,5c83,5c83,5c85,5c86,5c88,5c8d,5c8f,5c95,5c99,5c9a,5c9c,5cb1,5cb3,5cb3,5cb5,5cb8,5cba,5cba,5cc1,5cc2,5cc6,5ccc,5cce,5cdb,5cde,5cdf,5ce5,5ce5,5ce8,5cea,5cec,5cf1,5cf4,5cf9,5cfb,5cfd,5cff,5d01,5d06,5d07,5d0b,5d12,5d14,5d1b,5d1d,5d20,5d22,5d29,5d2c,5d2c,5d2e,5d3a,5d3c,5d43,5d45,5d4c,5d4e,5d4e,5d50,5d52,5d55,5d57,5d59,5d59,5d5b,5d5b,5d5e,5d5e,5d62,5d63,5d65,5d65,5d67,5d69,5d6b,5d6c,5d6f,5d72,5d74,5d74,5d77,5d82,5d84,5d8b,5d8d,5d8e,5d92,5d95,5d97,5d97,5d99,5d9a,5d9c,5da2,5da4,5da4,5da7,5db2,5db4,5dba,5dbc,5dbd,5dc0,5dc3,5dc6,5dc7,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dcf,5dcf,5dd1,5dd2,5dd4,5dd8,5ddb,5ddb,5ddd,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df0,5df5,5df7,5df7,5df9,5df9,5dfd,5dff,5e02,5e04,5e06,5e06,5e09,5e0c,5e0e,5e0e,5e11,5e12,5e14,5e1b,5e1d,5e1d,5e1f,5e25,5e28,5e29,5e2b,5e2b,5e2d,5e2e,5e33,5e34,5e36,5e38,5e3d,5e3e,5e40,5e45,5e48,5e48,5e4a,5e4f,5e53,5e55,5e57,5e59,5e5b,5e63,5e66,5e70,5e72,5e76,5e78,5e80,5e82,5e84,5e86,5e8d,5e8f,5e8f,5e92,5e92,5e95,5e97,5e99,5e9c,5ea0,5ea0,5ea2,5ea8,5eaa,5eae,5eb0,5eb9,5ebd,5ebe,5ec1,5ec2,5ec4,5ece,5ed0,5ee3,5ee5,5ee9,5eec,5eec,5eee,5eef,5ef1,5ef4,5ef6,5efc,5efe,5eff,5f01,5f02,5f04,5f05,5f07,5f08,5f0a,5f0f,5f12,5f15,5f17,5f18,5f1a,5f1b,5f1d,5f1d,5f1f,5f1f,5f22,5f29,5f2d,5f2e,5f30,5f31,5f33,5f33,5f35,5f38,5f3a,5f3c,5f40,5f40,5f43,5f46,5f48,5f51,5f54,5f54,5f56,5f59,5f5c,5f5e,5f61,5f65,5f67,5f67,5f69,5f6d,5f6f,5f74,5f76,5f79,5f7b,5f83,5f85,5f8c,5f90,5f92,5f96,5f99,5f9b,5f9c,5f9e,5fa1,5fa4,5faf,5fb1,5fb2,5fb5,5fb7,5fb9,5fc5,5fc9,5fc9,5fcc,5fcd,5fcf,5fd2,5fd4,5fd9,5fdb,5fdb,5fdd,5fe1,5fe3,5fe5,5fe8,5fe8,5fea,5feb,5fed,5fef,5ff1,5ff1,5ff3,5ff5,5ff7,5ff8,5ffa,5ffb,5ffd,5ffd,5fff,6000,6009,6017,6019,601e,6020,602f,6031,6035,6037,6037,6039,6039,603b,603b,6040,6047,6049,604d,6050,6050,6052,6055,6058,605b,605d,605f,6062,6070,6072,6072,6075,6075,6077,6077,607e,6081,6083,608a,608c,608e,6090,6090,6092,6092,6094,6097,609a,60a0,60a2,60a4,60a6,60a8,60b0,60c1,60c3,60cf,60d1,60d1,60d3,60d5,60d7,60e4,60e6,60e9,60f0,6101,6103,6110,6112,6116,6118,611d,611f,6120,6122,6123,6127,6129,612b,612c,612e,6130,6132,6132,6134,6134,6136,6137,613b,613b,613d,6142,6144,6150,6152,6156,6158,6168,616a,616c,616e,6177,6179,617a,617c,617e,6180,6183,6187,6187,6189,618e,6190,6196,6198,619d,619f,619f,61a1,61a2,61a4,61a4,61a7,61ba,61bc,61bc,61be,61c3,61c5,61cd,61cf,61d0,61d3,61d3,61d6,61d6,61d8,61d8,61da,61da,61de,61e0,61e2,61eb,61ed,61ee,61f0,61f2,61f5,6201,6203,6204,6207,620a,620c,620e,6210,6212,6214,6216,6219,621b,621f,6225,6227,6227,6229,622e,6230,6230,6232,6234,6236,6237,6239,623a,623d,6243,6246,624e,6250,6254,6258,625c,625e,625e,6260,6266,6268,6268,626d,6274,6276,6277,6279,628a,628c,628c,628e,6298,629d,629d,62a4,62a4,62a6,62a6,62a8,62b1,62b3,62b6,62b8,62b9,62bb,62bf,62c1,62dc,62df,62df,62e5,62e5,62eb,6303,6307,6309,630b,6311,6313,6316,6318,6318,6328,632f,6331,633e,6340,6351,6354,635a,635d,635d,6364,6365,6367,6369,636b,6372,6375,637d,637f,6385,6387,6392,6394,6394,6396,6399,639b,63a5,63a7,63b1,63b9,63b9,63bd,63be,63c0,63d3,63d5,63eb,63ed,63f6,63f8,63f9,63fb,63fc,63fe,63fe,6406,6407,6409,6410,6412,6418,641a,641c,641e,6428,642a,6430,6432,643b,643d,6441,6443,6443,644b,644b,644d,644e,6450,6454,6458,6461,6465,6469,646b,647d,647f,647f,6482,6482,6485,6485,6487,648d,648f,6493,6495,649a,649c,64a0,64a2,64a6,64a9,64a9,64ab,64b4,64b6,64b6,64bb,64c5,64c7,64c7,64c9,64cb,64cd,64d0,64d2,64d4,64d6,64db,64dd,64dd,64e0,64ed,64ef,64f4,64f7,64f8,64fa,6501,6503,6504,6506,6507,6509,650a,650c,6511,6513,6519,651b,6526,6529,6530,6532,6539,653b,653b,653d,653f,6541,6541,6543,6543,6545,6546,6548,654a,654d,654d,654f,654f,6551,6551,6553,655a,655c,655f,6562,6568,656a,656d,656f,656f,6572,657c,657f,6589,658b,658c,6590,6592,6594,6597,6599,6599,659b,65a2,65a4,65a5,65a7,65a8,65aa,65ac,65ae,65b0,65b2,65b3,65b5,65b9,65bb,65bf,65c1,65c6,65cb,65d4,65d6,65d7,65da,65db,65dd,65e3,65e5,65e6,65e8,65e9,65ec,65f5,65fa,65fd,65ff,6600,6602,6615,6618,6618,661c,6628,662b,662b,662d,6636,6639,663a,6641,6645,6647,664d,664f,664f,6651,6653,6657,6657,6659,6668,666a,666c,666e,6674,6676,667e,6680,6680,6684,668e,6690,6692,6694,669a,669d,669d,669f,66a2,66a4,66a4,66a8,66ab,66ad,66bb,66bd,66c0,66c4,66c4,66c6,66cf,66d2,66d2,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e4,66e6,66e9,66eb,66ee,66f0,66f4,66f6,66f9,66fc,66fc,66fe,6705,6708,6710,6712,6719,671b,671b,671d,6723,6725,6728,672a,672e,6731,6731,6733,6736,6738,673f,6744,6749,674b,6751,6753,6753,6755,6757,6759,675a,675c,6762,6767,6767,676a,677f,6781,6787,6789,6789,678b,6795,6797,679a,679c,679d,679f,67a0,67a4,67a4,67ac,67ac,67ae,67bb,67bf,67c6,67c8,67d4,67d6,67df,67e2,67e7,67e9,67fa,67fc,67fc,67fe,6804,680d,680d,6810,6810,6812,6814,6816,6818,681a,6822,6825,6826,6828,682b,682d,682f,6831,683e,6840,6851,6853,6856,685d,685d,6865,6865,686b,686b,686d,686f,6871,6872,6874,6879,687b,688c,688f,6894,6896,6898,689b,689d,689f,68a4,68a6,68b6,68b9,68b9,68bd,68bd,68c1,68c1,68c3,68ce,68d0,68d8,68da,68da,68dc,68e1,68e3,68e4,68e6,68ec,68ee,68fd,6900,6915,6917,691b,6925,6925,692a,692a,692c,692c,692f,6930,6932,6939,693b,6946,6948,694c,694e,694f,6951,697b,6980,6980,6982,6983,6985,6986,698a,698a,698d,698e,6990,6991,6993,699c,699e,69b7,69b9,69b9,69bb,69c4,69c6,69c6,69c9,69d1,69d3,69d6,69d9,69d9,69e1,69e2,69e4,69e9,69eb,69ee,69f1,69f4,69f6,6a0d,6a0f,6a0f,6a11,6a11,6a13,6a21,6a23,6a23,6a25,6a29,6a2b,6a2d,6a32,6a35,6a38,6a41,6a43,6a49,6a4b,6a5b,6a5d,6a6b,6a6d,6a6d,6a6f,6a6f,6a71,6a71,6a74,6a74,6a76,6a76,6a7a,6a7a,6a7e,6a85,6a87,6a87,6a89,6a8a,6a8c,6a97,6a99,6aa8,6aab,6aaf,6ab1,6abb,6abd,6abe,6ac2,6ac3,6ac5,6acd,6acf,6ad1,6ad3,6ad4,6ad8,6ae1,6ae5,6ae5,6ae7,6ae8,6aea,6aec,6aee,6af1,6af3,6af3,6af6,6af6,6af8,6afc,6b00,6b00,6b02,6b05,6b08,6b0b,6b0f,6b13,6b16,6b1a,6b1d,6b1e,6b20,6b21,6b23,6b23,6b25,6b25,6b28,6b28,6b2c,6b2d,6b2f,6b2f,6b31,6b3f,6b41,6b43,6b45,6b4e,6b50,6b52,6b54,6b57,6b59,6b59,6b5b,6b5c,6b5e,6b67,6b6a,6b6a,6b6d,6b6d,6b6f,6b6f,6b72,6b72,6b74,6b74,6b76,6b7b,6b7e,6b84,6b86,6b86,6b88,6b8a,6b8c,6b8f,6b91,6b91,6b94,6b99,6b9b,6b9b,6b9e,6ba0,6ba2,6ba7,6baa,6bab,6bad,6bb0,6bb2,6bb3,6bb5,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc3,6bcd,6bcf,6bd0,6bd2,6bd4,6bd6,6bd8,6bda,6bdc,6bde,6bde,6be0,6be4,6be6,6be8,6bea,6bec,6bef,6bf0,6bf2,6bf3,6bf7,6c06,6c08,6c09,6c0b,6c0d,6c0f,6c11,6c13,6c16,6c18,6c1d,6c1f,6c21,6c23,6c28,6c2a,6c2c,6c2e,6c3b,6c3d,6c43,6c46,6c46,6c49,6c50,6c52,6c52,6c54,6c55,6c57,6c61,6c65,6c6b,6c6d,6c76,6c78,6c7b,6c7d,6c90,6c92,6c96,6c98,6c9d,6c9f,6c9f,6ca2,6ca2,6caa,6cb4,6cb6,6cc7,6cc9,6cd7,6cd9,6ce3,6ce5,6ce5,6ce7,6cf3,6cf5,6cf5,6cf9,6cf9,6cff,6d12,6d16,6d1b,6d1d,6d20,6d22,6d22,6d24,6d42,6d4e,6d4e,6d57,6d5c,6d5e,6d6a,6d6c,6d72,6d74,6d98,6d9a,6d9a,6da4,6da5,6daa,6dac,6dae,6daf,6db1,6db5,6db7,6dc0,6dc2,6dc2,6dc4,6dcd,6dcf,6de6,6de8,6df7,6df9,6dfe,6e00,6e00,6e02,6e05,6e0a,6e0a,6e0f,6e0f,6e15,6e15,6e18,6e1d,6e1f,6e36,6e38,6e41,6e43,6e47,6e49,6e4b,6e4d,6e69,6e6b,6e6b,6e6e,6e6f,6e71,6e74,6e76,6e79,6e7c,6e7c,6e86,6e86,6e88,6e89,6e8b,6e8b,6e8d,6e90,6e92,6e94,6e96,6ea7,6eaa,6eab,6eae,6ed6,6ed8,6edd,6ee2,6ee2,6ee8,6ee9,6eeb,6eef,6ef1,6ef2,6ef4,6f0f,6f12,6f1a,6f1c,6f1c,6f1e,6f27,6f29,6f41,6f43,6f44,6f4e,6f58,6f5a,6f64,6f66,6f67,6f69,6f70,6f72,6f74,6f76,6f82,6f84,6f8e,6f90,6f90,6f92,6f97,6f9d,6fb6,6fb8,6fc4,6fc6,6fcf,6fd3,6fd5,6fd8,6fe4,6fe6,6fe9,6feb,6ff2,6ff4,6ff4,6ff6,6ff8,6ffa,6ffc,6ffe,7001,7003,7007,7009,700f,7011,7011,7014,7024,7026,702c,702f,7035,7037,703c,703e,7046,7048,704d,7050,7052,7054,7058,705a,706c,706e,7071,7074,707a,707c,707f,7081,7086,7089,708b,708e,708f,7091,7096,7098,709a,709f,70a1,70a3,70a7,70a9,70a9,70ab,70b1,70b3,70b5,70b7,70be,70c0,70c0,70c4,70c8,70ca,70da,70dc,70e2,70e4,70e4,70ef,70f1,70f3,7100,7102,7102,7104,7106,7109,710e,7110,7110,7113,7113,7117,7117,7119,7123,7125,7126,7128,7129,712b,712c,712e,7136,713a,713b,713e,713e,7140,7147,7149,7154,7156,715a,715c,716c,716e,716e,7170,7178,717a,717e,7180,7182,7184,718a,718c,718c,718e,7192,7194,7194,7196,71a5,71a7,71aa,71ac,71ad,71af,71b5,71b7,71ba,71bc,71cb,71ce,71d2,71d4,71d6,71d8,71dd,71df,71e2,71e4,71e8,71eb,71ee,71f0,71f2,71f4,71f6,71f8,71f9,71fb,7203,7205,7207,7209,720a,720c,7210,7213,7217,7219,721b,721d,721f,7222,722e,7230,7230,7235,7236,7238,723b,723d,7242,7244,7244,7246,724c,724f,7250,7252,7253,7255,7263,7266,7267,7269,726a,726c,726c,726e,7270,7272,7274,7276,7279,727b,7282,7284,7289,728b,7298,729a,729b,729d,729f,72a1,72aa,72ac,72b0,72b2,72b2,72b4,72b5,72ba,72ba,72bd,72bd,72bf,72c6,72c9,72ce,72d0,72d2,72d4,72d4,72d6,72da,72dc,72dc,72df,72e4,72e6,72e6,72e8,72eb,72f3,72f4,72f6,7302,7304,7304,7307,7308,730a,730c,730f,7313,7316,7319,731b,731e,7322,7323,7325,732e,7330,733c,733e,7345,7348,734a,734c,7352,7357,735b,735d,7362,7365,736c,736e,7378,737a,738c,738e,738f,7392,7398,739c,73a2,73a4,73ad,73b2,73bc,73be,73c0,73c2,73d0,73d2,73de,73e0,73eb,73ed,73ef,73f3,740d,7411,7412,7414,7417,7419,7426,7428,743a,743c,743c,743f,7457,7459,7465,7467,7476,7479,747a,747c,7483,7485,748d,7490,7490,7492,7492,7494,7495,7497,74a1,74a3,74ab,74ad,74ad,74af,74b2,74b4,74bb,74bd,74c3,74c5,74c6,74c8,74c8,74ca,74cc,74cf,74d0,74d3,74e9,74ec,74ec,74ee,74ee,74f0,74f2,74f4,74f8,74fb,74fb,74fd,7500,7502,7505,7507,7508,750b,751a,751c,751f,7521,7522,7525,7526,7528,7535,7537,753b,753d,7540,7542,7542,7546,7548,754a,754f,7551,7551,7553,7555,7559,755d,755f,7560,7562,7567,756a,7570,7572,7572,7576,757a,757d,7580,7583,7584,7586,7587,758a,7592,7594,7595,7598,759a,759d,759e,75a2,75a5,75a7,75a7,75aa,75ab,75b0,75b6,75b8,75c5,75c7,75c8,75ca,75d2,75d4,75d5,75d7,75e4,75e6,75e7,75ed,75ed,75ef,7603,7607,760d,760f,7611,7613,7616,7619,7629,762c,762d,762f,7635,7638,7638,763a,763d,7640,7640,7642,7643,7646,7649,764c,7654,7656,765a,765c,765c,765f,7662,7664,7667,7669,766a,766c,7676,7678,767f,7681,7682,7684,7684,7686,768b,768e,7690,7692,7693,7695,7696,7699,769e,76a1,76a1,76a4,76a6,76aa,76ab,76ad,76b0,76b4,76b5,76b7,76b8,76ba,76bb,76bd,76bf,76c2,76c6,76c8,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76df,76e1,76e1,76e3,76e7,76e9,76ea,76ec,76f5,76f7,76fc,76fe,76fe,7701,7701,7703,7705,7707,770c,770e,7713,7715,7715,7719,771b,771d,7720,7722,7729,772b,772b,772d,772d,772f,772f,7731,773e,7740,7740,7743,7747,774a,774f,7752,7752,7754,7756,7758,775c,775e,7763,7765,776f,7772,7772,7777,7785,7787,7789,778b,778f,7791,7791,7793,7793,7795,7795,7797,77a3,77a5,77a5,77a7,77a8,77aa,77ad,77af,77b7,77b9,77bf,77c2,77c5,77c7,77c7,77c9,77d0,77d3,77d5,77d7,77de,77e0,77e0,77e2,77e3,77e5,77e9,77ec,77f4,77f7,77fe,7802,7803,7805,7806,7808,7809,780c,7814,7818,7818,781c,7823,7825,7835,7837,7839,783c,783d,7842,7845,7847,784e,7850,7854,785c,785e,7860,7860,7862,7862,7864,7866,7868,7871,7879,787c,787e,7881,7883,7889,788c,788f,7891,7891,7893,789a,789e,78a5,78a7,78ad,78af,78b4,78b6,78b6,78b8,78bc,78be,78be,78c1,78c1,78c3,78c5,78c7,78d5,78d7,78d8,78da,78db,78dd,78e5,78e7,78ea,78ec,78f5,78f7,78f7,78f9,78ff,7901,7902,7904,7906,7909,7909,790c,790c,790e,790e,7910,7914,7917,7917,7919,7919,791b,791e,7921,7921,7923,792f,7931,7936,7938,7942,7944,794c,794f,7965,7967,796b,796d,796d,7970,7974,7979,797a,797c,7983,7986,7988,798a,798b,798d,799d,799f,79a2,79a4,79ae,79b0,79b4,79b6,79bb,79bd,79c1,79c4,79c6,79c8,79d2,79d4,79d6,79d8,79d8,79dc,79e0,79e2,79e4,79e6,79e7,79e9,79ee,79f1,79f1,79f4,79f4,79f6,79f8,79fa,79fb,7a00,7a00,7a02,7a06,7a08,7a08,7a0a,7a0e,7a10,7a15,7a17,7a1c,7a1e,7a20,7a22,7a22,7a26,7a26,7a28,7a28,7a2a,7a32,7a37,7a37,7a39,7a40,7a43,7a4e,7a54,7a54,7a56,7a58,7a5a,7a5c,7a5f,7a62,7a65,7a65,7a67,7a69,7a6b,7a6e,7a70,7a72,7a74,7a76,7a78,7a7b,7a7d,7a81,7a83,7a8c,7a8f,7a99,7a9e,7aa0,7aa2,7aa3,7aa8,7aac,7aae,7ab8,7aba,7abc,7abe,7ac5,7ac7,7acb,7acf,7acf,7ad1,7ad1,7ad3,7ad3,7ad8,7add,7adf,7ae0,7ae2,7ae7,7ae9,7aeb,7aed,7aef,7af6,7af7,7af9,7b01,7b04,7b06,7b08,7b0c,7b0e,7b14,7b18,7b1b,7b1d,7b20,7b22,7b35,7b38,7b39,7b3b,7b3b,7b40,7b40,7b42,7b52,7b54,7b56,7b58,7b58,7b60,7b67,7b69,7b69,7b6c,7b78,7b7b,7b7b,7b82,7b82,7b84,7b85,7b87,7b88,7b8a,7b92,7b94,7b9d,7ba0,7ba4,7bac,7baf,7bb1,7bb2,7bb4,7bb5,7bb7,7bb9,7bbe,7bbe,7bc0,7bc1,7bc4,7bc7,7bc9,7bcc,7bce,7bd0,7bd4,7bd5,7bd8,7bec,7bf0,7bf4,7bf7,7c03,7c05,7c07,7c09,7c12,7c15,7c15,7c19,7c19,7c1b,7c23,7c25,7c2d,7c30,7c30,7c33,7c33,7c35,7c35,7c37,7c39,7c3b,7c40,7c42,7c45,7c47,7c4a,7c4c,7c4d,7c50,7c51,7c53,7c54,7c56,7c57,7c59,7c5d,7c5f,7c60,7c63,7c67,7c69,7c70,7c72,7c75,7c78,7c81,7c83,7c86,7c88,7c8a,7c8c,7c8e,7c91,7c92,7c94,7c98,7c9c,7c9c,7c9e,7c9f,7ca1,7ca3,7ca5,7ca8,7cac,7cac,7cae,7caf,7cb1,7cb5,7cb8,7cbf,7cc2,7cc3,7cc5,7cc5,7cc7,7cce,7cd0,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce8,7cea,7cea,7cec,7cf9,7cfb,7cfe,7d00,7d22,7d25,7d25,7d28,7d29,7d2b,7d2c,7d2e,7d33,7d35,7d36,7d38,7d47,7d4a,7d4a,7d4d,7d56,7d58,7d58,7d5a,7d5f,7d61,7d63,7d66,7d6b,7d6d,7d73,7d79,7d7d,7d7f,7d81,7d83,7d86,7d88,7d89,7d8b,7d8f,7d91,7d97,7d9c,7da4,7da6,7db5,7db7,7dc2,7dc4,7dc7,7dc9,7dd0,7dd2,7dd4,7dd7,7de1,7de3,7dea,7dec,7dec,7dee,7df7,7df9,7dfe,7e03,7e03,7e07,7e17,7e1a,7e25,7e27,7e27,7e29,7e2b,7e2d,7e49,7e4c,7e4c,7e50,7e5c,7e5e,7e63,7e65,7e65,7e67,7e70,7e72,7e82,7e86,7e88,7e8a,7e8f,7e91,7e9c,7e9f,7e9f,7ea4,7ea4,7eac,7eac,7eba,7eba,7ec7,7ec7,7ecf,7ecf,7edf,7edf,7f06,7f06,7f36,7f3a,7f3d,7f41,7f43,7f45,7f47,7f55,7f58,7f58,7f5b,7f61,7f63,7f63,7f65,7f6e,7f70,7f73,7f75,7f7f,7f83,7f83,7f85,7f8f,7f91,7f97,7f9a,7f9e,7fa0,7fa9,7fac,7fc3,7fc5,7fc5,7fc7,7fc7,7fc9,7fd2,7fd4,7fd5,7fd7,7fd7,7fdb,7fe3,7fe5,7ff5,7ff7,8008,800b,8012,8014,8019,801b,8021,8024,8026,8028,802a,802c,802c,802e,8031,8033,8037,8039,8039,803b,803f,8043,8043,8046,8048,804a,804a,804f,8052,8054,8054,8056,8056,8058,8058,805a,805e,8061,8064,8066,8067,806c,806c,806f,8073,8075,8079,807d,8080,8082,8082,8084,8087,8089,808c,808f,8090,8092,8093,8095,8096,8098,809d,809f,809f,80a1,80a3,80a5,80a5,80a7,80a7,80a9,80ab,80ad,80af,80b1,80b2,80b4,80b8,80ba,80ba,80bc,80bd,80c2,80ca,80cc,80d1,80d4,80de,80e0,80e1,80e3,80e6,80e9,80e9,80ec,80ed,80ef,80f6,80f8,80fe,8100,8103,8105,810a,810c,810c,810e,810e,8112,8112,8114,811b,811d,811f,8121,8125,8127,8127,8129,812d,812f,8132,8134,8134,8137,8137,8139,813a,813d,813e,8142,8144,8146,8148,814a,8156,8159,815c,815e,815e,8160,8162,8164,8167,8169,8169,816b,8174,8176,817a,817c,817d,817f,8180,8182,8184,8186,818d,818f,818f,8193,8193,8195,8195,8197,81a0,81a2,81a3,81a5,81ac,81ae,81ae,81b0,81b7,81b9,81ca,81cc,81cd,81cf,81d2,81d5,81d5,81d7,81db,81dd,81ea,81ec,81ef,81f2,81f4,81f6,81fc,81fe,8202,8204,8205,8207,820d,8210,8212,8214,8216,8218,8218,821a,8222,8225,8226,8228,822d,822f,822f,8232,823a,823c,8240,8242,8242,8244,8245,8247,8247,8249,8249,824b,824b,824e,825c,825e,825f,8261,8266,8268,8269,826b,826f,8271,8272,8274,8280,8283,8285,8287,8287,828a,828b,828d,8294,8298,829b,829d,82b1,82b3,82c0,82c2,82c4,82ca,82ca,82cf,82d9,82db,82dc,82de,82e8,82ea,8309,830b,830d,8316,831e,8320,8320,8322,8322,8324,832d,832f,832f,8331,833d,833f,8345,8347,8354,8356,8357,8362,8363,8366,8366,836f,836f,8373,8378,837a,837f,8381,8381,8383,8383,8385,839e,83a0,83a0,83a2,83ac,83ae,83b0,83b9,83b9,83bd,83cf,83d1,83d1,83d3,83d9,83db,83e5,83e7,83f6,83f8,83ff,8401,8401,8403,8407,8409,8414,8416,8416,8418,8418,841b,841c,8420,8421,8423,8424,8426,8426,8429,8429,842b,8440,8442,844e,8450,8469,846b,847a,847d,8480,8482,8482,8484,8484,8486,8486,8488,8488,848d,8494,8496,84a4,84a7,84b2,84b4,84b4,84b6,84b6,84b8,84c2,84c4,84c7,84c9,84d4,84d6,84d7,84da,84db,84de,84de,84e1,84e2,84e4,84e5,84e7,84ec,84ee,84f4,84f6,8500,8502,851a,851c,8521,8523,8531,8533,8534,8538,8538,853b,853b,853d,853e,8540,854e,8551,855b,855d,8571,8573,8573,8575,857c,857e,857e,8580,8591,8593,85a4,85a6,85aa,85af,85b1,85b3,85ba,85bd,85c9,85cb,85cb,85cd,85d2,85d5,85da,85dc,85e6,85e8,85f2,85f4,85f4,85f6,8602,8604,8607,8609,860d,860f,8611,8613,8614,8616,861c,861e,862a,862c,862f,8631,8636,8638,863c,863e,8640,8642,8643,8645,8648,864b,864e,8650,8650,8652,8656,8659,8659,865b,865c,865e,865f,8661,8665,8667,8674,8677,8677,8679,867c,867e,867e,8685,8687,868a,868e,8690,869a,869c,869e,86a0,86a5,86a7,86aa,86ad,86ad,86af,86c9,86cb,86cc,86d0,86d1,86d3,86d4,86d6,86df,86e2,86e4,86e6,86e6,86e8,86ed,86ef,86ef,86f5,86fb,86fe,86fe,8700,870e,8711,8713,8715,8715,8718,871c,871e,871e,8720,872a,872c,872e,8730,8735,8737,8738,873a,873c,873e,8743,8746,8746,874c,8771,8773,877b,877d,877d,8781,8789,878b,878d,878f,8794,8796,8798,879a,879f,87a2,87a5,87a9,87c6,87c8,87cc,87ce,87ce,87d1,87d4,87d6,87e8,87ea,87ef,87f2,87f7,87f9,87fc,87fe,8806,8808,880d,880f,8811,8813,8819,881b,881d,881f,8833,8835,8839,883b,8846,8848,8848,884a,884f,8852,8853,8855,8857,8859,885b,885d,885e,8860,8865,8867,886b,886d,8872,8874,8877,8879,8879,887c,8884,8887,8889,888b,8893,8895,88a2,88a4,88a4,88a7,88a8,88aa,88ac,88ae,88ae,88b1,88b2,88b4,88ba,88bc,88c2,88c5,88c5,88c7,88c7,88c9,88d0,88d2,88d2,88d4,88df,88e1,88e1,88e6,88e8,88eb,88ec,88ee,8902,8905,8907,8909,890c,890e,890e,8910,891a,891e,891f,8921,8927,8929,8933,8935,8938,893b,893e,8941,8944,8946,8947,8949,8949,894b,894d,894f,8954,8956,8966,8969,896f,8971,8974,8976,8977,8979,897c,897e,8983,8985,898b,898f,898f,8991,8991,8993,8998,899b,899f,89a1,89a7,89a9,89aa,89ac,89af,89b2,89b2,89b6,89b7,89b9,89ba,89bc,89c1,89c6,89c6,89d2,89d6,89d9,89dd,89df,89e9,89eb,89ed,89f0,89f4,89f6,89f8,89fa,89fc,89fe,8a00,8a02,8a04,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a13,8a15,8a18,8a1b,8a1f,8a22,8a23,8a25,8a25,8a27,8a27,8a29,8a2d,8a30,8a31,8a34,8a34,8a36,8a36,8a38,8a41,8a44,8a46,8a48,8a4a,8a4c,8a52,8a54,8a59,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a69,8a6b,8a6e,8a70,8a77,8a79,8a7c,8a7e,8a7f,8a81,8a87,8a8b,8a8d,8a8f,8a96,8a98,8a9a,8a9c,8a9c,8a9e,8a9e,8aa0,8aa1,8aa3,8aac,8aaf,8ab0,8ab2,8ab2,8ab4,8ab4,8ab6,8ab6,8ab8,8ac0,8ac2,8ac9,8acb,8acd,8acf,8acf,8ad1,8ae2,8ae4,8ae4,8ae6,8ae8,8aea,8aeb,8aed,8afc,8afe,8b02,8b04,8b08,8b0a,8b20,8b22,8b28,8b2a,8b31,8b33,8b33,8b35,8b37,8b39,8b43,8b45,8b5a,8b5c,8b60,8b62,8b63,8b65,8b6d,8b6f,8b70,8b74,8b74,8b77,8b7b,8b7d,8b86,8b88,8b88,8b8a,8b8c,8b8e,8b90,8b92,8b96,8b98,8b9c,8b9e,8ba0,8bbe,8bbe,8be2,8be2,8c37,8c37,8c39,8c39,8c3b,8c3f,8c41,8c43,8c45,8c51,8c54,8c57,8c5a,8c5a,8c5c,8c5d,8c5f,8c5f,8c61,8c62,8c64,8c66,8c68,8c6d,8c6f,8c73,8c75,8c7b,8c7d,8c7d,8c80,8c82,8c84,8c86,8c89,8c8a,8c8c,8c8d,8c8f,8c95,8c97,8ca5,8ca7,8cad,8caf,8cb0,8cb2,8cc5,8cc7,8cc8,8cca,8cca,8ccc,8ccd,8ccf,8ccf,8cd1,8cd7,8cd9,8cee,8cf0,8cf5,8cf7,8cfe,8d00,8d00,8d02,8d0d,8d0f,8d19,8d1b,8d1d,8d64,8d64,8d66,8d69,8d6b,8d70,8d72,8d74,8d76,8d7b,8d7d,8d7d,8d80,8d82,8d84,8d85,8d89,8d8a,8d8c,8d96,8d99,8d99,8d9b,8d9c,8d9f,8da1,8da3,8da3,8da5,8daf,8db2,8db7,8db9,8dba,8dbc,8dbc,8dbe,8dc3,8dc5,8dc8,8dcb,8dd1,8dd3,8ddd,8ddf,8de4,8de6,8dec,8dee,8df4,8dfa,8dfa,8dfc,8e07,8e09,8e0a,8e0d,8e2b,8e2d,8e2e,8e30,8e31,8e33,8e36,8e38,8e3a,8e3c,8e42,8e44,8e50,8e53,8e57,8e59,8e6a,8e6c,8e6d,8e6f,8e6f,8e71,8e78,8e7a,8e7c,8e7e,8e7e,8e80,8e82,8e84,8e8e,8e90,8e98,8e9a,8e9a,8e9d,8ea1,8ea3,8ead,8eb0,8eb0,8eb2,8eb2,8eb6,8eb6,8eb9,8eba,8ebc,8ebd,8ec0,8ec0,8ec2,8ec3,8ec9,8ecf,8ed1,8ed4,8ed7,8ed8,8eda,8ee2,8ee4,8ee9,8eeb,8eef,8ef1,8ef2,8ef4,8efc,8efe,8f03,8f05,8f0b,8f0d,8f0e,8f10,8f20,8f23,8f26,8f29,8f2a,8f2c,8f30,8f32,8f39,8f3b,8f3c,8f3e,8f4b,8f4d,8f64,8f66,8f67,8f6e,8f6e,8f93,8f93,8f9b,8f9c,8f9f,8fa0,8fa3,8fa3,8fa5,8fa8,8fad,8fbc,8fbe,8fbf,8fc1,8fc2,8fc4,8fc6,8fc9,8fd7,8fda,8fda,8fe0,8fe6,8fe8,8fe8,8fea,8feb,8fed,8fee,8ff0,8ff0,8ff4,9006,9008,9008,900b,900d,900f,9012,9014,9017,9019,9024,902d,902f,9031,9038,903c,903f,9041,9042,9044,9044,9046,9047,9049,9056,9058,9059,905b,905e,9060,9064,9067,9069,906b,9070,9072,9088,908a,908b,908d,908d,908f,9091,9094,9095,9097,9099,909b,909b,909e,90a3,90a5,90a8,90aa,90aa,90ae,90b6,90b8,90b8,90bb,90bb,90bd,90bf,90c1,90c1,90c3,90c5,90c7,90c8,90ca,90cb,90ce,90ce,90d4,90dd,90df,90e5,90e8,90ed,90ef,90f5,90f9,9109,910b,910b,910d,9112,9114,9114,9116,9124,9126,9136,9138,913b,913e,9141,9143,9153,9155,915a,915c,915c,915e,9165,9167,916a,916c,916c,916e,9170,9172,917a,917c,917c,9180,9187,9189,9193,9196,9196,9199,91a3,91a5,91a5,91a7,91b7,91b9,91be,91c0,91c7,91c9,91c9,91cb,91d1,91d3,91da,91dc,91dd,91df,91df,91e2,91ee,91f1,91f1,91f3,91fa,91fd,920a,920c,921a,921c,921c,921e,921e,9221,9221,9223,9228,922a,922b,922d,922e,9230,923a,923c,9241,9244,9246,9248,9258,925a,925b,925d,9267,926b,9270,9272,9272,9276,928f,9291,9291,9293,929d,92a0,92ac,92ae,92ae,92b1,92b7,92b9,92bc,92be,92d5,92d7,92d9,92db,92db,92dd,92e1,92e3,92f4,92f6,9304,9306,9309,930b,9310,9312,9316,9318,931b,931d,9331,9333,9336,9338,9339,933c,933c,9340,9352,9354,935c,935e,936e,9370,9371,9373,937e,9380,938a,938c,9392,9394,93aa,93ac,93b5,93b7,93b8,93bb,93bb,93bd,93bd,93bf,93c0,93c2,93c4,93c6,93c8,93ca,93e4,93e6,93e8,93ec,93ec,93ee,93ee,93f0,93f1,93f3,9401,9403,9404,9406,9419,941b,941b,941d,941d,9420,9420,9424,9433,9435,9440,9442,944d,944f,9452,9454,9455,9457,9458,945b,945b,945d,945e,9460,9460,9462,9465,9467,9479,947b,9483,9485,9485,949f,949f,94a2,94a2,94c1,94c1,94c3,94c3,94dc,94dc,94f6,94f6,952d,952d,9547,9547,9577,9578,957a,957d,957f,9580,9582,9583,9585,9586,9588,9589,958b,9594,9596,9599,959b,959c,959e,95ae,95b0,95b2,95b5,95b7,95b9,95c0,95c3,95c3,95c5,95cd,95d0,95d6,95da,95dc,95de,95e5,95e8,95e8,95f4,95f4,961c,961e,9620,9624,9628,9628,962a,962a,962c,9633,9638,963d,963f,9645,964a,9651,9653,9654,9656,9656,9658,9658,965b,965f,9661,9664,9669,966d,966f,9678,967b,967e,9680,9681,9683,968b,968d,968f,9691,9699,969b,969c,969e,969e,96a1,96a5,96a7,96aa,96ac,96ac,96ae,96ae,96b0,96b1,96b3,96b4,96b6,96b6,96b8,96b9,96bb,96bd,96bf,96ce,96d2,96df,96e1,96e3,96e5,96e5,96e8,96ea,96ef,96f2,96f4,96fb,96fd,96fd,96ff,9700,9702,9709,970b,970b,970d,9713,9716,9716,9718,9719,971b,972c,972e,9732,9734,9736,9738,973a,973d,9744,9746,974b,9751,9752,9755,9758,975a,9762,9766,9766,9768,976a,976c,976e,9770,9774,9776,9778,977a,9785,9787,978b,978d,978f,9794,9794,9797,97a6,97a8,97a8,97aa,97ae,97b1,97b4,97b6,97bb,97bd,97c9,97cb,97d0,97d2,97d9,97dc,97e1,97e3,97e3,97e5,97e6,97ed,97ee,97f0,97f3,97f5,97f6,97f8,97fb,97fd,9808,980a,980a,980c,9818,981b,9821,9823,9824,9826,9829,982b,982b,982d,9830,9832,9835,9837,9839,983b,983b,9841,9841,9843,9853,9856,9859,985b,9860,9862,986c,986f,9875,98a8,98a9,98ac,98af,98b1,98b4,98b6,98c4,98c6,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98ed,98ef,98ef,98f1,98f2,98f4,98f6,98f9,98fa,98fc,98fe,9900,9900,9902,9903,9905,9905,9907,990a,990c,990c,990e,990e,9910,991c,991e,991f,9921,9921,9924,9925,9927,9933,9935,9935,9937,9943,9945,9945,9947,994e,9950,9959,995b,995f,9961,9963,9996,9999,999b,999e,99a1,99a1,99a3,99a8,99aa,99b5,99b8,99bd,99c1,99c5,99c7,99c7,99c9,99c9,99cb,99dd,99df,99e7,99e9,99ea,99ec,99ee,99f0,99f1,99f4,99ff,9a01,9a07,9a09,9a11,9a14,9a16,9a19,9a27,9a29,9a32,9a34,9a46,9a48,9a4a,9a4c,9a50,9a52,9a5c,9a5e,9a60,9a62,9a6c,9a8f,9a8f,9aa8,9aa8,9aab,9aab,9aad,9aad,9aaf,9ab4,9ab6,9ac2,9ac6,9ac7,9aca,9aca,9acd,9acd,9acf,9ad8,9adc,9adc,9adf,9ae3,9ae6,9ae7,9aeb,9aef,9af1,9af4,9af6,9af7,9af9,9aff,9b01,9b06,9b08,9b12,9b14,9b1a,9b1e,9b20,9b22,9b25,9b27,9b2b,9b2d,9b2f,9b31,9b35,9b37,9b37,9b39,9b3c,9b3e,9b46,9b48,9b48,9b4a,9b52,9b54,9b56,9b58,9b5b,9b5f,9b61,9b64,9b64,9b66,9b69,9b6c,9b6c,9b6f,9b71,9b74,9b77,9b7a,9b83,9b85,9b88,9b8b,9b8b,9b8d,9b93,9b95,9b95,9b97,9b97,9b9a,9b9b,9b9d,9ba2,9ba4,9ba6,9ba8,9ba8,9baa,9bab,9bad,9bb0,9bb5,9bb6,9bb8,9bb9,9bbd,9bbd,9bbf,9bc1,9bc3,9bc4,9bc6,9bca,9bcf,9bcf,9bd3,9bd7,9bd9,9bde,9be0,9be2,9be4,9bed,9bf0,9bf1,9bf4,9bf4,9bf7,9bf8,9bfd,9bfd,9bff,9bff,9c02,9c02,9c05,9c0e,9c10,9c10,9c12,9c15,9c17,9c17,9c1b,9c1d,9c1f,9c21,9c23,9c26,9c28,9c29,9c2b,9c2d,9c2f,9c2f,9c31,9c37,9c39,9c41,9c44,9c50,9c52,9c59,9c5d,9c60,9c62,9c63,9c66,9c68,9c6d,9c6e,9c71,9c75,9c77,9c7c,9ce5,9ce7,9ce9,9cea,9ced,9ced,9cf1,9cf7,9cf9,9cfd,9cff,9d00,9d02,9d09,9d0c,9d0c,9d10,9d10,9d12,9d12,9d14,9d19,9d1b,9d1b,9d1d,9d23,9d25,9d26,9d28,9d29,9d2d,9d31,9d33,9d34,9d36,9d39,9d3b,9d3b,9d3d,9d45,9d49,9d4c,9d4e,9d54,9d56,9d61,9d67,9d75,9d77,9d79,9d7b,9d8c,9d90,9d90,9d92,9d94,9d96,9dad,9daf,9daf,9db1,9dc5,9dc7,9ddf,9de1,9de6,9de8,9de9,9deb,9df0,9df2,9e07,9e09,9e15,9e17,9e1f,9e75,9e75,9e79,9e7d,9e7f,9e8e,9e90,9ea2,9ea4,9eb1,9eb4,9eb7,9ebb,9ec4,9ec6,9ec8,9ecc,9ed1,9ed3,9ed6,9ed8,9ed8,9eda,9ee0,9ee2,9ee2,9ee4,9ee8,9eeb,9eeb,9eed,9f02,9f06,9f0a,9f0e,9f10,9f12,9f13,9f15,9f1c,9f1e,9f1e,9f20,9f20,9f22,9f39,9f3b,9f3b,9f3d,9f3e,9f40,9f50,9f52,9f67,9f69,9f6c,9f6e,9f72,9f74,9f7b,9f7e,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f99,9f9c,9f9c,9f9f,9fa0,9fa2,9fa2,9fa4,9fb3,9fc7,9fcb,9fd0,9fd0,f900,f908,f90b,f90d,f915,f915,f917,f917,f91a,f91a,f922,f922,f92d,f92d,f934,f934,f937,f937,f93a,f93a,f943,f943,f947,f948,f94a,f94a,f952,f952,f95e,f95e,f962,f962,f965,f965,f967,f967,f96d,f96d,f972,f972,f976,f976,f978,f979,f97b,f97b,f97e,f97e,f980,f980,f986,f986,f98a,f98a,f98e,f98e,f995,f995,f99c,f99d,f99f,f99f,f9b5,f9b5,f9bb,f9bb,f9bd,f9be,f9c5,f9c6,f9c8,f9c8,f9d0,f9d0,f9d8,f9d9,f9dc,f9de,f9e0,f9e0,f9e2,f9e4,f9e7,f9e7,f9e9,f9e9,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0d,fa33,fa35,fa3a,fa3a,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20021,20021,2003e,2003e,20046,20046,2004e,2004e,20068,20068,20086,20087,2008a,2008a,20094,20094,200ca,200cd,200d1,200d1,200ee,200ee,2010c,2010c,2010e,2010e,20118,20118,201a4,201a4,201a9,201a9,201ab,201ab,201c1,201c1,201d4,201d4,201f2,201f2,20204,20204,2020c,2020c,20214,20214,20239,20239,2025b,2025b,20274,20275,20299,20299,2029e,2029e,202a0,202a0,202b7,202b7,202bf,202c0,202e5,202e5,2030a,2030a,20325,20325,20341,20341,20345,20347,2037e,20380,203a0,203a0,203a7,203a7,203b5,203b5,203c9,203c9,203cb,203cb,203f5,203f5,203fc,203fc,20413,20414,2041f,2041f,20465,20465,20487,20487,2048e,2048e,20491,20492,204a3,204a3,204d7,204d7,204fc,204fc,204fe,204fe,20547,20547,2058e,2058e,205a5,205a5,205b3,205b3,205c3,205c3,205ca,205ca,205d0,205d0,205d5,205d5,205df,205e0,205eb,205eb,20611,20611,20615,20615,20619,2061a,20628,20628,20630,20630,20656,20656,20676,20676,2070e,2070e,20731,20731,20779,20779,2082c,2082c,20873,20873,208d5,208d5,20916,20916,20923,20923,20954,20954,20979,20979,209e7,209e7,20a11,20a11,20a50,20a50,20a6f,20a6f,20a8a,20a8a,20ab4,20ab4,20ac2,20ac2,20acd,20acd,20b0d,20b0d,20b8f,20b8f,20b9f,20b9f,20ba8,20ba9,20bbf,20bbf,20bc6,20bc6,20bcb,20bcb,20be2,20be2,20beb,20beb,20bfb,20bfb,20bff,20bff,20c0b,20c0b,20c0d,20c0d,20c20,20c20,20c34,20c34,20c3a,20c3b,20c41,20c43,20c53,20c53,20c65,20c65,20c77,20c78,20c7c,20c7c,20c8d,20c8d,20c96,20c96,20c9c,20c9c,20cb5,20cb5,20cb8,20cb8,20ccf,20ccf,20cd3,20cd6,20cdd,20cdd,20ced,20ced,20cff,20cff,20d15,20d15,20d28,20d28,20d31,20d32,20d46,20d49,20d4c,20d4e,20d6f,20d6f,20d71,20d71,20d74,20d74,20d7c,20d7c,20d7e,20d7f,20d96,20d96,20d9c,20d9c,20da7,20da7,20db2,20db2,20dc8,20dc8,20e04,20e04,20e09,20e0a,20e0d,20e11,20e16,20e16,20e1d,20e1d,20e4c,20e4c,20e6d,20e6d,20e73,20e73,20e75,20e7b,20e8c,20e8c,20e96,20e96,20e98,20e98,20e9d,20e9d,20ea2,20ea2,20eaa,20eac,20eb6,20eb6,20ed7,20ed8,20edd,20edd,20ef8,20efb,20f1d,20f1d,20f26,20f26,20f2d,20f2e,20f30,20f31,20f3b,20f3b,20f4c,20f4c,20f64,20f64,20f8d,20f8d,20f90,20f90,20fad,20fad,20fb4,20fb6,20fbc,20fbc,20fdf,20fdf,20fea,20fed,21014,21014,2101d,2101e,2104f,2104f,2105c,2105c,2106f,2106f,21075,21078,2107b,2107b,21088,21088,21096,21096,2109d,2109d,210b4,210b4,210bf,210c1,210c7,210c9,210cf,210cf,210d3,210d3,210e4,210e4,210f4,210f6,2112f,2112f,2113b,2113b,2113d,2113d,21145,21145,21148,21148,2114f,2114f,21180,21180,21187,21187,211d9,211d9,2123c,2123c,2124f,2124f,2127c,2127c,212a8,212a9,212b0,212b0,212e3,212e3,212fe,212fe,21302,21305,21336,21336,2133a,2133a,21375,21376,2138e,2138e,21398,21398,2139c,2139c,213c5,213c6,213ed,213ed,213fe,213fe,21413,21413,21416,21416,21424,21424,2143f,2143f,21452,21452,21454,21455,2148a,2148a,21497,21497,214b6,214b6,214e8,214e8,214fd,214fd,21577,21577,21582,21582,21596,21596,2160a,2160a,21613,21613,21619,21619,2163e,2163e,21661,21661,21692,21692,216b8,216b8,216ba,216ba,216c0,216c2,216d3,216d3,216d5,216d5,216df,216df,216e6,216e8,216fa,216fc,216fe,216fe,2170d,2170d,21710,21710,21726,21726,2173a,2173c,21757,21757,2176c,21771,21773,21774,217ab,217ab,217b0,217b5,217c3,217c3,217c7,217c7,217d9,217dc,217df,217df,217ef,217ef,217f5,217f6,217f8,217fc,21820,21820,21828,2182a,2182d,2182d,21839,2183b,21840,21840,21845,21845,21852,21852,2185e,2185e,21861,21864,21877,21877,2187b,2187b,21883,21885,2189e,218a2,218be,218bf,218d1,218d1,218d6,218d9,218fa,218fa,21903,21905,21910,21912,21915,21915,2191c,2191c,21922,21922,21927,21927,2193b,2193b,21944,21944,21958,21958,2196a,2196a,2197c,2197c,21980,21980,21983,21983,21988,21988,21996,21996,219db,219db,219f3,219f3,21a2d,21a2d,21a34,21a34,21a45,21a45,21a4b,21a4b,21a63,21a63,21b44,21b44,21bc1,21bc2,21c2a,21c2a,21c70,21c70,21ca2,21ca2,21ca5,21ca5,21cac,21cac,21d46,21d46,21d53,21d53,21d5e,21d5e,21d90,21d90,21db6,21db6,21dba,21dba,21dca,21dca,21dd1,21dd1,21deb,21deb,21df9,21df9,21e1c,21e1c,21e23,21e23,21e37,21e37,21e3d,21e3d,21e89,21e89,21ea4,21ea4,21ea8,21ea8,21ec8,21ec8,21ed5,21ed5,21f0f,21f0f,21f15,21f15,21f6a,21f6a,21f9e,21f9e,21fa1,21fa1,21fe8,21fe8,22045,22045,22049,22049,2207e,2207e,2209a,2209a,220c7,220c7,220fc,220fc,2212a,2212a,2215b,2215b,22173,22173,2217a,2217a,221a1,221a1,221c1,221c1,221c3,221c3,22208,22208,2227c,2227c,22321,22321,22325,22325,223bd,223bd,223d0,223d0,223d7,223d7,223fa,223fa,22465,22465,22471,22471,2248b,2248b,22491,22491,224b0,224b0,224bc,224bc,224c1,224c1,224c9,224c9,224cc,224cc,224ed,224ed,22513,22513,2251b,2251b,22530,22530,22554,22554,2258d,2258d,225af,225af,225be,225be,2261b,2261c,2262b,2262b,22668,22668,2267a,2267a,22696,22696,22698,22698,226f4,226f6,22712,22712,22714,22714,2271b,2271b,2271f,2271f,2272a,2272a,22775,22775,22781,22781,22796,22796,227b4,227b5,227cd,227cd,22803,22803,2285f,22860,22871,22871,228ad,228ad,228c1,228c1,228f7,228f7,22926,22926,22939,22939,2294f,2294f,22967,22967,2296b,2296b,22980,22980,22993,22993,22a66,22a66,22acf,22acf,22ad5,22ad5,22ae6,22ae6,22ae8,22ae8,22b0e,22b0e,22b22,22b22,22b3f,22b3f,22b43,22b43,22b6a,22b6a,22bca,22bca,22bce,22bce,22c26,22c27,22c38,22c38,22c4c,22c4c,22c51,22c51,22c55,22c55,22c62,22c62,22c88,22c88,22c9b,22c9b,22ca1,22ca1,22ca9,22ca9,22cb2,22cb2,22cb7,22cb7,22cc2,22cc2,22cc6,22cc6,22cc9,22cc9,22d07,22d08,22d12,22d12,22d44,22d44,22d4c,22d4c,22d67,22d67,22d8d,22d8d,22d95,22d95,22da0,22da0,22da3,22da4,22db7,22db7,22dee,22dee,22e0d,22e0d,22e36,22e36,22e42,22e42,22e78,22e78,22e8b,22e8b,22eb3,22eb3,22eef,22eef,22f74,22f74,22fcc,22fcc,22fe3,22fe3,23033,23033,23044,23044,2304b,2304b,23066,23066,2307d,2307e,2308e,2308e,230b7,230b7,230bc,230bc,230da,230da,23103,23103,2313d,2313d,2317d,2317d,23182,23182,231a4,231a5,231b3,231b3,231c8,231c9,231ea,231ea,231f7,231f9,2320f,2320f,23225,23225,2322f,2322f,23231,23234,23256,23256,2325e,2325e,23262,23262,23281,23281,23289,2328a,232ab,232ad,232d2,232d2,232e0,232e1,23300,23300,2330a,2330a,2331f,2331f,233b4,233b4,233cc,233cc,233de,233de,233e6,233e6,233f4,233f5,233f9,233fa,233fe,233fe,23400,23400,2343f,2343f,23450,23450,2346f,2346f,23472,23472,234e5,234e5,23519,23519,23530,23530,23551,23551,2355a,2355a,23567,23567,23595,23595,23599,23599,2359c,2359c,235bb,235bb,235cd,235cf,235f3,235f3,23600,23600,23617,23617,2361a,2361a,2363c,2363c,23640,23640,23659,23659,2365f,2365f,23677,23677,2368e,2368e,2369e,2369e,236a6,236a6,236ad,236ad,236ba,236ba,236df,236df,236ee,236ee,23703,23703,23716,23716,23720,23720,2372d,2372d,2372f,2372f,2373f,2373f,23766,23766,23781,23781,237a2,237a2,237bc,237bc,237c2,237c2,237d5,237d7,2383a,2383a,239c2,239c2,23aa7,23aa7,23adb,23adb,23aee,23aee,23afa,23afa,23b1a,23b1a,23b5a,23b5a,23c63,23c63,23c99,23c9b,23cb5,23cb5,23cb7,23cb7,23cc7,23cc9,23cfc,23cff,23d40,23d40,23d5b,23d5b,23d7e,23d7e,23d8f,23d8f,23db6,23dbd,23de3,23de3,23df8,23df8,23e06,23e06,23e11,23e11,23e2c,23e31,23e39,23e39,23e88,23e8b,23eb9,23eb9,23ebf,23ebf,23ed7,23ed7,23ef7,23efc,23f35,23f35,23f41,23f41,23f4a,23f4a,23f61,23f61,23f7f,23f82,23f8f,23f8f,23fb4,23fb4,23fb7,23fb7,23fc0,23fc0,23fc5,23fc5,23feb,23ff0,24011,24011,24039,2403d,24057,24057,24085,24085,2408b,2408d,24091,24091,240c9,240c9,240e1,240e1,240ec,240ec,24104,24104,2410f,2410f,24119,24119,2413f,24140,24144,24144,2414e,2414e,24155,24157,2415c,2415c,2415f,2415f,24161,24161,24177,24177,2417a,2417a,241a3,241a5,241ac,241ac,241b5,241b5,241cd,241cd,241e2,241e2,241fc,241fc,2421b,2421b,2424b,2424b,24256,24256,24259,24259,24276,24278,24284,24284,24293,24293,24295,24295,242a5,242a5,242bf,242bf,242c1,242c1,242c9,242ca,242ee,242ee,242fa,242fa,2430d,2430d,2431a,2431a,24334,24334,24348,24348,24362,24365,2438c,2438c,24396,24396,2439c,2439c,243bd,243bd,243c1,243c1,243e9,243ea,243f2,243f2,243f8,243f8,24404,24404,24435,24436,2445a,2445b,24473,24473,24487,24488,244b9,244b9,244bc,244bc,244ce,244ce,244d3,244d3,244d6,244d6,24505,24505,24521,24521,24578,24578,245c8,245c8,24618,24618,2462a,2462a,24665,24665,24674,24674,24697,24697,246d4,246d4,24706,24706,24725,24725,2472f,2472f,2478f,2478f,247e0,247e0,24812,24812,24823,24823,24882,24882,248e9,248e9,248f0,248f3,248fb,248fb,248ff,24901,2490c,2490c,24916,24917,24919,24919,2492f,2492f,24933,24934,2493e,24943,24962,24963,24974,24976,2497b,2497b,2497f,2497f,24982,24982,24988,2498f,24994,24994,249a4,249a4,249a7,249a7,249a9,249a9,249ab,249ad,249b7,249bb,249c5,249c5,249d0,249d0,249da,249da,249de,249df,249e3,249e3,249e5,249e5,249ec,249ed,249f6,249f9,249fb,249fb,24a0e,24a0e,24a12,24a13,24a15,24a15,24a21,24a2a,24a3e,24a3e,24a42,24a42,24a45,24a45,24a4a,24a4a,24a4e,24a51,24a5d,24a5d,24a65,24a67,24a71,24a71,24a77,24a7a,24a8c,24a8c,24a93,24a96,24aa4,24aa7,24ab1,24ab3,24aba,24abc,24ac0,24ac0,24ac7,24ac7,24aca,24aca,24ad1,24ad1,24adf,24adf,24ae2,24ae2,24ae9,24ae9,24b0f,24b0f,24b6e,24b6e,24bf5,24bf5,24c09,24c09,24c9e,24c9f,24cc9,24cc9,24cd9,24cd9,24d06,24d06,24d13,24d13,24db8,24db8,24dea,24deb,24e3b,24e3b,24e50,24e50,24ea5,24ea5,24ea7,24ea7,24f0e,24f0e,24f5c,24f5c,24f82,24f82,24f86,24f86,24f97,24f97,24f9a,24f9a,24fa9,24fa9,24fb8,24fb8,24fc2,24fc2,2502c,2502c,25052,25052,2509d,2509d,2512b,2512b,25148,25148,2517d,2517e,251cd,251cd,251e3,251e3,251e6,251e7,25220,25221,25250,25250,25299,25299,252c7,252c7,252d8,252d8,2530e,2530e,25311,25311,25313,25313,25419,25419,25425,25425,2542f,25430,25446,25446,2546c,2546c,2546e,2546e,2549a,2549a,25531,25531,25535,25535,2553f,2553f,2555b,2555e,25562,25562,25565,25566,25581,25581,25584,25584,2558f,2558f,255b9,255b9,255d5,255d5,255db,255db,255e0,255e0,25605,25605,25635,25635,25651,25651,25683,25683,25695,25695,256e3,256e3,256f6,256f6,25706,25706,2571d,2571d,25725,25725,2573d,2573d,25772,25772,257c7,257c7,257df,257e1,25857,25857,2585d,2585d,25872,25872,258c8,258c8,258de,258de,258e1,258e1,25903,25903,25946,25946,25956,25956,259ac,259ac,259cc,259cc,25a54,25a54,25a95,25a95,25a9c,25a9c,25aae,25aaf,25ad7,25ad7,25ae9,25ae9,25b74,25b74,25b89,25b89,25bb3,25bb4,25bc6,25bc6,25be4,25be4,25be8,25be8,25c01,25c01,25c06,25c06,25c21,25c21,25c4a,25c4a,25c65,25c65,25c91,25c91,25ca4,25ca4,25cc0,25cc1,25cfe,25cfe,25d20,25d20,25d30,25d30,25d43,25d43,25d99,25d99,25db9,25db9,25e0e,25e0e,25e49,25e49,25e81,25e83,25ea6,25ea6,25ebc,25ebc,25ed7,25ed8,25f1a,25f1a,25f4b,25f4b,25fe1,25fe2,26021,26021,26029,26029,26048,26048,26064,26064,26083,26083,26097,26097,260a4,260a5,26102,26102,26121,26121,26159,2615c,261ad,261ae,261b2,261b2,261dd,261dd,26258,26258,26261,26261,2626a,2626b,262d0,262d0,26335,26335,2634b,2634c,26351,26351,263be,263be,263f5,263f5,263f8,263f8,26402,26402,26410,26412,2644a,2644a,26469,26469,26484,26484,26488,26489,2648d,2648d,26498,26498,26512,26512,26572,26572,265a0,265a0,265ad,265ad,265bf,265bf,26612,26612,26626,26626,266af,266af,266b1,266b1,266b5,266b5,266da,266da,266e8,266e8,266fc,266fc,26716,26716,26741,26741,26799,26799,267b3,267b4,267cc,267cc,2681c,2681c,26846,26846,2685e,2685e,2686e,2686e,26888,26888,2688a,2688a,26893,26893,268c7,268c7,2690e,2690e,26911,26911,26926,26926,26939,26939,26951,26951,269a8,269a8,269b5,269b5,269f2,269f2,269fa,269fa,26a2d,26a2e,26a34,26a34,26a42,26a42,26a51,26a52,26b05,26b05,26b0a,26b0a,26b13,26b13,26b15,26b15,26b23,26b23,26b28,26b28,26b50,26b53,26b5b,26b5b,26b75,26b75,26b82,26b82,26b96,26b97,26b9d,26b9d,26bb3,26bb3,26bc0,26bc0,26bf7,26bf7,26c21,26c21,26c40,26c41,26c46,26c46,26c7e,26c82,26ca4,26ca4,26cb7,26cb8,26cbd,26cbd,26cc0,26cc0,26cc3,26cc3,26cd1,26cd1,26d22,26d2a,26d51,26d51,26d74,26d74,26da0,26da7,26dae,26dae,26ddc,26ddc,26dea,26deb,26df0,26df0,26e00,26e00,26e05,26e05,26e07,26e07,26e12,26e12,26e42,26e45,26e6e,26e6e,26e72,26e72,26e77,26e77,26e84,26e84,26e88,26e88,26e8b,26e8b,26e99,26e99,26ed0,26ed7,26f26,26f26,26f73,26f74,26f9f,26f9f,26fa1,26fa1,26fbe,26fbe,26fde,26fdf,2700e,2700e,2704b,2704b,27052,27053,27088,27088,270ad,270af,270cd,270cd,270d2,270d2,270f0,270f0,270f8,270f8,27109,27109,2710c,2710d,27126,27127,27164,27165,27175,27175,271cd,271cd,2721b,2721b,27267,27267,27280,27280,27285,27285,2728b,2728b,272b2,272b2,272b6,272b6,272e6,272e6,27352,27352,2739a,2739a,273ff,273ff,27422,27422,27450,27450,27484,27484,27486,27486,27574,27574,275a3,275a3,275e0,275e0,275e4,275e4,275fd,275fe,27607,27607,2760c,2760c,27632,27632,27639,27639,27655,27657,27694,27694,2770f,2770f,27735,27736,27741,27741,2775e,2775e,27784,27785,277cc,277cc,27858,27858,27870,27870,2789d,2789d,278b2,278b2,278c8,278c8,27924,27924,27967,27967,2797a,2797a,279a0,279a0,279dd,279dd,279fd,279fd,27a0a,27a0a,27a0e,27a0e,27a3e,27a3e,27a53,27a53,27a59,27a59,27a79,27a79,27a84,27a84,27abd,27abe,27af4,27af4,27b06,27b06,27b0b,27b0b,27b18,27b18,27b38,27b3a,27b48,27b48,27b65,27b65,27bef,27bef,27bf4,27bf4,27c12,27c12,27c6c,27c6c,27cb1,27cb1,27cc5,27cc5,27d2f,27d2f,27d53,27d54,27d66,27d66,27d73,27d73,27d84,27d84,27d8f,27d8f,27d98,27d98,27dbd,27dbd,27ddc,27ddc,27e4d,27e4d,27e4f,27e4f,27f2e,27f2e,27fb7,27fb7,27ff9,27ff9,28002,28002,28009,28009,2801e,2801e,28023,28024,28048,28048,28083,28083,28090,28090,280bd,280be,280e8,280e9,280f4,280f4,2812e,2812e,2814f,2814f,2815d,2815d,2816f,2816f,28189,28189,281af,281af,281bc,281bc,28207,28207,28218,28218,2821a,2821a,28256,28256,2827c,2827c,2829b,2829b,282cd,282cd,282e2,282e2,28306,28306,28318,28318,2832f,2832f,2833a,2833a,28365,28365,2836d,2836d,2837d,2837d,2838a,2838a,28412,28412,28468,28468,2846c,2846c,28473,28473,28482,28482,28501,28501,2853c,2853d,2856c,2856c,285e8,285e8,285f4,285f4,28600,28600,2860b,2860b,28625,28625,2863b,2863b,286aa,286ab,286b2,286b2,286bc,286bc,286d8,286d8,286e6,286e6,2870f,2870f,28713,28713,28804,28804,2882b,2882b,2890d,2890d,28933,28933,28948,28949,28956,28956,28964,28964,28968,28968,2896c,2896d,2897e,2897e,28989,28989,289a8,289a8,289aa,289ab,289b8,289b8,289bc,289bc,289c0,289c0,289dc,289dc,289de,289de,289e1,289e1,289e3,289e4,289e7,289e8,289f9,289fc,28a0f,28a0f,28a16,28a16,28a25,28a25,28a29,28a29,28a32,28a32,28a36,28a36,28a44,28a4b,28a59,28a5a,28a81,28a83,28a9a,28a9c,28ac0,28ac0,28ac6,28ac6,28acb,28acc,28ace,28ace,28ade,28ae3,28ae5,28ae5,28aea,28aea,28afc,28afc,28b0c,28b0c,28b13,28b13,28b21,28b22,28b2b,28b2d,28b2f,28b2f,28b46,28b46,28b4c,28b4c,28b4e,28b4e,28b50,28b50,28b63,28b66,28b6c,28b6c,28b8f,28b8f,28b99,28b99,28b9c,28b9d,28bb9,28bb9,28bc2,28bc2,28bc5,28bc5,28bd4,28bd4,28bd7,28bd7,28bd9,28bda,28be7,28bec,28bf5,28bf5,28bff,28bff,28c03,28c03,28c09,28c09,28c1c,28c1d,28c23,28c23,28c26,28c26,28c2b,28c2b,28c30,28c30,28c39,28c39,28c3b,28c3b,28cca,28cca,28ccd,28ccd,28cd2,28cd2,28d34,28d34,28d99,28d99,28db9,28db9,28e0f,28e0f,28e36,28e36,28e39,28e39,28e65,28e66,28e97,28e97,28eac,28eac,28eb2,28eb3,28ed9,28ed9,28ee7,28ee7,28fc5,28fc5,29079,29079,29088,29088,2908b,2908b,29093,29093,290af,290b1,290c0,290c0,290e4,290e5,290ec,290ed,2910d,2910d,29110,29110,2913c,2913c,2914d,2914d,2915b,2915b,2915e,2915e,29170,29170,2919c,2919c,291a8,291a8,291d5,291d5,291eb,291eb,2941d,2941d,29420,29420,29433,29433,2943f,2943f,29448,29448,294d0,294d0,294d9,294da,294e5,294e5,294e7,294e7,2959e,2959e,295b0,295b0,295b8,295b8,295d7,295d7,295e9,295e9,295f4,295f4,2967f,2967f,29720,29720,29732,29732,297d4,297d4,29810,29810,29857,29857,298a4,298a4,298d1,298d1,298ea,298ea,298f1,298f1,298fa,298fa,29903,29903,29905,29905,2992f,2992f,29945,29945,29947,29949,2995d,2995d,2996a,2996a,2999d,2999d,299c3,299c3,299c9,299c9,29a28,29a28,29a4d,29a4d,29b05,29b05,29b0e,29b0e,29bd5,29bd5,29c73,29c73,29cad,29cad,29d3e,29d3e,29d5a,29d5a,29d7c,29d7c,29d98,29d98,29d9b,29d9b,29df6,29df6,29e06,29e06,29e2d,29e2d,29e68,29e68,29eac,29eac,29eb0,29eb0,29ec3,29ec3,29ef8,29ef8,29f23,29f23,29f30,29f30,29fb7,29fb7,29fde,29fde,2a014,2a014,2a087,2a087,2a0b9,2a0b9,2a0e1,2a0e1,2a0ed,2a0ed,2a0f3,2a0f3,2a0f8,2a0f8,2a0fe,2a0fe,2a107,2a107,2a123,2a123,2a133,2a134,2a150,2a150,2a192,2a193,2a1ab,2a1ab,2a1b4,2a1b5,2a1df,2a1df,2a1f5,2a1f5,2a220,2a220,2a233,2a233,2a293,2a293,2a29f,2a29f,2a2b2,2a2b2,2a2b4,2a2b4,2a2b6,2a2b6,2a2ba,2a2ba,2a2bd,2a2bd,2a2df,2a2df,2a2ff,2a2ff,2a351,2a351,2a3a9,2a3a9,2a3ed,2a3ed,2a434,2a434,2a45b,2a45b,2a5c6,2a5c6,2a5cb,2a5cb,2a601,2a601,2a632,2a632,2a64a,2a64a,2a65b,2a65b,2a6a9,2a6a9,2adff,2adff,2d544,2d544,2f825,2f825,2f83b,2f83b,2f840,2f840,2f878,2f878,2f894,2f894,2f8a6,2f8a6,2f8cd,2f8cd,2f8db,2f8db,2f994,2f994,2f9b2,2f9b2,2f9bc,2f9bc,2f9d4,2f9d4,30ede,30ede,3106c,3106c,]), @@ -59,22 +59,22 @@ const List fallbackFonts = [ NotoFont.fromFlatList('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a980,a9cd,a9cf,a9d9,a9de,a9df,]), NotoFont.fromFlatList('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1100,11ff,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,349a,349a,34d7,34d7,3515,3515,3521,3521,353e,353e,35ff,35ff,366f,366f,36c3,36c5,36e6,36e6,3723,3723,372f,372f,373a,373a,37bc,37bc,380c,380c,3818,3818,3883,3883,38ba,38ba,38e7,38e7,38fd,38fd,3960,3960,3965,3965,3983,3983,3990,3990,39a5,39a5,39b6,39b6,3a39,3a39,3aa4,3aa4,3adc,3adc,3af6,3af6,3b03,3b03,3b23,3b23,3b79,3b79,3bf3,3bf3,3c14,3c14,3c24,3c24,3c2d,3c2d,3cbd,3cbe,3cfc,3cfc,3d17,3d17,3d5f,3d5f,3dbc,3dbc,3dc2,3dc2,3ec4,3ec4,3eed,3eed,3efd,3efd,3f04,3f04,402f,402f,4034,4034,4062,4062,40a9,40a9,40c9,40c9,4137,4137,41ac,41ac,4259,4259,43bb,43bb,43c7,43c7,43e7,43e7,43ea,43ea,4450,4450,4512,4512,45f2,45f2,4618,4618,46b7,46b7,46be,46be,46d4,46d4,46d8,46d8,46dd,46dd,472d,472d,476c,476c,477d,477d,479f,479f,4863,4863,4883,4883,4896,4896,48a6,48a6,4925,4925,499e,499e,49a5,49a5,49cb,49cb,4a12,4a12,4a2d,4a2d,4ab8,4ab8,4adf,4adf,4ae8,4ae8,4afb,4afb,4b53,4b53,4b71,4b71,4cdf,4ce0,4d1b,4d1b,4e00,4e01,4e03,4e03,4e07,4e0b,4e0d,4e0e,4e11,4e11,4e14,4e16,4e18,4e19,4e1e,4e1f,4e24,4e24,4e26,4e26,4e28,4e28,4e2b,4e2d,4e30,4e32,4e36,4e36,4e38,4e39,4e3b,4e3b,4e3f,4e3f,4e42,4e43,4e45,4e45,4e4b,4e4b,4e4d,4e4f,4e56,4e5b,4e5d,4e5f,4e67,4e67,4e6b,4e6d,4e71,4e71,4e73,4e73,4e76,4e77,4e7a,4e7c,4e7e,4e7e,4e80,4e80,4e82,4e82,4e85,4e86,4e88,4e89,4e8b,4e8c,4e8e,4e92,4e94,4e95,4e98,4e99,4e9b,4e9c,4e9e,4ea2,4ea4,4ea6,4ea8,4ea8,4eab,4eae,4eb0,4eb0,4eb3,4eb4,4eb6,4eb6,4eb9,4ebb,4ec0,4ec1,4ec4,4ec4,4ec6,4ec7,4eca,4ecb,4ecd,4ecd,4ed4,4ed9,4edd,4edf,4ee1,4ee1,4ee3,4ee5,4eee,4eee,4ef0,4ef0,4ef2,4ef3,4ef5,4ef7,4efb,4efb,4efd,4efd,4eff,4f01,4f09,4f0b,4f0d,4f11,4f1a,4f1a,4f1d,4f1d,4f2f,4f30,4f34,4f34,4f36,4f36,4f38,4f38,4f3a,4f3a,4f3c,4f3e,4f42,4f43,4f46,4f49,4f4b,4f4b,4f4d,4f51,4f53,4f57,4f59,4f5f,4f69,4f6a,4f6f,4f70,4f73,4f74,4f76,4f76,4f78,4f81,4f83,4f84,4f86,4f86,4f88,4f8b,4f8d,4f92,4f94,4f94,4f96,4f98,4f9a,4f9d,4fae,4faf,4fb2,4fb2,4fb5,4fb6,4fb9,4fb9,4fbb,4fbb,4fbf,4fbf,4fc1,4fc5,4fc9,4fca,4fcc,4fd4,4fd7,4fdb,4fdd,4fe1,4fe3,4fe3,4fee,4ff1,4ff3,4ff6,4ff8,4ff8,4ffa,4ffa,4ffe,4ffe,5000,5000,5002,5002,5005,5007,5009,5009,500b,500b,500d,500d,500f,500f,5011,5014,5016,5016,5018,501a,501c,501c,501e,501f,5021,502e,5030,5030,503b,503b,5043,5044,5047,504a,504e,504f,5053,5053,5055,5056,5058,505a,505c,505c,5060,5060,5062,5062,5065,5066,506a,506a,5070,5070,5072,5072,5074,5076,5078,5078,5080,5080,5083,5083,5085,5085,508b,508b,508d,508d,5091,5092,5094,5094,5096,5096,5098,509b,509d,509e,50a2,50a2,50ac,50ae,50b2,50b5,50b7,50b7,50bd,50bf,50c2,50c2,50c4,50c5,50c9,50ca,50cf,50cf,50d1,50d1,50d4,50d6,50da,50db,50de,50de,50e2,50e2,50e5,50e7,50e9,50e9,50ec,50ee,50f5,50f5,50f9,50f9,50fb,50fb,50fe,5104,5106,5107,5109,5109,510b,510c,5110,5110,5112,5115,5117,5118,511a,511c,511f,511f,5121,5122,5124,5125,5127,5127,512a,512b,5131,5133,5135,5135,5137,513c,513f,5141,5143,5149,514b,514e,5150,5150,5152,5152,5154,5157,515a,515a,515c,515c,5162,5162,5165,5165,5167,516e,5171,5171,5175,5178,517c,517c,5180,5180,5182,5182,5186,5186,5189,518a,518c,518d,518f,518f,5191,5193,5195,5199,519e,519e,51a0,51a0,51a2,51a5,51aa,51ac,51b0,51b2,51b6,51b7,51bd,51be,51c4,51c6,51c9,51cd,51d2,51d2,51d4,51d4,51d6,51d6,51db,51de,51e0,51e1,51e9,51e9,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fd,51fd,5200,5203,5206,5208,520a,520a,520e,520e,5211,5211,5213,5213,5216,5217,521d,521d,5224,5227,5229,522a,522e,522e,5230,5233,5236,523b,5243,5244,5246,5247,5249,524d,5254,5257,525a,525b,525d,525f,5261,5261,5269,526a,526f,526f,5272,5272,5274,5275,5277,5277,527a,527a,527d,527d,527f,527f,5282,5283,5287,5289,528d,528d,5291,5293,5297,5298,529b,529b,529f,52a0,52a3,52a4,52a7,52a7,52a9,52ae,52b9,52b9,52be,52be,52c1,52c1,52c3,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d2,52d2,52d5,52d6,52d8,52d9,52db,52db,52dd,52e4,52e6,52e6,52ed,52ed,52f2,52f3,52f5,52f5,52f8,52fb,52fe,5303,5305,5305,5308,5308,530a,530a,530c,530d,530f,5310,5315,5317,5319,531a,5320,5321,5323,5323,5327,5327,532a,532a,532f,532f,5331,5331,5336,5336,5338,533b,533d,5341,5343,5345,5347,534a,534d,534d,5351,5354,5357,5357,535a,535a,535c,535c,535e,535e,5360,5361,5364,5364,5366,5366,5368,5369,536c,536c,536e,5375,5377,537b,537d,537f,5382,5382,5384,5384,538e,538e,5393,5393,5396,5396,5398,5398,539a,539a,539d,539d,539f,53a0,53a5,53a6,53aa,53aa,53ad,53ae,53b2,53b3,53b6,53b6,53b9,53b9,53bb,53bb,53c2,53c3,53c5,53c5,53c8,53cd,53d4,53d4,53d6,53d7,53d9,53d9,53db,53db,53df,53df,53e1,53e6,53e8,53f8,5401,5401,5403,5404,5408,5411,541b,541b,541d,541d,541f,5420,5426,5426,5429,5429,542b,542c,542e,542e,5431,5431,5433,5433,5436,5436,5438,5439,543b,543e,5440,5440,5442,5442,5446,5446,5448,5448,544a,544a,544e,544e,5451,5451,545d,545d,545f,545f,5462,5462,5464,5464,5466,5466,5468,5468,546a,546b,5470,5471,5473,5473,5475,5476,547b,547d,547f,5480,5484,5484,5486,5487,548b,5490,5496,5496,54a0,54a0,54a2,54a2,54a4,54a5,54a8,54a8,54ab,54ac,54af,54af,54b2,54b3,54b8,54b8,54bb,54bd,54bf,54c4,54c6,54c9,54e1,54e1,54e5,54e6,54e8,54e9,54ed,54ee,54f1,54f2,54fa,54fa,54fd,54fd,54ff,54ff,5504,5504,5506,5507,5509,5509,550e,5510,5514,5514,551c,551c,552b,552b,552e,552f,5531,5531,5533,5533,5535,5535,5539,5539,553c,553c,553e,553e,5540,5540,5542,5542,5544,5544,5546,5546,554a,554a,554f,554f,5553,5553,5556,5557,555c,555c,555e,555e,5563,5563,557b,5581,5583,5584,5586,5587,5589,558b,5591,5591,5593,5594,5598,559a,559c,559f,55a3,55a4,55a7,55ac,55ae,55ae,55b0,55b0,55c3,55c3,55c5,55c5,55c7,55c7,55c9,55c9,55d1,55d1,55d4,55d4,55da,55dc,55df,55e0,55e2,55e4,55f7,55f7,55fd,55ff,5604,5604,5606,5606,5608,5609,560c,5610,5612,5612,5614,5614,5616,5617,5629,5629,562c,562c,562f,562f,5632,5632,5634,5634,5636,5639,563b,563b,563f,563f,5641,5642,5649,5649,564b,564b,564d,564f,5653,5653,5664,5665,5668,566d,566f,566f,5672,5672,5674,5674,5676,5676,5678,5678,567a,567a,5680,5680,5684,5684,5686,5687,568f,568f,5699,569a,56a5,56a5,56a7,56a7,56ac,56ac,56ae,56ae,56b3,56b4,56b6,56b6,56bc,56bc,56c0,56c3,56c8,56ca,56cd,56cd,56d1,56d1,56d7,56d7,56da,56db,56de,56e0,56e3,56e3,56e6,56e7,56eb,56eb,56ed,56ee,56f0,56f0,56f3,56f3,56f7,56f7,56f9,56fa,56fd,56fd,56ff,56ff,5701,5704,5707,570b,570d,570d,5712,5713,5716,5716,5718,5718,571c,571c,571f,571f,5725,5725,5728,572a,572c,572e,5730,5730,573b,573b,573e,573e,5740,5742,5747,5747,574a,574a,574c,5751,5761,5761,5764,5764,5766,576a,576e,5771,5773,5773,5775,5775,5777,5778,577b,577c,5782,5782,5788,5788,578b,578c,5793,5793,5795,5795,579e,579e,57a0,57a0,57a2,57a4,57b8,57b8,57bd,57bd,57c3,57c3,57c6,57c9,57cb,57cb,57ce,57cf,57d1,57d2,57dc,57dc,57df,57e0,57e4,57e4,57e9,57e9,57ed,57ee,57f0,57f0,57f3,57f4,57f6,57f7,57f9,57fd,5800,5800,5802,5806,5808,580b,5817,5817,5819,5819,581d,581e,5820,5821,5823,5824,5826,5827,582a,582a,582d,582d,582f,5831,5834,5835,583a,583a,5840,5840,5849,584d,584f,5852,5854,5854,5857,585a,585e,585e,5861,5862,5864,5864,5869,5869,5875,5875,5879,5879,587c,587e,5880,5881,5883,5883,5885,5885,5889,588a,588c,588d,5890,5890,5893,5893,589c,589f,58a1,58a1,58a3,58a3,58a8,58a9,58ab,58ab,58ae,58ae,58b0,58b1,58b3,58b3,58ba,58bb,58be,58be,58c1,58c1,58c3,58c3,58c5,58c5,58c7,58c7,58ce,58ce,58d1,58d1,58d3,58d5,58d8,58da,58dc,58df,58e1,58e1,58e4,58e4,58eb,58ec,58ee,58f0,58f2,58f2,58f9,58fb,58fd,58fd,5902,5902,5906,5906,5908,5908,590a,590a,590f,5910,5914,5916,5919,591c,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5937,5938,593d,593e,5944,5944,5947,5949,594c,594c,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5960,5962,5962,5967,5967,5969,596e,5972,5974,5976,5976,5978,5978,597d,597d,5982,5984,598a,598a,598c,598d,5991,5993,5996,5997,5999,5999,599d,599d,59a3,59a5,59a7,59a8,59ac,59ac,59af,59af,59b2,59b2,59b5,59b6,59b8,59b9,59bb,59bb,59be,59bf,59c1,59c1,59c3,59c3,59c6,59c6,59c8,59cb,59cd,59cd,59d0,59d4,59d9,59da,59dc,59de,59e2,59e6,59e8,59e8,59ea,59ec,59ee,59ee,59f0,59f0,59f2,59f2,59f7,59fc,59ff,59ff,5a01,5a01,5a03,5a03,5a09,5a0a,5a0d,5a0d,5a11,5a11,5a13,5a13,5a18,5a19,5a1b,5a1c,5a1f,5a20,5a23,5a23,5a25,5a25,5a27,5a27,5a29,5a29,5a2b,5a2b,5a2d,5a2d,5a35,5a36,5a3c,5a3c,5a3f,5a41,5a46,5a47,5a49,5a49,5a4b,5a4c,5a50,5a51,5a5a,5a5a,5a60,5a60,5a62,5a63,5a66,5a67,5a69,5a6a,5a6d,5a6d,5a72,5a72,5a77,5a77,5a7f,5a7f,5a84,5a84,5a8d,5a8d,5a90,5a90,5a92,5a93,5a95,5a95,5a9a,5a9b,5a9e,5a9f,5aa2,5aa2,5aa4,5aa4,5aa7,5aa7,5aaa,5aaa,5ab3,5ab3,5ab5,5ab5,5aba,5abf,5ac1,5ac2,5ac4,5ac4,5ac8,5ac9,5acb,5acc,5ad5,5ad7,5ad9,5adb,5add,5add,5ae0,5ae6,5ae9,5ae9,5aeb,5aeb,5aed,5aef,5af6,5af6,5afa,5afb,5afd,5afd,5b00,5b00,5b05,5b05,5b08,5b09,5b0b,5b0c,5b16,5b16,5b19,5b19,5b1b,5b1b,5b25,5b25,5b28,5b28,5b2a,5b2a,5b2d,5b2d,5b30,5b30,5b32,5b32,5b34,5b34,5b3e,5b40,5b43,5b43,5b45,5b45,5b4c,5b4c,5b50,5b51,5b54,5b58,5b5a,5b5d,5b5f,5b5f,5b61,5b61,5b63,5b66,5b69,5b69,5b6b,5b6b,5b70,5b71,5b75,5b76,5b78,5b78,5b7a,5b7a,5b7c,5b7c,5b7f,5b82,5b85,5b85,5b87,5b8c,5b8f,5b8f,5b93,5b93,5b95,5b9d,5b9f,5b9f,5ba2,5ba6,5bac,5bac,5bae,5bae,5bb0,5bb0,5bb3,5bb6,5bb8,5bb9,5bbf,5bc0,5bc2,5bc7,5bcc,5bcc,5bd0,5bd0,5bd2,5bd4,5bd6,5bd8,5bdb,5bdb,5bde,5bdf,5be1,5be2,5be4,5be9,5beb,5bf0,5bf5,5bf6,5bf8,5bfa,5bff,5bff,5c01,5c01,5c04,5c0f,5c11,5c11,5c14,5c14,5c16,5c16,5c19,5c19,5c1f,5c20,5c22,5c24,5c28,5c28,5c2b,5c2b,5c31,5c31,5c38,5c41,5c45,5c48,5c4b,5c4b,5c4d,5c4e,5c50,5c51,5c55,5c55,5c5b,5c5b,5c60,5c60,5c62,5c62,5c64,5c65,5c68,5c68,5c6c,5c6c,5c6f,5c6f,5c71,5c71,5c73,5c73,5c79,5c7a,5c88,5c88,5c8a,5c8a,5c8c,5c8c,5c8f,5c92,5c94,5c94,5c9d,5c9d,5ca1,5ca1,5ca3,5ca3,5ca5,5cad,5cb1,5cb1,5cb3,5cb3,5cb5,5cb5,5cb7,5cb8,5cba,5cba,5cbe,5cbe,5cc0,5cc0,5ccb,5ccb,5cd2,5cd2,5cd9,5cd9,5ce0,5ce0,5ce8,5ce9,5ced,5ced,5cef,5cf1,5cf4,5cf4,5cf6,5cf6,5cfb,5cfb,5cfd,5cfd,5d06,5d07,5d0d,5d0e,5d10,5d11,5d14,5d19,5d1b,5d1b,5d1f,5d1f,5d22,5d22,5d24,5d24,5d26,5d27,5d29,5d29,5d34,5d34,5d3d,5d3d,5d41,5d42,5d44,5d44,5d4b,5d4c,5d4e,5d4e,5d50,5d50,5d53,5d54,5d69,5d69,5d6c,5d6c,5d6f,5d6f,5d71,5d71,5d81,5d82,5d84,5d84,5d86,5d87,5d8b,5d8b,5d92,5d92,5d94,5d95,5d99,5d99,5d9d,5d9d,5da0,5da0,5da2,5da2,5da7,5da7,5daa,5dab,5dae,5dae,5db0,5db0,5db7,5db8,5dba,5dba,5dbc,5dbe,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dd1,5dd3,5dd6,5dd6,5dda,5ddb,5ddd,5dde,5de0,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df1,5df5,5df7,5df9,5dfb,5dfb,5dfd,5dfe,5e02,5e03,5e06,5e06,5e09,5e09,5e0c,5e0c,5e11,5e11,5e15,5e16,5e19,5e1b,5e1d,5e1d,5e20,5e20,5e25,5e25,5e28,5e28,5e2b,5e2b,5e2d,5e2d,5e33,5e33,5e36,5e38,5e3d,5e3d,5e3f,5e40,5e43,5e45,5e47,5e47,5e4c,5e4c,5e4e,5e4e,5e54,5e55,5e58,5e58,5e5e,5e5f,5e61,5e63,5e68,5e68,5e6a,5e6c,5e70,5e74,5e76,5e80,5e83,5e84,5e87,5e87,5e8a,5e8b,5e8f,5e8f,5e95,5e97,5e9a,5e9a,5e9c,5e9c,5ea0,5ea0,5ea5,5ea8,5eab,5eab,5ead,5ead,5eb3,5eb3,5eb5,5eb8,5ebd,5ebe,5ec1,5ec2,5ec8,5ecb,5ecf,5ed1,5ed3,5ed3,5ed5,5ed6,5ed9,5edb,5edd,5ee3,5ee5,5ee5,5ee7,5ee9,5eec,5eec,5ef1,5ef1,5ef3,5ef4,5ef6,5ef7,5efa,5efb,5efe,5eff,5f01,5f01,5f03,5f04,5f07,5f08,5f0a,5f0b,5f0f,5f0f,5f11,5f15,5f17,5f18,5f1b,5f1b,5f1f,5f1f,5f22,5f22,5f25,5f27,5f29,5f29,5f2d,5f2d,5f31,5f31,5f34,5f35,5f37,5f37,5f3a,5f3a,5f3c,5f3c,5f3e,5f3e,5f40,5f40,5f46,5f46,5f48,5f48,5f4a,5f4a,5f4c,5f4c,5f4e,5f4e,5f50,5f51,5f53,5f54,5f56,5f59,5f5b,5f5b,5f5d,5f5d,5f61,5f62,5f64,5f67,5f69,5f6d,5f70,5f71,5f73,5f73,5f77,5f77,5f79,5f79,5f7c,5f7c,5f7f,5f82,5f85,5f85,5f87,5f8c,5f90,5f92,5f97,5f99,5f9c,5f9c,5f9e,5f9e,5fa0,5fa1,5fa3,5fa3,5fa7,5faa,5fac,5faf,5fb3,5fb3,5fb5,5fb5,5fb7,5fb7,5fb9,5fb9,5fbc,5fbd,5fc3,5fc5,5fc8,5fc9,5fcc,5fce,5fd0,5fd0,5fd2,5fd3,5fd5,5fd9,5fdc,5fe1,5fe4,5fe4,5fe8,5fe8,5feb,5feb,5fed,5fef,5ff1,5ff1,5ff5,5ff5,5ff8,5ff8,5ffb,5ffd,5fff,5fff,600a,600a,600d,600d,600f,600f,6012,6012,6014,6017,6019,6019,601b,601d,6020,6021,6025,602a,602f,6030,6033,6033,6041,6043,6046,6048,604a,604b,604d,604d,6050,6050,6052,6052,6055,6055,6059,605a,605d,605d,605f,6060,6062,6065,6068,606d,606f,6070,6075,6075,6081,6081,6083,6086,6089,608d,608f,608f,6092,6092,6094,6097,609a,609b,609f,60a0,60a2,60a4,60a7,60a7,60aa,60aa,60b0,60b6,60b8,60b8,60bb,60be,60c4,60c7,60c9,60c9,60cb,60cb,60cf,60cf,60d1,60d1,60d3,60d3,60d5,60d5,60d7,60e2,60f0,60f4,60f6,60fc,6100,6101,6103,6103,6106,6106,6108,6109,610d,610f,6114,6115,611a,611c,611e,611f,6122,6122,6127,6128,612b,612d,6130,6130,6134,6134,6137,6137,613c,613c,613e,613f,6142,6142,6144,6144,6146,6148,614a,614d,614f,614f,6152,6155,6158,615a,615c,615d,615f,6164,6167,6168,616a,616b,616e,616e,6170,6171,6173,6177,617a,617a,617c,617e,6181,6183,618a,618a,618d,618e,6190,6194,6196,6196,6198,619a,61a4,61a4,61a7,61a9,61ab,61ac,61ae,61af,61b2,61b2,61b6,61b6,61b8,61b8,61ba,61be,61c3,61c3,61c6,61cc,61cf,61cf,61d5,61d5,61d7,61d7,61de,61df,61e3,61e3,61e6,61e6,61f2,61f2,61f6,61f8,61fa,61fa,61fc,6200,6207,6208,620a,620a,620c,620e,6210,6212,6214,6216,6218,6218,621a,621a,621e,621f,6221,6222,6226,6227,6229,622a,622d,622e,6230,6236,6239,6239,623e,6241,6243,6243,6247,624e,6251,6253,6257,6258,625b,625c,625e,625e,6263,6263,6268,6268,626e,626e,6271,6271,6273,6273,6276,6276,6279,627a,627c,627c,627e,6280,6283,6284,6286,6286,6289,628a,628f,628f,6291,6292,6294,6298,629b,629b,62a6,62a6,62a8,62a8,62ab,62ac,62ae,62ae,62b1,62b2,62b5,62b5,62b9,62b9,62bc,62bd,62c2,62c2,62c4,62cd,62cf,62d9,62db,62dc,62e1,62e1,62ec,62ef,62f1,62f1,62f3,62f3,62f5,62f7,62fd,62ff,6301,6302,6307,6307,6309,6309,630c,630c,6310,6312,6328,6328,632a,632b,632f,632f,6339,633b,633d,633e,6342,6344,6346,6346,6349,6349,634c,6350,6353,6353,6355,6355,6357,6357,635a,635a,6367,6369,636b,636b,636e,636e,6371,6372,6376,6377,637a,637b,637f,6380,6383,6384,6387,638a,638c,638c,638e,638f,6392,6392,6396,6396,6398,6398,639b,639c,639f,63a2,63a5,63a5,63a7,63aa,63ac,63ac,63be,63be,63c0,63c0,63c3,63c4,63c6,63c6,63c9,63c9,63cf,63d0,63d2,63d2,63d6,63d6,63da,63db,63df,63e1,63e3,63e3,63e9,63e9,63eb,63eb,63ed,63ee,63f2,63f2,63f4,63f7,6406,6406,6409,6409,640d,640d,640f,640f,6412,6412,6414,6414,6416,6418,641c,641c,6420,6420,6422,6422,6424,6425,6428,6428,642a,642d,642f,6430,6434,6434,6436,6436,643a,643a,643e,643e,6458,6458,645b,645b,645e,645e,6460,6460,6467,6467,6469,6469,646d,646d,646f,646f,6473,6473,6478,647b,647d,647d,6485,6485,6488,6488,6490,6493,6495,6495,6499,649b,649d,649f,64a4,64a5,64a9,64a9,64ab,64ab,64ad,64ae,64b0,64b0,64b2,64b2,64bb,64bc,64be,64bf,64c1,64c1,64c4,64c5,64c7,64c7,64c9,64ca,64cd,64ce,64d0,64d0,64d2,64d2,64d4,64d5,64d7,64d8,64da,64da,64e0,64e3,64e5,64e7,64ec,64ed,64ef,64ef,64f1,64f2,64f4,64f4,64fa,64fa,64fe,64fe,6500,6500,6502,6502,6504,6504,6507,6507,650a,650a,650f,650f,6514,6514,6518,6519,651d,651d,6522,6524,652a,652c,652f,652f,6532,6532,6534,6539,653b,653b,653d,653f,6543,6543,6545,6545,6548,6549,654d,654f,6551,6552,6554,6559,655d,655e,6562,6563,6566,6566,656c,656d,6572,6572,6574,6575,6577,6578,657e,657e,6581,6583,6585,6585,6587,6587,6589,6589,658c,658c,6590,6591,6597,6597,6599,6599,659b,659d,659f,659f,65a1,65a1,65a4,65a5,65a7,65a7,65ab,65ad,65af,65b2,65b7,65b7,65b9,65b9,65bc,65bd,65bf,65bf,65c1,65c6,65ca,65cc,65cf,65cf,65d2,65d2,65d7,65d7,65e0,65e1,65e3,65e3,65e5,65e6,65e8,65e9,65ec,65ed,65f1,65f2,65f4,65f4,65fa,65fd,65ff,6600,6602,6603,6606,6607,6609,660a,660c,6611,6613,6615,661b,661c,661e,6621,6623,6625,6627,6628,662b,662b,662d,662d,662f,6631,6634,6637,663a,663b,6641,6644,6648,6649,664b,664c,664e,6651,6659,665b,665d,6662,6664,6669,666b,6670,6673,6674,6676,667b,667d,667d,667f,667f,6684,6684,6687,6689,668b,668c,668e,668e,6690,6691,6696,6698,669a,669a,669d,669e,66a0,66a0,66a2,66a3,66ab,66ac,66ae,66ae,66b1,66b5,66b8,66bb,66be,66c1,66c4,66c9,66d3,66d4,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e3,66e6,66e6,66e8,66ea,66ec,66ec,66ee,66f0,66f2,66f4,66f7,66fa,66fc,66fc,66fe,6700,6703,6705,6708,670d,6710,6710,6714,6715,6717,6717,671b,671b,671d,6720,6722,6723,6726,6728,672a,672e,6731,6731,6733,6734,6736,6736,673a,673a,673d,673e,6745,6746,6749,6749,674b,674c,674e,6751,6753,6753,6756,6756,675c,6760,6765,6765,676a,676a,676c,676d,676f,6773,6775,6775,6777,6777,677b,677c,677e,677f,6783,6783,6787,6787,6789,6789,678b,678c,678f,6790,6792,6793,6795,6795,6797,679a,679c,679d,67af,67b0,67b2,67b3,67b6,67b8,67be,67be,67c1,67c1,67c4,67c5,67ca,67ca,67cf,67d4,67d6,67da,67dd,67df,67e2,67e2,67e9,67e9,67ec,67ec,67ef,67f1,67f3,67f6,67f9,67f9,67fb,67fb,67fe,67ff,6803,6804,6810,6810,6812,6813,6816,6817,681d,681e,6821,6822,682a,682a,682e,682f,6831,6832,6834,6834,6838,6839,683b,683d,6840,6844,6846,6846,6848,6849,684e,684e,6850,6851,6853,6854,686d,686d,686f,686f,6874,6874,6876,6877,687e,687f,6881,6881,6883,6883,6885,6886,688f,688f,6893,6894,6897,6897,689b,689b,689d,689d,689f,68a3,68a7,68a8,68ad,68ad,68af,68b1,68b3,68b3,68b5,68b6,68c4,68c5,68c9,68cd,68d0,68d0,68d2,68d2,68d5,68d8,68da,68da,68df,68e0,68e3,68e3,68e7,68e8,68ec,68ec,68ee,68ee,68f2,68f2,68f9,68fd,6900,6901,6904,6906,690b,690b,690d,690f,6911,6912,6919,6919,691c,691c,6927,6927,6930,6930,6934,6934,6936,6936,6939,6939,693d,693d,693f,693f,6942,6942,694a,694a,694f,694f,6953,6955,6957,6957,6959,695a,695d,695e,6960,6963,6965,6965,6968,6968,696a,696f,6973,6973,6975,6975,6977,6979,697b,697b,697d,697d,698e,698e,6991,6991,6994,6995,6998,6998,699b,699c,699f,699f,69a4,69a7,69ad,69ae,69b0,69b2,69b4,69b4,69b7,69b7,69ba,69bc,69be,69c1,69c3,69c3,69c7,69c7,69ca,69d0,69d3,69d3,69d6,69d6,69e2,69e2,69e5,69ea,69ed,69ed,69f2,69f2,69f9,69f9,69fb,69fb,69fd,69fd,69ff,6a00,6a02,6a02,6a05,6a05,6a0a,6a0b,6a11,6a14,6a17,6a17,6a19,6a19,6a1b,6a1b,6a1e,6a1f,6a21,6a21,6a23,6a23,6a29,6a29,6a2b,6a2b,6a35,6a35,6a38,6a3b,6a3d,6a3d,6a43,6a45,6a47,6a4d,6a50,6a50,6a52,6a53,6a58,6a5a,6a5f,6a5f,6a61,6a62,6a64,6a64,6a66,6a66,6a6b,6a6b,6a72,6a72,6a75,6a75,6a7f,6a80,6a83,6a84,6a89,6a89,6a8d,6a8e,6a90,6a90,6a94,6a94,6a97,6a97,6a9c,6a9d,6a9f,6aa0,6aa2,6aa3,6aae,6aae,6ab3,6ab3,6ab6,6ab6,6abb,6abc,6abf,6abf,6ac2,6ac3,6ad3,6ad3,6ada,6adf,6ae8,6ae8,6aea,6aea,6aec,6aec,6af6,6af6,6afb,6afc,6b02,6b04,6b0a,6b0a,6b0c,6b0c,6b11,6b12,6b16,6b16,6b1e,6b1e,6b20,6b21,6b23,6b23,6b2c,6b2c,6b32,6b32,6b37,6b3b,6b3d,6b3f,6b43,6b43,6b46,6b47,6b49,6b4a,6b4c,6b4c,6b4e,6b4e,6b50,6b50,6b54,6b54,6b59,6b5b,6b5f,6b67,6b69,6b6a,6b6f,6b6f,6b72,6b72,6b77,6b7b,6b7f,6b80,6b82,6b84,6b86,6b86,6b89,6b8a,6b8d,6b8d,6b91,6b91,6b96,6b96,6b98,6b98,6b9e,6b9e,6ba2,6ba2,6ba4,6ba4,6bab,6bab,6bad,6baf,6bb2,6bb3,6bb5,6bb5,6bb7,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc4,6bc6,6bcb,6bcb,6bcd,6bcd,6bcf,6bcf,6bd2,6bd4,6bd6,6bd8,6bda,6bdb,6beb,6bec,6bef,6bef,6bf3,6bf3,6bf8,6bf8,6bff,6bff,6c05,6c05,6c08,6c08,6c0f,6c11,6c13,6c14,6c17,6c17,6c1b,6c1b,6c23,6c24,6c33,6c38,6c3e,6c43,6c4b,6c4b,6c4e,6c50,6c52,6c55,6c57,6c57,6c59,6c60,6c66,6c66,6c68,6c6a,6c6d,6c6d,6c70,6c70,6c72,6c72,6c74,6c74,6c76,6c76,6c7a,6c7a,6c7d,6c7e,6c81,6c89,6c8c,6c8d,6c90,6c90,6c92,6c96,6c98,6c9b,6ca2,6ca2,6cab,6cac,6cae,6cae,6cb0,6cb1,6cb3,6cb3,6cb6,6cb6,6cb8,6cb9,6cbb,6cbf,6cc1,6cc2,6cc4,6cc6,6cc9,6cca,6ccc,6ccc,6cd0,6cd1,6cd3,6cd5,6cd7,6cd7,6cd9,6cdd,6ce0,6ce3,6ce5,6ce5,6ce8,6ce8,6ceb,6ceb,6cee,6cf1,6cf3,6cf3,6cff,6cff,6d04,6d04,6d07,6d07,6d0a,6d0c,6d11,6d12,6d14,6d14,6d17,6d17,6d19,6d19,6d1b,6d1b,6d1e,6d1f,6d23,6d23,6d25,6d25,6d27,6d2c,6d2e,6d2e,6d32,6d32,6d35,6d36,6d38,6d3e,6d41,6d41,6d59,6d5a,6d5c,6d5c,6d61,6d61,6d63,6d67,6d69,6d6a,6d6c,6d6c,6d6e,6d6f,6d72,6d72,6d74,6d74,6d77,6d79,6d7f,6d7f,6d82,6d82,6d85,6d85,6d87,6d89,6d8c,6d8f,6d91,6d91,6d93,6d97,6daa,6dac,6daf,6daf,6db2,6db2,6db4,6db5,6db7,6db8,6dbc,6dbc,6dbf,6dc0,6dc3,6dc8,6dcb,6dcc,6dcf,6dd2,6dd6,6dd6,6dd8,6dda,6ddd,6dde,6de0,6de6,6de8,6de8,6dea,6dec,6dee,6dee,6df1,6df1,6df3,6df3,6df5,6dfc,6e05,6e05,6e08,6e08,6e0a,6e0a,6e17,6e17,6e19,6e1b,6e1d,6e1d,6e1f,6e26,6e28,6e28,6e2b,6e2d,6e2f,6e2f,6e32,6e32,6e34,6e34,6e36,6e38,6e3a,6e3a,6e3c,6e3e,6e40,6e40,6e43,6e45,6e4a,6e4a,6e4d,6e4e,6e51,6e51,6e53,6e56,6e58,6e58,6e5b,6e5c,6e5e,6e5f,6e63,6e63,6e67,6e67,6e6b,6e6b,6e6e,6e6f,6e72,6e73,6e75,6e75,6e7a,6e7a,6e8f,6e90,6e95,6e96,6e98,6e98,6e9c,6e9d,6e9f,6e9f,6ea2,6ea2,6ea5,6ea5,6ea7,6ea8,6eaa,6eab,6eaf,6eaf,6eb1,6eb2,6eb5,6eb7,6eba,6eba,6ebd,6ebd,6ec2,6ec5,6ec8,6ec9,6ecb,6ecc,6ece,6ece,6ed1,6ed1,6ed3,6ed5,6ed9,6ed9,6eec,6eed,6eef,6eef,6ef2,6ef2,6ef4,6ef5,6ef7,6ef8,6efc,6efc,6efe,6eff,6f01,6f02,6f04,6f04,6f06,6f06,6f09,6f09,6f0c,6f0c,6f0f,6f0f,6f11,6f11,6f13,6f15,6f19,6f1a,6f20,6f20,6f22,6f24,6f26,6f28,6f2a,6f2d,6f30,6f33,6f38,6f38,6f3c,6f3c,6f3e,6f3f,6f41,6f41,6f4f,6f4f,6f51,6f52,6f54,6f54,6f57,6f5f,6f61,6f64,6f66,6f66,6f6d,6f71,6f74,6f74,6f78,6f78,6f7a,6f7a,6f7c,6f7e,6f81,6f82,6f84,6f84,6f86,6f89,6f8b,6f8e,6f90,6f90,6f92,6f92,6f94,6f98,6f9f,6f9f,6fa1,6fa1,6fa3,6fa5,6fa7,6fa8,6faa,6faa,6fae,6faf,6fb1,6fb1,6fb3,6fb3,6fb6,6fb6,6fb9,6fb9,6fbe,6fbe,6fc0,6fc3,6fc6,6fc7,6fc9,6fca,6fd4,6fd5,6fd8,6fd8,6fda,6fdb,6fde,6fe1,6fe4,6fe6,6fe9,6fe9,6feb,6fec,6fee,6fef,6ff1,6ff1,6ff3,6ff4,6ff6,6ff6,6ffa,6ffa,6ffe,6ffe,7001,7001,7005,7007,7009,7009,700b,700b,700f,700f,7011,7013,7015,7015,7018,7018,701a,701f,7023,7023,7026,7028,702f,7030,7032,7032,7037,7038,703c,703c,703e,703e,7044,7044,7046,7046,704c,704c,704e,704e,7050,7051,7053,7053,7058,7058,705d,705e,7063,7063,7066,7066,7069,7069,706b,706c,706f,7070,7078,7078,707c,707e,7081,7081,7085,7086,708a,708a,708e,708e,7092,7092,7095,7095,7098,709b,70a1,70a1,70a4,70a4,70a6,70a6,70ab,70b0,70b3,70b3,70b7,70ba,70c8,70c8,70ca,70cb,70cf,70cf,70d3,70d4,70d8,70d9,70dc,70dd,70df,70df,70ef,70ef,70f1,70f1,70f9,70fa,70fd,70fd,7103,7104,7106,7106,7109,7109,710c,710c,7119,711a,711c,711c,711e,711e,7120,7121,7126,7126,712d,7131,7136,7136,7143,7143,7146,7147,7149,714a,714c,714c,714e,714e,7150,7150,7152,7153,7155,7157,7159,7159,715c,715e,7162,7162,7164,7169,716c,716c,716e,716e,717d,717d,7180,7180,7184,7185,7187,718a,718f,718f,7192,7192,7194,7194,7199,7199,719b,719b,719f,71a2,71a4,71a4,71a8,71a9,71ac,71ac,71af,71af,71b1,71b2,71b9,71ba,71be,71be,71c1,71c1,71c3,71c3,71c8,71c9,71cb,71cb,71ce,71d0,71d2,71d2,71d4,71d6,71d9,71d9,71db,71db,71df,71e0,71e5,71e7,71ec,71ee,71f9,71f9,71fb,7201,7206,7207,720b,720d,7210,7210,7214,7214,7217,7217,721a,721b,721f,721f,7225,7225,7228,7228,722a,722a,722c,722d,7230,7230,7232,7232,7235,7236,7238,723b,723d,7240,7242,7242,7246,7248,724b,724c,7252,7254,7256,7256,7258,725b,725d,725d,725f,725f,7261,7263,7267,7267,7269,7269,726f,726f,7272,7272,7274,7274,7278,7279,727d,727d,7280,7282,7287,7287,728d,728d,7292,7292,7296,7296,72a2,72a2,72a7,72a7,72ac,72ad,72af,72af,72b3,72b5,72c0,72c0,72c2,72c2,72c4,72c4,72c9,72c9,72ce,72ce,72d0,72d0,72d2,72d2,72d7,72d7,72d9,72d9,72e1,72e2,72e5,72e5,72e8,72e9,72ec,72ec,72f4,72f4,72f7,72fd,7309,730a,7313,7313,7316,7319,731b,731d,7322,7322,7325,7325,7327,732b,7331,7331,7334,7334,7336,7337,733e,733f,7343,7345,734e,734e,7350,7350,7352,7352,7357,7358,735c,735c,7360,7360,7368,736c,736f,7370,7372,7372,7375,7375,7377,7378,737a,737c,7381,7381,7384,7384,7386,7389,738b,738b,738e,738e,7392,7392,7394,7398,739e,73a0,73a6,73a7,73a9,73ab,73ad,73ad,73b2,73b4,73b7,73b7,73b9,73b9,73bb,73bd,73bf,73c0,73c2,73c2,73c6,73c6,73c8,73ca,73cc,73cd,73cf,73cf,73d2,73d2,73d6,73d9,73dd,73de,73e0,73e0,73e2,73e6,73e9,73eb,73ed,73ee,73f5,73f5,73f7,73f9,73fd,73fe,7401,7401,7403,7407,7409,7409,7413,7413,7417,7418,741b,741b,741d,741d,741f,7422,7424,7426,7428,7428,742a,742c,742e,7436,7438,7438,743a,743a,743f,7446,7448,7449,744b,744c,744e,744e,7455,7455,7457,7457,7459,7460,7462,7465,7468,746a,746d,7473,747d,747e,7480,7480,7482,7487,7489,748c,7490,7490,7498,7498,749c,749f,74a1,74a1,74a3,74a3,74a5,74a5,74a7,74a8,74aa,74ab,74b0,74b2,74b5,74b6,74b8,74b9,74bc,74bd,74bf,74c0,74c6,74c6,74ca,74ca,74cd,74cd,74cf,74d0,74d3,74d4,74d8,74d8,74da,74dc,74e0,74e0,74e2,74e3,74e6,74e6,74e9,74e9,74ee,74ee,74f2,74f3,74f7,74f7,7501,7501,7503,7504,750c,750e,7511,7511,7513,7513,7515,7515,7518,7518,751a,751c,751e,751f,7522,7526,7528,7528,752b,752c,7530,7533,7537,7538,753a,753b,753f,753f,7543,7543,7547,7547,754a,754c,754e,754f,7551,7551,7553,7554,7559,755d,7560,7560,7562,7562,7564,7567,756a,756b,756f,7570,7575,7576,7578,7578,757a,757a,757f,757f,7586,7588,758a,758b,758e,758f,7591,7592,7594,7594,7599,759a,759d,759d,75a3,75a3,75a5,75a5,75a9,75a9,75ab,75ab,75b1,75b5,75b8,75b9,75bc,75be,75c0,75c0,75c2,75c3,75c5,75c5,75c7,75c7,75ca,75ca,75cd,75ce,75d2,75d5,75d8,75d9,75db,75db,75de,75de,75e2,75e4,75e7,75e7,75f0,75f0,75f2,75f4,75f9,75fa,75fc,75fc,75ff,7601,7607,7609,760b,760b,760d,760d,7610,7610,7615,7615,7619,7619,761f,7622,7624,7624,7626,7627,762f,7631,7633,7634,763b,763b,7642,7643,7646,7649,764c,764c,764e,764e,7652,7652,7655,7656,7658,7658,765c,765c,7661,7662,7664,7665,7667,7669,766c,7672,7676,7676,7678,7678,767a,767e,7680,7681,7683,7684,7686,7687,768b,768b,768e,768e,7690,7690,7692,7693,7696,7697,769a,769c,769e,769e,76a4,76a4,76ac,76ac,76ae,76ae,76b4,76b4,76b6,76b6,76b8,76b8,76ba,76ba,76bf,76bf,76c2,76c3,76c6,76c6,76c8,76c8,76ca,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76d9,76db,76dc,76de,76df,76e1,76e1,76e3,76e5,76e7,76e7,76ea,76ea,76ec,76ec,76ee,76ee,76f1,76f2,76f4,76f4,76f8,76f9,76fb,76fc,76fe,7702,7704,7704,7707,770c,7710,7710,771a,771b,771e,7720,7725,7726,7728,7729,7734,7734,7737,773c,773e,773e,7740,7740,7743,7743,7746,7747,774d,774d,7752,7752,775a,775b,775f,7763,7765,7766,7768,7768,776b,776c,7777,7777,7779,7779,777d,777f,778b,778b,778d,778e,7791,7791,7796,7796,7799,7799,779e,779e,77a0,77a0,77a2,77a2,77a5,77a5,77aa,77aa,77ac,77ae,77b0,77b0,77b3,77b3,77b9,77b9,77bb,77bd,77bf,77bf,77c7,77c7,77c9,77c9,77cd,77cd,77d7,77d7,77d9,77dc,77de,77de,77e1,77e3,77e5,77e5,77e7,77e7,77e9,77e9,77ed,77f0,77f3,77f3,77f8,77f8,77fa,77fd,7802,7802,7807,7807,780c,780c,780f,780f,7811,7812,7814,7814,7822,7822,7825,7827,782c,782d,7830,7830,7832,7832,7834,7834,7843,7843,7845,7845,784f,784f,785c,785d,7860,7860,7867,7868,786a,786c,786e,786f,787c,787c,7881,7881,7884,7884,7887,7887,788c,788f,7891,7891,7893,7893,7897,7897,789f,789f,78a3,78a4,78a7,78a9,78ac,78ad,78ba,78bc,78be,78be,78c1,78c1,78c5,78c5,78c8,78c8,78ca,78cb,78ce,78d1,78d4,78d5,78da,78da,78e0,78e0,78e7,78e8,78ea,78ea,78ec,78ec,78ef,78ef,78f4,78f5,78f7,78f7,78fa,78fd,7901,7901,790c,790c,790e,790f,7911,7912,7916,7916,7919,7919,7927,7927,792a,792d,7931,7931,793a,793c,793e,793e,7940,7941,7944,794a,7950,7950,7953,7958,795a,7960,7962,7962,7965,7965,7967,7968,796d,796d,7979,797a,797c,797c,797f,7981,798a,798b,798d,798f,7991,7991,7994,7994,799b,799b,799d,799d,79a6,79a8,79aa,79ab,79ae,79ae,79b0,79b1,79b3,79b4,79b8,79c1,79c4,79c4,79c6,79c6,79c9,79cb,79d1,79d2,79d5,79d5,79d8,79d8,79de,79df,79e2,79e4,79e6,79e7,79e9,79ec,79f5,79f5,79f8,79f8,79fb,79fb,7a00,7a02,7a05,7a05,7a08,7a08,7a0a,7a0d,7a14,7a14,7a17,7a1a,7a1c,7a1c,7a1e,7a20,7a22,7a22,7a27,7a27,7a2e,7a2e,7a30,7a31,7a33,7a33,7a36,7a37,7a39,7a39,7a3b,7a3d,7a3f,7a40,7a42,7a42,7a45,7a46,7a49,7a49,7a4c,7a4e,7a57,7a57,7a60,7a62,7a66,7a66,7a69,7a69,7a6b,7a6b,7a70,7a70,7a74,7a76,7a79,7a7a,7a7d,7a86,7a88,7a88,7a8a,7a8a,7a92,7a93,7a95,7a99,7a9b,7a9b,7a9f,7aa0,7aa3,7aa3,7aa9,7aaa,7aac,7aac,7aae,7aaf,7ab3,7ab3,7ab6,7ab6,7ab9,7abb,7abe,7abf,7ac4,7ac5,7ac7,7ac8,7aca,7acb,7ad7,7ad7,7ad9,7ad9,7adc,7add,7adf,7ae0,7ae2,7ae3,7ae5,7ae6,7aea,7aea,7aed,7aed,7aef,7aef,7af4,7af4,7af6,7af6,7af8,7afa,7afd,7afd,7aff,7aff,7b06,7b06,7b08,7b08,7b0a,7b0a,7b0c,7b0c,7b0e,7b0f,7b11,7b12,7b18,7b19,7b1b,7b1b,7b1e,7b1e,7b20,7b20,7b25,7b28,7b2c,7b2d,7b2f,7b2f,7b33,7b33,7b35,7b35,7b39,7b39,7b45,7b46,7b48,7b49,7b4b,7b4d,7b4f,7b54,7b56,7b56,7b5f,7b60,7b65,7b67,7b69,7b69,7b6c,7b6c,7b6e,7b6e,7b71,7b71,7b73,7b73,7b75,7b75,7b7d,7b7d,7b87,7b87,7b8b,7b8b,7b8d,7b8f,7b92,7b92,7b94,7b95,7b97,7b97,7b99,7b9a,7b9c,7b9d,7ba0,7ba1,7bad,7bad,7bb1,7bb1,7bb4,7bb4,7bb8,7bb8,7bbe,7bbe,7bc0,7bc1,7bc4,7bc4,7bc6,7bc7,7bc9,7bcc,7bd2,7bd2,7bd4,7bd4,7bd9,7bd9,7bdb,7bdb,7bdd,7bdd,7be0,7be1,7be4,7be4,7be6,7be6,7be9,7bea,7bf3,7bf3,7bf7,7bf7,7bfe,7bfe,7c00,7c00,7c07,7c07,7c09,7c09,7c0b,7c0b,7c0f,7c0f,7c12,7c12,7c1e,7c21,7c27,7c27,7c2a,7c2b,7c37,7c38,7c3d,7c3f,7c43,7c43,7c4c,7c4d,7c50,7c50,7c52,7c52,7c54,7c54,7c5b,7c5c,7c5f,7c60,7c64,7c65,7c67,7c67,7c69,7c69,7c6c,7c6c,7c72,7c73,7c7e,7c7e,7c81,7c81,7c83,7c83,7c89,7c89,7c8d,7c8d,7c92,7c92,7c95,7c95,7c97,7c98,7c9f,7c9f,7ca2,7ca2,7ca4,7ca8,7cae,7cae,7cb1,7cb3,7cb9,7cb9,7cbc,7cbe,7cc5,7cc6,7cca,7cca,7cd5,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce5,7ce5,7ce7,7ce7,7cef,7cef,7cf1,7cf2,7cf4,7cf6,7cf8,7cfb,7cfe,7cfe,7d00,7d00,7d02,7d08,7d0a,7d0b,7d0d,7d0d,7d10,7d10,7d13,7d15,7d17,7d1c,7d20,7d22,7d2b,7d2c,7d2e,7d33,7d35,7d35,7d38,7d3a,7d41,7d46,7d49,7d49,7d4c,7d4d,7d50,7d51,7d55,7d56,7d59,7d59,7d5b,7d5c,7d5e,7d5e,7d61,7d63,7d66,7d66,7d68,7d6a,7d6e,7d6e,7d70,7d73,7d75,7d76,7d79,7d7a,7d7f,7d7f,7d83,7d83,7d86,7d86,7d8e,7d8f,7d93,7d93,7d98,7d98,7d9a,7d9a,7d9c,7d9c,7da0,7da0,7da2,7da3,7da5,7da7,7da9,7da9,7dab,7dae,7db0,7db2,7db4,7db5,7db8,7db8,7dba,7dbb,7dbd,7dbf,7dc4,7dc4,7dc7,7dc7,7dca,7dcd,7dcf,7dcf,7dd6,7dd8,7dda,7dda,7ddc,7dde,7de0,7de1,7de3,7de3,7de6,7de6,7de8,7de9,7dec,7dec,7def,7def,7df4,7df4,7df6,7df6,7df9,7df9,7dfb,7dfb,7e03,7e03,7e08,7e0b,7e10,7e11,7e15,7e15,7e17,7e18,7e1b,7e1b,7e1d,7e23,7e2b,7e2b,7e2e,7e2f,7e31,7e33,7e35,7e35,7e37,7e37,7e39,7e39,7e3b,7e3b,7e3d,7e3e,7e41,7e41,7e43,7e48,7e50,7e50,7e52,7e52,7e54,7e57,7e59,7e5a,7e5e,7e5e,7e61,7e62,7e69,7e6b,7e6d,7e6d,7e6f,7e70,7e76,7e76,7e79,7e79,7e7c,7e7e,7e81,7e82,7e87,7e88,7e8a,7e8a,7e8c,7e8d,7e8f,7e8f,7e93,7e94,7e96,7e96,7e98,7e98,7e9b,7e9c,7e9f,7e9f,7f36,7f38,7f3a,7f3a,7f3e,7f3f,7f43,7f45,7f47,7f47,7f4b,7f4e,7f50,7f55,7f58,7f58,7f5d,7f5d,7f5f,7f61,7f63,7f63,7f66,7f66,7f68,7f68,7f6a,7f6b,7f6e,7f6e,7f70,7f70,7f72,7f72,7f75,7f75,7f77,7f79,7f7c,7f7e,7f82,7f82,7f85,7f88,7f8a,7f8a,7f8c,7f8c,7f8e,7f8e,7f94,7f94,7f96,7f98,7f9a,7f9a,7f9d,7f9e,7fa1,7fa1,7fa4,7fa4,7fa8,7fa9,7fab,7fab,7faf,7faf,7fb2,7fb2,7fb6,7fb6,7fb8,7fb9,7fbd,7fbd,7fbf,7fbf,7fc1,7fc1,7fc5,7fc5,7fca,7fca,7fcc,7fcc,7fce,7fce,7fd2,7fd2,7fd4,7fd6,7fdb,7fdb,7fdf,7fe1,7fe3,7fe4,7fe6,7fe6,7fe9,7fe9,7feb,7fec,7fee,7fee,7ff0,7ff0,7ff3,7ff3,7ff9,7ffc,7ffe,7ffe,8000,8009,800c,800c,8010,8012,8014,8019,801e,801e,8021,8021,8026,8026,8028,8028,802c,802d,8030,8030,8033,8033,8036,8036,803d,803d,803f,803f,8043,8043,8046,8046,8048,8048,804a,804a,8052,8052,8055,8056,8058,8058,805a,805a,805e,805e,8061,8061,806f,8073,8075,8077,807d,8080,8084,8087,8089,8089,808b,808c,8093,8093,8096,8096,8098,8098,809a,809b,809d,809d,80a1,80a2,80a5,80a6,80a9,80ab,80ad,80ad,80af,80af,80b1,80b2,80b4,80b5,80ba,80ba,80c3,80c4,80c6,80c6,80ca,80ca,80cc,80cc,80ce,80ce,80d5,80d6,80d9,80dc,80de,80de,80e0,80e1,80e4,80e5,80ef,80ef,80f1,80f1,80f4,80f4,80f7,80f8,80fd,80fe,8102,8102,8105,810a,8116,8118,811a,811b,8123,8124,8127,8127,8129,8129,812b,812b,812f,8130,8139,813a,813e,813e,8141,8141,8146,8146,814a,814b,814e,814e,8150,8155,8160,8160,8164,8166,816b,816b,816d,816d,8170,8171,8174,8174,8176,817a,817f,8180,8182,8184,8186,8186,8188,8188,818a,818b,818f,818f,819a,819a,819c,819e,81a0,81a0,81a3,81a3,81a8,81a9,81b0,81b0,81b3,81b5,81b8,81ba,81bd,81c0,81c2,81c2,81c6,81c6,81ca,81ca,81cd,81cd,81cf,81cf,81d1,81d1,81d8,81da,81dd,81dd,81df,81e0,81e3,81e3,81e5,81e5,81e7,81e8,81ea,81ea,81ec,81ed,81f3,81f4,81f6,81f6,81fa,81fc,81fe,81fe,8201,8203,8205,8205,8207,8208,820a,820a,820c,820d,8210,8210,8212,8212,8216,8216,8218,8218,821b,821c,821e,821f,8221,8221,822a,822c,8233,8233,8235,8239,823d,823d,8240,8240,8245,8245,8247,8247,8251,8251,8258,825a,825f,825f,8264,8264,8266,8266,8268,8268,826a,826b,826e,826f,8271,8272,8274,8274,8276,8279,827d,827e,8283,8283,828a,828b,828d,828e,8290,8290,8292,8292,8294,8294,8298,829a,829d,829d,829f,829f,82a1,82a3,82a5,82b1,82b3,82b3,82b7,82b9,82bb,82bf,82c5,82c5,82d1,82d5,82d7,82d7,82db,82dc,82de,82e1,82e3,82e3,82e5,82e7,82e9,82e9,82eb,82eb,82f1,82f1,82f3,82f4,82f9,82fb,82fd,8305,8308,8309,8317,8317,831b,831d,8323,8325,8328,8328,832a,832b,832f,832f,8331,8336,8338,8339,833c,833c,8340,8340,8343,8343,8347,8347,8349,834a,834f,8352,8363,8363,8373,8373,8377,8377,837a,837b,8382,8382,8385,8385,8389,838a,838e,838e,8392,8393,8396,8396,8398,8398,839a,839b,839d,83a0,83a2,83a2,83a8,83ab,83bd,83c2,83c5,83c5,83c9,83ca,83cc,83cc,83d1,83d1,83d3,83d4,83d6,83d6,83d8,83d8,83dc,83dc,83df,83e1,83e9,83e9,83eb,83eb,83ef,83f2,83f4,83f4,83f6,83f6,83f9,83f9,83fb,83fb,83fd,83fd,8403,8404,8406,8407,840a,840e,8429,8429,842c,842c,8431,8431,8435,8435,8438,8439,843c,843d,8446,8446,8449,844a,8451,8451,8457,8457,845a,845b,8461,8461,8463,8463,8466,8466,8469,846d,846f,8471,8473,8473,8475,8475,8477,8477,847a,847a,8482,8482,8490,8491,8494,8494,8499,8499,849c,849c,849f,849f,84a1,84a1,84a8,84a8,84ad,84ad,84af,84af,84b2,84b2,84b4,84b4,84b8,84bd,84bf,84c2,84c4,84c4,84c6,84c6,84c9,84cb,84cd,84cd,84cf,84d1,84d3,84d3,84d6,84d6,84da,84da,84ec,84ef,84f1,84f1,84f4,84f4,84fa,84fa,84fc,84fd,8500,8500,8506,8506,850e,850e,8511,8511,8513,8515,8517,8518,851a,851a,851e,851f,8521,8521,8523,8523,8525,8526,852a,852a,852c,852d,852f,8530,853d,853d,853f,853f,8541,8541,8543,8543,8546,8546,8549,854b,854e,854e,8553,8553,8555,8559,855e,855e,8561,8561,8563,8564,8568,856b,856d,856d,8578,8578,857a,857a,857e,857e,8580,8580,8584,8584,8586,8587,8589,858a,858c,858c,858f,858f,8591,8591,8594,8594,8597,8597,8599,8599,859b,859b,859d,859d,85a4,85a6,85a8,85ab,85af,85b0,85ba,85ba,85c1,85c1,85c7,85c7,85c9,85c9,85cd,85d0,85d5,85d5,85dc,85dd,85e4,85e5,85e9,85ea,85f7,85f7,85f9,85fb,85fd,85fd,85ff,8600,8602,8602,8604,8604,8606,8607,860a,860b,8616,8618,861a,861a,861f,861f,8622,8622,8627,8627,8629,862a,862d,862d,862f,862f,863c,863c,863f,863f,8641,8641,864d,864e,8650,8650,8653,8655,865b,865c,865e,865f,8667,8667,866b,866c,866f,866f,8671,8671,8678,867b,868a,868d,8693,8693,8695,8695,86a3,86a4,86a8,86aa,86af,86b1,86b4,86b4,86c0,86c0,86c5,86c7,86c9,86c9,86cb,86cb,86d4,86d4,86d9,86d9,86db,86db,86de,86df,86e3,86e4,86e9,86e9,86ec,86ed,86f8,86f9,86fb,86fb,86fe,86fe,8700,8700,8702,8703,8706,8706,8708,870b,8711,8711,8718,8718,871a,871a,871c,871d,8721,8721,8725,8725,8728,8729,8734,8735,8737,8737,873a,873b,873f,8740,874c,874c,874e,874e,8755,8755,8757,8757,8759,8759,875f,8760,8764,8766,8768,8768,876e,876e,8774,8774,8776,8776,8778,8778,8782,8783,878c,878d,8798,8798,879e,879f,87a2,87a3,87ad,87ad,87b3,87b4,87ba,87bb,87bd,87bd,87c0,87c0,87c4,87c4,87c7,87c7,87ca,87cb,87d2,87d2,87da,87db,87e0,87e0,87e3,87e3,87ec,87ec,87ef,87ef,87f2,87f2,87f7,87f7,87f9,87f9,87fb,87fb,87fe,87fe,8805,8805,880d,880d,8811,8811,8815,8815,881f,881f,8821,8823,8831,8832,8836,8836,8839,8839,883b,883b,8840,8840,8844,8844,8846,8846,884a,884a,884c,884e,8852,8853,8857,8857,8859,8859,885b,885b,885d,885e,8861,8864,8868,8868,886b,886b,886e,886e,8870,8870,8872,8872,8877,8877,887d,887f,8881,8882,8888,8888,888b,888b,888d,888d,8892,8892,8896,8897,889b,889b,889d,889e,88a2,88a2,88aa,88ab,88b4,88b4,88c0,88c2,88c5,88c5,88ca,88ca,88cd,88cd,88cf,88cf,88d2,88d2,88d4,88d5,88d8,88d9,88dc,88dd,88df,88df,88e1,88e1,88e8,88e8,88ef,88ef,88f1,88f1,88f3,88f5,88f8,88f9,88fd,88fe,8904,8904,8907,8907,890a,890a,890c,890c,8910,8913,8915,8915,8918,891a,8925,8925,8927,8927,892a,892b,892f,8930,8936,8936,8938,8938,893a,893b,8941,8941,8944,8944,894d,894d,8952,8952,8956,8956,8958,8958,895c,895c,895e,8960,8964,8964,896a,896a,896d,896d,896f,896f,8972,8972,8974,8974,897e,8981,8983,8983,8986,8989,898b,898b,898f,898f,8993,8993,8996,8998,899a,899a,89a0,89a1,89a8,89aa,89ac,89ac,89af,89af,89b2,89b3,89b6,89b7,89ba,89ba,89bd,89bd,89bf,89c1,89d2,89d2,89d4,89d4,89d6,89d7,89da,89da,89dc,89dd,89e3,89e3,89e5,89e7,89f0,89f1,89f3,89f4,89f6,89f6,89f8,89f8,8a00,8a00,8a02,8a03,8a07,8a0a,8a0c,8a0c,8a0e,8a0e,8a10,8a18,8a1b,8a1b,8a1d,8a1d,8a1f,8a1f,8a22,8a23,8a25,8a25,8a2a,8a2a,8a2d,8a2d,8a31,8a31,8a33,8a34,8a36,8a36,8a3a,8a3c,8a3e,8a3e,8a41,8a41,8a46,8a46,8a4b,8a4b,8a50,8a51,8a54,8a58,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a66,8a69,8a69,8a6b,8a6e,8a70,8a73,8a75,8a75,8a79,8a79,8a7c,8a7c,8a7f,8a7f,8a82,8a82,8a84,8a87,8a8c,8a8d,8a91,8a91,8a93,8a93,8a95,8a95,8a98,8a98,8a9a,8a9a,8a9e,8a9e,8aa0,8aa8,8aaa,8aaa,8ab0,8ab0,8ab2,8ab2,8ab9,8ab9,8abc,8abc,8abe,8abf,8ac2,8ac2,8ac4,8ac4,8ac7,8ac7,8ac9,8ac9,8acb,8acb,8acd,8acd,8acf,8acf,8ad2,8ad2,8ad6,8ad7,8adb,8ae1,8ae4,8ae4,8ae6,8ae7,8aea,8aeb,8aed,8aee,8af0,8af4,8af6,8af8,8afa,8afa,8afc,8afc,8afe,8afe,8b00,8b02,8b04,8b04,8b07,8b07,8b0c,8b0c,8b0e,8b0e,8b10,8b11,8b14,8b14,8b16,8b17,8b19,8b1d,8b20,8b20,8b23,8b23,8b26,8b26,8b28,8b28,8b2b,8b2c,8b33,8b33,8b37,8b37,8b39,8b39,8b3c,8b3c,8b3e,8b3e,8b41,8b41,8b43,8b43,8b46,8b46,8b49,8b49,8b4c,8b4c,8b4e,8b4f,8b53,8b54,8b56,8b56,8b58,8b5a,8b5c,8b5c,8b5e,8b5f,8b66,8b66,8b6b,8b6c,8b6f,8b71,8b74,8b74,8b77,8b77,8b7d,8b7d,8b7f,8b80,8b83,8b83,8b89,8b8a,8b8c,8b8c,8b8e,8b8e,8b90,8b90,8b92,8b93,8b96,8b96,8b9a,8b9a,8b9c,8b9c,8b9e,8b9e,8ba0,8ba0,8c37,8c37,8c3f,8c3f,8c41,8c41,8c46,8c4a,8c4c,8c4c,8c4e,8c4e,8c50,8c50,8c55,8c56,8c5a,8c5a,8c61,8c62,8c68,8c68,8c6a,8c6c,8c73,8c73,8c78,8c7a,8c82,8c83,8c8a,8c8a,8c8c,8c8d,8c93,8c94,8c98,8c98,8c9d,8ca2,8ca7,8cac,8caf,8cb0,8cb2,8cb4,8cb6,8cbd,8cbf,8cc4,8cc6,8cc8,8cca,8cca,8cd1,8cd1,8cd3,8cd3,8cd9,8cdc,8cde,8cde,8ce0,8ce6,8cea,8cea,8cec,8ced,8cf0,8cf1,8cf3,8cf4,8cfb,8cfd,8d04,8d05,8d07,8d08,8d0a,8d0b,8d0d,8d0d,8d0f,8d10,8d13,8d14,8d16,8d16,8d1b,8d1b,8d1d,8d1d,8d64,8d64,8d66,8d67,8d6b,8d6b,8d6d,8d6e,8d70,8d70,8d73,8d74,8d76,8d77,8d81,8d81,8d85,8d85,8d8a,8d8a,8d8e,8d8e,8d90,8d90,8d99,8d99,8da0,8da0,8da3,8da3,8da8,8da8,8dab,8dab,8db2,8db3,8dba,8dba,8dbe,8dbe,8dc2,8dc2,8dc6,8dc6,8dcb,8dcc,8dce,8dcf,8dd5,8dd7,8ddb,8ddb,8ddd,8ddd,8ddf,8ddf,8de1,8de1,8de3,8de3,8de8,8de8,8dea,8ded,8def,8def,8df1,8df1,8df3,8df3,8dfc,8dfc,8e06,8e06,8e08,8e0a,8e0f,8e10,8e14,8e14,8e1d,8e1f,8e2a,8e2a,8e30,8e30,8e34,8e36,8e3a,8e3a,8e3d,8e3d,8e40,8e40,8e42,8e42,8e44,8e44,8e47,8e4a,8e4c,8e4c,8e4f,8e4f,8e55,8e55,8e59,8e59,8e5c,8e5c,8e5f,8e60,8e63,8e64,8e72,8e72,8e74,8e74,8e76,8e76,8e7b,8e7b,8e81,8e81,8e85,8e85,8e87,8e87,8e89,8e8b,8e8d,8e8d,8e90,8e91,8e93,8e94,8e99,8e99,8e9e,8e9e,8ea1,8ea1,8ea9,8eac,8eb1,8eb1,8eb3,8eb3,8ebe,8ebe,8ec0,8ec0,8ec6,8ec6,8eca,8ecd,8ed2,8ed2,8ede,8edf,8ee2,8ee2,8ee8,8ee8,8eeb,8eeb,8ef8,8efc,8efe,8efe,8f03,8f03,8f05,8f05,8f07,8f09,8f12,8f15,8f1b,8f1f,8f26,8f2a,8f2d,8f2d,8f2f,8f30,8f33,8f33,8f38,8f39,8f3b,8f3b,8f3e,8f40,8f42,8f42,8f44,8f46,8f49,8f49,8f4d,8f4e,8f52,8f52,8f54,8f54,8f57,8f58,8f5d,8f5f,8f61,8f64,8f66,8f66,8f9b,8f9c,8f9f,8f9f,8fa2,8fa3,8fa6,8fa6,8fa8,8fa8,8fad,8fb2,8fb5,8fb6,8fbb,8fbb,8fbf,8fc0,8fc2,8fc5,8fcd,8fce,8fd0,8fd1,8fd3,8fd5,8fe2,8fe2,8fe4,8fe6,8fe8,8fe8,8fea,8fed,8ff0,8ff0,8ff2,8ff2,8ff4,8ff4,8ff7,8ffa,8ffc,8ffd,8fff,9003,9005,9006,9008,9008,900b,9011,9014,9017,9019,901a,901d,9023,902e,902e,9031,9032,9034,9036,9038,9038,903c,903c,903e,903e,9041,9042,9047,9047,9049,904b,904d,9055,9058,9059,905b,905e,9060,9061,9063,9063,9068,9069,906c,906f,9072,9072,9075,9078,907a,907a,907c,9085,9087,9088,908a,908a,908c,908d,908f,9091,9095,9095,9097,9099,90a0,90a0,90a2,90a3,90a6,90a6,90a8,90a8,90aa,90aa,90af,90b1,90b3,90b3,90b5,90b5,90b8,90b8,90bd,90be,90c1,90c1,90c3,90c5,90ca,90ca,90ce,90ce,90dc,90de,90e1,90e2,90e8,90e8,90ea,90eb,90ed,90ed,90ef,90ef,90f3,90f5,90fd,90fd,9102,9102,9112,9112,9115,9117,9119,9119,911e,911e,9122,9123,9127,9127,912d,912d,9130,9132,9134,9134,913d,913d,9148,914e,9152,9152,9156,9157,9162,9165,9169,916a,916c,916c,9172,9172,9174,9179,9183,9183,9187,9187,9189,9189,918b,918b,918d,918d,9190,9190,9192,9192,919c,919c,919e,919e,91a2,91a2,91aa,91ac,91ae,91af,91b1,91b2,91b4,91b5,91bc,91bc,91c0,91c1,91c3,91c3,91c5,91c7,91c9,91c9,91cb,91d1,91d7,91d8,91dc,91dd,91e3,91e7,91e9,91ea,91ed,91ed,91f5,91f5,91ff,91ff,9207,9207,920d,920d,9210,9212,9214,9215,9217,9217,921c,921c,921e,921f,9226,9226,9231,9231,9234,9235,9237,9238,923a,923a,923f,9241,9244,9245,9249,9249,924b,924b,924d,9252,9257,9257,925b,925b,925e,925e,9262,9262,9264,9266,9277,9278,927c,927c,927e,927e,9280,9280,9283,9283,9285,9285,928b,928b,9291,9291,9293,9293,9295,9296,9298,929c,92b3,92b4,92b6,92b7,92b9,92b9,92c6,92c6,92cc,92cc,92cf,92cf,92d1,92d2,92d5,92d5,92d7,92d7,92df,92df,92e4,92e5,92ea,92ea,92f2,92f2,92f8,92fa,92fc,92fe,9300,9300,9304,9304,9306,9306,930f,9310,9315,9315,9318,931a,931e,9324,9326,9328,932a,932c,932e,932f,9348,934b,934d,934d,9351,9351,9354,9354,9357,9357,935b,935d,9364,9365,936b,936c,936e,936e,9370,9370,9372,9372,9375,9375,937c,937c,937e,937e,938a,938a,938c,938c,9394,9394,9396,9397,939a,939b,939f,93a1,93a3,93a4,93a7,93a7,93ac,93ad,93b0,93b0,93bb,93bb,93c3,93c3,93c7,93c8,93ca,93cc,93d1,93d1,93d6,93d8,93dc,93df,93e1,93e2,93e4,93e4,93e6,93e6,93e8,93e8,93f6,93f6,93f8,93f9,93fb,93fb,9403,9404,940f,9410,9413,9414,9418,9419,9425,9425,942a,942b,9435,9436,9438,9438,943a,943a,9442,9442,9444,9444,944a,944a,944c,944c,9451,9452,9455,9455,945b,945b,945e,945e,9460,9460,9462,9463,946a,946b,9470,9472,9475,9475,9477,9477,947c,947f,9485,9485,9577,9578,957f,9580,9583,9583,9588,958b,958e,958f,9591,9594,9598,9598,959c,959c,959f,95a0,95a2,95a5,95a8,95a9,95ab,95ad,95b1,95b1,95b6,95b6,95b9,95b9,95bb,95be,95c3,95c3,95c7,95c8,95ca,95cd,95d3,95d6,95da,95da,95dc,95dc,95de,95de,95e0,95e2,95e5,95e5,95e8,95e8,961c,961d,9621,9621,9624,9624,9627,962a,962d,962f,9632,9632,963b,963b,963f,9640,9642,9642,9644,9644,964b,964d,9650,9650,9654,9654,9656,9656,9658,9658,965b,965f,9661,9664,966a,966a,966c,966c,9670,9670,9672,9679,967c,967d,9684,9686,968a,968b,968d,968f,9691,9691,9694,9695,9697,9698,969b,969c,96a3,96a4,96a7,96aa,96b0,96b1,96b3,96b4,96b6,96b9,96bb,96bc,96c0,96c1,96c4,96c7,96c9,96c9,96cb,96ce,96d5,96d6,96d9,96de,96e2,96e3,96e8,96ea,96ef,96f0,96f2,96f2,96f6,96f7,96f9,96fb,9700,9700,9704,9709,970c,970f,9711,9711,9713,9714,9716,9716,9719,9719,971c,971c,971e,971e,9723,9723,9726,9727,972a,972a,9730,9730,9732,9732,9738,9739,973d,973d,9742,9742,9744,9744,9746,9746,9748,9749,974c,974c,9751,9752,9755,9756,9758,975e,9760,9762,9766,9766,9768,9769,976d,976d,9773,9775,9777,9777,977a,977a,977c,977c,9780,9781,9784,9785,978b,978b,978d,978d,978f,978f,9798,9798,97a0,97a0,97a3,97a3,97a6,97a6,97a8,97a8,97ab,97ad,97b1,97b1,97b4,97b4,97b8,97b9,97c1,97c1,97c3,97c3,97c6,97c6,97cb,97cd,97d0,97d0,97d3,97d3,97d9,97d9,97dc,97de,97e0,97e1,97e6,97e6,97ed,97ee,97f1,97f3,97f5,97f6,97fa,97fb,97fe,9803,9805,9806,9808,9808,980a,980a,980c,9813,9816,9818,981e,981e,9821,9821,9823,9824,9826,9826,982b,982b,982d,982e,9830,9830,9832,9832,9837,9839,983b,983c,983f,983f,9842,9842,9846,9848,984b,984e,9852,9855,9858,985a,985c,985c,985e,985e,9865,9867,986b,986b,986f,9871,9873,9875,98a8,98a8,98ad,98ad,98af,98af,98b1,98b2,98b6,98b6,98ba,98ba,98bc,98bc,98bf,98bf,98c2,98c2,98c4,98c4,98c6,98c7,98c9,98c9,98cb,98cb,98ce,98ce,98db,98dc,98de,98e2,98e6,98e7,98ea,98eb,98ed,98ef,98f1,98f1,98f4,98f4,98fb,98fe,9903,9903,9909,990a,990c,990c,9910,9910,9912,9915,9918,9918,991a,991a,991e,991e,9920,9920,9926,9928,992a,992a,992c,992c,992e,992e,9930,9931,9933,9933,9939,9939,993c,993d,9942,9942,9945,9945,9948,9949,994b,994d,9950,9952,9954,9955,9957,9957,995c,995c,995e,995e,9963,9963,9996,9999,999c,999d,999f,999f,99a1,99a1,99a3,99a3,99a5,99a5,99a7,99a8,99aa,99aa,99ac,99ae,99b0,99b1,99b3,99b4,99b6,99b6,99b9,99b9,99c1,99c1,99c4,99c5,99c8,99c9,99cf,99d2,99d5,99d5,99d8,99d9,99db,99df,99e2,99e2,99e8,99e8,99ea,99ea,99ed,99ee,99f1,99f1,99f8,99f8,99fa,99fb,99fd,99fd,99ff,99ff,9a01,9a05,9a08,9a08,9a0b,9a0b,9a0d,9a0f,9a11,9a11,9a16,9a16,9a18,9a19,9a1b,9a1b,9a2b,9a2b,9a2d,9a2d,9a30,9a30,9a35,9a38,9a3e,9a3e,9a40,9a45,9a4a,9a4a,9a4c,9a4f,9a52,9a52,9a55,9a55,9a57,9a58,9a5a,9a5b,9a5f,9a5f,9a62,9a62,9a64,9a65,9a69,9a6a,9a6c,9a6c,9aa8,9aa8,9aaa,9aaa,9ab0,9ab0,9ab8,9ab9,9abc,9abc,9abf,9ac0,9ac6,9ac6,9acf,9acf,9ad1,9ad1,9ad3,9ad4,9ad6,9ad8,9adf,9adf,9ae1,9ae1,9ae3,9ae3,9ae5,9ae6,9aeb,9aeb,9aed,9aee,9af0,9af0,9af2,9af2,9af4,9af4,9af9,9afb,9afd,9afd,9b02,9b02,9b05,9b06,9b0a,9b0b,9b0d,9b0d,9b10,9b10,9b12,9b12,9b16,9b16,9b18,9b1a,9b1f,9b1f,9b22,9b23,9b25,9b25,9b27,9b2a,9b2e,9b2f,9b31,9b32,9b3a,9b3a,9b3c,9b3c,9b41,9b45,9b48,9b48,9b4b,9b4b,9b4d,9b4f,9b51,9b51,9b54,9b54,9b58,9b58,9b5a,9b5a,9b66,9b66,9b6f,9b6f,9b74,9b74,9b80,9b80,9b83,9b83,9b8e,9b8e,9b90,9b93,9b97,9b97,9b9f,9b9f,9ba7,9ba8,9baa,9bab,9bad,9bae,9bb9,9bb9,9bc1,9bc1,9bc6,9bc6,9bc9,9bca,9bd4,9bd4,9bd6,9bd6,9bdb,9bdb,9be2,9be2,9be4,9be4,9be8,9be8,9bf7,9bf7,9c08,9c08,9c0a,9c0a,9c0c,9c0d,9c10,9c10,9c12,9c13,9c15,9c15,9c24,9c25,9c2d,9c2f,9c31,9c32,9c35,9c35,9c39,9c3b,9c3e,9c3e,9c47,9c47,9c49,9c49,9c4f,9c4f,9c52,9c53,9c57,9c57,9c60,9c60,9c63,9c63,9c67,9c67,9c78,9c78,9c7b,9c7c,9ce5,9ce7,9ce9,9ce9,9cf3,9cf4,9cf6,9cf6,9d03,9d03,9d06,9d09,9d0c,9d0c,9d12,9d12,9d15,9d15,9d18,9d19,9d1b,9d1b,9d1e,9d1f,9d23,9d23,9d25,9d26,9d28,9d28,9d2f,9d30,9d36,9d36,9d3b,9d3b,9d41,9d42,9d44,9d44,9d51,9d51,9d53,9d54,9d5d,9d5e,9d60,9d61,9d66,9d66,9d69,9d69,9d6c,9d6c,9d6f,9d70,9d72,9d72,9d77,9d77,9d7b,9d7b,9d7e,9d7e,9d84,9d84,9d89,9d8a,9d96,9d96,9d9a,9d9a,9da1,9da1,9da4,9da4,9da9,9da9,9dac,9dac,9daf,9daf,9db4,9db5,9db8,9db9,9dbb,9dbb,9dbf,9dbf,9dc1,9dc2,9dc4,9dc4,9dc7,9dc7,9dd3,9dd3,9dd6,9dd7,9dd9,9dd9,9de6,9de6,9de9,9deb,9df0,9df3,9df8,9dfa,9dfd,9dfd,9dff,9dff,9e07,9e07,9e0f,9e0f,9e15,9e15,9e1a,9e1f,9e75,9e75,9e77,9e77,9e79,9e7b,9e7d,9e7d,9e7f,9e80,9e82,9e82,9e84,9e84,9e8b,9e8c,9e8f,9e8f,9e91,9e93,9e97,9e98,9e9d,9e9f,9ea4,9ea6,9ea9,9eaa,9eaf,9eaf,9eb4,9eb5,9ebb,9ebb,9ebd,9ebf,9ec3,9ec5,9ecc,9ed1,9ed4,9ed4,9ed6,9ed6,9ed8,9ed8,9eda,9ede,9ee0,9ee0,9ee5,9ee5,9ee8,9ee8,9eee,9eef,9ef2,9ef2,9ef4,9ef7,9ef9,9f00,9f02,9f02,9f04,9f04,9f07,9f0a,9f0e,9f0e,9f10,9f10,9f13,9f14,9f17,9f17,9f19,9f19,9f20,9f20,9f22,9f22,9f2b,9f2c,9f2f,9f2f,9f34,9f34,9f38,9f39,9f3b,9f3b,9f3e,9f3e,9f4a,9f4b,9f4e,9f4e,9f50,9f50,9f52,9f52,9f54,9f55,9f57,9f57,9f5f,9f61,9f66,9f67,9f69,9f6c,9f72,9f72,9f76,9f77,9f7f,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f95,9f99,9f99,9f9c,9f9d,9f9f,9fa0,9fa2,9fa2,9fa5,9fa5,a960,a97c,ac00,d7a3,d7b0,d7c6,d7cb,d7fb,f900,f95e,f960,f9a9,f9ab,fa0b,fa12,fa12,fa15,fa17,fa19,fa1e,fa22,fa22,fa26,fa26,fa2a,fa2c,fa2e,fa31,fa33,fa3d,fa3f,fa3f,fa41,fa41,fa43,fa55,fa57,fa57,fa59,fa68,fa6a,fa6a,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,200d7,200d7,2012c,2012c,205ca,205ca,20628,20628,20984,20984,21155,21155,2128d,2128d,21594,21594,21727,21727,21f5c,21f5c,224b0,224b0,224ed,224ed,2294f,2294f,22c6f,22c6f,22ee0,22ee0,230fd,230fd,23343,23343,2363b,2363b,23ad9,23ad9,242f1,242f1,2439d,2439d,248e9,248e9,248f0,248f0,24a01,24a01,24a12,24a12,25055,25055,2533e,2533e,253b5,253b5,253fe,253fe,25832,25832,2583a,2583a,25874,25874,25978,25978,25ad7,25ad7,25b97,25b97,25e44,25e44,26057,26057,265a4,265a4,267d8,267d8,26951,26951,27144,27144,275ff,275ff,27625,27625,278b2,278b2,27a51,27a51,27b02,27b02,27cef,27cef,27e7d,27e7d,27f1b,27f1b,27fb7,27fb7,283f6,283f6,284dc,284dc,28d8a,28d8a,28da1,28da1,28e0f,28e0f,291d5,291d5,291e3,291e3,294de,294de,29509,29509,2967f,2967f,29810,29810,2983b,2983b,2a2ad,2a2ad,2a4d0,2a4d0,2a664,2a664,2c115,2c115,2c7d3,2c7d3,2d544,2d544,2e569,2e569,2f815,2f815,2f818,2f818,2f81a,2f81a,2f82c,2f82c,2f833,2f833,2f852,2f852,2f862,2f862,2f877,2f877,2f884,2f884,2f8b2,2f8b2,2f8ed,2f8ed,2f8fc,2f8fc,2f920,2f920,2f96c,2f96c,2f9d0,2f9d0,2f9df,2f9df,30729,30729,30ede,30ede,]), NotoFont.fromFlatList('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [20,20,2d,2d,a0,a0,966,96f,200b,200d,2010,2010,25cc,25cc,a830,a839,11080,110c1,110cd,110cd,]), - NotoFont.fromFlatList('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v19/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,c80,c8c,c8e,c90,c92,ca8,caa,cb3,cb5,cb9,cbc,cc4,cc6,cc8,cca,ccd,cd5,cd6,cde,cde,ce0,ce3,ce6,cef,cf1,cf2,1cd0,1cd0,1cd2,1cd2,1cda,1cda,1cf2,1cf2,1cf4,1cf5,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,a830,a835,]), + NotoFont.fromFlatList('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v21/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,c80,c8c,c8e,c90,c92,ca8,caa,cb3,cb5,cb9,cbc,cc4,cc6,cc8,cca,ccd,cd5,cd6,cde,cde,ce0,ce3,ce6,cef,cf1,cf2,1cd0,1cd0,1cd2,1cd2,1cda,1cda,1cf2,1cf2,1cf4,1cf5,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a830,a835,]), NotoFont.fromFlatList('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [20,20,2d,2d,a0,a0,200c,200d,2010,2010,25cc,25cc,a900,a92f,]), NotoFont.fromFlatList('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [20,20,2d,2d,a0,a0,200b,200d,2010,2010,25cc,25cc,10a00,10a03,10a05,10a06,10a0c,10a13,10a15,10a17,10a19,10a35,10a38,10a3a,10a3f,10a48,10a50,10a58,]), - NotoFont.fromFlatList('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v16/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [20,22,27,29,2c,2f,3a,3b,3f,3f,a0,a0,ab,ab,ad,ad,bb,bb,1780,17dd,17e0,17e9,17f0,17f9,19e0,19ff,200b,200d,2010,2010,2018,2019,201c,201d,2026,2026,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v18/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1780,17dd,17e0,17e9,17f0,17f9,19e0,19ff,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [20,20,a0,a0,ae6,aef,200c,200d,25cc,25cc,a830,a839,11200,11211,11213,1123e,]), NotoFont.fromFlatList('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [20,20,a0,a0,964,965,200c,200d,2013,2014,25cc,25cc,a830,a839,112b0,112ea,112f0,112f9,]), - NotoFont.fromFlatList('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v22/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [20,20,a0,a0,e81,e82,e84,e84,e87,e88,e8a,e8a,e8d,e8d,e94,e97,e99,e9f,ea1,ea3,ea5,ea5,ea7,ea7,eaa,eab,ead,eb9,ebb,ebd,ec0,ec4,ec6,ec6,ec8,ecd,ed0,ed9,edc,edf,200b,200d,20ad,20ad,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v24/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,e81,e82,e84,e84,e87,e88,e8a,e8a,e8d,e8d,e94,e97,e99,e9f,ea1,ea3,ea5,ea5,ea7,ea7,eaa,eab,ead,eb9,ebb,ebd,ec0,ec4,ec6,ec6,ec8,ecd,ed0,ed9,edc,edf,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ad,2122,2122,2212,2212,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [20,20,a0,a0,1c00,1c37,1c3b,1c49,1c4d,1c4f,200b,200d,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [20,20,a0,a0,965,965,1900,191e,1920,192b,1930,193b,1940,1940,1944,194f,200b,200d,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [20,20,a0,a0,10600,10736,10740,10755,10760,10767,]), NotoFont.fromFlatList('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [20,20,a0,a0,10000,1000b,1000d,10026,10028,1003a,1003c,1003d,1003f,1004d,10050,1005d,10080,100fa,10100,10102,10107,10133,10137,1013f,]), - NotoFont.fromFlatList('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v19/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [20,20,2d,2d,a0,a0,2bc,2bc,2cd,2cd,2010,2010,300a,300b,a4d0,a4ff,]), + NotoFont.fromFlatList('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v21/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2cd,2cd,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1e80,1e85,1e9e,1e9e,1ef2,1ef3,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,300a,300b,a4d0,a4ff,11fb0,11fb0,]), NotoFont.fromFlatList('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [20,20,a0,a0,10280,1029c,]), NotoFont.fromFlatList('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [20,20,a0,a0,10920,10939,1093f,1093f,]), NotoFont.fromFlatList('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [20,20,a0,a0,964,96f,200c,200d,25cc,25cc,a830,a839,11150,11176,]), - NotoFont.fromFlatList('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v19/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,307,307,323,323,951,952,964,965,d00,d0c,d0e,d10,d12,d44,d46,d48,d4a,d4f,d54,d63,d66,d7f,1cda,1cda,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,a830,a832,]), + NotoFont.fromFlatList('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v21/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,323,323,326,328,951,952,964,965,d00,d0c,d0e,d10,d12,d44,d46,d48,d4a,d4f,d54,d63,d66,d7f,1cda,1cda,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a830,a832,]), NotoFont.fromFlatList('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [20,20,a0,a0,640,640,840,85b,85e,85e,200c,200d,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [20,20,a0,a0,640,640,200c,200d,25cc,25cc,fe00,fe00,10ac0,10ae6,10aeb,10af6,]), NotoFont.fromFlatList('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [20,20,a0,a0,25cc,25cc,11c70,11c8f,11c92,11ca7,11ca9,11cb6,]), @@ -137,9 +137,9 @@ const List fallbackFonts = [ NotoFont.fromFlatList('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [20,20,a0,a0,964,965,200c,200d,25cc,25cc,a830,a839,11680,116b8,116c0,116c9,]), NotoFont.fromFlatList('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v21/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b2,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,b82,b83,b85,b8a,b8e,b90,b92,b95,b99,b9a,b9c,b9c,b9e,b9f,ba3,ba4,ba8,baa,bae,bb9,bbe,bc2,bc6,bc8,bca,bcd,bd0,bd0,bd7,bd7,be6,bfa,1cda,1cda,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,2074,2074,2082,2084,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a8f3,a8f3,11301,11301,11303,11303,1133b,1133c,]), NotoFont.fromFlatList('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [11fc0,11ff1,11fff,11fff,]), - NotoFont.fromFlatList('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v18/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,c00,c0c,c0e,c10,c12,c28,c2a,c39,c3d,c44,c46,c48,c4a,c4d,c55,c56,c58,c5a,c60,c63,c66,c6f,c77,c7f,1cda,1cda,1cf2,1cf2,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v19/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,c00,c0c,c0e,c10,c12,c28,c2a,c39,c3d,c44,c46,c48,c4a,c4d,c55,c56,c58,c5a,c60,c63,c66,c6f,c77,c7f,1cda,1cda,1cf2,1cf2,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [20,21,28,29,2c,2c,2e,2e,3a,3b,a0,a0,60c,60c,61b,61b,61f,61f,660,66c,780,7b1,200b,200f,2018,2019,201c,201d,25cc,25cc,fdf2,fdf2,fdfd,fdfd,]), - NotoFont.fromFlatList('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v18/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [20,20,2d,2d,a0,a0,2bc,2bc,2d7,2d7,303,303,331,331,e01,e3a,e3f,e5b,200b,200d,2010,2010,25cc,25cc,]), + NotoFont.fromFlatList('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v20/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2d7,2dd,300,304,306,308,30a,30c,312,312,326,328,331,331,e01,e3a,e3f,e5b,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), NotoFont.fromFlatList('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [20,20,a0,a0,2c7,2c7,301,302,304,304,306,307,309,309,323,323,331,331,200c,200d,202e,202e,25cc,25cc,2d30,2d67,2d6f,2d70,2d7f,2d7f,]), NotoFont.fromFlatList('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [20,20,a0,a0,951,952,964,965,9f4,9f7,1cf2,1cf2,200c,200d,25cc,25cc,a830,a839,11480,114c7,114d0,114d9,]), NotoFont.fromFlatList('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [20,20,a0,a0,10380,1039d,1039f,1039f,]), From a6a33b1303d13e0f9b160655c4ec33f5a4aadc7a Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 12:48:04 -0700 Subject: [PATCH 18/33] Fix generated file --- .../dev/generate_fallback_font_data.dart | 2 +- .../engine/canvaskit/font_fallback_data.dart | 282 +++++++++--------- 2 files changed, 142 insertions(+), 142 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index ec02b540305e7..b8a1a968c4abb 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -126,7 +126,7 @@ class GenerateFallbackFontDataCommand extends Command start = parts[0]; end = parts[1]; } - sb.write('$start,$end,'); + sb.write('0x$start,0x$end,'); } sb.writeln(']),'); } diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index 2b4ace73e0637..8266933265101 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -7,145 +7,145 @@ import 'noto_font.dart'; const List fallbackFonts = [ - NotoFont.fromFlatList('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [20,7e,a0,377,37a,37f,384,38a,38c,38c,38e,3a1,3a3,3e1,3f0,52f,900,97f,1ab0,1ac0,1c80,1c88,1cd0,1cf6,1cf8,1cf9,1d00,1df9,1dfb,1f15,1f18,1f1d,1f20,1f45,1f48,1f4d,1f50,1f57,1f59,1f59,1f5b,1f5b,1f5d,1f5d,1f5f,1f7d,1f80,1fb4,1fb6,1fc4,1fc6,1fd3,1fd6,1fdb,1fdd,1fef,1ff2,1ff4,1ff6,1ffe,2000,2064,2066,2071,2074,208e,2090,209c,20a0,20bf,20f0,20f0,2100,215f,2184,2184,2189,2189,2212,2212,2215,2215,25cc,25cc,2c60,2c7f,2de0,2e52,a640,a69f,a700,a7bf,a7c2,a7ca,a7f5,a7ff,a830,a839,a8e0,a8ff,a92e,a92e,ab30,ab6b,fb00,fb06,fe00,fe00,fe20,fe2f,feff,feff,fffc,fffd,]), - NotoFont.fromFlatList('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [20,20,23,23,2a,2a,30,39,a9,a9,ae,ae,200d,200d,203c,203c,2049,2049,20e3,20e3,2122,2122,2139,2139,2194,2199,21a9,21aa,231a,231b,2328,2328,23cf,23cf,23e9,23f3,23f8,23fa,24c2,24c2,25aa,25ab,25b6,25b6,25c0,25c0,25fb,25fe,2600,2604,260e,260e,2611,2611,2614,2615,2618,2618,261d,261d,2620,2620,2622,2623,2626,2626,262a,262a,262e,262f,2638,263a,2640,2640,2642,2642,2648,2653,265f,2660,2663,2663,2665,2666,2668,2668,267b,267b,267e,267f,2692,2697,2699,2699,269b,269c,26a0,26a1,26a7,26a7,26aa,26ab,26b0,26b1,26bd,26be,26c4,26c5,26c8,26c8,26ce,26cf,26d1,26d1,26d3,26d4,26e9,26ea,26f0,26f5,26f7,26fa,26fd,26fd,2702,2702,2705,2705,2708,270d,270f,270f,2712,2712,2714,2714,2716,2716,271d,271d,2721,2721,2728,2728,2733,2734,2744,2744,2747,2747,274c,274c,274e,274e,2753,2755,2757,2757,2763,2764,2795,2797,27a1,27a1,27b0,27b0,27bf,27bf,2934,2935,2b05,2b07,2b1b,2b1c,2b50,2b50,2b55,2b55,3030,3030,303d,303d,3297,3297,3299,3299,fe0e,fe0f,1f004,1f004,1f0cf,1f0cf,1f170,1f171,1f17e,1f17f,1f18e,1f18e,1f191,1f19a,1f1e6,1f1ff,1f201,1f202,1f21a,1f21a,1f22f,1f22f,1f232,1f23a,1f250,1f251,1f300,1f321,1f324,1f393,1f396,1f397,1f399,1f39b,1f39e,1f3f0,1f3f3,1f3f5,1f3f7,1f4fd,1f4ff,1f53d,1f549,1f54e,1f550,1f567,1f56f,1f570,1f573,1f57a,1f587,1f587,1f58a,1f58d,1f590,1f590,1f595,1f596,1f5a4,1f5a5,1f5a8,1f5a8,1f5b1,1f5b2,1f5bc,1f5bc,1f5c2,1f5c4,1f5d1,1f5d3,1f5dc,1f5de,1f5e1,1f5e1,1f5e3,1f5e3,1f5e8,1f5e8,1f5ef,1f5ef,1f5f3,1f5f3,1f5fa,1f64f,1f680,1f6c5,1f6cb,1f6d2,1f6d5,1f6d7,1f6dd,1f6e5,1f6e9,1f6e9,1f6eb,1f6ec,1f6f0,1f6f0,1f6f3,1f6fc,1f7e0,1f7eb,1f7f0,1f7f0,1f90c,1f93a,1f93c,1f945,1f947,1f9ff,1fa70,1fa74,1fa78,1fa7c,1fa80,1fa86,1fa90,1faac,1fab0,1faba,1fac0,1fac5,1fad0,1fad9,1fae0,1fae7,1faf0,1faf6,e0030,e0039,e0061,e007a,e007f,e007f,fe4e5,fe4ee,fe82c,fe82c,fe82e,fe837,]), - NotoFont.fromFlatList('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [20,20,30,39,41,5a,61,7a,a0,a0,20dd,20e0,20e2,20e4,2160,2183,2185,2188,218a,218b,2190,2199,2300,230f,2311,2315,2317,2317,231c,231f,2322,2323,2329,232a,232c,2335,237c,237c,2380,2394,2396,239a,23af,23af,23be,23cd,23d0,23db,23e2,23e8,2460,24ff,25cc,25cc,260a,260d,2613,2613,2624,262f,2638,263b,263d,2653,2669,267e,2690,269d,26a2,26a9,26ad,26bc,26ce,26ce,26e2,26ff,271d,2721,2776,2793,2921,2922,1f100,1f10c,1f110,1f16c,1f170,1f190,1f19b,1f1ac,1f546,1f549,1f54f,1f54f,1f610,1f610,1f700,1f773,]), - NotoFont.fromFlatList('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [20,20,23,23,2a,2a,30,39,7f,a0,2022,2022,20e2,20e3,21af,21af,21e6,21f0,21f3,21f3,2218,2219,2299,2299,22c4,22c6,2316,2316,2318,2318,231a,231b,2324,2328,232b,232b,237b,237b,237d,237f,2394,2394,23ce,23cf,23e9,23ea,23ed,23ef,23f1,2426,2440,244a,25a0,2609,260e,2612,2614,2623,2630,2637,263c,263c,2654,2668,267f,268f,269e,26a1,26aa,26ac,26bd,26cd,26cf,26e1,2700,2704,2706,2709,270b,271c,2722,2727,2729,274b,274d,274d,274f,2753,2756,2775,2794,2794,2798,27af,27b1,27be,2800,28ff,2981,2981,29bf,29bf,29eb,29eb,2b00,2b0d,2b12,2b2f,2b4d,2b73,2b76,2b95,2b97,2bfd,2bff,2bff,4dc0,4dff,fff9,fffb,10140,1018e,10190,1019c,101a0,101a0,101d0,101fd,102e0,102fb,10e60,10e7e,1d2e0,1d2f3,1d300,1d356,1d360,1d378,1f000,1f02b,1f030,1f093,1f0a0,1f0ae,1f0b1,1f0bf,1f0c1,1f0cf,1f0d1,1f0f5,1f30d,1f30f,1f315,1f315,1f31c,1f31c,1f321,1f32c,1f336,1f336,1f378,1f378,1f37d,1f37d,1f393,1f39f,1f3a7,1f3a7,1f3ac,1f3ae,1f3c2,1f3c2,1f3c4,1f3c4,1f3c6,1f3c6,1f3ca,1f3ce,1f3d4,1f3e0,1f3ed,1f3ed,1f3f1,1f3f3,1f3f5,1f3f7,1f408,1f408,1f415,1f415,1f41f,1f41f,1f426,1f426,1f43f,1f43f,1f441,1f442,1f446,1f449,1f44c,1f44e,1f453,1f453,1f46a,1f46a,1f47d,1f47d,1f4a3,1f4a3,1f4b0,1f4b0,1f4b3,1f4b3,1f4b9,1f4b9,1f4bb,1f4bb,1f4bf,1f4bf,1f4c8,1f4cb,1f4da,1f4da,1f4df,1f4df,1f4e4,1f4e6,1f4ea,1f4ed,1f4f7,1f4f7,1f4f9,1f4fb,1f4fd,1f4fe,1f503,1f503,1f507,1f50a,1f50d,1f50d,1f512,1f513,1f53e,1f545,1f54a,1f54a,1f550,1f579,1f57b,1f594,1f597,1f5a3,1f5a5,1f5fa,1f650,1f67f,1f687,1f687,1f68d,1f68d,1f691,1f691,1f694,1f694,1f698,1f698,1f6ad,1f6ad,1f6b2,1f6b2,1f6b9,1f6ba,1f6bc,1f6bc,1f6c6,1f6cb,1f6cd,1f6cf,1f6d3,1f6d7,1f6e0,1f6ea,1f6f0,1f6f3,1f6f7,1f6fc,1f780,1f7d8,1f7e0,1f7eb,1f800,1f80b,1f810,1f847,1f850,1f859,1f860,1f887,1f890,1f8ad,1f8b0,1f8b1,1f93b,1f93b,1f946,1f946,1fa00,1fa53,1fa60,1fa6d,1fa70,1fa74,1fa78,1fa7a,1fa80,1fa86,1fa90,1faa8,1fab0,1fab6,1fac0,1fac2,1fad0,1fad6,1fb00,1fb92,1fb94,1fbca,1fbf0,1fbf9,]), - NotoFont.fromFlatList('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [20,2f,3a,40,5b,5f,7b,7d,a0,a0,ab,ab,bb,bb,61f,61f,640,640,2013,2015,2018,201e,2020,2022,2026,2026,2030,2030,2039,203a,2044,2044,204f,204f,25cc,25cc,2e28,2e29,2e41,2e41,1e900,1e94b,1e950,1e959,1e95e,1e95f,]), - NotoFont.fromFlatList('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [20,20,a0,a0,200b,200b,14400,14646,]), - NotoFont.fromFlatList('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [20,21,2c,2e,30,3a,a0,a0,ab,ab,bb,bb,34f,34f,600,61c,61e,6ff,750,77f,8a0,8b4,8b6,8be,8d3,8ff,200b,2011,204f,204f,25cc,25cc,2e41,2e41,fb50,fbc1,fbd3,fd3f,fd50,fd8f,fd92,fdc7,fdf0,fdfd,fe70,fe74,fe76,fefc,]), - NotoFont.fromFlatList('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [20,20,2d,2d,a0,a0,308,308,531,556,559,58a,58d,58f,2010,2010,25cc,25cc,fb13,fb17,]), - NotoFont.fromFlatList('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v17/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200c,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,2e30,2e31,10b00,10b35,10b39,10b3f,]), - NotoFont.fromFlatList('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v18/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1b00,1b4b,1b50,1b7c,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [20,20,a0,a0,a6a0,a6f7,16800,16a38,]), - NotoFont.fromFlatList('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [20,20,a0,a0,25cc,25cc,16ad0,16aed,16af0,16af5,]), - NotoFont.fromFlatList('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [20,20,a0,a0,1bc0,1bf3,1bfc,1bff,200b,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,980,983,985,98c,98f,990,993,9a8,9aa,9b0,9b2,9b2,9b6,9b9,9bc,9c4,9c7,9c8,9cb,9ce,9d7,9d7,9dc,9dd,9df,9e3,9e6,9fe,1cd0,1cd0,1cd2,1cd2,1cd5,1cd6,1cd8,1cd8,1ce1,1ce1,1cea,1cea,1ced,1ced,1cf2,1cf2,1cf5,1cf7,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a8f1,a8f1,]), - NotoFont.fromFlatList('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [20,20,a0,a0,200b,200b,25cc,25cc,11c00,11c08,11c0a,11c36,11c38,11c45,11c50,11c6c,]), - NotoFont.fromFlatList('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,11000,1104d,11052,1106f,1107f,1107f,]), - NotoFont.fromFlatList('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [20,20,a0,a0,1a00,1a1b,1a1e,1a1f,200b,200d,25cc,25cc,a9cf,a9cf,]), - NotoFont.fromFlatList('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v17/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1735,1736,1740,1753,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [20,20,a0,a0,131,131,2c7,2c7,2d8,2db,307,307,1400,167f,18b0,18f5,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [20,20,a0,a0,102a0,102d0,]), - NotoFont.fromFlatList('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [20,20,a0,a0,304,304,331,331,25cc,25cc,fe20,fe2f,10530,10563,1056f,1056f,]), - NotoFont.fromFlatList('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [20,20,a0,a0,9e6,9ef,1040,1049,200c,200d,25cc,25cc,11100,11134,11136,11146,]), - NotoFont.fromFlatList('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [20,22,27,29,2c,2f,3a,3b,3f,3f,a0,a0,ad,ad,200c,200d,2010,2010,25cc,25cc,aa00,aa36,aa40,aa4d,aa50,aa59,aa5c,aa5f,]), - NotoFont.fromFlatList('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [20,20,a0,a0,300,302,304,304,30b,30c,323,324,330,331,13a0,13f5,13f8,13fd,ab70,abbf,]), - NotoFont.fromFlatList('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [20,20,2d,2d,a0,a0,300,302,304,305,307,308,323,323,33f,33f,361,361,374,375,3e2,3ef,1dcd,1dcd,2010,2010,25cc,25cc,2c80,2cf3,2cf9,2cff,fe24,fe26,102e0,102fb,]), - NotoFont.fromFlatList('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [20,20,a0,a0,12000,12399,12400,1246e,12470,12474,12480,12543,]), - NotoFont.fromFlatList('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [20,20,a0,a0,10800,10805,10808,10808,1080a,10835,10837,10838,1083c,1083c,1083f,1083f,]), - NotoFont.fromFlatList('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [20,20,a0,a0,10400,1044f,]), - NotoFont.fromFlatList('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v19/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,900,97f,1cd0,1cf6,1cf8,1cf9,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,20f0,20f0,2122,2122,2212,2212,25cc,25cc,a830,a839,a8e0,a8ff,]), - NotoFont.fromFlatList('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,1bc00,1bc6a,1bc70,1bc7c,1bc80,1bc88,1bc90,1bc99,1bc9c,1bca3,]), - NotoFont.fromFlatList('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,13000,1342e,]), - NotoFont.fromFlatList('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [20,20,a0,a0,b7,b7,305,305,391,3a1,3a3,3a9,3da,3da,3dc,3dc,3de,3de,25cc,25cc,10500,10527,]), - NotoFont.fromFlatList('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [20,20,a0,a0,10fe0,10ff6,]), - NotoFont.fromFlatList('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v36/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,589,589,10a0,10c5,10c7,10c7,10cd,10cd,10d0,10ff,1c90,1cba,1cbd,1cbf,1e80,1e85,1e9e,1e9e,1ef2,1ef3,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20be,20be,2122,2122,2212,2212,2d00,2d25,2d27,2d27,2d2d,2d2d,]), - NotoFont.fromFlatList('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [20,20,a0,a0,303,303,305,305,484,484,487,487,2c00,2c2e,2c30,2c5e,a66f,a66f,1e000,1e006,1e008,1e018,1e01b,1e021,1e023,1e024,1e026,1e02a,]), - NotoFont.fromFlatList('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [20,20,a0,a0,304,305,308,308,331,331,10330,1034a,]), - NotoFont.fromFlatList('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [20,20,a0,a0,951,952,964,965,baa,baa,bb5,bb5,be6,bf2,1cd0,1cd0,1cd2,1cd3,1cf2,1cf4,1cf8,1cf9,200c,200d,20f0,20f0,25cc,25cc,11300,11303,11305,1130c,1130f,11310,11313,11328,1132a,11330,11332,11333,11335,11339,1133b,11344,11347,11348,1134b,1134d,11350,11350,11357,11357,1135d,11363,11366,1136c,11370,11374,]), - NotoFont.fromFlatList('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v19/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,a81,a83,a85,a8d,a8f,a91,a93,aa8,aaa,ab0,ab2,ab3,ab5,ab9,abc,ac5,ac7,ac9,acb,acd,ad0,ad0,ae0,ae3,ae6,af1,af9,aff,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a830,a839,]), - NotoFont.fromFlatList('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [20,21,25,25,27,2f,3a,3a,3c,3f,a0,a0,d7,d7,f7,f7,200c,200d,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,11d60,11d65,11d67,11d68,11d6a,11d8e,11d90,11d91,11d93,11d98,11da0,11da9,]), - NotoFont.fromFlatList('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,951,952,964,965,a01,a03,a05,a0a,a0f,a10,a13,a28,a2a,a30,a32,a33,a35,a36,a38,a39,a3c,a3c,a3e,a42,a47,a48,a4b,a4d,a51,a51,a59,a5c,a5e,a5e,a66,a76,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,262c,262c,a830,a839,]), - NotoFont.fromFlatList('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3435,3435,3440,3440,344a,344a,344c,344c,3464,3464,3473,3473,347a,347a,347d,347e,3493,3493,3496,3496,34a5,34a5,34af,34af,34bc,34bc,34c1,34c1,34c8,34c8,34df,34df,34e4,34e4,34e6,34e6,34fb,34fb,3506,3506,353e,353e,3551,3551,3553,3553,3559,3559,3561,3561,356d,356d,3570,3570,3572,3572,3577,3578,3584,3584,3597,3598,35a1,35a1,35a5,35a5,35ad,35ad,35bf,35bf,35c1,35c1,35c5,35c5,35c7,35c7,35ca,35ca,35ce,35ce,35d2,35d2,35d6,35d6,35db,35db,35dd,35dd,35f1,35f3,35fb,35fb,35fe,35fe,3609,3609,3618,3618,361a,361a,3623,3623,3625,3625,362d,362d,3635,3635,3639,3639,363e,363e,3647,3649,364e,364e,365f,365f,3661,3661,367a,367a,3681,3681,369a,369a,36a5,36a5,36aa,36aa,36ac,36ac,36b0,36b1,36b5,36b5,36b9,36b9,36bc,36bc,36c1,36c1,36c3,36c5,36c7,36c8,36d3,36d4,36d6,36d6,36dd,36dd,36e1,36e2,36e5,36e6,36f5,36f5,3701,3701,3703,3703,3708,3708,370a,370a,370d,370d,371c,371c,3722,3723,3725,3725,372c,372d,3730,3730,3732,3733,373a,373a,3740,3740,3743,3743,3762,3762,376f,376f,3797,3797,37a0,37a0,37b9,37b9,37be,37be,37d6,37d6,37f2,37f2,37f8,37f8,37fb,37fb,380f,380f,3819,3819,3820,3820,382d,382d,3836,3836,3838,3838,3863,3863,3875,3875,38a0,38a0,38c3,38c3,38cc,38cc,38d1,38d1,38d4,38d4,38fa,38fa,3908,3908,3914,3914,3927,3927,3932,3932,393f,393f,394d,394d,3963,3963,3978,3978,3980,3980,3989,398a,3992,3992,3999,3999,399b,399b,39a1,39a1,39a4,39a4,39b8,39b8,39dc,39dc,39e2,39e2,39e5,39e5,39ec,39ec,39f8,39f8,39fb,39fb,39fe,39fe,3a01,3a01,3a03,3a03,3a06,3a06,3a17,3a18,3a29,3a2a,3a34,3a34,3a4b,3a4b,3a52,3a52,3a57,3a57,3a5c,3a5c,3a5e,3a5e,3a66,3a67,3a97,3a97,3aab,3aab,3abd,3abd,3ade,3ade,3ae0,3ae0,3af0,3af0,3af2,3af2,3af5,3af5,3afb,3afb,3b0e,3b0e,3b19,3b19,3b22,3b22,3b2b,3b2b,3b39,3b39,3b42,3b42,3b58,3b58,3b60,3b60,3b71,3b72,3b7b,3b7c,3b80,3b80,3b95,3b96,3b99,3b99,3ba1,3ba1,3bbc,3bbc,3bbe,3bbe,3bc2,3bc2,3bc4,3bc4,3bd7,3bd7,3bdd,3bdd,3bec,3bec,3bf2,3bf4,3c0d,3c0d,3c11,3c11,3c15,3c15,3c18,3c18,3c54,3c54,3c8b,3c8b,3ccb,3ccb,3ccd,3ccd,3cd1,3cd1,3cd6,3cd6,3cdc,3cdc,3ceb,3ceb,3cef,3cef,3d12,3d13,3d1d,3d1d,3d32,3d32,3d3b,3d3b,3d46,3d46,3d4c,3d4c,3d4e,3d4e,3d51,3d51,3d5f,3d5f,3d62,3d62,3d69,3d6a,3d6f,3d6f,3d75,3d75,3d7d,3d7d,3d85,3d85,3d88,3d88,3d8a,3d8a,3d8f,3d8f,3d91,3d91,3da5,3da5,3dad,3dad,3db4,3db4,3dbf,3dbf,3dc6,3dc7,3dc9,3dc9,3dcc,3dcd,3dd3,3dd3,3ddb,3ddb,3de7,3de8,3deb,3deb,3df3,3df4,3df7,3df7,3dfc,3dfd,3e06,3e06,3e40,3e40,3e43,3e43,3e48,3e48,3e55,3e55,3e74,3e74,3ea8,3eaa,3ead,3ead,3eb1,3eb1,3eb8,3eb8,3ebf,3ebf,3ec2,3ec2,3ec7,3ec7,3eca,3eca,3ecc,3ecc,3ed0,3ed1,3ed6,3ed7,3eda,3edb,3ede,3ede,3ee1,3ee2,3ee7,3ee7,3ee9,3ee9,3eeb,3eec,3ef0,3ef0,3ef3,3ef4,3efa,3efa,3efc,3efc,3eff,3f00,3f04,3f04,3f06,3f07,3f0e,3f0e,3f53,3f53,3f58,3f59,3f63,3f63,3f7c,3f7c,3f93,3f93,3fc0,3fc0,3fc8,3fc8,3fd7,3fd7,3fdc,3fdc,3fe5,3fe5,3fed,3fed,3ff9,3ffa,4004,4004,4009,4009,401d,401d,4039,4039,4045,4045,4053,4053,4057,4057,4062,4062,4065,4065,406a,406a,406f,406f,4071,4071,40a8,40a8,40b4,40b4,40bb,40bb,40bf,40bf,40c8,40c8,40d8,40d8,40df,40df,40f8,40f8,40fa,40fa,4102,4104,4109,4109,410e,410e,4131,4132,4167,4167,416c,416c,416e,416e,417c,417c,417f,417f,4181,4181,4190,4190,41b2,41b2,41c4,41c4,41ca,41ca,41cf,41cf,41db,41db,41ed,41ed,41ef,41ef,41f9,41f9,4211,4211,4223,4223,4240,4240,4260,4260,426a,426a,4276,4276,427a,427a,428c,428c,4294,4294,42a2,42a2,42b5,42b5,42b9,42b9,42bc,42bc,42f4,42f4,42fb,42fc,430a,430a,432b,432b,436e,436e,4397,4397,439a,439a,43ba,43ba,43c1,43c1,43d9,43d9,43df,43df,43ed,43ed,43f0,43f0,43f2,43f2,4401,4402,4413,4413,4425,4425,442d,442d,447a,447a,448f,448f,4491,4491,449f,44a0,44a2,44a2,44b0,44b0,44b7,44b7,44bd,44bd,44c0,44c0,44c3,44c3,44c5,44c5,44ce,44ce,44dd,44df,44e1,44e1,44e4,44e4,44e9,44ec,44f4,44f4,4503,4504,4509,4509,450b,450b,4516,4516,451b,451b,451d,451d,4527,4527,452e,452e,4533,4533,4536,4536,453b,453b,453d,453d,453f,453f,4543,4543,4551,4552,4555,4555,4558,4558,455c,455c,4561,4562,456a,456a,456d,456d,4577,4578,4585,4585,45a6,45a6,45b3,45b3,45da,45da,45e9,45ea,4603,4603,4606,4606,460f,460f,4615,4615,4617,4617,465b,465b,467a,467a,4680,4680,46a1,46a1,46ae,46ae,46bb,46bb,46cf,46d0,46f5,46f5,46f7,46f7,4713,4713,4718,4718,4736,4736,4744,4744,474e,474f,477c,477c,4798,4798,47a6,47a6,47d5,47d5,47ed,47ed,47f4,47f4,4800,4800,480b,480b,4837,4837,485d,485d,4871,4871,489b,489b,48ad,48ae,48d0,48d0,48dd,48dd,48ed,48ed,48f3,48f3,48fa,48fa,4906,4906,4911,4911,491e,491e,4925,4925,492a,492a,492d,492d,492f,4930,4935,4935,493c,493c,493e,493e,4945,4945,4951,4951,4953,4953,4965,4965,496a,496a,4972,4972,4989,4989,49a1,49a1,49a7,49a7,49df,49df,49e5,49e5,49e7,49e7,4a0f,4a0f,4a1d,4a1d,4a24,4a24,4a35,4a35,4a96,4a96,4aa4,4aa4,4ab4,4ab4,4ab8,4ab8,4ad1,4ad1,4ae4,4ae4,4aff,4aff,4b10,4b10,4b19,4b19,4b20,4b20,4b2c,4b2c,4b37,4b37,4b6f,4b70,4b72,4b72,4b7b,4b7b,4b7e,4b7e,4b8e,4b8e,4b90,4b90,4b93,4b93,4b96,4b97,4b9d,4b9d,4bbd,4bbe,4bc0,4bc0,4c04,4c04,4c07,4c07,4c0e,4c0e,4c32,4c32,4c3b,4c3b,4c3e,4c3e,4c40,4c40,4c47,4c47,4c57,4c57,4c5b,4c5b,4c6d,4c6d,4c77,4c77,4c7b,4c7b,4c7d,4c7d,4c81,4c81,4c85,4c85,4ca4,4ca4,4cae,4cae,4cb0,4cb0,4cb7,4cb7,4ccd,4ccd,4ce1,4ce2,4ced,4ced,4d07,4d07,4d09,4d09,4d10,4d10,4d34,4d34,4d76,4d77,4d89,4d89,4d91,4d91,4d9c,4d9c,4e00,4e01,4e03,4e04,4e07,4e11,4e14,4e16,4e18,4e1a,4e1c,4e1c,4e1e,4e1f,4e21,4e22,4e24,4e24,4e26,4e26,4e28,4e28,4e2a,4e33,4e36,4e39,4e3b,4e3d,4e3f,4e3f,4e42,4e43,4e45,4e45,4e47,4e49,4e4b,4e4b,4e4d,4e4f,4e52,4e53,4e56,4e56,4e58,4e5f,4e69,4e6a,4e73,4e73,4e78,4e78,4e7e,4e89,4e8b,4e8e,4e91,4e95,4e98,4e9b,4e9e,4ea6,4ea8,4ea8,4eab,4eae,4eb3,4eb3,4eb6,4eb7,4eb9,4ebc,4ebf,4ec4,4ec6,4ecb,4ecd,4ece,4ed4,4eda,4edc,4edf,4ee1,4ee1,4ee3,4ee5,4ee8,4eeb,4eee,4eee,4ef0,4ef8,4efb,4efb,4efd,4efd,4eff,4f05,4f08,4f0b,4f0d,4f15,4f17,4f1a,4f1d,4f1d,4f22,4f22,4f28,4f29,4f2c,4f2d,4f2f,4f30,4f32,4f34,4f36,4f3f,4f41,4f43,4f45,4f49,4f4b,4f64,4f67,4f67,4f69,4f6c,4f6e,4f70,4f72,4f8b,4f8d,4f8d,4f8f,4f92,4f94,4f98,4f9a,4f9e,4fa2,4fa2,4fa8,4fa8,4fab,4fab,4fae,4fb0,4fb2,4fb7,4fb9,4fbb,4fbd,4fbd,4fbf,4fc5,4fc7,4fd1,4fd3,4fd4,4fd6,4fe1,4fe4,4fe5,4fec,4fec,4fee,4ffa,4ffd,4ffe,5000,5000,5003,5003,5005,5009,500b,500f,5011,501c,501e,5023,5025,5031,5033,5035,5037,5037,503b,503c,5040,5041,5043,5043,5045,504f,5051,5051,5053,5053,5055,5058,505a,5066,5068,5070,5072,5077,507a,507a,507d,507d,5080,5083,5085,5085,5087,5088,508b,508e,5090,5092,5094,5096,5098,509e,50a2,50a3,50a6,50a6,50ac,50b8,50ba,50bf,50c1,50c2,50c4,50cb,50cd,50d1,50d3,50d7,50d9,50db,50dd,50dd,50df,50e1,50e3,50ea,50ec,50f1,50f3,50f6,50f8,50f9,50fb,510e,5110,5115,5117,5118,511a,511a,511c,511c,511f,5122,5124,5126,5129,512b,512d,512e,5130,5135,5137,513d,513f,5141,5143,5149,514b,514d,5151,5152,5154,5157,5159,5163,5165,5165,5167,516e,5171,5171,5174,5179,517c,517c,5180,5180,5182,5182,5186,518a,518d,518d,518f,518f,5191,5198,519a,519a,519c,519c,519e,519e,51a0,51a0,51a2,51a2,51a4,51a5,51a7,51a8,51aa,51ac,51ae,51ae,51b0,51b9,51bc,51be,51c3,51d4,51d7,51d8,51db,51e2,51e4,51e4,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fc,51fe,5200,5203,5205,520c,520e,520e,5210,5213,5216,5217,521c,5221,5224,522a,522e,522e,5230,5238,523a,523c,5241,5241,5243,5244,5246,5247,5249,524f,5252,5252,5254,5257,5259,5262,5268,526f,5272,5275,5277,527d,527f,5284,5287,528d,528f,5291,5293,5294,5296,529b,529f,52a1,52a3,52a4,52a6,52a6,52a8,52ae,52b5,52b5,52b9,52b9,52bb,52bc,52be,52be,52c0,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d0,52d3,52d5,52d9,52db,52db,52dd,52e4,52e6,52e6,52e9,52e9,52eb,52eb,52ef,52f1,52f3,52f5,52f7,52fc,52fe,52ff,5301,5301,5305,5306,5308,530b,530d,5312,5315,5317,5319,531a,531c,531d,531f,5324,5327,5327,532a,532a,532c,532d,532f,5334,5337,5339,533b,5345,5347,534a,534c,534e,5351,5354,5357,5357,535a,535a,535c,5361,5363,5364,5366,5367,5369,5369,536c,5375,5377,5379,537b,537f,5382,5382,5384,5384,538a,538a,538e,538f,5392,5394,5396,539a,539c,53a0,53a2,53a2,53a4,53ae,53b0,53b0,53b2,53b2,53b4,53b4,53b6,53b6,53b9,53b9,53bb,53bb,53c1,53c3,53c5,53c5,53c8,53cd,53d0,53d2,53d4,53d4,53d6,53db,53df,53e6,53e8,53f3,53f5,53f8,53fb,53fc,53fe,53fe,5401,5401,5403,5404,5406,5414,5416,5416,5418,5421,5423,5439,543b,5443,5445,5448,544a,544f,5454,5454,5460,546d,546f,5478,547a,5482,5484,5488,548b,5498,549a,549a,549c,549c,549e,549e,54a0,54b4,54b6,54c9,54cb,54d0,54d6,54d6,54da,54da,54de,54de,54e0,54eb,54ed,54ef,54f1,54f3,54f7,54f8,54fa,54fd,54ff,54ff,5501,5514,5517,5518,551a,551a,551e,551e,5523,5523,5525,5528,552a,5539,553b,553c,553e,5541,5543,554b,554d,5553,5555,5557,555c,555f,5561,5566,5569,556b,5571,5573,5575,5577,5579,5579,557b,5584,5586,5595,5598,559a,559c,559d,559f,559f,55a1,55ae,55b0,55b5,55b9,55bc,55bf,55df,55e1,55ea,55ec,55ec,55ee,55f2,55f5,55f7,55f9,5602,5604,5606,5608,5609,560c,5617,561b,5623,5625,5625,5627,5627,5629,562a,562c,5630,5632,563b,563d,5643,5645,5646,5648,564a,564c,5650,5652,5654,5657,565a,565d,565e,5660,5666,5668,5674,5676,567c,567e,5687,5689,5690,5692,5693,5695,5695,5697,569a,569c,569f,56a1,56a1,56a4,56a8,56aa,56af,56b1,56b7,56b9,56b9,56bc,56c3,56c5,56c6,56c8,56cd,56d1,56d1,56d3,56d4,56d6,56d7,56da,56db,56dd,56e2,56e4,56e5,56e7,56e7,56ea,56eb,56ed,56f1,56f7,56f7,56f9,56fb,56fd,56fd,56ff,5704,5707,570d,5712,5716,5718,5718,571a,5720,5722,5723,5728,572a,572c,5730,5732,5734,573b,573b,573d,5743,5745,5747,5749,5752,5754,5754,5757,5757,575b,575b,575f,575f,5761,5762,5764,5764,5766,576b,576d,576d,576f,5777,577a,5780,5782,5783,5788,5788,578a,578d,578f,5790,5793,5795,5797,57a5,57a7,57a7,57aa,57aa,57ae,57ae,57b3,57b6,57b8,57bf,57c1,57c4,57c6,57c8,57cb,57cc,57ce,57d0,57d2,57d2,57d4,57d5,57d7,57d7,57dc,57e7,57e9,57e9,57ec,57fe,5800,580e,5810,5810,5812,5812,5814,5814,5818,5819,581b,581e,5820,582a,582c,583b,583d,583d,583f,5840,5844,5844,5847,584f,5851,5855,5857,585f,5862,5865,5868,5869,586b,586d,586f,586f,5871,5876,5879,5883,5885,588b,588e,5894,5896,5896,5898,589a,589c,58a1,58a3,58a3,58a5,58ac,58ae,58b1,58b3,58b3,58b5,58b6,58ba,58bf,58c1,58c2,58c5,58c9,58cb,58cb,58ce,58d6,58d8,58e0,58e2,58e4,58e7,58e9,58eb,58ec,58ef,58f0,58f2,58f4,58f9,58ff,5902,5907,590a,590a,590c,590f,5911,5912,5914,5917,5919,591a,591c,591d,591f,5920,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5934,5934,5937,5938,593c,593c,593e,593e,5940,5940,5944,5945,5947,594a,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5962,5965,5965,5967,5967,5969,596e,5970,5979,597b,5985,5989,598a,598d,5990,5992,5994,5996,599a,599d,59a8,59ac,59ac,59ae,59c1,59c3,59d4,59d6,59d6,59d8,59de,59e0,59e1,59e3,59e6,59e8,5a03,5a09,5a0d,5a0f,5a0f,5a11,5a13,5a15,5a1c,5a1e,5a21,5a23,5a25,5a27,5a27,5a29,5a2e,5a33,5a33,5a35,5a39,5a3c,5a3e,5a40,5a4a,5a4c,5a4d,5a50,5a6e,5a70,5a71,5a77,5a7f,5a81,5a84,5a86,5a86,5a88,5a88,5a8a,5a8c,5a8e,5a97,5a99,5aa2,5aa4,5aa7,5aa9,5aac,5aae,5ac4,5ac6,5acf,5ad1,5ad1,5ad3,5ad3,5ad5,5ae6,5ae8,5aee,5af0,5af0,5af2,5afb,5afd,5aff,5b01,5b03,5b05,5b05,5b07,5b09,5b0b,5b0d,5b0f,5b11,5b13,5b17,5b19,5b1b,5b1d,5b21,5b23,5b28,5b2a,5b30,5b32,5b32,5b34,5b34,5b38,5b38,5b3c,5b41,5b43,5b48,5b4a,5b51,5b53,5b58,5b5a,5b5d,5b5f,5b5f,5b62,5b66,5b68,5b69,5b6b,5b6e,5b70,5b78,5b7a,5b7d,5b7f,5b85,5b87,5b89,5b8b,5b8c,5b8e,5b90,5b92,5b93,5b95,5b9f,5ba2,5ba8,5baa,5baa,5bac,5bae,5bb0,5bb0,5bb3,5bb9,5bbf,5bc7,5bca,5bce,5bd0,5bd9,5bdb,5bdb,5bde,5bec,5bee,5bf3,5bf5,5bf6,5bf8,5bf8,5bfa,5bfa,5bff,5bff,5c01,5c01,5c03,5c05,5c07,5c16,5c1a,5c1a,5c1c,5c1c,5c1e,5c20,5c22,5c25,5c28,5c28,5c2a,5c2a,5c2c,5c2c,5c30,5c31,5c33,5c33,5c37,5c3c,5c3e,5c41,5c44,5c51,5c53,5c56,5c58,5c59,5c5c,5c5e,5c60,5c60,5c62,5c65,5c67,5c6a,5c6c,5c6f,5c71,5c71,5c73,5c74,5c78,5c7c,5c7e,5c7e,5c83,5c83,5c85,5c86,5c88,5c8d,5c8f,5c95,5c99,5c9a,5c9c,5cb1,5cb3,5cb3,5cb5,5cb8,5cba,5cba,5cc1,5cc2,5cc6,5ccc,5cce,5cdb,5cde,5cdf,5ce5,5ce5,5ce8,5cea,5cec,5cf1,5cf4,5cf9,5cfb,5cfd,5cff,5d01,5d06,5d07,5d0b,5d12,5d14,5d1b,5d1d,5d20,5d22,5d29,5d2c,5d2c,5d2e,5d3a,5d3c,5d43,5d45,5d4c,5d4e,5d4e,5d50,5d52,5d55,5d57,5d59,5d59,5d5b,5d5b,5d5e,5d5e,5d62,5d63,5d65,5d65,5d67,5d69,5d6b,5d6c,5d6f,5d72,5d74,5d74,5d77,5d82,5d84,5d8b,5d8d,5d8e,5d92,5d95,5d97,5d97,5d99,5d9a,5d9c,5da2,5da4,5da4,5da7,5db2,5db4,5dba,5dbc,5dbd,5dc0,5dc3,5dc6,5dc7,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dcf,5dcf,5dd1,5dd2,5dd4,5dd8,5ddb,5ddb,5ddd,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df0,5df5,5df7,5df7,5df9,5df9,5dfd,5dff,5e02,5e04,5e06,5e06,5e09,5e0c,5e0e,5e0e,5e11,5e12,5e14,5e1b,5e1d,5e1d,5e1f,5e25,5e28,5e29,5e2b,5e2b,5e2d,5e2e,5e33,5e34,5e36,5e38,5e3d,5e3e,5e40,5e45,5e48,5e48,5e4a,5e4f,5e53,5e55,5e57,5e59,5e5b,5e63,5e66,5e70,5e72,5e76,5e78,5e80,5e82,5e84,5e86,5e8d,5e8f,5e8f,5e92,5e92,5e95,5e97,5e99,5e9c,5ea0,5ea0,5ea2,5ea8,5eaa,5eae,5eb0,5eb9,5ebd,5ebe,5ec1,5ec2,5ec4,5ece,5ed0,5ee3,5ee5,5ee9,5eec,5eec,5eee,5eef,5ef1,5ef4,5ef6,5efc,5efe,5eff,5f01,5f02,5f04,5f05,5f07,5f08,5f0a,5f0f,5f12,5f15,5f17,5f18,5f1a,5f1b,5f1d,5f1d,5f1f,5f1f,5f22,5f29,5f2d,5f2e,5f30,5f31,5f33,5f33,5f35,5f38,5f3a,5f3c,5f40,5f40,5f43,5f46,5f48,5f51,5f54,5f54,5f56,5f59,5f5c,5f5e,5f61,5f65,5f67,5f67,5f69,5f6d,5f6f,5f74,5f76,5f79,5f7b,5f83,5f85,5f8c,5f90,5f92,5f96,5f99,5f9b,5f9c,5f9e,5fa1,5fa4,5faf,5fb1,5fb2,5fb5,5fb7,5fb9,5fc5,5fc9,5fc9,5fcc,5fcd,5fcf,5fd2,5fd4,5fd9,5fdb,5fdb,5fdd,5fe1,5fe3,5fe5,5fe8,5fe8,5fea,5feb,5fed,5fef,5ff1,5ff1,5ff3,5ff5,5ff7,5ff8,5ffa,5ffb,5ffd,5ffd,5fff,6000,6009,6017,6019,601e,6020,602f,6031,6035,6037,6037,6039,6039,603b,603b,6040,6047,6049,604d,6050,6050,6052,6055,6058,605b,605d,605f,6062,6070,6072,6072,6075,6075,6077,6077,607e,6081,6083,608a,608c,608e,6090,6090,6092,6092,6094,6097,609a,60a0,60a2,60a4,60a6,60a8,60b0,60c1,60c3,60cf,60d1,60d1,60d3,60d5,60d7,60e4,60e6,60e9,60f0,6101,6103,6110,6112,6116,6118,611d,611f,6120,6122,6123,6127,6129,612b,612c,612e,6130,6132,6132,6134,6134,6136,6137,613b,613b,613d,6142,6144,6150,6152,6156,6158,6168,616a,616c,616e,6177,6179,617a,617c,617e,6180,6183,6187,6187,6189,618e,6190,6196,6198,619d,619f,619f,61a1,61a2,61a4,61a4,61a7,61ba,61bc,61bc,61be,61c3,61c5,61cd,61cf,61d0,61d3,61d3,61d6,61d6,61d8,61d8,61da,61da,61de,61e0,61e2,61eb,61ed,61ee,61f0,61f2,61f5,6201,6203,6204,6207,620a,620c,620e,6210,6212,6214,6216,6219,621b,621f,6225,6227,6227,6229,622e,6230,6230,6232,6234,6236,6237,6239,623a,623d,6243,6246,624e,6250,6254,6258,625c,625e,625e,6260,6266,6268,6268,626d,6274,6276,6277,6279,628a,628c,628c,628e,6298,629d,629d,62a4,62a4,62a6,62a6,62a8,62b1,62b3,62b6,62b8,62b9,62bb,62bf,62c1,62dc,62df,62df,62e5,62e5,62eb,6303,6307,6309,630b,6311,6313,6316,6318,6318,6328,632f,6331,633e,6340,6351,6354,635a,635d,635d,6364,6365,6367,6369,636b,6372,6375,637d,637f,6385,6387,6392,6394,6394,6396,6399,639b,63a5,63a7,63b1,63b9,63b9,63bd,63be,63c0,63d3,63d5,63eb,63ed,63f6,63f8,63f9,63fb,63fc,63fe,63fe,6406,6407,6409,6410,6412,6418,641a,641c,641e,6428,642a,6430,6432,643b,643d,6441,6443,6443,644b,644b,644d,644e,6450,6454,6458,6461,6465,6469,646b,647d,647f,647f,6482,6482,6485,6485,6487,648d,648f,6493,6495,649a,649c,64a0,64a2,64a6,64a9,64a9,64ab,64b4,64b6,64b6,64bb,64c5,64c7,64c7,64c9,64cb,64cd,64d0,64d2,64d4,64d6,64db,64dd,64dd,64e0,64ed,64ef,64f4,64f7,64f8,64fa,6501,6503,6504,6506,6507,6509,650a,650c,6511,6513,6519,651b,6526,6529,6530,6532,6539,653b,653b,653d,653f,6541,6541,6543,6543,6545,6546,6548,654a,654d,654d,654f,654f,6551,6551,6553,655a,655c,655f,6562,6568,656a,656d,656f,656f,6572,657c,657f,6589,658b,658c,6590,6592,6594,6597,6599,6599,659b,65a2,65a4,65a5,65a7,65a8,65aa,65ac,65ae,65b0,65b2,65b3,65b5,65b9,65bb,65bf,65c1,65c6,65cb,65d4,65d6,65d7,65da,65db,65dd,65e3,65e5,65e6,65e8,65e9,65ec,65f5,65fa,65fd,65ff,6600,6602,6615,6618,6618,661c,6628,662b,662b,662d,6636,6639,663a,6641,6645,6647,664d,664f,664f,6651,6653,6657,6657,6659,6668,666a,666c,666e,6674,6676,667e,6680,6680,6684,668e,6690,6692,6694,669a,669d,669d,669f,66a2,66a4,66a4,66a8,66ab,66ad,66bb,66bd,66c0,66c4,66c4,66c6,66cf,66d2,66d2,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e4,66e6,66e9,66eb,66ee,66f0,66f4,66f6,66f9,66fc,66fc,66fe,6705,6708,6710,6712,6719,671b,671b,671d,6723,6725,6728,672a,672e,6731,6731,6733,6736,6738,673f,6744,6749,674b,6751,6753,6753,6755,6757,6759,675a,675c,6762,6767,6767,676a,677f,6781,6787,6789,6789,678b,6795,6797,679a,679c,679d,679f,67a0,67a4,67a4,67ac,67ac,67ae,67bb,67bf,67c6,67c8,67d4,67d6,67df,67e2,67e7,67e9,67fa,67fc,67fc,67fe,6804,680d,680d,6810,6810,6812,6814,6816,6818,681a,6822,6825,6826,6828,682b,682d,682f,6831,683e,6840,6851,6853,6856,685d,685d,6865,6865,686b,686b,686d,686f,6871,6872,6874,6879,687b,688c,688f,6894,6896,6898,689b,689d,689f,68a4,68a6,68b6,68b9,68b9,68bd,68bd,68c1,68c1,68c3,68ce,68d0,68d8,68da,68da,68dc,68e1,68e3,68e4,68e6,68ec,68ee,68fd,6900,6915,6917,691b,6925,6925,692a,692a,692c,692c,692f,6930,6932,6939,693b,6946,6948,694c,694e,694f,6951,697b,6980,6980,6982,6983,6985,6986,698a,698a,698d,698e,6990,6991,6993,699c,699e,69b7,69b9,69b9,69bb,69c4,69c6,69c6,69c9,69d1,69d3,69d6,69d9,69d9,69e1,69e2,69e4,69e9,69eb,69ee,69f1,69f4,69f6,6a0d,6a0f,6a0f,6a11,6a11,6a13,6a21,6a23,6a23,6a25,6a29,6a2b,6a2d,6a32,6a35,6a38,6a41,6a43,6a49,6a4b,6a5b,6a5d,6a6b,6a6d,6a6d,6a6f,6a6f,6a71,6a71,6a74,6a74,6a76,6a76,6a7a,6a7a,6a7e,6a85,6a87,6a87,6a89,6a8a,6a8c,6a97,6a99,6aa8,6aab,6aaf,6ab1,6abb,6abd,6abe,6ac2,6ac3,6ac5,6acd,6acf,6ad1,6ad3,6ad4,6ad8,6ae1,6ae5,6ae5,6ae7,6ae8,6aea,6aec,6aee,6af1,6af3,6af3,6af6,6af6,6af8,6afc,6b00,6b00,6b02,6b05,6b08,6b0b,6b0f,6b13,6b16,6b1a,6b1d,6b1e,6b20,6b21,6b23,6b23,6b25,6b25,6b28,6b28,6b2c,6b2d,6b2f,6b2f,6b31,6b3f,6b41,6b43,6b45,6b4e,6b50,6b52,6b54,6b57,6b59,6b59,6b5b,6b5c,6b5e,6b67,6b6a,6b6a,6b6d,6b6d,6b6f,6b6f,6b72,6b72,6b74,6b74,6b76,6b7b,6b7e,6b84,6b86,6b86,6b88,6b8a,6b8c,6b8f,6b91,6b91,6b94,6b99,6b9b,6b9b,6b9e,6ba0,6ba2,6ba7,6baa,6bab,6bad,6bb0,6bb2,6bb3,6bb5,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc3,6bcd,6bcf,6bd0,6bd2,6bd4,6bd6,6bd8,6bda,6bdc,6bde,6bde,6be0,6be4,6be6,6be8,6bea,6bec,6bef,6bf0,6bf2,6bf3,6bf7,6c06,6c08,6c09,6c0b,6c0d,6c0f,6c11,6c13,6c16,6c18,6c1d,6c1f,6c21,6c23,6c28,6c2a,6c2c,6c2e,6c3b,6c3d,6c43,6c46,6c46,6c49,6c50,6c52,6c52,6c54,6c55,6c57,6c61,6c65,6c6b,6c6d,6c76,6c78,6c7b,6c7d,6c90,6c92,6c96,6c98,6c9d,6c9f,6c9f,6ca2,6ca2,6caa,6cb4,6cb6,6cc7,6cc9,6cd7,6cd9,6ce3,6ce5,6ce5,6ce7,6cf3,6cf5,6cf5,6cf9,6cf9,6cff,6d12,6d16,6d1b,6d1d,6d20,6d22,6d22,6d24,6d42,6d4e,6d4e,6d57,6d5c,6d5e,6d6a,6d6c,6d72,6d74,6d98,6d9a,6d9a,6da4,6da5,6daa,6dac,6dae,6daf,6db1,6db5,6db7,6dc0,6dc2,6dc2,6dc4,6dcd,6dcf,6de6,6de8,6df7,6df9,6dfe,6e00,6e00,6e02,6e05,6e0a,6e0a,6e0f,6e0f,6e15,6e15,6e18,6e1d,6e1f,6e36,6e38,6e41,6e43,6e47,6e49,6e4b,6e4d,6e69,6e6b,6e6b,6e6e,6e6f,6e71,6e74,6e76,6e79,6e7c,6e7c,6e86,6e86,6e88,6e89,6e8b,6e8b,6e8d,6e90,6e92,6e94,6e96,6ea7,6eaa,6eab,6eae,6ed6,6ed8,6edd,6ee2,6ee2,6ee8,6ee9,6eeb,6eef,6ef1,6ef2,6ef4,6f0f,6f12,6f1a,6f1c,6f1c,6f1e,6f27,6f29,6f41,6f43,6f44,6f4e,6f58,6f5a,6f64,6f66,6f67,6f69,6f70,6f72,6f74,6f76,6f82,6f84,6f8e,6f90,6f90,6f92,6f97,6f9d,6fb6,6fb8,6fc4,6fc6,6fcf,6fd3,6fd5,6fd8,6fe4,6fe6,6fe9,6feb,6ff2,6ff4,6ff4,6ff6,6ff8,6ffa,6ffc,6ffe,7001,7003,7007,7009,700f,7011,7011,7014,7024,7026,702c,702f,7035,7037,703c,703e,7046,7048,704d,7050,7052,7054,7058,705a,706c,706e,7071,7074,707a,707c,707f,7081,7086,7089,708b,708e,708f,7091,7096,7098,709a,709f,70a1,70a3,70a7,70a9,70a9,70ab,70b1,70b3,70b5,70b7,70be,70c0,70c0,70c4,70c8,70ca,70da,70dc,70e2,70e4,70e4,70ef,70f1,70f3,7100,7102,7102,7104,7106,7109,710e,7110,7110,7113,7113,7117,7117,7119,7123,7125,7126,7128,7129,712b,712c,712e,7136,713a,713b,713e,713e,7140,7147,7149,7154,7156,715a,715c,716c,716e,716e,7170,7178,717a,717e,7180,7182,7184,718a,718c,718c,718e,7192,7194,7194,7196,71a5,71a7,71aa,71ac,71ad,71af,71b5,71b7,71ba,71bc,71cb,71ce,71d2,71d4,71d6,71d8,71dd,71df,71e2,71e4,71e8,71eb,71ee,71f0,71f2,71f4,71f6,71f8,71f9,71fb,7203,7205,7207,7209,720a,720c,7210,7213,7217,7219,721b,721d,721f,7222,722e,7230,7230,7235,7236,7238,723b,723d,7242,7244,7244,7246,724c,724f,7250,7252,7253,7255,7263,7266,7267,7269,726a,726c,726c,726e,7270,7272,7274,7276,7279,727b,7282,7284,7289,728b,7298,729a,729b,729d,729f,72a1,72aa,72ac,72b0,72b2,72b2,72b4,72b5,72ba,72ba,72bd,72bd,72bf,72c6,72c9,72ce,72d0,72d2,72d4,72d4,72d6,72da,72dc,72dc,72df,72e4,72e6,72e6,72e8,72eb,72f3,72f4,72f6,7302,7304,7304,7307,7308,730a,730c,730f,7313,7316,7319,731b,731e,7322,7323,7325,732e,7330,733c,733e,7345,7348,734a,734c,7352,7357,735b,735d,7362,7365,736c,736e,7378,737a,738c,738e,738f,7392,7398,739c,73a2,73a4,73ad,73b2,73bc,73be,73c0,73c2,73d0,73d2,73de,73e0,73eb,73ed,73ef,73f3,740d,7411,7412,7414,7417,7419,7426,7428,743a,743c,743c,743f,7457,7459,7465,7467,7476,7479,747a,747c,7483,7485,748d,7490,7490,7492,7492,7494,7495,7497,74a1,74a3,74ab,74ad,74ad,74af,74b2,74b4,74bb,74bd,74c3,74c5,74c6,74c8,74c8,74ca,74cc,74cf,74d0,74d3,74e9,74ec,74ec,74ee,74ee,74f0,74f2,74f4,74f8,74fb,74fb,74fd,7500,7502,7505,7507,7508,750b,751a,751c,751f,7521,7522,7525,7526,7528,7535,7537,753b,753d,7540,7542,7542,7546,7548,754a,754f,7551,7551,7553,7555,7559,755d,755f,7560,7562,7567,756a,7570,7572,7572,7576,757a,757d,7580,7583,7584,7586,7587,758a,7592,7594,7595,7598,759a,759d,759e,75a2,75a5,75a7,75a7,75aa,75ab,75b0,75b6,75b8,75c5,75c7,75c8,75ca,75d2,75d4,75d5,75d7,75e4,75e6,75e7,75ed,75ed,75ef,7603,7607,760d,760f,7611,7613,7616,7619,7629,762c,762d,762f,7635,7638,7638,763a,763d,7640,7640,7642,7643,7646,7649,764c,7654,7656,765a,765c,765c,765f,7662,7664,7667,7669,766a,766c,7676,7678,767f,7681,7682,7684,7684,7686,768b,768e,7690,7692,7693,7695,7696,7699,769e,76a1,76a1,76a4,76a6,76aa,76ab,76ad,76b0,76b4,76b5,76b7,76b8,76ba,76bb,76bd,76bf,76c2,76c6,76c8,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76df,76e1,76e1,76e3,76e7,76e9,76ea,76ec,76f5,76f7,76fc,76fe,76fe,7701,7701,7703,7705,7707,770c,770e,7713,7715,7715,7719,771b,771d,7720,7722,7729,772b,772b,772d,772d,772f,772f,7731,773e,7740,7740,7743,7747,774a,774f,7752,7752,7754,7756,7758,775c,775e,7763,7765,776f,7772,7772,7777,7785,7787,7789,778b,778f,7791,7791,7793,7793,7795,7795,7797,77a3,77a5,77a5,77a7,77a8,77aa,77ad,77af,77b7,77b9,77bf,77c2,77c5,77c7,77c7,77c9,77d0,77d3,77d5,77d7,77de,77e0,77e0,77e2,77e3,77e5,77e9,77ec,77f4,77f7,77fe,7802,7803,7805,7806,7808,7809,780c,7814,7818,7818,781c,7823,7825,7835,7837,7839,783c,783d,7842,7845,7847,784e,7850,7854,785c,785e,7860,7860,7862,7862,7864,7866,7868,7871,7879,787c,787e,7881,7883,7889,788c,788f,7891,7891,7893,789a,789e,78a5,78a7,78ad,78af,78b4,78b6,78b6,78b8,78bc,78be,78be,78c1,78c1,78c3,78c5,78c7,78d5,78d7,78d8,78da,78db,78dd,78e5,78e7,78ea,78ec,78f5,78f7,78f7,78f9,78ff,7901,7902,7904,7906,7909,7909,790c,790c,790e,790e,7910,7914,7917,7917,7919,7919,791b,791e,7921,7921,7923,792f,7931,7936,7938,7942,7944,794c,794f,7965,7967,796b,796d,796d,7970,7974,7979,797a,797c,7983,7986,7988,798a,798b,798d,799d,799f,79a2,79a4,79ae,79b0,79b4,79b6,79bb,79bd,79c1,79c4,79c6,79c8,79d2,79d4,79d6,79d8,79d8,79dc,79e0,79e2,79e4,79e6,79e7,79e9,79ee,79f1,79f1,79f4,79f4,79f6,79f8,79fa,79fb,7a00,7a00,7a02,7a06,7a08,7a08,7a0a,7a0e,7a10,7a15,7a17,7a1c,7a1e,7a20,7a22,7a22,7a26,7a26,7a28,7a28,7a2a,7a32,7a37,7a37,7a39,7a40,7a43,7a4e,7a54,7a54,7a56,7a58,7a5a,7a5c,7a5f,7a62,7a65,7a65,7a67,7a69,7a6b,7a6e,7a70,7a72,7a74,7a76,7a78,7a7b,7a7d,7a81,7a83,7a8c,7a8f,7a99,7a9e,7aa0,7aa2,7aa3,7aa8,7aac,7aae,7ab8,7aba,7abc,7abe,7ac5,7ac7,7acb,7acf,7acf,7ad1,7ad1,7ad3,7ad3,7ad8,7add,7adf,7ae0,7ae2,7ae7,7ae9,7aeb,7aed,7aef,7af6,7af7,7af9,7b01,7b04,7b06,7b08,7b0c,7b0e,7b14,7b18,7b1b,7b1d,7b20,7b22,7b35,7b38,7b39,7b3b,7b3b,7b40,7b40,7b42,7b52,7b54,7b56,7b58,7b58,7b60,7b67,7b69,7b69,7b6c,7b78,7b7b,7b7b,7b82,7b82,7b84,7b85,7b87,7b88,7b8a,7b92,7b94,7b9d,7ba0,7ba4,7bac,7baf,7bb1,7bb2,7bb4,7bb5,7bb7,7bb9,7bbe,7bbe,7bc0,7bc1,7bc4,7bc7,7bc9,7bcc,7bce,7bd0,7bd4,7bd5,7bd8,7bec,7bf0,7bf4,7bf7,7c03,7c05,7c07,7c09,7c12,7c15,7c15,7c19,7c19,7c1b,7c23,7c25,7c2d,7c30,7c30,7c33,7c33,7c35,7c35,7c37,7c39,7c3b,7c40,7c42,7c45,7c47,7c4a,7c4c,7c4d,7c50,7c51,7c53,7c54,7c56,7c57,7c59,7c5d,7c5f,7c60,7c63,7c67,7c69,7c70,7c72,7c75,7c78,7c81,7c83,7c86,7c88,7c8a,7c8c,7c8e,7c91,7c92,7c94,7c98,7c9c,7c9c,7c9e,7c9f,7ca1,7ca3,7ca5,7ca8,7cac,7cac,7cae,7caf,7cb1,7cb5,7cb8,7cbf,7cc2,7cc3,7cc5,7cc5,7cc7,7cce,7cd0,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce8,7cea,7cea,7cec,7cf9,7cfb,7cfe,7d00,7d22,7d25,7d25,7d28,7d29,7d2b,7d2c,7d2e,7d33,7d35,7d36,7d38,7d47,7d4a,7d4a,7d4d,7d56,7d58,7d58,7d5a,7d5f,7d61,7d63,7d66,7d6b,7d6d,7d73,7d79,7d7d,7d7f,7d81,7d83,7d86,7d88,7d89,7d8b,7d8f,7d91,7d97,7d9c,7da4,7da6,7db5,7db7,7dc2,7dc4,7dc7,7dc9,7dd0,7dd2,7dd4,7dd7,7de1,7de3,7dea,7dec,7dec,7dee,7df7,7df9,7dfe,7e03,7e03,7e07,7e17,7e1a,7e25,7e27,7e27,7e29,7e2b,7e2d,7e49,7e4c,7e4c,7e50,7e5c,7e5e,7e63,7e65,7e65,7e67,7e70,7e72,7e82,7e86,7e88,7e8a,7e8f,7e91,7e9c,7e9f,7e9f,7ea4,7ea4,7eac,7eac,7eba,7eba,7ec7,7ec7,7ecf,7ecf,7edf,7edf,7f06,7f06,7f36,7f3a,7f3d,7f41,7f43,7f45,7f47,7f55,7f58,7f58,7f5b,7f61,7f63,7f63,7f65,7f6e,7f70,7f73,7f75,7f7f,7f83,7f83,7f85,7f8f,7f91,7f97,7f9a,7f9e,7fa0,7fa9,7fac,7fc3,7fc5,7fc5,7fc7,7fc7,7fc9,7fd2,7fd4,7fd5,7fd7,7fd7,7fdb,7fe3,7fe5,7ff5,7ff7,8008,800b,8012,8014,8019,801b,8021,8024,8026,8028,802a,802c,802c,802e,8031,8033,8037,8039,8039,803b,803f,8043,8043,8046,8048,804a,804a,804f,8052,8054,8054,8056,8056,8058,8058,805a,805e,8061,8064,8066,8067,806c,806c,806f,8073,8075,8079,807d,8080,8082,8082,8084,8087,8089,808c,808f,8090,8092,8093,8095,8096,8098,809d,809f,809f,80a1,80a3,80a5,80a5,80a7,80a7,80a9,80ab,80ad,80af,80b1,80b2,80b4,80b8,80ba,80ba,80bc,80bd,80c2,80ca,80cc,80d1,80d4,80de,80e0,80e1,80e3,80e6,80e9,80e9,80ec,80ed,80ef,80f6,80f8,80fe,8100,8103,8105,810a,810c,810c,810e,810e,8112,8112,8114,811b,811d,811f,8121,8125,8127,8127,8129,812d,812f,8132,8134,8134,8137,8137,8139,813a,813d,813e,8142,8144,8146,8148,814a,8156,8159,815c,815e,815e,8160,8162,8164,8167,8169,8169,816b,8174,8176,817a,817c,817d,817f,8180,8182,8184,8186,818d,818f,818f,8193,8193,8195,8195,8197,81a0,81a2,81a3,81a5,81ac,81ae,81ae,81b0,81b7,81b9,81ca,81cc,81cd,81cf,81d2,81d5,81d5,81d7,81db,81dd,81ea,81ec,81ef,81f2,81f4,81f6,81fc,81fe,8202,8204,8205,8207,820d,8210,8212,8214,8216,8218,8218,821a,8222,8225,8226,8228,822d,822f,822f,8232,823a,823c,8240,8242,8242,8244,8245,8247,8247,8249,8249,824b,824b,824e,825c,825e,825f,8261,8266,8268,8269,826b,826f,8271,8272,8274,8280,8283,8285,8287,8287,828a,828b,828d,8294,8298,829b,829d,82b1,82b3,82c0,82c2,82c4,82ca,82ca,82cf,82d9,82db,82dc,82de,82e8,82ea,8309,830b,830d,8316,831e,8320,8320,8322,8322,8324,832d,832f,832f,8331,833d,833f,8345,8347,8354,8356,8357,8362,8363,8366,8366,836f,836f,8373,8378,837a,837f,8381,8381,8383,8383,8385,839e,83a0,83a0,83a2,83ac,83ae,83b0,83b9,83b9,83bd,83cf,83d1,83d1,83d3,83d9,83db,83e5,83e7,83f6,83f8,83ff,8401,8401,8403,8407,8409,8414,8416,8416,8418,8418,841b,841c,8420,8421,8423,8424,8426,8426,8429,8429,842b,8440,8442,844e,8450,8469,846b,847a,847d,8480,8482,8482,8484,8484,8486,8486,8488,8488,848d,8494,8496,84a4,84a7,84b2,84b4,84b4,84b6,84b6,84b8,84c2,84c4,84c7,84c9,84d4,84d6,84d7,84da,84db,84de,84de,84e1,84e2,84e4,84e5,84e7,84ec,84ee,84f4,84f6,8500,8502,851a,851c,8521,8523,8531,8533,8534,8538,8538,853b,853b,853d,853e,8540,854e,8551,855b,855d,8571,8573,8573,8575,857c,857e,857e,8580,8591,8593,85a4,85a6,85aa,85af,85b1,85b3,85ba,85bd,85c9,85cb,85cb,85cd,85d2,85d5,85da,85dc,85e6,85e8,85f2,85f4,85f4,85f6,8602,8604,8607,8609,860d,860f,8611,8613,8614,8616,861c,861e,862a,862c,862f,8631,8636,8638,863c,863e,8640,8642,8643,8645,8648,864b,864e,8650,8650,8652,8656,8659,8659,865b,865c,865e,865f,8661,8665,8667,8674,8677,8677,8679,867c,867e,867e,8685,8687,868a,868e,8690,869a,869c,869e,86a0,86a5,86a7,86aa,86ad,86ad,86af,86c9,86cb,86cc,86d0,86d1,86d3,86d4,86d6,86df,86e2,86e4,86e6,86e6,86e8,86ed,86ef,86ef,86f5,86fb,86fe,86fe,8700,870e,8711,8713,8715,8715,8718,871c,871e,871e,8720,872a,872c,872e,8730,8735,8737,8738,873a,873c,873e,8743,8746,8746,874c,8771,8773,877b,877d,877d,8781,8789,878b,878d,878f,8794,8796,8798,879a,879f,87a2,87a5,87a9,87c6,87c8,87cc,87ce,87ce,87d1,87d4,87d6,87e8,87ea,87ef,87f2,87f7,87f9,87fc,87fe,8806,8808,880d,880f,8811,8813,8819,881b,881d,881f,8833,8835,8839,883b,8846,8848,8848,884a,884f,8852,8853,8855,8857,8859,885b,885d,885e,8860,8865,8867,886b,886d,8872,8874,8877,8879,8879,887c,8884,8887,8889,888b,8893,8895,88a2,88a4,88a4,88a7,88a8,88aa,88ac,88ae,88ae,88b1,88b2,88b4,88ba,88bc,88c2,88c5,88c5,88c7,88c7,88c9,88d0,88d2,88d2,88d4,88df,88e1,88e1,88e6,88e8,88eb,88ec,88ee,8902,8905,8907,8909,890c,890e,890e,8910,891a,891e,891f,8921,8927,8929,8933,8935,8938,893b,893e,8941,8944,8946,8947,8949,8949,894b,894d,894f,8954,8956,8966,8969,896f,8971,8974,8976,8977,8979,897c,897e,8983,8985,898b,898f,898f,8991,8991,8993,8998,899b,899f,89a1,89a7,89a9,89aa,89ac,89af,89b2,89b2,89b6,89b7,89b9,89ba,89bc,89c1,89c6,89c6,89d2,89d6,89d9,89dd,89df,89e9,89eb,89ed,89f0,89f4,89f6,89f8,89fa,89fc,89fe,8a00,8a02,8a04,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a13,8a15,8a18,8a1b,8a1f,8a22,8a23,8a25,8a25,8a27,8a27,8a29,8a2d,8a30,8a31,8a34,8a34,8a36,8a36,8a38,8a41,8a44,8a46,8a48,8a4a,8a4c,8a52,8a54,8a59,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a69,8a6b,8a6e,8a70,8a77,8a79,8a7c,8a7e,8a7f,8a81,8a87,8a8b,8a8d,8a8f,8a96,8a98,8a9a,8a9c,8a9c,8a9e,8a9e,8aa0,8aa1,8aa3,8aac,8aaf,8ab0,8ab2,8ab2,8ab4,8ab4,8ab6,8ab6,8ab8,8ac0,8ac2,8ac9,8acb,8acd,8acf,8acf,8ad1,8ae2,8ae4,8ae4,8ae6,8ae8,8aea,8aeb,8aed,8afc,8afe,8b02,8b04,8b08,8b0a,8b20,8b22,8b28,8b2a,8b31,8b33,8b33,8b35,8b37,8b39,8b43,8b45,8b5a,8b5c,8b60,8b62,8b63,8b65,8b6d,8b6f,8b70,8b74,8b74,8b77,8b7b,8b7d,8b86,8b88,8b88,8b8a,8b8c,8b8e,8b90,8b92,8b96,8b98,8b9c,8b9e,8ba0,8bbe,8bbe,8be2,8be2,8c37,8c37,8c39,8c39,8c3b,8c3f,8c41,8c43,8c45,8c51,8c54,8c57,8c5a,8c5a,8c5c,8c5d,8c5f,8c5f,8c61,8c62,8c64,8c66,8c68,8c6d,8c6f,8c73,8c75,8c7b,8c7d,8c7d,8c80,8c82,8c84,8c86,8c89,8c8a,8c8c,8c8d,8c8f,8c95,8c97,8ca5,8ca7,8cad,8caf,8cb0,8cb2,8cc5,8cc7,8cc8,8cca,8cca,8ccc,8ccd,8ccf,8ccf,8cd1,8cd7,8cd9,8cee,8cf0,8cf5,8cf7,8cfe,8d00,8d00,8d02,8d0d,8d0f,8d19,8d1b,8d1d,8d64,8d64,8d66,8d69,8d6b,8d70,8d72,8d74,8d76,8d7b,8d7d,8d7d,8d80,8d82,8d84,8d85,8d89,8d8a,8d8c,8d96,8d99,8d99,8d9b,8d9c,8d9f,8da1,8da3,8da3,8da5,8daf,8db2,8db7,8db9,8dba,8dbc,8dbc,8dbe,8dc3,8dc5,8dc8,8dcb,8dd1,8dd3,8ddd,8ddf,8de4,8de6,8dec,8dee,8df4,8dfa,8dfa,8dfc,8e07,8e09,8e0a,8e0d,8e2b,8e2d,8e2e,8e30,8e31,8e33,8e36,8e38,8e3a,8e3c,8e42,8e44,8e50,8e53,8e57,8e59,8e6a,8e6c,8e6d,8e6f,8e6f,8e71,8e78,8e7a,8e7c,8e7e,8e7e,8e80,8e82,8e84,8e8e,8e90,8e98,8e9a,8e9a,8e9d,8ea1,8ea3,8ead,8eb0,8eb0,8eb2,8eb2,8eb6,8eb6,8eb9,8eba,8ebc,8ebd,8ec0,8ec0,8ec2,8ec3,8ec9,8ecf,8ed1,8ed4,8ed7,8ed8,8eda,8ee2,8ee4,8ee9,8eeb,8eef,8ef1,8ef2,8ef4,8efc,8efe,8f03,8f05,8f0b,8f0d,8f0e,8f10,8f20,8f23,8f26,8f29,8f2a,8f2c,8f30,8f32,8f39,8f3b,8f3c,8f3e,8f4b,8f4d,8f64,8f66,8f67,8f6e,8f6e,8f93,8f93,8f9b,8f9c,8f9f,8fa0,8fa3,8fa3,8fa5,8fa8,8fad,8fbc,8fbe,8fbf,8fc1,8fc2,8fc4,8fc6,8fc9,8fd7,8fda,8fda,8fe0,8fe6,8fe8,8fe8,8fea,8feb,8fed,8fee,8ff0,8ff0,8ff4,9006,9008,9008,900b,900d,900f,9012,9014,9017,9019,9024,902d,902f,9031,9038,903c,903f,9041,9042,9044,9044,9046,9047,9049,9056,9058,9059,905b,905e,9060,9064,9067,9069,906b,9070,9072,9088,908a,908b,908d,908d,908f,9091,9094,9095,9097,9099,909b,909b,909e,90a3,90a5,90a8,90aa,90aa,90ae,90b6,90b8,90b8,90bb,90bb,90bd,90bf,90c1,90c1,90c3,90c5,90c7,90c8,90ca,90cb,90ce,90ce,90d4,90dd,90df,90e5,90e8,90ed,90ef,90f5,90f9,9109,910b,910b,910d,9112,9114,9114,9116,9124,9126,9136,9138,913b,913e,9141,9143,9153,9155,915a,915c,915c,915e,9165,9167,916a,916c,916c,916e,9170,9172,917a,917c,917c,9180,9187,9189,9193,9196,9196,9199,91a3,91a5,91a5,91a7,91b7,91b9,91be,91c0,91c7,91c9,91c9,91cb,91d1,91d3,91da,91dc,91dd,91df,91df,91e2,91ee,91f1,91f1,91f3,91fa,91fd,920a,920c,921a,921c,921c,921e,921e,9221,9221,9223,9228,922a,922b,922d,922e,9230,923a,923c,9241,9244,9246,9248,9258,925a,925b,925d,9267,926b,9270,9272,9272,9276,928f,9291,9291,9293,929d,92a0,92ac,92ae,92ae,92b1,92b7,92b9,92bc,92be,92d5,92d7,92d9,92db,92db,92dd,92e1,92e3,92f4,92f6,9304,9306,9309,930b,9310,9312,9316,9318,931b,931d,9331,9333,9336,9338,9339,933c,933c,9340,9352,9354,935c,935e,936e,9370,9371,9373,937e,9380,938a,938c,9392,9394,93aa,93ac,93b5,93b7,93b8,93bb,93bb,93bd,93bd,93bf,93c0,93c2,93c4,93c6,93c8,93ca,93e4,93e6,93e8,93ec,93ec,93ee,93ee,93f0,93f1,93f3,9401,9403,9404,9406,9419,941b,941b,941d,941d,9420,9420,9424,9433,9435,9440,9442,944d,944f,9452,9454,9455,9457,9458,945b,945b,945d,945e,9460,9460,9462,9465,9467,9479,947b,9483,9485,9485,949f,949f,94a2,94a2,94c1,94c1,94c3,94c3,94dc,94dc,94f6,94f6,952d,952d,9547,9547,9577,9578,957a,957d,957f,9580,9582,9583,9585,9586,9588,9589,958b,9594,9596,9599,959b,959c,959e,95ae,95b0,95b2,95b5,95b7,95b9,95c0,95c3,95c3,95c5,95cd,95d0,95d6,95da,95dc,95de,95e5,95e8,95e8,95f4,95f4,961c,961e,9620,9624,9628,9628,962a,962a,962c,9633,9638,963d,963f,9645,964a,9651,9653,9654,9656,9656,9658,9658,965b,965f,9661,9664,9669,966d,966f,9678,967b,967e,9680,9681,9683,968b,968d,968f,9691,9699,969b,969c,969e,969e,96a1,96a5,96a7,96aa,96ac,96ac,96ae,96ae,96b0,96b1,96b3,96b4,96b6,96b6,96b8,96b9,96bb,96bd,96bf,96ce,96d2,96df,96e1,96e3,96e5,96e5,96e8,96ea,96ef,96f2,96f4,96fb,96fd,96fd,96ff,9700,9702,9709,970b,970b,970d,9713,9716,9716,9718,9719,971b,972c,972e,9732,9734,9736,9738,973a,973d,9744,9746,974b,9751,9752,9755,9758,975a,9762,9766,9766,9768,976a,976c,976e,9770,9774,9776,9778,977a,9785,9787,978b,978d,978f,9794,9794,9797,97a6,97a8,97a8,97aa,97ae,97b1,97b4,97b6,97bb,97bd,97c9,97cb,97d0,97d2,97d9,97dc,97e1,97e3,97e3,97e5,97e6,97ed,97ee,97f0,97f3,97f5,97f6,97f8,97fb,97fd,9808,980a,980a,980c,9818,981b,9821,9823,9824,9826,9829,982b,982b,982d,9830,9832,9835,9837,9839,983b,983b,9841,9841,9843,9853,9856,9859,985b,9860,9862,986c,986f,9875,98a8,98a9,98ac,98af,98b1,98b4,98b6,98c4,98c6,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98ed,98ef,98ef,98f1,98f2,98f4,98f6,98f9,98fa,98fc,98fe,9900,9900,9902,9903,9905,9905,9907,990a,990c,990c,990e,990e,9910,991c,991e,991f,9921,9921,9924,9925,9927,9933,9935,9935,9937,9943,9945,9945,9947,994e,9950,9959,995b,995f,9961,9963,9996,9999,999b,999e,99a1,99a1,99a3,99a8,99aa,99b5,99b8,99bd,99c1,99c5,99c7,99c7,99c9,99c9,99cb,99dd,99df,99e7,99e9,99ea,99ec,99ee,99f0,99f1,99f4,99ff,9a01,9a07,9a09,9a11,9a14,9a16,9a19,9a27,9a29,9a32,9a34,9a46,9a48,9a4a,9a4c,9a50,9a52,9a5c,9a5e,9a60,9a62,9a6c,9a8f,9a8f,9aa8,9aa8,9aab,9aab,9aad,9aad,9aaf,9ab4,9ab6,9ac2,9ac6,9ac7,9aca,9aca,9acd,9acd,9acf,9ad8,9adc,9adc,9adf,9ae3,9ae6,9ae7,9aeb,9aef,9af1,9af4,9af6,9af7,9af9,9aff,9b01,9b06,9b08,9b12,9b14,9b1a,9b1e,9b20,9b22,9b25,9b27,9b2b,9b2d,9b2f,9b31,9b35,9b37,9b37,9b39,9b3c,9b3e,9b46,9b48,9b48,9b4a,9b52,9b54,9b56,9b58,9b5b,9b5f,9b61,9b64,9b64,9b66,9b69,9b6c,9b6c,9b6f,9b71,9b74,9b77,9b7a,9b83,9b85,9b88,9b8b,9b8b,9b8d,9b93,9b95,9b95,9b97,9b97,9b9a,9b9b,9b9d,9ba2,9ba4,9ba6,9ba8,9ba8,9baa,9bab,9bad,9bb0,9bb5,9bb6,9bb8,9bb9,9bbd,9bbd,9bbf,9bc1,9bc3,9bc4,9bc6,9bca,9bcf,9bcf,9bd3,9bd7,9bd9,9bde,9be0,9be2,9be4,9bed,9bf0,9bf1,9bf4,9bf4,9bf7,9bf8,9bfd,9bfd,9bff,9bff,9c02,9c02,9c05,9c0e,9c10,9c10,9c12,9c15,9c17,9c17,9c1b,9c1d,9c1f,9c21,9c23,9c26,9c28,9c29,9c2b,9c2d,9c2f,9c2f,9c31,9c37,9c39,9c41,9c44,9c50,9c52,9c59,9c5d,9c60,9c62,9c63,9c66,9c68,9c6d,9c6e,9c71,9c75,9c77,9c7c,9ce5,9ce7,9ce9,9cea,9ced,9ced,9cf1,9cf7,9cf9,9cfd,9cff,9d00,9d02,9d09,9d0c,9d0c,9d10,9d10,9d12,9d12,9d14,9d19,9d1b,9d1b,9d1d,9d23,9d25,9d26,9d28,9d29,9d2d,9d31,9d33,9d34,9d36,9d39,9d3b,9d3b,9d3d,9d45,9d49,9d4c,9d4e,9d54,9d56,9d61,9d67,9d75,9d77,9d79,9d7b,9d8c,9d90,9d90,9d92,9d94,9d96,9dad,9daf,9daf,9db1,9dc5,9dc7,9ddf,9de1,9de6,9de8,9de9,9deb,9df0,9df2,9e07,9e09,9e15,9e17,9e1f,9e75,9e75,9e79,9e7d,9e7f,9e8e,9e90,9ea2,9ea4,9eb1,9eb4,9eb7,9ebb,9ec4,9ec6,9ec8,9ecc,9ed1,9ed3,9ed6,9ed8,9ed8,9eda,9ee0,9ee2,9ee2,9ee4,9ee8,9eeb,9eeb,9eed,9f02,9f06,9f0a,9f0e,9f10,9f12,9f13,9f15,9f1c,9f1e,9f1e,9f20,9f20,9f22,9f39,9f3b,9f3b,9f3d,9f3e,9f40,9f50,9f52,9f67,9f69,9f6c,9f6e,9f72,9f74,9f7b,9f7e,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f99,9f9c,9f9c,9f9f,9fa0,9fa2,9fa2,9fa4,9fb3,9fc7,9fcb,9fd0,9fd0,f900,f908,f90b,f90d,f915,f915,f917,f917,f91a,f91a,f922,f922,f92d,f92d,f934,f934,f937,f937,f93a,f93a,f943,f943,f947,f948,f94a,f94a,f952,f952,f95e,f95e,f962,f962,f965,f965,f967,f967,f96d,f96d,f972,f972,f976,f976,f978,f979,f97b,f97b,f97e,f97e,f980,f980,f986,f986,f98a,f98a,f98e,f98e,f995,f995,f99c,f99d,f99f,f99f,f9b5,f9b5,f9bb,f9bb,f9bd,f9be,f9c5,f9c6,f9c8,f9c8,f9d0,f9d0,f9d8,f9d9,f9dc,f9de,f9e0,f9e0,f9e2,f9e4,f9e7,f9e7,f9e9,f9e9,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0d,fa33,fa35,fa3a,fa3a,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20021,20021,2003e,2003e,20046,20046,2004e,2004e,20068,20068,20086,20087,2008a,2008a,20094,20094,200ca,200cd,200d1,200d1,200ee,200ee,2010c,2010c,2010e,2010e,20118,20118,201a4,201a4,201a9,201a9,201ab,201ab,201c1,201c1,201d4,201d4,201f2,201f2,20204,20204,2020c,2020c,20214,20214,20239,20239,2025b,2025b,20274,20275,20299,20299,2029e,2029e,202a0,202a0,202b7,202b7,202bf,202c0,202e5,202e5,2030a,2030a,20325,20325,20341,20341,20345,20347,2037e,20380,203a0,203a0,203a7,203a7,203b5,203b5,203c9,203c9,203cb,203cb,203f5,203f5,203fc,203fc,20413,20414,2041f,2041f,20465,20465,20487,20487,2048e,2048e,20491,20492,204a3,204a3,204d7,204d7,204fc,204fc,204fe,204fe,20547,20547,2058e,2058e,205a5,205a5,205b3,205b3,205c3,205c3,205ca,205ca,205d0,205d0,205d5,205d5,205df,205e0,205eb,205eb,20611,20611,20615,20615,20619,2061a,20628,20628,20630,20630,20656,20656,20676,20676,2070e,2070e,20731,20731,20779,20779,2082c,2082c,20873,20873,208d5,208d5,20916,20916,20923,20923,20954,20954,20979,20979,209e7,209e7,20a11,20a11,20a50,20a50,20a6f,20a6f,20a8a,20a8a,20ab4,20ab4,20ac2,20ac2,20acd,20acd,20b0d,20b0d,20b8f,20b8f,20b9f,20b9f,20ba8,20ba9,20bbf,20bbf,20bc6,20bc6,20bcb,20bcb,20be2,20be2,20beb,20beb,20bfb,20bfb,20bff,20bff,20c0b,20c0b,20c0d,20c0d,20c20,20c20,20c34,20c34,20c3a,20c3b,20c41,20c43,20c53,20c53,20c65,20c65,20c77,20c78,20c7c,20c7c,20c8d,20c8d,20c96,20c96,20c9c,20c9c,20cb5,20cb5,20cb8,20cb8,20ccf,20ccf,20cd3,20cd6,20cdd,20cdd,20ced,20ced,20cff,20cff,20d15,20d15,20d28,20d28,20d31,20d32,20d46,20d49,20d4c,20d4e,20d6f,20d6f,20d71,20d71,20d74,20d74,20d7c,20d7c,20d7e,20d7f,20d96,20d96,20d9c,20d9c,20da7,20da7,20db2,20db2,20dc8,20dc8,20e04,20e04,20e09,20e0a,20e0d,20e11,20e16,20e16,20e1d,20e1d,20e4c,20e4c,20e6d,20e6d,20e73,20e73,20e75,20e7b,20e8c,20e8c,20e96,20e96,20e98,20e98,20e9d,20e9d,20ea2,20ea2,20eaa,20eac,20eb6,20eb6,20ed7,20ed8,20edd,20edd,20ef8,20efb,20f1d,20f1d,20f26,20f26,20f2d,20f2e,20f30,20f31,20f3b,20f3b,20f4c,20f4c,20f64,20f64,20f8d,20f8d,20f90,20f90,20fad,20fad,20fb4,20fb6,20fbc,20fbc,20fdf,20fdf,20fea,20fed,21014,21014,2101d,2101e,2104f,2104f,2105c,2105c,2106f,2106f,21075,21078,2107b,2107b,21088,21088,21096,21096,2109d,2109d,210b4,210b4,210bf,210c1,210c7,210c9,210cf,210cf,210d3,210d3,210e4,210e4,210f4,210f6,2112f,2112f,2113b,2113b,2113d,2113d,21145,21145,21148,21148,2114f,2114f,21180,21180,21187,21187,211d9,211d9,2123c,2123c,2124f,2124f,2127c,2127c,212a8,212a9,212b0,212b0,212e3,212e3,212fe,212fe,21302,21305,21336,21336,2133a,2133a,21375,21376,2138e,2138e,21398,21398,2139c,2139c,213c5,213c6,213ed,213ed,213fe,213fe,21413,21413,21416,21416,21424,21424,2143f,2143f,21452,21452,21454,21455,2148a,2148a,21497,21497,214b6,214b6,214e8,214e8,214fd,214fd,21577,21577,21582,21582,21596,21596,2160a,2160a,21613,21613,21619,21619,2163e,2163e,21661,21661,21692,21692,216b8,216b8,216ba,216ba,216c0,216c2,216d3,216d3,216d5,216d5,216df,216df,216e6,216e8,216fa,216fc,216fe,216fe,2170d,2170d,21710,21710,21726,21726,2173a,2173c,21757,21757,2176c,21771,21773,21774,217ab,217ab,217b0,217b5,217c3,217c3,217c7,217c7,217d9,217dc,217df,217df,217ef,217ef,217f5,217f6,217f8,217fc,21820,21820,21828,2182a,2182d,2182d,21839,2183b,21840,21840,21845,21845,21852,21852,2185e,2185e,21861,21864,21877,21877,2187b,2187b,21883,21885,2189e,218a2,218be,218bf,218d1,218d1,218d6,218d9,218fa,218fa,21903,21905,21910,21912,21915,21915,2191c,2191c,21922,21922,21927,21927,2193b,2193b,21944,21944,21958,21958,2196a,2196a,2197c,2197c,21980,21980,21983,21983,21988,21988,21996,21996,219db,219db,219f3,219f3,21a2d,21a2d,21a34,21a34,21a45,21a45,21a4b,21a4b,21a63,21a63,21b44,21b44,21bc1,21bc2,21c2a,21c2a,21c70,21c70,21ca2,21ca2,21ca5,21ca5,21cac,21cac,21d46,21d46,21d53,21d53,21d5e,21d5e,21d90,21d90,21db6,21db6,21dba,21dba,21dca,21dca,21dd1,21dd1,21deb,21deb,21df9,21df9,21e1c,21e1c,21e23,21e23,21e37,21e37,21e3d,21e3d,21e89,21e89,21ea4,21ea4,21ea8,21ea8,21ec8,21ec8,21ed5,21ed5,21f0f,21f0f,21f15,21f15,21f6a,21f6a,21f9e,21f9e,21fa1,21fa1,21fe8,21fe8,22045,22045,22049,22049,2207e,2207e,2209a,2209a,220c7,220c7,220fc,220fc,2212a,2212a,2215b,2215b,22173,22173,2217a,2217a,221a1,221a1,221c1,221c1,221c3,221c3,22208,22208,2227c,2227c,22321,22321,22325,22325,223bd,223bd,223d0,223d0,223d7,223d7,223fa,223fa,22465,22465,22471,22471,2248b,2248b,22491,22491,224b0,224b0,224bc,224bc,224c1,224c1,224c9,224c9,224cc,224cc,224ed,224ed,22513,22513,2251b,2251b,22530,22530,22554,22554,2258d,2258d,225af,225af,225be,225be,2261b,2261c,2262b,2262b,22668,22668,2267a,2267a,22696,22696,22698,22698,226f4,226f6,22712,22712,22714,22714,2271b,2271b,2271f,2271f,2272a,2272a,22775,22775,22781,22781,22796,22796,227b4,227b5,227cd,227cd,22803,22803,2285f,22860,22871,22871,228ad,228ad,228c1,228c1,228f7,228f7,22926,22926,22939,22939,2294f,2294f,22967,22967,2296b,2296b,22980,22980,22993,22993,22a66,22a66,22acf,22acf,22ad5,22ad5,22ae6,22ae6,22ae8,22ae8,22b0e,22b0e,22b22,22b22,22b3f,22b3f,22b43,22b43,22b6a,22b6a,22bca,22bca,22bce,22bce,22c26,22c27,22c38,22c38,22c4c,22c4c,22c51,22c51,22c55,22c55,22c62,22c62,22c88,22c88,22c9b,22c9b,22ca1,22ca1,22ca9,22ca9,22cb2,22cb2,22cb7,22cb7,22cc2,22cc2,22cc6,22cc6,22cc9,22cc9,22d07,22d08,22d12,22d12,22d44,22d44,22d4c,22d4c,22d67,22d67,22d8d,22d8d,22d95,22d95,22da0,22da0,22da3,22da4,22db7,22db7,22dee,22dee,22e0d,22e0d,22e36,22e36,22e42,22e42,22e78,22e78,22e8b,22e8b,22eb3,22eb3,22eef,22eef,22f74,22f74,22fcc,22fcc,22fe3,22fe3,23033,23033,23044,23044,2304b,2304b,23066,23066,2307d,2307e,2308e,2308e,230b7,230b7,230bc,230bc,230da,230da,23103,23103,2313d,2313d,2317d,2317d,23182,23182,231a4,231a5,231b3,231b3,231c8,231c9,231ea,231ea,231f7,231f9,2320f,2320f,23225,23225,2322f,2322f,23231,23234,23256,23256,2325e,2325e,23262,23262,23281,23281,23289,2328a,232ab,232ad,232d2,232d2,232e0,232e1,23300,23300,2330a,2330a,2331f,2331f,233b4,233b4,233cc,233cc,233de,233de,233e6,233e6,233f4,233f5,233f9,233fa,233fe,233fe,23400,23400,2343f,2343f,23450,23450,2346f,2346f,23472,23472,234e5,234e5,23519,23519,23530,23530,23551,23551,2355a,2355a,23567,23567,23595,23595,23599,23599,2359c,2359c,235bb,235bb,235cd,235cf,235f3,235f3,23600,23600,23617,23617,2361a,2361a,2363c,2363c,23640,23640,23659,23659,2365f,2365f,23677,23677,2368e,2368e,2369e,2369e,236a6,236a6,236ad,236ad,236ba,236ba,236df,236df,236ee,236ee,23703,23703,23716,23716,23720,23720,2372d,2372d,2372f,2372f,2373f,2373f,23766,23766,23781,23781,237a2,237a2,237bc,237bc,237c2,237c2,237d5,237d7,2383a,2383a,239c2,239c2,23aa7,23aa7,23adb,23adb,23aee,23aee,23afa,23afa,23b1a,23b1a,23b5a,23b5a,23c63,23c63,23c99,23c9b,23cb5,23cb5,23cb7,23cb7,23cc7,23cc9,23cfc,23cff,23d40,23d40,23d5b,23d5b,23d7e,23d7e,23d8f,23d8f,23db6,23dbd,23de3,23de3,23df8,23df8,23e06,23e06,23e11,23e11,23e2c,23e31,23e39,23e39,23e88,23e8b,23eb9,23eb9,23ebf,23ebf,23ed7,23ed7,23ef7,23efc,23f35,23f35,23f41,23f41,23f4a,23f4a,23f61,23f61,23f7f,23f82,23f8f,23f8f,23fb4,23fb4,23fb7,23fb7,23fc0,23fc0,23fc5,23fc5,23feb,23ff0,24011,24011,24039,2403d,24057,24057,24085,24085,2408b,2408d,24091,24091,240c9,240c9,240e1,240e1,240ec,240ec,24104,24104,2410f,2410f,24119,24119,2413f,24140,24144,24144,2414e,2414e,24155,24157,2415c,2415c,2415f,2415f,24161,24161,24177,24177,2417a,2417a,241a3,241a5,241ac,241ac,241b5,241b5,241cd,241cd,241e2,241e2,241fc,241fc,2421b,2421b,2424b,2424b,24256,24256,24259,24259,24276,24278,24284,24284,24293,24293,24295,24295,242a5,242a5,242bf,242bf,242c1,242c1,242c9,242ca,242ee,242ee,242fa,242fa,2430d,2430d,2431a,2431a,24334,24334,24348,24348,24362,24365,2438c,2438c,24396,24396,2439c,2439c,243bd,243bd,243c1,243c1,243e9,243ea,243f2,243f2,243f8,243f8,24404,24404,24435,24436,2445a,2445b,24473,24473,24487,24488,244b9,244b9,244bc,244bc,244ce,244ce,244d3,244d3,244d6,244d6,24505,24505,24521,24521,24578,24578,245c8,245c8,24618,24618,2462a,2462a,24665,24665,24674,24674,24697,24697,246d4,246d4,24706,24706,24725,24725,2472f,2472f,2478f,2478f,247e0,247e0,24812,24812,24823,24823,24882,24882,248e9,248e9,248f0,248f3,248fb,248fb,248ff,24901,2490c,2490c,24916,24917,24919,24919,2492f,2492f,24933,24934,2493e,24943,24962,24963,24974,24976,2497b,2497b,2497f,2497f,24982,24982,24988,2498f,24994,24994,249a4,249a4,249a7,249a7,249a9,249a9,249ab,249ad,249b7,249bb,249c5,249c5,249d0,249d0,249da,249da,249de,249df,249e3,249e3,249e5,249e5,249ec,249ed,249f6,249f9,249fb,249fb,24a0e,24a0e,24a12,24a13,24a15,24a15,24a21,24a2a,24a3e,24a3e,24a42,24a42,24a45,24a45,24a4a,24a4a,24a4e,24a51,24a5d,24a5d,24a65,24a67,24a71,24a71,24a77,24a7a,24a8c,24a8c,24a93,24a96,24aa4,24aa7,24ab1,24ab3,24aba,24abc,24ac0,24ac0,24ac7,24ac7,24aca,24aca,24ad1,24ad1,24adf,24adf,24ae2,24ae2,24ae9,24ae9,24b0f,24b0f,24b6e,24b6e,24bf5,24bf5,24c09,24c09,24c9e,24c9f,24cc9,24cc9,24cd9,24cd9,24d06,24d06,24d13,24d13,24db8,24db8,24dea,24deb,24e3b,24e3b,24e50,24e50,24ea5,24ea5,24ea7,24ea7,24f0e,24f0e,24f5c,24f5c,24f82,24f82,24f86,24f86,24f97,24f97,24f9a,24f9a,24fa9,24fa9,24fb8,24fb8,24fc2,24fc2,2502c,2502c,25052,25052,2509d,2509d,2512b,2512b,25148,25148,2517d,2517e,251cd,251cd,251e3,251e3,251e6,251e7,25220,25221,25250,25250,25299,25299,252c7,252c7,252d8,252d8,2530e,2530e,25311,25311,25313,25313,25419,25419,25425,25425,2542f,25430,25446,25446,2546c,2546c,2546e,2546e,2549a,2549a,25531,25531,25535,25535,2553f,2553f,2555b,2555e,25562,25562,25565,25566,25581,25581,25584,25584,2558f,2558f,255b9,255b9,255d5,255d5,255db,255db,255e0,255e0,25605,25605,25635,25635,25651,25651,25683,25683,25695,25695,256e3,256e3,256f6,256f6,25706,25706,2571d,2571d,25725,25725,2573d,2573d,25772,25772,257c7,257c7,257df,257e1,25857,25857,2585d,2585d,25872,25872,258c8,258c8,258de,258de,258e1,258e1,25903,25903,25946,25946,25956,25956,259ac,259ac,259cc,259cc,25a54,25a54,25a95,25a95,25a9c,25a9c,25aae,25aaf,25ad7,25ad7,25ae9,25ae9,25b74,25b74,25b89,25b89,25bb3,25bb4,25bc6,25bc6,25be4,25be4,25be8,25be8,25c01,25c01,25c06,25c06,25c21,25c21,25c4a,25c4a,25c65,25c65,25c91,25c91,25ca4,25ca4,25cc0,25cc1,25cfe,25cfe,25d20,25d20,25d30,25d30,25d43,25d43,25d99,25d99,25db9,25db9,25e0e,25e0e,25e49,25e49,25e81,25e83,25ea6,25ea6,25ebc,25ebc,25ed7,25ed8,25f1a,25f1a,25f4b,25f4b,25fe1,25fe2,26021,26021,26029,26029,26048,26048,26064,26064,26083,26083,26097,26097,260a4,260a5,26102,26102,26121,26121,26159,2615c,261ad,261ae,261b2,261b2,261dd,261dd,26258,26258,26261,26261,2626a,2626b,262d0,262d0,26335,26335,2634b,2634c,26351,26351,263be,263be,263f5,263f5,263f8,263f8,26402,26402,26410,26412,2644a,2644a,26469,26469,26484,26484,26488,26489,2648d,2648d,26498,26498,26512,26512,26572,26572,265a0,265a0,265ad,265ad,265bf,265bf,26612,26612,26626,26626,266af,266af,266b1,266b1,266b5,266b5,266da,266da,266e8,266e8,266fc,266fc,26716,26716,26741,26741,26799,26799,267b3,267b4,267cc,267cc,2681c,2681c,26846,26846,2685e,2685e,2686e,2686e,26888,26888,2688a,2688a,26893,26893,268c7,268c7,2690e,2690e,26911,26911,26926,26926,26939,26939,26951,26951,269a8,269a8,269b5,269b5,269f2,269f2,269fa,269fa,26a2d,26a2e,26a34,26a34,26a42,26a42,26a51,26a52,26b05,26b05,26b0a,26b0a,26b13,26b13,26b15,26b15,26b23,26b23,26b28,26b28,26b50,26b53,26b5b,26b5b,26b75,26b75,26b82,26b82,26b96,26b97,26b9d,26b9d,26bb3,26bb3,26bc0,26bc0,26bf7,26bf7,26c21,26c21,26c40,26c41,26c46,26c46,26c7e,26c82,26ca4,26ca4,26cb7,26cb8,26cbd,26cbd,26cc0,26cc0,26cc3,26cc3,26cd1,26cd1,26d22,26d2a,26d51,26d51,26d74,26d74,26da0,26da7,26dae,26dae,26ddc,26ddc,26dea,26deb,26df0,26df0,26e00,26e00,26e05,26e05,26e07,26e07,26e12,26e12,26e42,26e45,26e6e,26e6e,26e72,26e72,26e77,26e77,26e84,26e84,26e88,26e88,26e8b,26e8b,26e99,26e99,26ed0,26ed7,26f26,26f26,26f73,26f74,26f9f,26f9f,26fa1,26fa1,26fbe,26fbe,26fde,26fdf,2700e,2700e,2704b,2704b,27052,27053,27088,27088,270ad,270af,270cd,270cd,270d2,270d2,270f0,270f0,270f8,270f8,27109,27109,2710c,2710d,27126,27127,27164,27165,27175,27175,271cd,271cd,2721b,2721b,27267,27267,27280,27280,27285,27285,2728b,2728b,272b2,272b2,272b6,272b6,272e6,272e6,27352,27352,2739a,2739a,273ff,273ff,27422,27422,27450,27450,27484,27484,27486,27486,27574,27574,275a3,275a3,275e0,275e0,275e4,275e4,275fd,275fe,27607,27607,2760c,2760c,27632,27632,27639,27639,27655,27657,27694,27694,2770f,2770f,27735,27736,27741,27741,2775e,2775e,27784,27785,277cc,277cc,27858,27858,27870,27870,2789d,2789d,278b2,278b2,278c8,278c8,27924,27924,27967,27967,2797a,2797a,279a0,279a0,279dd,279dd,279fd,279fd,27a0a,27a0a,27a0e,27a0e,27a3e,27a3e,27a53,27a53,27a59,27a59,27a79,27a79,27a84,27a84,27abd,27abe,27af4,27af4,27b06,27b06,27b0b,27b0b,27b18,27b18,27b38,27b3a,27b48,27b48,27b65,27b65,27bef,27bef,27bf4,27bf4,27c12,27c12,27c6c,27c6c,27cb1,27cb1,27cc5,27cc5,27d2f,27d2f,27d53,27d54,27d66,27d66,27d73,27d73,27d84,27d84,27d8f,27d8f,27d98,27d98,27dbd,27dbd,27ddc,27ddc,27e4d,27e4d,27e4f,27e4f,27f2e,27f2e,27fb7,27fb7,27ff9,27ff9,28002,28002,28009,28009,2801e,2801e,28023,28024,28048,28048,28083,28083,28090,28090,280bd,280be,280e8,280e9,280f4,280f4,2812e,2812e,2814f,2814f,2815d,2815d,2816f,2816f,28189,28189,281af,281af,281bc,281bc,28207,28207,28218,28218,2821a,2821a,28256,28256,2827c,2827c,2829b,2829b,282cd,282cd,282e2,282e2,28306,28306,28318,28318,2832f,2832f,2833a,2833a,28365,28365,2836d,2836d,2837d,2837d,2838a,2838a,28412,28412,28468,28468,2846c,2846c,28473,28473,28482,28482,28501,28501,2853c,2853d,2856c,2856c,285e8,285e8,285f4,285f4,28600,28600,2860b,2860b,28625,28625,2863b,2863b,286aa,286ab,286b2,286b2,286bc,286bc,286d8,286d8,286e6,286e6,2870f,2870f,28713,28713,28804,28804,2882b,2882b,2890d,2890d,28933,28933,28948,28949,28956,28956,28964,28964,28968,28968,2896c,2896d,2897e,2897e,28989,28989,289a8,289a8,289aa,289ab,289b8,289b8,289bc,289bc,289c0,289c0,289dc,289dc,289de,289de,289e1,289e1,289e3,289e4,289e7,289e8,289f9,289fc,28a0f,28a0f,28a16,28a16,28a25,28a25,28a29,28a29,28a32,28a32,28a36,28a36,28a44,28a4b,28a59,28a5a,28a81,28a83,28a9a,28a9c,28ac0,28ac0,28ac6,28ac6,28acb,28acc,28ace,28ace,28ade,28ae3,28ae5,28ae5,28aea,28aea,28afc,28afc,28b0c,28b0c,28b13,28b13,28b21,28b22,28b2b,28b2d,28b2f,28b2f,28b46,28b46,28b4c,28b4c,28b4e,28b4e,28b50,28b50,28b63,28b66,28b6c,28b6c,28b8f,28b8f,28b99,28b99,28b9c,28b9d,28bb9,28bb9,28bc2,28bc2,28bc5,28bc5,28bd4,28bd4,28bd7,28bd7,28bd9,28bda,28be7,28bec,28bf5,28bf5,28bff,28bff,28c03,28c03,28c09,28c09,28c1c,28c1d,28c23,28c23,28c26,28c26,28c2b,28c2b,28c30,28c30,28c39,28c39,28c3b,28c3b,28cca,28cca,28ccd,28ccd,28cd2,28cd2,28d34,28d34,28d99,28d99,28db9,28db9,28e0f,28e0f,28e36,28e36,28e39,28e39,28e65,28e66,28e97,28e97,28eac,28eac,28eb2,28eb3,28ed9,28ed9,28ee7,28ee7,28fc5,28fc5,29079,29079,29088,29088,2908b,2908b,29093,29093,290af,290b1,290c0,290c0,290e4,290e5,290ec,290ed,2910d,2910d,29110,29110,2913c,2913c,2914d,2914d,2915b,2915b,2915e,2915e,29170,29170,2919c,2919c,291a8,291a8,291d5,291d5,291eb,291eb,2941d,2941d,29420,29420,29433,29433,2943f,2943f,29448,29448,294d0,294d0,294d9,294da,294e5,294e5,294e7,294e7,2959e,2959e,295b0,295b0,295b8,295b8,295d7,295d7,295e9,295e9,295f4,295f4,2967f,2967f,29720,29720,29732,29732,297d4,297d4,29810,29810,29857,29857,298a4,298a4,298d1,298d1,298ea,298ea,298f1,298f1,298fa,298fa,29903,29903,29905,29905,2992f,2992f,29945,29945,29947,29949,2995d,2995d,2996a,2996a,2999d,2999d,299c3,299c3,299c9,299c9,29a28,29a28,29a4d,29a4d,29b05,29b05,29b0e,29b0e,29bd5,29bd5,29c73,29c73,29cad,29cad,29d3e,29d3e,29d5a,29d5a,29d7c,29d7c,29d98,29d98,29d9b,29d9b,29df6,29df6,29e06,29e06,29e2d,29e2d,29e68,29e68,29eac,29eac,29eb0,29eb0,29ec3,29ec3,29ef8,29ef8,29f23,29f23,29f30,29f30,29fb7,29fb7,29fde,29fde,2a014,2a014,2a087,2a087,2a0b9,2a0b9,2a0e1,2a0e1,2a0ed,2a0ed,2a0f3,2a0f3,2a0f8,2a0f8,2a0fe,2a0fe,2a107,2a107,2a123,2a123,2a133,2a134,2a150,2a150,2a192,2a193,2a1ab,2a1ab,2a1b4,2a1b5,2a1df,2a1df,2a1f5,2a1f5,2a220,2a220,2a233,2a233,2a293,2a293,2a29f,2a29f,2a2b2,2a2b2,2a2b4,2a2b4,2a2b6,2a2b6,2a2ba,2a2ba,2a2bd,2a2bd,2a2df,2a2df,2a2ff,2a2ff,2a351,2a351,2a3a9,2a3a9,2a3ed,2a3ed,2a434,2a434,2a45b,2a45b,2a5c6,2a5c6,2a5cb,2a5cb,2a601,2a601,2a632,2a632,2a64a,2a64a,2a65b,2a65b,2a6a9,2a6a9,2adff,2adff,2d544,2d544,2f825,2f825,2f83b,2f83b,2f840,2f840,2f878,2f878,2f894,2f894,2f8a6,2f8a6,2f8cd,2f8cd,2f8db,2f8db,2f994,2f994,2f9b2,2f9b2,2f9bc,2f9bc,2f9d4,2f9d4,30ede,30ede,3106c,3106c,]), - NotoFont.fromFlatList('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [20,20,a0,a0,1720,1736,200b,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [20,20,a0,a0,200c,200c,108e0,108f2,108f4,108f5,108fb,108ff,]), - NotoFont.fromFlatList('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v38/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,34f,34f,591,5c7,5d0,5ea,5f0,5f4,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200c,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20aa,20aa,20ac,20ac,2122,2122,2212,2212,25cc,25cc,fb1d,fb36,fb38,fb3c,fb3e,fb3e,fb40,fb41,fb43,fb44,fb46,fb4f,]), - NotoFont.fromFlatList('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [20,20,a0,a0,10840,10855,10857,1085f,]), - NotoFont.fromFlatList('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [20,20,a0,a0,627,627,660,669,6f0,6f9,1ec71,1ecb4,]), - NotoFont.fromFlatList('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [20,20,a0,a0,10b60,10b72,10b78,10b7f,]), - NotoFont.fromFlatList('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [20,20,a0,a0,10b40,10b55,10b58,10b5f,]), - NotoFont.fromFlatList('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3402,3402,3405,3406,3427,3427,342c,342c,342e,342e,3468,3468,346a,346a,3488,3488,3492,3492,34b5,34b5,34bc,34bc,34c1,34c1,34c7,34c7,34db,34db,351f,351f,353e,353e,355d,355e,3563,3563,356e,356e,35a6,35a6,35a8,35a8,35c5,35c5,35da,35da,35de,35de,35f4,35f4,3605,3605,3614,3614,364a,364a,3691,3691,3696,3696,3699,3699,36cf,36cf,3761,3762,376b,376c,3775,3775,378d,378d,37c1,37c1,37e2,37e2,37e8,37e8,37f4,37f4,37fd,37fd,3800,3800,382f,382f,3836,3836,3840,3840,385c,385c,3861,3861,38a1,38a1,38ad,38ad,38fa,38fa,3917,3917,391a,391a,396f,396f,39a4,39a4,39b8,39b8,3a5c,3a5c,3a6e,3a6e,3a73,3a73,3a85,3a85,3ac4,3ac4,3acb,3acb,3ad6,3ad7,3aea,3aea,3af3,3af3,3b0e,3b0e,3b1a,3b1a,3b1c,3b1c,3b22,3b22,3b35,3b35,3b6d,3b6d,3b77,3b77,3b87,3b88,3b8d,3b8d,3ba4,3ba4,3bb6,3bb6,3bc3,3bc3,3bcd,3bcd,3bf0,3bf0,3bf3,3bf3,3c0f,3c0f,3c26,3c26,3cc3,3cc3,3cd2,3cd2,3d11,3d11,3d1e,3d1e,3d31,3d31,3d4e,3d4e,3d64,3d64,3d9a,3d9a,3dc0,3dc0,3dcc,3dcc,3dd4,3dd4,3e05,3e05,3e3f,3e40,3e60,3e60,3e66,3e66,3e68,3e68,3e83,3e83,3e8a,3e8a,3e94,3e94,3eda,3eda,3f57,3f57,3f72,3f72,3f75,3f75,3f77,3f77,3fae,3fae,3fb1,3fb1,3fc9,3fc9,3fd7,3fd7,3fdc,3fdc,4039,4039,4058,4058,4093,4093,4103,4103,4105,4105,4148,4148,414f,414f,4163,4163,41b4,41b4,41bf,41bf,41e6,41e6,41ee,41ee,41f3,41f3,4207,4207,420e,420e,4264,4264,4293,4293,42c6,42c6,42d6,42d6,42dd,42dd,4302,4302,432b,432b,4343,4343,43ee,43ee,43f0,43f0,4408,4408,440c,440c,4417,4417,441c,441c,4422,4422,4453,4453,445b,445b,4476,4476,447a,447a,4491,4491,44b3,44b3,44be,44be,44d4,44d4,4508,4508,450d,450d,4525,4525,4543,4543,457a,457a,459d,459d,45b8,45b8,45be,45be,45e5,45e5,45ea,45ea,460f,4610,4641,4641,4665,4665,46a1,46a1,46ae,46af,470c,470c,471f,471f,4764,4764,47e6,47e6,47fd,47fd,4816,4816,481e,481e,4844,4844,484e,484e,48b5,48b5,49b0,49b0,49e7,49e7,49fa,49fa,4a04,4a04,4a29,4a29,4abc,4abc,4b38,4b38,4b3b,4b3b,4b7e,4b7e,4bc2,4bc2,4bca,4bca,4bd2,4bd2,4be8,4be8,4c17,4c17,4c20,4c20,4c38,4c38,4cc4,4cc4,4cd1,4cd1,4ce1,4ce1,4d07,4d07,4d77,4d77,4e00,4e05,4e07,4e12,4e14,4e19,4e1e,4e1f,4e21,4e21,4e23,4e24,4e26,4e26,4e28,4e32,4e35,4e39,4e3b,4e3c,4e3f,4e45,4e47,4e48,4e4b,4e4b,4e4d,4e4f,4e51,4e51,4e55,4e5f,4e62,4e63,4e68,4e69,4e71,4e71,4e73,4e75,4e79,4e79,4e7e,4e80,4e82,4e82,4e85,4e86,4e88,4e8e,4e91,4e92,4e94,4e99,4e9b,4ea2,4ea4,4ea6,4ea8,4ea8,4eab,4eb0,4eb3,4eb3,4eb6,4eb6,4eb9,4ebc,4ec0,4ec4,4ec6,4ec8,4eca,4ecb,4ecd,4ed0,4ed4,4edb,4edd,4ee5,4ee8,4ee8,4eeb,4eeb,4eed,4ef3,4ef5,4ef7,4efb,4f03,4f08,4f12,4f15,4f17,4f19,4f1a,4f1c,4f1d,4f2b,4f2b,4f2e,4f31,4f33,4f3e,4f40,4f40,4f42,4f43,4f46,4f49,4f4b,4f60,4f63,4f64,4f69,4f6a,4f6c,4f6c,4f6e,4f71,4f73,4f73,4f75,4f7f,4f81,4f86,4f88,4f94,4f96,4f9b,4f9d,4fa1,4fab,4fab,4fad,4faf,4fb2,4fb2,4fb5,4fb7,4fb9,4fb9,4fbb,4fc6,4fc8,4fd4,4fd7,4fd8,4fda,4fdd,4fdf,4fe6,4fee,4ff3,4ff5,4ff6,4ff8,4ff8,4ffa,4ffa,4ffc,5002,5004,5007,5009,5014,5016,501f,5021,502e,5030,5030,5032,5033,5035,5036,5039,5039,503b,503b,5040,5043,5045,504a,504c,504c,504e,5053,5055,5057,5059,505a,505c,505c,505f,5060,5062,5063,5065,5067,506a,506a,506c,506d,5070,5072,5074,5078,507d,507d,5080,5081,5083,5086,5088,5088,508a,508a,508d,5096,5098,509c,509e,50a3,50aa,50aa,50ac,50ad,50af,50b5,50b7,50b7,50b9,50bb,50bd,50be,50c0,50c0,50c2,50c5,50c7,50c7,50c9,50ca,50cc,50d1,50d3,50d6,50d8,50da,50dc,50df,50e1,50e9,50ed,50f6,50f9,50fb,50fe,50fe,5100,5104,5106,5109,510b,510e,5110,5110,5112,5112,5114,511f,5121,5121,5123,5123,5127,5128,512a,512a,512c,512d,512f,512f,5131,5135,5137,513c,513f,5150,5152,5155,5157,5158,515a,515a,515c,515c,515f,5160,5162,5162,5164,516e,5171,5171,5173,5179,517b,517c,517e,517e,5180,5180,5182,5186,5189,5193,5195,5199,519d,519d,51a0,51a6,51a8,51ad,51b0,51b8,51ba,51ba,51bc,51bf,51c2,51c6,51c8,51cd,51cf,51cf,51d1,51d6,51d8,51d8,51db,51e2,51e5,51e7,51e9,51ea,51ec,51ee,51f0,51fa,51fd,51fe,5200,5208,520a,520b,520e,520e,5211,5218,521d,521d,5222,5222,5224,522b,522e,522e,5230,5233,5235,523c,5243,5245,5247,5247,5249,524d,524f,524f,5254,5258,525a,5261,5263,5266,5269,526a,526c,526c,526e,5275,5277,5279,527d,527d,527f,5280,5282,5285,5287,528a,528c,528d,5291,5298,529a,529c,529f,52a0,52a3,52a7,52a9,52ad,52af,52b1,52b4,52be,52c0,52c1,52c3,52ca,52cc,52cd,52cf,52d2,52d4,52d9,52db,52ea,52ec,52ec,52f0,52fb,52fe,5303,5305,5308,530a,530d,530f,5311,5313,5313,5315,5321,5323,5325,5327,532d,532f,5333,5335,5335,5338,5343,5345,534d,5351,5354,5357,535c,535e,535e,5360,5361,5363,5367,5369,5369,536c,5375,5377,537b,537d,537f,5382,5384,5387,5389,538e,538e,5393,5394,5396,5396,5398,539a,539d,539d,539f,53a1,53a4,53a6,53a8,53ab,53ad,53b0,53b2,53b8,53ba,53bb,53bd,53bd,53c0,53c5,53c8,53cf,53d2,53d7,53d9,53db,53dd,53f8,53fa,53fa,5401,5404,5408,5413,541a,541b,541d,5421,5424,5424,5426,542f,5431,5431,5433,5436,5438,5439,543b,5440,5442,5444,5446,544a,544c,544f,5451,5451,5455,5455,545e,545f,5462,5462,5464,5464,5466,546e,5470,5471,5473,5477,547b,547d,547f,5481,5483,5486,5488,5492,5495,5496,549c,549c,549f,54a2,54a4,54af,54b1,54b3,54b7,54c4,54c6,54ca,54cd,54ce,54d8,54d8,54e0,54e2,54e5,54e6,54e8,54ea,54ec,54ef,54f1,54f3,54f6,54f6,54fa,54fa,54fc,5501,5504,5509,550c,5510,5514,5516,5527,5527,552a,552b,552e,552f,5531,5533,5535,5536,5538,5539,553b,553e,5540,5541,5544,5547,5549,554a,554c,554d,554f,5551,5553,5553,5556,5558,555a,555e,5560,5561,5563,5564,5566,5566,557b,5584,5586,558b,558e,558f,5591,5594,5597,559a,559c,559f,55a3,55a4,55a7,55ae,55b0,55b0,55b2,55b2,55b6,55b6,55bf,55bf,55c1,55c1,55c3,55c7,55c9,55c9,55cb,55cc,55ce,55ce,55d1,55d4,55d7,55d8,55da,55df,55e2,55e4,55e9,55e9,55ec,55ec,55ee,55ee,55f1,55f1,55f6,55f9,55fd,55ff,5605,560a,560d,5612,5614,5614,5616,5619,561b,561b,5620,5620,5628,5629,562c,562c,562f,5639,563b,563d,563f,5644,5646,5647,5649,5649,564b,5650,5653,5654,565b,565b,565e,565e,5660,5664,5666,5666,5668,566d,566f,566f,5671,5672,5674,5676,5678,5678,567a,567a,5680,5680,5684,5688,568a,568c,568f,568f,5694,5695,5699,569a,569d,56a0,56a2,56a2,56a5,56a9,56ab,56ae,56b1,56b4,56b6,56b7,56bc,56bc,56be,56be,56c0,56c3,56c5,56c5,56c8,56d1,56d3,56d3,56d7,56e1,56e3,56e8,56eb,56eb,56ed,56ee,56f0,56f3,56f6,56f7,56f9,56fa,56fd,56fd,56ff,5704,5707,570d,570f,570f,5711,5713,5715,5716,5718,5718,571a,571d,571f,572a,572c,5730,5733,5734,5737,5738,573b,573b,573d,5740,5742,5742,5745,5747,574a,574a,574c,5752,5759,5759,575f,575f,5761,5762,5764,576b,576d,5771,5773,5775,5777,5777,5779,577c,577e,577f,5781,5783,5788,5789,578b,578c,5793,5795,5797,5797,5799,579a,579c,57a4,57a7,57aa,57ac,57ac,57ae,57ae,57b0,57b0,57b3,57b3,57b8,57b8,57bd,57bd,57c0,57c0,57c3,57c3,57c6,57c8,57cb,57cc,57ce,57cf,57d2,57d7,57dc,57e1,57e3,57e4,57e6,57e7,57e9,57e9,57ed,57ed,57f0,57f0,57f4,5800,5802,5806,5808,580d,5815,5815,5819,5819,581b,581b,581d,5821,5824,5824,5826,5827,582a,582a,582d,582d,582f,5832,5834,5835,5839,583a,583d,583d,583f,5841,5849,584d,584f,5852,5854,5855,5857,585a,585e,585f,5861,5862,5864,5864,5867,5869,586b,586b,586d,586d,5870,5870,5872,5872,5875,5875,5878,5879,587c,587c,587e,5881,5883,5883,5885,5885,5887,588d,588f,5890,5893,5894,5896,5898,589c,58a2,58a6,58a6,58a8,58ab,58ae,58ae,58b1,58b3,58b8,58bc,58be,58be,58c1,58c5,58c7,58c8,58ca,58ca,58cc,58ce,58d0,58da,58dc,58e2,58e4,58e5,58e9,58e9,58eb,58ec,58ee,58f4,58f7,58f7,58f9,58fd,5902,5902,5905,5906,5909,590d,590f,5910,5912,5916,5918,591d,591f,591f,5921,5925,5927,5933,5935,5939,593d,593f,5943,5944,5946,5949,594e,5955,5957,595b,595d,5963,5965,5965,5967,596f,5972,5976,5978,5979,597b,597d,5981,5984,598a,598e,5992,5993,5995,5997,5999,5999,599b,599b,599d,599d,599f,599f,59a3,59a5,59a7,59a8,59ac,59b0,59b2,59b3,59b7,59b7,59b9,59bc,59be,59be,59c1,59c1,59c3,59c4,59c6,59c6,59c8,59cb,59cd,59cd,59d0,59d4,59d9,59da,59dc,59df,59e3,59e8,59ea,59ec,59ee,59ef,59f1,59f2,59f4,59f4,59f6,59f8,59fb,59fb,59ff,5a01,5a03,5a04,5a09,5a09,5a0c,5a0e,5a11,5a13,5a17,5a18,5a1a,5a1c,5a1e,5a20,5a23,5a25,5a27,5a2a,5a2d,5a2d,5a2f,5a30,5a35,5a36,5a3c,5a3c,5a40,5a41,5a44,5a49,5a4c,5a4c,5a50,5a50,5a55,5a55,5a5a,5a5a,5a5e,5a5e,5a62,5a63,5a65,5a67,5a6a,5a6a,5a6c,5a6d,5a77,5a77,5a7a,5a7b,5a7e,5a7f,5a84,5a84,5a8b,5a8b,5a90,5a90,5a92,5a93,5a96,5a96,5a99,5a9c,5a9e,5aa0,5aa2,5aa2,5aa7,5aa7,5aac,5aac,5ab1,5ab3,5ab5,5ab5,5ab8,5ab8,5aba,5abf,5ac1,5ac2,5ac4,5ac4,5ac6,5ac6,5ac8,5ac9,5acb,5acc,5acf,5ad0,5ad6,5ad7,5ada,5ada,5adc,5adc,5ae0,5ae1,5ae3,5ae3,5ae5,5ae6,5ae9,5aea,5aee,5aee,5af0,5af0,5af5,5af6,5afa,5afb,5afd,5afd,5b00,5b01,5b08,5b09,5b0b,5b0c,5b16,5b17,5b19,5b19,5b1b,5b1b,5b1d,5b1d,5b21,5b22,5b25,5b25,5b2a,5b2a,5b2c,5b2d,5b30,5b30,5b32,5b32,5b34,5b34,5b36,5b36,5b38,5b38,5b3e,5b3e,5b40,5b41,5b43,5b43,5b45,5b45,5b4b,5b4c,5b50,5b52,5b54,5b58,5b5a,5b5f,5b63,5b66,5b68,5b69,5b6b,5b6b,5b6e,5b71,5b73,5b73,5b75,5b76,5b78,5b78,5b7a,5b7a,5b7c,5b91,5b93,5b9d,5b9f,5b9f,5ba2,5ba6,5ba8,5ba9,5bac,5bba,5bbc,5bbc,5bbf,5bc7,5bc9,5bc9,5bcc,5bd0,5bd2,5bd4,5bd6,5bdb,5bdd,5be2,5be4,5be9,5beb,5bec,5bee,5bf1,5bf3,5bf6,5bf8,5bf8,5bfa,5bfa,5bfd,5bff,5c01,5c0f,5c11,5c14,5c16,5c17,5c19,5c1a,5c1e,5c20,5c22,5c24,5c26,5c26,5c28,5c2e,5c30,5c32,5c35,5c36,5c38,5c41,5c45,5c46,5c48,5c48,5c4a,5c4b,5c4d,5c51,5c53,5c53,5c55,5c55,5c59,5c5c,5c5e,5c65,5c67,5c69,5c6c,5c71,5c74,5c76,5c79,5c7d,5c87,5c88,5c8a,5c8a,5c8c,5c8c,5c8f,5c92,5c94,5c94,5c9d,5c9d,5c9f,5ca3,5ca6,5cad,5cb1,5cb8,5cba,5cbc,5cbe,5cbe,5cc5,5cc5,5cc7,5cc7,5cc9,5cc9,5ccb,5ccb,5cd0,5cd0,5cd2,5cd2,5cd7,5cd7,5cd9,5cd9,5cdd,5cdd,5ce0,5ce1,5ce6,5ce6,5ce8,5cea,5ced,5cf2,5cf4,5cf6,5cfa,5cfb,5cfd,5cfd,5d01,5d01,5d06,5d07,5d0b,5d0b,5d0d,5d0e,5d10,5d12,5d14,5d1b,5d1d,5d1d,5d1f,5d20,5d22,5d24,5d26,5d27,5d29,5d29,5d2b,5d2b,5d31,5d31,5d34,5d34,5d39,5d39,5d3d,5d3d,5d3f,5d3f,5d42,5d43,5d46,5d48,5d4a,5d4c,5d4e,5d4e,5d50,5d53,5d55,5d55,5d59,5d59,5d5c,5d5c,5d5f,5d62,5d64,5d64,5d69,5d6a,5d6c,5d6d,5d6f,5d70,5d73,5d73,5d76,5d76,5d79,5d7a,5d7e,5d7f,5d81,5d84,5d87,5d88,5d8a,5d8c,5d90,5d90,5d92,5d95,5d97,5d97,5d99,5d99,5d9b,5d9b,5d9d,5d9d,5d9f,5da0,5da2,5da2,5da4,5da4,5da7,5da7,5dab,5dac,5dae,5dae,5db0,5db0,5db2,5db2,5db4,5db4,5db7,5dba,5dbc,5dbd,5dc3,5dc3,5dc7,5dc7,5dc9,5dc9,5dcb,5dce,5dd0,5dd3,5dd6,5dd9,5ddb,5ddb,5ddd,5dde,5de0,5de9,5deb,5deb,5dee,5dee,5df1,5df5,5df7,5df9,5dfb,5dfb,5dfd,5e00,5e02,5e03,5e06,5e07,5e0b,5e0d,5e11,5e12,5e14,5e16,5e18,5e1b,5e1d,5e1d,5e1f,5e20,5e25,5e25,5e28,5e28,5e2b,5e2b,5e2d,5e30,5e32,5e33,5e35,5e38,5e3d,5e3e,5e40,5e40,5e43,5e45,5e47,5e47,5e49,5e49,5e4b,5e4c,5e4e,5e4e,5e50,5e51,5e54,5e58,5e5b,5e5c,5e5e,5e5f,5e61,5e64,5e68,5e68,5e6a,5e6e,5e70,5e70,5e72,5e81,5e83,5e84,5e87,5e87,5e8a,5e8b,5e8e,5e8f,5e95,5e97,5e99,5e9a,5e9c,5e9c,5ea0,5ea0,5ea2,5ea2,5ea4,5ea8,5eaa,5ead,5eb1,5eb1,5eb3,5eb3,5eb5,5eb9,5ebd,5ebf,5ec1,5ec3,5ec6,5ec6,5ec8,5ecc,5ece,5ed6,5ed9,5ee3,5ee5,5ee5,5ee8,5ee9,5eeb,5eec,5ef0,5ef1,5ef3,5ef4,5ef6,5f04,5f06,5f11,5f13,5f19,5f1b,5f1f,5f21,5f29,5f2b,5f31,5f34,5f38,5f3a,5f41,5f44,5f45,5f47,5f48,5f4a,5f4a,5f4c,5f4e,5f50,5f51,5f53,5f54,5f56,5f59,5f5b,5f5d,5f60,5f67,5f69,5f6d,5f6f,5f75,5f77,5f7a,5f7c,5f85,5f87,5f8d,5f8f,5f93,5f96,5f99,5f9c,5f9e,5fa0,5fa2,5fa4,5fa4,5fa7,5fb1,5fb3,5fb5,5fb7,5fb9,5fbc,5fbd,5fc3,5fc5,5fc7,5fc9,5fcb,5fcd,5fd0,5fd4,5fd6,5fd9,5fdc,5fde,5fe0,5fe2,5fe4,5fe4,5fe8,5ff3,5ff5,5ff6,5ff8,5ff8,5ffa,5ffd,5fff,5fff,6007,6007,600a,600a,600d,6010,6012,601d,601f,6022,6024,602b,602d,602d,602f,602f,6031,6031,6033,6033,6035,6035,603a,603a,6040,6043,6046,604d,6050,6052,6054,6057,6059,605a,605d,605d,605f,6065,6067,606d,606f,6071,6075,6075,6077,6077,607e,607f,6081,6086,6088,608e,6091,6098,609a,609b,609d,60a0,60a2,60aa,60b0,60b8,60bb,60be,60c2,60c2,60c4,60cb,60ce,60cf,60d1,60d1,60d3,60d5,60d8,60e3,60e5,60e5,60e7,60e8,60ee,60ee,60f0,60fd,6100,6103,6106,610a,610c,6117,6119,611c,611e,6122,6127,6128,612a,612c,6130,6131,6134,6137,6139,613a,613c,613f,6141,6142,6144,614e,6153,6153,6155,6155,6158,615a,615d,6160,6162,6165,6167,6168,616b,616c,616e,6178,617b,6184,6187,6187,618a,618b,618d,618e,6190,6194,6196,619a,619c,619d,619f,61a0,61a4,61a5,61a7,61ae,61b2,61b2,61b6,61b6,61b8,61ba,61bc,61bc,61be,61be,61c0,61c3,61c6,61d0,61d5,61d5,61dc,61df,61e1,61e3,61e5,61e9,61ec,61ed,61ef,61ef,61f2,61f2,61f4,61f8,61fa,61fa,61fc,6201,6203,6204,6207,620a,620c,620e,6210,6216,621a,6223,6226,6227,6229,622b,622e,6234,6236,6236,6238,6239,623b,623b,623d,6244,6246,6249,624b,624e,6250,6256,6258,6258,625a,625c,625e,625e,6260,6261,6263,6264,6268,6268,626d,626f,6271,6271,6273,6273,6276,6276,6279,6280,6282,6285,6289,628a,628d,6299,629b,629c,629e,629e,62a6,62a6,62a8,62a8,62ab,62ac,62b1,62b1,62b3,62b3,62b5,62b7,62b9,62bf,62c2,62c2,62c4,62ca,62cc,62dd,62e0,62e1,62ea,62ea,62ec,62ef,62f1,62f7,62fc,62ff,6301,6304,6307,630d,6310,6311,6313,6313,6316,6316,6318,6319,631b,631b,631f,631f,6327,632b,632d,632d,632f,632f,6332,6332,6335,6336,6339,633f,6341,6344,6346,6346,6349,6350,6352,6355,6357,6359,635b,635c,6365,6369,636b,636e,6371,6372,6374,6378,637a,637d,637f,6380,6382,6384,6387,638a,638c,638c,638e,6390,6392,6392,6394,6396,6398,639b,639e,63af,63b2,63b2,63b4,63b5,63bb,63bb,63bd,63be,63c0,63c1,63c3,63c6,63c8,63c9,63ce,63d6,63da,63dc,63e0,63e1,63e3,63e3,63e5,63e5,63e9,63ee,63f2,63fa,6406,6406,6409,640a,640d,640d,640f,6410,6412,6414,6416,6418,641c,641c,641e,641e,6420,6420,6422,6422,6424,6426,6428,642a,642c,642d,642f,6430,6434,6436,643a,643a,643d,643f,6442,6442,644b,644b,644e,644f,6451,6454,6458,6458,645a,645d,645f,6461,6463,6463,6467,6467,6469,6469,646d,646d,646f,646f,6473,6474,6476,6476,6478,647b,647d,647d,6483,6483,6485,6485,6487,6488,648f,6493,6495,6495,6498,649b,649d,649f,64a1,64a1,64a3,64a6,64a8,64a9,64ab,64ae,64b0,64b0,64b2,64b3,64b9,64b9,64bb,64bf,64c1,64c2,64c4,64c5,64c7,64c7,64c9,64ce,64d0,64d2,64d4,64d5,64d7,64d8,64da,64da,64e0,64e7,64e9,64ea,64ec,64ed,64ef,64f2,64f4,64f7,64fa,64fb,64fd,6501,6504,6505,6508,650a,650f,650f,6513,6514,6516,6516,6518,6519,651b,651f,6522,6524,6526,6526,6529,652c,652e,652f,6531,6532,6534,653f,6543,6545,6547,6549,654d,6552,6554,6559,655d,6560,6562,6563,6566,6567,656b,656c,6570,6570,6572,6572,6574,6575,6577,6578,657a,657a,657d,657d,6581,6585,6587,658a,658c,658c,658e,658e,6590,6592,6595,6595,6597,6599,659b,659d,659f,65a1,65a3,65a7,65ab,65b0,65b2,65b5,65b7,65b9,65bc,65bf,65c1,65c6,65c8,65c9,65cb,65cc,65ce,65d0,65d2,65d2,65d4,65d4,65d6,65d9,65db,65db,65df,65e3,65e5,65e9,65ec,65ed,65f0,65f2,65f4,65f5,65f9,65fc,65fe,6600,6602,6604,6606,660a,660c,660f,6611,6616,661c,6631,6633,6637,6639,663c,663f,6646,6648,664c,664e,664f,6651,6652,6657,6670,6673,667c,667e,6681,6683,6684,6687,6689,668b,668e,6690,6692,6696,669d,669f,66a0,66a2,66a2,66a4,66a4,66a6,66a6,66ab,66ab,66ad,66ae,66b1,66b5,66b8,66b9,66bb,66bc,66be,66c4,66c6,66c9,66cc,66cc,66ce,66cf,66d4,66d4,66d6,66d6,66d9,66dd,66df,66e0,66e6,66e6,66e8,66e9,66eb,66ec,66ee,66ee,66f0,66f0,66f2,66f5,66f7,6701,6703,6703,6705,6705,6707,6709,670b,6710,6712,6717,6719,6719,671b,6720,6722,6722,6725,6728,672a,672e,6731,6731,6733,6738,673a,673a,673d,673f,6741,6741,6743,6743,6745,6749,674c,6751,6753,6756,6759,6759,675c,6766,676a,676a,676c,6777,677b,677c,677e,6781,6784,6785,6787,6787,6789,6789,678b,678c,678e,6793,6795,679d,67a0,67a2,67a4,67a4,67a6,67a6,67a9,67a9,67af,67b9,67bb,67be,67c0,67c6,67c8,67ca,67ce,67d4,67d7,67de,67e1,67e2,67e4,67e4,67e6,67e7,67e9,67e9,67ec,67ec,67ee,67f7,67f9,67fc,67fe,67ff,6801,6805,6810,6810,6813,6814,6816,6819,681d,681f,6821,6822,6827,682d,682f,6834,6838,6839,683b,6846,6848,684a,684c,684e,6850,6855,6857,6859,685b,685d,685f,685f,6863,6863,6867,6867,686b,686b,686e,6872,6874,6877,6879,687c,687e,687f,6881,6886,6888,6888,688d,6890,6893,6894,6896,689d,689f,68a3,68a5,68ab,68ad,68b6,68b9,68bc,68c3,68c6,68c8,68cd,68cf,68da,68dc,68dd,68df,68e1,68e3,68e5,68e7,68e8,68ea,68f2,68f5,68f7,68f9,68fd,6900,6901,6903,6913,6916,6917,6919,691c,6921,6923,6925,6926,6928,6928,692a,692a,6930,6931,6933,6936,6938,6939,693b,693b,693d,693d,693f,693f,6942,6942,6945,6946,6949,694a,694e,694e,6953,6955,6957,6957,6959,695e,6960,6966,6968,6975,6977,6982,6986,6986,698a,698a,698d,698e,6991,6992,6994,6996,6998,6998,699b,699c,69a0,69a1,69a5,69a8,69ab,69ab,69ad,69b2,69b4,69b4,69b7,69b8,69ba,69bc,69be,69c1,69c3,69c3,69c5,69c5,69c7,69c8,69ca,69d1,69d3,69d3,69d6,69d9,69dd,69de,69e2,69e3,69e5,69e5,69e7,69eb,69ed,69ef,69f1,69f6,69f9,69f9,69fb,69fb,69fd,6a03,6a05,6a05,6a0a,6a0c,6a0f,6a0f,6a11,6a15,6a17,6a17,6a19,6a1b,6a1d,6a24,6a28,6a2b,6a2e,6a2e,6a30,6a30,6a32,6a3b,6a3d,6a3f,6a44,6a4b,6a4e,6a4e,6a50,6a52,6a54,6a56,6a58,6a59,6a5b,6a5b,6a5f,6a5f,6a61,6a62,6a64,6a64,6a66,6a67,6a6a,6a6b,6a71,6a73,6a78,6a78,6a7a,6a7a,6a7e,6a81,6a83,6a84,6a86,6a87,6a89,6a89,6a8b,6a8b,6a8d,6a8e,6a90,6a91,6a94,6a94,6a97,6a97,6a9b,6aa3,6aa5,6aa5,6aaa,6aac,6aae,6ab1,6ab3,6ab4,6ab8,6ab8,6abb,6abb,6abd,6abf,6ac1,6ac3,6ac6,6ac6,6ac8,6ac9,6acc,6acc,6ad0,6ad1,6ad3,6ad6,6ada,6adf,6ae2,6ae2,6ae4,6ae4,6ae7,6ae8,6aea,6aea,6aec,6aec,6af0,6af3,6af8,6af8,6afa,6afd,6b02,6b07,6b09,6b0b,6b0f,6b12,6b16,6b17,6b1b,6b1b,6b1d,6b21,6b23,6b24,6b27,6b28,6b2b,6b2c,6b2f,6b2f,6b32,6b32,6b35,6b3b,6b3d,6b3f,6b43,6b43,6b46,6b47,6b49,6b4a,6b4c,6b4e,6b50,6b50,6b52,6b54,6b56,6b56,6b58,6b59,6b5b,6b5b,6b5d,6b5d,6b5f,6b67,6b69,6b6c,6b6e,6b70,6b72,6b75,6b77,6b7b,6b7d,6b86,6b89,6b8b,6b8d,6b8d,6b95,6b98,6b9b,6b9b,6b9e,6ba0,6ba2,6ba4,6ba8,6bb5,6bb7,6bc0,6bc3,6bc9,6bcb,6bcf,6bd2,6bd4,6bd6,6bd8,6bda,6bdb,6bdf,6bdf,6be1,6be1,6be3,6be3,6be6,6be7,6beb,6bec,6bee,6bef,6bf1,6bf1,6bf3,6bf3,6bf7,6bf7,6bf9,6bf9,6bff,6bff,6c02,6c02,6c04,6c05,6c08,6c0a,6c0d,6c14,6c17,6c17,6c19,6c19,6c1b,6c1b,6c1f,6c1f,6c23,6c24,6c26,6c28,6c2c,6c2c,6c2e,6c2e,6c33,6c38,6c3a,6c3b,6c3e,6c42,6c4a,6c4b,6c4d,6c50,6c52,6c52,6c54,6c55,6c57,6c57,6c59,6c60,6c62,6c62,6c67,6c68,6c6a,6c6b,6c6d,6c6d,6c6f,6c70,6c72,6c74,6c76,6c76,6c78,6c7b,6c7d,6c7e,6c81,6c89,6c8c,6c8d,6c90,6c90,6c92,6c9c,6c9f,6c9f,6ca1,6ca2,6caa,6cae,6cb0,6cb4,6cb8,6cbf,6cc1,6cc2,6cc4,6cc6,6cc9,6cca,6ccc,6ccd,6ccf,6cd7,6cd9,6cdd,6ce0,6ce3,6ce5,6ce5,6ce7,6cf4,6cfb,6cfb,6d00,6d01,6d04,6d04,6d07,6d07,6d0a,6d0c,6d0e,6d0f,6d11,6d13,6d17,6d17,6d19,6d1b,6d1e,6d1f,6d24,6d2b,6d2e,6d2f,6d31,6d36,6d38,6d39,6d3b,6d3f,6d41,6d41,6d44,6d45,6d57,6d5c,6d5e,6d61,6d63,6d67,6d69,6d6a,6d6c,6d6c,6d6e,6d70,6d74,6d74,6d77,6d79,6d7c,6d7c,6d80,6d82,6d85,6d85,6d87,6d8a,6d8c,6d8e,6d91,6d99,6d9b,6d9c,6daa,6dac,6dae,6daf,6db2,6db2,6db4,6db5,6db7,6db9,6dbc,6dbd,6dbf,6dc0,6dc2,6dc2,6dc4,6dc8,6dca,6dcc,6dce,6dd2,6dd5,6dd6,6dd8,6ddb,6ddd,6de2,6de4,6de6,6de8,6dec,6dee,6dfc,6e00,6e00,6e04,6e05,6e07,6e0b,6e13,6e13,6e15,6e15,6e17,6e17,6e19,6e1b,6e1d,6e27,6e29,6e29,6e2b,6e2f,6e32,6e32,6e34,6e34,6e36,6e36,6e38,6e3c,6e3e,6e3e,6e42,6e45,6e48,6e4f,6e51,6e54,6e56,6e58,6e5b,6e5f,6e62,6e63,6e67,6e68,6e6b,6e6b,6e6e,6e6f,6e72,6e73,6e76,6e76,6e7b,6e7b,6e7d,6e80,6e82,6e82,6e89,6e89,6e8c,6e8d,6e8f,6e90,6e93,6e93,6e96,6e96,6e98,6e99,6e9c,6e9d,6e9f,6ea0,6ea2,6ea2,6ea5,6ea5,6ea7,6ea7,6eaa,6eab,6ead,6eaf,6eb1,6eb4,6eb6,6eb7,6eba,6ebd,6ebf,6ec5,6ec7,6ecf,6ed1,6ed1,6ed3,6ed5,6ed9,6edb,6edd,6ede,6ee6,6ee6,6eeb,6eef,6ef2,6ef2,6ef4,6ef4,6ef7,6ef9,6efb,6efb,6efd,6eff,6f01,6f02,6f04,6f04,6f06,6f06,6f08,6f0a,6f0c,6f0d,6f0f,6f11,6f13,6f16,6f18,6f18,6f1a,6f1b,6f20,6f20,6f22,6f23,6f25,6f26,6f29,6f2d,6f2f,6f33,6f35,6f36,6f38,6f38,6f3b,6f3c,6f3e,6f3f,6f41,6f41,6f45,6f45,6f4f,6f4f,6f51,6f54,6f57,6f62,6f64,6f64,6f66,6f66,6f68,6f68,6f6c,6f70,6f74,6f74,6f78,6f78,6f7a,6f7a,6f7c,6f7e,6f80,6f84,6f86,6f88,6f8b,6f8e,6f90,6f94,6f96,6f98,6f9a,6f9a,6f9d,6f9d,6f9f,6fa1,6fa3,6fa8,6faa,6faa,6fae,6fb1,6fb3,6fb3,6fb5,6fb7,6fb9,6fb9,6fbc,6fbc,6fbe,6fbe,6fc0,6fc3,6fc5,6fca,6fd4,6fd5,6fd8,6fd8,6fda,6fdb,6fde,6fe1,6fe4,6fe4,6fe8,6fe9,6feb,6fec,6fee,6ff1,6ff3,6ff3,6ff5,6ff6,6ff9,6ffa,6ffc,6ffe,7000,7001,7005,7007,7009,700b,700d,700d,700f,700f,7011,7011,7015,7015,7017,7018,701a,701b,701d,7020,7023,7023,7026,7028,702c,702c,702f,7030,7032,7032,7034,7034,7037,7037,7039,703a,703c,703c,703e,703e,7043,7044,7047,704c,704e,704e,7051,7051,7054,7055,7058,7058,705d,705e,7063,7065,7069,7069,706b,706c,706e,7070,7075,7076,7078,7078,707c,707e,7081,7081,7085,7086,7089,708a,708e,708e,7092,7092,7094,7099,709b,709b,709f,709f,70a4,70a4,70ab,70b1,70b3,70b4,70b7,70bb,70c8,70c8,70ca,70cb,70cf,70cf,70d1,70d1,70d3,70d6,70d8,70d9,70dc,70dd,70df,70df,70e4,70e4,70ec,70ec,70f1,70f1,70f9,70fa,70fd,70fd,7103,7109,710b,710c,710f,710f,7114,7114,7119,711a,711c,711c,711e,711e,7120,7121,7126,7126,712b,712b,712d,7131,7136,7136,7138,7138,713c,713c,7141,7141,7145,7147,7149,714c,714e,714e,7150,7153,7155,7157,7159,715a,715c,715c,715e,715e,7160,7160,7162,7162,7164,7169,716c,716c,716e,716e,7179,7179,717d,717d,7180,7180,7184,7185,7187,7188,718a,718a,718c,718c,718f,718f,7192,7192,7194,7196,7199,719b,719f,71a0,71a2,71a2,71a8,71a8,71ac,71ac,71ae,71b3,71b9,71ba,71be,71c1,71c3,71c4,71c8,71c9,71cb,71cc,71ce,71ce,71d0,71d0,71d2,71d7,71d9,71da,71dc,71dc,71df,71e0,71e5,71e7,71ec,71ee,71f4,71f5,71f8,71f9,71fb,71fc,71fe,7200,7206,7209,720d,720d,7210,7210,7213,7213,7215,7215,7217,7217,721a,721b,721d,721d,721f,721f,7224,7224,7228,7228,722a,722d,722f,7230,7232,7232,7234,7236,7238,7243,7245,7248,724b,724c,724e,7250,7252,7253,7255,7263,7267,7269,726b,726b,726e,726f,7271,7272,7274,7274,7277,7279,727b,7282,7284,7284,7287,7287,7289,7289,728d,728e,7292,7293,7296,7296,729b,729b,72a0,72a0,72a2,72a2,72a7,72a8,72ac,72b2,72b4,72b4,72b6,72b6,72b9,72b9,72be,72be,72c0,72c4,72c6,72c7,72c9,72c9,72cc,72cc,72ce,72ce,72d0,72d0,72d2,72d2,72d5,72d9,72db,72db,72df,72e2,72e5,72e5,72e9,72e9,72ec,72ed,72f3,72f4,72f7,72fe,7302,7302,7304,7305,7307,7307,730a,730b,730d,730d,7312,7313,7316,7319,731b,731f,7322,7322,7324,7325,7327,732c,732e,732f,7331,7337,7339,733b,733d,733f,7343,7345,734d,7350,7352,7352,7356,7358,735d,7360,7363,7363,7366,736c,736e,7372,7375,7375,7377,737c,7380,7381,7383,7387,7389,738b,738e,738e,7390,7390,7393,7398,739c,739c,739e,73a0,73a2,73a2,73a5,73a6,73a8,73ab,73ad,73ad,73b2,73b3,73b5,73b5,73b7,73b7,73b9,73bd,73bf,73c0,73c2,73c2,73c5,73c6,73c8,73cf,73d2,73d3,73d6,73d6,73d9,73d9,73dd,73de,73e0,73e1,73e3,73e7,73e9,73ea,73ed,73ee,73f1,73f1,73f4,73f5,73f7,73fb,73fd,7401,7403,7407,7409,740a,7411,7411,7413,7413,741a,741b,7421,7422,7424,7426,7428,7436,7439,743a,743f,7441,7443,7444,7446,7447,744b,744b,744d,744d,7451,7453,7455,7455,7457,7457,7459,7460,7462,7464,7466,746b,746d,7473,7476,7476,747e,747e,7480,7481,7483,7483,7485,7489,748b,748b,748f,7492,7497,749a,749c,749c,749e,74a3,74a5,74ab,74ae,74b2,74b5,74b5,74b9,74bb,74bd,74bd,74bf,74bf,74c8,74ca,74cc,74cc,74cf,74d0,74d3,74d4,74d6,74d6,74d8,74d8,74da,74dc,74de,74e0,74e2,74e4,74e6,74eb,74ee,74f2,74f4,74f4,74f6,74f8,74fa,74fc,74ff,74ff,7501,7501,7503,7506,750c,750e,7511,7513,7515,7518,751a,751a,751c,751c,751e,752c,752f,7533,7536,7540,7543,7544,7546,7552,7554,7554,7557,7557,7559,7562,7564,7567,7569,756d,756f,757f,7581,7582,7585,7587,7589,758c,758e,7595,7599,759a,759c,759d,75a2,75a5,75ab,75ab,75b0,75b5,75b7,75ba,75bc,75c7,75ca,75ca,75cc,75cf,75d2,75d5,75d7,75d9,75db,75e4,75e7,75e7,75e9,75e9,75ec,75ec,75ee,75f4,75f9,75fa,75fc,75fc,75fe,7604,7607,760d,760f,760f,7612,7613,7615,7616,7618,7619,761b,7629,762d,762d,7630,7630,7632,7635,7638,763c,7640,764c,764e,764e,7652,7652,7655,7656,7658,7659,765c,765c,765f,765f,7661,7662,7664,7665,7667,766a,766c,7672,7674,7674,7676,7676,7678,7678,767a,767e,7680,7688,768b,768e,7690,7690,7693,7693,7695,7696,7699,76a8,76aa,76aa,76ad,76b0,76b4,76b4,76b6,76ba,76bd,76bd,76bf,76bf,76c1,76c3,76c5,76c6,76c8,76ce,76d2,76d2,76d4,76d4,76d6,76d7,76d9,76d9,76db,76dc,76de,76e1,76e3,76e8,76ea,76ec,76ee,76ee,76f0,76f2,76f4,76f4,76f6,76f6,76f8,76f9,76fb,76fc,76fe,76fe,7700,7701,7704,7704,7706,770c,770e,770e,7712,7712,7714,7715,7717,7717,7719,771c,771e,7720,7722,7722,7724,7726,7728,7729,772d,772f,7734,773a,773c,773e,7740,7740,7742,7742,7745,7747,774a,774a,774d,774f,7752,7752,7756,7758,775a,775c,775e,7768,776a,776c,7770,7770,7772,7774,7779,777a,777c,7780,7784,7784,778b,778e,7791,7791,7794,7796,779a,779a,779e,77a0,77a2,77a2,77a4,77a5,77a7,77a7,77a9,77aa,77ac,77b1,77b3,77b3,77b5,77b7,77b9,77b9,77bb,77bf,77c3,77c3,77c7,77c7,77c9,77c9,77cd,77cd,77d1,77d2,77d5,77d5,77d7,77d7,77d9,77dc,77de,77e0,77e2,77e7,77e9,77ea,77ec,77f1,77f3,77f4,77f8,77f8,77fb,77fc,7802,7802,7805,7806,7809,7809,780c,780e,7811,7812,7814,7815,7819,7819,781d,781d,7820,7823,7825,7827,782c,782e,7830,7830,7832,7832,7834,7835,7837,7837,783a,783a,783f,783f,7843,7845,7847,7848,784c,784c,784e,784f,7851,7852,785c,785e,7860,7861,7863,7864,7868,7868,786a,786c,786e,786f,7872,7872,7874,7874,787a,787a,787c,787c,787e,787e,7881,7881,7886,7887,788a,788a,788c,788f,7891,7891,7893,7895,7897,7898,789a,789a,789d,789f,78a1,78a1,78a3,78a4,78a7,78aa,78ac,78ad,78af,78b3,78b5,78b5,78ba,78bf,78c1,78c1,78c5,78cc,78ce,78ce,78d0,78d6,78da,78db,78df,78e1,78e4,78e4,78e6,78e8,78ea,78ea,78ec,78ec,78ef,78ef,78f2,78f4,78f6,78f7,78f9,78fb,78fd,7901,7906,7907,790c,790c,790e,790e,7910,7912,7919,791c,791e,7920,7925,792e,7930,7931,7934,7935,793a,7942,7944,794b,794f,7951,7953,7958,795a,7960,7962,7962,7965,7965,7967,7969,796b,796b,796d,796d,7972,7972,7977,7977,7979,797c,797e,7981,7984,7985,798a,798f,7991,7991,7993,7996,7998,7998,799b,799d,79a1,79a1,79a6,79ab,79ae,79b1,79b3,79b4,79b8,79bb,79bd,79c2,79c4,79c4,79c7,79cd,79cf,79cf,79d1,79d2,79d4,79d6,79d8,79d8,79da,79da,79dd,79e7,79e9,79ed,79f0,79f1,79f8,79f8,79fb,79fc,7a00,7a00,7a02,7a03,7a05,7a05,7a07,7a0e,7a11,7a11,7a14,7a15,7a17,7a1c,7a1e,7a21,7a27,7a27,7a2b,7a2b,7a2d,7a32,7a34,7a35,7a37,7a40,7a42,7a49,7a4c,7a50,7a55,7a57,7a59,7a59,7a5c,7a5d,7a5f,7a63,7a65,7a65,7a67,7a67,7a69,7a6b,7a6d,7a6d,7a70,7a70,7a74,7a76,7a78,7a7a,7a7d,7a86,7a88,7a88,7a8a,7a8b,7a90,7a98,7a9e,7aa0,7aa3,7aa3,7aa9,7aaa,7aac,7aac,7aae,7ab0,7ab3,7ab3,7ab5,7ab6,7ab9,7abf,7ac3,7acf,7ad1,7ad3,7ad5,7ad5,7ad9,7add,7adf,7ae3,7ae5,7aed,7aef,7af1,7af4,7af4,7af6,7af6,7af8,7afb,7afd,7aff,7b02,7b02,7b04,7b04,7b06,7b08,7b0a,7b0b,7b0f,7b0f,7b11,7b12,7b14,7b14,7b18,7b19,7b1b,7b1b,7b1e,7b20,7b23,7b23,7b25,7b31,7b33,7b36,7b39,7b39,7b3b,7b3b,7b3d,7b3d,7b3f,7b41,7b45,7b49,7b4b,7b56,7b5d,7b5d,7b60,7b60,7b64,7b67,7b69,7b6a,7b6c,7b75,7b77,7b77,7b79,7b7a,7b7f,7b7f,7b84,7b84,7b86,7b87,7b89,7b89,7b8b,7b8b,7b8d,7b92,7b94,7ba1,7ba5,7ba5,7baa,7baa,7bac,7bad,7baf,7bb2,7bb4,7bb6,7bb8,7bb8,7bba,7bbd,7bc0,7bc2,7bc4,7bcc,7bcf,7bcf,7bd4,7bd4,7bd6,7bd7,7bd9,7bdb,7bdd,7bdd,7be0,7be0,7be4,7be6,7be8,7bea,7bed,7bed,7bf0,7bf0,7bf2,7bfa,7bfc,7bfc,7bfe,7bfe,7c00,7c04,7c06,7c07,7c09,7c09,7c0b,7c0f,7c11,7c14,7c17,7c17,7c19,7c19,7c1b,7c1b,7c1e,7c21,7c23,7c23,7c25,7c28,7c2a,7c2c,7c2f,7c2f,7c31,7c31,7c33,7c34,7c36,7c3a,7c3d,7c40,7c42,7c43,7c45,7c46,7c4a,7c4a,7c4c,7c4d,7c4f,7c61,7c63,7c65,7c67,7c67,7c69,7c69,7c6c,7c70,7c72,7c73,7c75,7c75,7c79,7c79,7c7b,7c7e,7c81,7c83,7c86,7c87,7c89,7c89,7c8b,7c8b,7c8d,7c8d,7c8f,7c90,7c92,7c92,7c94,7c95,7c97,7c98,7c9b,7c9b,7c9e,7ca2,7ca4,7ca8,7cab,7cab,7cad,7cae,7cb0,7cb3,7cb6,7cb7,7cb9,7cc0,7cc2,7cc2,7cc4,7cc5,7cc7,7cca,7ccd,7ccf,7cd2,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce7,7ce9,7ce9,7ceb,7ceb,7cef,7cef,7cf2,7cf2,7cf4,7cf6,7cf8,7cfb,7cfe,7cfe,7d00,7d00,7d02,7d0b,7d0d,7d0d,7d0f,7d1e,7d20,7d23,7d26,7d26,7d2a,7d33,7d35,7d35,7d39,7d3a,7d3c,7d48,7d4b,7d51,7d53,7d53,7d55,7d57,7d59,7d5e,7d61,7d63,7d65,7d68,7d6a,7d6a,7d6e,7d6e,7d70,7d73,7d75,7d76,7d78,7d7b,7d7d,7d7d,7d7f,7d7f,7d81,7d83,7d85,7d86,7d88,7d89,7d8b,7d8d,7d8f,7d8f,7d91,7d91,7d93,7d93,7d96,7d97,7d99,7da0,7da2,7da3,7da6,7da7,7daa,7dbb,7dbd,7dc0,7dc2,7dc7,7dca,7dd2,7dd5,7dda,7ddc,7dde,7de0,7de6,7de8,7ded,7def,7def,7df1,7df2,7df4,7df6,7df9,7dfb,7e00,7e01,7e04,7e05,7e08,7e0b,7e10,7e12,7e15,7e15,7e17,7e17,7e1b,7e23,7e26,7e28,7e2b,7e2f,7e31,7e33,7e35,7e37,7e39,7e3b,7e3d,7e3f,7e41,7e41,7e43,7e48,7e4a,7e4b,7e4d,7e4e,7e50,7e50,7e52,7e52,7e54,7e56,7e58,7e5a,7e5d,7e5f,7e61,7e62,7e65,7e67,7e69,7e6b,7e6d,7e70,7e73,7e73,7e75,7e75,7e78,7e79,7e7b,7e7f,7e81,7e83,7e86,7e8a,7e8c,7e96,7e98,7e98,7e9a,7e9f,7f36,7f36,7f38,7f38,7f3a,7f3f,7f43,7f45,7f47,7f47,7f4c,7f55,7f58,7f58,7f5b,7f5d,7f5f,7f61,7f63,7f6b,7f6d,7f6e,7f70,7f72,7f75,7f75,7f77,7f79,7f7d,7f80,7f82,7f83,7f85,7f88,7f8a,7f91,7f94,7f94,7f96,7f97,7f9a,7f9a,7f9c,7f9e,7fa1,7fa4,7fa6,7fa6,7fa8,7faa,7fad,7faf,7fb2,7fb2,7fb4,7fb4,7fb6,7fb6,7fb8,7fb9,7fbc,7fbd,7fbf,7fc1,7fc3,7fc3,7fc5,7fc6,7fc8,7fc8,7fca,7fca,7fcc,7fcc,7fce,7fcf,7fd2,7fd2,7fd4,7fd5,7fdb,7fdb,7fdf,7fe1,7fe3,7fe3,7fe5,7fe6,7fe8,7fe9,7feb,7fec,7fee,7ff0,7ff2,7ff3,7ff9,8008,800a,8019,801c,8021,8024,8024,8026,8026,8028,8028,802c,802c,802e,802e,8030,8030,8033,8037,8039,8040,8043,8044,8046,8046,804a,804a,8052,8052,8056,8056,8058,8058,805a,805a,805e,8062,8064,8064,8066,8066,8068,8068,806d,806d,806f,8077,8079,8079,807b,807b,807d,8081,8084,8089,808b,808c,808e,808e,8093,8093,8096,8096,8098,809e,80a1,80a2,80a4,80a7,80a9,80ad,80af,80af,80b1,80b2,80b4,80b4,80b8,80ba,80c3,80c6,80c8,80c8,80ca,80ca,80cc,80cf,80d2,80d2,80d4,80db,80dd,80de,80e0,80e1,80e4,80e6,80ed,80fe,8101,8103,8105,810b,810d,810d,8116,8118,811a,811c,811e,811e,8120,8120,8123,8124,8127,8127,8129,8129,812b,812c,812f,8131,8133,8133,8135,8135,8139,813a,813c,813e,8141,8141,8145,8147,814a,814c,814e,814e,8150,8155,8157,8157,815f,8161,8165,8169,816b,816b,816d,8171,8173,8174,8177,817a,817f,8186,8188,8188,818a,818b,818e,8190,8193,8193,8195,8196,8198,8198,819a,819e,81a0,81a0,81a2,81a4,81a8,81a9,81ae,81ae,81b0,81b0,81b2,81b5,81b8,81b8,81ba,81bb,81bd,81c3,81c5,81c6,81c8,81cb,81cd,81cf,81d1,81d1,81d3,81d3,81d5,81db,81dd,81e1,81e3,81e5,81e7,81e8,81ea,81ed,81ef,81f6,81f8,8205,8207,8210,8212,8214,8216,821f,8221,8222,8228,822c,822e,822e,8232,823a,823c,823c,8240,8240,8243,8247,8249,8249,824b,824b,824e,824f,8251,8251,8256,825a,825c,825d,825f,8260,8262,8264,8266,8268,826a,826b,826d,826f,8271,8272,8274,8274,8276,8279,827b,827b,827d,8281,8283,8284,8287,8287,8289,828b,828d,828e,8291,8294,8296,8296,8298,829b,829d,829d,829f,82a1,82a3,82b4,82b7,82bf,82c5,82c6,82d0,82d5,82d7,82d7,82d9,82dc,82de,82e8,82ea,82eb,82ed,82ed,82ef,82ef,82f1,82f1,82f3,82f4,82f6,82f7,82f9,82fb,82fd,82fe,8300,830c,830e,830e,8316,8318,831b,831f,8321,8323,8328,8328,832b,833a,833c,833d,8340,8340,8342,8347,8349,834a,834d,8358,835a,835a,8362,8363,8370,8370,8373,8373,8375,8375,8377,8378,837b,837d,837f,8380,8382,8382,8384,8387,8389,838a,838d,838e,8392,8396,8398,83a0,83a2,83a2,83a6,83ad,83b1,83b1,83b5,83b5,83bd,83c1,83c5,83c5,83c7,83c7,83c9,83ca,83cc,83cc,83ce,83d1,83d3,83d4,83d6,83d6,83d8,83d8,83dc,83dd,83df,83e1,83e5,83e5,83e8,83eb,83ef,83f2,83f4,83f4,83f6,83f9,83fb,83fd,8401,8401,8403,8404,8406,8407,840a,840f,8411,8411,8413,8413,8415,8415,8417,8417,8419,8419,8420,8420,8422,8422,8429,842a,842c,842c,842f,842f,8431,8431,8435,8435,8438,8439,843c,843d,8445,844a,844d,844f,8451,8452,8456,845c,845f,8467,8469,8471,8473,847a,847c,847d,8481,8482,8484,8485,848b,848b,8490,8490,8492,8495,8497,8497,8499,8499,849c,849c,849e,849f,84a1,84a1,84a6,84a6,84a8,84aa,84ad,84ad,84af,84af,84b1,84b2,84b4,84b4,84b8,84c2,84c4,84c4,84c6,84d1,84d3,84d3,84d6,84d6,84d9,84da,84dc,84dc,84e7,84e7,84ea,84ea,84ec,84ec,84ee,84f2,84f4,84f4,84f7,84f7,84fa,84fd,84ff,8500,8502,8503,8506,8507,850c,850c,850e,850e,8510,8511,8513,8515,8517,8518,851a,851c,851e,851f,8521,8527,852a,852d,852f,852f,8532,8536,853d,8541,8543,8543,8546,8546,8548,854b,854e,8553,8555,855a,855c,8564,8568,856b,856d,856d,856f,856f,8577,8577,8579,857b,857d,8581,8584,858c,858f,8591,8593,8594,8597,8599,859b,859d,859f,85a0,85a2,85a2,85a4,85b0,85b4,85b4,85b6,85ba,85bc,85bf,85c1,85c2,85c7,85c7,85c9,85cb,85cd,85d0,85d5,85d5,85d8,85da,85dc,85dd,85df,85e1,85e4,85e6,85e8,85ea,85ed,85ed,85f3,85f4,85f6,85f7,85f9,85fc,85fe,8600,8602,8602,8604,8607,860a,860b,860d,860e,8610,8613,8616,861b,861e,861e,8621,8622,8624,8624,8627,8627,8629,8629,862d,862d,862f,8630,8636,8636,8638,863a,863c,863d,863f,8642,8646,8646,864d,864e,8650,8650,8652,8664,8667,8667,8669,8669,866b,866c,866f,866f,8671,8671,8675,8677,8679,867b,867d,867d,8687,868d,8691,8691,8693,8693,8695,8696,8698,8698,869a,869a,869c,869d,86a1,86a1,86a3,86a4,86a6,86ab,86ad,86ad,86af,86b1,86b3,86b9,86bf,86c1,86c3,86c7,86c9,86c9,86cb,86cb,86cd,86ce,86d1,86d2,86d4,86d5,86d7,86d7,86d9,86dc,86de,86e0,86e3,86e7,86e9,86e9,86ec,86ef,86f8,86fe,8700,8700,8702,870b,870d,8714,8718,871a,871c,871c,871e,871f,8721,8723,8725,8725,8728,8729,872e,872f,8731,8732,8734,8734,8737,8737,8739,8740,8743,8743,8745,8745,8749,8749,874b,874e,8751,8751,8753,8753,8755,8755,8757,8759,875d,875d,875f,8761,8763,8766,8768,8768,876a,876a,876e,876f,8771,8772,8774,8774,8776,8776,8778,8778,877b,877c,877f,877f,8782,8789,878b,878e,8790,8790,8793,8793,8795,8795,8797,8799,879e,87a0,87a2,87a3,87a7,87a7,87ab,87af,87b1,87b1,87b3,87b3,87b5,87b5,87ba,87bb,87bd,87c1,87c4,87c4,87c6,87cb,87ce,87ce,87d0,87d0,87d2,87d2,87d5,87d6,87d9,87da,87dc,87dc,87df,87e0,87e2,87e6,87ea,87ed,87ef,87ef,87f1,87f3,87f5,87fb,87fe,87ff,8801,8801,8803,8803,8805,8807,8809,880b,880d,8816,8818,881c,881e,881f,8821,8823,8827,8828,882d,882e,8830,8832,8835,8836,8839,883c,8840,8846,8848,884e,8851,8853,8855,8864,8868,8869,886b,886b,886e,8872,8875,8875,8877,8877,8879,8879,887b,887b,887d,8882,8888,8888,888b,888b,888d,888d,8892,8892,8896,889c,889e,88a0,88a2,88a2,88a4,88a4,88a8,88a8,88aa,88ab,88ae,88ae,88b0,88b1,88b4,88b5,88b7,88b7,88ba,88ba,88bc,88c6,88ca,88cf,88d1,88d5,88d8,88d9,88db,88e1,88e7,88e8,88ef,88f5,88f7,88f9,88fc,88fe,8901,8902,8904,8904,8906,8907,890a,890a,890c,8910,8912,8913,8915,8916,8918,891a,891c,891e,8920,8920,8925,8928,892a,892b,8930,8932,8935,893b,893e,893e,8940,8946,8949,8949,894c,894d,894f,894f,8952,8952,8956,8957,895a,895c,895e,8964,8966,8966,896a,896b,896d,8970,8972,8975,8977,8977,897a,8981,8983,8983,8986,898b,898d,898d,898f,8990,8993,8998,899a,899c,899f,89a1,89a5,89a7,89a9,89aa,89ac,89ac,89af,89b0,89b2,89b7,89ba,89ba,89bc,89bd,89bf,89c1,89d2,89d2,89d4,89d8,89da,89da,89dc,89dd,89e3,89e3,89e5,89e7,89e9,89e9,89eb,89eb,89ed,89ed,89f1,89f1,89f3,89f4,89f6,89f6,89f8,89f9,89fd,89fd,89ff,8a05,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a18,8a1b,8a1b,8a1d,8a26,8a2a,8a2d,8a2f,8a2f,8a31,8a31,8a33,8a37,8a3a,8a3e,8a40,8a41,8a43,8a43,8a45,8a49,8a4d,8a4e,8a50,8a58,8a5b,8a5e,8a60,8a63,8a65,8a67,8a69,8a69,8a6b,8a6e,8a70,8a73,8a75,8a77,8a79,8a7c,8a7e,8a80,8a82,8a87,8a89,8a89,8a8b,8a8d,8a8f,8a93,8a95,8a9a,8a9e,8aa1,8aa3,8aaa,8aac,8ab0,8ab2,8ab3,8ab6,8ab7,8ab9,8ab9,8abb,8abc,8abe,8abf,8ac2,8ac4,8ac6,8acd,8acf,8ad7,8ada,8ae2,8ae4,8ae4,8ae6,8ae7,8aeb,8aee,8af0,8af1,8af3,8af8,8afa,8afa,8afc,8afc,8afe,8b02,8b04,8b07,8b0a,8b11,8b14,8b14,8b16,8b17,8b19,8b21,8b26,8b26,8b28,8b28,8b2b,8b2d,8b30,8b30,8b33,8b33,8b37,8b37,8b39,8b39,8b3c,8b3c,8b3e,8b3e,8b41,8b46,8b48,8b49,8b4c,8b4f,8b51,8b54,8b56,8b56,8b58,8b5c,8b5e,8b5f,8b63,8b63,8b66,8b66,8b69,8b69,8b6b,8b6d,8b6f,8b72,8b74,8b74,8b76,8b79,8b7c,8b81,8b83,8b85,8b8a,8b90,8b92,8b96,8b99,8b9a,8b9c,8ba0,8c37,8c3a,8c3d,8c3f,8c41,8c41,8c45,8c4c,8c4e,8c51,8c53,8c55,8c57,8c5b,8c5d,8c5d,8c61,8c64,8c66,8c66,8c68,8c6d,8c73,8c73,8c75,8c76,8c78,8c7c,8c7e,8c7e,8c82,8c82,8c85,8c87,8c89,8c8e,8c90,8c90,8c92,8c94,8c98,8c99,8c9b,8ca2,8ca4,8ca4,8ca7,8cb0,8cb2,8cb4,8cb6,8cbd,8cbf,8ccb,8ccd,8ccf,8cd1,8cd3,8cd5,8cd6,8cd9,8cde,8ce0,8ce4,8ce6,8ce6,8ce8,8ce8,8cea,8cea,8cec,8ced,8cef,8cf2,8cf4,8cf5,8cf7,8cf8,8cfa,8cff,8d01,8d01,8d03,8d05,8d07,8d0b,8d0d,8d10,8d12,8d14,8d16,8d17,8d1b,8d1d,8d64,8d67,8d69,8d69,8d6b,8d6e,8d70,8d71,8d73,8d74,8d76,8d77,8d7f,8d7f,8d81,8d82,8d84,8d85,8d88,8d88,8d8a,8d8a,8d8d,8d8d,8d90,8d91,8d95,8d95,8d99,8d99,8d9e,8da0,8da3,8da3,8da6,8da6,8da8,8da8,8dab,8dac,8daf,8daf,8db2,8db3,8db5,8db5,8db7,8db7,8db9,8dbc,8dbe,8dbe,8dc0,8dc0,8dc2,8dc2,8dc5,8dc8,8dca,8dcc,8dce,8dcf,8dd1,8dd1,8dd4,8dd7,8dd9,8ddb,8ddd,8ddd,8ddf,8ddf,8de1,8de1,8de3,8de5,8de7,8de8,8dea,8dec,8def,8df5,8dfc,8dfd,8dff,8dff,8e01,8e01,8e04,8e06,8e08,8e0c,8e0f,8e11,8e14,8e14,8e16,8e16,8e1d,8e23,8e26,8e27,8e2a,8e2a,8e30,8e31,8e33,8e39,8e3d,8e3d,8e40,8e42,8e44,8e44,8e47,8e50,8e54,8e55,8e59,8e59,8e5b,8e64,8e69,8e69,8e6c,8e6d,8e6f,8e72,8e74,8e77,8e79,8e7c,8e81,8e85,8e87,8e87,8e89,8e8b,8e8d,8e8d,8e90,8e95,8e98,8e9b,8e9d,8e9e,8ea1,8ea2,8ea7,8ea7,8ea9,8eb1,8eb3,8eb3,8eb5,8eb6,8eba,8ebb,8ebe,8ebe,8ec0,8ec1,8ec3,8ec8,8eca,8ecd,8ecf,8ecf,8ed1,8ed2,8ed4,8ed4,8edb,8edc,8edf,8edf,8ee2,8ee3,8ee8,8ee8,8eeb,8eeb,8eed,8eee,8ef0,8ef1,8ef7,8efe,8f00,8f00,8f02,8f03,8f05,8f05,8f07,8f0a,8f0c,8f0c,8f0f,8f10,8f12,8f19,8f1b,8f21,8f23,8f23,8f25,8f2f,8f33,8f3b,8f3e,8f47,8f49,8f4a,8f4c,8f4f,8f51,8f55,8f57,8f58,8f5c,8f5f,8f61,8f66,8f9b,8fa8,8fad,8fb2,8fb4,8fb8,8fba,8fbc,8fbe,8fc2,8fc4,8fc6,8fc8,8fc8,8fca,8fcb,8fcd,8fce,8fd0,8fd5,8fda,8fda,8fe0,8fe0,8fe2,8fe6,8fe8,8feb,8fed,8ff1,8ff4,8ffb,8ffd,8ffe,9000,9006,9008,9008,900b,9011,9013,901b,901d,9023,9027,902a,902c,902f,9031,9039,903c,903c,903e,903f,9041,9045,9047,9047,9049,9056,9058,9059,905b,905e,9060,9063,9065,9069,906c,9070,9072,9072,9074,907a,907c,907d,907f,9085,9087,908c,908e,9091,9095,9095,9097,9099,909b,909b,90a0,90a3,90a5,90a6,90a8,90a8,90aa,90aa,90af,90b6,90b8,90b8,90bd,90be,90c1,90c1,90c3,90c5,90c7,90ca,90cc,90cc,90ce,90ce,90d2,90d2,90d5,90d5,90d7,90d9,90db,90df,90e1,90e2,90e4,90e5,90e8,90e8,90eb,90eb,90ed,90ed,90ef,90f0,90f2,90f2,90f4,90f7,90fd,9100,9102,9102,9104,9106,9108,9108,910d,910d,9110,9110,9112,9112,9114,911a,911c,911c,911e,911e,9120,9120,9122,9123,9125,9125,9127,9127,9129,9129,912d,9132,9134,9134,9136,9137,9139,913a,913c,913d,9143,9143,9146,914f,9152,9154,9156,915b,9161,9165,9167,9167,9169,916a,916c,916d,9172,9175,9177,917b,9181,9183,9185,9187,9189,918b,918d,918e,9190,9195,9197,9198,919c,919c,919e,919e,91a1,91a2,91a4,91a4,91a6,91a6,91a8,91a8,91aa,91b6,91b8,91b8,91ba,91bd,91bf,91c9,91cb,91d1,91d3,91d4,91d6,91df,91e1,91e1,91e3,91e7,91e9,91ea,91ec,91f1,91f5,91f7,91f9,91f9,91fb,91fd,91ff,9201,9204,9207,9209,920a,920c,920e,9210,9218,921c,921e,9223,9226,9228,9229,922c,922c,922e,9230,9233,923a,923c,923c,923e,9240,9242,924b,924d,9251,9256,925e,9260,9262,9264,9269,926e,9271,9275,9279,927b,9280,9283,9283,9285,9285,9288,928a,928d,928e,9291,9293,9295,929c,929f,92a0,92a4,92a5,92a7,92a8,92ab,92ab,92ad,92ad,92af,92af,92b2,92b3,92b6,92bd,92bf,92c3,92c5,92c8,92cb,92d0,92d2,92d3,92d5,92d5,92d7,92d9,92dc,92dd,92df,92e1,92e3,92e5,92e7,92ea,92ec,92ee,92f0,92f0,92f2,92f3,92f7,92fc,92ff,9300,9302,9302,9304,9304,9306,9306,9308,9308,930d,930d,930f,9311,9314,9315,9318,931a,931c,932c,932e,932f,9332,9337,933a,933b,9344,9344,9347,934b,934d,934d,9350,9352,9354,9358,935a,935c,935e,935e,9360,9360,9364,9365,9367,9367,9369,9371,9373,9376,937a,937a,937c,9382,9388,9388,938a,938d,938f,938f,9392,9392,9394,9398,939a,939b,939e,939e,93a1,93a1,93a3,93a4,93a6,93a9,93ab,93ae,93b0,93b0,93b4,93b6,93b9,93bb,93c1,93c1,93c3,93cd,93d0,93d1,93d3,93d3,93d6,93d9,93dc,93df,93e1,93e2,93e4,93e8,93f1,93f1,93f5,93f5,93f7,93fb,93fd,93fd,9401,9404,9407,9409,940d,9410,9413,941a,941f,941f,9421,9421,942b,942b,942e,942f,9431,9436,9438,9438,943a,943b,943d,943d,943f,943f,9441,9441,9443,9445,9448,9448,944a,944a,944c,944c,9451,9453,9455,9455,9459,945c,945e,9463,9468,9468,946a,946b,946d,9472,9475,9475,9477,9477,947c,947f,9481,9481,9483,9485,9577,9579,957e,9580,9582,9584,9586,958f,9591,9594,9596,9596,9598,9599,959d,95a9,95ab,95ad,95b1,95b2,95b4,95b4,95b6,95b6,95b9,95bf,95c3,95c3,95c6,95cd,95d0,95d6,95d8,95da,95dc,95e2,95e4,95e6,95e8,95e8,961c,961e,9621,9622,9624,9626,9628,9628,962a,962a,962c,962c,962e,962f,9631,9634,9637,963d,963f,9642,9644,9644,964b,964d,964f,9650,9652,9652,9654,9654,9656,9658,965b,965f,9661,9666,966a,966a,966c,966c,966e,966e,9670,9670,9672,9678,967a,967f,9681,9686,9688,968b,968d,968f,9691,9691,9694,969d,969f,96a0,96a3,96aa,96ae,96b4,96b6,96bd,96c0,96c1,96c4,96c7,96c9,96ce,96d1,96d2,96d5,96d6,96d8,96df,96e2,96e3,96e8,96eb,96ef,96f2,96f6,96f7,96f9,96fb,9700,9700,9702,970a,970d,970f,9711,9711,9713,9714,9716,9716,9719,971e,9721,9724,9727,9728,972a,972a,9730,9733,9736,9736,9738,9739,973b,973b,973d,973e,9741,9744,9746,974a,974d,974f,9751,9752,9755,975c,975e,975e,9760,9764,9766,976b,976d,976e,9771,9771,9773,9774,9776,977d,977f,9781,9784,9786,9789,9789,978b,978b,978d,978d,978f,9790,9795,979a,979c,979c,979e,97a0,97a2,97a3,97a6,97a6,97a8,97a8,97ab,97ae,97b1,97b6,97b8,97ba,97bc,97bc,97be,97bf,97c1,97c1,97c3,97ce,97d0,97d1,97d3,97d4,97d7,97d9,97db,97de,97e0,97e1,97e4,97e4,97e6,97e6,97ed,97ef,97f1,97f8,97fa,97fb,97ff,97ff,9801,9808,980a,980a,980c,9814,9816,981a,981c,981c,981e,981e,9820,9821,9823,9826,982b,9830,9832,9835,9837,9839,983b,983e,9844,9844,9846,9847,984a,984f,9851,985b,985e,985e,9862,9863,9865,9867,986a,986c,986f,9871,9873,9875,98a8,98a8,98aa,98ab,98ad,98b1,98b4,98b4,98b6,98b8,98ba,98bc,98bf,98bf,98c2,98c8,98cb,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98eb,98ed,98f4,98f6,98f6,98fc,98fe,9902,9903,9905,9905,9907,990a,990c,990c,9910,9918,991a,9922,9924,9924,9926,9928,992b,992c,992e,992e,9931,9935,9939,993e,9940,9942,9945,9949,994b,994e,9950,9952,9954,9955,9957,9959,995b,995c,995e,9960,9963,9963,9996,9999,999b,999b,999d,999f,99a3,99a3,99a5,99a6,99a8,99a8,99ac,99ae,99b0,99b5,99b9,99ba,99bc,99bd,99bf,99bf,99c1,99c1,99c3,99c6,99c8,99c9,99d0,99d5,99d8,99df,99e1,99e2,99e7,99e7,99ea,99ee,99f0,99f2,99f4,99f5,99f8,99f9,99fb,99ff,9a01,9a05,9a08,9a08,9a0a,9a0c,9a0e,9a13,9a16,9a16,9a19,9a1a,9a1e,9a1e,9a20,9a20,9a22,9a24,9a27,9a28,9a2b,9a2b,9a2d,9a2e,9a30,9a31,9a33,9a33,9a35,9a38,9a3e,9a3e,9a40,9a45,9a47,9a47,9a4a,9a4e,9a51,9a52,9a54,9a58,9a5a,9a5b,9a5d,9a5d,9a5f,9a5f,9a62,9a62,9a64,9a65,9a69,9a6c,9aa8,9aa8,9aaa,9aaa,9aac,9ab0,9ab2,9ab2,9ab4,9ab9,9abb,9ac1,9ac3,9ac4,9ac6,9ac6,9ac8,9ac8,9ace,9ad9,9adb,9adc,9ade,9ae0,9ae2,9ae7,9ae9,9aef,9af1,9af5,9af7,9af7,9af9,9afb,9afd,9afd,9aff,9b06,9b08,9b09,9b0b,9b0e,9b10,9b10,9b12,9b12,9b16,9b16,9b18,9b1d,9b1f,9b20,9b22,9b23,9b25,9b2f,9b31,9b35,9b37,9b37,9b39,9b3d,9b41,9b45,9b48,9b48,9b4b,9b4f,9b51,9b51,9b54,9b58,9b5a,9b5b,9b5e,9b5e,9b61,9b61,9b63,9b63,9b65,9b66,9b68,9b68,9b6a,9b6f,9b72,9b79,9b7f,9b80,9b83,9b87,9b89,9b8b,9b8d,9b94,9b96,9b97,9b9a,9b9a,9b9d,9ba0,9ba6,9bae,9bb0,9bb2,9bb4,9bb4,9bb7,9bb9,9bbb,9bbc,9bbe,9bc1,9bc6,9bca,9bce,9bd2,9bd4,9bd4,9bd6,9bd8,9bdb,9bdb,9bdd,9bdd,9bdf,9bdf,9be1,9be5,9be7,9be8,9bea,9beb,9bee,9bf3,9bf5,9bf5,9bf7,9bfa,9bfd,9bfd,9bff,9c00,9c02,9c02,9c04,9c04,9c06,9c06,9c08,9c0d,9c0f,9c16,9c18,9c1e,9c21,9c2a,9c2d,9c32,9c35,9c37,9c39,9c3b,9c3d,9c3e,9c41,9c41,9c43,9c4a,9c4e,9c50,9c52,9c54,9c56,9c58,9c5a,9c61,9c63,9c63,9c65,9c65,9c67,9c6b,9c6d,9c6e,9c70,9c70,9c72,9c72,9c75,9c78,9c7a,9c7c,9ce5,9ce7,9ce9,9ce9,9ceb,9cec,9cf0,9cf0,9cf2,9cf4,9cf6,9cf7,9cf9,9cf9,9d02,9d03,9d06,9d09,9d0b,9d0b,9d0e,9d0e,9d11,9d12,9d15,9d15,9d17,9d18,9d1b,9d1f,9d23,9d23,9d26,9d26,9d28,9d28,9d2a,9d2c,9d2f,9d30,9d32,9d34,9d3a,9d3f,9d41,9d48,9d4a,9d4a,9d50,9d54,9d59,9d59,9d5c,9d65,9d69,9d6c,9d6f,9d70,9d72,9d73,9d76,9d77,9d7a,9d7c,9d7e,9d7e,9d83,9d84,9d86,9d87,9d89,9d8a,9d8d,9d8f,9d92,9d93,9d95,9d9a,9da1,9da1,9da4,9da4,9da9,9dac,9dae,9daf,9db1,9db2,9db4,9db5,9db8,9dbd,9dbf,9dc4,9dc6,9dc7,9dc9,9dca,9dcf,9dcf,9dd3,9dd7,9dd9,9dda,9dde,9de0,9de3,9de3,9de5,9de7,9de9,9de9,9deb,9deb,9ded,9df0,9df2,9df4,9df8,9dfa,9dfd,9dfe,9e02,9e02,9e07,9e07,9e0a,9e0a,9e0d,9e0e,9e10,9e12,9e15,9e16,9e19,9e1f,9e75,9e75,9e78,9e7d,9e7f,9e85,9e87,9e88,9e8b,9e8c,9e8e,9e8f,9e91,9e93,9e95,9e98,9e9b,9e9b,9e9d,9e9f,9ea4,9ea6,9ea8,9eaa,9eac,9eb0,9eb3,9eb5,9eb8,9ebf,9ec3,9ec4,9ec6,9ec6,9ec8,9ec8,9ecb,9ed2,9ed4,9ed5,9ed8,9ed9,9edb,9ee0,9ee4,9ee5,9ee7,9ee8,9eec,9ef2,9ef4,9ef9,9efb,9eff,9f02,9f03,9f07,9f09,9f0e,9f17,9f19,9f1b,9f1f,9f22,9f26,9f26,9f2a,9f2c,9f2f,9f2f,9f31,9f32,9f34,9f34,9f37,9f37,9f39,9f3f,9f41,9f41,9f43,9f47,9f4a,9f4b,9f4e,9f50,9f52,9f58,9f5a,9f5a,9f5d,9f63,9f66,9f6a,9f6c,9f73,9f75,9f77,9f7a,9f7a,9f7d,9f7d,9f7f,9f7f,9f8d,9f8d,9f8f,9f92,9f94,9f97,9f99,9f99,9f9c,9fa3,9fa5,9fa5,9fb4,9fb4,9fbc,9fc2,9fc4,9fc4,9fc6,9fc6,9fcc,9fcc,f900,f959,f95b,f9f2,f9f4,fa0b,fa0e,fa6d,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,2000b,2000b,20089,2008a,200a2,200a2,200a4,200a4,200b0,200b0,200f5,200f5,20158,20158,201a2,201a2,20213,20213,2032b,2032b,20371,20371,20381,20381,203f9,203f9,2044a,2044a,20509,20509,2053f,2053f,205b1,205b1,205d6,205d6,20611,20611,20628,20628,206ec,206ec,2074f,2074f,207c8,207c8,20807,20807,2083a,2083a,208b9,208b9,2090e,2090e,2097c,2097c,20984,20984,2099d,2099d,20a64,20a64,20ad3,20ad3,20b1d,20b1d,20b9f,20b9f,20bb7,20bb7,20d45,20d45,20d58,20d58,20de1,20de1,20e64,20e64,20e6d,20e6d,20e95,20e95,20f5f,20f5f,21201,21201,2123d,2123d,21255,21255,21274,21274,2127b,2127b,212d7,212d7,212e4,212e4,212fd,212fd,2131b,2131b,21336,21336,21344,21344,213c4,213c4,2146d,2146e,215d7,215d7,21647,21647,216b4,216b4,21706,21706,21742,21742,218bd,218bd,219c3,219c3,21a1a,21a1a,21c56,21c56,21d2d,21d2d,21d45,21d45,21d62,21d62,21d78,21d78,21d92,21d92,21d9c,21d9c,21da1,21da1,21db7,21db7,21de0,21de0,21e33,21e34,21f1e,21f1e,21f76,21f76,21ffa,21ffa,2217b,2217b,22218,22218,2231e,2231e,223ad,223ad,22609,22609,226f3,226f3,2285b,2285b,228ab,228ab,2298f,2298f,22ab8,22ab8,22b46,22b46,22b4f,22b50,22ba6,22ba6,22c1d,22c1d,22c24,22c24,22de1,22de1,22e42,22e42,22feb,22feb,231b6,231b6,231c3,231c4,231f5,231f5,23372,23372,233cc,233cc,233d0,233d0,233d2,233d3,233d5,233d5,233da,233da,233df,233df,233e4,233e4,233fe,233fe,2344a,2344b,23451,23451,23465,23465,234e4,234e4,2355a,2355a,23594,23594,235c4,235c4,23638,2363a,23647,23647,2370c,2370c,2371c,2371c,2373f,2373f,23763,23764,237e7,237e7,237f1,237f1,237ff,237ff,23824,23824,2383d,2383d,23a98,23a98,23c7f,23c7f,23cbe,23cbe,23cfe,23cfe,23d00,23d00,23d0e,23d0e,23d40,23d40,23dd3,23dd3,23df9,23dfa,23f7e,23f7e,2404b,2404b,24096,24096,24103,24103,241c6,241c6,241fe,241fe,242ee,242ee,243bc,243bc,243d0,243d0,24629,24629,246a5,246a5,247f1,247f1,24896,24896,248e9,248e9,24a4d,24a4d,24b56,24b56,24b6f,24b6f,24c16,24c16,24d14,24d14,24e04,24e04,24e0e,24e0e,24e37,24e37,24e6a,24e6a,24e8b,24e8b,24ff2,24ff2,2504a,2504a,25055,25055,25122,25122,251a9,251a9,251cd,251cd,251e5,251e5,2521e,2521e,2524c,2524c,2542e,2542e,2548e,2548e,254d9,254d9,2550e,2550e,255a7,255a7,2567f,2567f,25771,25771,257a9,257a9,257b4,257b4,25874,25874,259c4,259c4,259cc,259cc,259d4,259d4,25ad7,25ad7,25ae3,25ae4,25af1,25af1,25bb2,25bb2,25c4b,25c4b,25c64,25c64,25da1,25da1,25e2e,25e2e,25e56,25e56,25e62,25e62,25e65,25e65,25ec2,25ec2,25ed8,25ed8,25ee8,25ee8,25f23,25f23,25f5c,25f5c,25fd4,25fd4,25fe0,25fe0,25ffb,25ffb,2600c,2600c,26017,26017,26060,26060,260ed,260ed,26222,26222,2626a,2626a,26270,26270,26286,26286,2634c,2634c,26402,26402,2667e,2667e,266b0,266b0,2671d,2671d,268dd,268dd,268ea,268ea,26951,26951,2696f,2696f,26999,26999,269dd,269dd,26a1e,26a1e,26a58,26a58,26a8c,26a8c,26ab7,26ab7,26aff,26aff,26c29,26c29,26c73,26c73,26c9e,26c9e,26cdd,26cdd,26e40,26e40,26e65,26e65,26f94,26f94,26ff6,26ff8,270f4,270f4,2710d,2710d,27139,27139,273da,273db,273fe,273fe,27410,27410,27449,27449,27614,27615,27631,27631,27684,27684,27693,27693,2770e,2770e,27723,27723,27752,27752,278b2,278b2,27985,27985,279b4,279b4,27a84,27a84,27bb3,27bb3,27bbe,27bbe,27bc7,27bc7,27c3c,27c3c,27cb8,27cb8,27d73,27d73,27da0,27da0,27e10,27e10,27eaf,27eaf,27fb7,27fb7,2808a,2808a,280bb,280bb,28277,28277,28282,28282,282f3,282f3,283cd,283cd,2840c,2840c,28455,28455,284dc,284dc,2856b,2856b,285c8,285c9,286d7,286d7,286fa,286fa,28946,28946,28949,28949,2896b,2896b,28987,28988,289ba,289bb,28a1e,28a1e,28a29,28a29,28a43,28a43,28a71,28a71,28a99,28a99,28acd,28acd,28add,28add,28ae4,28ae4,28bc1,28bc1,28bef,28bef,28cdd,28cdd,28d10,28d10,28d71,28d71,28dfb,28dfb,28e0f,28e0f,28e17,28e17,28e1f,28e1f,28e36,28e36,28e89,28e89,28eeb,28eeb,28ef6,28ef6,28f32,28f32,28ff8,28ff8,292a0,292a0,292b1,292b1,29490,29490,295cf,295cf,2967f,2967f,296f0,296f0,29719,29719,29750,29750,29810,29810,298c6,298c6,29a72,29a72,29d4b,29d4b,29ddb,29ddb,29e15,29e15,29e3d,29e3d,29e49,29e49,29e8a,29e8a,29ec4,29ec4,29edb,29edb,29ee9,29ee9,29fce,29fce,29fd7,29fd7,2a01a,2a01a,2a02f,2a02f,2a082,2a082,2a0f9,2a0f9,2a190,2a190,2a2b2,2a2b2,2a38c,2a38c,2a437,2a437,2a5f1,2a5f1,2a602,2a602,2a61a,2a61a,2a6b2,2a6b2,2a9e6,2a9e6,2b746,2b746,2b751,2b751,2b753,2b753,2b75a,2b75a,2b75c,2b75c,2b765,2b765,2b776,2b777,2b77c,2b77c,2b782,2b782,2b789,2b789,2b78b,2b78b,2b78e,2b78e,2b794,2b794,2b7ac,2b7ac,2b7af,2b7af,2b7bd,2b7bd,2b7c9,2b7c9,2b7cf,2b7cf,2b7d2,2b7d2,2b7d8,2b7d8,2b7f0,2b7f0,2b80d,2b80d,2b817,2b817,2b81a,2b81a,2d544,2d544,2e278,2e278,2e569,2e569,2e6ea,2e6ea,2f804,2f804,2f80f,2f80f,2f815,2f815,2f818,2f818,2f81a,2f81a,2f822,2f822,2f828,2f828,2f82c,2f82c,2f833,2f833,2f83f,2f83f,2f846,2f846,2f852,2f852,2f862,2f862,2f86d,2f86d,2f873,2f873,2f877,2f877,2f884,2f884,2f899,2f89a,2f8a6,2f8a6,2f8ac,2f8ac,2f8b2,2f8b2,2f8b6,2f8b6,2f8d3,2f8d3,2f8db,2f8dc,2f8e1,2f8e1,2f8e5,2f8e5,2f8ea,2f8ea,2f8ed,2f8ed,2f8fc,2f8fc,2f903,2f903,2f90b,2f90b,2f90f,2f90f,2f91a,2f91a,2f920,2f921,2f945,2f945,2f947,2f947,2f96c,2f96c,2f995,2f995,2f9d0,2f9d0,2f9de,2f9df,2f9f4,2f9f4,30ede,30ede,3106c,3106c,]), - NotoFont.fromFlatList('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a980,a9cd,a9cf,a9d9,a9de,a9df,]), - NotoFont.fromFlatList('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1100,11ff,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,349a,349a,34d7,34d7,3515,3515,3521,3521,353e,353e,35ff,35ff,366f,366f,36c3,36c5,36e6,36e6,3723,3723,372f,372f,373a,373a,37bc,37bc,380c,380c,3818,3818,3883,3883,38ba,38ba,38e7,38e7,38fd,38fd,3960,3960,3965,3965,3983,3983,3990,3990,39a5,39a5,39b6,39b6,3a39,3a39,3aa4,3aa4,3adc,3adc,3af6,3af6,3b03,3b03,3b23,3b23,3b79,3b79,3bf3,3bf3,3c14,3c14,3c24,3c24,3c2d,3c2d,3cbd,3cbe,3cfc,3cfc,3d17,3d17,3d5f,3d5f,3dbc,3dbc,3dc2,3dc2,3ec4,3ec4,3eed,3eed,3efd,3efd,3f04,3f04,402f,402f,4034,4034,4062,4062,40a9,40a9,40c9,40c9,4137,4137,41ac,41ac,4259,4259,43bb,43bb,43c7,43c7,43e7,43e7,43ea,43ea,4450,4450,4512,4512,45f2,45f2,4618,4618,46b7,46b7,46be,46be,46d4,46d4,46d8,46d8,46dd,46dd,472d,472d,476c,476c,477d,477d,479f,479f,4863,4863,4883,4883,4896,4896,48a6,48a6,4925,4925,499e,499e,49a5,49a5,49cb,49cb,4a12,4a12,4a2d,4a2d,4ab8,4ab8,4adf,4adf,4ae8,4ae8,4afb,4afb,4b53,4b53,4b71,4b71,4cdf,4ce0,4d1b,4d1b,4e00,4e01,4e03,4e03,4e07,4e0b,4e0d,4e0e,4e11,4e11,4e14,4e16,4e18,4e19,4e1e,4e1f,4e24,4e24,4e26,4e26,4e28,4e28,4e2b,4e2d,4e30,4e32,4e36,4e36,4e38,4e39,4e3b,4e3b,4e3f,4e3f,4e42,4e43,4e45,4e45,4e4b,4e4b,4e4d,4e4f,4e56,4e5b,4e5d,4e5f,4e67,4e67,4e6b,4e6d,4e71,4e71,4e73,4e73,4e76,4e77,4e7a,4e7c,4e7e,4e7e,4e80,4e80,4e82,4e82,4e85,4e86,4e88,4e89,4e8b,4e8c,4e8e,4e92,4e94,4e95,4e98,4e99,4e9b,4e9c,4e9e,4ea2,4ea4,4ea6,4ea8,4ea8,4eab,4eae,4eb0,4eb0,4eb3,4eb4,4eb6,4eb6,4eb9,4ebb,4ec0,4ec1,4ec4,4ec4,4ec6,4ec7,4eca,4ecb,4ecd,4ecd,4ed4,4ed9,4edd,4edf,4ee1,4ee1,4ee3,4ee5,4eee,4eee,4ef0,4ef0,4ef2,4ef3,4ef5,4ef7,4efb,4efb,4efd,4efd,4eff,4f01,4f09,4f0b,4f0d,4f11,4f1a,4f1a,4f1d,4f1d,4f2f,4f30,4f34,4f34,4f36,4f36,4f38,4f38,4f3a,4f3a,4f3c,4f3e,4f42,4f43,4f46,4f49,4f4b,4f4b,4f4d,4f51,4f53,4f57,4f59,4f5f,4f69,4f6a,4f6f,4f70,4f73,4f74,4f76,4f76,4f78,4f81,4f83,4f84,4f86,4f86,4f88,4f8b,4f8d,4f92,4f94,4f94,4f96,4f98,4f9a,4f9d,4fae,4faf,4fb2,4fb2,4fb5,4fb6,4fb9,4fb9,4fbb,4fbb,4fbf,4fbf,4fc1,4fc5,4fc9,4fca,4fcc,4fd4,4fd7,4fdb,4fdd,4fe1,4fe3,4fe3,4fee,4ff1,4ff3,4ff6,4ff8,4ff8,4ffa,4ffa,4ffe,4ffe,5000,5000,5002,5002,5005,5007,5009,5009,500b,500b,500d,500d,500f,500f,5011,5014,5016,5016,5018,501a,501c,501c,501e,501f,5021,502e,5030,5030,503b,503b,5043,5044,5047,504a,504e,504f,5053,5053,5055,5056,5058,505a,505c,505c,5060,5060,5062,5062,5065,5066,506a,506a,5070,5070,5072,5072,5074,5076,5078,5078,5080,5080,5083,5083,5085,5085,508b,508b,508d,508d,5091,5092,5094,5094,5096,5096,5098,509b,509d,509e,50a2,50a2,50ac,50ae,50b2,50b5,50b7,50b7,50bd,50bf,50c2,50c2,50c4,50c5,50c9,50ca,50cf,50cf,50d1,50d1,50d4,50d6,50da,50db,50de,50de,50e2,50e2,50e5,50e7,50e9,50e9,50ec,50ee,50f5,50f5,50f9,50f9,50fb,50fb,50fe,5104,5106,5107,5109,5109,510b,510c,5110,5110,5112,5115,5117,5118,511a,511c,511f,511f,5121,5122,5124,5125,5127,5127,512a,512b,5131,5133,5135,5135,5137,513c,513f,5141,5143,5149,514b,514e,5150,5150,5152,5152,5154,5157,515a,515a,515c,515c,5162,5162,5165,5165,5167,516e,5171,5171,5175,5178,517c,517c,5180,5180,5182,5182,5186,5186,5189,518a,518c,518d,518f,518f,5191,5193,5195,5199,519e,519e,51a0,51a0,51a2,51a5,51aa,51ac,51b0,51b2,51b6,51b7,51bd,51be,51c4,51c6,51c9,51cd,51d2,51d2,51d4,51d4,51d6,51d6,51db,51de,51e0,51e1,51e9,51e9,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fd,51fd,5200,5203,5206,5208,520a,520a,520e,520e,5211,5211,5213,5213,5216,5217,521d,521d,5224,5227,5229,522a,522e,522e,5230,5233,5236,523b,5243,5244,5246,5247,5249,524d,5254,5257,525a,525b,525d,525f,5261,5261,5269,526a,526f,526f,5272,5272,5274,5275,5277,5277,527a,527a,527d,527d,527f,527f,5282,5283,5287,5289,528d,528d,5291,5293,5297,5298,529b,529b,529f,52a0,52a3,52a4,52a7,52a7,52a9,52ae,52b9,52b9,52be,52be,52c1,52c1,52c3,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d2,52d2,52d5,52d6,52d8,52d9,52db,52db,52dd,52e4,52e6,52e6,52ed,52ed,52f2,52f3,52f5,52f5,52f8,52fb,52fe,5303,5305,5305,5308,5308,530a,530a,530c,530d,530f,5310,5315,5317,5319,531a,5320,5321,5323,5323,5327,5327,532a,532a,532f,532f,5331,5331,5336,5336,5338,533b,533d,5341,5343,5345,5347,534a,534d,534d,5351,5354,5357,5357,535a,535a,535c,535c,535e,535e,5360,5361,5364,5364,5366,5366,5368,5369,536c,536c,536e,5375,5377,537b,537d,537f,5382,5382,5384,5384,538e,538e,5393,5393,5396,5396,5398,5398,539a,539a,539d,539d,539f,53a0,53a5,53a6,53aa,53aa,53ad,53ae,53b2,53b3,53b6,53b6,53b9,53b9,53bb,53bb,53c2,53c3,53c5,53c5,53c8,53cd,53d4,53d4,53d6,53d7,53d9,53d9,53db,53db,53df,53df,53e1,53e6,53e8,53f8,5401,5401,5403,5404,5408,5411,541b,541b,541d,541d,541f,5420,5426,5426,5429,5429,542b,542c,542e,542e,5431,5431,5433,5433,5436,5436,5438,5439,543b,543e,5440,5440,5442,5442,5446,5446,5448,5448,544a,544a,544e,544e,5451,5451,545d,545d,545f,545f,5462,5462,5464,5464,5466,5466,5468,5468,546a,546b,5470,5471,5473,5473,5475,5476,547b,547d,547f,5480,5484,5484,5486,5487,548b,5490,5496,5496,54a0,54a0,54a2,54a2,54a4,54a5,54a8,54a8,54ab,54ac,54af,54af,54b2,54b3,54b8,54b8,54bb,54bd,54bf,54c4,54c6,54c9,54e1,54e1,54e5,54e6,54e8,54e9,54ed,54ee,54f1,54f2,54fa,54fa,54fd,54fd,54ff,54ff,5504,5504,5506,5507,5509,5509,550e,5510,5514,5514,551c,551c,552b,552b,552e,552f,5531,5531,5533,5533,5535,5535,5539,5539,553c,553c,553e,553e,5540,5540,5542,5542,5544,5544,5546,5546,554a,554a,554f,554f,5553,5553,5556,5557,555c,555c,555e,555e,5563,5563,557b,5581,5583,5584,5586,5587,5589,558b,5591,5591,5593,5594,5598,559a,559c,559f,55a3,55a4,55a7,55ac,55ae,55ae,55b0,55b0,55c3,55c3,55c5,55c5,55c7,55c7,55c9,55c9,55d1,55d1,55d4,55d4,55da,55dc,55df,55e0,55e2,55e4,55f7,55f7,55fd,55ff,5604,5604,5606,5606,5608,5609,560c,5610,5612,5612,5614,5614,5616,5617,5629,5629,562c,562c,562f,562f,5632,5632,5634,5634,5636,5639,563b,563b,563f,563f,5641,5642,5649,5649,564b,564b,564d,564f,5653,5653,5664,5665,5668,566d,566f,566f,5672,5672,5674,5674,5676,5676,5678,5678,567a,567a,5680,5680,5684,5684,5686,5687,568f,568f,5699,569a,56a5,56a5,56a7,56a7,56ac,56ac,56ae,56ae,56b3,56b4,56b6,56b6,56bc,56bc,56c0,56c3,56c8,56ca,56cd,56cd,56d1,56d1,56d7,56d7,56da,56db,56de,56e0,56e3,56e3,56e6,56e7,56eb,56eb,56ed,56ee,56f0,56f0,56f3,56f3,56f7,56f7,56f9,56fa,56fd,56fd,56ff,56ff,5701,5704,5707,570b,570d,570d,5712,5713,5716,5716,5718,5718,571c,571c,571f,571f,5725,5725,5728,572a,572c,572e,5730,5730,573b,573b,573e,573e,5740,5742,5747,5747,574a,574a,574c,5751,5761,5761,5764,5764,5766,576a,576e,5771,5773,5773,5775,5775,5777,5778,577b,577c,5782,5782,5788,5788,578b,578c,5793,5793,5795,5795,579e,579e,57a0,57a0,57a2,57a4,57b8,57b8,57bd,57bd,57c3,57c3,57c6,57c9,57cb,57cb,57ce,57cf,57d1,57d2,57dc,57dc,57df,57e0,57e4,57e4,57e9,57e9,57ed,57ee,57f0,57f0,57f3,57f4,57f6,57f7,57f9,57fd,5800,5800,5802,5806,5808,580b,5817,5817,5819,5819,581d,581e,5820,5821,5823,5824,5826,5827,582a,582a,582d,582d,582f,5831,5834,5835,583a,583a,5840,5840,5849,584d,584f,5852,5854,5854,5857,585a,585e,585e,5861,5862,5864,5864,5869,5869,5875,5875,5879,5879,587c,587e,5880,5881,5883,5883,5885,5885,5889,588a,588c,588d,5890,5890,5893,5893,589c,589f,58a1,58a1,58a3,58a3,58a8,58a9,58ab,58ab,58ae,58ae,58b0,58b1,58b3,58b3,58ba,58bb,58be,58be,58c1,58c1,58c3,58c3,58c5,58c5,58c7,58c7,58ce,58ce,58d1,58d1,58d3,58d5,58d8,58da,58dc,58df,58e1,58e1,58e4,58e4,58eb,58ec,58ee,58f0,58f2,58f2,58f9,58fb,58fd,58fd,5902,5902,5906,5906,5908,5908,590a,590a,590f,5910,5914,5916,5919,591c,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5937,5938,593d,593e,5944,5944,5947,5949,594c,594c,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5960,5962,5962,5967,5967,5969,596e,5972,5974,5976,5976,5978,5978,597d,597d,5982,5984,598a,598a,598c,598d,5991,5993,5996,5997,5999,5999,599d,599d,59a3,59a5,59a7,59a8,59ac,59ac,59af,59af,59b2,59b2,59b5,59b6,59b8,59b9,59bb,59bb,59be,59bf,59c1,59c1,59c3,59c3,59c6,59c6,59c8,59cb,59cd,59cd,59d0,59d4,59d9,59da,59dc,59de,59e2,59e6,59e8,59e8,59ea,59ec,59ee,59ee,59f0,59f0,59f2,59f2,59f7,59fc,59ff,59ff,5a01,5a01,5a03,5a03,5a09,5a0a,5a0d,5a0d,5a11,5a11,5a13,5a13,5a18,5a19,5a1b,5a1c,5a1f,5a20,5a23,5a23,5a25,5a25,5a27,5a27,5a29,5a29,5a2b,5a2b,5a2d,5a2d,5a35,5a36,5a3c,5a3c,5a3f,5a41,5a46,5a47,5a49,5a49,5a4b,5a4c,5a50,5a51,5a5a,5a5a,5a60,5a60,5a62,5a63,5a66,5a67,5a69,5a6a,5a6d,5a6d,5a72,5a72,5a77,5a77,5a7f,5a7f,5a84,5a84,5a8d,5a8d,5a90,5a90,5a92,5a93,5a95,5a95,5a9a,5a9b,5a9e,5a9f,5aa2,5aa2,5aa4,5aa4,5aa7,5aa7,5aaa,5aaa,5ab3,5ab3,5ab5,5ab5,5aba,5abf,5ac1,5ac2,5ac4,5ac4,5ac8,5ac9,5acb,5acc,5ad5,5ad7,5ad9,5adb,5add,5add,5ae0,5ae6,5ae9,5ae9,5aeb,5aeb,5aed,5aef,5af6,5af6,5afa,5afb,5afd,5afd,5b00,5b00,5b05,5b05,5b08,5b09,5b0b,5b0c,5b16,5b16,5b19,5b19,5b1b,5b1b,5b25,5b25,5b28,5b28,5b2a,5b2a,5b2d,5b2d,5b30,5b30,5b32,5b32,5b34,5b34,5b3e,5b40,5b43,5b43,5b45,5b45,5b4c,5b4c,5b50,5b51,5b54,5b58,5b5a,5b5d,5b5f,5b5f,5b61,5b61,5b63,5b66,5b69,5b69,5b6b,5b6b,5b70,5b71,5b75,5b76,5b78,5b78,5b7a,5b7a,5b7c,5b7c,5b7f,5b82,5b85,5b85,5b87,5b8c,5b8f,5b8f,5b93,5b93,5b95,5b9d,5b9f,5b9f,5ba2,5ba6,5bac,5bac,5bae,5bae,5bb0,5bb0,5bb3,5bb6,5bb8,5bb9,5bbf,5bc0,5bc2,5bc7,5bcc,5bcc,5bd0,5bd0,5bd2,5bd4,5bd6,5bd8,5bdb,5bdb,5bde,5bdf,5be1,5be2,5be4,5be9,5beb,5bf0,5bf5,5bf6,5bf8,5bfa,5bff,5bff,5c01,5c01,5c04,5c0f,5c11,5c11,5c14,5c14,5c16,5c16,5c19,5c19,5c1f,5c20,5c22,5c24,5c28,5c28,5c2b,5c2b,5c31,5c31,5c38,5c41,5c45,5c48,5c4b,5c4b,5c4d,5c4e,5c50,5c51,5c55,5c55,5c5b,5c5b,5c60,5c60,5c62,5c62,5c64,5c65,5c68,5c68,5c6c,5c6c,5c6f,5c6f,5c71,5c71,5c73,5c73,5c79,5c7a,5c88,5c88,5c8a,5c8a,5c8c,5c8c,5c8f,5c92,5c94,5c94,5c9d,5c9d,5ca1,5ca1,5ca3,5ca3,5ca5,5cad,5cb1,5cb1,5cb3,5cb3,5cb5,5cb5,5cb7,5cb8,5cba,5cba,5cbe,5cbe,5cc0,5cc0,5ccb,5ccb,5cd2,5cd2,5cd9,5cd9,5ce0,5ce0,5ce8,5ce9,5ced,5ced,5cef,5cf1,5cf4,5cf4,5cf6,5cf6,5cfb,5cfb,5cfd,5cfd,5d06,5d07,5d0d,5d0e,5d10,5d11,5d14,5d19,5d1b,5d1b,5d1f,5d1f,5d22,5d22,5d24,5d24,5d26,5d27,5d29,5d29,5d34,5d34,5d3d,5d3d,5d41,5d42,5d44,5d44,5d4b,5d4c,5d4e,5d4e,5d50,5d50,5d53,5d54,5d69,5d69,5d6c,5d6c,5d6f,5d6f,5d71,5d71,5d81,5d82,5d84,5d84,5d86,5d87,5d8b,5d8b,5d92,5d92,5d94,5d95,5d99,5d99,5d9d,5d9d,5da0,5da0,5da2,5da2,5da7,5da7,5daa,5dab,5dae,5dae,5db0,5db0,5db7,5db8,5dba,5dba,5dbc,5dbe,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dd1,5dd3,5dd6,5dd6,5dda,5ddb,5ddd,5dde,5de0,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df1,5df5,5df7,5df9,5dfb,5dfb,5dfd,5dfe,5e02,5e03,5e06,5e06,5e09,5e09,5e0c,5e0c,5e11,5e11,5e15,5e16,5e19,5e1b,5e1d,5e1d,5e20,5e20,5e25,5e25,5e28,5e28,5e2b,5e2b,5e2d,5e2d,5e33,5e33,5e36,5e38,5e3d,5e3d,5e3f,5e40,5e43,5e45,5e47,5e47,5e4c,5e4c,5e4e,5e4e,5e54,5e55,5e58,5e58,5e5e,5e5f,5e61,5e63,5e68,5e68,5e6a,5e6c,5e70,5e74,5e76,5e80,5e83,5e84,5e87,5e87,5e8a,5e8b,5e8f,5e8f,5e95,5e97,5e9a,5e9a,5e9c,5e9c,5ea0,5ea0,5ea5,5ea8,5eab,5eab,5ead,5ead,5eb3,5eb3,5eb5,5eb8,5ebd,5ebe,5ec1,5ec2,5ec8,5ecb,5ecf,5ed1,5ed3,5ed3,5ed5,5ed6,5ed9,5edb,5edd,5ee3,5ee5,5ee5,5ee7,5ee9,5eec,5eec,5ef1,5ef1,5ef3,5ef4,5ef6,5ef7,5efa,5efb,5efe,5eff,5f01,5f01,5f03,5f04,5f07,5f08,5f0a,5f0b,5f0f,5f0f,5f11,5f15,5f17,5f18,5f1b,5f1b,5f1f,5f1f,5f22,5f22,5f25,5f27,5f29,5f29,5f2d,5f2d,5f31,5f31,5f34,5f35,5f37,5f37,5f3a,5f3a,5f3c,5f3c,5f3e,5f3e,5f40,5f40,5f46,5f46,5f48,5f48,5f4a,5f4a,5f4c,5f4c,5f4e,5f4e,5f50,5f51,5f53,5f54,5f56,5f59,5f5b,5f5b,5f5d,5f5d,5f61,5f62,5f64,5f67,5f69,5f6d,5f70,5f71,5f73,5f73,5f77,5f77,5f79,5f79,5f7c,5f7c,5f7f,5f82,5f85,5f85,5f87,5f8c,5f90,5f92,5f97,5f99,5f9c,5f9c,5f9e,5f9e,5fa0,5fa1,5fa3,5fa3,5fa7,5faa,5fac,5faf,5fb3,5fb3,5fb5,5fb5,5fb7,5fb7,5fb9,5fb9,5fbc,5fbd,5fc3,5fc5,5fc8,5fc9,5fcc,5fce,5fd0,5fd0,5fd2,5fd3,5fd5,5fd9,5fdc,5fe1,5fe4,5fe4,5fe8,5fe8,5feb,5feb,5fed,5fef,5ff1,5ff1,5ff5,5ff5,5ff8,5ff8,5ffb,5ffd,5fff,5fff,600a,600a,600d,600d,600f,600f,6012,6012,6014,6017,6019,6019,601b,601d,6020,6021,6025,602a,602f,6030,6033,6033,6041,6043,6046,6048,604a,604b,604d,604d,6050,6050,6052,6052,6055,6055,6059,605a,605d,605d,605f,6060,6062,6065,6068,606d,606f,6070,6075,6075,6081,6081,6083,6086,6089,608d,608f,608f,6092,6092,6094,6097,609a,609b,609f,60a0,60a2,60a4,60a7,60a7,60aa,60aa,60b0,60b6,60b8,60b8,60bb,60be,60c4,60c7,60c9,60c9,60cb,60cb,60cf,60cf,60d1,60d1,60d3,60d3,60d5,60d5,60d7,60e2,60f0,60f4,60f6,60fc,6100,6101,6103,6103,6106,6106,6108,6109,610d,610f,6114,6115,611a,611c,611e,611f,6122,6122,6127,6128,612b,612d,6130,6130,6134,6134,6137,6137,613c,613c,613e,613f,6142,6142,6144,6144,6146,6148,614a,614d,614f,614f,6152,6155,6158,615a,615c,615d,615f,6164,6167,6168,616a,616b,616e,616e,6170,6171,6173,6177,617a,617a,617c,617e,6181,6183,618a,618a,618d,618e,6190,6194,6196,6196,6198,619a,61a4,61a4,61a7,61a9,61ab,61ac,61ae,61af,61b2,61b2,61b6,61b6,61b8,61b8,61ba,61be,61c3,61c3,61c6,61cc,61cf,61cf,61d5,61d5,61d7,61d7,61de,61df,61e3,61e3,61e6,61e6,61f2,61f2,61f6,61f8,61fa,61fa,61fc,6200,6207,6208,620a,620a,620c,620e,6210,6212,6214,6216,6218,6218,621a,621a,621e,621f,6221,6222,6226,6227,6229,622a,622d,622e,6230,6236,6239,6239,623e,6241,6243,6243,6247,624e,6251,6253,6257,6258,625b,625c,625e,625e,6263,6263,6268,6268,626e,626e,6271,6271,6273,6273,6276,6276,6279,627a,627c,627c,627e,6280,6283,6284,6286,6286,6289,628a,628f,628f,6291,6292,6294,6298,629b,629b,62a6,62a6,62a8,62a8,62ab,62ac,62ae,62ae,62b1,62b2,62b5,62b5,62b9,62b9,62bc,62bd,62c2,62c2,62c4,62cd,62cf,62d9,62db,62dc,62e1,62e1,62ec,62ef,62f1,62f1,62f3,62f3,62f5,62f7,62fd,62ff,6301,6302,6307,6307,6309,6309,630c,630c,6310,6312,6328,6328,632a,632b,632f,632f,6339,633b,633d,633e,6342,6344,6346,6346,6349,6349,634c,6350,6353,6353,6355,6355,6357,6357,635a,635a,6367,6369,636b,636b,636e,636e,6371,6372,6376,6377,637a,637b,637f,6380,6383,6384,6387,638a,638c,638c,638e,638f,6392,6392,6396,6396,6398,6398,639b,639c,639f,63a2,63a5,63a5,63a7,63aa,63ac,63ac,63be,63be,63c0,63c0,63c3,63c4,63c6,63c6,63c9,63c9,63cf,63d0,63d2,63d2,63d6,63d6,63da,63db,63df,63e1,63e3,63e3,63e9,63e9,63eb,63eb,63ed,63ee,63f2,63f2,63f4,63f7,6406,6406,6409,6409,640d,640d,640f,640f,6412,6412,6414,6414,6416,6418,641c,641c,6420,6420,6422,6422,6424,6425,6428,6428,642a,642d,642f,6430,6434,6434,6436,6436,643a,643a,643e,643e,6458,6458,645b,645b,645e,645e,6460,6460,6467,6467,6469,6469,646d,646d,646f,646f,6473,6473,6478,647b,647d,647d,6485,6485,6488,6488,6490,6493,6495,6495,6499,649b,649d,649f,64a4,64a5,64a9,64a9,64ab,64ab,64ad,64ae,64b0,64b0,64b2,64b2,64bb,64bc,64be,64bf,64c1,64c1,64c4,64c5,64c7,64c7,64c9,64ca,64cd,64ce,64d0,64d0,64d2,64d2,64d4,64d5,64d7,64d8,64da,64da,64e0,64e3,64e5,64e7,64ec,64ed,64ef,64ef,64f1,64f2,64f4,64f4,64fa,64fa,64fe,64fe,6500,6500,6502,6502,6504,6504,6507,6507,650a,650a,650f,650f,6514,6514,6518,6519,651d,651d,6522,6524,652a,652c,652f,652f,6532,6532,6534,6539,653b,653b,653d,653f,6543,6543,6545,6545,6548,6549,654d,654f,6551,6552,6554,6559,655d,655e,6562,6563,6566,6566,656c,656d,6572,6572,6574,6575,6577,6578,657e,657e,6581,6583,6585,6585,6587,6587,6589,6589,658c,658c,6590,6591,6597,6597,6599,6599,659b,659d,659f,659f,65a1,65a1,65a4,65a5,65a7,65a7,65ab,65ad,65af,65b2,65b7,65b7,65b9,65b9,65bc,65bd,65bf,65bf,65c1,65c6,65ca,65cc,65cf,65cf,65d2,65d2,65d7,65d7,65e0,65e1,65e3,65e3,65e5,65e6,65e8,65e9,65ec,65ed,65f1,65f2,65f4,65f4,65fa,65fd,65ff,6600,6602,6603,6606,6607,6609,660a,660c,6611,6613,6615,661b,661c,661e,6621,6623,6625,6627,6628,662b,662b,662d,662d,662f,6631,6634,6637,663a,663b,6641,6644,6648,6649,664b,664c,664e,6651,6659,665b,665d,6662,6664,6669,666b,6670,6673,6674,6676,667b,667d,667d,667f,667f,6684,6684,6687,6689,668b,668c,668e,668e,6690,6691,6696,6698,669a,669a,669d,669e,66a0,66a0,66a2,66a3,66ab,66ac,66ae,66ae,66b1,66b5,66b8,66bb,66be,66c1,66c4,66c9,66d3,66d4,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e3,66e6,66e6,66e8,66ea,66ec,66ec,66ee,66f0,66f2,66f4,66f7,66fa,66fc,66fc,66fe,6700,6703,6705,6708,670d,6710,6710,6714,6715,6717,6717,671b,671b,671d,6720,6722,6723,6726,6728,672a,672e,6731,6731,6733,6734,6736,6736,673a,673a,673d,673e,6745,6746,6749,6749,674b,674c,674e,6751,6753,6753,6756,6756,675c,6760,6765,6765,676a,676a,676c,676d,676f,6773,6775,6775,6777,6777,677b,677c,677e,677f,6783,6783,6787,6787,6789,6789,678b,678c,678f,6790,6792,6793,6795,6795,6797,679a,679c,679d,67af,67b0,67b2,67b3,67b6,67b8,67be,67be,67c1,67c1,67c4,67c5,67ca,67ca,67cf,67d4,67d6,67da,67dd,67df,67e2,67e2,67e9,67e9,67ec,67ec,67ef,67f1,67f3,67f6,67f9,67f9,67fb,67fb,67fe,67ff,6803,6804,6810,6810,6812,6813,6816,6817,681d,681e,6821,6822,682a,682a,682e,682f,6831,6832,6834,6834,6838,6839,683b,683d,6840,6844,6846,6846,6848,6849,684e,684e,6850,6851,6853,6854,686d,686d,686f,686f,6874,6874,6876,6877,687e,687f,6881,6881,6883,6883,6885,6886,688f,688f,6893,6894,6897,6897,689b,689b,689d,689d,689f,68a3,68a7,68a8,68ad,68ad,68af,68b1,68b3,68b3,68b5,68b6,68c4,68c5,68c9,68cd,68d0,68d0,68d2,68d2,68d5,68d8,68da,68da,68df,68e0,68e3,68e3,68e7,68e8,68ec,68ec,68ee,68ee,68f2,68f2,68f9,68fd,6900,6901,6904,6906,690b,690b,690d,690f,6911,6912,6919,6919,691c,691c,6927,6927,6930,6930,6934,6934,6936,6936,6939,6939,693d,693d,693f,693f,6942,6942,694a,694a,694f,694f,6953,6955,6957,6957,6959,695a,695d,695e,6960,6963,6965,6965,6968,6968,696a,696f,6973,6973,6975,6975,6977,6979,697b,697b,697d,697d,698e,698e,6991,6991,6994,6995,6998,6998,699b,699c,699f,699f,69a4,69a7,69ad,69ae,69b0,69b2,69b4,69b4,69b7,69b7,69ba,69bc,69be,69c1,69c3,69c3,69c7,69c7,69ca,69d0,69d3,69d3,69d6,69d6,69e2,69e2,69e5,69ea,69ed,69ed,69f2,69f2,69f9,69f9,69fb,69fb,69fd,69fd,69ff,6a00,6a02,6a02,6a05,6a05,6a0a,6a0b,6a11,6a14,6a17,6a17,6a19,6a19,6a1b,6a1b,6a1e,6a1f,6a21,6a21,6a23,6a23,6a29,6a29,6a2b,6a2b,6a35,6a35,6a38,6a3b,6a3d,6a3d,6a43,6a45,6a47,6a4d,6a50,6a50,6a52,6a53,6a58,6a5a,6a5f,6a5f,6a61,6a62,6a64,6a64,6a66,6a66,6a6b,6a6b,6a72,6a72,6a75,6a75,6a7f,6a80,6a83,6a84,6a89,6a89,6a8d,6a8e,6a90,6a90,6a94,6a94,6a97,6a97,6a9c,6a9d,6a9f,6aa0,6aa2,6aa3,6aae,6aae,6ab3,6ab3,6ab6,6ab6,6abb,6abc,6abf,6abf,6ac2,6ac3,6ad3,6ad3,6ada,6adf,6ae8,6ae8,6aea,6aea,6aec,6aec,6af6,6af6,6afb,6afc,6b02,6b04,6b0a,6b0a,6b0c,6b0c,6b11,6b12,6b16,6b16,6b1e,6b1e,6b20,6b21,6b23,6b23,6b2c,6b2c,6b32,6b32,6b37,6b3b,6b3d,6b3f,6b43,6b43,6b46,6b47,6b49,6b4a,6b4c,6b4c,6b4e,6b4e,6b50,6b50,6b54,6b54,6b59,6b5b,6b5f,6b67,6b69,6b6a,6b6f,6b6f,6b72,6b72,6b77,6b7b,6b7f,6b80,6b82,6b84,6b86,6b86,6b89,6b8a,6b8d,6b8d,6b91,6b91,6b96,6b96,6b98,6b98,6b9e,6b9e,6ba2,6ba2,6ba4,6ba4,6bab,6bab,6bad,6baf,6bb2,6bb3,6bb5,6bb5,6bb7,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc4,6bc6,6bcb,6bcb,6bcd,6bcd,6bcf,6bcf,6bd2,6bd4,6bd6,6bd8,6bda,6bdb,6beb,6bec,6bef,6bef,6bf3,6bf3,6bf8,6bf8,6bff,6bff,6c05,6c05,6c08,6c08,6c0f,6c11,6c13,6c14,6c17,6c17,6c1b,6c1b,6c23,6c24,6c33,6c38,6c3e,6c43,6c4b,6c4b,6c4e,6c50,6c52,6c55,6c57,6c57,6c59,6c60,6c66,6c66,6c68,6c6a,6c6d,6c6d,6c70,6c70,6c72,6c72,6c74,6c74,6c76,6c76,6c7a,6c7a,6c7d,6c7e,6c81,6c89,6c8c,6c8d,6c90,6c90,6c92,6c96,6c98,6c9b,6ca2,6ca2,6cab,6cac,6cae,6cae,6cb0,6cb1,6cb3,6cb3,6cb6,6cb6,6cb8,6cb9,6cbb,6cbf,6cc1,6cc2,6cc4,6cc6,6cc9,6cca,6ccc,6ccc,6cd0,6cd1,6cd3,6cd5,6cd7,6cd7,6cd9,6cdd,6ce0,6ce3,6ce5,6ce5,6ce8,6ce8,6ceb,6ceb,6cee,6cf1,6cf3,6cf3,6cff,6cff,6d04,6d04,6d07,6d07,6d0a,6d0c,6d11,6d12,6d14,6d14,6d17,6d17,6d19,6d19,6d1b,6d1b,6d1e,6d1f,6d23,6d23,6d25,6d25,6d27,6d2c,6d2e,6d2e,6d32,6d32,6d35,6d36,6d38,6d3e,6d41,6d41,6d59,6d5a,6d5c,6d5c,6d61,6d61,6d63,6d67,6d69,6d6a,6d6c,6d6c,6d6e,6d6f,6d72,6d72,6d74,6d74,6d77,6d79,6d7f,6d7f,6d82,6d82,6d85,6d85,6d87,6d89,6d8c,6d8f,6d91,6d91,6d93,6d97,6daa,6dac,6daf,6daf,6db2,6db2,6db4,6db5,6db7,6db8,6dbc,6dbc,6dbf,6dc0,6dc3,6dc8,6dcb,6dcc,6dcf,6dd2,6dd6,6dd6,6dd8,6dda,6ddd,6dde,6de0,6de6,6de8,6de8,6dea,6dec,6dee,6dee,6df1,6df1,6df3,6df3,6df5,6dfc,6e05,6e05,6e08,6e08,6e0a,6e0a,6e17,6e17,6e19,6e1b,6e1d,6e1d,6e1f,6e26,6e28,6e28,6e2b,6e2d,6e2f,6e2f,6e32,6e32,6e34,6e34,6e36,6e38,6e3a,6e3a,6e3c,6e3e,6e40,6e40,6e43,6e45,6e4a,6e4a,6e4d,6e4e,6e51,6e51,6e53,6e56,6e58,6e58,6e5b,6e5c,6e5e,6e5f,6e63,6e63,6e67,6e67,6e6b,6e6b,6e6e,6e6f,6e72,6e73,6e75,6e75,6e7a,6e7a,6e8f,6e90,6e95,6e96,6e98,6e98,6e9c,6e9d,6e9f,6e9f,6ea2,6ea2,6ea5,6ea5,6ea7,6ea8,6eaa,6eab,6eaf,6eaf,6eb1,6eb2,6eb5,6eb7,6eba,6eba,6ebd,6ebd,6ec2,6ec5,6ec8,6ec9,6ecb,6ecc,6ece,6ece,6ed1,6ed1,6ed3,6ed5,6ed9,6ed9,6eec,6eed,6eef,6eef,6ef2,6ef2,6ef4,6ef5,6ef7,6ef8,6efc,6efc,6efe,6eff,6f01,6f02,6f04,6f04,6f06,6f06,6f09,6f09,6f0c,6f0c,6f0f,6f0f,6f11,6f11,6f13,6f15,6f19,6f1a,6f20,6f20,6f22,6f24,6f26,6f28,6f2a,6f2d,6f30,6f33,6f38,6f38,6f3c,6f3c,6f3e,6f3f,6f41,6f41,6f4f,6f4f,6f51,6f52,6f54,6f54,6f57,6f5f,6f61,6f64,6f66,6f66,6f6d,6f71,6f74,6f74,6f78,6f78,6f7a,6f7a,6f7c,6f7e,6f81,6f82,6f84,6f84,6f86,6f89,6f8b,6f8e,6f90,6f90,6f92,6f92,6f94,6f98,6f9f,6f9f,6fa1,6fa1,6fa3,6fa5,6fa7,6fa8,6faa,6faa,6fae,6faf,6fb1,6fb1,6fb3,6fb3,6fb6,6fb6,6fb9,6fb9,6fbe,6fbe,6fc0,6fc3,6fc6,6fc7,6fc9,6fca,6fd4,6fd5,6fd8,6fd8,6fda,6fdb,6fde,6fe1,6fe4,6fe6,6fe9,6fe9,6feb,6fec,6fee,6fef,6ff1,6ff1,6ff3,6ff4,6ff6,6ff6,6ffa,6ffa,6ffe,6ffe,7001,7001,7005,7007,7009,7009,700b,700b,700f,700f,7011,7013,7015,7015,7018,7018,701a,701f,7023,7023,7026,7028,702f,7030,7032,7032,7037,7038,703c,703c,703e,703e,7044,7044,7046,7046,704c,704c,704e,704e,7050,7051,7053,7053,7058,7058,705d,705e,7063,7063,7066,7066,7069,7069,706b,706c,706f,7070,7078,7078,707c,707e,7081,7081,7085,7086,708a,708a,708e,708e,7092,7092,7095,7095,7098,709b,70a1,70a1,70a4,70a4,70a6,70a6,70ab,70b0,70b3,70b3,70b7,70ba,70c8,70c8,70ca,70cb,70cf,70cf,70d3,70d4,70d8,70d9,70dc,70dd,70df,70df,70ef,70ef,70f1,70f1,70f9,70fa,70fd,70fd,7103,7104,7106,7106,7109,7109,710c,710c,7119,711a,711c,711c,711e,711e,7120,7121,7126,7126,712d,7131,7136,7136,7143,7143,7146,7147,7149,714a,714c,714c,714e,714e,7150,7150,7152,7153,7155,7157,7159,7159,715c,715e,7162,7162,7164,7169,716c,716c,716e,716e,717d,717d,7180,7180,7184,7185,7187,718a,718f,718f,7192,7192,7194,7194,7199,7199,719b,719b,719f,71a2,71a4,71a4,71a8,71a9,71ac,71ac,71af,71af,71b1,71b2,71b9,71ba,71be,71be,71c1,71c1,71c3,71c3,71c8,71c9,71cb,71cb,71ce,71d0,71d2,71d2,71d4,71d6,71d9,71d9,71db,71db,71df,71e0,71e5,71e7,71ec,71ee,71f9,71f9,71fb,7201,7206,7207,720b,720d,7210,7210,7214,7214,7217,7217,721a,721b,721f,721f,7225,7225,7228,7228,722a,722a,722c,722d,7230,7230,7232,7232,7235,7236,7238,723b,723d,7240,7242,7242,7246,7248,724b,724c,7252,7254,7256,7256,7258,725b,725d,725d,725f,725f,7261,7263,7267,7267,7269,7269,726f,726f,7272,7272,7274,7274,7278,7279,727d,727d,7280,7282,7287,7287,728d,728d,7292,7292,7296,7296,72a2,72a2,72a7,72a7,72ac,72ad,72af,72af,72b3,72b5,72c0,72c0,72c2,72c2,72c4,72c4,72c9,72c9,72ce,72ce,72d0,72d0,72d2,72d2,72d7,72d7,72d9,72d9,72e1,72e2,72e5,72e5,72e8,72e9,72ec,72ec,72f4,72f4,72f7,72fd,7309,730a,7313,7313,7316,7319,731b,731d,7322,7322,7325,7325,7327,732b,7331,7331,7334,7334,7336,7337,733e,733f,7343,7345,734e,734e,7350,7350,7352,7352,7357,7358,735c,735c,7360,7360,7368,736c,736f,7370,7372,7372,7375,7375,7377,7378,737a,737c,7381,7381,7384,7384,7386,7389,738b,738b,738e,738e,7392,7392,7394,7398,739e,73a0,73a6,73a7,73a9,73ab,73ad,73ad,73b2,73b4,73b7,73b7,73b9,73b9,73bb,73bd,73bf,73c0,73c2,73c2,73c6,73c6,73c8,73ca,73cc,73cd,73cf,73cf,73d2,73d2,73d6,73d9,73dd,73de,73e0,73e0,73e2,73e6,73e9,73eb,73ed,73ee,73f5,73f5,73f7,73f9,73fd,73fe,7401,7401,7403,7407,7409,7409,7413,7413,7417,7418,741b,741b,741d,741d,741f,7422,7424,7426,7428,7428,742a,742c,742e,7436,7438,7438,743a,743a,743f,7446,7448,7449,744b,744c,744e,744e,7455,7455,7457,7457,7459,7460,7462,7465,7468,746a,746d,7473,747d,747e,7480,7480,7482,7487,7489,748c,7490,7490,7498,7498,749c,749f,74a1,74a1,74a3,74a3,74a5,74a5,74a7,74a8,74aa,74ab,74b0,74b2,74b5,74b6,74b8,74b9,74bc,74bd,74bf,74c0,74c6,74c6,74ca,74ca,74cd,74cd,74cf,74d0,74d3,74d4,74d8,74d8,74da,74dc,74e0,74e0,74e2,74e3,74e6,74e6,74e9,74e9,74ee,74ee,74f2,74f3,74f7,74f7,7501,7501,7503,7504,750c,750e,7511,7511,7513,7513,7515,7515,7518,7518,751a,751c,751e,751f,7522,7526,7528,7528,752b,752c,7530,7533,7537,7538,753a,753b,753f,753f,7543,7543,7547,7547,754a,754c,754e,754f,7551,7551,7553,7554,7559,755d,7560,7560,7562,7562,7564,7567,756a,756b,756f,7570,7575,7576,7578,7578,757a,757a,757f,757f,7586,7588,758a,758b,758e,758f,7591,7592,7594,7594,7599,759a,759d,759d,75a3,75a3,75a5,75a5,75a9,75a9,75ab,75ab,75b1,75b5,75b8,75b9,75bc,75be,75c0,75c0,75c2,75c3,75c5,75c5,75c7,75c7,75ca,75ca,75cd,75ce,75d2,75d5,75d8,75d9,75db,75db,75de,75de,75e2,75e4,75e7,75e7,75f0,75f0,75f2,75f4,75f9,75fa,75fc,75fc,75ff,7601,7607,7609,760b,760b,760d,760d,7610,7610,7615,7615,7619,7619,761f,7622,7624,7624,7626,7627,762f,7631,7633,7634,763b,763b,7642,7643,7646,7649,764c,764c,764e,764e,7652,7652,7655,7656,7658,7658,765c,765c,7661,7662,7664,7665,7667,7669,766c,7672,7676,7676,7678,7678,767a,767e,7680,7681,7683,7684,7686,7687,768b,768b,768e,768e,7690,7690,7692,7693,7696,7697,769a,769c,769e,769e,76a4,76a4,76ac,76ac,76ae,76ae,76b4,76b4,76b6,76b6,76b8,76b8,76ba,76ba,76bf,76bf,76c2,76c3,76c6,76c6,76c8,76c8,76ca,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76d9,76db,76dc,76de,76df,76e1,76e1,76e3,76e5,76e7,76e7,76ea,76ea,76ec,76ec,76ee,76ee,76f1,76f2,76f4,76f4,76f8,76f9,76fb,76fc,76fe,7702,7704,7704,7707,770c,7710,7710,771a,771b,771e,7720,7725,7726,7728,7729,7734,7734,7737,773c,773e,773e,7740,7740,7743,7743,7746,7747,774d,774d,7752,7752,775a,775b,775f,7763,7765,7766,7768,7768,776b,776c,7777,7777,7779,7779,777d,777f,778b,778b,778d,778e,7791,7791,7796,7796,7799,7799,779e,779e,77a0,77a0,77a2,77a2,77a5,77a5,77aa,77aa,77ac,77ae,77b0,77b0,77b3,77b3,77b9,77b9,77bb,77bd,77bf,77bf,77c7,77c7,77c9,77c9,77cd,77cd,77d7,77d7,77d9,77dc,77de,77de,77e1,77e3,77e5,77e5,77e7,77e7,77e9,77e9,77ed,77f0,77f3,77f3,77f8,77f8,77fa,77fd,7802,7802,7807,7807,780c,780c,780f,780f,7811,7812,7814,7814,7822,7822,7825,7827,782c,782d,7830,7830,7832,7832,7834,7834,7843,7843,7845,7845,784f,784f,785c,785d,7860,7860,7867,7868,786a,786c,786e,786f,787c,787c,7881,7881,7884,7884,7887,7887,788c,788f,7891,7891,7893,7893,7897,7897,789f,789f,78a3,78a4,78a7,78a9,78ac,78ad,78ba,78bc,78be,78be,78c1,78c1,78c5,78c5,78c8,78c8,78ca,78cb,78ce,78d1,78d4,78d5,78da,78da,78e0,78e0,78e7,78e8,78ea,78ea,78ec,78ec,78ef,78ef,78f4,78f5,78f7,78f7,78fa,78fd,7901,7901,790c,790c,790e,790f,7911,7912,7916,7916,7919,7919,7927,7927,792a,792d,7931,7931,793a,793c,793e,793e,7940,7941,7944,794a,7950,7950,7953,7958,795a,7960,7962,7962,7965,7965,7967,7968,796d,796d,7979,797a,797c,797c,797f,7981,798a,798b,798d,798f,7991,7991,7994,7994,799b,799b,799d,799d,79a6,79a8,79aa,79ab,79ae,79ae,79b0,79b1,79b3,79b4,79b8,79c1,79c4,79c4,79c6,79c6,79c9,79cb,79d1,79d2,79d5,79d5,79d8,79d8,79de,79df,79e2,79e4,79e6,79e7,79e9,79ec,79f5,79f5,79f8,79f8,79fb,79fb,7a00,7a02,7a05,7a05,7a08,7a08,7a0a,7a0d,7a14,7a14,7a17,7a1a,7a1c,7a1c,7a1e,7a20,7a22,7a22,7a27,7a27,7a2e,7a2e,7a30,7a31,7a33,7a33,7a36,7a37,7a39,7a39,7a3b,7a3d,7a3f,7a40,7a42,7a42,7a45,7a46,7a49,7a49,7a4c,7a4e,7a57,7a57,7a60,7a62,7a66,7a66,7a69,7a69,7a6b,7a6b,7a70,7a70,7a74,7a76,7a79,7a7a,7a7d,7a86,7a88,7a88,7a8a,7a8a,7a92,7a93,7a95,7a99,7a9b,7a9b,7a9f,7aa0,7aa3,7aa3,7aa9,7aaa,7aac,7aac,7aae,7aaf,7ab3,7ab3,7ab6,7ab6,7ab9,7abb,7abe,7abf,7ac4,7ac5,7ac7,7ac8,7aca,7acb,7ad7,7ad7,7ad9,7ad9,7adc,7add,7adf,7ae0,7ae2,7ae3,7ae5,7ae6,7aea,7aea,7aed,7aed,7aef,7aef,7af4,7af4,7af6,7af6,7af8,7afa,7afd,7afd,7aff,7aff,7b06,7b06,7b08,7b08,7b0a,7b0a,7b0c,7b0c,7b0e,7b0f,7b11,7b12,7b18,7b19,7b1b,7b1b,7b1e,7b1e,7b20,7b20,7b25,7b28,7b2c,7b2d,7b2f,7b2f,7b33,7b33,7b35,7b35,7b39,7b39,7b45,7b46,7b48,7b49,7b4b,7b4d,7b4f,7b54,7b56,7b56,7b5f,7b60,7b65,7b67,7b69,7b69,7b6c,7b6c,7b6e,7b6e,7b71,7b71,7b73,7b73,7b75,7b75,7b7d,7b7d,7b87,7b87,7b8b,7b8b,7b8d,7b8f,7b92,7b92,7b94,7b95,7b97,7b97,7b99,7b9a,7b9c,7b9d,7ba0,7ba1,7bad,7bad,7bb1,7bb1,7bb4,7bb4,7bb8,7bb8,7bbe,7bbe,7bc0,7bc1,7bc4,7bc4,7bc6,7bc7,7bc9,7bcc,7bd2,7bd2,7bd4,7bd4,7bd9,7bd9,7bdb,7bdb,7bdd,7bdd,7be0,7be1,7be4,7be4,7be6,7be6,7be9,7bea,7bf3,7bf3,7bf7,7bf7,7bfe,7bfe,7c00,7c00,7c07,7c07,7c09,7c09,7c0b,7c0b,7c0f,7c0f,7c12,7c12,7c1e,7c21,7c27,7c27,7c2a,7c2b,7c37,7c38,7c3d,7c3f,7c43,7c43,7c4c,7c4d,7c50,7c50,7c52,7c52,7c54,7c54,7c5b,7c5c,7c5f,7c60,7c64,7c65,7c67,7c67,7c69,7c69,7c6c,7c6c,7c72,7c73,7c7e,7c7e,7c81,7c81,7c83,7c83,7c89,7c89,7c8d,7c8d,7c92,7c92,7c95,7c95,7c97,7c98,7c9f,7c9f,7ca2,7ca2,7ca4,7ca8,7cae,7cae,7cb1,7cb3,7cb9,7cb9,7cbc,7cbe,7cc5,7cc6,7cca,7cca,7cd5,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce5,7ce5,7ce7,7ce7,7cef,7cef,7cf1,7cf2,7cf4,7cf6,7cf8,7cfb,7cfe,7cfe,7d00,7d00,7d02,7d08,7d0a,7d0b,7d0d,7d0d,7d10,7d10,7d13,7d15,7d17,7d1c,7d20,7d22,7d2b,7d2c,7d2e,7d33,7d35,7d35,7d38,7d3a,7d41,7d46,7d49,7d49,7d4c,7d4d,7d50,7d51,7d55,7d56,7d59,7d59,7d5b,7d5c,7d5e,7d5e,7d61,7d63,7d66,7d66,7d68,7d6a,7d6e,7d6e,7d70,7d73,7d75,7d76,7d79,7d7a,7d7f,7d7f,7d83,7d83,7d86,7d86,7d8e,7d8f,7d93,7d93,7d98,7d98,7d9a,7d9a,7d9c,7d9c,7da0,7da0,7da2,7da3,7da5,7da7,7da9,7da9,7dab,7dae,7db0,7db2,7db4,7db5,7db8,7db8,7dba,7dbb,7dbd,7dbf,7dc4,7dc4,7dc7,7dc7,7dca,7dcd,7dcf,7dcf,7dd6,7dd8,7dda,7dda,7ddc,7dde,7de0,7de1,7de3,7de3,7de6,7de6,7de8,7de9,7dec,7dec,7def,7def,7df4,7df4,7df6,7df6,7df9,7df9,7dfb,7dfb,7e03,7e03,7e08,7e0b,7e10,7e11,7e15,7e15,7e17,7e18,7e1b,7e1b,7e1d,7e23,7e2b,7e2b,7e2e,7e2f,7e31,7e33,7e35,7e35,7e37,7e37,7e39,7e39,7e3b,7e3b,7e3d,7e3e,7e41,7e41,7e43,7e48,7e50,7e50,7e52,7e52,7e54,7e57,7e59,7e5a,7e5e,7e5e,7e61,7e62,7e69,7e6b,7e6d,7e6d,7e6f,7e70,7e76,7e76,7e79,7e79,7e7c,7e7e,7e81,7e82,7e87,7e88,7e8a,7e8a,7e8c,7e8d,7e8f,7e8f,7e93,7e94,7e96,7e96,7e98,7e98,7e9b,7e9c,7e9f,7e9f,7f36,7f38,7f3a,7f3a,7f3e,7f3f,7f43,7f45,7f47,7f47,7f4b,7f4e,7f50,7f55,7f58,7f58,7f5d,7f5d,7f5f,7f61,7f63,7f63,7f66,7f66,7f68,7f68,7f6a,7f6b,7f6e,7f6e,7f70,7f70,7f72,7f72,7f75,7f75,7f77,7f79,7f7c,7f7e,7f82,7f82,7f85,7f88,7f8a,7f8a,7f8c,7f8c,7f8e,7f8e,7f94,7f94,7f96,7f98,7f9a,7f9a,7f9d,7f9e,7fa1,7fa1,7fa4,7fa4,7fa8,7fa9,7fab,7fab,7faf,7faf,7fb2,7fb2,7fb6,7fb6,7fb8,7fb9,7fbd,7fbd,7fbf,7fbf,7fc1,7fc1,7fc5,7fc5,7fca,7fca,7fcc,7fcc,7fce,7fce,7fd2,7fd2,7fd4,7fd6,7fdb,7fdb,7fdf,7fe1,7fe3,7fe4,7fe6,7fe6,7fe9,7fe9,7feb,7fec,7fee,7fee,7ff0,7ff0,7ff3,7ff3,7ff9,7ffc,7ffe,7ffe,8000,8009,800c,800c,8010,8012,8014,8019,801e,801e,8021,8021,8026,8026,8028,8028,802c,802d,8030,8030,8033,8033,8036,8036,803d,803d,803f,803f,8043,8043,8046,8046,8048,8048,804a,804a,8052,8052,8055,8056,8058,8058,805a,805a,805e,805e,8061,8061,806f,8073,8075,8077,807d,8080,8084,8087,8089,8089,808b,808c,8093,8093,8096,8096,8098,8098,809a,809b,809d,809d,80a1,80a2,80a5,80a6,80a9,80ab,80ad,80ad,80af,80af,80b1,80b2,80b4,80b5,80ba,80ba,80c3,80c4,80c6,80c6,80ca,80ca,80cc,80cc,80ce,80ce,80d5,80d6,80d9,80dc,80de,80de,80e0,80e1,80e4,80e5,80ef,80ef,80f1,80f1,80f4,80f4,80f7,80f8,80fd,80fe,8102,8102,8105,810a,8116,8118,811a,811b,8123,8124,8127,8127,8129,8129,812b,812b,812f,8130,8139,813a,813e,813e,8141,8141,8146,8146,814a,814b,814e,814e,8150,8155,8160,8160,8164,8166,816b,816b,816d,816d,8170,8171,8174,8174,8176,817a,817f,8180,8182,8184,8186,8186,8188,8188,818a,818b,818f,818f,819a,819a,819c,819e,81a0,81a0,81a3,81a3,81a8,81a9,81b0,81b0,81b3,81b5,81b8,81ba,81bd,81c0,81c2,81c2,81c6,81c6,81ca,81ca,81cd,81cd,81cf,81cf,81d1,81d1,81d8,81da,81dd,81dd,81df,81e0,81e3,81e3,81e5,81e5,81e7,81e8,81ea,81ea,81ec,81ed,81f3,81f4,81f6,81f6,81fa,81fc,81fe,81fe,8201,8203,8205,8205,8207,8208,820a,820a,820c,820d,8210,8210,8212,8212,8216,8216,8218,8218,821b,821c,821e,821f,8221,8221,822a,822c,8233,8233,8235,8239,823d,823d,8240,8240,8245,8245,8247,8247,8251,8251,8258,825a,825f,825f,8264,8264,8266,8266,8268,8268,826a,826b,826e,826f,8271,8272,8274,8274,8276,8279,827d,827e,8283,8283,828a,828b,828d,828e,8290,8290,8292,8292,8294,8294,8298,829a,829d,829d,829f,829f,82a1,82a3,82a5,82b1,82b3,82b3,82b7,82b9,82bb,82bf,82c5,82c5,82d1,82d5,82d7,82d7,82db,82dc,82de,82e1,82e3,82e3,82e5,82e7,82e9,82e9,82eb,82eb,82f1,82f1,82f3,82f4,82f9,82fb,82fd,8305,8308,8309,8317,8317,831b,831d,8323,8325,8328,8328,832a,832b,832f,832f,8331,8336,8338,8339,833c,833c,8340,8340,8343,8343,8347,8347,8349,834a,834f,8352,8363,8363,8373,8373,8377,8377,837a,837b,8382,8382,8385,8385,8389,838a,838e,838e,8392,8393,8396,8396,8398,8398,839a,839b,839d,83a0,83a2,83a2,83a8,83ab,83bd,83c2,83c5,83c5,83c9,83ca,83cc,83cc,83d1,83d1,83d3,83d4,83d6,83d6,83d8,83d8,83dc,83dc,83df,83e1,83e9,83e9,83eb,83eb,83ef,83f2,83f4,83f4,83f6,83f6,83f9,83f9,83fb,83fb,83fd,83fd,8403,8404,8406,8407,840a,840e,8429,8429,842c,842c,8431,8431,8435,8435,8438,8439,843c,843d,8446,8446,8449,844a,8451,8451,8457,8457,845a,845b,8461,8461,8463,8463,8466,8466,8469,846d,846f,8471,8473,8473,8475,8475,8477,8477,847a,847a,8482,8482,8490,8491,8494,8494,8499,8499,849c,849c,849f,849f,84a1,84a1,84a8,84a8,84ad,84ad,84af,84af,84b2,84b2,84b4,84b4,84b8,84bd,84bf,84c2,84c4,84c4,84c6,84c6,84c9,84cb,84cd,84cd,84cf,84d1,84d3,84d3,84d6,84d6,84da,84da,84ec,84ef,84f1,84f1,84f4,84f4,84fa,84fa,84fc,84fd,8500,8500,8506,8506,850e,850e,8511,8511,8513,8515,8517,8518,851a,851a,851e,851f,8521,8521,8523,8523,8525,8526,852a,852a,852c,852d,852f,8530,853d,853d,853f,853f,8541,8541,8543,8543,8546,8546,8549,854b,854e,854e,8553,8553,8555,8559,855e,855e,8561,8561,8563,8564,8568,856b,856d,856d,8578,8578,857a,857a,857e,857e,8580,8580,8584,8584,8586,8587,8589,858a,858c,858c,858f,858f,8591,8591,8594,8594,8597,8597,8599,8599,859b,859b,859d,859d,85a4,85a6,85a8,85ab,85af,85b0,85ba,85ba,85c1,85c1,85c7,85c7,85c9,85c9,85cd,85d0,85d5,85d5,85dc,85dd,85e4,85e5,85e9,85ea,85f7,85f7,85f9,85fb,85fd,85fd,85ff,8600,8602,8602,8604,8604,8606,8607,860a,860b,8616,8618,861a,861a,861f,861f,8622,8622,8627,8627,8629,862a,862d,862d,862f,862f,863c,863c,863f,863f,8641,8641,864d,864e,8650,8650,8653,8655,865b,865c,865e,865f,8667,8667,866b,866c,866f,866f,8671,8671,8678,867b,868a,868d,8693,8693,8695,8695,86a3,86a4,86a8,86aa,86af,86b1,86b4,86b4,86c0,86c0,86c5,86c7,86c9,86c9,86cb,86cb,86d4,86d4,86d9,86d9,86db,86db,86de,86df,86e3,86e4,86e9,86e9,86ec,86ed,86f8,86f9,86fb,86fb,86fe,86fe,8700,8700,8702,8703,8706,8706,8708,870b,8711,8711,8718,8718,871a,871a,871c,871d,8721,8721,8725,8725,8728,8729,8734,8735,8737,8737,873a,873b,873f,8740,874c,874c,874e,874e,8755,8755,8757,8757,8759,8759,875f,8760,8764,8766,8768,8768,876e,876e,8774,8774,8776,8776,8778,8778,8782,8783,878c,878d,8798,8798,879e,879f,87a2,87a3,87ad,87ad,87b3,87b4,87ba,87bb,87bd,87bd,87c0,87c0,87c4,87c4,87c7,87c7,87ca,87cb,87d2,87d2,87da,87db,87e0,87e0,87e3,87e3,87ec,87ec,87ef,87ef,87f2,87f2,87f7,87f7,87f9,87f9,87fb,87fb,87fe,87fe,8805,8805,880d,880d,8811,8811,8815,8815,881f,881f,8821,8823,8831,8832,8836,8836,8839,8839,883b,883b,8840,8840,8844,8844,8846,8846,884a,884a,884c,884e,8852,8853,8857,8857,8859,8859,885b,885b,885d,885e,8861,8864,8868,8868,886b,886b,886e,886e,8870,8870,8872,8872,8877,8877,887d,887f,8881,8882,8888,8888,888b,888b,888d,888d,8892,8892,8896,8897,889b,889b,889d,889e,88a2,88a2,88aa,88ab,88b4,88b4,88c0,88c2,88c5,88c5,88ca,88ca,88cd,88cd,88cf,88cf,88d2,88d2,88d4,88d5,88d8,88d9,88dc,88dd,88df,88df,88e1,88e1,88e8,88e8,88ef,88ef,88f1,88f1,88f3,88f5,88f8,88f9,88fd,88fe,8904,8904,8907,8907,890a,890a,890c,890c,8910,8913,8915,8915,8918,891a,8925,8925,8927,8927,892a,892b,892f,8930,8936,8936,8938,8938,893a,893b,8941,8941,8944,8944,894d,894d,8952,8952,8956,8956,8958,8958,895c,895c,895e,8960,8964,8964,896a,896a,896d,896d,896f,896f,8972,8972,8974,8974,897e,8981,8983,8983,8986,8989,898b,898b,898f,898f,8993,8993,8996,8998,899a,899a,89a0,89a1,89a8,89aa,89ac,89ac,89af,89af,89b2,89b3,89b6,89b7,89ba,89ba,89bd,89bd,89bf,89c1,89d2,89d2,89d4,89d4,89d6,89d7,89da,89da,89dc,89dd,89e3,89e3,89e5,89e7,89f0,89f1,89f3,89f4,89f6,89f6,89f8,89f8,8a00,8a00,8a02,8a03,8a07,8a0a,8a0c,8a0c,8a0e,8a0e,8a10,8a18,8a1b,8a1b,8a1d,8a1d,8a1f,8a1f,8a22,8a23,8a25,8a25,8a2a,8a2a,8a2d,8a2d,8a31,8a31,8a33,8a34,8a36,8a36,8a3a,8a3c,8a3e,8a3e,8a41,8a41,8a46,8a46,8a4b,8a4b,8a50,8a51,8a54,8a58,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a66,8a69,8a69,8a6b,8a6e,8a70,8a73,8a75,8a75,8a79,8a79,8a7c,8a7c,8a7f,8a7f,8a82,8a82,8a84,8a87,8a8c,8a8d,8a91,8a91,8a93,8a93,8a95,8a95,8a98,8a98,8a9a,8a9a,8a9e,8a9e,8aa0,8aa8,8aaa,8aaa,8ab0,8ab0,8ab2,8ab2,8ab9,8ab9,8abc,8abc,8abe,8abf,8ac2,8ac2,8ac4,8ac4,8ac7,8ac7,8ac9,8ac9,8acb,8acb,8acd,8acd,8acf,8acf,8ad2,8ad2,8ad6,8ad7,8adb,8ae1,8ae4,8ae4,8ae6,8ae7,8aea,8aeb,8aed,8aee,8af0,8af4,8af6,8af8,8afa,8afa,8afc,8afc,8afe,8afe,8b00,8b02,8b04,8b04,8b07,8b07,8b0c,8b0c,8b0e,8b0e,8b10,8b11,8b14,8b14,8b16,8b17,8b19,8b1d,8b20,8b20,8b23,8b23,8b26,8b26,8b28,8b28,8b2b,8b2c,8b33,8b33,8b37,8b37,8b39,8b39,8b3c,8b3c,8b3e,8b3e,8b41,8b41,8b43,8b43,8b46,8b46,8b49,8b49,8b4c,8b4c,8b4e,8b4f,8b53,8b54,8b56,8b56,8b58,8b5a,8b5c,8b5c,8b5e,8b5f,8b66,8b66,8b6b,8b6c,8b6f,8b71,8b74,8b74,8b77,8b77,8b7d,8b7d,8b7f,8b80,8b83,8b83,8b89,8b8a,8b8c,8b8c,8b8e,8b8e,8b90,8b90,8b92,8b93,8b96,8b96,8b9a,8b9a,8b9c,8b9c,8b9e,8b9e,8ba0,8ba0,8c37,8c37,8c3f,8c3f,8c41,8c41,8c46,8c4a,8c4c,8c4c,8c4e,8c4e,8c50,8c50,8c55,8c56,8c5a,8c5a,8c61,8c62,8c68,8c68,8c6a,8c6c,8c73,8c73,8c78,8c7a,8c82,8c83,8c8a,8c8a,8c8c,8c8d,8c93,8c94,8c98,8c98,8c9d,8ca2,8ca7,8cac,8caf,8cb0,8cb2,8cb4,8cb6,8cbd,8cbf,8cc4,8cc6,8cc8,8cca,8cca,8cd1,8cd1,8cd3,8cd3,8cd9,8cdc,8cde,8cde,8ce0,8ce6,8cea,8cea,8cec,8ced,8cf0,8cf1,8cf3,8cf4,8cfb,8cfd,8d04,8d05,8d07,8d08,8d0a,8d0b,8d0d,8d0d,8d0f,8d10,8d13,8d14,8d16,8d16,8d1b,8d1b,8d1d,8d1d,8d64,8d64,8d66,8d67,8d6b,8d6b,8d6d,8d6e,8d70,8d70,8d73,8d74,8d76,8d77,8d81,8d81,8d85,8d85,8d8a,8d8a,8d8e,8d8e,8d90,8d90,8d99,8d99,8da0,8da0,8da3,8da3,8da8,8da8,8dab,8dab,8db2,8db3,8dba,8dba,8dbe,8dbe,8dc2,8dc2,8dc6,8dc6,8dcb,8dcc,8dce,8dcf,8dd5,8dd7,8ddb,8ddb,8ddd,8ddd,8ddf,8ddf,8de1,8de1,8de3,8de3,8de8,8de8,8dea,8ded,8def,8def,8df1,8df1,8df3,8df3,8dfc,8dfc,8e06,8e06,8e08,8e0a,8e0f,8e10,8e14,8e14,8e1d,8e1f,8e2a,8e2a,8e30,8e30,8e34,8e36,8e3a,8e3a,8e3d,8e3d,8e40,8e40,8e42,8e42,8e44,8e44,8e47,8e4a,8e4c,8e4c,8e4f,8e4f,8e55,8e55,8e59,8e59,8e5c,8e5c,8e5f,8e60,8e63,8e64,8e72,8e72,8e74,8e74,8e76,8e76,8e7b,8e7b,8e81,8e81,8e85,8e85,8e87,8e87,8e89,8e8b,8e8d,8e8d,8e90,8e91,8e93,8e94,8e99,8e99,8e9e,8e9e,8ea1,8ea1,8ea9,8eac,8eb1,8eb1,8eb3,8eb3,8ebe,8ebe,8ec0,8ec0,8ec6,8ec6,8eca,8ecd,8ed2,8ed2,8ede,8edf,8ee2,8ee2,8ee8,8ee8,8eeb,8eeb,8ef8,8efc,8efe,8efe,8f03,8f03,8f05,8f05,8f07,8f09,8f12,8f15,8f1b,8f1f,8f26,8f2a,8f2d,8f2d,8f2f,8f30,8f33,8f33,8f38,8f39,8f3b,8f3b,8f3e,8f40,8f42,8f42,8f44,8f46,8f49,8f49,8f4d,8f4e,8f52,8f52,8f54,8f54,8f57,8f58,8f5d,8f5f,8f61,8f64,8f66,8f66,8f9b,8f9c,8f9f,8f9f,8fa2,8fa3,8fa6,8fa6,8fa8,8fa8,8fad,8fb2,8fb5,8fb6,8fbb,8fbb,8fbf,8fc0,8fc2,8fc5,8fcd,8fce,8fd0,8fd1,8fd3,8fd5,8fe2,8fe2,8fe4,8fe6,8fe8,8fe8,8fea,8fed,8ff0,8ff0,8ff2,8ff2,8ff4,8ff4,8ff7,8ffa,8ffc,8ffd,8fff,9003,9005,9006,9008,9008,900b,9011,9014,9017,9019,901a,901d,9023,902e,902e,9031,9032,9034,9036,9038,9038,903c,903c,903e,903e,9041,9042,9047,9047,9049,904b,904d,9055,9058,9059,905b,905e,9060,9061,9063,9063,9068,9069,906c,906f,9072,9072,9075,9078,907a,907a,907c,9085,9087,9088,908a,908a,908c,908d,908f,9091,9095,9095,9097,9099,90a0,90a0,90a2,90a3,90a6,90a6,90a8,90a8,90aa,90aa,90af,90b1,90b3,90b3,90b5,90b5,90b8,90b8,90bd,90be,90c1,90c1,90c3,90c5,90ca,90ca,90ce,90ce,90dc,90de,90e1,90e2,90e8,90e8,90ea,90eb,90ed,90ed,90ef,90ef,90f3,90f5,90fd,90fd,9102,9102,9112,9112,9115,9117,9119,9119,911e,911e,9122,9123,9127,9127,912d,912d,9130,9132,9134,9134,913d,913d,9148,914e,9152,9152,9156,9157,9162,9165,9169,916a,916c,916c,9172,9172,9174,9179,9183,9183,9187,9187,9189,9189,918b,918b,918d,918d,9190,9190,9192,9192,919c,919c,919e,919e,91a2,91a2,91aa,91ac,91ae,91af,91b1,91b2,91b4,91b5,91bc,91bc,91c0,91c1,91c3,91c3,91c5,91c7,91c9,91c9,91cb,91d1,91d7,91d8,91dc,91dd,91e3,91e7,91e9,91ea,91ed,91ed,91f5,91f5,91ff,91ff,9207,9207,920d,920d,9210,9212,9214,9215,9217,9217,921c,921c,921e,921f,9226,9226,9231,9231,9234,9235,9237,9238,923a,923a,923f,9241,9244,9245,9249,9249,924b,924b,924d,9252,9257,9257,925b,925b,925e,925e,9262,9262,9264,9266,9277,9278,927c,927c,927e,927e,9280,9280,9283,9283,9285,9285,928b,928b,9291,9291,9293,9293,9295,9296,9298,929c,92b3,92b4,92b6,92b7,92b9,92b9,92c6,92c6,92cc,92cc,92cf,92cf,92d1,92d2,92d5,92d5,92d7,92d7,92df,92df,92e4,92e5,92ea,92ea,92f2,92f2,92f8,92fa,92fc,92fe,9300,9300,9304,9304,9306,9306,930f,9310,9315,9315,9318,931a,931e,9324,9326,9328,932a,932c,932e,932f,9348,934b,934d,934d,9351,9351,9354,9354,9357,9357,935b,935d,9364,9365,936b,936c,936e,936e,9370,9370,9372,9372,9375,9375,937c,937c,937e,937e,938a,938a,938c,938c,9394,9394,9396,9397,939a,939b,939f,93a1,93a3,93a4,93a7,93a7,93ac,93ad,93b0,93b0,93bb,93bb,93c3,93c3,93c7,93c8,93ca,93cc,93d1,93d1,93d6,93d8,93dc,93df,93e1,93e2,93e4,93e4,93e6,93e6,93e8,93e8,93f6,93f6,93f8,93f9,93fb,93fb,9403,9404,940f,9410,9413,9414,9418,9419,9425,9425,942a,942b,9435,9436,9438,9438,943a,943a,9442,9442,9444,9444,944a,944a,944c,944c,9451,9452,9455,9455,945b,945b,945e,945e,9460,9460,9462,9463,946a,946b,9470,9472,9475,9475,9477,9477,947c,947f,9485,9485,9577,9578,957f,9580,9583,9583,9588,958b,958e,958f,9591,9594,9598,9598,959c,959c,959f,95a0,95a2,95a5,95a8,95a9,95ab,95ad,95b1,95b1,95b6,95b6,95b9,95b9,95bb,95be,95c3,95c3,95c7,95c8,95ca,95cd,95d3,95d6,95da,95da,95dc,95dc,95de,95de,95e0,95e2,95e5,95e5,95e8,95e8,961c,961d,9621,9621,9624,9624,9627,962a,962d,962f,9632,9632,963b,963b,963f,9640,9642,9642,9644,9644,964b,964d,9650,9650,9654,9654,9656,9656,9658,9658,965b,965f,9661,9664,966a,966a,966c,966c,9670,9670,9672,9679,967c,967d,9684,9686,968a,968b,968d,968f,9691,9691,9694,9695,9697,9698,969b,969c,96a3,96a4,96a7,96aa,96b0,96b1,96b3,96b4,96b6,96b9,96bb,96bc,96c0,96c1,96c4,96c7,96c9,96c9,96cb,96ce,96d5,96d6,96d9,96de,96e2,96e3,96e8,96ea,96ef,96f0,96f2,96f2,96f6,96f7,96f9,96fb,9700,9700,9704,9709,970c,970f,9711,9711,9713,9714,9716,9716,9719,9719,971c,971c,971e,971e,9723,9723,9726,9727,972a,972a,9730,9730,9732,9732,9738,9739,973d,973d,9742,9742,9744,9744,9746,9746,9748,9749,974c,974c,9751,9752,9755,9756,9758,975e,9760,9762,9766,9766,9768,9769,976d,976d,9773,9775,9777,9777,977a,977a,977c,977c,9780,9781,9784,9785,978b,978b,978d,978d,978f,978f,9798,9798,97a0,97a0,97a3,97a3,97a6,97a6,97a8,97a8,97ab,97ad,97b1,97b1,97b4,97b4,97b8,97b9,97c1,97c1,97c3,97c3,97c6,97c6,97cb,97cd,97d0,97d0,97d3,97d3,97d9,97d9,97dc,97de,97e0,97e1,97e6,97e6,97ed,97ee,97f1,97f3,97f5,97f6,97fa,97fb,97fe,9803,9805,9806,9808,9808,980a,980a,980c,9813,9816,9818,981e,981e,9821,9821,9823,9824,9826,9826,982b,982b,982d,982e,9830,9830,9832,9832,9837,9839,983b,983c,983f,983f,9842,9842,9846,9848,984b,984e,9852,9855,9858,985a,985c,985c,985e,985e,9865,9867,986b,986b,986f,9871,9873,9875,98a8,98a8,98ad,98ad,98af,98af,98b1,98b2,98b6,98b6,98ba,98ba,98bc,98bc,98bf,98bf,98c2,98c2,98c4,98c4,98c6,98c7,98c9,98c9,98cb,98cb,98ce,98ce,98db,98dc,98de,98e2,98e6,98e7,98ea,98eb,98ed,98ef,98f1,98f1,98f4,98f4,98fb,98fe,9903,9903,9909,990a,990c,990c,9910,9910,9912,9915,9918,9918,991a,991a,991e,991e,9920,9920,9926,9928,992a,992a,992c,992c,992e,992e,9930,9931,9933,9933,9939,9939,993c,993d,9942,9942,9945,9945,9948,9949,994b,994d,9950,9952,9954,9955,9957,9957,995c,995c,995e,995e,9963,9963,9996,9999,999c,999d,999f,999f,99a1,99a1,99a3,99a3,99a5,99a5,99a7,99a8,99aa,99aa,99ac,99ae,99b0,99b1,99b3,99b4,99b6,99b6,99b9,99b9,99c1,99c1,99c4,99c5,99c8,99c9,99cf,99d2,99d5,99d5,99d8,99d9,99db,99df,99e2,99e2,99e8,99e8,99ea,99ea,99ed,99ee,99f1,99f1,99f8,99f8,99fa,99fb,99fd,99fd,99ff,99ff,9a01,9a05,9a08,9a08,9a0b,9a0b,9a0d,9a0f,9a11,9a11,9a16,9a16,9a18,9a19,9a1b,9a1b,9a2b,9a2b,9a2d,9a2d,9a30,9a30,9a35,9a38,9a3e,9a3e,9a40,9a45,9a4a,9a4a,9a4c,9a4f,9a52,9a52,9a55,9a55,9a57,9a58,9a5a,9a5b,9a5f,9a5f,9a62,9a62,9a64,9a65,9a69,9a6a,9a6c,9a6c,9aa8,9aa8,9aaa,9aaa,9ab0,9ab0,9ab8,9ab9,9abc,9abc,9abf,9ac0,9ac6,9ac6,9acf,9acf,9ad1,9ad1,9ad3,9ad4,9ad6,9ad8,9adf,9adf,9ae1,9ae1,9ae3,9ae3,9ae5,9ae6,9aeb,9aeb,9aed,9aee,9af0,9af0,9af2,9af2,9af4,9af4,9af9,9afb,9afd,9afd,9b02,9b02,9b05,9b06,9b0a,9b0b,9b0d,9b0d,9b10,9b10,9b12,9b12,9b16,9b16,9b18,9b1a,9b1f,9b1f,9b22,9b23,9b25,9b25,9b27,9b2a,9b2e,9b2f,9b31,9b32,9b3a,9b3a,9b3c,9b3c,9b41,9b45,9b48,9b48,9b4b,9b4b,9b4d,9b4f,9b51,9b51,9b54,9b54,9b58,9b58,9b5a,9b5a,9b66,9b66,9b6f,9b6f,9b74,9b74,9b80,9b80,9b83,9b83,9b8e,9b8e,9b90,9b93,9b97,9b97,9b9f,9b9f,9ba7,9ba8,9baa,9bab,9bad,9bae,9bb9,9bb9,9bc1,9bc1,9bc6,9bc6,9bc9,9bca,9bd4,9bd4,9bd6,9bd6,9bdb,9bdb,9be2,9be2,9be4,9be4,9be8,9be8,9bf7,9bf7,9c08,9c08,9c0a,9c0a,9c0c,9c0d,9c10,9c10,9c12,9c13,9c15,9c15,9c24,9c25,9c2d,9c2f,9c31,9c32,9c35,9c35,9c39,9c3b,9c3e,9c3e,9c47,9c47,9c49,9c49,9c4f,9c4f,9c52,9c53,9c57,9c57,9c60,9c60,9c63,9c63,9c67,9c67,9c78,9c78,9c7b,9c7c,9ce5,9ce7,9ce9,9ce9,9cf3,9cf4,9cf6,9cf6,9d03,9d03,9d06,9d09,9d0c,9d0c,9d12,9d12,9d15,9d15,9d18,9d19,9d1b,9d1b,9d1e,9d1f,9d23,9d23,9d25,9d26,9d28,9d28,9d2f,9d30,9d36,9d36,9d3b,9d3b,9d41,9d42,9d44,9d44,9d51,9d51,9d53,9d54,9d5d,9d5e,9d60,9d61,9d66,9d66,9d69,9d69,9d6c,9d6c,9d6f,9d70,9d72,9d72,9d77,9d77,9d7b,9d7b,9d7e,9d7e,9d84,9d84,9d89,9d8a,9d96,9d96,9d9a,9d9a,9da1,9da1,9da4,9da4,9da9,9da9,9dac,9dac,9daf,9daf,9db4,9db5,9db8,9db9,9dbb,9dbb,9dbf,9dbf,9dc1,9dc2,9dc4,9dc4,9dc7,9dc7,9dd3,9dd3,9dd6,9dd7,9dd9,9dd9,9de6,9de6,9de9,9deb,9df0,9df3,9df8,9dfa,9dfd,9dfd,9dff,9dff,9e07,9e07,9e0f,9e0f,9e15,9e15,9e1a,9e1f,9e75,9e75,9e77,9e77,9e79,9e7b,9e7d,9e7d,9e7f,9e80,9e82,9e82,9e84,9e84,9e8b,9e8c,9e8f,9e8f,9e91,9e93,9e97,9e98,9e9d,9e9f,9ea4,9ea6,9ea9,9eaa,9eaf,9eaf,9eb4,9eb5,9ebb,9ebb,9ebd,9ebf,9ec3,9ec5,9ecc,9ed1,9ed4,9ed4,9ed6,9ed6,9ed8,9ed8,9eda,9ede,9ee0,9ee0,9ee5,9ee5,9ee8,9ee8,9eee,9eef,9ef2,9ef2,9ef4,9ef7,9ef9,9f00,9f02,9f02,9f04,9f04,9f07,9f0a,9f0e,9f0e,9f10,9f10,9f13,9f14,9f17,9f17,9f19,9f19,9f20,9f20,9f22,9f22,9f2b,9f2c,9f2f,9f2f,9f34,9f34,9f38,9f39,9f3b,9f3b,9f3e,9f3e,9f4a,9f4b,9f4e,9f4e,9f50,9f50,9f52,9f52,9f54,9f55,9f57,9f57,9f5f,9f61,9f66,9f67,9f69,9f6c,9f72,9f72,9f76,9f77,9f7f,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f95,9f99,9f99,9f9c,9f9d,9f9f,9fa0,9fa2,9fa2,9fa5,9fa5,a960,a97c,ac00,d7a3,d7b0,d7c6,d7cb,d7fb,f900,f95e,f960,f9a9,f9ab,fa0b,fa12,fa12,fa15,fa17,fa19,fa1e,fa22,fa22,fa26,fa26,fa2a,fa2c,fa2e,fa31,fa33,fa3d,fa3f,fa3f,fa41,fa41,fa43,fa55,fa57,fa57,fa59,fa68,fa6a,fa6a,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,200d7,200d7,2012c,2012c,205ca,205ca,20628,20628,20984,20984,21155,21155,2128d,2128d,21594,21594,21727,21727,21f5c,21f5c,224b0,224b0,224ed,224ed,2294f,2294f,22c6f,22c6f,22ee0,22ee0,230fd,230fd,23343,23343,2363b,2363b,23ad9,23ad9,242f1,242f1,2439d,2439d,248e9,248e9,248f0,248f0,24a01,24a01,24a12,24a12,25055,25055,2533e,2533e,253b5,253b5,253fe,253fe,25832,25832,2583a,2583a,25874,25874,25978,25978,25ad7,25ad7,25b97,25b97,25e44,25e44,26057,26057,265a4,265a4,267d8,267d8,26951,26951,27144,27144,275ff,275ff,27625,27625,278b2,278b2,27a51,27a51,27b02,27b02,27cef,27cef,27e7d,27e7d,27f1b,27f1b,27fb7,27fb7,283f6,283f6,284dc,284dc,28d8a,28d8a,28da1,28da1,28e0f,28e0f,291d5,291d5,291e3,291e3,294de,294de,29509,29509,2967f,2967f,29810,29810,2983b,2983b,2a2ad,2a2ad,2a4d0,2a4d0,2a664,2a664,2c115,2c115,2c7d3,2c7d3,2d544,2d544,2e569,2e569,2f815,2f815,2f818,2f818,2f81a,2f81a,2f82c,2f82c,2f833,2f833,2f852,2f852,2f862,2f862,2f877,2f877,2f884,2f884,2f8b2,2f8b2,2f8ed,2f8ed,2f8fc,2f8fc,2f920,2f920,2f96c,2f96c,2f9d0,2f9d0,2f9df,2f9df,30729,30729,30ede,30ede,]), - NotoFont.fromFlatList('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [20,20,2d,2d,a0,a0,966,96f,200b,200d,2010,2010,25cc,25cc,a830,a839,11080,110c1,110cd,110cd,]), - NotoFont.fromFlatList('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v21/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,c80,c8c,c8e,c90,c92,ca8,caa,cb3,cb5,cb9,cbc,cc4,cc6,cc8,cca,ccd,cd5,cd6,cde,cde,ce0,ce3,ce6,cef,cf1,cf2,1cd0,1cd0,1cd2,1cd2,1cda,1cda,1cf2,1cf2,1cf4,1cf5,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a830,a835,]), - NotoFont.fromFlatList('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [20,20,2d,2d,a0,a0,200c,200d,2010,2010,25cc,25cc,a900,a92f,]), - NotoFont.fromFlatList('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [20,20,2d,2d,a0,a0,200b,200d,2010,2010,25cc,25cc,10a00,10a03,10a05,10a06,10a0c,10a13,10a15,10a17,10a19,10a35,10a38,10a3a,10a3f,10a48,10a50,10a58,]), - NotoFont.fromFlatList('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v18/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1780,17dd,17e0,17e9,17f0,17f9,19e0,19ff,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [20,20,a0,a0,ae6,aef,200c,200d,25cc,25cc,a830,a839,11200,11211,11213,1123e,]), - NotoFont.fromFlatList('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [20,20,a0,a0,964,965,200c,200d,2013,2014,25cc,25cc,a830,a839,112b0,112ea,112f0,112f9,]), - NotoFont.fromFlatList('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v24/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,e81,e82,e84,e84,e87,e88,e8a,e8a,e8d,e8d,e94,e97,e99,e9f,ea1,ea3,ea5,ea5,ea7,ea7,eaa,eab,ead,eb9,ebb,ebd,ec0,ec4,ec6,ec6,ec8,ecd,ed0,ed9,edc,edf,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ad,2122,2122,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [20,20,a0,a0,1c00,1c37,1c3b,1c49,1c4d,1c4f,200b,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [20,20,a0,a0,965,965,1900,191e,1920,192b,1930,193b,1940,1940,1944,194f,200b,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [20,20,a0,a0,10600,10736,10740,10755,10760,10767,]), - NotoFont.fromFlatList('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [20,20,a0,a0,10000,1000b,1000d,10026,10028,1003a,1003c,1003d,1003f,1004d,10050,1005d,10080,100fa,10100,10102,10107,10133,10137,1013f,]), - NotoFont.fromFlatList('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v21/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2cd,2cd,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,1e80,1e85,1e9e,1e9e,1ef2,1ef3,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,300a,300b,a4d0,a4ff,11fb0,11fb0,]), - NotoFont.fromFlatList('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [20,20,a0,a0,10280,1029c,]), - NotoFont.fromFlatList('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [20,20,a0,a0,10920,10939,1093f,1093f,]), - NotoFont.fromFlatList('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [20,20,a0,a0,964,96f,200c,200d,25cc,25cc,a830,a839,11150,11176,]), - NotoFont.fromFlatList('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v21/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,323,323,326,328,951,952,964,965,d00,d0c,d0e,d10,d12,d44,d46,d48,d4a,d4f,d54,d63,d66,d7f,1cda,1cda,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a830,a832,]), - NotoFont.fromFlatList('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [20,20,a0,a0,640,640,840,85b,85e,85e,200c,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [20,20,a0,a0,640,640,200c,200d,25cc,25cc,fe00,fe00,10ac0,10ae6,10aeb,10af6,]), - NotoFont.fromFlatList('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [20,20,a0,a0,25cc,25cc,11c70,11c8f,11c92,11ca7,11ca9,11cb6,]), - NotoFont.fromFlatList('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [20,22,25,25,27,2f,3a,3f,a0,a0,d7,d7,f7,f7,964,965,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,11d00,11d06,11d08,11d09,11d0b,11d36,11d3a,11d3a,11d3c,11d3d,11d3f,11d47,11d50,11d59,]), - NotoFont.fromFlatList('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [20,7e,a0,a0,a7,a7,ac,ac,b1,b1,d7,d7,f7,f7,302,303,305,305,307,308,330,330,391,3a1,3a3,3a9,3b1,3c9,3d1,3d1,3d5,3d6,3f0,3f1,3f4,3f5,2032,2037,2057,2057,20d0,20dc,20e1,20e1,20e5,20ef,2102,2102,210a,210e,2110,2112,2115,2115,2119,211d,2124,2124,2128,2128,212c,212d,212f,2131,2133,2138,213c,2140,2145,2149,2190,21ae,21b0,21e5,21f1,21f2,21f4,22ff,2308,230b,2310,2310,2319,2319,231c,2321,2336,237a,237c,237c,2395,2395,239b,23b6,23d0,23d0,23dc,23e1,2474,2475,25af,25af,25b3,25b3,25b7,25b7,25bd,25bd,25c1,25c1,25ca,25ca,25cc,25cc,25fb,25fb,266d,266f,27c0,27ff,2900,2aff,2b0e,2b11,2b30,2b4c,2bfe,2bfe,ff5b,ff5b,ff5d,ff5d,1d400,1d454,1d456,1d49c,1d49e,1d49f,1d4a2,1d4a2,1d4a5,1d4a6,1d4a9,1d4ac,1d4ae,1d4b9,1d4bb,1d4bb,1d4bd,1d4c3,1d4c5,1d505,1d507,1d50a,1d50d,1d514,1d516,1d51c,1d51e,1d539,1d53b,1d53e,1d540,1d544,1d546,1d546,1d54a,1d550,1d552,1d6a5,1d6a8,1d7cb,1d7ce,1d7ff,1ee00,1ee03,1ee05,1ee1f,1ee21,1ee22,1ee24,1ee24,1ee27,1ee27,1ee29,1ee32,1ee34,1ee37,1ee39,1ee39,1ee3b,1ee3b,1ee42,1ee42,1ee47,1ee47,1ee49,1ee49,1ee4b,1ee4b,1ee4d,1ee4f,1ee51,1ee52,1ee54,1ee54,1ee57,1ee57,1ee59,1ee59,1ee5b,1ee5b,1ee5d,1ee5d,1ee5f,1ee5f,1ee61,1ee62,1ee64,1ee64,1ee67,1ee6a,1ee6c,1ee72,1ee74,1ee77,1ee79,1ee7c,1ee7e,1ee7e,1ee80,1ee89,1ee8b,1ee9b,1eea1,1eea3,1eea5,1eea9,1eeab,1eebb,1eef0,1eef1,]), - NotoFont.fromFlatList('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [20,20,a0,a0,1d2e0,1d2f3,]), - NotoFont.fromFlatList('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [20,20,a0,a0,16e40,16e9a,]), - NotoFont.fromFlatList('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,aae0,aaf6,abc0,abed,abf0,abf9,]), - NotoFont.fromFlatList('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [20,20,3a,3a,a0,a0,2026,2026,205d,205d,10980,109b7,109bc,109cf,109d2,109ff,]), - NotoFont.fromFlatList('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [20,20,a0,a0,25cc,25cc,16f00,16f4a,16f4f,16f87,16f8f,16f9f,]), - NotoFont.fromFlatList('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,a830,a839,11600,11644,11650,11659,]), - NotoFont.fromFlatList('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [20,22,28,29,2d,2d,3f,3f,a0,a0,1800,180e,1810,1819,1820,1878,1880,18aa,200c,200d,2013,2014,201c,201d,202f,202f,2048,2049,2460,2473,25cc,25cc,3001,3002,300a,300f,fe3d,fe3e,fe41,fe44,11660,1166c,]), - NotoFont.fromFlatList('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [20,20,a0,a0,16a40,16a5e,16a60,16a69,16a6e,16a6f,]), - NotoFont.fromFlatList('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [20,20,a0,a0,a66,a6f,11280,11286,11288,11288,1128a,1128d,1128f,1129d,1129f,112a9,]), - NotoFont.fromFlatList('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [20,20,3f,3f,a0,a0,1000,109f,200b,200d,2018,2019,201c,201d,2026,2026,25cc,25cc,a92e,a92e,a9e0,a9fe,aa60,aa7f,fe00,fe00,]), - NotoFont.fromFlatList('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [20,20,a0,a0,60c,60c,61b,61b,61f,61f,66a,66a,7c0,7fa,7fd,7ff,200c,200f,25cc,25cc,2e1c,2e1d,fd3e,fd3f,]), - NotoFont.fromFlatList('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [20,20,a0,a0,10880,1089e,108a7,108af,]), - NotoFont.fromFlatList('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [20,20,a0,a0,1980,19ab,19b0,19c9,19d0,19da,19de,19df,200c,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [20,20,a0,a0,b7,b7,1dfb,1dfb,200c,200d,25cc,25cc,11400,1145b,1145d,11461,]), - NotoFont.fromFlatList('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [20,20,a0,a0,16fe1,16fe1,1b170,1b2fb,]), - NotoFont.fromFlatList('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [20,20,a0,a0,1680,169c,]), - NotoFont.fromFlatList('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [20,20,a0,a0,1c50,1c7f,20b9,20b9,]), - NotoFont.fromFlatList('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [20,20,a0,a0,200d,200d,10c80,10cb2,10cc0,10cf2,10cfa,10cff,]), - NotoFont.fromFlatList('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [20,20,a0,a0,10300,10323,1032d,1032f,]), - NotoFont.fromFlatList('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [20,20,a0,a0,10a80,10a9f,]), - NotoFont.fromFlatList('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [20,20,a0,a0,300,300,306,308,313,313,483,483,20db,20db,25cc,25cc,10350,1037a,]), - NotoFont.fromFlatList('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [20,20,a0,a0,103a0,103c3,103c8,103d5,]), - NotoFont.fromFlatList('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [20,20,a0,a0,10f00,10f27,]), - NotoFont.fromFlatList('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [20,20,a0,a0,10a60,10a7f,]), - NotoFont.fromFlatList('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [20,20,a0,a0,10c00,10c48,]), - NotoFont.fromFlatList('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [20,23,25,25,27,2c,2e,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,964,965,b01,b03,b05,b0c,b0f,b10,b13,b28,b2a,b30,b32,b33,b35,b39,b3c,b44,b47,b48,b4b,b4d,b56,b57,b5c,b5d,b5f,b63,b66,b77,200b,200d,2010,2010,2013,2014,2018,2019,201c,201d,2026,2026,20b9,20b9,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [20,20,a0,a0,301,301,304,304,30b,30b,358,358,25cc,25cc,104b0,104d3,104d8,104fb,]), - NotoFont.fromFlatList('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [20,20,a0,a0,10480,1049d,104a0,104a9,]), - NotoFont.fromFlatList('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,16b00,16b45,16b50,16b59,16b5b,16b61,16b63,16b77,16b7d,16b8f,]), - NotoFont.fromFlatList('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [20,20,a0,a0,10860,1087f,]), - NotoFont.fromFlatList('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [20,20,a0,a0,11ac0,11af8,]), - NotoFont.fromFlatList('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [20,20,a0,a0,1801,1803,1805,1805,200b,200f,2025,2026,25cc,25cc,3001,3002,3007,3011,3014,301b,a840,a877,fe00,fe00,]), - NotoFont.fromFlatList('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [20,20,a0,a0,10900,1091b,1091f,1091f,]), - NotoFont.fromFlatList('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [20,20,a0,a0,640,640,200c,200d,25cc,25cc,10b80,10b91,10b99,10b9c,10ba9,10baf,]), - NotoFont.fromFlatList('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a930,a953,a95f,a95f,]), - NotoFont.fromFlatList('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [20,20,a0,a0,16a0,16f8,]), - NotoFont.fromFlatList('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,4db5,4e00,9fef,f900,f903,f905,f906,f90b,f90c,f915,f915,f917,f91a,f921,f921,f92c,f92d,f92f,f92f,f931,f935,f937,f93a,f943,f943,f947,f94a,f94e,f94e,f952,f953,f95e,f95e,f962,f967,f96e,f96e,f972,f972,f974,f974,f976,f976,f979,f97b,f97e,f980,f984,f985,f98a,f98c,f98e,f98e,f993,f993,f995,f995,f998,f998,f9ae,f9ae,f9b3,f9b3,f9b7,f9b7,f9bb,f9bb,f9bd,f9be,f9c0,f9c0,f9c5,f9c6,f9d0,f9d0,f9d8,f9d9,f9dc,f9e0,f9e2,f9e4,f9e7,f9e7,f9e9,f9e9,f9f1,f9f1,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0f,fa11,fa11,fa13,fa14,fa18,fa18,fa1f,fa21,fa23,fa24,fa27,fa29,fa2f,fa2f,fa33,fa35,fa37,fa38,fa3a,fa3a,fa47,fa47,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20087,20087,20089,20089,200cc,200cc,20164,20164,20628,20628,20676,20676,20cd0,20cd0,2139a,2139a,21413,21413,215d7,215d7,2298f,2298f,235cb,235cb,23c97,23c98,23e23,23e23,241fe,241fe,2420e,2420e,248e9,248e9,249db,249db,24a01,24a01,24a7d,24a7d,24ac9,24ac9,25532,25532,25562,25562,255a8,255a8,25ad7,25ad7,25ed7,25ed7,26221,26221,2648d,2648d,26676,26676,2677c,2677c,26951,26951,26b5c,26b5c,26c21,26c21,278b2,278b2,27eaf,27eaf,27fb7,27fb7,27ff9,27ff9,28408,28408,28678,28678,28695,28695,287e0,287e0,28b49,28b49,28c47,28c47,28c4f,28c4f,28c51,28c51,28c54,28c54,28e0f,28e0f,28e99,28e99,2967f,2967f,29810,29810,29f7e,29f7e,29f83,29f83,29f8c,29f8c,2a7dd,2a7dd,2a8fb,2a8fb,2a917,2a917,2aa30,2aa30,2aa36,2aa36,2aa58,2aa58,2afa2,2afa2,2b127,2b128,2b137,2b138,2b1ed,2b1ed,2b300,2b300,2b363,2b363,2b36f,2b36f,2b372,2b372,2b37d,2b37d,2b404,2b404,2b410,2b410,2b413,2b413,2b461,2b461,2b4e7,2b4e7,2b4ef,2b4ef,2b4f6,2b4f6,2b4f9,2b4f9,2b50d,2b50e,2b536,2b536,2b5ae,2b5af,2b5b3,2b5b3,2b5e7,2b5e7,2b5f4,2b5f4,2b61c,2b61d,2b626,2b628,2b62a,2b62a,2b62c,2b62c,2b695,2b696,2b6ad,2b6ad,2b6ed,2b6ed,2b7a9,2b7a9,2b7c5,2b7c5,2b7e6,2b7e6,2b7f9,2b7f9,2b7fc,2b7fc,2b806,2b806,2b80a,2b80a,2b81c,2b81c,2b8b8,2b8b8,2bac7,2bac7,2bb5f,2bb5f,2bb62,2bb62,2bb7c,2bb7c,2bb83,2bb83,2bc1b,2bc1b,2bd77,2bd77,2bd87,2bd87,2bdf7,2bdf7,2be29,2be29,2c029,2c02a,2c0a9,2c0a9,2c0ca,2c0ca,2c1d5,2c1d5,2c1d9,2c1d9,2c1f9,2c1f9,2c27c,2c27c,2c288,2c288,2c2a4,2c2a4,2c317,2c317,2c35b,2c35b,2c361,2c361,2c364,2c364,2c488,2c488,2c494,2c494,2c497,2c497,2c542,2c542,2c613,2c613,2c618,2c618,2c621,2c621,2c629,2c629,2c62b,2c62d,2c62f,2c62f,2c642,2c642,2c64a,2c64b,2c72c,2c72c,2c72f,2c72f,2c79f,2c79f,2c7c1,2c7c1,2c7fd,2c7fd,2c8d9,2c8d9,2c8de,2c8de,2c8e1,2c8e1,2c8f3,2c8f3,2c907,2c907,2c90a,2c90a,2c91d,2c91d,2ca02,2ca02,2ca0e,2ca0e,2ca7d,2ca7d,2caa9,2caa9,2cb29,2cb29,2cb2d,2cb2e,2cb31,2cb31,2cb38,2cb39,2cb3b,2cb3b,2cb3f,2cb3f,2cb41,2cb41,2cb4a,2cb4a,2cb4e,2cb4e,2cb5a,2cb5b,2cb64,2cb64,2cb69,2cb69,2cb6c,2cb6c,2cb6f,2cb6f,2cb73,2cb73,2cb76,2cb76,2cb78,2cb78,2cb7c,2cb7c,2cbb1,2cbb1,2cbbf,2cbc0,2cbce,2cbce,2cc56,2cc56,2cc5f,2cc5f,2ccf5,2ccf6,2ccfd,2ccfd,2ccff,2ccff,2cd02,2cd03,2cd0a,2cd0a,2cd8b,2cd8b,2cd8d,2cd8d,2cd8f,2cd90,2cd9f,2cda0,2cda8,2cda8,2cdad,2cdae,2cdd5,2cdd5,2ce18,2ce18,2ce1a,2ce1a,2ce23,2ce23,2ce26,2ce26,2ce2a,2ce2a,2ce7c,2ce7c,2ce88,2ce88,2ce93,2ce93,2d544,2d544,2f884,2f884,2f8b6,2f8b6,30edd,30ede,3106c,3106c,]), - NotoFont.fromFlatList('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a880,a8c5,a8ce,a8d9,]), - NotoFont.fromFlatList('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [20,20,a0,a0,951,951,1cd7,1cd7,1cd9,1cd9,1cdc,1cdd,1ce0,1ce0,200c,200d,25cc,25cc,11180,111df,]), - NotoFont.fromFlatList('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [20,20,a0,a0,10450,1047f,]), - NotoFont.fromFlatList('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [20,20,a0,a0,200c,200d,25cc,25cc,11580,115b5,115b8,115dd,]), - NotoFont.fromFlatList('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [20,23,25,25,27,3f,5b,5f,7b,7e,a0,a0,ad,ad,d7,d7,f7,f7,964,965,d81,d83,d85,d96,d9a,db1,db3,dbb,dbd,dbd,dc0,dc6,dca,dca,dcf,dd4,dd6,dd6,dd8,ddf,de6,def,df2,df4,200b,200d,2013,2014,2018,2019,201c,201d,2026,2026,2212,2212,25cc,25cc,111e1,111f4,]), - NotoFont.fromFlatList('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [20,20,a0,a0,640,640,200c,200c,25cc,25cc,10f30,10f59,]), - NotoFont.fromFlatList('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [20,20,2d,2d,a0,a0,2010,2010,110d0,110e8,110f0,110f9,]), - NotoFont.fromFlatList('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [20,20,a0,a0,25cc,25cc,11a50,11aa2,]), - NotoFont.fromFlatList('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [20,20,2d,2d,a0,a0,1b80,1bbf,1cc0,1cc7,200b,200d,2010,2010,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [20,20,a0,a0,964,965,9e6,9ef,200b,200d,2010,2011,2055,2055,25cc,25cc,a800,a82c,]), - NotoFont.fromFlatList('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [20,21,28,2b,2d,2f,3a,3a,3d,3d,5b,5d,a0,a0,ab,ab,b0,b0,bb,bb,303,304,307,308,30a,30a,320,320,323,325,32d,32e,330,331,60c,60c,61b,61b,61f,61f,621,621,640,640,64b,655,660,66c,670,670,700,70d,70f,74a,74d,74f,200c,200f,2026,2026,2044,2044,2212,2212,25cc,25cc,2670,2671,]), - NotoFont.fromFlatList('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [20,7e,a0,103,110,113,11a,11b,128,12b,143,144,147,148,14c,14f,152,153,168,16d,192,192,1a0,1a1,1af,1b0,1cd,1dc,1f8,1f9,251,251,261,261,2bb,2bb,2c7,2c7,2c9,2cb,2d9,2d9,2ea,2eb,300,301,304,304,307,307,30c,30c,391,3a1,3a3,3a9,3b1,3c9,401,401,410,44f,451,451,1e3e,1e3f,1ea0,1ef9,2002,2003,2010,2016,2018,201a,201c,201e,2020,2022,2025,2027,2030,2030,2032,2033,2035,2035,2039,203c,2042,2042,2047,2049,2051,2051,2074,2074,20a9,20a9,20ab,20ac,20dd,20de,2100,2100,2103,2103,2105,2105,2109,210a,210f,210f,2113,2113,2116,2116,2121,2122,2126,2127,212b,212b,212e,212e,2135,2135,213b,213b,2160,216b,2170,217b,2190,2199,21b8,21b9,21c4,21c6,21cb,21cc,21d0,21d0,21d2,21d2,21d4,21d4,21e6,21e9,21f5,21f5,2200,2200,2202,2203,2205,220b,220f,220f,2211,2213,2215,2215,221a,221a,221d,2220,2223,2223,2225,222e,2234,2237,223d,223d,2243,2243,2245,2245,2248,2248,224c,224c,2252,2252,2260,2262,2264,2267,226a,226b,226e,226f,2272,2273,2276,2277,2282,2287,228a,228b,2295,2299,22a0,22a0,22a5,22a5,22bf,22bf,22da,22db,22ef,22ef,2305,2307,2312,2312,2318,2318,2329,232a,23b0,23b1,23be,23cc,23ce,23ce,23da,23db,2423,2423,2460,25ab,25b1,25b3,25b6,25b7,25bc,25bd,25c0,25c1,25c6,25cc,25ce,25d3,25e2,25e6,25ef,25ef,2600,2603,2605,2606,2609,2609,260e,260f,2616,2617,261c,261f,262f,262f,2640,2642,2660,266f,2672,267d,26a0,26a0,26bd,26be,2702,2702,2713,2713,271a,271a,273d,273d,273f,2740,2756,2756,2776,2793,27a1,27a1,2934,2935,29bf,29bf,29fa,29fb,2b05,2b07,2b1a,2b1a,2b95,2b95,2e3a,2e3b,2e80,2e99,2e9b,2ef3,2f00,2fd5,2ff0,2ffb,3000,303f,3041,3096,3099,30ff,3105,312f,3131,3163,3165,318e,3190,31bb,31c0,31e3,31f0,321e,3220,332b,332d,33ff,3435,3435,3440,3440,344a,344a,344c,344c,3464,3464,3473,3473,347a,347a,347d,347e,3493,3493,3496,3496,34a5,34a5,34af,34af,34bc,34bc,34c1,34c1,34c8,34c8,34df,34df,34e4,34e4,34e6,34e6,34fb,34fb,3506,3506,353e,353e,3551,3551,3553,3553,3559,3559,3561,3561,356d,356d,3570,3570,3572,3572,3577,3578,3584,3584,3597,3598,35a1,35a1,35a5,35a5,35ad,35ad,35bf,35bf,35c1,35c1,35c5,35c5,35c7,35c7,35ca,35ca,35ce,35ce,35d2,35d2,35d6,35d6,35db,35db,35dd,35dd,35f1,35f3,35fb,35fb,35fe,35fe,3609,3609,3618,3618,361a,361a,3623,3623,3625,3625,362d,362d,3635,3635,3639,3639,363e,363e,3647,3649,364e,364e,365f,365f,3661,3661,367a,367a,3681,3681,369a,369a,36a5,36a5,36aa,36aa,36ac,36ac,36b0,36b1,36b5,36b5,36b9,36b9,36bc,36bc,36c1,36c1,36c3,36c5,36c7,36c8,36d3,36d4,36d6,36d6,36dd,36dd,36e1,36e2,36e5,36e6,36f5,36f5,3701,3701,3703,3703,3708,3708,370a,370a,370d,370d,371c,371c,3722,3723,3725,3725,372c,372d,3730,3730,3732,3733,373a,373a,3740,3740,3743,3743,3762,3762,376f,376f,3797,3797,37a0,37a0,37b9,37b9,37be,37be,37d6,37d6,37f2,37f2,37f8,37f8,37fb,37fb,380f,380f,3819,3819,3820,3820,382d,382d,3836,3836,3838,3838,3863,3863,3875,3875,38a0,38a0,38c3,38c3,38cc,38cc,38d1,38d1,38d4,38d4,38fa,38fa,3908,3908,3914,3914,3927,3927,3932,3932,393f,393f,394d,394d,3963,3963,3978,3978,3980,3980,3989,398a,3992,3992,3999,3999,399b,399b,39a1,39a1,39a4,39a4,39b8,39b8,39dc,39dc,39e2,39e2,39e5,39e5,39ec,39ec,39f8,39f8,39fb,39fb,39fe,39fe,3a01,3a01,3a03,3a03,3a06,3a06,3a17,3a18,3a29,3a2a,3a34,3a34,3a4b,3a4b,3a52,3a52,3a57,3a57,3a5c,3a5c,3a5e,3a5e,3a66,3a67,3a97,3a97,3aab,3aab,3abd,3abd,3ada,3ada,3ade,3ade,3ae0,3ae0,3af0,3af0,3af2,3af2,3af5,3af5,3afb,3afb,3b0e,3b0e,3b19,3b19,3b22,3b22,3b2b,3b2b,3b39,3b39,3b42,3b42,3b58,3b58,3b60,3b60,3b71,3b72,3b7b,3b7c,3b80,3b80,3b95,3b96,3b99,3b99,3ba1,3ba1,3bbc,3bbc,3bbe,3bbe,3bc2,3bc2,3bc4,3bc4,3bd7,3bd7,3bdd,3bdd,3bec,3bec,3bf2,3bf4,3c0d,3c0d,3c11,3c11,3c15,3c15,3c18,3c18,3c54,3c54,3c8b,3c8b,3ccb,3ccb,3ccd,3ccd,3cd1,3cd1,3cd6,3cd6,3cdc,3cdc,3ceb,3ceb,3cef,3cef,3d12,3d13,3d1d,3d1d,3d32,3d32,3d3b,3d3b,3d46,3d46,3d4c,3d4c,3d4e,3d4e,3d51,3d51,3d5f,3d5f,3d62,3d62,3d69,3d6a,3d6f,3d6f,3d75,3d75,3d7d,3d7d,3d85,3d85,3d88,3d88,3d8a,3d8a,3d8f,3d8f,3d91,3d91,3da5,3da5,3dad,3dad,3db4,3db4,3dbf,3dbf,3dc6,3dc7,3dc9,3dc9,3dcc,3dcd,3dd3,3dd3,3ddb,3ddb,3de7,3de8,3deb,3deb,3df3,3df4,3df7,3df7,3dfc,3dfd,3e06,3e06,3e40,3e40,3e43,3e43,3e48,3e48,3e55,3e55,3e74,3e74,3ea8,3eaa,3ead,3ead,3eb1,3eb1,3eb8,3eb8,3ebf,3ebf,3ec2,3ec2,3ec7,3ec7,3eca,3eca,3ecc,3ecc,3ed0,3ed1,3ed6,3ed7,3eda,3edb,3ede,3ede,3ee1,3ee2,3ee7,3ee7,3ee9,3ee9,3eeb,3eec,3ef0,3ef0,3ef3,3ef4,3efa,3efa,3efc,3efc,3eff,3f00,3f04,3f04,3f06,3f07,3f0e,3f0e,3f53,3f53,3f58,3f59,3f63,3f63,3f7c,3f7c,3f93,3f93,3fc0,3fc0,3fc8,3fc8,3fd7,3fd7,3fdc,3fdc,3fe5,3fe5,3fed,3fed,3ff9,3ffa,4004,4004,4009,4009,401d,401d,4039,4039,4045,4045,4053,4053,4057,4057,4062,4062,4065,4065,406a,406a,406f,406f,4071,4071,40a8,40a8,40b4,40b4,40bb,40bb,40bf,40bf,40c8,40c8,40d8,40d8,40df,40df,40f8,40f8,40fa,40fa,4102,4104,4109,4109,410e,410e,4131,4132,4167,4167,416c,416c,416e,416e,417c,417c,417f,417f,4181,4181,4190,4190,41b2,41b2,41c4,41c4,41ca,41ca,41cf,41cf,41db,41db,41ed,41ed,41ef,41ef,41f9,41f9,4211,4211,4223,4223,4240,4240,4260,4260,426a,426a,4276,4276,427a,427a,428c,428c,4294,4294,42a2,42a2,42b5,42b5,42b9,42b9,42bc,42bc,42f4,42f4,42fb,42fc,430a,430a,432b,432b,436e,436e,4397,4397,439a,439a,43ba,43ba,43c1,43c1,43d9,43d9,43df,43df,43ed,43ed,43f0,43f0,43f2,43f2,4401,4402,4413,4413,4425,4425,442d,442d,447a,447a,448f,448f,4491,4491,449f,44a0,44a2,44a2,44b0,44b0,44b7,44b7,44bd,44bd,44c0,44c0,44c3,44c3,44c5,44c5,44ce,44ce,44dd,44df,44e1,44e1,44e4,44e4,44e9,44ec,44f4,44f4,4503,4504,4509,4509,450b,450b,4516,4516,451b,451b,451d,451d,4527,4527,452e,452e,4533,4533,4536,4536,453b,453b,453d,453d,453f,453f,4543,4543,4551,4552,4555,4555,4558,4558,455c,455c,4561,4562,456a,456a,456d,456d,4577,4578,4585,4585,45a6,45a6,45b3,45b3,45da,45da,45e9,45ea,4603,4603,4606,4606,460f,460f,4615,4615,4617,4617,465b,465b,467a,467a,4680,4680,46a1,46a1,46ae,46ae,46bb,46bb,46cf,46d0,46f5,46f5,46f7,46f7,4713,4713,4718,4718,4736,4736,4744,4744,474e,474f,477c,477c,4798,4798,47a6,47a6,47d5,47d5,47ed,47ed,47f4,47f4,4800,4800,480b,480b,4837,4837,485d,485d,4871,4871,489b,489b,48ad,48ae,48d0,48d0,48dd,48dd,48ed,48ed,48f3,48f3,48fa,48fa,4906,4906,4911,4911,491e,491e,4925,4925,492a,492a,492d,492d,492f,4930,4935,4935,493c,493c,493e,493e,4945,4945,4951,4951,4953,4953,4965,4965,496a,496a,4972,4972,4989,4989,49a1,49a1,49a7,49a7,49df,49df,49e5,49e5,49e7,49e7,4a0f,4a0f,4a1d,4a1d,4a24,4a24,4a35,4a35,4a96,4a96,4aa4,4aa4,4ab4,4ab4,4ab8,4ab8,4ad1,4ad1,4ae4,4ae4,4aff,4aff,4b10,4b10,4b19,4b19,4b20,4b20,4b2c,4b2c,4b37,4b37,4b6f,4b70,4b72,4b72,4b7b,4b7b,4b7e,4b7e,4b8e,4b8e,4b90,4b90,4b93,4b93,4b96,4b97,4b9d,4b9d,4bbd,4bbe,4bc0,4bc0,4c04,4c04,4c07,4c07,4c0e,4c0e,4c32,4c32,4c3b,4c3b,4c3e,4c3e,4c40,4c40,4c47,4c47,4c57,4c57,4c5b,4c5b,4c6d,4c6d,4c77,4c77,4c7b,4c7b,4c7d,4c7d,4c81,4c81,4c85,4c85,4ca4,4ca4,4cae,4cae,4cb0,4cb0,4cb7,4cb7,4ccd,4ccd,4ce1,4ce2,4ced,4ced,4d07,4d07,4d09,4d09,4d10,4d10,4d34,4d34,4d76,4d77,4d89,4d89,4d91,4d91,4d9c,4d9c,4e00,4e01,4e03,4e04,4e07,4e11,4e14,4e16,4e18,4e1a,4e1c,4e1c,4e1e,4e1f,4e21,4e22,4e24,4e24,4e26,4e26,4e28,4e28,4e2a,4e33,4e36,4e39,4e3b,4e3d,4e3f,4e3f,4e42,4e43,4e45,4e45,4e47,4e49,4e4b,4e4b,4e4d,4e4f,4e52,4e53,4e56,4e56,4e58,4e5f,4e69,4e6a,4e73,4e73,4e78,4e78,4e7e,4e89,4e8b,4e8e,4e91,4e95,4e98,4e9b,4e9e,4ea6,4ea8,4ea8,4eab,4eae,4eb3,4eb3,4eb6,4eb7,4eb9,4ebc,4ebf,4ec4,4ec6,4ecb,4ecd,4ece,4ed4,4eda,4edc,4edf,4ee1,4ee1,4ee3,4ee5,4ee8,4eeb,4eee,4eee,4ef0,4ef8,4efb,4efb,4efd,4efd,4eff,4f05,4f08,4f0b,4f0d,4f15,4f17,4f1a,4f1d,4f1d,4f22,4f22,4f28,4f29,4f2c,4f2d,4f2f,4f30,4f32,4f34,4f36,4f3f,4f41,4f43,4f45,4f49,4f4b,4f64,4f67,4f67,4f69,4f6c,4f6e,4f70,4f72,4f8b,4f8d,4f8d,4f8f,4f92,4f94,4f98,4f9a,4f9e,4fa2,4fa2,4fa8,4fa8,4fab,4fab,4fae,4fb0,4fb2,4fb7,4fb9,4fbb,4fbd,4fbd,4fbf,4fc5,4fc7,4fd1,4fd3,4fd4,4fd6,4fe1,4fe4,4fe5,4fec,4fec,4fee,4ffa,4ffd,4ffe,5000,5000,5003,5003,5005,5009,500b,500f,5011,501c,501e,5023,5025,5031,5033,5035,5037,5037,503b,503c,5040,5041,5043,5043,5045,504f,5051,5051,5053,5053,5055,5058,505a,5066,5068,5070,5072,5077,507a,507a,507d,507d,5080,5083,5085,5085,5087,5088,508b,508e,5090,5092,5094,5096,5098,509e,50a2,50a3,50a6,50a6,50ac,50b8,50ba,50bf,50c1,50c2,50c4,50cb,50cd,50d1,50d3,50d7,50d9,50db,50dd,50dd,50df,50e1,50e3,50ea,50ec,50f1,50f3,50f6,50f8,50f9,50fb,510e,5110,5115,5117,5118,511a,511a,511c,511c,511f,5122,5124,5126,5129,512b,512d,512e,5130,5135,5137,513d,513f,5141,5143,5149,514b,514d,5151,5152,5154,5157,5159,5163,5165,5165,5167,516e,5171,5171,5174,5179,517c,517c,5180,5180,5182,5182,5186,518a,518d,518d,518f,518f,5191,5198,519a,519a,519c,519c,519e,519e,51a0,51a0,51a2,51a2,51a4,51a5,51a7,51a8,51aa,51ac,51ae,51ae,51b0,51b9,51bc,51be,51c3,51d4,51d7,51d8,51db,51e2,51e4,51e4,51ed,51ed,51f0,51f1,51f3,51f6,51f8,51fa,51fc,51fe,5200,5203,5205,520c,520e,520e,5210,5213,5216,5217,521c,5221,5224,522a,522e,522e,5230,5238,523a,523c,5241,5241,5243,5244,5246,5247,5249,524f,5252,5252,5254,5257,5259,5262,5268,526f,5272,5275,5277,527d,527f,5284,5287,528d,528f,5291,5293,5294,5296,529b,529f,52a1,52a3,52a4,52a6,52a6,52a8,52ae,52b5,52b5,52b9,52b9,52bb,52bc,52be,52be,52c0,52c3,52c5,52c5,52c7,52c7,52c9,52c9,52cc,52cd,52d0,52d3,52d5,52d9,52db,52db,52dd,52e4,52e6,52e6,52e9,52e9,52eb,52eb,52ef,52f1,52f3,52f5,52f7,52fc,52fe,52ff,5301,5301,5305,5306,5308,530b,530d,5312,5315,5317,5319,531a,531c,531d,531f,5324,5327,5327,532a,532a,532c,532d,532f,5334,5337,5339,533b,5345,5347,534a,534c,534e,5351,5354,5357,5357,535a,535a,535c,5361,5363,5364,5366,5367,5369,5369,536c,5375,5377,5379,537b,537f,5382,5382,5384,5384,538a,538a,538e,538f,5392,5394,5396,539a,539c,53a0,53a2,53a2,53a4,53ae,53b0,53b0,53b2,53b2,53b4,53b4,53b6,53b6,53b9,53b9,53bb,53bb,53c1,53c3,53c5,53c5,53c8,53cd,53d0,53d2,53d4,53d4,53d6,53db,53df,53e6,53e8,53f3,53f5,53f8,53fb,53fc,53fe,53fe,5401,5401,5403,5404,5406,5414,5416,5416,5418,5421,5423,5439,543b,5443,5445,5448,544a,544f,5454,5454,5460,546d,546f,5478,547a,5482,5484,5488,548b,5498,549a,549a,549c,549c,549e,549e,54a0,54b4,54b6,54c9,54cb,54d0,54d6,54d6,54da,54da,54de,54de,54e0,54eb,54ed,54ef,54f1,54f3,54f7,54f8,54fa,54fd,54ff,54ff,5501,5514,5517,5518,551a,551a,551e,551e,5523,5523,5525,5528,552a,5539,553b,553c,553e,5541,5543,554b,554d,5553,5555,5557,555c,555f,5561,5566,5569,556b,5571,5573,5575,5577,5579,5579,557b,5584,5586,5595,5598,559a,559c,559d,559f,559f,55a1,55ae,55b0,55b5,55b9,55bc,55bf,55df,55e1,55ea,55ec,55ec,55ee,55f2,55f5,55f7,55f9,5602,5604,5606,5608,5609,560c,5617,561b,5623,5625,5625,5627,5627,5629,562a,562c,5630,5632,563b,563d,5643,5645,5646,5648,564a,564c,5650,5652,5654,5657,565a,565d,565e,5660,5666,5668,5674,5676,567c,567e,5687,5689,5690,5692,5693,5695,5695,5697,569a,569c,569f,56a1,56a1,56a4,56a8,56aa,56af,56b1,56b7,56b9,56b9,56bc,56c3,56c5,56c6,56c8,56cd,56d1,56d1,56d3,56d4,56d6,56d7,56da,56db,56dd,56e2,56e4,56e5,56e7,56e7,56ea,56eb,56ed,56f1,56f7,56f7,56f9,56fb,56fd,56fd,56ff,5704,5707,570d,5712,5716,5718,5718,571a,5720,5722,5723,5728,572a,572c,5730,5732,5734,573b,573b,573d,5743,5745,5747,5749,5752,5754,5754,5757,5757,575b,575b,575f,575f,5761,5762,5764,5764,5766,576b,576d,576d,576f,5777,577a,5780,5782,5783,5788,5788,578a,578d,578f,5790,5793,5795,5797,57a5,57a7,57a7,57aa,57aa,57ae,57ae,57b3,57b6,57b8,57bf,57c1,57c4,57c6,57c8,57cb,57cc,57ce,57d0,57d2,57d2,57d4,57d5,57d7,57d7,57dc,57e7,57e9,57e9,57ec,57fe,5800,580e,5810,5810,5812,5812,5814,5814,5818,5819,581b,581e,5820,582a,582c,583b,583d,583d,583f,5840,5844,5844,5847,584f,5851,5855,5857,585f,5862,5865,5868,5869,586b,586d,586f,586f,5871,5876,5879,5883,5885,588b,588e,5894,5896,5896,5898,589a,589c,58a1,58a3,58a3,58a5,58ac,58ae,58b1,58b3,58b3,58b5,58b6,58ba,58bf,58c1,58c2,58c5,58c9,58cb,58cb,58ce,58d6,58d8,58e0,58e2,58e4,58e7,58e9,58eb,58ec,58ef,58f0,58f2,58f4,58f9,58ff,5902,5907,590a,590a,590c,590f,5911,5912,5914,5917,5919,591a,591c,591d,591f,5920,5922,5922,5924,5925,5927,5927,5929,592f,5931,5932,5934,5934,5937,5938,593c,593c,593e,593e,5940,5940,5944,5945,5947,594a,594e,5951,5953,5955,5957,5958,595a,595a,595c,595c,5960,5962,5965,5965,5967,5967,5969,596e,5970,5979,597b,5985,5989,598a,598d,5990,5992,5994,5996,599a,599d,59a8,59ac,59ac,59ae,59c1,59c3,59d4,59d6,59d6,59d8,59de,59e0,59e1,59e3,59e6,59e8,5a03,5a09,5a0d,5a0f,5a0f,5a11,5a13,5a15,5a1c,5a1e,5a21,5a23,5a25,5a27,5a27,5a29,5a2e,5a33,5a33,5a35,5a39,5a3c,5a3e,5a40,5a4a,5a4c,5a4d,5a50,5a6e,5a70,5a71,5a77,5a7f,5a81,5a84,5a86,5a86,5a88,5a88,5a8a,5a8c,5a8e,5a97,5a99,5aa2,5aa4,5aa7,5aa9,5aac,5aae,5ac4,5ac6,5acf,5ad1,5ad1,5ad3,5ad3,5ad5,5ae6,5ae8,5aee,5af0,5af0,5af2,5afb,5afd,5aff,5b01,5b03,5b05,5b05,5b07,5b09,5b0b,5b0d,5b0f,5b11,5b13,5b17,5b19,5b1b,5b1d,5b21,5b23,5b28,5b2a,5b30,5b32,5b32,5b34,5b34,5b38,5b38,5b3c,5b41,5b43,5b48,5b4a,5b51,5b53,5b58,5b5a,5b5d,5b5f,5b5f,5b62,5b66,5b68,5b69,5b6b,5b6e,5b70,5b78,5b7a,5b7d,5b7f,5b85,5b87,5b89,5b8b,5b8c,5b8e,5b90,5b92,5b93,5b95,5b9f,5ba2,5ba8,5baa,5baa,5bac,5bae,5bb0,5bb0,5bb3,5bb9,5bbf,5bc7,5bca,5bce,5bd0,5bd9,5bdb,5bdb,5bde,5bec,5bee,5bf3,5bf5,5bf6,5bf8,5bf8,5bfa,5bfa,5bff,5bff,5c01,5c01,5c03,5c05,5c07,5c16,5c1a,5c1a,5c1c,5c1c,5c1e,5c20,5c22,5c25,5c28,5c28,5c2a,5c2a,5c2c,5c2c,5c30,5c31,5c33,5c33,5c37,5c3c,5c3e,5c41,5c44,5c51,5c53,5c56,5c58,5c59,5c5c,5c5e,5c60,5c60,5c62,5c65,5c67,5c6a,5c6c,5c6f,5c71,5c71,5c73,5c74,5c78,5c7c,5c7e,5c7e,5c85,5c86,5c88,5c8d,5c8f,5c95,5c99,5c9a,5c9c,5cb1,5cb3,5cb3,5cb5,5cb8,5cba,5cba,5cc1,5cc2,5cc6,5ccc,5cce,5cdb,5cde,5cdf,5ce5,5ce5,5ce8,5cea,5cec,5cf1,5cf4,5cf9,5cfb,5cfd,5cff,5d01,5d06,5d07,5d0b,5d12,5d14,5d1b,5d1d,5d20,5d22,5d29,5d2c,5d2c,5d2e,5d3a,5d3c,5d43,5d45,5d4c,5d4e,5d4e,5d50,5d52,5d55,5d57,5d59,5d59,5d5b,5d5b,5d5e,5d5e,5d62,5d63,5d65,5d65,5d67,5d69,5d6b,5d6c,5d6f,5d72,5d74,5d74,5d77,5d82,5d84,5d8b,5d8d,5d8e,5d92,5d95,5d97,5d97,5d99,5d9a,5d9c,5da2,5da4,5da4,5da7,5db2,5db4,5dba,5dbc,5dbd,5dc0,5dc3,5dc6,5dc7,5dc9,5dc9,5dcb,5dcb,5dcd,5dcd,5dcf,5dcf,5dd1,5dd2,5dd4,5dd8,5ddb,5ddb,5ddd,5de2,5de5,5de8,5deb,5deb,5dee,5dee,5df0,5df5,5df7,5df7,5df9,5df9,5dfd,5dff,5e02,5e04,5e06,5e06,5e09,5e0c,5e0e,5e0e,5e11,5e12,5e14,5e1b,5e1d,5e1d,5e1f,5e25,5e28,5e29,5e2b,5e2b,5e2d,5e2e,5e33,5e34,5e36,5e38,5e3d,5e3e,5e40,5e45,5e48,5e48,5e4a,5e4f,5e53,5e55,5e57,5e59,5e5b,5e63,5e66,5e70,5e72,5e76,5e78,5e80,5e82,5e84,5e86,5e8d,5e8f,5e8f,5e92,5e92,5e95,5e97,5e99,5e9c,5ea0,5ea0,5ea2,5ea8,5eaa,5eae,5eb0,5eb9,5ebd,5ebe,5ec1,5ec2,5ec4,5ece,5ed0,5ee3,5ee5,5ee9,5eec,5eec,5eee,5eef,5ef1,5ef4,5ef6,5efc,5efe,5eff,5f01,5f02,5f04,5f05,5f07,5f08,5f0a,5f0f,5f12,5f15,5f17,5f18,5f1a,5f1b,5f1d,5f1d,5f1f,5f1f,5f22,5f29,5f2d,5f2e,5f30,5f31,5f33,5f33,5f35,5f38,5f3a,5f3c,5f40,5f40,5f43,5f46,5f48,5f51,5f54,5f54,5f56,5f59,5f5c,5f5e,5f61,5f65,5f67,5f67,5f69,5f6d,5f6f,5f74,5f76,5f79,5f7b,5f83,5f85,5f8c,5f90,5f92,5f96,5f99,5f9b,5f9c,5f9e,5fa1,5fa4,5faf,5fb1,5fb2,5fb5,5fb7,5fb9,5fc5,5fc9,5fc9,5fcc,5fcd,5fcf,5fd2,5fd4,5fd9,5fdb,5fdb,5fdd,5fe1,5fe3,5fe5,5fe8,5fe8,5fea,5feb,5fed,5fef,5ff1,5ff1,5ff3,5ff5,5ff7,5ff8,5ffa,5ffb,5ffd,5ffd,5fff,6000,6009,6017,6019,601e,6020,602f,6031,6035,6037,6037,6039,6039,603b,603b,6040,6047,6049,604d,6050,6050,6052,6055,6058,605b,605d,605f,6062,6070,6072,6072,6075,6075,6077,6077,607e,6081,6083,608a,608c,608e,6090,6090,6092,6092,6094,6097,609a,60a0,60a2,60a4,60a6,60a8,60b0,60c1,60c3,60cf,60d1,60d1,60d3,60d5,60d7,60e4,60e6,60e9,60f0,6101,6103,6110,6112,6116,6118,611d,611f,6120,6122,6123,6127,6129,612b,612c,612e,6130,6132,6132,6134,6134,6136,6137,613b,613b,613d,6142,6144,6150,6152,6156,6158,6168,616a,616c,616e,6177,6179,617a,617c,617e,6180,6183,6187,6187,6189,618e,6190,6196,6198,619d,619f,619f,61a1,61a2,61a4,61a4,61a7,61ba,61bc,61bc,61be,61c3,61c5,61cd,61cf,61d0,61d3,61d3,61d6,61d6,61d8,61d8,61da,61da,61de,61e0,61e2,61eb,61ed,61ee,61f0,61f2,61f5,6201,6203,6204,6207,620a,620c,620e,6210,6212,6214,6216,6219,621b,621f,6225,6227,6227,6229,622e,6230,6230,6232,6234,6236,6237,6239,623a,623d,6243,6246,624e,6250,6254,6258,625c,625e,625e,6260,6266,6268,6268,626d,6274,6276,6277,6279,628a,628c,628c,628e,6298,629d,629d,62a4,62a4,62a6,62a6,62a8,62b1,62b3,62b6,62b8,62b9,62bb,62bf,62c1,62dc,62df,62df,62e5,62e5,62eb,6303,6307,6309,630b,6311,6313,6316,6318,6318,6328,632f,6331,633e,6340,6351,6354,635a,635d,635d,6364,6365,6367,6369,636b,6372,6375,637d,637f,6385,6387,6392,6394,6394,6396,6399,639b,63a5,63a7,63b1,63b9,63b9,63bd,63be,63c0,63d3,63d5,63eb,63ed,63f6,63f8,63f9,63fb,63fc,63fe,63fe,6406,6407,6409,6410,6412,6418,641a,641c,641e,6428,642a,6430,6432,643b,643d,6441,6443,6443,644b,644b,644d,644e,6450,6454,6458,6461,6465,6469,646b,647d,647f,647f,6482,6482,6485,6485,6487,648d,648f,6493,6495,649a,649c,64a0,64a2,64a6,64a9,64a9,64ab,64b4,64b6,64b6,64bb,64c5,64c7,64c7,64c9,64cb,64cd,64d0,64d2,64d4,64d6,64db,64dd,64dd,64e0,64ed,64ef,64f4,64f7,64f8,64fa,6501,6503,6504,6506,6507,6509,650a,650c,6511,6513,6519,651b,6526,6529,6530,6532,6539,653b,653b,653d,653f,6541,6541,6543,6543,6545,6546,6548,654a,654d,654d,654f,654f,6551,6551,6553,655a,655c,655f,6562,6568,656a,656d,656f,656f,6572,657c,657f,6589,658b,658c,6590,6592,6594,6597,6599,6599,659b,65a2,65a4,65a5,65a7,65a8,65aa,65ac,65ae,65b0,65b2,65b3,65b5,65b9,65bb,65bf,65c1,65c6,65cb,65d4,65d6,65d7,65da,65db,65dd,65e3,65e5,65e6,65e8,65e9,65ec,65f5,65fa,65fd,65ff,6600,6602,6615,6618,6618,661c,6628,662b,662b,662d,6636,6639,663a,6641,6645,6647,664d,664f,664f,6651,6653,6657,6657,6659,6668,666a,666c,666e,6674,6676,667e,6680,6680,6684,668e,6690,6692,6694,669a,669d,669d,669f,66a2,66a4,66a4,66a8,66ab,66ad,66bb,66bd,66c0,66c4,66c4,66c6,66cf,66d2,66d2,66d6,66d6,66d8,66de,66e0,66e0,66e3,66e4,66e6,66e9,66eb,66ee,66f0,66f4,66f6,66f9,66fc,66fc,66fe,6705,6708,6710,6712,6719,671b,671b,671d,6723,6725,6728,672a,672e,6731,6731,6733,6736,6738,673f,6744,6749,674b,6751,6753,6753,6755,6757,6759,675a,675c,6762,6767,6767,676a,677f,6781,6787,6789,6789,678b,6795,6797,679a,679c,679d,679f,67a0,67a4,67a4,67ac,67ac,67ae,67bb,67bf,67c6,67c8,67d4,67d6,67df,67e2,67e7,67e9,67fa,67fc,67fc,67fe,6804,680d,680d,6810,6810,6812,6814,6816,6818,681a,6822,6825,6826,6828,682b,682d,682f,6831,683e,6840,6851,6853,6856,685d,685d,6865,6865,686b,686b,686d,686f,6871,6872,6874,6879,687b,688c,688f,6894,6896,6898,689b,689d,689f,68a4,68a6,68b6,68b9,68b9,68bd,68bd,68c1,68c1,68c3,68ce,68d0,68d8,68da,68da,68dc,68e1,68e3,68e4,68e6,68ec,68ee,68fd,6900,6915,6917,691b,6925,6925,692a,692a,692c,692c,692f,6930,6932,6939,693b,6946,6948,694c,694e,694f,6951,697b,6980,6980,6982,6983,6985,6986,698a,698a,698d,698e,6990,6991,6993,699c,699e,69b7,69b9,69b9,69bb,69c4,69c6,69c6,69c9,69d1,69d3,69d6,69d9,69d9,69e1,69e2,69e4,69e9,69eb,69ee,69f1,69f4,69f6,6a0d,6a0f,6a0f,6a11,6a11,6a13,6a21,6a23,6a23,6a25,6a29,6a2b,6a2d,6a32,6a35,6a38,6a41,6a43,6a49,6a4b,6a5b,6a5d,6a6b,6a6d,6a6d,6a6f,6a6f,6a71,6a71,6a74,6a74,6a76,6a76,6a7a,6a7a,6a7e,6a85,6a87,6a87,6a89,6a8a,6a8c,6a97,6a99,6aa8,6aab,6aaf,6ab1,6abb,6abd,6abe,6ac2,6ac3,6ac5,6acd,6acf,6ad1,6ad3,6ad4,6ad8,6ae1,6ae5,6ae5,6ae7,6ae8,6aea,6aec,6aee,6af1,6af3,6af3,6af6,6af6,6af8,6afc,6b00,6b00,6b02,6b05,6b08,6b0b,6b0f,6b13,6b16,6b1a,6b1d,6b1e,6b20,6b21,6b23,6b23,6b25,6b25,6b28,6b28,6b2c,6b2d,6b2f,6b2f,6b31,6b3f,6b41,6b43,6b45,6b4e,6b50,6b52,6b54,6b57,6b59,6b59,6b5b,6b5c,6b5e,6b67,6b6a,6b6a,6b6d,6b6d,6b6f,6b6f,6b72,6b72,6b74,6b74,6b76,6b7b,6b7e,6b84,6b86,6b86,6b88,6b8a,6b8c,6b8f,6b91,6b91,6b94,6b99,6b9b,6b9b,6b9e,6ba0,6ba2,6ba7,6baa,6bab,6bad,6bb0,6bb2,6bb3,6bb5,6bb7,6bba,6bba,6bbc,6bbd,6bbf,6bc1,6bc3,6bcd,6bcf,6bd0,6bd2,6bd4,6bd6,6bd8,6bda,6bdc,6bde,6bde,6be0,6be4,6be6,6be8,6bea,6bec,6bef,6bf0,6bf2,6bf3,6bf7,6c06,6c08,6c09,6c0b,6c0d,6c0f,6c11,6c13,6c16,6c18,6c1d,6c1f,6c21,6c23,6c28,6c2a,6c2c,6c2e,6c3b,6c3d,6c43,6c46,6c46,6c49,6c50,6c52,6c52,6c54,6c55,6c57,6c61,6c65,6c6b,6c6d,6c76,6c78,6c7b,6c7d,6c90,6c92,6c96,6c98,6c9d,6c9f,6c9f,6ca2,6ca2,6caa,6cb4,6cb6,6cc7,6cc9,6cd7,6cd9,6ce3,6ce5,6ce5,6ce7,6cf3,6cf5,6cf5,6cf9,6cf9,6cff,6d12,6d16,6d1b,6d1d,6d20,6d22,6d22,6d24,6d42,6d4e,6d4e,6d57,6d5c,6d5e,6d6a,6d6c,6d72,6d74,6d98,6d9a,6d9a,6da4,6da5,6daa,6dac,6dae,6daf,6db1,6db5,6db7,6dc0,6dc2,6dc2,6dc4,6dcd,6dcf,6de6,6de8,6df7,6df9,6dfe,6e00,6e00,6e02,6e05,6e0a,6e0a,6e0f,6e0f,6e15,6e15,6e18,6e1d,6e1f,6e36,6e38,6e41,6e43,6e47,6e49,6e4b,6e4d,6e69,6e6b,6e6b,6e6e,6e6f,6e71,6e74,6e76,6e79,6e7c,6e7c,6e86,6e86,6e88,6e89,6e8b,6e8b,6e8d,6e90,6e92,6e94,6e96,6ea7,6eaa,6eab,6eae,6ed6,6ed8,6edd,6ee2,6ee2,6ee8,6ee9,6eeb,6eef,6ef1,6ef2,6ef4,6f0f,6f12,6f1a,6f1c,6f1c,6f1e,6f27,6f29,6f41,6f43,6f44,6f4e,6f58,6f5a,6f64,6f66,6f67,6f69,6f70,6f72,6f74,6f76,6f82,6f84,6f8e,6f90,6f90,6f92,6f97,6f9d,6fb6,6fb8,6fc4,6fc6,6fcf,6fd3,6fd5,6fd8,6fe4,6fe6,6fe9,6feb,6ff2,6ff4,6ff4,6ff6,6ff8,6ffa,6ffc,6ffe,7001,7003,7007,7009,700f,7011,7011,7014,7024,7026,702c,702f,7035,7037,703c,703e,7046,7048,704d,7050,7052,7054,7058,705a,706c,706e,7071,7074,707a,707c,707f,7081,7086,7089,708b,708e,708f,7091,7096,7098,709a,709f,70a1,70a3,70a7,70a9,70a9,70ab,70b1,70b3,70b5,70b7,70be,70c0,70c0,70c4,70c8,70ca,70da,70dc,70e2,70e4,70e4,70ef,70f1,70f3,7100,7102,7102,7104,7106,7109,710e,7110,7110,7113,7113,7117,7117,7119,7123,7125,7126,7128,7129,712b,712c,712e,7136,713a,713b,713e,713e,7140,7147,7149,7154,7156,715a,715c,716c,716e,716e,7170,7178,717a,717e,7180,7182,7184,718a,718c,718c,718e,7192,7194,7194,7196,71a5,71a7,71aa,71ac,71ad,71af,71b5,71b7,71ba,71bc,71cb,71ce,71d2,71d4,71d6,71d8,71dd,71df,71e2,71e4,71e8,71eb,71ee,71f0,71f2,71f4,71f6,71f8,71f9,71fb,7203,7205,7207,7209,720a,720c,7210,7213,7217,7219,721b,721d,721f,7222,722e,7230,7230,7235,7236,7238,723b,723d,7242,7244,7244,7246,724c,724f,7250,7252,7253,7255,7263,7266,7267,7269,726a,726c,726c,726e,7270,7272,7274,7276,7279,727b,7282,7284,7289,728b,7298,729a,729b,729d,729f,72a1,72aa,72ac,72b0,72b2,72b2,72b4,72b5,72ba,72ba,72bd,72bd,72bf,72c6,72c9,72ce,72d0,72d2,72d4,72d4,72d6,72da,72dc,72dc,72df,72e4,72e6,72e6,72e8,72eb,72f3,72f4,72f6,7302,7304,7304,7307,7308,730a,730c,730f,7313,7316,7319,731b,731e,7322,7323,7325,732e,7330,733c,733e,7345,7348,734a,734c,7352,7357,735b,735d,7362,7365,736c,736e,7378,737a,738c,738e,738f,7392,7398,739c,73a2,73a4,73ad,73b2,73bc,73be,73c0,73c2,73d0,73d2,73de,73e0,73eb,73ed,73ef,73f3,740d,7411,7412,7414,7417,7419,7426,7428,743a,743c,743c,743f,7457,7459,7465,7467,7476,7479,747a,747c,7483,7485,748d,7490,7490,7492,7492,7494,7495,7497,74a1,74a3,74ab,74ad,74ad,74af,74b2,74b4,74bb,74bd,74c3,74c5,74c6,74c8,74c8,74ca,74cc,74cf,74d0,74d3,74e9,74ec,74ec,74ee,74ee,74f0,74f2,74f4,74f8,74fb,74fb,74fd,7500,7502,7505,7507,7508,750b,751a,751c,751f,7521,7522,7525,7526,7528,7535,7537,753b,753d,7540,7542,7542,7546,7548,754a,754f,7551,7551,7553,7555,7559,755d,755f,7560,7562,7567,756a,7570,7572,7572,7576,757a,757d,7580,7583,7584,7586,7587,758a,7592,7594,7595,7598,759a,759d,759e,75a2,75a5,75a7,75a7,75aa,75ab,75b0,75b6,75b8,75c5,75c7,75c8,75ca,75d2,75d4,75d5,75d7,75e4,75e6,75e7,75ed,75ed,75ef,7603,7607,760d,760f,7611,7613,7616,7619,7629,762c,762d,762f,7635,7638,7638,763a,763d,7640,7640,7642,7643,7646,7649,764c,7654,7656,765a,765c,765c,765f,7662,7664,7667,7669,766a,766c,7676,7678,767f,7681,7682,7684,7684,7686,768b,768e,7690,7692,7693,7695,7696,7699,769e,76a1,76a1,76a4,76a6,76aa,76ab,76ad,76b0,76b4,76b5,76b7,76b8,76ba,76bb,76bd,76bf,76c2,76c6,76c8,76ca,76cc,76ce,76d2,76d4,76d6,76d6,76d9,76df,76e1,76e1,76e3,76e7,76e9,76ea,76ec,76f5,76f7,76fc,76fe,76fe,7701,7701,7703,7705,7707,770c,770e,7713,7715,7715,7719,771b,771d,7720,7722,7729,772b,772b,772d,772d,772f,772f,7731,773e,7740,7740,7743,7747,774a,774f,7752,7752,7754,7756,7758,775c,775e,7763,7765,776f,7772,7772,7777,7785,7787,7789,778b,778f,7791,7791,7793,7793,7795,7795,7797,77a3,77a5,77a5,77a7,77a8,77aa,77ad,77af,77b7,77b9,77bf,77c2,77c5,77c7,77c7,77c9,77d0,77d3,77d5,77d7,77de,77e0,77e0,77e2,77e3,77e5,77e9,77ec,77f4,77f7,77fe,7802,7803,7805,7806,7808,7809,780c,7814,7818,7818,781c,7823,7825,7835,7837,7839,783c,783d,7842,7845,7847,784e,7850,7854,785c,785e,7860,7860,7862,7862,7864,7866,7868,7871,7879,787c,787e,7881,7883,7889,788c,788f,7891,7891,7893,789a,789e,78a5,78a7,78ad,78af,78b4,78b6,78b6,78b8,78bc,78be,78be,78c1,78c1,78c3,78c5,78c7,78d5,78d7,78d8,78da,78db,78dd,78e5,78e7,78ea,78ec,78f5,78f7,78f7,78f9,78ff,7901,7902,7904,7906,7909,7909,790c,790c,790e,790e,7910,7914,7917,7917,7919,7919,791b,791e,7921,7921,7923,792f,7931,7936,7938,7942,7944,794c,794f,7965,7967,796b,796d,796d,7970,7974,7979,797a,797c,7983,7986,7988,798a,798b,798d,799d,799f,79a2,79a4,79ae,79b0,79b4,79b6,79bb,79bd,79c1,79c4,79c6,79c8,79d2,79d4,79d6,79d8,79d8,79dc,79e0,79e2,79e4,79e6,79e7,79e9,79ee,79f1,79f1,79f4,79f4,79f6,79f8,79fa,79fb,7a00,7a00,7a02,7a06,7a08,7a08,7a0a,7a0e,7a10,7a15,7a17,7a1c,7a1e,7a20,7a22,7a22,7a26,7a26,7a28,7a28,7a2a,7a32,7a37,7a37,7a39,7a40,7a43,7a4e,7a54,7a54,7a56,7a58,7a5a,7a5c,7a5f,7a62,7a65,7a65,7a67,7a69,7a6b,7a6e,7a70,7a72,7a74,7a76,7a78,7a7b,7a7d,7a81,7a83,7a8c,7a8f,7a99,7a9e,7aa0,7aa2,7aa3,7aa8,7aac,7aae,7ab8,7aba,7abc,7abe,7ac5,7ac7,7acb,7acf,7acf,7ad1,7ad1,7ad3,7ad3,7ad8,7add,7adf,7ae0,7ae2,7ae7,7ae9,7aeb,7aed,7aef,7af6,7af7,7af9,7b01,7b04,7b06,7b08,7b0c,7b0e,7b14,7b18,7b1b,7b1d,7b20,7b22,7b35,7b38,7b39,7b3b,7b3b,7b40,7b40,7b42,7b52,7b54,7b56,7b58,7b58,7b60,7b67,7b69,7b69,7b6c,7b78,7b7b,7b7b,7b82,7b82,7b84,7b85,7b87,7b88,7b8a,7b92,7b94,7b9d,7ba0,7ba4,7bac,7baf,7bb1,7bb2,7bb4,7bb5,7bb7,7bb9,7bbe,7bbe,7bc0,7bc1,7bc4,7bc7,7bc9,7bcc,7bce,7bd0,7bd4,7bd5,7bd8,7bec,7bf0,7bf4,7bf7,7c03,7c05,7c07,7c09,7c12,7c15,7c15,7c19,7c19,7c1b,7c23,7c25,7c2d,7c30,7c30,7c33,7c33,7c35,7c35,7c37,7c39,7c3b,7c40,7c42,7c45,7c47,7c4a,7c4c,7c4d,7c50,7c51,7c53,7c54,7c56,7c57,7c59,7c5d,7c5f,7c60,7c63,7c67,7c69,7c70,7c72,7c75,7c78,7c81,7c83,7c86,7c88,7c8a,7c8c,7c8e,7c91,7c92,7c94,7c98,7c9c,7c9c,7c9e,7c9f,7ca1,7ca3,7ca5,7ca8,7cac,7cac,7cae,7caf,7cb1,7cb5,7cb8,7cbf,7cc2,7cc3,7cc5,7cc5,7cc7,7cce,7cd0,7cd7,7cd9,7cda,7cdc,7ce0,7ce2,7ce2,7ce6,7ce8,7cea,7cea,7cec,7cf9,7cfb,7cfe,7d00,7d22,7d25,7d25,7d28,7d29,7d2b,7d2c,7d2e,7d33,7d35,7d36,7d38,7d47,7d4a,7d4a,7d4d,7d56,7d58,7d58,7d5a,7d5f,7d61,7d63,7d66,7d6b,7d6d,7d73,7d79,7d7d,7d7f,7d81,7d83,7d86,7d88,7d89,7d8b,7d8f,7d91,7d97,7d9c,7da4,7da6,7db5,7db7,7dc2,7dc4,7dc7,7dc9,7dd0,7dd2,7dd4,7dd7,7de1,7de3,7dea,7dec,7dec,7dee,7df7,7df9,7dfe,7e03,7e03,7e07,7e17,7e1a,7e25,7e27,7e27,7e29,7e2b,7e2d,7e49,7e4c,7e4c,7e50,7e5c,7e5e,7e63,7e65,7e65,7e67,7e70,7e72,7e82,7e86,7e88,7e8a,7e8f,7e91,7e9c,7e9f,7e9f,7ea4,7ea4,7eac,7eac,7eba,7eba,7ec7,7ec7,7ecf,7ecf,7edf,7edf,7f06,7f06,7f36,7f3a,7f3d,7f41,7f43,7f45,7f47,7f55,7f58,7f58,7f5b,7f61,7f63,7f63,7f65,7f6e,7f70,7f73,7f75,7f7f,7f83,7f83,7f85,7f8f,7f91,7f97,7f9a,7f9e,7fa0,7fa9,7fac,7fc3,7fc5,7fc5,7fc7,7fc7,7fc9,7fd2,7fd4,7fd5,7fd7,7fd7,7fdb,7fe3,7fe5,7ff5,7ff7,8008,800b,8012,8014,8019,801b,8021,8024,8026,8028,802a,802c,802c,802e,8031,8033,8037,8039,8039,803b,803f,8043,8043,8046,8048,804a,804a,804f,8052,8054,8054,8056,8056,8058,8058,805a,805e,8061,8064,8066,8067,806c,806c,806f,8073,8075,8079,807d,8080,8082,8082,8084,8087,8089,808c,808f,8090,8092,8093,8095,8096,8098,809d,809f,809f,80a1,80a3,80a5,80a5,80a7,80a7,80a9,80ab,80ad,80af,80b1,80b2,80b4,80b8,80ba,80ba,80bc,80bd,80c2,80ca,80cc,80d1,80d4,80de,80e0,80e1,80e3,80e6,80e9,80e9,80ec,80ed,80ef,80f6,80f8,80fe,8100,8103,8105,810a,810c,810c,810e,810e,8112,8112,8114,811b,811d,811f,8121,8125,8127,8127,8129,812d,812f,8132,8134,8134,8137,8137,8139,813a,813d,813e,8142,8144,8146,8148,814a,8156,8159,815c,815e,815e,8160,8162,8164,8167,8169,8169,816b,8174,8176,817a,817c,817d,817f,8180,8182,8184,8186,818d,818f,818f,8193,8193,8195,8195,8197,81a0,81a2,81a3,81a5,81ac,81ae,81ae,81b0,81b7,81b9,81ca,81cc,81cd,81cf,81d2,81d5,81d5,81d7,81db,81dd,81ea,81ec,81ef,81f2,81f4,81f6,81fc,81fe,8202,8204,8205,8207,820d,8210,8212,8214,8216,8218,8218,821a,8222,8225,8226,8228,822d,822f,822f,8232,823a,823c,8240,8242,8242,8244,8245,8247,8247,8249,8249,824b,824b,824e,825c,825e,825f,8261,8266,8268,8269,826b,826f,8271,8272,8274,8280,8283,8285,8287,8287,828a,828b,828d,8294,8298,829b,829d,82b1,82b3,82c0,82c2,82c4,82ca,82ca,82cf,82d9,82db,82dc,82de,82e8,82ea,8309,830b,830d,8316,831e,8320,8320,8322,8322,8324,832d,832f,832f,8331,833d,833f,8345,8347,8354,8356,8357,8362,8363,8366,8366,836f,836f,8373,8378,837a,837f,8381,8381,8383,8383,8385,839e,83a0,83a0,83a2,83ac,83ae,83b0,83b9,83b9,83bd,83cf,83d1,83d1,83d3,83d9,83db,83e5,83e7,83f6,83f8,83ff,8401,8401,8403,8407,8409,8414,8416,8416,8418,8418,841b,841c,8420,8421,8423,8424,8426,8426,8429,8429,842b,8440,8442,844e,8450,8469,846b,847a,847d,8480,8482,8482,8484,8484,8486,8486,8488,8488,848d,8494,8496,84a4,84a7,84b2,84b4,84b4,84b6,84b6,84b8,84c2,84c4,84c7,84c9,84d4,84d6,84d7,84da,84db,84de,84de,84e1,84e2,84e4,84e5,84e7,84ec,84ee,84f4,84f6,8500,8502,851a,851c,8521,8523,8531,8533,8534,8538,8538,853b,853b,853d,853e,8540,854e,8551,855b,855d,8571,8573,8573,8575,857c,857e,857e,8580,8591,8593,85a4,85a6,85aa,85af,85b1,85b3,85ba,85bd,85c9,85cb,85cb,85cd,85d2,85d5,85da,85dc,85e6,85e8,85f2,85f4,85f4,85f6,8602,8604,8607,8609,860d,860f,8611,8613,8614,8616,861c,861e,862a,862c,862f,8631,8636,8638,863c,863e,8640,8642,8643,8645,8648,864b,864e,8650,8650,8652,8656,8659,8659,865b,865c,865e,865f,8661,8665,8667,8674,8677,8677,8679,867c,867e,867e,8685,8687,868a,868e,8690,869a,869c,869e,86a0,86a5,86a7,86aa,86ad,86ad,86af,86c9,86cb,86cc,86d0,86d1,86d3,86d4,86d6,86df,86e2,86e4,86e6,86e6,86e8,86ed,86ef,86ef,86f5,86fb,86fe,86fe,8700,870e,8711,8713,8715,8715,8718,871c,871e,871e,8720,872a,872c,872e,8730,8735,8737,8738,873a,873c,873e,8743,8746,8746,874c,8771,8773,877b,877d,877d,8781,8789,878b,878d,878f,8794,8796,8798,879a,879f,87a2,87a5,87a9,87c6,87c8,87cc,87ce,87ce,87d1,87d4,87d6,87e8,87ea,87ef,87f2,87f7,87f9,87fc,87fe,8806,8808,880d,880f,8811,8813,8819,881b,881d,881f,8833,8835,8839,883b,8846,8848,8848,884a,884f,8852,8853,8855,8857,8859,885b,885d,885e,8860,8865,8867,886b,886d,8872,8874,8877,8879,8879,887c,8884,8887,8889,888b,8893,8895,88a2,88a4,88a4,88a7,88a8,88aa,88ac,88ae,88ae,88b1,88b2,88b4,88ba,88bc,88c2,88c5,88c5,88c7,88c7,88c9,88d0,88d2,88d2,88d4,88df,88e1,88e1,88e6,88e8,88eb,88ec,88ee,8902,8905,8907,8909,890c,890e,890e,8910,891a,891e,891f,8921,8927,8929,8933,8935,8938,893b,893e,8941,8944,8946,8947,8949,8949,894b,894d,894f,8954,8956,8966,8969,896f,8971,8974,8976,8977,8979,897c,897e,8983,8985,898b,898f,898f,8991,8991,8993,8998,899b,899f,89a1,89a7,89a9,89aa,89ac,89af,89b2,89b2,89b6,89b7,89b9,89ba,89bc,89c1,89c6,89c6,89d2,89d6,89d9,89dd,89df,89e9,89eb,89ed,89f0,89f4,89f6,89f8,89fa,89fc,89fe,8a00,8a02,8a04,8a07,8a08,8a0a,8a0a,8a0c,8a0c,8a0e,8a13,8a15,8a18,8a1b,8a1f,8a22,8a23,8a25,8a25,8a27,8a27,8a29,8a2d,8a30,8a31,8a34,8a34,8a36,8a36,8a38,8a41,8a44,8a46,8a48,8a4a,8a4c,8a52,8a54,8a59,8a5b,8a5b,8a5e,8a5e,8a60,8a63,8a66,8a69,8a6b,8a6e,8a70,8a77,8a79,8a7c,8a7e,8a7f,8a81,8a87,8a8b,8a8d,8a8f,8a96,8a98,8a9a,8a9c,8a9c,8a9e,8a9e,8aa0,8aa1,8aa3,8aac,8aaf,8ab0,8ab2,8ab2,8ab4,8ab4,8ab6,8ab6,8ab8,8ac0,8ac2,8ac9,8acb,8acd,8acf,8acf,8ad1,8ae2,8ae4,8ae4,8ae6,8ae8,8aea,8aeb,8aed,8afc,8afe,8b02,8b04,8b08,8b0a,8b20,8b22,8b28,8b2a,8b31,8b33,8b33,8b35,8b37,8b39,8b43,8b45,8b5a,8b5c,8b60,8b62,8b63,8b65,8b6d,8b6f,8b70,8b74,8b74,8b77,8b7b,8b7d,8b86,8b88,8b88,8b8a,8b8c,8b8e,8b90,8b92,8b96,8b98,8b9c,8b9e,8ba0,8bbe,8bbe,8be2,8be2,8c37,8c37,8c39,8c39,8c3b,8c3f,8c41,8c43,8c45,8c51,8c54,8c57,8c5a,8c5a,8c5c,8c5d,8c5f,8c5f,8c61,8c62,8c64,8c66,8c68,8c6d,8c6f,8c73,8c75,8c7b,8c7d,8c7d,8c80,8c82,8c84,8c86,8c89,8c8a,8c8c,8c8d,8c8f,8c95,8c97,8ca5,8ca7,8cad,8caf,8cb0,8cb2,8cc5,8cc7,8cc8,8cca,8cca,8ccc,8ccd,8ccf,8ccf,8cd1,8cd7,8cd9,8cee,8cf0,8cf5,8cf7,8cfe,8d00,8d00,8d02,8d0d,8d0f,8d19,8d1b,8d1d,8d64,8d64,8d66,8d69,8d6b,8d70,8d72,8d74,8d76,8d7b,8d7d,8d7d,8d80,8d82,8d84,8d85,8d89,8d8a,8d8c,8d96,8d99,8d99,8d9b,8d9c,8d9f,8da1,8da3,8da3,8da5,8daf,8db2,8db7,8db9,8dba,8dbc,8dbc,8dbe,8dc3,8dc5,8dc8,8dcb,8dd1,8dd3,8ddd,8ddf,8de4,8de6,8dec,8dee,8df4,8dfa,8dfa,8dfc,8e07,8e09,8e0a,8e0d,8e2b,8e2d,8e2e,8e30,8e31,8e33,8e36,8e38,8e3a,8e3c,8e42,8e44,8e50,8e53,8e57,8e59,8e6a,8e6c,8e6d,8e6f,8e6f,8e71,8e78,8e7a,8e7c,8e7e,8e7e,8e80,8e82,8e84,8e8e,8e90,8e98,8e9a,8e9a,8e9d,8ea1,8ea3,8ead,8eb0,8eb0,8eb2,8eb2,8eb6,8eb6,8eb9,8eba,8ebc,8ebd,8ec0,8ec0,8ec2,8ec3,8ec9,8ecf,8ed1,8ed4,8ed7,8ed8,8eda,8ee2,8ee4,8ee9,8eeb,8eef,8ef1,8ef2,8ef4,8efc,8efe,8f03,8f05,8f0b,8f0d,8f0e,8f10,8f20,8f23,8f26,8f29,8f2a,8f2c,8f30,8f32,8f39,8f3b,8f3c,8f3e,8f4b,8f4d,8f64,8f66,8f67,8f6e,8f6e,8f93,8f93,8f9b,8f9c,8f9f,8fa0,8fa3,8fa3,8fa5,8fa8,8fad,8fbc,8fbe,8fbf,8fc1,8fc2,8fc4,8fc6,8fc9,8fd7,8fda,8fda,8fe0,8fe6,8fe8,8fe8,8fea,8feb,8fed,8fee,8ff0,8ff0,8ff4,9006,9008,9008,900b,900d,900f,9012,9014,9017,9019,9024,902d,902f,9031,9038,903c,903f,9041,9042,9044,9044,9046,9047,9049,9056,9058,9059,905b,905e,9060,9064,9067,9069,906b,9070,9072,9088,908a,908b,908d,908d,908f,9091,9094,9095,9097,9099,909b,909b,909e,90a3,90a5,90a8,90aa,90aa,90ae,90b6,90b8,90b8,90bb,90bb,90bd,90bf,90c1,90c1,90c3,90c5,90c7,90c8,90ca,90cb,90ce,90ce,90d4,90dd,90df,90e5,90e8,90ed,90ef,90f5,90f9,9109,910b,910b,910d,9112,9114,9114,9116,9124,9126,9136,9138,913b,913e,9141,9143,9153,9155,915a,915c,915c,915e,9165,9167,916a,916c,916c,916e,9170,9172,917a,917c,917c,9180,9187,9189,9193,9196,9196,9199,91a3,91a5,91a5,91a7,91b7,91b9,91be,91c0,91c7,91c9,91c9,91cb,91d1,91d3,91da,91dc,91dd,91df,91df,91e2,91ee,91f1,91f1,91f3,91fa,91fd,920a,920c,921a,921c,921c,921e,921e,9221,9221,9223,9228,922a,922b,922d,922e,9230,923a,923c,9241,9244,9246,9248,9258,925a,925b,925d,9267,926b,9270,9272,9272,9276,928f,9291,9291,9293,929d,92a0,92ac,92ae,92ae,92b1,92b7,92b9,92bc,92be,92d5,92d7,92d9,92db,92db,92dd,92e1,92e3,92f4,92f6,9304,9306,9309,930b,9310,9312,9316,9318,931b,931d,9331,9333,9336,9338,9339,933c,933c,9340,9352,9354,935c,935e,936e,9370,9371,9373,937e,9380,938a,938c,9392,9394,93aa,93ac,93b5,93b7,93b8,93bb,93bb,93bd,93bd,93bf,93c0,93c2,93c4,93c6,93c8,93ca,93e4,93e6,93e8,93ec,93ec,93ee,93ee,93f0,93f1,93f3,9401,9403,9404,9406,9419,941b,941b,941d,941d,9420,9420,9424,9433,9435,9440,9442,944d,944f,9452,9454,9455,9457,9458,945b,945b,945d,945e,9460,9460,9462,9465,9467,9479,947b,9483,9485,9485,949f,949f,94a2,94a2,94c1,94c1,94c3,94c3,94dc,94dc,94f6,94f6,952d,952d,9547,9547,9577,9578,957a,957d,957f,9580,9582,9583,9585,9586,9588,9589,958b,9594,9596,9599,959b,959c,959e,95ae,95b0,95b2,95b5,95b7,95b9,95c0,95c3,95c3,95c5,95cd,95d0,95d6,95da,95dc,95de,95e5,95e8,95e8,95f4,95f4,961c,961e,9620,9624,9628,9628,962a,962a,962c,9633,9638,963d,963f,9645,964a,9651,9653,9654,9656,9656,9658,9658,965b,965f,9661,9664,9669,966d,966f,9678,967b,967e,9680,9681,9683,968b,968d,968f,9691,9699,969b,969c,969e,969e,96a1,96a5,96a7,96aa,96ac,96ac,96ae,96ae,96b0,96b1,96b3,96b4,96b6,96b6,96b8,96b9,96bb,96bd,96bf,96ce,96d2,96df,96e1,96e3,96e5,96e5,96e8,96ea,96ef,96f2,96f4,96fb,96fd,96fd,96ff,9700,9702,9709,970b,970b,970d,9713,9716,9716,9718,9719,971b,972c,972e,9732,9734,9736,9738,973a,973d,9744,9746,974b,9751,9752,9755,9758,975a,9762,9766,9766,9768,976a,976c,976e,9770,9774,9776,9778,977a,9785,9787,978b,978d,978f,9794,9794,9797,97a6,97a8,97a8,97aa,97ae,97b1,97b4,97b6,97bb,97bd,97c9,97cb,97d0,97d2,97d9,97dc,97e1,97e3,97e3,97e5,97e6,97ed,97ee,97f0,97f3,97f5,97f6,97f8,97fb,97fd,9808,980a,980a,980c,9818,981b,9821,9823,9824,9826,9829,982b,982b,982d,9830,9832,9835,9837,9839,983b,983b,9841,9841,9843,9853,9856,9859,985b,9860,9862,986c,986f,9875,98a8,98a9,98ac,98af,98b1,98b4,98b6,98c4,98c6,98cc,98ce,98ce,98db,98dc,98de,98e3,98e5,98e7,98e9,98ed,98ef,98ef,98f1,98f2,98f4,98f6,98f9,98fa,98fc,98fe,9900,9900,9902,9903,9905,9905,9907,990a,990c,990c,990e,990e,9910,991c,991e,991f,9921,9921,9924,9925,9927,9933,9935,9935,9937,9943,9945,9945,9947,994e,9950,9959,995b,995f,9961,9963,9996,9999,999b,999e,99a1,99a1,99a3,99a8,99aa,99b5,99b8,99bd,99c1,99c5,99c7,99c7,99c9,99c9,99cb,99dd,99df,99e7,99e9,99ea,99ec,99ee,99f0,99f1,99f4,99ff,9a01,9a07,9a09,9a11,9a14,9a16,9a19,9a27,9a29,9a32,9a34,9a46,9a48,9a4a,9a4c,9a50,9a52,9a5c,9a5e,9a60,9a62,9a6c,9a8f,9a8f,9aa8,9aa8,9aab,9aab,9aad,9aad,9aaf,9ab4,9ab6,9ac2,9ac6,9ac7,9aca,9aca,9acd,9acd,9acf,9ad8,9adc,9adc,9adf,9ae3,9ae6,9ae7,9aeb,9aef,9af1,9af4,9af6,9af7,9af9,9aff,9b01,9b06,9b08,9b12,9b14,9b1a,9b1e,9b20,9b22,9b25,9b27,9b2b,9b2d,9b2f,9b31,9b35,9b37,9b37,9b39,9b3c,9b3e,9b46,9b48,9b48,9b4a,9b52,9b54,9b56,9b58,9b5b,9b5f,9b61,9b64,9b64,9b66,9b69,9b6c,9b6c,9b6f,9b71,9b74,9b77,9b7a,9b83,9b85,9b88,9b8b,9b8b,9b8d,9b93,9b95,9b95,9b97,9b97,9b9a,9b9b,9b9d,9ba2,9ba4,9ba6,9ba8,9ba8,9baa,9bab,9bad,9bb0,9bb5,9bb6,9bb8,9bb9,9bbd,9bbd,9bbf,9bc1,9bc3,9bc4,9bc6,9bca,9bcf,9bcf,9bd3,9bd7,9bd9,9bde,9be0,9be2,9be4,9bed,9bf0,9bf1,9bf4,9bf4,9bf7,9bf8,9bfd,9bfd,9bff,9bff,9c02,9c02,9c05,9c0e,9c10,9c10,9c12,9c15,9c17,9c17,9c1b,9c1d,9c1f,9c21,9c23,9c26,9c28,9c29,9c2b,9c2d,9c2f,9c2f,9c31,9c37,9c39,9c41,9c44,9c50,9c52,9c59,9c5d,9c60,9c62,9c63,9c66,9c68,9c6d,9c6e,9c71,9c75,9c77,9c7c,9ce5,9ce7,9ce9,9cea,9ced,9ced,9cf1,9cf7,9cf9,9cfd,9cff,9d00,9d02,9d09,9d0c,9d0c,9d10,9d10,9d12,9d12,9d14,9d19,9d1b,9d1b,9d1d,9d23,9d25,9d26,9d28,9d29,9d2d,9d31,9d33,9d34,9d36,9d39,9d3b,9d3b,9d3d,9d45,9d49,9d4c,9d4e,9d54,9d56,9d61,9d67,9d75,9d77,9d79,9d7b,9d8c,9d90,9d90,9d92,9d94,9d96,9dad,9daf,9daf,9db1,9dc5,9dc7,9ddf,9de1,9de6,9de8,9de9,9deb,9df0,9df2,9e07,9e09,9e15,9e17,9e1f,9e75,9e75,9e79,9e7d,9e7f,9e8e,9e90,9ea2,9ea4,9eb1,9eb4,9eb7,9ebb,9ec4,9ec6,9ec8,9ecc,9ed1,9ed3,9ed6,9ed8,9ed8,9eda,9ee0,9ee2,9ee2,9ee4,9ee8,9eeb,9eeb,9eed,9f02,9f06,9f0a,9f0e,9f10,9f12,9f13,9f15,9f1c,9f1e,9f1e,9f20,9f20,9f22,9f39,9f3b,9f3b,9f3d,9f3e,9f40,9f50,9f52,9f67,9f69,9f6c,9f6e,9f72,9f74,9f7b,9f7e,9f7f,9f8d,9f8e,9f90,9f92,9f94,9f99,9f9c,9f9c,9f9f,9fa0,9fa2,9fa2,9fa4,9fb3,9fc7,9fcb,9fd0,9fd0,f900,f903,f905,f907,f90b,f90b,f90d,f90d,f915,f915,f917,f917,f91a,f91a,f922,f922,f92d,f92d,f931,f931,f937,f937,f939,f93a,f943,f943,f947,f948,f94a,f94a,f952,f952,f95e,f95e,f962,f962,f965,f965,f967,f967,f972,f972,f976,f976,f978,f979,f97e,f97e,f980,f980,f986,f986,f98a,f98a,f98e,f98e,f995,f995,f99c,f99c,f99f,f99f,f9b5,f9b5,f9bb,f9bb,f9bd,f9bd,f9c5,f9c6,f9c8,f9c8,f9d8,f9d8,f9dc,f9de,f9e0,f9e0,f9e4,f9e4,f9e7,f9e7,f9e9,f9e9,f9f4,f9f5,f9fa,f9fa,f9fd,f9fd,f9ff,f9ff,fa02,fa02,fa05,fa08,fa0a,fa0a,fa0c,fa0d,fa33,fa35,fa3a,fa3a,fa49,fa49,fa4b,fa4b,fa5d,fa5e,fb00,fb04,fe10,fe19,fe30,fe52,fe54,fe66,fe68,fe6b,ff01,ff9f,ffa1,ffbe,ffc2,ffc7,ffca,ffcf,ffd2,ffd7,ffda,ffdc,ffe0,ffe6,ffe8,ffee,1f100,1f10c,1f110,1f16c,1f170,1f1ac,1f200,1f202,1f210,1f23b,1f240,1f248,1f250,1f251,20021,20021,2003e,2003e,20046,20046,2004e,2004e,20068,20068,20086,20087,2008a,2008a,20094,20094,200ca,200cd,200d1,200d1,200ee,200ee,2010c,2010c,2010e,2010e,20118,20118,201a4,201a4,201a9,201a9,201ab,201ab,201c1,201c1,201d4,201d4,201f2,201f2,20204,20204,2020c,2020c,20214,20214,20239,20239,2025b,2025b,20274,20275,20299,20299,2029e,2029e,202a0,202a0,202b7,202b7,202bf,202c0,202e5,202e5,2030a,2030a,20325,20325,20341,20341,20345,20347,2037e,20380,203a0,203a0,203a7,203a7,203b5,203b5,203c9,203c9,203cb,203cb,203f5,203f5,203fc,203fc,20413,20414,2041f,2041f,20465,20465,20487,20487,2048e,2048e,20491,20492,204a3,204a3,204d7,204d7,204fc,204fc,204fe,204fe,20547,20547,2058e,2058e,205a5,205a5,205b3,205b3,205c3,205c3,205ca,205ca,205d0,205d0,205d5,205d5,205df,205e0,205eb,205eb,20611,20611,20615,20615,20619,2061a,20628,20628,20630,20630,20656,20656,20676,20676,2070e,2070e,20731,20731,20779,20779,2082c,2082c,20873,20873,208d5,208d5,20916,20916,20923,20923,20954,20954,20979,20979,209e7,209e7,20a11,20a11,20a50,20a50,20a6f,20a6f,20a8a,20a8a,20ab4,20ab4,20ac2,20ac2,20acd,20acd,20b0d,20b0d,20b8f,20b8f,20b9f,20b9f,20ba8,20ba9,20bbf,20bbf,20bc6,20bc6,20bcb,20bcb,20be2,20be2,20beb,20beb,20bfb,20bfb,20bff,20bff,20c0b,20c0b,20c0d,20c0d,20c20,20c20,20c34,20c34,20c3a,20c3b,20c41,20c43,20c53,20c53,20c65,20c65,20c77,20c78,20c7c,20c7c,20c8d,20c8d,20c96,20c96,20c9c,20c9c,20cb5,20cb5,20cb8,20cb8,20ccf,20ccf,20cd3,20cd6,20cdd,20cdd,20ced,20ced,20cff,20cff,20d15,20d15,20d28,20d28,20d31,20d32,20d46,20d49,20d4c,20d4e,20d6f,20d6f,20d71,20d71,20d74,20d74,20d7c,20d7c,20d7e,20d7f,20d96,20d96,20d9c,20d9c,20da7,20da7,20db2,20db2,20dc8,20dc8,20e04,20e04,20e09,20e0a,20e0d,20e11,20e16,20e16,20e1d,20e1d,20e4c,20e4c,20e6d,20e6d,20e73,20e73,20e75,20e7b,20e8c,20e8c,20e96,20e96,20e98,20e98,20e9d,20e9d,20ea2,20ea2,20eaa,20eac,20eb6,20eb6,20ed7,20ed8,20edd,20edd,20ef8,20efb,20f1d,20f1d,20f26,20f26,20f2d,20f2e,20f30,20f31,20f3b,20f3b,20f4c,20f4c,20f64,20f64,20f8d,20f8d,20f90,20f90,20fad,20fad,20fb4,20fb6,20fbc,20fbc,20fdf,20fdf,20fea,20fed,21014,21014,2101d,2101e,2104f,2104f,2105c,2105c,2106f,2106f,21075,21078,2107b,2107b,21088,21088,21096,21096,2109d,2109d,210b4,210b4,210bf,210c1,210c7,210c9,210cf,210cf,210d3,210d3,210e4,210e4,210f4,210f6,2112f,2112f,2113b,2113b,2113d,2113d,21145,21145,21148,21148,2114f,2114f,21180,21180,21187,21187,211d9,211d9,2123c,2123c,2124f,2124f,2127c,2127c,212a8,212a9,212b0,212b0,212e3,212e3,212fe,212fe,21302,21305,21336,21336,2133a,2133a,21375,21376,2138e,2138e,21398,21398,2139c,2139c,213c5,213c6,213ed,213ed,213fe,213fe,21413,21413,21416,21416,21424,21424,2143f,2143f,21452,21452,21454,21455,2148a,2148a,21497,21497,214b6,214b6,214e8,214e8,214fd,214fd,21577,21577,21582,21582,21596,21596,2160a,2160a,21613,21613,21619,21619,2163e,2163e,21661,21661,21692,21692,216b8,216b8,216ba,216ba,216c0,216c2,216d3,216d3,216d5,216d5,216df,216df,216e6,216e8,216fa,216fc,216fe,216fe,2170d,2170d,21710,21710,21726,21726,2173a,2173c,21757,21757,2176c,21771,21773,21774,217ab,217ab,217b0,217b5,217c3,217c3,217c7,217c7,217d9,217dc,217df,217df,217ef,217ef,217f5,217f6,217f8,217fc,21820,21820,21828,2182a,2182d,2182d,21839,2183b,21840,21840,21845,21845,21852,21852,2185e,2185e,21861,21864,21877,21877,2187b,2187b,21883,21885,2189e,218a2,218be,218bf,218d1,218d1,218d6,218d9,218fa,218fa,21903,21905,21910,21912,21915,21915,2191c,2191c,21922,21922,21927,21927,2193b,2193b,21944,21944,21958,21958,2196a,2196a,2197c,2197c,21980,21980,21983,21983,21988,21988,21996,21996,219db,219db,219f3,219f3,21a2d,21a2d,21a34,21a34,21a45,21a45,21a4b,21a4b,21a63,21a63,21b44,21b44,21bc1,21bc2,21c2a,21c2a,21c70,21c70,21ca2,21ca2,21ca5,21ca5,21cac,21cac,21d46,21d46,21d53,21d53,21d5e,21d5e,21d90,21d90,21db6,21db6,21dba,21dba,21dca,21dca,21dd1,21dd1,21deb,21deb,21df9,21df9,21e1c,21e1c,21e23,21e23,21e37,21e37,21e3d,21e3d,21e89,21e89,21ea4,21ea4,21ea8,21ea8,21ec8,21ec8,21ed5,21ed5,21f0f,21f0f,21f15,21f15,21f6a,21f6a,21f9e,21f9e,21fa1,21fa1,21fe8,21fe8,22045,22045,22049,22049,2207e,2207e,2209a,2209a,220c7,220c7,220fc,220fc,2212a,2212a,2215b,2215b,22173,22173,2217a,2217a,221a1,221a1,221c1,221c1,221c3,221c3,22208,22208,2227c,2227c,22321,22321,22325,22325,223bd,223bd,223d0,223d0,223d7,223d7,223fa,223fa,22465,22465,22471,22471,2248b,2248b,22491,22491,224b0,224b0,224bc,224bc,224c1,224c1,224c9,224c9,224cc,224cc,224ed,224ed,22513,22513,2251b,2251b,22530,22530,22554,22554,2258d,2258d,225af,225af,225be,225be,2261b,2261c,2262b,2262b,22668,22668,2267a,2267a,22696,22696,22698,22698,226f4,226f6,22712,22712,22714,22714,2271b,2271b,2271f,2271f,2272a,2272a,22775,22775,22781,22781,22796,22796,227b4,227b5,227cd,227cd,22803,22803,2285f,22860,22871,22871,228ad,228ad,228c1,228c1,228f7,228f7,22926,22926,22939,22939,2294f,2294f,22967,22967,2296b,2296b,22980,22980,22993,22993,22a66,22a66,22acf,22acf,22ad5,22ad5,22ae6,22ae6,22ae8,22ae8,22b0e,22b0e,22b22,22b22,22b3f,22b3f,22b43,22b43,22b6a,22b6a,22bca,22bca,22bce,22bce,22c26,22c27,22c38,22c38,22c4c,22c4c,22c51,22c51,22c55,22c55,22c62,22c62,22c88,22c88,22c9b,22c9b,22ca1,22ca1,22ca9,22ca9,22cb2,22cb2,22cb7,22cb7,22cc2,22cc2,22cc6,22cc6,22cc9,22cc9,22d07,22d08,22d12,22d12,22d44,22d44,22d4c,22d4c,22d67,22d67,22d8d,22d8d,22d95,22d95,22da0,22da0,22da3,22da4,22db7,22db7,22dee,22dee,22e0d,22e0d,22e36,22e36,22e42,22e42,22e78,22e78,22e8b,22e8b,22eb3,22eb3,22eef,22eef,22f74,22f74,22fcc,22fcc,22fe3,22fe3,23033,23033,23044,23044,2304b,2304b,23066,23066,2307d,2307e,2308e,2308e,230b7,230b7,230bc,230bc,230da,230da,23103,23103,2313d,2313d,2317d,2317d,23182,23182,231a4,231a5,231b3,231b3,231c8,231c9,231ea,231ea,231f7,231f9,2320f,2320f,23225,23225,2322f,2322f,23231,23234,23256,23256,2325e,2325e,23262,23262,23281,23281,23289,2328a,232ab,232ad,232d2,232d2,232e0,232e1,23300,23300,2330a,2330a,2331f,2331f,233b4,233b4,233cc,233cc,233de,233de,233e6,233e6,233f4,233f5,233f9,233fa,233fe,233fe,23400,23400,2343f,2343f,23450,23450,2346f,2346f,23472,23472,234e5,234e5,23519,23519,23530,23530,23551,23551,2355a,2355a,23567,23567,23595,23595,23599,23599,2359c,2359c,235bb,235bb,235cd,235cf,235f3,235f3,23600,23600,23617,23617,2361a,2361a,2363c,2363c,23640,23640,23659,23659,2365f,2365f,23677,23677,2368e,2368e,2369e,2369e,236a6,236a6,236ad,236ad,236ba,236ba,236df,236df,236ee,236ee,23703,23703,23716,23716,23720,23720,2372d,2372d,2372f,2372f,2373f,2373f,23766,23766,23781,23781,237a2,237a2,237bc,237bc,237c2,237c2,237d5,237d7,2383a,2383a,239c2,239c2,23aa7,23aa7,23adb,23adb,23aee,23aee,23afa,23afa,23b1a,23b1a,23b5a,23b5a,23c63,23c63,23c99,23c9b,23cb5,23cb5,23cb7,23cb7,23cc7,23cc9,23cfc,23cff,23d40,23d40,23d5b,23d5b,23d7e,23d7e,23d8f,23d8f,23db6,23dbd,23de3,23de3,23df8,23df8,23e06,23e06,23e11,23e11,23e2c,23e31,23e39,23e39,23e88,23e8b,23eb9,23eb9,23ebf,23ebf,23ed7,23ed7,23ef7,23efc,23f35,23f35,23f41,23f41,23f4a,23f4a,23f61,23f61,23f7f,23f82,23f8f,23f8f,23fb4,23fb4,23fb7,23fb7,23fc0,23fc0,23fc5,23fc5,23feb,23ff0,24011,24011,24039,2403d,24057,24057,24085,24085,2408b,2408d,24091,24091,240c9,240c9,240e1,240e1,240ec,240ec,24104,24104,2410f,2410f,24119,24119,2413f,24140,24144,24144,2414e,2414e,24155,24157,2415c,2415c,2415f,2415f,24161,24161,24177,24177,2417a,2417a,241a3,241a5,241ac,241ac,241b5,241b5,241cd,241cd,241e2,241e2,241fc,241fc,2421b,2421b,2424b,2424b,24256,24256,24259,24259,24276,24278,24284,24284,24293,24293,24295,24295,242a5,242a5,242bf,242bf,242c1,242c1,242c9,242ca,242ee,242ee,242fa,242fa,2430d,2430d,2431a,2431a,24334,24334,24348,24348,24362,24365,2438c,2438c,24396,24396,2439c,2439c,243bd,243bd,243c1,243c1,243e9,243ea,243f2,243f2,243f8,243f8,24404,24404,24435,24436,2445a,2445b,24473,24473,24487,24488,244b9,244b9,244bc,244bc,244ce,244ce,244d3,244d3,244d6,244d6,24505,24505,24521,24521,24578,24578,245c8,245c8,24618,24618,2462a,2462a,24665,24665,24674,24674,24697,24697,246d4,246d4,24706,24706,24725,24725,2472f,2472f,2478f,2478f,247e0,247e0,24812,24812,24823,24823,24882,24882,248e9,248e9,248f0,248f3,248fb,248fb,248ff,24901,2490c,2490c,24916,24917,24919,24919,2492f,2492f,24933,24934,2493e,24943,24962,24963,24974,24976,2497b,2497b,2497f,2497f,24982,24982,24988,2498f,24994,24994,249a4,249a4,249a7,249a7,249a9,249a9,249ab,249ad,249b7,249bb,249c5,249c5,249d0,249d0,249da,249da,249de,249df,249e3,249e3,249e5,249e5,249ec,249ed,249f6,249f9,249fb,249fb,24a0e,24a0e,24a12,24a13,24a15,24a15,24a21,24a2a,24a3e,24a3e,24a42,24a42,24a45,24a45,24a4a,24a4a,24a4e,24a51,24a5d,24a5d,24a65,24a67,24a71,24a71,24a77,24a7a,24a8c,24a8c,24a93,24a96,24aa4,24aa7,24ab1,24ab3,24aba,24abc,24ac0,24ac0,24ac7,24ac7,24aca,24aca,24ad1,24ad1,24adf,24adf,24ae2,24ae2,24ae9,24ae9,24b0f,24b0f,24b6e,24b6e,24bf5,24bf5,24c09,24c09,24c9e,24c9f,24cc9,24cc9,24cd9,24cd9,24d06,24d06,24d13,24d13,24db8,24db8,24dea,24deb,24e3b,24e3b,24e50,24e50,24ea5,24ea5,24ea7,24ea7,24f0e,24f0e,24f5c,24f5c,24f82,24f82,24f86,24f86,24f97,24f97,24f9a,24f9a,24fa9,24fa9,24fb8,24fb8,24fc2,24fc2,2502c,2502c,25052,25052,2509d,2509d,2512b,2512b,25148,25148,2517d,2517e,251cd,251cd,251e3,251e3,251e6,251e7,25220,25221,25250,25250,25299,25299,252c7,252c7,252d8,252d8,2530e,2530e,25311,25311,25313,25313,25419,25419,25425,25425,2542f,25430,25446,25446,2546c,2546c,2546e,2546e,2549a,2549a,25531,25531,25535,25535,2553f,2553f,2555b,2555e,25562,25562,25565,25566,25581,25581,25584,25584,2558f,2558f,255b9,255b9,255d5,255d5,255db,255db,255e0,255e0,25605,25605,25635,25635,25651,25651,25683,25683,25695,25695,256e3,256e3,256f6,256f6,25706,25706,2571d,2571d,25725,25725,2573d,2573d,25772,25772,257c7,257c7,257df,257e1,25857,25857,2585d,2585d,25872,25872,258c8,258c8,258de,258de,258e1,258e1,25903,25903,25946,25946,25956,25956,259ac,259ac,259cc,259cc,25a54,25a54,25a95,25a95,25a9c,25a9c,25aae,25aaf,25ad7,25ad7,25ae9,25ae9,25b74,25b74,25b89,25b89,25bb3,25bb4,25bc6,25bc6,25be4,25be4,25be8,25be8,25c01,25c01,25c06,25c06,25c21,25c21,25c4a,25c4a,25c65,25c65,25c91,25c91,25ca4,25ca4,25cc0,25cc1,25cfe,25cfe,25d20,25d20,25d30,25d30,25d43,25d43,25d99,25d99,25db9,25db9,25e0e,25e0e,25e49,25e49,25e81,25e83,25ea6,25ea6,25ebc,25ebc,25ed7,25ed8,25f1a,25f1a,25f4b,25f4b,25fe1,25fe2,26021,26021,26029,26029,26048,26048,26064,26064,26083,26083,26097,26097,260a4,260a5,26102,26102,26121,26121,26159,2615c,261ad,261ae,261b2,261b2,261dd,261dd,26258,26258,26261,26261,2626a,2626b,262d0,262d0,26335,26335,2634b,2634c,26351,26351,263be,263be,263f5,263f5,263f8,263f8,26402,26402,26410,26412,2644a,2644a,26469,26469,26484,26484,26488,26489,2648d,2648d,26498,26498,26512,26512,26572,26572,265a0,265a0,265ad,265ad,265bf,265bf,26612,26612,26626,26626,266af,266af,266b1,266b1,266b5,266b5,266da,266da,266e8,266e8,266fc,266fc,26716,26716,26741,26741,26799,26799,267b3,267b4,267cc,267cc,2681c,2681c,26846,26846,2685e,2685e,2686e,2686e,26888,26888,2688a,2688a,26893,26893,268c7,268c7,2690e,2690e,26911,26911,26926,26926,26939,26939,26951,26951,269a8,269a8,269b5,269b5,269f2,269f2,269fa,269fa,26a2d,26a2e,26a34,26a34,26a42,26a42,26a51,26a52,26b05,26b05,26b0a,26b0a,26b13,26b13,26b15,26b15,26b23,26b23,26b28,26b28,26b50,26b53,26b5b,26b5b,26b75,26b75,26b82,26b82,26b96,26b97,26b9d,26b9d,26bb3,26bb3,26bc0,26bc0,26bf7,26bf7,26c21,26c21,26c40,26c41,26c46,26c46,26c7e,26c82,26ca4,26ca4,26cb7,26cb8,26cbd,26cbd,26cc0,26cc0,26cc3,26cc3,26cd1,26cd1,26d22,26d2a,26d51,26d51,26d74,26d74,26da0,26da7,26dae,26dae,26ddc,26ddc,26dea,26deb,26df0,26df0,26e00,26e00,26e05,26e05,26e07,26e07,26e12,26e12,26e42,26e45,26e6e,26e6e,26e72,26e72,26e77,26e77,26e84,26e84,26e88,26e88,26e8b,26e8b,26e99,26e99,26ed0,26ed7,26f26,26f26,26f73,26f74,26f9f,26f9f,26fa1,26fa1,26fbe,26fbe,26fde,26fdf,2700e,2700e,2704b,2704b,27052,27053,27088,27088,270ad,270af,270cd,270cd,270d2,270d2,270f0,270f0,270f8,270f8,27109,27109,2710c,2710d,27126,27127,27164,27165,27175,27175,271cd,271cd,2721b,2721b,27267,27267,27280,27280,27285,27285,2728b,2728b,272b2,272b2,272b6,272b6,272e6,272e6,27352,27352,2739a,2739a,273ff,273ff,27422,27422,27450,27450,27484,27484,27486,27486,27574,27574,275a3,275a3,275e0,275e0,275e4,275e4,275fd,275fe,27607,27607,2760c,2760c,27632,27632,27639,27639,27655,27657,27694,27694,2770f,2770f,27735,27736,27741,27741,2775e,2775e,27784,27785,277cc,277cc,27858,27858,27870,27870,2789d,2789d,278b2,278b2,278c8,278c8,27924,27924,27967,27967,2797a,2797a,279a0,279a0,279dd,279dd,279fd,279fd,27a0a,27a0a,27a0e,27a0e,27a3e,27a3e,27a53,27a53,27a59,27a59,27a79,27a79,27a84,27a84,27abd,27abe,27af4,27af4,27b06,27b06,27b0b,27b0b,27b18,27b18,27b38,27b3a,27b48,27b48,27b65,27b65,27bef,27bef,27bf4,27bf4,27c12,27c12,27c6c,27c6c,27cb1,27cb1,27cc5,27cc5,27d2f,27d2f,27d53,27d54,27d66,27d66,27d73,27d73,27d84,27d84,27d8f,27d8f,27d98,27d98,27dbd,27dbd,27ddc,27ddc,27e4d,27e4d,27e4f,27e4f,27f2e,27f2e,27fb7,27fb7,27ff9,27ff9,28002,28002,28009,28009,2801e,2801e,28023,28024,28048,28048,28083,28083,28090,28090,280bd,280be,280e8,280e9,280f4,280f4,2812e,2812e,2814f,2814f,2815d,2815d,2816f,2816f,28189,28189,281af,281af,281bc,281bc,28207,28207,28218,28218,2821a,2821a,28256,28256,2827c,2827c,2829b,2829b,282cd,282cd,282e2,282e2,28306,28306,28318,28318,2832f,2832f,2833a,2833a,28365,28365,2836d,2836d,2837d,2837d,2838a,2838a,28412,28412,28468,28468,2846c,2846c,28473,28473,28482,28482,28501,28501,2853c,2853d,2856c,2856c,285e8,285e8,285f4,285f4,28600,28600,2860b,2860b,28625,28625,2863b,2863b,286aa,286ab,286b2,286b2,286bc,286bc,286d8,286d8,286e6,286e6,2870f,2870f,28713,28713,28804,28804,2882b,2882b,2890d,2890d,28933,28933,28948,28949,28956,28956,28964,28964,28968,28968,2896c,2896d,2897e,2897e,28989,28989,289a8,289a8,289aa,289ab,289b8,289b8,289bc,289bc,289c0,289c0,289dc,289dc,289de,289de,289e1,289e1,289e3,289e4,289e7,289e8,289f9,289fc,28a0f,28a0f,28a16,28a16,28a25,28a25,28a29,28a29,28a32,28a32,28a36,28a36,28a44,28a4b,28a59,28a5a,28a81,28a83,28a9a,28a9c,28ac0,28ac0,28ac6,28ac6,28acb,28acc,28ace,28ace,28ade,28ae3,28ae5,28ae5,28aea,28aea,28afc,28afc,28b0c,28b0c,28b13,28b13,28b21,28b22,28b2b,28b2d,28b2f,28b2f,28b46,28b46,28b4c,28b4c,28b4e,28b4e,28b50,28b50,28b63,28b66,28b6c,28b6c,28b8f,28b8f,28b99,28b99,28b9c,28b9d,28bb9,28bb9,28bc2,28bc2,28bc5,28bc5,28bd4,28bd4,28bd7,28bd7,28bd9,28bda,28be7,28bec,28bf5,28bf5,28bff,28bff,28c03,28c03,28c09,28c09,28c1c,28c1d,28c23,28c23,28c26,28c26,28c2b,28c2b,28c30,28c30,28c39,28c39,28c3b,28c3b,28cca,28cca,28ccd,28ccd,28cd2,28cd2,28d34,28d34,28d99,28d99,28db9,28db9,28e0f,28e0f,28e36,28e36,28e39,28e39,28e65,28e66,28e97,28e97,28eac,28eac,28eb2,28eb3,28ed9,28ed9,28ee7,28ee7,28fc5,28fc5,29079,29079,29088,29088,2908b,2908b,29093,29093,290af,290b1,290c0,290c0,290e4,290e5,290ec,290ed,2910d,2910d,29110,29110,2913c,2913c,2914d,2914d,2915b,2915b,2915e,2915e,29170,29170,2919c,2919c,291a8,291a8,291d5,291d5,291eb,291eb,2941d,2941d,29420,29420,29433,29433,2943f,2943f,29448,29448,294d0,294d0,294d9,294da,294e5,294e5,294e7,294e7,2959e,2959e,295b0,295b0,295b8,295b8,295d7,295d7,295e9,295e9,295f4,295f4,2967f,2967f,29720,29720,29732,29732,297d4,297d4,29810,29810,29857,29857,298a4,298a4,298d1,298d1,298ea,298ea,298f1,298f1,298fa,298fa,29903,29903,29905,29905,2992f,2992f,29945,29945,29947,29949,2995d,2995d,2996a,2996a,2999d,2999d,299c3,299c3,299c9,299c9,29a28,29a28,29a4d,29a4d,29b05,29b05,29b0e,29b0e,29bd5,29bd5,29c73,29c73,29cad,29cad,29d3e,29d3e,29d5a,29d5a,29d7c,29d7c,29d98,29d98,29d9b,29d9b,29df6,29df6,29e06,29e06,29e2d,29e2d,29e68,29e68,29eac,29eac,29eb0,29eb0,29ec3,29ec3,29ef8,29ef8,29f23,29f23,29f30,29f30,29fb7,29fb7,29fde,29fde,2a014,2a014,2a087,2a087,2a0b9,2a0b9,2a0e1,2a0e1,2a0ed,2a0ed,2a0f3,2a0f3,2a0f8,2a0f8,2a0fe,2a0fe,2a107,2a107,2a123,2a123,2a133,2a134,2a150,2a150,2a192,2a193,2a1ab,2a1ab,2a1b4,2a1b5,2a1df,2a1df,2a1f5,2a1f5,2a220,2a220,2a233,2a233,2a293,2a293,2a29f,2a29f,2a2b2,2a2b2,2a2b4,2a2b4,2a2b6,2a2b6,2a2ba,2a2ba,2a2bd,2a2bd,2a2df,2a2df,2a2ff,2a2ff,2a351,2a351,2a3a9,2a3a9,2a3ed,2a3ed,2a434,2a434,2a45b,2a45b,2a5c6,2a5c6,2a5cb,2a5cb,2a601,2a601,2a632,2a632,2a64a,2a64a,2a65b,2a65b,2a6a9,2a6a9,2adff,2adff,2d544,2d544,2f825,2f825,2f83b,2f83b,2f840,2f840,2f878,2f878,2f894,2f894,2f8a6,2f8a6,2f8cd,2f8cd,2f8db,2f8db,2f994,2f994,2f9b2,2f9b2,2f9bc,2f9bc,2f9d4,2f9d4,30edd,30ede,3106c,3106c,]), - NotoFont.fromFlatList('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [20,20,a0,a0,1700,170c,170e,1714,1735,1736,200b,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [20,20,a0,a0,1735,1736,1760,176c,176e,1770,1772,1773,200b,200d,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [20,20,a0,a0,300,301,307,308,30c,30c,1040,1049,1950,196d,1970,1974,200b,200d,25cc,25cc,3001,3002,3008,300b,]), - NotoFont.fromFlatList('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [20,20,a0,a0,1a20,1a5e,1a60,1a7c,1a7f,1a89,1a90,1a99,1aa0,1aad,200b,200d,2219,2219,]), - NotoFont.fromFlatList('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [20,20,a0,a0,200b,200d,25cc,25cc,a78b,a78c,aa80,aac2,aadb,aadf,]), - NotoFont.fromFlatList('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [20,20,a0,a0,964,965,200c,200d,25cc,25cc,a830,a839,11680,116b8,116c0,116c9,]), - NotoFont.fromFlatList('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v21/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b2,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,b82,b83,b85,b8a,b8e,b90,b92,b95,b99,b9a,b9c,b9c,b9e,b9f,ba3,ba4,ba8,baa,bae,bb9,bbe,bc2,bc6,bc8,bca,bcd,bd0,bd0,bd7,bd7,be6,bfa,1cda,1cda,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,2074,2074,2082,2084,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,a8f3,a8f3,11301,11301,11303,11303,1133b,1133c,]), - NotoFont.fromFlatList('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [11fc0,11ff1,11fff,11fff,]), - NotoFont.fromFlatList('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v19/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ad,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2c6,2c7,2c9,2c9,2d8,2dd,300,304,306,308,30a,30c,312,312,326,328,951,952,964,965,c00,c0c,c0e,c10,c12,c28,c2a,c39,c3d,c44,c46,c48,c4a,c4d,c55,c56,c58,c5a,c60,c63,c66,c6f,c77,c7f,1cda,1cda,1cf2,1cf2,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,20b9,20b9,2122,2122,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [20,21,28,29,2c,2c,2e,2e,3a,3b,a0,a0,60c,60c,61b,61b,61f,61f,660,66c,780,7b1,200b,200f,2018,2019,201c,201d,25cc,25cc,fdf2,fdf2,fdfd,fdfd,]), - NotoFont.fromFlatList('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v20/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [20,7e,a0,a3,a5,a5,a7,ab,ae,b0,b4,b4,b6,b8,ba,bb,bf,107,10a,113,116,11b,11e,123,126,127,12a,12b,12e,133,136,137,139,13e,141,148,14a,14d,150,15b,15e,161,164,165,16a,17e,1cd,1ce,218,21b,237,237,2bc,2bc,2c6,2c7,2c9,2c9,2d7,2dd,300,304,306,308,30a,30c,312,312,326,328,331,331,e01,e3a,e3f,e5b,1e80,1e85,1e9e,1e9e,1ef2,1ef3,200b,200d,2010,2010,2013,2014,2018,201a,201c,201e,2022,2022,2026,2026,2039,203a,20ac,20ac,2122,2122,2212,2212,25cc,25cc,]), - NotoFont.fromFlatList('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [20,20,a0,a0,2c7,2c7,301,302,304,304,306,307,309,309,323,323,331,331,200c,200d,202e,202e,25cc,25cc,2d30,2d67,2d6f,2d70,2d7f,2d7f,]), - NotoFont.fromFlatList('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [20,20,a0,a0,951,952,964,965,9f4,9f7,1cf2,1cf2,200c,200d,25cc,25cc,a830,a839,11480,114c7,114d0,114d9,]), - NotoFont.fromFlatList('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [20,20,a0,a0,10380,1039d,1039f,1039f,]), - NotoFont.fromFlatList('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [20,20,a0,a0,a500,a62b,]), - NotoFont.fromFlatList('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [20,20,22,22,27,29,2c,2f,5b,5d,7b,7b,7d,7d,a0,a0,201c,201d,25cc,25cc,1e2c0,1e2f9,1e2ff,1e2ff,]), - NotoFont.fromFlatList('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [20,20,27,27,a0,a0,200c,200d,118a0,118f2,118ff,118ff,]), - NotoFont.fromFlatList('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [20,20,a0,a0,3001,3002,3008,3011,3014,301b,30fb,30fb,a000,a48c,a490,a4c6,ff61,ff65,]), - NotoFont.fromFlatList('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [20,20,a0,a0,25cc,25cc,11a00,11a47,]), + NotoFont.fromFlatList('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [0x20,0x7e,0xa0,0x377,0x37a,0x37f,0x384,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3e1,0x3f0,0x52f,0x900,0x97f,0x1ab0,0x1ac0,0x1c80,0x1c88,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1d00,0x1df9,0x1dfb,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fc4,0x1fc6,0x1fd3,0x1fd6,0x1fdb,0x1fdd,0x1fef,0x1ff2,0x1ff4,0x1ff6,0x1ffe,0x2000,0x2064,0x2066,0x2071,0x2074,0x208e,0x2090,0x209c,0x20a0,0x20bf,0x20f0,0x20f0,0x2100,0x215f,0x2184,0x2184,0x2189,0x2189,0x2212,0x2212,0x2215,0x2215,0x25cc,0x25cc,0x2c60,0x2c7f,0x2de0,0x2e52,0xa640,0xa69f,0xa700,0xa7bf,0xa7c2,0xa7ca,0xa7f5,0xa7ff,0xa830,0xa839,0xa8e0,0xa8ff,0xa92e,0xa92e,0xab30,0xab6b,0xfb00,0xfb06,0xfe00,0xfe00,0xfe20,0xfe2f,0xfeff,0xfeff,0xfffc,0xfffd,]), + NotoFont.fromFlatList('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0xa9,0xa9,0xae,0xae,0x200d,0x200d,0x203c,0x203c,0x2049,0x2049,0x20e3,0x20e3,0x2122,0x2122,0x2139,0x2139,0x2194,0x2199,0x21a9,0x21aa,0x231a,0x231b,0x2328,0x2328,0x23cf,0x23cf,0x23e9,0x23f3,0x23f8,0x23fa,0x24c2,0x24c2,0x25aa,0x25ab,0x25b6,0x25b6,0x25c0,0x25c0,0x25fb,0x25fe,0x2600,0x2604,0x260e,0x260e,0x2611,0x2611,0x2614,0x2615,0x2618,0x2618,0x261d,0x261d,0x2620,0x2620,0x2622,0x2623,0x2626,0x2626,0x262a,0x262a,0x262e,0x262f,0x2638,0x263a,0x2640,0x2640,0x2642,0x2642,0x2648,0x2653,0x265f,0x2660,0x2663,0x2663,0x2665,0x2666,0x2668,0x2668,0x267b,0x267b,0x267e,0x267f,0x2692,0x2697,0x2699,0x2699,0x269b,0x269c,0x26a0,0x26a1,0x26a7,0x26a7,0x26aa,0x26ab,0x26b0,0x26b1,0x26bd,0x26be,0x26c4,0x26c5,0x26c8,0x26c8,0x26ce,0x26cf,0x26d1,0x26d1,0x26d3,0x26d4,0x26e9,0x26ea,0x26f0,0x26f5,0x26f7,0x26fa,0x26fd,0x26fd,0x2702,0x2702,0x2705,0x2705,0x2708,0x270d,0x270f,0x270f,0x2712,0x2712,0x2714,0x2714,0x2716,0x2716,0x271d,0x271d,0x2721,0x2721,0x2728,0x2728,0x2733,0x2734,0x2744,0x2744,0x2747,0x2747,0x274c,0x274c,0x274e,0x274e,0x2753,0x2755,0x2757,0x2757,0x2763,0x2764,0x2795,0x2797,0x27a1,0x27a1,0x27b0,0x27b0,0x27bf,0x27bf,0x2934,0x2935,0x2b05,0x2b07,0x2b1b,0x2b1c,0x2b50,0x2b50,0x2b55,0x2b55,0x3030,0x3030,0x303d,0x303d,0x3297,0x3297,0x3299,0x3299,0xfe0e,0xfe0f,0x1f004,0x1f004,0x1f0cf,0x1f0cf,0x1f170,0x1f171,0x1f17e,0x1f17f,0x1f18e,0x1f18e,0x1f191,0x1f19a,0x1f1e6,0x1f1ff,0x1f201,0x1f202,0x1f21a,0x1f21a,0x1f22f,0x1f22f,0x1f232,0x1f23a,0x1f250,0x1f251,0x1f300,0x1f321,0x1f324,0x1f393,0x1f396,0x1f397,0x1f399,0x1f39b,0x1f39e,0x1f3f0,0x1f3f3,0x1f3f5,0x1f3f7,0x1f4fd,0x1f4ff,0x1f53d,0x1f549,0x1f54e,0x1f550,0x1f567,0x1f56f,0x1f570,0x1f573,0x1f57a,0x1f587,0x1f587,0x1f58a,0x1f58d,0x1f590,0x1f590,0x1f595,0x1f596,0x1f5a4,0x1f5a5,0x1f5a8,0x1f5a8,0x1f5b1,0x1f5b2,0x1f5bc,0x1f5bc,0x1f5c2,0x1f5c4,0x1f5d1,0x1f5d3,0x1f5dc,0x1f5de,0x1f5e1,0x1f5e1,0x1f5e3,0x1f5e3,0x1f5e8,0x1f5e8,0x1f5ef,0x1f5ef,0x1f5f3,0x1f5f3,0x1f5fa,0x1f64f,0x1f680,0x1f6c5,0x1f6cb,0x1f6d2,0x1f6d5,0x1f6d7,0x1f6dd,0x1f6e5,0x1f6e9,0x1f6e9,0x1f6eb,0x1f6ec,0x1f6f0,0x1f6f0,0x1f6f3,0x1f6fc,0x1f7e0,0x1f7eb,0x1f7f0,0x1f7f0,0x1f90c,0x1f93a,0x1f93c,0x1f945,0x1f947,0x1f9ff,0x1fa70,0x1fa74,0x1fa78,0x1fa7c,0x1fa80,0x1fa86,0x1fa90,0x1faac,0x1fab0,0x1faba,0x1fac0,0x1fac5,0x1fad0,0x1fad9,0x1fae0,0x1fae7,0x1faf0,0x1faf6,0xe0030,0xe0039,0xe0061,0xe007a,0xe007f,0xe007f,0xfe4e5,0xfe4ee,0xfe82c,0xfe82c,0xfe82e,0xfe837,]), + NotoFont.fromFlatList('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [0x20,0x20,0x30,0x39,0x41,0x5a,0x61,0x7a,0xa0,0xa0,0x20dd,0x20e0,0x20e2,0x20e4,0x2160,0x2183,0x2185,0x2188,0x218a,0x218b,0x2190,0x2199,0x2300,0x230f,0x2311,0x2315,0x2317,0x2317,0x231c,0x231f,0x2322,0x2323,0x2329,0x232a,0x232c,0x2335,0x237c,0x237c,0x2380,0x2394,0x2396,0x239a,0x23af,0x23af,0x23be,0x23cd,0x23d0,0x23db,0x23e2,0x23e8,0x2460,0x24ff,0x25cc,0x25cc,0x260a,0x260d,0x2613,0x2613,0x2624,0x262f,0x2638,0x263b,0x263d,0x2653,0x2669,0x267e,0x2690,0x269d,0x26a2,0x26a9,0x26ad,0x26bc,0x26ce,0x26ce,0x26e2,0x26ff,0x271d,0x2721,0x2776,0x2793,0x2921,0x2922,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f190,0x1f19b,0x1f1ac,0x1f546,0x1f549,0x1f54f,0x1f54f,0x1f610,0x1f610,0x1f700,0x1f773,]), + NotoFont.fromFlatList('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0x7f,0xa0,0x2022,0x2022,0x20e2,0x20e3,0x21af,0x21af,0x21e6,0x21f0,0x21f3,0x21f3,0x2218,0x2219,0x2299,0x2299,0x22c4,0x22c6,0x2316,0x2316,0x2318,0x2318,0x231a,0x231b,0x2324,0x2328,0x232b,0x232b,0x237b,0x237b,0x237d,0x237f,0x2394,0x2394,0x23ce,0x23cf,0x23e9,0x23ea,0x23ed,0x23ef,0x23f1,0x2426,0x2440,0x244a,0x25a0,0x2609,0x260e,0x2612,0x2614,0x2623,0x2630,0x2637,0x263c,0x263c,0x2654,0x2668,0x267f,0x268f,0x269e,0x26a1,0x26aa,0x26ac,0x26bd,0x26cd,0x26cf,0x26e1,0x2700,0x2704,0x2706,0x2709,0x270b,0x271c,0x2722,0x2727,0x2729,0x274b,0x274d,0x274d,0x274f,0x2753,0x2756,0x2775,0x2794,0x2794,0x2798,0x27af,0x27b1,0x27be,0x2800,0x28ff,0x2981,0x2981,0x29bf,0x29bf,0x29eb,0x29eb,0x2b00,0x2b0d,0x2b12,0x2b2f,0x2b4d,0x2b73,0x2b76,0x2b95,0x2b97,0x2bfd,0x2bff,0x2bff,0x4dc0,0x4dff,0xfff9,0xfffb,0x10140,0x1018e,0x10190,0x1019c,0x101a0,0x101a0,0x101d0,0x101fd,0x102e0,0x102fb,0x10e60,0x10e7e,0x1d2e0,0x1d2f3,0x1d300,0x1d356,0x1d360,0x1d378,0x1f000,0x1f02b,0x1f030,0x1f093,0x1f0a0,0x1f0ae,0x1f0b1,0x1f0bf,0x1f0c1,0x1f0cf,0x1f0d1,0x1f0f5,0x1f30d,0x1f30f,0x1f315,0x1f315,0x1f31c,0x1f31c,0x1f321,0x1f32c,0x1f336,0x1f336,0x1f378,0x1f378,0x1f37d,0x1f37d,0x1f393,0x1f39f,0x1f3a7,0x1f3a7,0x1f3ac,0x1f3ae,0x1f3c2,0x1f3c2,0x1f3c4,0x1f3c4,0x1f3c6,0x1f3c6,0x1f3ca,0x1f3ce,0x1f3d4,0x1f3e0,0x1f3ed,0x1f3ed,0x1f3f1,0x1f3f3,0x1f3f5,0x1f3f7,0x1f408,0x1f408,0x1f415,0x1f415,0x1f41f,0x1f41f,0x1f426,0x1f426,0x1f43f,0x1f43f,0x1f441,0x1f442,0x1f446,0x1f449,0x1f44c,0x1f44e,0x1f453,0x1f453,0x1f46a,0x1f46a,0x1f47d,0x1f47d,0x1f4a3,0x1f4a3,0x1f4b0,0x1f4b0,0x1f4b3,0x1f4b3,0x1f4b9,0x1f4b9,0x1f4bb,0x1f4bb,0x1f4bf,0x1f4bf,0x1f4c8,0x1f4cb,0x1f4da,0x1f4da,0x1f4df,0x1f4df,0x1f4e4,0x1f4e6,0x1f4ea,0x1f4ed,0x1f4f7,0x1f4f7,0x1f4f9,0x1f4fb,0x1f4fd,0x1f4fe,0x1f503,0x1f503,0x1f507,0x1f50a,0x1f50d,0x1f50d,0x1f512,0x1f513,0x1f53e,0x1f545,0x1f54a,0x1f54a,0x1f550,0x1f579,0x1f57b,0x1f594,0x1f597,0x1f5a3,0x1f5a5,0x1f5fa,0x1f650,0x1f67f,0x1f687,0x1f687,0x1f68d,0x1f68d,0x1f691,0x1f691,0x1f694,0x1f694,0x1f698,0x1f698,0x1f6ad,0x1f6ad,0x1f6b2,0x1f6b2,0x1f6b9,0x1f6ba,0x1f6bc,0x1f6bc,0x1f6c6,0x1f6cb,0x1f6cd,0x1f6cf,0x1f6d3,0x1f6d7,0x1f6e0,0x1f6ea,0x1f6f0,0x1f6f3,0x1f6f7,0x1f6fc,0x1f780,0x1f7d8,0x1f7e0,0x1f7eb,0x1f800,0x1f80b,0x1f810,0x1f847,0x1f850,0x1f859,0x1f860,0x1f887,0x1f890,0x1f8ad,0x1f8b0,0x1f8b1,0x1f93b,0x1f93b,0x1f946,0x1f946,0x1fa00,0x1fa53,0x1fa60,0x1fa6d,0x1fa70,0x1fa74,0x1fa78,0x1fa7a,0x1fa80,0x1fa86,0x1fa90,0x1faa8,0x1fab0,0x1fab6,0x1fac0,0x1fac2,0x1fad0,0x1fad6,0x1fb00,0x1fb92,0x1fb94,0x1fbca,0x1fbf0,0x1fbf9,]), + NotoFont.fromFlatList('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [0x20,0x2f,0x3a,0x40,0x5b,0x5f,0x7b,0x7d,0xa0,0xa0,0xab,0xab,0xbb,0xbb,0x61f,0x61f,0x640,0x640,0x2013,0x2015,0x2018,0x201e,0x2020,0x2022,0x2026,0x2026,0x2030,0x2030,0x2039,0x203a,0x2044,0x2044,0x204f,0x204f,0x25cc,0x25cc,0x2e28,0x2e29,0x2e41,0x2e41,0x1e900,0x1e94b,0x1e950,0x1e959,0x1e95e,0x1e95f,]), + NotoFont.fromFlatList('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200b,0x14400,0x14646,]), + NotoFont.fromFlatList('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [0x20,0x21,0x2c,0x2e,0x30,0x3a,0xa0,0xa0,0xab,0xab,0xbb,0xbb,0x34f,0x34f,0x600,0x61c,0x61e,0x6ff,0x750,0x77f,0x8a0,0x8b4,0x8b6,0x8be,0x8d3,0x8ff,0x200b,0x2011,0x204f,0x204f,0x25cc,0x25cc,0x2e41,0x2e41,0xfb50,0xfbc1,0xfbd3,0xfd3f,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfd,0xfe70,0xfe74,0xfe76,0xfefc,]), + NotoFont.fromFlatList('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x308,0x308,0x531,0x556,0x559,0x58a,0x58d,0x58f,0x2010,0x2010,0x25cc,0x25cc,0xfb13,0xfb17,]), + NotoFont.fromFlatList('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v17/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200c,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x2e30,0x2e31,0x10b00,0x10b35,0x10b39,0x10b3f,]), + NotoFont.fromFlatList('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v18/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1b00,0x1b4b,0x1b50,0x1b7c,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [0x20,0x20,0xa0,0xa0,0xa6a0,0xa6f7,0x16800,0x16a38,]), + NotoFont.fromFlatList('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x16ad0,0x16aed,0x16af0,0x16af5,]), + NotoFont.fromFlatList('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [0x20,0x20,0xa0,0xa0,0x1bc0,0x1bf3,0x1bfc,0x1bff,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0x980,0x983,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bc,0x9c4,0x9c7,0x9c8,0x9cb,0x9ce,0x9d7,0x9d7,0x9dc,0x9dd,0x9df,0x9e3,0x9e6,0x9fe,0x1cd0,0x1cd0,0x1cd2,0x1cd2,0x1cd5,0x1cd6,0x1cd8,0x1cd8,0x1ce1,0x1ce1,0x1cea,0x1cea,0x1ced,0x1ced,0x1cf2,0x1cf2,0x1cf5,0x1cf7,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa8f1,0xa8f1,]), + NotoFont.fromFlatList('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200b,0x25cc,0x25cc,0x11c00,0x11c08,0x11c0a,0x11c36,0x11c38,0x11c45,0x11c50,0x11c6c,]), + NotoFont.fromFlatList('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0x11000,0x1104d,0x11052,0x1106f,0x1107f,0x1107f,]), + NotoFont.fromFlatList('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [0x20,0x20,0xa0,0xa0,0x1a00,0x1a1b,0x1a1e,0x1a1f,0x200b,0x200d,0x25cc,0x25cc,0xa9cf,0xa9cf,]), + NotoFont.fromFlatList('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v17/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1735,0x1736,0x1740,0x1753,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [0x20,0x20,0xa0,0xa0,0x131,0x131,0x2c7,0x2c7,0x2d8,0x2db,0x307,0x307,0x1400,0x167f,0x18b0,0x18f5,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [0x20,0x20,0xa0,0xa0,0x102a0,0x102d0,]), + NotoFont.fromFlatList('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [0x20,0x20,0xa0,0xa0,0x304,0x304,0x331,0x331,0x25cc,0x25cc,0xfe20,0xfe2f,0x10530,0x10563,0x1056f,0x1056f,]), + NotoFont.fromFlatList('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [0x20,0x20,0xa0,0xa0,0x9e6,0x9ef,0x1040,0x1049,0x200c,0x200d,0x25cc,0x25cc,0x11100,0x11134,0x11136,0x11146,]), + NotoFont.fromFlatList('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [0x20,0x22,0x27,0x29,0x2c,0x2f,0x3a,0x3b,0x3f,0x3f,0xa0,0xa0,0xad,0xad,0x200c,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xaa00,0xaa36,0xaa40,0xaa4d,0xaa50,0xaa59,0xaa5c,0xaa5f,]), + NotoFont.fromFlatList('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x302,0x304,0x304,0x30b,0x30c,0x323,0x324,0x330,0x331,0x13a0,0x13f5,0x13f8,0x13fd,0xab70,0xabbf,]), + NotoFont.fromFlatList('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x300,0x302,0x304,0x305,0x307,0x308,0x323,0x323,0x33f,0x33f,0x361,0x361,0x374,0x375,0x3e2,0x3ef,0x1dcd,0x1dcd,0x2010,0x2010,0x25cc,0x25cc,0x2c80,0x2cf3,0x2cf9,0x2cff,0xfe24,0xfe26,0x102e0,0x102fb,]), + NotoFont.fromFlatList('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [0x20,0x20,0xa0,0xa0,0x12000,0x12399,0x12400,0x1246e,0x12470,0x12474,0x12480,0x12543,]), + NotoFont.fromFlatList('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [0x20,0x20,0xa0,0xa0,0x10800,0x10805,0x10808,0x10808,0x1080a,0x10835,0x10837,0x10838,0x1083c,0x1083c,0x1083f,0x1083f,]), + NotoFont.fromFlatList('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [0x20,0x20,0xa0,0xa0,0x10400,0x1044f,]), + NotoFont.fromFlatList('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v19/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x900,0x97f,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x20f0,0x20f0,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa839,0xa8e0,0xa8ff,]), + NotoFont.fromFlatList('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x1bc00,0x1bc6a,0x1bc70,0x1bc7c,0x1bc80,0x1bc88,0x1bc90,0x1bc99,0x1bc9c,0x1bca3,]), + NotoFont.fromFlatList('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x13000,0x1342e,]), + NotoFont.fromFlatList('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [0x20,0x20,0xa0,0xa0,0xb7,0xb7,0x305,0x305,0x391,0x3a1,0x3a3,0x3a9,0x3da,0x3da,0x3dc,0x3dc,0x3de,0x3de,0x25cc,0x25cc,0x10500,0x10527,]), + NotoFont.fromFlatList('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [0x20,0x20,0xa0,0xa0,0x10fe0,0x10ff6,]), + NotoFont.fromFlatList('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v36/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x589,0x589,0x10a0,0x10c5,0x10c7,0x10c7,0x10cd,0x10cd,0x10d0,0x10ff,0x1c90,0x1cba,0x1cbd,0x1cbf,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20be,0x20be,0x2122,0x2122,0x2212,0x2212,0x2d00,0x2d25,0x2d27,0x2d27,0x2d2d,0x2d2d,]), + NotoFont.fromFlatList('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [0x20,0x20,0xa0,0xa0,0x303,0x303,0x305,0x305,0x484,0x484,0x487,0x487,0x2c00,0x2c2e,0x2c30,0x2c5e,0xa66f,0xa66f,0x1e000,0x1e006,0x1e008,0x1e018,0x1e01b,0x1e021,0x1e023,0x1e024,0x1e026,0x1e02a,]), + NotoFont.fromFlatList('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [0x20,0x20,0xa0,0xa0,0x304,0x305,0x308,0x308,0x331,0x331,0x10330,0x1034a,]), + NotoFont.fromFlatList('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x952,0x964,0x965,0xbaa,0xbaa,0xbb5,0xbb5,0xbe6,0xbf2,0x1cd0,0x1cd0,0x1cd2,0x1cd3,0x1cf2,0x1cf4,0x1cf8,0x1cf9,0x200c,0x200d,0x20f0,0x20f0,0x25cc,0x25cc,0x11300,0x11303,0x11305,0x1130c,0x1130f,0x11310,0x11313,0x11328,0x1132a,0x11330,0x11332,0x11333,0x11335,0x11339,0x1133b,0x11344,0x11347,0x11348,0x1134b,0x1134d,0x11350,0x11350,0x11357,0x11357,0x1135d,0x11363,0x11366,0x1136c,0x11370,0x11374,]), + NotoFont.fromFlatList('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v19/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xa81,0xa83,0xa85,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabc,0xac5,0xac7,0xac9,0xacb,0xacd,0xad0,0xad0,0xae0,0xae3,0xae6,0xaf1,0xaf9,0xaff,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa839,]), + NotoFont.fromFlatList('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [0x20,0x21,0x25,0x25,0x27,0x2f,0x3a,0x3a,0x3c,0x3f,0xa0,0xa0,0xd7,0xd7,0xf7,0xf7,0x200c,0x200d,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x11d60,0x11d65,0x11d67,0x11d68,0x11d6a,0x11d8e,0x11d90,0x11d91,0x11d93,0x11d98,0x11da0,0x11da9,]), + NotoFont.fromFlatList('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [0x20,0x23,0x25,0x25,0x27,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x951,0x952,0x964,0x965,0xa01,0xa03,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa3c,0xa3c,0xa3e,0xa42,0xa47,0xa48,0xa4b,0xa4d,0xa51,0xa51,0xa59,0xa5c,0xa5e,0xa5e,0xa66,0xa76,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x20b9,0x20b9,0x2212,0x2212,0x25cc,0x25cc,0x262c,0x262c,0xa830,0xa839,]), + NotoFont.fromFlatList('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3435,0x3435,0x3440,0x3440,0x344a,0x344a,0x344c,0x344c,0x3464,0x3464,0x3473,0x3473,0x347a,0x347a,0x347d,0x347e,0x3493,0x3493,0x3496,0x3496,0x34a5,0x34a5,0x34af,0x34af,0x34bc,0x34bc,0x34c1,0x34c1,0x34c8,0x34c8,0x34df,0x34df,0x34e4,0x34e4,0x34e6,0x34e6,0x34fb,0x34fb,0x3506,0x3506,0x353e,0x353e,0x3551,0x3551,0x3553,0x3553,0x3559,0x3559,0x3561,0x3561,0x356d,0x356d,0x3570,0x3570,0x3572,0x3572,0x3577,0x3578,0x3584,0x3584,0x3597,0x3598,0x35a1,0x35a1,0x35a5,0x35a5,0x35ad,0x35ad,0x35bf,0x35bf,0x35c1,0x35c1,0x35c5,0x35c5,0x35c7,0x35c7,0x35ca,0x35ca,0x35ce,0x35ce,0x35d2,0x35d2,0x35d6,0x35d6,0x35db,0x35db,0x35dd,0x35dd,0x35f1,0x35f3,0x35fb,0x35fb,0x35fe,0x35fe,0x3609,0x3609,0x3618,0x3618,0x361a,0x361a,0x3623,0x3623,0x3625,0x3625,0x362d,0x362d,0x3635,0x3635,0x3639,0x3639,0x363e,0x363e,0x3647,0x3649,0x364e,0x364e,0x365f,0x365f,0x3661,0x3661,0x367a,0x367a,0x3681,0x3681,0x369a,0x369a,0x36a5,0x36a5,0x36aa,0x36aa,0x36ac,0x36ac,0x36b0,0x36b1,0x36b5,0x36b5,0x36b9,0x36b9,0x36bc,0x36bc,0x36c1,0x36c1,0x36c3,0x36c5,0x36c7,0x36c8,0x36d3,0x36d4,0x36d6,0x36d6,0x36dd,0x36dd,0x36e1,0x36e2,0x36e5,0x36e6,0x36f5,0x36f5,0x3701,0x3701,0x3703,0x3703,0x3708,0x3708,0x370a,0x370a,0x370d,0x370d,0x371c,0x371c,0x3722,0x3723,0x3725,0x3725,0x372c,0x372d,0x3730,0x3730,0x3732,0x3733,0x373a,0x373a,0x3740,0x3740,0x3743,0x3743,0x3762,0x3762,0x376f,0x376f,0x3797,0x3797,0x37a0,0x37a0,0x37b9,0x37b9,0x37be,0x37be,0x37d6,0x37d6,0x37f2,0x37f2,0x37f8,0x37f8,0x37fb,0x37fb,0x380f,0x380f,0x3819,0x3819,0x3820,0x3820,0x382d,0x382d,0x3836,0x3836,0x3838,0x3838,0x3863,0x3863,0x3875,0x3875,0x38a0,0x38a0,0x38c3,0x38c3,0x38cc,0x38cc,0x38d1,0x38d1,0x38d4,0x38d4,0x38fa,0x38fa,0x3908,0x3908,0x3914,0x3914,0x3927,0x3927,0x3932,0x3932,0x393f,0x393f,0x394d,0x394d,0x3963,0x3963,0x3978,0x3978,0x3980,0x3980,0x3989,0x398a,0x3992,0x3992,0x3999,0x3999,0x399b,0x399b,0x39a1,0x39a1,0x39a4,0x39a4,0x39b8,0x39b8,0x39dc,0x39dc,0x39e2,0x39e2,0x39e5,0x39e5,0x39ec,0x39ec,0x39f8,0x39f8,0x39fb,0x39fb,0x39fe,0x39fe,0x3a01,0x3a01,0x3a03,0x3a03,0x3a06,0x3a06,0x3a17,0x3a18,0x3a29,0x3a2a,0x3a34,0x3a34,0x3a4b,0x3a4b,0x3a52,0x3a52,0x3a57,0x3a57,0x3a5c,0x3a5c,0x3a5e,0x3a5e,0x3a66,0x3a67,0x3a97,0x3a97,0x3aab,0x3aab,0x3abd,0x3abd,0x3ade,0x3ade,0x3ae0,0x3ae0,0x3af0,0x3af0,0x3af2,0x3af2,0x3af5,0x3af5,0x3afb,0x3afb,0x3b0e,0x3b0e,0x3b19,0x3b19,0x3b22,0x3b22,0x3b2b,0x3b2b,0x3b39,0x3b39,0x3b42,0x3b42,0x3b58,0x3b58,0x3b60,0x3b60,0x3b71,0x3b72,0x3b7b,0x3b7c,0x3b80,0x3b80,0x3b95,0x3b96,0x3b99,0x3b99,0x3ba1,0x3ba1,0x3bbc,0x3bbc,0x3bbe,0x3bbe,0x3bc2,0x3bc2,0x3bc4,0x3bc4,0x3bd7,0x3bd7,0x3bdd,0x3bdd,0x3bec,0x3bec,0x3bf2,0x3bf4,0x3c0d,0x3c0d,0x3c11,0x3c11,0x3c15,0x3c15,0x3c18,0x3c18,0x3c54,0x3c54,0x3c8b,0x3c8b,0x3ccb,0x3ccb,0x3ccd,0x3ccd,0x3cd1,0x3cd1,0x3cd6,0x3cd6,0x3cdc,0x3cdc,0x3ceb,0x3ceb,0x3cef,0x3cef,0x3d12,0x3d13,0x3d1d,0x3d1d,0x3d32,0x3d32,0x3d3b,0x3d3b,0x3d46,0x3d46,0x3d4c,0x3d4c,0x3d4e,0x3d4e,0x3d51,0x3d51,0x3d5f,0x3d5f,0x3d62,0x3d62,0x3d69,0x3d6a,0x3d6f,0x3d6f,0x3d75,0x3d75,0x3d7d,0x3d7d,0x3d85,0x3d85,0x3d88,0x3d88,0x3d8a,0x3d8a,0x3d8f,0x3d8f,0x3d91,0x3d91,0x3da5,0x3da5,0x3dad,0x3dad,0x3db4,0x3db4,0x3dbf,0x3dbf,0x3dc6,0x3dc7,0x3dc9,0x3dc9,0x3dcc,0x3dcd,0x3dd3,0x3dd3,0x3ddb,0x3ddb,0x3de7,0x3de8,0x3deb,0x3deb,0x3df3,0x3df4,0x3df7,0x3df7,0x3dfc,0x3dfd,0x3e06,0x3e06,0x3e40,0x3e40,0x3e43,0x3e43,0x3e48,0x3e48,0x3e55,0x3e55,0x3e74,0x3e74,0x3ea8,0x3eaa,0x3ead,0x3ead,0x3eb1,0x3eb1,0x3eb8,0x3eb8,0x3ebf,0x3ebf,0x3ec2,0x3ec2,0x3ec7,0x3ec7,0x3eca,0x3eca,0x3ecc,0x3ecc,0x3ed0,0x3ed1,0x3ed6,0x3ed7,0x3eda,0x3edb,0x3ede,0x3ede,0x3ee1,0x3ee2,0x3ee7,0x3ee7,0x3ee9,0x3ee9,0x3eeb,0x3eec,0x3ef0,0x3ef0,0x3ef3,0x3ef4,0x3efa,0x3efa,0x3efc,0x3efc,0x3eff,0x3f00,0x3f04,0x3f04,0x3f06,0x3f07,0x3f0e,0x3f0e,0x3f53,0x3f53,0x3f58,0x3f59,0x3f63,0x3f63,0x3f7c,0x3f7c,0x3f93,0x3f93,0x3fc0,0x3fc0,0x3fc8,0x3fc8,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x3fe5,0x3fe5,0x3fed,0x3fed,0x3ff9,0x3ffa,0x4004,0x4004,0x4009,0x4009,0x401d,0x401d,0x4039,0x4039,0x4045,0x4045,0x4053,0x4053,0x4057,0x4057,0x4062,0x4062,0x4065,0x4065,0x406a,0x406a,0x406f,0x406f,0x4071,0x4071,0x40a8,0x40a8,0x40b4,0x40b4,0x40bb,0x40bb,0x40bf,0x40bf,0x40c8,0x40c8,0x40d8,0x40d8,0x40df,0x40df,0x40f8,0x40f8,0x40fa,0x40fa,0x4102,0x4104,0x4109,0x4109,0x410e,0x410e,0x4131,0x4132,0x4167,0x4167,0x416c,0x416c,0x416e,0x416e,0x417c,0x417c,0x417f,0x417f,0x4181,0x4181,0x4190,0x4190,0x41b2,0x41b2,0x41c4,0x41c4,0x41ca,0x41ca,0x41cf,0x41cf,0x41db,0x41db,0x41ed,0x41ed,0x41ef,0x41ef,0x41f9,0x41f9,0x4211,0x4211,0x4223,0x4223,0x4240,0x4240,0x4260,0x4260,0x426a,0x426a,0x4276,0x4276,0x427a,0x427a,0x428c,0x428c,0x4294,0x4294,0x42a2,0x42a2,0x42b5,0x42b5,0x42b9,0x42b9,0x42bc,0x42bc,0x42f4,0x42f4,0x42fb,0x42fc,0x430a,0x430a,0x432b,0x432b,0x436e,0x436e,0x4397,0x4397,0x439a,0x439a,0x43ba,0x43ba,0x43c1,0x43c1,0x43d9,0x43d9,0x43df,0x43df,0x43ed,0x43ed,0x43f0,0x43f0,0x43f2,0x43f2,0x4401,0x4402,0x4413,0x4413,0x4425,0x4425,0x442d,0x442d,0x447a,0x447a,0x448f,0x448f,0x4491,0x4491,0x449f,0x44a0,0x44a2,0x44a2,0x44b0,0x44b0,0x44b7,0x44b7,0x44bd,0x44bd,0x44c0,0x44c0,0x44c3,0x44c3,0x44c5,0x44c5,0x44ce,0x44ce,0x44dd,0x44df,0x44e1,0x44e1,0x44e4,0x44e4,0x44e9,0x44ec,0x44f4,0x44f4,0x4503,0x4504,0x4509,0x4509,0x450b,0x450b,0x4516,0x4516,0x451b,0x451b,0x451d,0x451d,0x4527,0x4527,0x452e,0x452e,0x4533,0x4533,0x4536,0x4536,0x453b,0x453b,0x453d,0x453d,0x453f,0x453f,0x4543,0x4543,0x4551,0x4552,0x4555,0x4555,0x4558,0x4558,0x455c,0x455c,0x4561,0x4562,0x456a,0x456a,0x456d,0x456d,0x4577,0x4578,0x4585,0x4585,0x45a6,0x45a6,0x45b3,0x45b3,0x45da,0x45da,0x45e9,0x45ea,0x4603,0x4603,0x4606,0x4606,0x460f,0x460f,0x4615,0x4615,0x4617,0x4617,0x465b,0x465b,0x467a,0x467a,0x4680,0x4680,0x46a1,0x46a1,0x46ae,0x46ae,0x46bb,0x46bb,0x46cf,0x46d0,0x46f5,0x46f5,0x46f7,0x46f7,0x4713,0x4713,0x4718,0x4718,0x4736,0x4736,0x4744,0x4744,0x474e,0x474f,0x477c,0x477c,0x4798,0x4798,0x47a6,0x47a6,0x47d5,0x47d5,0x47ed,0x47ed,0x47f4,0x47f4,0x4800,0x4800,0x480b,0x480b,0x4837,0x4837,0x485d,0x485d,0x4871,0x4871,0x489b,0x489b,0x48ad,0x48ae,0x48d0,0x48d0,0x48dd,0x48dd,0x48ed,0x48ed,0x48f3,0x48f3,0x48fa,0x48fa,0x4906,0x4906,0x4911,0x4911,0x491e,0x491e,0x4925,0x4925,0x492a,0x492a,0x492d,0x492d,0x492f,0x4930,0x4935,0x4935,0x493c,0x493c,0x493e,0x493e,0x4945,0x4945,0x4951,0x4951,0x4953,0x4953,0x4965,0x4965,0x496a,0x496a,0x4972,0x4972,0x4989,0x4989,0x49a1,0x49a1,0x49a7,0x49a7,0x49df,0x49df,0x49e5,0x49e5,0x49e7,0x49e7,0x4a0f,0x4a0f,0x4a1d,0x4a1d,0x4a24,0x4a24,0x4a35,0x4a35,0x4a96,0x4a96,0x4aa4,0x4aa4,0x4ab4,0x4ab4,0x4ab8,0x4ab8,0x4ad1,0x4ad1,0x4ae4,0x4ae4,0x4aff,0x4aff,0x4b10,0x4b10,0x4b19,0x4b19,0x4b20,0x4b20,0x4b2c,0x4b2c,0x4b37,0x4b37,0x4b6f,0x4b70,0x4b72,0x4b72,0x4b7b,0x4b7b,0x4b7e,0x4b7e,0x4b8e,0x4b8e,0x4b90,0x4b90,0x4b93,0x4b93,0x4b96,0x4b97,0x4b9d,0x4b9d,0x4bbd,0x4bbe,0x4bc0,0x4bc0,0x4c04,0x4c04,0x4c07,0x4c07,0x4c0e,0x4c0e,0x4c32,0x4c32,0x4c3b,0x4c3b,0x4c3e,0x4c3e,0x4c40,0x4c40,0x4c47,0x4c47,0x4c57,0x4c57,0x4c5b,0x4c5b,0x4c6d,0x4c6d,0x4c77,0x4c77,0x4c7b,0x4c7b,0x4c7d,0x4c7d,0x4c81,0x4c81,0x4c85,0x4c85,0x4ca4,0x4ca4,0x4cae,0x4cae,0x4cb0,0x4cb0,0x4cb7,0x4cb7,0x4ccd,0x4ccd,0x4ce1,0x4ce2,0x4ced,0x4ced,0x4d07,0x4d07,0x4d09,0x4d09,0x4d10,0x4d10,0x4d34,0x4d34,0x4d76,0x4d77,0x4d89,0x4d89,0x4d91,0x4d91,0x4d9c,0x4d9c,0x4e00,0x4e01,0x4e03,0x4e04,0x4e07,0x4e11,0x4e14,0x4e16,0x4e18,0x4e1a,0x4e1c,0x4e1c,0x4e1e,0x4e1f,0x4e21,0x4e22,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2a,0x4e33,0x4e36,0x4e39,0x4e3b,0x4e3d,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e47,0x4e49,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e52,0x4e53,0x4e56,0x4e56,0x4e58,0x4e5f,0x4e69,0x4e6a,0x4e73,0x4e73,0x4e78,0x4e78,0x4e7e,0x4e89,0x4e8b,0x4e8e,0x4e91,0x4e95,0x4e98,0x4e9b,0x4e9e,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb3,0x4eb3,0x4eb6,0x4eb7,0x4eb9,0x4ebc,0x4ebf,0x4ec4,0x4ec6,0x4ecb,0x4ecd,0x4ece,0x4ed4,0x4eda,0x4edc,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4ee8,0x4eeb,0x4eee,0x4eee,0x4ef0,0x4ef8,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f05,0x4f08,0x4f0b,0x4f0d,0x4f15,0x4f17,0x4f1a,0x4f1d,0x4f1d,0x4f22,0x4f22,0x4f28,0x4f29,0x4f2c,0x4f2d,0x4f2f,0x4f30,0x4f32,0x4f34,0x4f36,0x4f3f,0x4f41,0x4f43,0x4f45,0x4f49,0x4f4b,0x4f64,0x4f67,0x4f67,0x4f69,0x4f6c,0x4f6e,0x4f70,0x4f72,0x4f8b,0x4f8d,0x4f8d,0x4f8f,0x4f92,0x4f94,0x4f98,0x4f9a,0x4f9e,0x4fa2,0x4fa2,0x4fa8,0x4fa8,0x4fab,0x4fab,0x4fae,0x4fb0,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbd,0x4fbd,0x4fbf,0x4fc5,0x4fc7,0x4fd1,0x4fd3,0x4fd4,0x4fd6,0x4fe1,0x4fe4,0x4fe5,0x4fec,0x4fec,0x4fee,0x4ffa,0x4ffd,0x4ffe,0x5000,0x5000,0x5003,0x5003,0x5005,0x5009,0x500b,0x500f,0x5011,0x501c,0x501e,0x5023,0x5025,0x5031,0x5033,0x5035,0x5037,0x5037,0x503b,0x503c,0x5040,0x5041,0x5043,0x5043,0x5045,0x504f,0x5051,0x5051,0x5053,0x5053,0x5055,0x5058,0x505a,0x5066,0x5068,0x5070,0x5072,0x5077,0x507a,0x507a,0x507d,0x507d,0x5080,0x5083,0x5085,0x5085,0x5087,0x5088,0x508b,0x508e,0x5090,0x5092,0x5094,0x5096,0x5098,0x509e,0x50a2,0x50a3,0x50a6,0x50a6,0x50ac,0x50b8,0x50ba,0x50bf,0x50c1,0x50c2,0x50c4,0x50cb,0x50cd,0x50d1,0x50d3,0x50d7,0x50d9,0x50db,0x50dd,0x50dd,0x50df,0x50e1,0x50e3,0x50ea,0x50ec,0x50f1,0x50f3,0x50f6,0x50f8,0x50f9,0x50fb,0x510e,0x5110,0x5115,0x5117,0x5118,0x511a,0x511a,0x511c,0x511c,0x511f,0x5122,0x5124,0x5126,0x5129,0x512b,0x512d,0x512e,0x5130,0x5135,0x5137,0x513d,0x513f,0x5141,0x5143,0x5149,0x514b,0x514d,0x5151,0x5152,0x5154,0x5157,0x5159,0x5163,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5174,0x5179,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x518a,0x518d,0x518d,0x518f,0x518f,0x5191,0x5198,0x519a,0x519a,0x519c,0x519c,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a2,0x51a4,0x51a5,0x51a7,0x51a8,0x51aa,0x51ac,0x51ae,0x51ae,0x51b0,0x51b9,0x51bc,0x51be,0x51c3,0x51d4,0x51d7,0x51d8,0x51db,0x51e2,0x51e4,0x51e4,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fc,0x51fe,0x5200,0x5203,0x5205,0x520c,0x520e,0x520e,0x5210,0x5213,0x5216,0x5217,0x521c,0x5221,0x5224,0x522a,0x522e,0x522e,0x5230,0x5238,0x523a,0x523c,0x5241,0x5241,0x5243,0x5244,0x5246,0x5247,0x5249,0x524f,0x5252,0x5252,0x5254,0x5257,0x5259,0x5262,0x5268,0x526f,0x5272,0x5275,0x5277,0x527d,0x527f,0x5284,0x5287,0x528d,0x528f,0x5291,0x5293,0x5294,0x5296,0x529b,0x529f,0x52a1,0x52a3,0x52a4,0x52a6,0x52a6,0x52a8,0x52ae,0x52b5,0x52b5,0x52b9,0x52b9,0x52bb,0x52bc,0x52be,0x52be,0x52c0,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d0,0x52d3,0x52d5,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52e9,0x52e9,0x52eb,0x52eb,0x52ef,0x52f1,0x52f3,0x52f5,0x52f7,0x52fc,0x52fe,0x52ff,0x5301,0x5301,0x5305,0x5306,0x5308,0x530b,0x530d,0x5312,0x5315,0x5317,0x5319,0x531a,0x531c,0x531d,0x531f,0x5324,0x5327,0x5327,0x532a,0x532a,0x532c,0x532d,0x532f,0x5334,0x5337,0x5339,0x533b,0x5345,0x5347,0x534a,0x534c,0x534e,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x5361,0x5363,0x5364,0x5366,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x5379,0x537b,0x537f,0x5382,0x5382,0x5384,0x5384,0x538a,0x538a,0x538e,0x538f,0x5392,0x5394,0x5396,0x539a,0x539c,0x53a0,0x53a2,0x53a2,0x53a4,0x53ae,0x53b0,0x53b0,0x53b2,0x53b2,0x53b4,0x53b4,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c1,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d0,0x53d2,0x53d4,0x53d4,0x53d6,0x53db,0x53df,0x53e6,0x53e8,0x53f3,0x53f5,0x53f8,0x53fb,0x53fc,0x53fe,0x53fe,0x5401,0x5401,0x5403,0x5404,0x5406,0x5414,0x5416,0x5416,0x5418,0x5421,0x5423,0x5439,0x543b,0x5443,0x5445,0x5448,0x544a,0x544f,0x5454,0x5454,0x5460,0x546d,0x546f,0x5478,0x547a,0x5482,0x5484,0x5488,0x548b,0x5498,0x549a,0x549a,0x549c,0x549c,0x549e,0x549e,0x54a0,0x54b4,0x54b6,0x54c9,0x54cb,0x54d0,0x54d6,0x54d6,0x54da,0x54da,0x54de,0x54de,0x54e0,0x54eb,0x54ed,0x54ef,0x54f1,0x54f3,0x54f7,0x54f8,0x54fa,0x54fd,0x54ff,0x54ff,0x5501,0x5514,0x5517,0x5518,0x551a,0x551a,0x551e,0x551e,0x5523,0x5523,0x5525,0x5528,0x552a,0x5539,0x553b,0x553c,0x553e,0x5541,0x5543,0x554b,0x554d,0x5553,0x5555,0x5557,0x555c,0x555f,0x5561,0x5566,0x5569,0x556b,0x5571,0x5573,0x5575,0x5577,0x5579,0x5579,0x557b,0x5584,0x5586,0x5595,0x5598,0x559a,0x559c,0x559d,0x559f,0x559f,0x55a1,0x55ae,0x55b0,0x55b5,0x55b9,0x55bc,0x55bf,0x55df,0x55e1,0x55ea,0x55ec,0x55ec,0x55ee,0x55f2,0x55f5,0x55f7,0x55f9,0x5602,0x5604,0x5606,0x5608,0x5609,0x560c,0x5617,0x561b,0x5623,0x5625,0x5625,0x5627,0x5627,0x5629,0x562a,0x562c,0x5630,0x5632,0x563b,0x563d,0x5643,0x5645,0x5646,0x5648,0x564a,0x564c,0x5650,0x5652,0x5654,0x5657,0x565a,0x565d,0x565e,0x5660,0x5666,0x5668,0x5674,0x5676,0x567c,0x567e,0x5687,0x5689,0x5690,0x5692,0x5693,0x5695,0x5695,0x5697,0x569a,0x569c,0x569f,0x56a1,0x56a1,0x56a4,0x56a8,0x56aa,0x56af,0x56b1,0x56b7,0x56b9,0x56b9,0x56bc,0x56c3,0x56c5,0x56c6,0x56c8,0x56cd,0x56d1,0x56d1,0x56d3,0x56d4,0x56d6,0x56d7,0x56da,0x56db,0x56dd,0x56e2,0x56e4,0x56e5,0x56e7,0x56e7,0x56ea,0x56eb,0x56ed,0x56f1,0x56f7,0x56f7,0x56f9,0x56fb,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x5712,0x5716,0x5718,0x5718,0x571a,0x5720,0x5722,0x5723,0x5728,0x572a,0x572c,0x5730,0x5732,0x5734,0x573b,0x573b,0x573d,0x5743,0x5745,0x5747,0x5749,0x5752,0x5754,0x5754,0x5757,0x5757,0x575b,0x575b,0x575f,0x575f,0x5761,0x5762,0x5764,0x5764,0x5766,0x576b,0x576d,0x576d,0x576f,0x5777,0x577a,0x5780,0x5782,0x5783,0x5788,0x5788,0x578a,0x578d,0x578f,0x5790,0x5793,0x5795,0x5797,0x57a5,0x57a7,0x57a7,0x57aa,0x57aa,0x57ae,0x57ae,0x57b3,0x57b6,0x57b8,0x57bf,0x57c1,0x57c4,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57d0,0x57d2,0x57d2,0x57d4,0x57d5,0x57d7,0x57d7,0x57dc,0x57e7,0x57e9,0x57e9,0x57ec,0x57fe,0x5800,0x580e,0x5810,0x5810,0x5812,0x5812,0x5814,0x5814,0x5818,0x5819,0x581b,0x581e,0x5820,0x582a,0x582c,0x583b,0x583d,0x583d,0x583f,0x5840,0x5844,0x5844,0x5847,0x584f,0x5851,0x5855,0x5857,0x585f,0x5862,0x5865,0x5868,0x5869,0x586b,0x586d,0x586f,0x586f,0x5871,0x5876,0x5879,0x5883,0x5885,0x588b,0x588e,0x5894,0x5896,0x5896,0x5898,0x589a,0x589c,0x58a1,0x58a3,0x58a3,0x58a5,0x58ac,0x58ae,0x58b1,0x58b3,0x58b3,0x58b5,0x58b6,0x58ba,0x58bf,0x58c1,0x58c2,0x58c5,0x58c9,0x58cb,0x58cb,0x58ce,0x58d6,0x58d8,0x58e0,0x58e2,0x58e4,0x58e7,0x58e9,0x58eb,0x58ec,0x58ef,0x58f0,0x58f2,0x58f4,0x58f9,0x58ff,0x5902,0x5907,0x590a,0x590a,0x590c,0x590f,0x5911,0x5912,0x5914,0x5917,0x5919,0x591a,0x591c,0x591d,0x591f,0x5920,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5934,0x5934,0x5937,0x5938,0x593c,0x593c,0x593e,0x593e,0x5940,0x5940,0x5944,0x5945,0x5947,0x594a,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5962,0x5965,0x5965,0x5967,0x5967,0x5969,0x596e,0x5970,0x5979,0x597b,0x5985,0x5989,0x598a,0x598d,0x5990,0x5992,0x5994,0x5996,0x599a,0x599d,0x59a8,0x59ac,0x59ac,0x59ae,0x59c1,0x59c3,0x59d4,0x59d6,0x59d6,0x59d8,0x59de,0x59e0,0x59e1,0x59e3,0x59e6,0x59e8,0x5a03,0x5a09,0x5a0d,0x5a0f,0x5a0f,0x5a11,0x5a13,0x5a15,0x5a1c,0x5a1e,0x5a21,0x5a23,0x5a25,0x5a27,0x5a27,0x5a29,0x5a2e,0x5a33,0x5a33,0x5a35,0x5a39,0x5a3c,0x5a3e,0x5a40,0x5a4a,0x5a4c,0x5a4d,0x5a50,0x5a6e,0x5a70,0x5a71,0x5a77,0x5a7f,0x5a81,0x5a84,0x5a86,0x5a86,0x5a88,0x5a88,0x5a8a,0x5a8c,0x5a8e,0x5a97,0x5a99,0x5aa2,0x5aa4,0x5aa7,0x5aa9,0x5aac,0x5aae,0x5ac4,0x5ac6,0x5acf,0x5ad1,0x5ad1,0x5ad3,0x5ad3,0x5ad5,0x5ae6,0x5ae8,0x5aee,0x5af0,0x5af0,0x5af2,0x5afb,0x5afd,0x5aff,0x5b01,0x5b03,0x5b05,0x5b05,0x5b07,0x5b09,0x5b0b,0x5b0d,0x5b0f,0x5b11,0x5b13,0x5b17,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b23,0x5b28,0x5b2a,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b38,0x5b38,0x5b3c,0x5b41,0x5b43,0x5b48,0x5b4a,0x5b51,0x5b53,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b62,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6e,0x5b70,0x5b78,0x5b7a,0x5b7d,0x5b7f,0x5b85,0x5b87,0x5b89,0x5b8b,0x5b8c,0x5b8e,0x5b90,0x5b92,0x5b93,0x5b95,0x5b9f,0x5ba2,0x5ba8,0x5baa,0x5baa,0x5bac,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb9,0x5bbf,0x5bc7,0x5bca,0x5bce,0x5bd0,0x5bd9,0x5bdb,0x5bdb,0x5bde,0x5bec,0x5bee,0x5bf3,0x5bf5,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c03,0x5c05,0x5c07,0x5c16,0x5c1a,0x5c1a,0x5c1c,0x5c1c,0x5c1e,0x5c20,0x5c22,0x5c25,0x5c28,0x5c28,0x5c2a,0x5c2a,0x5c2c,0x5c2c,0x5c30,0x5c31,0x5c33,0x5c33,0x5c37,0x5c3c,0x5c3e,0x5c41,0x5c44,0x5c51,0x5c53,0x5c56,0x5c58,0x5c59,0x5c5c,0x5c5e,0x5c60,0x5c60,0x5c62,0x5c65,0x5c67,0x5c6a,0x5c6c,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c74,0x5c78,0x5c7c,0x5c7e,0x5c7e,0x5c83,0x5c83,0x5c85,0x5c86,0x5c88,0x5c8d,0x5c8f,0x5c95,0x5c99,0x5c9a,0x5c9c,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb8,0x5cba,0x5cba,0x5cc1,0x5cc2,0x5cc6,0x5ccc,0x5cce,0x5cdb,0x5cde,0x5cdf,0x5ce5,0x5ce5,0x5ce8,0x5cea,0x5cec,0x5cf1,0x5cf4,0x5cf9,0x5cfb,0x5cfd,0x5cff,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d20,0x5d22,0x5d29,0x5d2c,0x5d2c,0x5d2e,0x5d3a,0x5d3c,0x5d43,0x5d45,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d52,0x5d55,0x5d57,0x5d59,0x5d59,0x5d5b,0x5d5b,0x5d5e,0x5d5e,0x5d62,0x5d63,0x5d65,0x5d65,0x5d67,0x5d69,0x5d6b,0x5d6c,0x5d6f,0x5d72,0x5d74,0x5d74,0x5d77,0x5d82,0x5d84,0x5d8b,0x5d8d,0x5d8e,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d9a,0x5d9c,0x5da2,0x5da4,0x5da4,0x5da7,0x5db2,0x5db4,0x5dba,0x5dbc,0x5dbd,0x5dc0,0x5dc3,0x5dc6,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dcf,0x5dcf,0x5dd1,0x5dd2,0x5dd4,0x5dd8,0x5ddb,0x5ddb,0x5ddd,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df0,0x5df5,0x5df7,0x5df7,0x5df9,0x5df9,0x5dfd,0x5dff,0x5e02,0x5e04,0x5e06,0x5e06,0x5e09,0x5e0c,0x5e0e,0x5e0e,0x5e11,0x5e12,0x5e14,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e25,0x5e28,0x5e29,0x5e2b,0x5e2b,0x5e2d,0x5e2e,0x5e33,0x5e34,0x5e36,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e45,0x5e48,0x5e48,0x5e4a,0x5e4f,0x5e53,0x5e55,0x5e57,0x5e59,0x5e5b,0x5e63,0x5e66,0x5e70,0x5e72,0x5e76,0x5e78,0x5e80,0x5e82,0x5e84,0x5e86,0x5e8d,0x5e8f,0x5e8f,0x5e92,0x5e92,0x5e95,0x5e97,0x5e99,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea8,0x5eaa,0x5eae,0x5eb0,0x5eb9,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec4,0x5ece,0x5ed0,0x5ee3,0x5ee5,0x5ee9,0x5eec,0x5eec,0x5eee,0x5eef,0x5ef1,0x5ef4,0x5ef6,0x5efc,0x5efe,0x5eff,0x5f01,0x5f02,0x5f04,0x5f05,0x5f07,0x5f08,0x5f0a,0x5f0f,0x5f12,0x5f15,0x5f17,0x5f18,0x5f1a,0x5f1b,0x5f1d,0x5f1d,0x5f1f,0x5f1f,0x5f22,0x5f29,0x5f2d,0x5f2e,0x5f30,0x5f31,0x5f33,0x5f33,0x5f35,0x5f38,0x5f3a,0x5f3c,0x5f40,0x5f40,0x5f43,0x5f46,0x5f48,0x5f51,0x5f54,0x5f54,0x5f56,0x5f59,0x5f5c,0x5f5e,0x5f61,0x5f65,0x5f67,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f74,0x5f76,0x5f79,0x5f7b,0x5f83,0x5f85,0x5f8c,0x5f90,0x5f92,0x5f96,0x5f99,0x5f9b,0x5f9c,0x5f9e,0x5fa1,0x5fa4,0x5faf,0x5fb1,0x5fb2,0x5fb5,0x5fb7,0x5fb9,0x5fc5,0x5fc9,0x5fc9,0x5fcc,0x5fcd,0x5fcf,0x5fd2,0x5fd4,0x5fd9,0x5fdb,0x5fdb,0x5fdd,0x5fe1,0x5fe3,0x5fe5,0x5fe8,0x5fe8,0x5fea,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff3,0x5ff5,0x5ff7,0x5ff8,0x5ffa,0x5ffb,0x5ffd,0x5ffd,0x5fff,0x6000,0x6009,0x6017,0x6019,0x601e,0x6020,0x602f,0x6031,0x6035,0x6037,0x6037,0x6039,0x6039,0x603b,0x603b,0x6040,0x6047,0x6049,0x604d,0x6050,0x6050,0x6052,0x6055,0x6058,0x605b,0x605d,0x605f,0x6062,0x6070,0x6072,0x6072,0x6075,0x6075,0x6077,0x6077,0x607e,0x6081,0x6083,0x608a,0x608c,0x608e,0x6090,0x6090,0x6092,0x6092,0x6094,0x6097,0x609a,0x60a0,0x60a2,0x60a4,0x60a6,0x60a8,0x60b0,0x60c1,0x60c3,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d7,0x60e4,0x60e6,0x60e9,0x60f0,0x6101,0x6103,0x6110,0x6112,0x6116,0x6118,0x611d,0x611f,0x6120,0x6122,0x6123,0x6127,0x6129,0x612b,0x612c,0x612e,0x6130,0x6132,0x6132,0x6134,0x6134,0x6136,0x6137,0x613b,0x613b,0x613d,0x6142,0x6144,0x6150,0x6152,0x6156,0x6158,0x6168,0x616a,0x616c,0x616e,0x6177,0x6179,0x617a,0x617c,0x617e,0x6180,0x6183,0x6187,0x6187,0x6189,0x618e,0x6190,0x6196,0x6198,0x619d,0x619f,0x619f,0x61a1,0x61a2,0x61a4,0x61a4,0x61a7,0x61ba,0x61bc,0x61bc,0x61be,0x61c3,0x61c5,0x61cd,0x61cf,0x61d0,0x61d3,0x61d3,0x61d6,0x61d6,0x61d8,0x61d8,0x61da,0x61da,0x61de,0x61e0,0x61e2,0x61eb,0x61ed,0x61ee,0x61f0,0x61f2,0x61f5,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6219,0x621b,0x621f,0x6225,0x6227,0x6227,0x6229,0x622e,0x6230,0x6230,0x6232,0x6234,0x6236,0x6237,0x6239,0x623a,0x623d,0x6243,0x6246,0x624e,0x6250,0x6254,0x6258,0x625c,0x625e,0x625e,0x6260,0x6266,0x6268,0x6268,0x626d,0x6274,0x6276,0x6277,0x6279,0x628a,0x628c,0x628c,0x628e,0x6298,0x629d,0x629d,0x62a4,0x62a4,0x62a6,0x62a6,0x62a8,0x62b1,0x62b3,0x62b6,0x62b8,0x62b9,0x62bb,0x62bf,0x62c1,0x62dc,0x62df,0x62df,0x62e5,0x62e5,0x62eb,0x6303,0x6307,0x6309,0x630b,0x6311,0x6313,0x6316,0x6318,0x6318,0x6328,0x632f,0x6331,0x633e,0x6340,0x6351,0x6354,0x635a,0x635d,0x635d,0x6364,0x6365,0x6367,0x6369,0x636b,0x6372,0x6375,0x637d,0x637f,0x6385,0x6387,0x6392,0x6394,0x6394,0x6396,0x6399,0x639b,0x63a5,0x63a7,0x63b1,0x63b9,0x63b9,0x63bd,0x63be,0x63c0,0x63d3,0x63d5,0x63eb,0x63ed,0x63f6,0x63f8,0x63f9,0x63fb,0x63fc,0x63fe,0x63fe,0x6406,0x6407,0x6409,0x6410,0x6412,0x6418,0x641a,0x641c,0x641e,0x6428,0x642a,0x6430,0x6432,0x643b,0x643d,0x6441,0x6443,0x6443,0x644b,0x644b,0x644d,0x644e,0x6450,0x6454,0x6458,0x6461,0x6465,0x6469,0x646b,0x647d,0x647f,0x647f,0x6482,0x6482,0x6485,0x6485,0x6487,0x648d,0x648f,0x6493,0x6495,0x649a,0x649c,0x64a0,0x64a2,0x64a6,0x64a9,0x64a9,0x64ab,0x64b4,0x64b6,0x64b6,0x64bb,0x64c5,0x64c7,0x64c7,0x64c9,0x64cb,0x64cd,0x64d0,0x64d2,0x64d4,0x64d6,0x64db,0x64dd,0x64dd,0x64e0,0x64ed,0x64ef,0x64f4,0x64f7,0x64f8,0x64fa,0x6501,0x6503,0x6504,0x6506,0x6507,0x6509,0x650a,0x650c,0x6511,0x6513,0x6519,0x651b,0x6526,0x6529,0x6530,0x6532,0x6539,0x653b,0x653b,0x653d,0x653f,0x6541,0x6541,0x6543,0x6543,0x6545,0x6546,0x6548,0x654a,0x654d,0x654d,0x654f,0x654f,0x6551,0x6551,0x6553,0x655a,0x655c,0x655f,0x6562,0x6568,0x656a,0x656d,0x656f,0x656f,0x6572,0x657c,0x657f,0x6589,0x658b,0x658c,0x6590,0x6592,0x6594,0x6597,0x6599,0x6599,0x659b,0x65a2,0x65a4,0x65a5,0x65a7,0x65a8,0x65aa,0x65ac,0x65ae,0x65b0,0x65b2,0x65b3,0x65b5,0x65b9,0x65bb,0x65bf,0x65c1,0x65c6,0x65cb,0x65d4,0x65d6,0x65d7,0x65da,0x65db,0x65dd,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65f5,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6615,0x6618,0x6618,0x661c,0x6628,0x662b,0x662b,0x662d,0x6636,0x6639,0x663a,0x6641,0x6645,0x6647,0x664d,0x664f,0x664f,0x6651,0x6653,0x6657,0x6657,0x6659,0x6668,0x666a,0x666c,0x666e,0x6674,0x6676,0x667e,0x6680,0x6680,0x6684,0x668e,0x6690,0x6692,0x6694,0x669a,0x669d,0x669d,0x669f,0x66a2,0x66a4,0x66a4,0x66a8,0x66ab,0x66ad,0x66bb,0x66bd,0x66c0,0x66c4,0x66c4,0x66c6,0x66cf,0x66d2,0x66d2,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e4,0x66e6,0x66e9,0x66eb,0x66ee,0x66f0,0x66f4,0x66f6,0x66f9,0x66fc,0x66fc,0x66fe,0x6705,0x6708,0x6710,0x6712,0x6719,0x671b,0x671b,0x671d,0x6723,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6736,0x6738,0x673f,0x6744,0x6749,0x674b,0x6751,0x6753,0x6753,0x6755,0x6757,0x6759,0x675a,0x675c,0x6762,0x6767,0x6767,0x676a,0x677f,0x6781,0x6787,0x6789,0x6789,0x678b,0x6795,0x6797,0x679a,0x679c,0x679d,0x679f,0x67a0,0x67a4,0x67a4,0x67ac,0x67ac,0x67ae,0x67bb,0x67bf,0x67c6,0x67c8,0x67d4,0x67d6,0x67df,0x67e2,0x67e7,0x67e9,0x67fa,0x67fc,0x67fc,0x67fe,0x6804,0x680d,0x680d,0x6810,0x6810,0x6812,0x6814,0x6816,0x6818,0x681a,0x6822,0x6825,0x6826,0x6828,0x682b,0x682d,0x682f,0x6831,0x683e,0x6840,0x6851,0x6853,0x6856,0x685d,0x685d,0x6865,0x6865,0x686b,0x686b,0x686d,0x686f,0x6871,0x6872,0x6874,0x6879,0x687b,0x688c,0x688f,0x6894,0x6896,0x6898,0x689b,0x689d,0x689f,0x68a4,0x68a6,0x68b6,0x68b9,0x68b9,0x68bd,0x68bd,0x68c1,0x68c1,0x68c3,0x68ce,0x68d0,0x68d8,0x68da,0x68da,0x68dc,0x68e1,0x68e3,0x68e4,0x68e6,0x68ec,0x68ee,0x68fd,0x6900,0x6915,0x6917,0x691b,0x6925,0x6925,0x692a,0x692a,0x692c,0x692c,0x692f,0x6930,0x6932,0x6939,0x693b,0x6946,0x6948,0x694c,0x694e,0x694f,0x6951,0x697b,0x6980,0x6980,0x6982,0x6983,0x6985,0x6986,0x698a,0x698a,0x698d,0x698e,0x6990,0x6991,0x6993,0x699c,0x699e,0x69b7,0x69b9,0x69b9,0x69bb,0x69c4,0x69c6,0x69c6,0x69c9,0x69d1,0x69d3,0x69d6,0x69d9,0x69d9,0x69e1,0x69e2,0x69e4,0x69e9,0x69eb,0x69ee,0x69f1,0x69f4,0x69f6,0x6a0d,0x6a0f,0x6a0f,0x6a11,0x6a11,0x6a13,0x6a21,0x6a23,0x6a23,0x6a25,0x6a29,0x6a2b,0x6a2d,0x6a32,0x6a35,0x6a38,0x6a41,0x6a43,0x6a49,0x6a4b,0x6a5b,0x6a5d,0x6a6b,0x6a6d,0x6a6d,0x6a6f,0x6a6f,0x6a71,0x6a71,0x6a74,0x6a74,0x6a76,0x6a76,0x6a7a,0x6a7a,0x6a7e,0x6a85,0x6a87,0x6a87,0x6a89,0x6a8a,0x6a8c,0x6a97,0x6a99,0x6aa8,0x6aab,0x6aaf,0x6ab1,0x6abb,0x6abd,0x6abe,0x6ac2,0x6ac3,0x6ac5,0x6acd,0x6acf,0x6ad1,0x6ad3,0x6ad4,0x6ad8,0x6ae1,0x6ae5,0x6ae5,0x6ae7,0x6ae8,0x6aea,0x6aec,0x6aee,0x6af1,0x6af3,0x6af3,0x6af6,0x6af6,0x6af8,0x6afc,0x6b00,0x6b00,0x6b02,0x6b05,0x6b08,0x6b0b,0x6b0f,0x6b13,0x6b16,0x6b1a,0x6b1d,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b25,0x6b25,0x6b28,0x6b28,0x6b2c,0x6b2d,0x6b2f,0x6b2f,0x6b31,0x6b3f,0x6b41,0x6b43,0x6b45,0x6b4e,0x6b50,0x6b52,0x6b54,0x6b57,0x6b59,0x6b59,0x6b5b,0x6b5c,0x6b5e,0x6b67,0x6b6a,0x6b6a,0x6b6d,0x6b6d,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b74,0x6b74,0x6b76,0x6b7b,0x6b7e,0x6b84,0x6b86,0x6b86,0x6b88,0x6b8a,0x6b8c,0x6b8f,0x6b91,0x6b91,0x6b94,0x6b99,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba7,0x6baa,0x6bab,0x6bad,0x6bb0,0x6bb2,0x6bb3,0x6bb5,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc3,0x6bcd,0x6bcf,0x6bd0,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdc,0x6bde,0x6bde,0x6be0,0x6be4,0x6be6,0x6be8,0x6bea,0x6bec,0x6bef,0x6bf0,0x6bf2,0x6bf3,0x6bf7,0x6c06,0x6c08,0x6c09,0x6c0b,0x6c0d,0x6c0f,0x6c11,0x6c13,0x6c16,0x6c18,0x6c1d,0x6c1f,0x6c21,0x6c23,0x6c28,0x6c2a,0x6c2c,0x6c2e,0x6c3b,0x6c3d,0x6c43,0x6c46,0x6c46,0x6c49,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c61,0x6c65,0x6c6b,0x6c6d,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9d,0x6c9f,0x6c9f,0x6ca2,0x6ca2,0x6caa,0x6cb4,0x6cb6,0x6cc7,0x6cc9,0x6cd7,0x6cd9,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf3,0x6cf5,0x6cf5,0x6cf9,0x6cf9,0x6cff,0x6d12,0x6d16,0x6d1b,0x6d1d,0x6d20,0x6d22,0x6d22,0x6d24,0x6d42,0x6d4e,0x6d4e,0x6d57,0x6d5c,0x6d5e,0x6d6a,0x6d6c,0x6d72,0x6d74,0x6d98,0x6d9a,0x6d9a,0x6da4,0x6da5,0x6daa,0x6dac,0x6dae,0x6daf,0x6db1,0x6db5,0x6db7,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dcd,0x6dcf,0x6de6,0x6de8,0x6df7,0x6df9,0x6dfe,0x6e00,0x6e00,0x6e02,0x6e05,0x6e0a,0x6e0a,0x6e0f,0x6e0f,0x6e15,0x6e15,0x6e18,0x6e1d,0x6e1f,0x6e36,0x6e38,0x6e41,0x6e43,0x6e47,0x6e49,0x6e4b,0x6e4d,0x6e69,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e71,0x6e74,0x6e76,0x6e79,0x6e7c,0x6e7c,0x6e86,0x6e86,0x6e88,0x6e89,0x6e8b,0x6e8b,0x6e8d,0x6e90,0x6e92,0x6e94,0x6e96,0x6ea7,0x6eaa,0x6eab,0x6eae,0x6ed6,0x6ed8,0x6edd,0x6ee2,0x6ee2,0x6ee8,0x6ee9,0x6eeb,0x6eef,0x6ef1,0x6ef2,0x6ef4,0x6f0f,0x6f12,0x6f1a,0x6f1c,0x6f1c,0x6f1e,0x6f27,0x6f29,0x6f41,0x6f43,0x6f44,0x6f4e,0x6f58,0x6f5a,0x6f64,0x6f66,0x6f67,0x6f69,0x6f70,0x6f72,0x6f74,0x6f76,0x6f82,0x6f84,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f97,0x6f9d,0x6fb6,0x6fb8,0x6fc4,0x6fc6,0x6fcf,0x6fd3,0x6fd5,0x6fd8,0x6fe4,0x6fe6,0x6fe9,0x6feb,0x6ff2,0x6ff4,0x6ff4,0x6ff6,0x6ff8,0x6ffa,0x6ffc,0x6ffe,0x7001,0x7003,0x7007,0x7009,0x700f,0x7011,0x7011,0x7014,0x7024,0x7026,0x702c,0x702f,0x7035,0x7037,0x703c,0x703e,0x7046,0x7048,0x704d,0x7050,0x7052,0x7054,0x7058,0x705a,0x706c,0x706e,0x7071,0x7074,0x707a,0x707c,0x707f,0x7081,0x7086,0x7089,0x708b,0x708e,0x708f,0x7091,0x7096,0x7098,0x709a,0x709f,0x70a1,0x70a3,0x70a7,0x70a9,0x70a9,0x70ab,0x70b1,0x70b3,0x70b5,0x70b7,0x70be,0x70c0,0x70c0,0x70c4,0x70c8,0x70ca,0x70da,0x70dc,0x70e2,0x70e4,0x70e4,0x70ef,0x70f1,0x70f3,0x7100,0x7102,0x7102,0x7104,0x7106,0x7109,0x710e,0x7110,0x7110,0x7113,0x7113,0x7117,0x7117,0x7119,0x7123,0x7125,0x7126,0x7128,0x7129,0x712b,0x712c,0x712e,0x7136,0x713a,0x713b,0x713e,0x713e,0x7140,0x7147,0x7149,0x7154,0x7156,0x715a,0x715c,0x716c,0x716e,0x716e,0x7170,0x7178,0x717a,0x717e,0x7180,0x7182,0x7184,0x718a,0x718c,0x718c,0x718e,0x7192,0x7194,0x7194,0x7196,0x71a5,0x71a7,0x71aa,0x71ac,0x71ad,0x71af,0x71b5,0x71b7,0x71ba,0x71bc,0x71cb,0x71ce,0x71d2,0x71d4,0x71d6,0x71d8,0x71dd,0x71df,0x71e2,0x71e4,0x71e8,0x71eb,0x71ee,0x71f0,0x71f2,0x71f4,0x71f6,0x71f8,0x71f9,0x71fb,0x7203,0x7205,0x7207,0x7209,0x720a,0x720c,0x7210,0x7213,0x7217,0x7219,0x721b,0x721d,0x721f,0x7222,0x722e,0x7230,0x7230,0x7235,0x7236,0x7238,0x723b,0x723d,0x7242,0x7244,0x7244,0x7246,0x724c,0x724f,0x7250,0x7252,0x7253,0x7255,0x7263,0x7266,0x7267,0x7269,0x726a,0x726c,0x726c,0x726e,0x7270,0x7272,0x7274,0x7276,0x7279,0x727b,0x7282,0x7284,0x7289,0x728b,0x7298,0x729a,0x729b,0x729d,0x729f,0x72a1,0x72aa,0x72ac,0x72b0,0x72b2,0x72b2,0x72b4,0x72b5,0x72ba,0x72ba,0x72bd,0x72bd,0x72bf,0x72c6,0x72c9,0x72ce,0x72d0,0x72d2,0x72d4,0x72d4,0x72d6,0x72da,0x72dc,0x72dc,0x72df,0x72e4,0x72e6,0x72e6,0x72e8,0x72eb,0x72f3,0x72f4,0x72f6,0x7302,0x7304,0x7304,0x7307,0x7308,0x730a,0x730c,0x730f,0x7313,0x7316,0x7319,0x731b,0x731e,0x7322,0x7323,0x7325,0x732e,0x7330,0x733c,0x733e,0x7345,0x7348,0x734a,0x734c,0x7352,0x7357,0x735b,0x735d,0x7362,0x7365,0x736c,0x736e,0x7378,0x737a,0x738c,0x738e,0x738f,0x7392,0x7398,0x739c,0x73a2,0x73a4,0x73ad,0x73b2,0x73bc,0x73be,0x73c0,0x73c2,0x73d0,0x73d2,0x73de,0x73e0,0x73eb,0x73ed,0x73ef,0x73f3,0x740d,0x7411,0x7412,0x7414,0x7417,0x7419,0x7426,0x7428,0x743a,0x743c,0x743c,0x743f,0x7457,0x7459,0x7465,0x7467,0x7476,0x7479,0x747a,0x747c,0x7483,0x7485,0x748d,0x7490,0x7490,0x7492,0x7492,0x7494,0x7495,0x7497,0x74a1,0x74a3,0x74ab,0x74ad,0x74ad,0x74af,0x74b2,0x74b4,0x74bb,0x74bd,0x74c3,0x74c5,0x74c6,0x74c8,0x74c8,0x74ca,0x74cc,0x74cf,0x74d0,0x74d3,0x74e9,0x74ec,0x74ec,0x74ee,0x74ee,0x74f0,0x74f2,0x74f4,0x74f8,0x74fb,0x74fb,0x74fd,0x7500,0x7502,0x7505,0x7507,0x7508,0x750b,0x751a,0x751c,0x751f,0x7521,0x7522,0x7525,0x7526,0x7528,0x7535,0x7537,0x753b,0x753d,0x7540,0x7542,0x7542,0x7546,0x7548,0x754a,0x754f,0x7551,0x7551,0x7553,0x7555,0x7559,0x755d,0x755f,0x7560,0x7562,0x7567,0x756a,0x7570,0x7572,0x7572,0x7576,0x757a,0x757d,0x7580,0x7583,0x7584,0x7586,0x7587,0x758a,0x7592,0x7594,0x7595,0x7598,0x759a,0x759d,0x759e,0x75a2,0x75a5,0x75a7,0x75a7,0x75aa,0x75ab,0x75b0,0x75b6,0x75b8,0x75c5,0x75c7,0x75c8,0x75ca,0x75d2,0x75d4,0x75d5,0x75d7,0x75e4,0x75e6,0x75e7,0x75ed,0x75ed,0x75ef,0x7603,0x7607,0x760d,0x760f,0x7611,0x7613,0x7616,0x7619,0x7629,0x762c,0x762d,0x762f,0x7635,0x7638,0x7638,0x763a,0x763d,0x7640,0x7640,0x7642,0x7643,0x7646,0x7649,0x764c,0x7654,0x7656,0x765a,0x765c,0x765c,0x765f,0x7662,0x7664,0x7667,0x7669,0x766a,0x766c,0x7676,0x7678,0x767f,0x7681,0x7682,0x7684,0x7684,0x7686,0x768b,0x768e,0x7690,0x7692,0x7693,0x7695,0x7696,0x7699,0x769e,0x76a1,0x76a1,0x76a4,0x76a6,0x76aa,0x76ab,0x76ad,0x76b0,0x76b4,0x76b5,0x76b7,0x76b8,0x76ba,0x76bb,0x76bd,0x76bf,0x76c2,0x76c6,0x76c8,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76df,0x76e1,0x76e1,0x76e3,0x76e7,0x76e9,0x76ea,0x76ec,0x76f5,0x76f7,0x76fc,0x76fe,0x76fe,0x7701,0x7701,0x7703,0x7705,0x7707,0x770c,0x770e,0x7713,0x7715,0x7715,0x7719,0x771b,0x771d,0x7720,0x7722,0x7729,0x772b,0x772b,0x772d,0x772d,0x772f,0x772f,0x7731,0x773e,0x7740,0x7740,0x7743,0x7747,0x774a,0x774f,0x7752,0x7752,0x7754,0x7756,0x7758,0x775c,0x775e,0x7763,0x7765,0x776f,0x7772,0x7772,0x7777,0x7785,0x7787,0x7789,0x778b,0x778f,0x7791,0x7791,0x7793,0x7793,0x7795,0x7795,0x7797,0x77a3,0x77a5,0x77a5,0x77a7,0x77a8,0x77aa,0x77ad,0x77af,0x77b7,0x77b9,0x77bf,0x77c2,0x77c5,0x77c7,0x77c7,0x77c9,0x77d0,0x77d3,0x77d5,0x77d7,0x77de,0x77e0,0x77e0,0x77e2,0x77e3,0x77e5,0x77e9,0x77ec,0x77f4,0x77f7,0x77fe,0x7802,0x7803,0x7805,0x7806,0x7808,0x7809,0x780c,0x7814,0x7818,0x7818,0x781c,0x7823,0x7825,0x7835,0x7837,0x7839,0x783c,0x783d,0x7842,0x7845,0x7847,0x784e,0x7850,0x7854,0x785c,0x785e,0x7860,0x7860,0x7862,0x7862,0x7864,0x7866,0x7868,0x7871,0x7879,0x787c,0x787e,0x7881,0x7883,0x7889,0x788c,0x788f,0x7891,0x7891,0x7893,0x789a,0x789e,0x78a5,0x78a7,0x78ad,0x78af,0x78b4,0x78b6,0x78b6,0x78b8,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c3,0x78c5,0x78c7,0x78d5,0x78d7,0x78d8,0x78da,0x78db,0x78dd,0x78e5,0x78e7,0x78ea,0x78ec,0x78f5,0x78f7,0x78f7,0x78f9,0x78ff,0x7901,0x7902,0x7904,0x7906,0x7909,0x7909,0x790c,0x790c,0x790e,0x790e,0x7910,0x7914,0x7917,0x7917,0x7919,0x7919,0x791b,0x791e,0x7921,0x7921,0x7923,0x792f,0x7931,0x7936,0x7938,0x7942,0x7944,0x794c,0x794f,0x7965,0x7967,0x796b,0x796d,0x796d,0x7970,0x7974,0x7979,0x797a,0x797c,0x7983,0x7986,0x7988,0x798a,0x798b,0x798d,0x799d,0x799f,0x79a2,0x79a4,0x79ae,0x79b0,0x79b4,0x79b6,0x79bb,0x79bd,0x79c1,0x79c4,0x79c6,0x79c8,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79dc,0x79e0,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ee,0x79f1,0x79f1,0x79f4,0x79f4,0x79f6,0x79f8,0x79fa,0x79fb,0x7a00,0x7a00,0x7a02,0x7a06,0x7a08,0x7a08,0x7a0a,0x7a0e,0x7a10,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a26,0x7a26,0x7a28,0x7a28,0x7a2a,0x7a32,0x7a37,0x7a37,0x7a39,0x7a40,0x7a43,0x7a4e,0x7a54,0x7a54,0x7a56,0x7a58,0x7a5a,0x7a5c,0x7a5f,0x7a62,0x7a65,0x7a65,0x7a67,0x7a69,0x7a6b,0x7a6e,0x7a70,0x7a72,0x7a74,0x7a76,0x7a78,0x7a7b,0x7a7d,0x7a81,0x7a83,0x7a8c,0x7a8f,0x7a99,0x7a9e,0x7aa0,0x7aa2,0x7aa3,0x7aa8,0x7aac,0x7aae,0x7ab8,0x7aba,0x7abc,0x7abe,0x7ac5,0x7ac7,0x7acb,0x7acf,0x7acf,0x7ad1,0x7ad1,0x7ad3,0x7ad3,0x7ad8,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae7,0x7ae9,0x7aeb,0x7aed,0x7aef,0x7af6,0x7af7,0x7af9,0x7b01,0x7b04,0x7b06,0x7b08,0x7b0c,0x7b0e,0x7b14,0x7b18,0x7b1b,0x7b1d,0x7b20,0x7b22,0x7b35,0x7b38,0x7b39,0x7b3b,0x7b3b,0x7b40,0x7b40,0x7b42,0x7b52,0x7b54,0x7b56,0x7b58,0x7b58,0x7b60,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b78,0x7b7b,0x7b7b,0x7b82,0x7b82,0x7b84,0x7b85,0x7b87,0x7b88,0x7b8a,0x7b92,0x7b94,0x7b9d,0x7ba0,0x7ba4,0x7bac,0x7baf,0x7bb1,0x7bb2,0x7bb4,0x7bb5,0x7bb7,0x7bb9,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc7,0x7bc9,0x7bcc,0x7bce,0x7bd0,0x7bd4,0x7bd5,0x7bd8,0x7bec,0x7bf0,0x7bf4,0x7bf7,0x7c03,0x7c05,0x7c07,0x7c09,0x7c12,0x7c15,0x7c15,0x7c19,0x7c19,0x7c1b,0x7c23,0x7c25,0x7c2d,0x7c30,0x7c30,0x7c33,0x7c33,0x7c35,0x7c35,0x7c37,0x7c39,0x7c3b,0x7c40,0x7c42,0x7c45,0x7c47,0x7c4a,0x7c4c,0x7c4d,0x7c50,0x7c51,0x7c53,0x7c54,0x7c56,0x7c57,0x7c59,0x7c5d,0x7c5f,0x7c60,0x7c63,0x7c67,0x7c69,0x7c70,0x7c72,0x7c75,0x7c78,0x7c81,0x7c83,0x7c86,0x7c88,0x7c8a,0x7c8c,0x7c8e,0x7c91,0x7c92,0x7c94,0x7c98,0x7c9c,0x7c9c,0x7c9e,0x7c9f,0x7ca1,0x7ca3,0x7ca5,0x7ca8,0x7cac,0x7cac,0x7cae,0x7caf,0x7cb1,0x7cb5,0x7cb8,0x7cbf,0x7cc2,0x7cc3,0x7cc5,0x7cc5,0x7cc7,0x7cce,0x7cd0,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce8,0x7cea,0x7cea,0x7cec,0x7cf9,0x7cfb,0x7cfe,0x7d00,0x7d22,0x7d25,0x7d25,0x7d28,0x7d29,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d36,0x7d38,0x7d47,0x7d4a,0x7d4a,0x7d4d,0x7d56,0x7d58,0x7d58,0x7d5a,0x7d5f,0x7d61,0x7d63,0x7d66,0x7d6b,0x7d6d,0x7d73,0x7d79,0x7d7d,0x7d7f,0x7d81,0x7d83,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8f,0x7d91,0x7d97,0x7d9c,0x7da4,0x7da6,0x7db5,0x7db7,0x7dc2,0x7dc4,0x7dc7,0x7dc9,0x7dd0,0x7dd2,0x7dd4,0x7dd7,0x7de1,0x7de3,0x7dea,0x7dec,0x7dec,0x7dee,0x7df7,0x7df9,0x7dfe,0x7e03,0x7e03,0x7e07,0x7e17,0x7e1a,0x7e25,0x7e27,0x7e27,0x7e29,0x7e2b,0x7e2d,0x7e49,0x7e4c,0x7e4c,0x7e50,0x7e5c,0x7e5e,0x7e63,0x7e65,0x7e65,0x7e67,0x7e70,0x7e72,0x7e82,0x7e86,0x7e88,0x7e8a,0x7e8f,0x7e91,0x7e9c,0x7e9f,0x7e9f,0x7ea4,0x7ea4,0x7eac,0x7eac,0x7eba,0x7eba,0x7ec7,0x7ec7,0x7ecf,0x7ecf,0x7edf,0x7edf,0x7f06,0x7f06,0x7f36,0x7f3a,0x7f3d,0x7f41,0x7f43,0x7f45,0x7f47,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f61,0x7f63,0x7f63,0x7f65,0x7f6e,0x7f70,0x7f73,0x7f75,0x7f7f,0x7f83,0x7f83,0x7f85,0x7f8f,0x7f91,0x7f97,0x7f9a,0x7f9e,0x7fa0,0x7fa9,0x7fac,0x7fc3,0x7fc5,0x7fc5,0x7fc7,0x7fc7,0x7fc9,0x7fd2,0x7fd4,0x7fd5,0x7fd7,0x7fd7,0x7fdb,0x7fe3,0x7fe5,0x7ff5,0x7ff7,0x8008,0x800b,0x8012,0x8014,0x8019,0x801b,0x8021,0x8024,0x8026,0x8028,0x802a,0x802c,0x802c,0x802e,0x8031,0x8033,0x8037,0x8039,0x8039,0x803b,0x803f,0x8043,0x8043,0x8046,0x8048,0x804a,0x804a,0x804f,0x8052,0x8054,0x8054,0x8056,0x8056,0x8058,0x8058,0x805a,0x805e,0x8061,0x8064,0x8066,0x8067,0x806c,0x806c,0x806f,0x8073,0x8075,0x8079,0x807d,0x8080,0x8082,0x8082,0x8084,0x8087,0x8089,0x808c,0x808f,0x8090,0x8092,0x8093,0x8095,0x8096,0x8098,0x809d,0x809f,0x809f,0x80a1,0x80a3,0x80a5,0x80a5,0x80a7,0x80a7,0x80a9,0x80ab,0x80ad,0x80af,0x80b1,0x80b2,0x80b4,0x80b8,0x80ba,0x80ba,0x80bc,0x80bd,0x80c2,0x80ca,0x80cc,0x80d1,0x80d4,0x80de,0x80e0,0x80e1,0x80e3,0x80e6,0x80e9,0x80e9,0x80ec,0x80ed,0x80ef,0x80f6,0x80f8,0x80fe,0x8100,0x8103,0x8105,0x810a,0x810c,0x810c,0x810e,0x810e,0x8112,0x8112,0x8114,0x811b,0x811d,0x811f,0x8121,0x8125,0x8127,0x8127,0x8129,0x812d,0x812f,0x8132,0x8134,0x8134,0x8137,0x8137,0x8139,0x813a,0x813d,0x813e,0x8142,0x8144,0x8146,0x8148,0x814a,0x8156,0x8159,0x815c,0x815e,0x815e,0x8160,0x8162,0x8164,0x8167,0x8169,0x8169,0x816b,0x8174,0x8176,0x817a,0x817c,0x817d,0x817f,0x8180,0x8182,0x8184,0x8186,0x818d,0x818f,0x818f,0x8193,0x8193,0x8195,0x8195,0x8197,0x81a0,0x81a2,0x81a3,0x81a5,0x81ac,0x81ae,0x81ae,0x81b0,0x81b7,0x81b9,0x81ca,0x81cc,0x81cd,0x81cf,0x81d2,0x81d5,0x81d5,0x81d7,0x81db,0x81dd,0x81ea,0x81ec,0x81ef,0x81f2,0x81f4,0x81f6,0x81fc,0x81fe,0x8202,0x8204,0x8205,0x8207,0x820d,0x8210,0x8212,0x8214,0x8216,0x8218,0x8218,0x821a,0x8222,0x8225,0x8226,0x8228,0x822d,0x822f,0x822f,0x8232,0x823a,0x823c,0x8240,0x8242,0x8242,0x8244,0x8245,0x8247,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x825c,0x825e,0x825f,0x8261,0x8266,0x8268,0x8269,0x826b,0x826f,0x8271,0x8272,0x8274,0x8280,0x8283,0x8285,0x8287,0x8287,0x828a,0x828b,0x828d,0x8294,0x8298,0x829b,0x829d,0x82b1,0x82b3,0x82c0,0x82c2,0x82c4,0x82ca,0x82ca,0x82cf,0x82d9,0x82db,0x82dc,0x82de,0x82e8,0x82ea,0x8309,0x830b,0x830d,0x8316,0x831e,0x8320,0x8320,0x8322,0x8322,0x8324,0x832d,0x832f,0x832f,0x8331,0x833d,0x833f,0x8345,0x8347,0x8354,0x8356,0x8357,0x8362,0x8363,0x8366,0x8366,0x836f,0x836f,0x8373,0x8378,0x837a,0x837f,0x8381,0x8381,0x8383,0x8383,0x8385,0x839e,0x83a0,0x83a0,0x83a2,0x83ac,0x83ae,0x83b0,0x83b9,0x83b9,0x83bd,0x83cf,0x83d1,0x83d1,0x83d3,0x83d9,0x83db,0x83e5,0x83e7,0x83f6,0x83f8,0x83ff,0x8401,0x8401,0x8403,0x8407,0x8409,0x8414,0x8416,0x8416,0x8418,0x8418,0x841b,0x841c,0x8420,0x8421,0x8423,0x8424,0x8426,0x8426,0x8429,0x8429,0x842b,0x8440,0x8442,0x844e,0x8450,0x8469,0x846b,0x847a,0x847d,0x8480,0x8482,0x8482,0x8484,0x8484,0x8486,0x8486,0x8488,0x8488,0x848d,0x8494,0x8496,0x84a4,0x84a7,0x84b2,0x84b4,0x84b4,0x84b6,0x84b6,0x84b8,0x84c2,0x84c4,0x84c7,0x84c9,0x84d4,0x84d6,0x84d7,0x84da,0x84db,0x84de,0x84de,0x84e1,0x84e2,0x84e4,0x84e5,0x84e7,0x84ec,0x84ee,0x84f4,0x84f6,0x8500,0x8502,0x851a,0x851c,0x8521,0x8523,0x8531,0x8533,0x8534,0x8538,0x8538,0x853b,0x853b,0x853d,0x853e,0x8540,0x854e,0x8551,0x855b,0x855d,0x8571,0x8573,0x8573,0x8575,0x857c,0x857e,0x857e,0x8580,0x8591,0x8593,0x85a4,0x85a6,0x85aa,0x85af,0x85b1,0x85b3,0x85ba,0x85bd,0x85c9,0x85cb,0x85cb,0x85cd,0x85d2,0x85d5,0x85da,0x85dc,0x85e6,0x85e8,0x85f2,0x85f4,0x85f4,0x85f6,0x8602,0x8604,0x8607,0x8609,0x860d,0x860f,0x8611,0x8613,0x8614,0x8616,0x861c,0x861e,0x862a,0x862c,0x862f,0x8631,0x8636,0x8638,0x863c,0x863e,0x8640,0x8642,0x8643,0x8645,0x8648,0x864b,0x864e,0x8650,0x8650,0x8652,0x8656,0x8659,0x8659,0x865b,0x865c,0x865e,0x865f,0x8661,0x8665,0x8667,0x8674,0x8677,0x8677,0x8679,0x867c,0x867e,0x867e,0x8685,0x8687,0x868a,0x868e,0x8690,0x869a,0x869c,0x869e,0x86a0,0x86a5,0x86a7,0x86aa,0x86ad,0x86ad,0x86af,0x86c9,0x86cb,0x86cc,0x86d0,0x86d1,0x86d3,0x86d4,0x86d6,0x86df,0x86e2,0x86e4,0x86e6,0x86e6,0x86e8,0x86ed,0x86ef,0x86ef,0x86f5,0x86fb,0x86fe,0x86fe,0x8700,0x870e,0x8711,0x8713,0x8715,0x8715,0x8718,0x871c,0x871e,0x871e,0x8720,0x872a,0x872c,0x872e,0x8730,0x8735,0x8737,0x8738,0x873a,0x873c,0x873e,0x8743,0x8746,0x8746,0x874c,0x8771,0x8773,0x877b,0x877d,0x877d,0x8781,0x8789,0x878b,0x878d,0x878f,0x8794,0x8796,0x8798,0x879a,0x879f,0x87a2,0x87a5,0x87a9,0x87c6,0x87c8,0x87cc,0x87ce,0x87ce,0x87d1,0x87d4,0x87d6,0x87e8,0x87ea,0x87ef,0x87f2,0x87f7,0x87f9,0x87fc,0x87fe,0x8806,0x8808,0x880d,0x880f,0x8811,0x8813,0x8819,0x881b,0x881d,0x881f,0x8833,0x8835,0x8839,0x883b,0x8846,0x8848,0x8848,0x884a,0x884f,0x8852,0x8853,0x8855,0x8857,0x8859,0x885b,0x885d,0x885e,0x8860,0x8865,0x8867,0x886b,0x886d,0x8872,0x8874,0x8877,0x8879,0x8879,0x887c,0x8884,0x8887,0x8889,0x888b,0x8893,0x8895,0x88a2,0x88a4,0x88a4,0x88a7,0x88a8,0x88aa,0x88ac,0x88ae,0x88ae,0x88b1,0x88b2,0x88b4,0x88ba,0x88bc,0x88c2,0x88c5,0x88c5,0x88c7,0x88c7,0x88c9,0x88d0,0x88d2,0x88d2,0x88d4,0x88df,0x88e1,0x88e1,0x88e6,0x88e8,0x88eb,0x88ec,0x88ee,0x8902,0x8905,0x8907,0x8909,0x890c,0x890e,0x890e,0x8910,0x891a,0x891e,0x891f,0x8921,0x8927,0x8929,0x8933,0x8935,0x8938,0x893b,0x893e,0x8941,0x8944,0x8946,0x8947,0x8949,0x8949,0x894b,0x894d,0x894f,0x8954,0x8956,0x8966,0x8969,0x896f,0x8971,0x8974,0x8976,0x8977,0x8979,0x897c,0x897e,0x8983,0x8985,0x898b,0x898f,0x898f,0x8991,0x8991,0x8993,0x8998,0x899b,0x899f,0x89a1,0x89a7,0x89a9,0x89aa,0x89ac,0x89af,0x89b2,0x89b2,0x89b6,0x89b7,0x89b9,0x89ba,0x89bc,0x89c1,0x89c6,0x89c6,0x89d2,0x89d6,0x89d9,0x89dd,0x89df,0x89e9,0x89eb,0x89ed,0x89f0,0x89f4,0x89f6,0x89f8,0x89fa,0x89fc,0x89fe,0x8a00,0x8a02,0x8a04,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a13,0x8a15,0x8a18,0x8a1b,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a27,0x8a27,0x8a29,0x8a2d,0x8a30,0x8a31,0x8a34,0x8a34,0x8a36,0x8a36,0x8a38,0x8a41,0x8a44,0x8a46,0x8a48,0x8a4a,0x8a4c,0x8a52,0x8a54,0x8a59,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a7f,0x8a81,0x8a87,0x8a8b,0x8a8d,0x8a8f,0x8a96,0x8a98,0x8a9a,0x8a9c,0x8a9c,0x8a9e,0x8a9e,0x8aa0,0x8aa1,0x8aa3,0x8aac,0x8aaf,0x8ab0,0x8ab2,0x8ab2,0x8ab4,0x8ab4,0x8ab6,0x8ab6,0x8ab8,0x8ac0,0x8ac2,0x8ac9,0x8acb,0x8acd,0x8acf,0x8acf,0x8ad1,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae8,0x8aea,0x8aeb,0x8aed,0x8afc,0x8afe,0x8b02,0x8b04,0x8b08,0x8b0a,0x8b20,0x8b22,0x8b28,0x8b2a,0x8b31,0x8b33,0x8b33,0x8b35,0x8b37,0x8b39,0x8b43,0x8b45,0x8b5a,0x8b5c,0x8b60,0x8b62,0x8b63,0x8b65,0x8b6d,0x8b6f,0x8b70,0x8b74,0x8b74,0x8b77,0x8b7b,0x8b7d,0x8b86,0x8b88,0x8b88,0x8b8a,0x8b8c,0x8b8e,0x8b90,0x8b92,0x8b96,0x8b98,0x8b9c,0x8b9e,0x8ba0,0x8bbe,0x8bbe,0x8be2,0x8be2,0x8c37,0x8c37,0x8c39,0x8c39,0x8c3b,0x8c3f,0x8c41,0x8c43,0x8c45,0x8c51,0x8c54,0x8c57,0x8c5a,0x8c5a,0x8c5c,0x8c5d,0x8c5f,0x8c5f,0x8c61,0x8c62,0x8c64,0x8c66,0x8c68,0x8c6d,0x8c6f,0x8c73,0x8c75,0x8c7b,0x8c7d,0x8c7d,0x8c80,0x8c82,0x8c84,0x8c86,0x8c89,0x8c8a,0x8c8c,0x8c8d,0x8c8f,0x8c95,0x8c97,0x8ca5,0x8ca7,0x8cad,0x8caf,0x8cb0,0x8cb2,0x8cc5,0x8cc7,0x8cc8,0x8cca,0x8cca,0x8ccc,0x8ccd,0x8ccf,0x8ccf,0x8cd1,0x8cd7,0x8cd9,0x8cee,0x8cf0,0x8cf5,0x8cf7,0x8cfe,0x8d00,0x8d00,0x8d02,0x8d0d,0x8d0f,0x8d19,0x8d1b,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d69,0x8d6b,0x8d70,0x8d72,0x8d74,0x8d76,0x8d7b,0x8d7d,0x8d7d,0x8d80,0x8d82,0x8d84,0x8d85,0x8d89,0x8d8a,0x8d8c,0x8d96,0x8d99,0x8d99,0x8d9b,0x8d9c,0x8d9f,0x8da1,0x8da3,0x8da3,0x8da5,0x8daf,0x8db2,0x8db7,0x8db9,0x8dba,0x8dbc,0x8dbc,0x8dbe,0x8dc3,0x8dc5,0x8dc8,0x8dcb,0x8dd1,0x8dd3,0x8ddd,0x8ddf,0x8de4,0x8de6,0x8dec,0x8dee,0x8df4,0x8dfa,0x8dfa,0x8dfc,0x8e07,0x8e09,0x8e0a,0x8e0d,0x8e2b,0x8e2d,0x8e2e,0x8e30,0x8e31,0x8e33,0x8e36,0x8e38,0x8e3a,0x8e3c,0x8e42,0x8e44,0x8e50,0x8e53,0x8e57,0x8e59,0x8e6a,0x8e6c,0x8e6d,0x8e6f,0x8e6f,0x8e71,0x8e78,0x8e7a,0x8e7c,0x8e7e,0x8e7e,0x8e80,0x8e82,0x8e84,0x8e8e,0x8e90,0x8e98,0x8e9a,0x8e9a,0x8e9d,0x8ea1,0x8ea3,0x8ead,0x8eb0,0x8eb0,0x8eb2,0x8eb2,0x8eb6,0x8eb6,0x8eb9,0x8eba,0x8ebc,0x8ebd,0x8ec0,0x8ec0,0x8ec2,0x8ec3,0x8ec9,0x8ecf,0x8ed1,0x8ed4,0x8ed7,0x8ed8,0x8eda,0x8ee2,0x8ee4,0x8ee9,0x8eeb,0x8eef,0x8ef1,0x8ef2,0x8ef4,0x8efc,0x8efe,0x8f03,0x8f05,0x8f0b,0x8f0d,0x8f0e,0x8f10,0x8f20,0x8f23,0x8f26,0x8f29,0x8f2a,0x8f2c,0x8f30,0x8f32,0x8f39,0x8f3b,0x8f3c,0x8f3e,0x8f4b,0x8f4d,0x8f64,0x8f66,0x8f67,0x8f6e,0x8f6e,0x8f93,0x8f93,0x8f9b,0x8f9c,0x8f9f,0x8fa0,0x8fa3,0x8fa3,0x8fa5,0x8fa8,0x8fad,0x8fbc,0x8fbe,0x8fbf,0x8fc1,0x8fc2,0x8fc4,0x8fc6,0x8fc9,0x8fd7,0x8fda,0x8fda,0x8fe0,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8feb,0x8fed,0x8fee,0x8ff0,0x8ff0,0x8ff4,0x9006,0x9008,0x9008,0x900b,0x900d,0x900f,0x9012,0x9014,0x9017,0x9019,0x9024,0x902d,0x902f,0x9031,0x9038,0x903c,0x903f,0x9041,0x9042,0x9044,0x9044,0x9046,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9064,0x9067,0x9069,0x906b,0x9070,0x9072,0x9088,0x908a,0x908b,0x908d,0x908d,0x908f,0x9091,0x9094,0x9095,0x9097,0x9099,0x909b,0x909b,0x909e,0x90a3,0x90a5,0x90a8,0x90aa,0x90aa,0x90ae,0x90b6,0x90b8,0x90b8,0x90bb,0x90bb,0x90bd,0x90bf,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90c8,0x90ca,0x90cb,0x90ce,0x90ce,0x90d4,0x90dd,0x90df,0x90e5,0x90e8,0x90ed,0x90ef,0x90f5,0x90f9,0x9109,0x910b,0x910b,0x910d,0x9112,0x9114,0x9114,0x9116,0x9124,0x9126,0x9136,0x9138,0x913b,0x913e,0x9141,0x9143,0x9153,0x9155,0x915a,0x915c,0x915c,0x915e,0x9165,0x9167,0x916a,0x916c,0x916c,0x916e,0x9170,0x9172,0x917a,0x917c,0x917c,0x9180,0x9187,0x9189,0x9193,0x9196,0x9196,0x9199,0x91a3,0x91a5,0x91a5,0x91a7,0x91b7,0x91b9,0x91be,0x91c0,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d3,0x91da,0x91dc,0x91dd,0x91df,0x91df,0x91e2,0x91ee,0x91f1,0x91f1,0x91f3,0x91fa,0x91fd,0x920a,0x920c,0x921a,0x921c,0x921c,0x921e,0x921e,0x9221,0x9221,0x9223,0x9228,0x922a,0x922b,0x922d,0x922e,0x9230,0x923a,0x923c,0x9241,0x9244,0x9246,0x9248,0x9258,0x925a,0x925b,0x925d,0x9267,0x926b,0x9270,0x9272,0x9272,0x9276,0x928f,0x9291,0x9291,0x9293,0x929d,0x92a0,0x92ac,0x92ae,0x92ae,0x92b1,0x92b7,0x92b9,0x92bc,0x92be,0x92d5,0x92d7,0x92d9,0x92db,0x92db,0x92dd,0x92e1,0x92e3,0x92f4,0x92f6,0x9304,0x9306,0x9309,0x930b,0x9310,0x9312,0x9316,0x9318,0x931b,0x931d,0x9331,0x9333,0x9336,0x9338,0x9339,0x933c,0x933c,0x9340,0x9352,0x9354,0x935c,0x935e,0x936e,0x9370,0x9371,0x9373,0x937e,0x9380,0x938a,0x938c,0x9392,0x9394,0x93aa,0x93ac,0x93b5,0x93b7,0x93b8,0x93bb,0x93bb,0x93bd,0x93bd,0x93bf,0x93c0,0x93c2,0x93c4,0x93c6,0x93c8,0x93ca,0x93e4,0x93e6,0x93e8,0x93ec,0x93ec,0x93ee,0x93ee,0x93f0,0x93f1,0x93f3,0x9401,0x9403,0x9404,0x9406,0x9419,0x941b,0x941b,0x941d,0x941d,0x9420,0x9420,0x9424,0x9433,0x9435,0x9440,0x9442,0x944d,0x944f,0x9452,0x9454,0x9455,0x9457,0x9458,0x945b,0x945b,0x945d,0x945e,0x9460,0x9460,0x9462,0x9465,0x9467,0x9479,0x947b,0x9483,0x9485,0x9485,0x949f,0x949f,0x94a2,0x94a2,0x94c1,0x94c1,0x94c3,0x94c3,0x94dc,0x94dc,0x94f6,0x94f6,0x952d,0x952d,0x9547,0x9547,0x9577,0x9578,0x957a,0x957d,0x957f,0x9580,0x9582,0x9583,0x9585,0x9586,0x9588,0x9589,0x958b,0x9594,0x9596,0x9599,0x959b,0x959c,0x959e,0x95ae,0x95b0,0x95b2,0x95b5,0x95b7,0x95b9,0x95c0,0x95c3,0x95c3,0x95c5,0x95cd,0x95d0,0x95d6,0x95da,0x95dc,0x95de,0x95e5,0x95e8,0x95e8,0x95f4,0x95f4,0x961c,0x961e,0x9620,0x9624,0x9628,0x9628,0x962a,0x962a,0x962c,0x9633,0x9638,0x963d,0x963f,0x9645,0x964a,0x9651,0x9653,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x9669,0x966d,0x966f,0x9678,0x967b,0x967e,0x9680,0x9681,0x9683,0x968b,0x968d,0x968f,0x9691,0x9699,0x969b,0x969c,0x969e,0x969e,0x96a1,0x96a5,0x96a7,0x96aa,0x96ac,0x96ac,0x96ae,0x96ae,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b6,0x96b8,0x96b9,0x96bb,0x96bd,0x96bf,0x96ce,0x96d2,0x96df,0x96e1,0x96e3,0x96e5,0x96e5,0x96e8,0x96ea,0x96ef,0x96f2,0x96f4,0x96fb,0x96fd,0x96fd,0x96ff,0x9700,0x9702,0x9709,0x970b,0x970b,0x970d,0x9713,0x9716,0x9716,0x9718,0x9719,0x971b,0x972c,0x972e,0x9732,0x9734,0x9736,0x9738,0x973a,0x973d,0x9744,0x9746,0x974b,0x9751,0x9752,0x9755,0x9758,0x975a,0x9762,0x9766,0x9766,0x9768,0x976a,0x976c,0x976e,0x9770,0x9774,0x9776,0x9778,0x977a,0x9785,0x9787,0x978b,0x978d,0x978f,0x9794,0x9794,0x9797,0x97a6,0x97a8,0x97a8,0x97aa,0x97ae,0x97b1,0x97b4,0x97b6,0x97bb,0x97bd,0x97c9,0x97cb,0x97d0,0x97d2,0x97d9,0x97dc,0x97e1,0x97e3,0x97e3,0x97e5,0x97e6,0x97ed,0x97ee,0x97f0,0x97f3,0x97f5,0x97f6,0x97f8,0x97fb,0x97fd,0x9808,0x980a,0x980a,0x980c,0x9818,0x981b,0x9821,0x9823,0x9824,0x9826,0x9829,0x982b,0x982b,0x982d,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983b,0x9841,0x9841,0x9843,0x9853,0x9856,0x9859,0x985b,0x9860,0x9862,0x986c,0x986f,0x9875,0x98a8,0x98a9,0x98ac,0x98af,0x98b1,0x98b4,0x98b6,0x98c4,0x98c6,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98ed,0x98ef,0x98ef,0x98f1,0x98f2,0x98f4,0x98f6,0x98f9,0x98fa,0x98fc,0x98fe,0x9900,0x9900,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x990e,0x990e,0x9910,0x991c,0x991e,0x991f,0x9921,0x9921,0x9924,0x9925,0x9927,0x9933,0x9935,0x9935,0x9937,0x9943,0x9945,0x9945,0x9947,0x994e,0x9950,0x9959,0x995b,0x995f,0x9961,0x9963,0x9996,0x9999,0x999b,0x999e,0x99a1,0x99a1,0x99a3,0x99a8,0x99aa,0x99b5,0x99b8,0x99bd,0x99c1,0x99c5,0x99c7,0x99c7,0x99c9,0x99c9,0x99cb,0x99dd,0x99df,0x99e7,0x99e9,0x99ea,0x99ec,0x99ee,0x99f0,0x99f1,0x99f4,0x99ff,0x9a01,0x9a07,0x9a09,0x9a11,0x9a14,0x9a16,0x9a19,0x9a27,0x9a29,0x9a32,0x9a34,0x9a46,0x9a48,0x9a4a,0x9a4c,0x9a50,0x9a52,0x9a5c,0x9a5e,0x9a60,0x9a62,0x9a6c,0x9a8f,0x9a8f,0x9aa8,0x9aa8,0x9aab,0x9aab,0x9aad,0x9aad,0x9aaf,0x9ab4,0x9ab6,0x9ac2,0x9ac6,0x9ac7,0x9aca,0x9aca,0x9acd,0x9acd,0x9acf,0x9ad8,0x9adc,0x9adc,0x9adf,0x9ae3,0x9ae6,0x9ae7,0x9aeb,0x9aef,0x9af1,0x9af4,0x9af6,0x9af7,0x9af9,0x9aff,0x9b01,0x9b06,0x9b08,0x9b12,0x9b14,0x9b1a,0x9b1e,0x9b20,0x9b22,0x9b25,0x9b27,0x9b2b,0x9b2d,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3c,0x9b3e,0x9b46,0x9b48,0x9b48,0x9b4a,0x9b52,0x9b54,0x9b56,0x9b58,0x9b5b,0x9b5f,0x9b61,0x9b64,0x9b64,0x9b66,0x9b69,0x9b6c,0x9b6c,0x9b6f,0x9b71,0x9b74,0x9b77,0x9b7a,0x9b83,0x9b85,0x9b88,0x9b8b,0x9b8b,0x9b8d,0x9b93,0x9b95,0x9b95,0x9b97,0x9b97,0x9b9a,0x9b9b,0x9b9d,0x9ba2,0x9ba4,0x9ba6,0x9ba8,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bb0,0x9bb5,0x9bb6,0x9bb8,0x9bb9,0x9bbd,0x9bbd,0x9bbf,0x9bc1,0x9bc3,0x9bc4,0x9bc6,0x9bca,0x9bcf,0x9bcf,0x9bd3,0x9bd7,0x9bd9,0x9bde,0x9be0,0x9be2,0x9be4,0x9bed,0x9bf0,0x9bf1,0x9bf4,0x9bf4,0x9bf7,0x9bf8,0x9bfd,0x9bfd,0x9bff,0x9bff,0x9c02,0x9c02,0x9c05,0x9c0e,0x9c10,0x9c10,0x9c12,0x9c15,0x9c17,0x9c17,0x9c1b,0x9c1d,0x9c1f,0x9c21,0x9c23,0x9c26,0x9c28,0x9c29,0x9c2b,0x9c2d,0x9c2f,0x9c2f,0x9c31,0x9c37,0x9c39,0x9c41,0x9c44,0x9c50,0x9c52,0x9c59,0x9c5d,0x9c60,0x9c62,0x9c63,0x9c66,0x9c68,0x9c6d,0x9c6e,0x9c71,0x9c75,0x9c77,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9cea,0x9ced,0x9ced,0x9cf1,0x9cf7,0x9cf9,0x9cfd,0x9cff,0x9d00,0x9d02,0x9d09,0x9d0c,0x9d0c,0x9d10,0x9d10,0x9d12,0x9d12,0x9d14,0x9d19,0x9d1b,0x9d1b,0x9d1d,0x9d23,0x9d25,0x9d26,0x9d28,0x9d29,0x9d2d,0x9d31,0x9d33,0x9d34,0x9d36,0x9d39,0x9d3b,0x9d3b,0x9d3d,0x9d45,0x9d49,0x9d4c,0x9d4e,0x9d54,0x9d56,0x9d61,0x9d67,0x9d75,0x9d77,0x9d79,0x9d7b,0x9d8c,0x9d90,0x9d90,0x9d92,0x9d94,0x9d96,0x9dad,0x9daf,0x9daf,0x9db1,0x9dc5,0x9dc7,0x9ddf,0x9de1,0x9de6,0x9de8,0x9de9,0x9deb,0x9df0,0x9df2,0x9e07,0x9e09,0x9e15,0x9e17,0x9e1f,0x9e75,0x9e75,0x9e79,0x9e7d,0x9e7f,0x9e8e,0x9e90,0x9ea2,0x9ea4,0x9eb1,0x9eb4,0x9eb7,0x9ebb,0x9ec4,0x9ec6,0x9ec8,0x9ecc,0x9ed1,0x9ed3,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ee0,0x9ee2,0x9ee2,0x9ee4,0x9ee8,0x9eeb,0x9eeb,0x9eed,0x9f02,0x9f06,0x9f0a,0x9f0e,0x9f10,0x9f12,0x9f13,0x9f15,0x9f1c,0x9f1e,0x9f1e,0x9f20,0x9f20,0x9f22,0x9f39,0x9f3b,0x9f3b,0x9f3d,0x9f3e,0x9f40,0x9f50,0x9f52,0x9f67,0x9f69,0x9f6c,0x9f6e,0x9f72,0x9f74,0x9f7b,0x9f7e,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f99,0x9f9c,0x9f9c,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa4,0x9fb3,0x9fc7,0x9fcb,0x9fd0,0x9fd0,0xf900,0xf908,0xf90b,0xf90d,0xf915,0xf915,0xf917,0xf917,0xf91a,0xf91a,0xf922,0xf922,0xf92d,0xf92d,0xf934,0xf934,0xf937,0xf937,0xf93a,0xf93a,0xf943,0xf943,0xf947,0xf948,0xf94a,0xf94a,0xf952,0xf952,0xf95e,0xf95e,0xf962,0xf962,0xf965,0xf965,0xf967,0xf967,0xf96d,0xf96d,0xf972,0xf972,0xf976,0xf976,0xf978,0xf979,0xf97b,0xf97b,0xf97e,0xf97e,0xf980,0xf980,0xf986,0xf986,0xf98a,0xf98a,0xf98e,0xf98e,0xf995,0xf995,0xf99c,0xf99d,0xf99f,0xf99f,0xf9b5,0xf9b5,0xf9bb,0xf9bb,0xf9bd,0xf9be,0xf9c5,0xf9c6,0xf9c8,0xf9c8,0xf9d0,0xf9d0,0xf9d8,0xf9d9,0xf9dc,0xf9de,0xf9e0,0xf9e0,0xf9e2,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0d,0xfa33,0xfa35,0xfa3a,0xfa3a,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20021,0x20021,0x2003e,0x2003e,0x20046,0x20046,0x2004e,0x2004e,0x20068,0x20068,0x20086,0x20087,0x2008a,0x2008a,0x20094,0x20094,0x200ca,0x200cd,0x200d1,0x200d1,0x200ee,0x200ee,0x2010c,0x2010c,0x2010e,0x2010e,0x20118,0x20118,0x201a4,0x201a4,0x201a9,0x201a9,0x201ab,0x201ab,0x201c1,0x201c1,0x201d4,0x201d4,0x201f2,0x201f2,0x20204,0x20204,0x2020c,0x2020c,0x20214,0x20214,0x20239,0x20239,0x2025b,0x2025b,0x20274,0x20275,0x20299,0x20299,0x2029e,0x2029e,0x202a0,0x202a0,0x202b7,0x202b7,0x202bf,0x202c0,0x202e5,0x202e5,0x2030a,0x2030a,0x20325,0x20325,0x20341,0x20341,0x20345,0x20347,0x2037e,0x20380,0x203a0,0x203a0,0x203a7,0x203a7,0x203b5,0x203b5,0x203c9,0x203c9,0x203cb,0x203cb,0x203f5,0x203f5,0x203fc,0x203fc,0x20413,0x20414,0x2041f,0x2041f,0x20465,0x20465,0x20487,0x20487,0x2048e,0x2048e,0x20491,0x20492,0x204a3,0x204a3,0x204d7,0x204d7,0x204fc,0x204fc,0x204fe,0x204fe,0x20547,0x20547,0x2058e,0x2058e,0x205a5,0x205a5,0x205b3,0x205b3,0x205c3,0x205c3,0x205ca,0x205ca,0x205d0,0x205d0,0x205d5,0x205d5,0x205df,0x205e0,0x205eb,0x205eb,0x20611,0x20611,0x20615,0x20615,0x20619,0x2061a,0x20628,0x20628,0x20630,0x20630,0x20656,0x20656,0x20676,0x20676,0x2070e,0x2070e,0x20731,0x20731,0x20779,0x20779,0x2082c,0x2082c,0x20873,0x20873,0x208d5,0x208d5,0x20916,0x20916,0x20923,0x20923,0x20954,0x20954,0x20979,0x20979,0x209e7,0x209e7,0x20a11,0x20a11,0x20a50,0x20a50,0x20a6f,0x20a6f,0x20a8a,0x20a8a,0x20ab4,0x20ab4,0x20ac2,0x20ac2,0x20acd,0x20acd,0x20b0d,0x20b0d,0x20b8f,0x20b8f,0x20b9f,0x20b9f,0x20ba8,0x20ba9,0x20bbf,0x20bbf,0x20bc6,0x20bc6,0x20bcb,0x20bcb,0x20be2,0x20be2,0x20beb,0x20beb,0x20bfb,0x20bfb,0x20bff,0x20bff,0x20c0b,0x20c0b,0x20c0d,0x20c0d,0x20c20,0x20c20,0x20c34,0x20c34,0x20c3a,0x20c3b,0x20c41,0x20c43,0x20c53,0x20c53,0x20c65,0x20c65,0x20c77,0x20c78,0x20c7c,0x20c7c,0x20c8d,0x20c8d,0x20c96,0x20c96,0x20c9c,0x20c9c,0x20cb5,0x20cb5,0x20cb8,0x20cb8,0x20ccf,0x20ccf,0x20cd3,0x20cd6,0x20cdd,0x20cdd,0x20ced,0x20ced,0x20cff,0x20cff,0x20d15,0x20d15,0x20d28,0x20d28,0x20d31,0x20d32,0x20d46,0x20d49,0x20d4c,0x20d4e,0x20d6f,0x20d6f,0x20d71,0x20d71,0x20d74,0x20d74,0x20d7c,0x20d7c,0x20d7e,0x20d7f,0x20d96,0x20d96,0x20d9c,0x20d9c,0x20da7,0x20da7,0x20db2,0x20db2,0x20dc8,0x20dc8,0x20e04,0x20e04,0x20e09,0x20e0a,0x20e0d,0x20e11,0x20e16,0x20e16,0x20e1d,0x20e1d,0x20e4c,0x20e4c,0x20e6d,0x20e6d,0x20e73,0x20e73,0x20e75,0x20e7b,0x20e8c,0x20e8c,0x20e96,0x20e96,0x20e98,0x20e98,0x20e9d,0x20e9d,0x20ea2,0x20ea2,0x20eaa,0x20eac,0x20eb6,0x20eb6,0x20ed7,0x20ed8,0x20edd,0x20edd,0x20ef8,0x20efb,0x20f1d,0x20f1d,0x20f26,0x20f26,0x20f2d,0x20f2e,0x20f30,0x20f31,0x20f3b,0x20f3b,0x20f4c,0x20f4c,0x20f64,0x20f64,0x20f8d,0x20f8d,0x20f90,0x20f90,0x20fad,0x20fad,0x20fb4,0x20fb6,0x20fbc,0x20fbc,0x20fdf,0x20fdf,0x20fea,0x20fed,0x21014,0x21014,0x2101d,0x2101e,0x2104f,0x2104f,0x2105c,0x2105c,0x2106f,0x2106f,0x21075,0x21078,0x2107b,0x2107b,0x21088,0x21088,0x21096,0x21096,0x2109d,0x2109d,0x210b4,0x210b4,0x210bf,0x210c1,0x210c7,0x210c9,0x210cf,0x210cf,0x210d3,0x210d3,0x210e4,0x210e4,0x210f4,0x210f6,0x2112f,0x2112f,0x2113b,0x2113b,0x2113d,0x2113d,0x21145,0x21145,0x21148,0x21148,0x2114f,0x2114f,0x21180,0x21180,0x21187,0x21187,0x211d9,0x211d9,0x2123c,0x2123c,0x2124f,0x2124f,0x2127c,0x2127c,0x212a8,0x212a9,0x212b0,0x212b0,0x212e3,0x212e3,0x212fe,0x212fe,0x21302,0x21305,0x21336,0x21336,0x2133a,0x2133a,0x21375,0x21376,0x2138e,0x2138e,0x21398,0x21398,0x2139c,0x2139c,0x213c5,0x213c6,0x213ed,0x213ed,0x213fe,0x213fe,0x21413,0x21413,0x21416,0x21416,0x21424,0x21424,0x2143f,0x2143f,0x21452,0x21452,0x21454,0x21455,0x2148a,0x2148a,0x21497,0x21497,0x214b6,0x214b6,0x214e8,0x214e8,0x214fd,0x214fd,0x21577,0x21577,0x21582,0x21582,0x21596,0x21596,0x2160a,0x2160a,0x21613,0x21613,0x21619,0x21619,0x2163e,0x2163e,0x21661,0x21661,0x21692,0x21692,0x216b8,0x216b8,0x216ba,0x216ba,0x216c0,0x216c2,0x216d3,0x216d3,0x216d5,0x216d5,0x216df,0x216df,0x216e6,0x216e8,0x216fa,0x216fc,0x216fe,0x216fe,0x2170d,0x2170d,0x21710,0x21710,0x21726,0x21726,0x2173a,0x2173c,0x21757,0x21757,0x2176c,0x21771,0x21773,0x21774,0x217ab,0x217ab,0x217b0,0x217b5,0x217c3,0x217c3,0x217c7,0x217c7,0x217d9,0x217dc,0x217df,0x217df,0x217ef,0x217ef,0x217f5,0x217f6,0x217f8,0x217fc,0x21820,0x21820,0x21828,0x2182a,0x2182d,0x2182d,0x21839,0x2183b,0x21840,0x21840,0x21845,0x21845,0x21852,0x21852,0x2185e,0x2185e,0x21861,0x21864,0x21877,0x21877,0x2187b,0x2187b,0x21883,0x21885,0x2189e,0x218a2,0x218be,0x218bf,0x218d1,0x218d1,0x218d6,0x218d9,0x218fa,0x218fa,0x21903,0x21905,0x21910,0x21912,0x21915,0x21915,0x2191c,0x2191c,0x21922,0x21922,0x21927,0x21927,0x2193b,0x2193b,0x21944,0x21944,0x21958,0x21958,0x2196a,0x2196a,0x2197c,0x2197c,0x21980,0x21980,0x21983,0x21983,0x21988,0x21988,0x21996,0x21996,0x219db,0x219db,0x219f3,0x219f3,0x21a2d,0x21a2d,0x21a34,0x21a34,0x21a45,0x21a45,0x21a4b,0x21a4b,0x21a63,0x21a63,0x21b44,0x21b44,0x21bc1,0x21bc2,0x21c2a,0x21c2a,0x21c70,0x21c70,0x21ca2,0x21ca2,0x21ca5,0x21ca5,0x21cac,0x21cac,0x21d46,0x21d46,0x21d53,0x21d53,0x21d5e,0x21d5e,0x21d90,0x21d90,0x21db6,0x21db6,0x21dba,0x21dba,0x21dca,0x21dca,0x21dd1,0x21dd1,0x21deb,0x21deb,0x21df9,0x21df9,0x21e1c,0x21e1c,0x21e23,0x21e23,0x21e37,0x21e37,0x21e3d,0x21e3d,0x21e89,0x21e89,0x21ea4,0x21ea4,0x21ea8,0x21ea8,0x21ec8,0x21ec8,0x21ed5,0x21ed5,0x21f0f,0x21f0f,0x21f15,0x21f15,0x21f6a,0x21f6a,0x21f9e,0x21f9e,0x21fa1,0x21fa1,0x21fe8,0x21fe8,0x22045,0x22045,0x22049,0x22049,0x2207e,0x2207e,0x2209a,0x2209a,0x220c7,0x220c7,0x220fc,0x220fc,0x2212a,0x2212a,0x2215b,0x2215b,0x22173,0x22173,0x2217a,0x2217a,0x221a1,0x221a1,0x221c1,0x221c1,0x221c3,0x221c3,0x22208,0x22208,0x2227c,0x2227c,0x22321,0x22321,0x22325,0x22325,0x223bd,0x223bd,0x223d0,0x223d0,0x223d7,0x223d7,0x223fa,0x223fa,0x22465,0x22465,0x22471,0x22471,0x2248b,0x2248b,0x22491,0x22491,0x224b0,0x224b0,0x224bc,0x224bc,0x224c1,0x224c1,0x224c9,0x224c9,0x224cc,0x224cc,0x224ed,0x224ed,0x22513,0x22513,0x2251b,0x2251b,0x22530,0x22530,0x22554,0x22554,0x2258d,0x2258d,0x225af,0x225af,0x225be,0x225be,0x2261b,0x2261c,0x2262b,0x2262b,0x22668,0x22668,0x2267a,0x2267a,0x22696,0x22696,0x22698,0x22698,0x226f4,0x226f6,0x22712,0x22712,0x22714,0x22714,0x2271b,0x2271b,0x2271f,0x2271f,0x2272a,0x2272a,0x22775,0x22775,0x22781,0x22781,0x22796,0x22796,0x227b4,0x227b5,0x227cd,0x227cd,0x22803,0x22803,0x2285f,0x22860,0x22871,0x22871,0x228ad,0x228ad,0x228c1,0x228c1,0x228f7,0x228f7,0x22926,0x22926,0x22939,0x22939,0x2294f,0x2294f,0x22967,0x22967,0x2296b,0x2296b,0x22980,0x22980,0x22993,0x22993,0x22a66,0x22a66,0x22acf,0x22acf,0x22ad5,0x22ad5,0x22ae6,0x22ae6,0x22ae8,0x22ae8,0x22b0e,0x22b0e,0x22b22,0x22b22,0x22b3f,0x22b3f,0x22b43,0x22b43,0x22b6a,0x22b6a,0x22bca,0x22bca,0x22bce,0x22bce,0x22c26,0x22c27,0x22c38,0x22c38,0x22c4c,0x22c4c,0x22c51,0x22c51,0x22c55,0x22c55,0x22c62,0x22c62,0x22c88,0x22c88,0x22c9b,0x22c9b,0x22ca1,0x22ca1,0x22ca9,0x22ca9,0x22cb2,0x22cb2,0x22cb7,0x22cb7,0x22cc2,0x22cc2,0x22cc6,0x22cc6,0x22cc9,0x22cc9,0x22d07,0x22d08,0x22d12,0x22d12,0x22d44,0x22d44,0x22d4c,0x22d4c,0x22d67,0x22d67,0x22d8d,0x22d8d,0x22d95,0x22d95,0x22da0,0x22da0,0x22da3,0x22da4,0x22db7,0x22db7,0x22dee,0x22dee,0x22e0d,0x22e0d,0x22e36,0x22e36,0x22e42,0x22e42,0x22e78,0x22e78,0x22e8b,0x22e8b,0x22eb3,0x22eb3,0x22eef,0x22eef,0x22f74,0x22f74,0x22fcc,0x22fcc,0x22fe3,0x22fe3,0x23033,0x23033,0x23044,0x23044,0x2304b,0x2304b,0x23066,0x23066,0x2307d,0x2307e,0x2308e,0x2308e,0x230b7,0x230b7,0x230bc,0x230bc,0x230da,0x230da,0x23103,0x23103,0x2313d,0x2313d,0x2317d,0x2317d,0x23182,0x23182,0x231a4,0x231a5,0x231b3,0x231b3,0x231c8,0x231c9,0x231ea,0x231ea,0x231f7,0x231f9,0x2320f,0x2320f,0x23225,0x23225,0x2322f,0x2322f,0x23231,0x23234,0x23256,0x23256,0x2325e,0x2325e,0x23262,0x23262,0x23281,0x23281,0x23289,0x2328a,0x232ab,0x232ad,0x232d2,0x232d2,0x232e0,0x232e1,0x23300,0x23300,0x2330a,0x2330a,0x2331f,0x2331f,0x233b4,0x233b4,0x233cc,0x233cc,0x233de,0x233de,0x233e6,0x233e6,0x233f4,0x233f5,0x233f9,0x233fa,0x233fe,0x233fe,0x23400,0x23400,0x2343f,0x2343f,0x23450,0x23450,0x2346f,0x2346f,0x23472,0x23472,0x234e5,0x234e5,0x23519,0x23519,0x23530,0x23530,0x23551,0x23551,0x2355a,0x2355a,0x23567,0x23567,0x23595,0x23595,0x23599,0x23599,0x2359c,0x2359c,0x235bb,0x235bb,0x235cd,0x235cf,0x235f3,0x235f3,0x23600,0x23600,0x23617,0x23617,0x2361a,0x2361a,0x2363c,0x2363c,0x23640,0x23640,0x23659,0x23659,0x2365f,0x2365f,0x23677,0x23677,0x2368e,0x2368e,0x2369e,0x2369e,0x236a6,0x236a6,0x236ad,0x236ad,0x236ba,0x236ba,0x236df,0x236df,0x236ee,0x236ee,0x23703,0x23703,0x23716,0x23716,0x23720,0x23720,0x2372d,0x2372d,0x2372f,0x2372f,0x2373f,0x2373f,0x23766,0x23766,0x23781,0x23781,0x237a2,0x237a2,0x237bc,0x237bc,0x237c2,0x237c2,0x237d5,0x237d7,0x2383a,0x2383a,0x239c2,0x239c2,0x23aa7,0x23aa7,0x23adb,0x23adb,0x23aee,0x23aee,0x23afa,0x23afa,0x23b1a,0x23b1a,0x23b5a,0x23b5a,0x23c63,0x23c63,0x23c99,0x23c9b,0x23cb5,0x23cb5,0x23cb7,0x23cb7,0x23cc7,0x23cc9,0x23cfc,0x23cff,0x23d40,0x23d40,0x23d5b,0x23d5b,0x23d7e,0x23d7e,0x23d8f,0x23d8f,0x23db6,0x23dbd,0x23de3,0x23de3,0x23df8,0x23df8,0x23e06,0x23e06,0x23e11,0x23e11,0x23e2c,0x23e31,0x23e39,0x23e39,0x23e88,0x23e8b,0x23eb9,0x23eb9,0x23ebf,0x23ebf,0x23ed7,0x23ed7,0x23ef7,0x23efc,0x23f35,0x23f35,0x23f41,0x23f41,0x23f4a,0x23f4a,0x23f61,0x23f61,0x23f7f,0x23f82,0x23f8f,0x23f8f,0x23fb4,0x23fb4,0x23fb7,0x23fb7,0x23fc0,0x23fc0,0x23fc5,0x23fc5,0x23feb,0x23ff0,0x24011,0x24011,0x24039,0x2403d,0x24057,0x24057,0x24085,0x24085,0x2408b,0x2408d,0x24091,0x24091,0x240c9,0x240c9,0x240e1,0x240e1,0x240ec,0x240ec,0x24104,0x24104,0x2410f,0x2410f,0x24119,0x24119,0x2413f,0x24140,0x24144,0x24144,0x2414e,0x2414e,0x24155,0x24157,0x2415c,0x2415c,0x2415f,0x2415f,0x24161,0x24161,0x24177,0x24177,0x2417a,0x2417a,0x241a3,0x241a5,0x241ac,0x241ac,0x241b5,0x241b5,0x241cd,0x241cd,0x241e2,0x241e2,0x241fc,0x241fc,0x2421b,0x2421b,0x2424b,0x2424b,0x24256,0x24256,0x24259,0x24259,0x24276,0x24278,0x24284,0x24284,0x24293,0x24293,0x24295,0x24295,0x242a5,0x242a5,0x242bf,0x242bf,0x242c1,0x242c1,0x242c9,0x242ca,0x242ee,0x242ee,0x242fa,0x242fa,0x2430d,0x2430d,0x2431a,0x2431a,0x24334,0x24334,0x24348,0x24348,0x24362,0x24365,0x2438c,0x2438c,0x24396,0x24396,0x2439c,0x2439c,0x243bd,0x243bd,0x243c1,0x243c1,0x243e9,0x243ea,0x243f2,0x243f2,0x243f8,0x243f8,0x24404,0x24404,0x24435,0x24436,0x2445a,0x2445b,0x24473,0x24473,0x24487,0x24488,0x244b9,0x244b9,0x244bc,0x244bc,0x244ce,0x244ce,0x244d3,0x244d3,0x244d6,0x244d6,0x24505,0x24505,0x24521,0x24521,0x24578,0x24578,0x245c8,0x245c8,0x24618,0x24618,0x2462a,0x2462a,0x24665,0x24665,0x24674,0x24674,0x24697,0x24697,0x246d4,0x246d4,0x24706,0x24706,0x24725,0x24725,0x2472f,0x2472f,0x2478f,0x2478f,0x247e0,0x247e0,0x24812,0x24812,0x24823,0x24823,0x24882,0x24882,0x248e9,0x248e9,0x248f0,0x248f3,0x248fb,0x248fb,0x248ff,0x24901,0x2490c,0x2490c,0x24916,0x24917,0x24919,0x24919,0x2492f,0x2492f,0x24933,0x24934,0x2493e,0x24943,0x24962,0x24963,0x24974,0x24976,0x2497b,0x2497b,0x2497f,0x2497f,0x24982,0x24982,0x24988,0x2498f,0x24994,0x24994,0x249a4,0x249a4,0x249a7,0x249a7,0x249a9,0x249a9,0x249ab,0x249ad,0x249b7,0x249bb,0x249c5,0x249c5,0x249d0,0x249d0,0x249da,0x249da,0x249de,0x249df,0x249e3,0x249e3,0x249e5,0x249e5,0x249ec,0x249ed,0x249f6,0x249f9,0x249fb,0x249fb,0x24a0e,0x24a0e,0x24a12,0x24a13,0x24a15,0x24a15,0x24a21,0x24a2a,0x24a3e,0x24a3e,0x24a42,0x24a42,0x24a45,0x24a45,0x24a4a,0x24a4a,0x24a4e,0x24a51,0x24a5d,0x24a5d,0x24a65,0x24a67,0x24a71,0x24a71,0x24a77,0x24a7a,0x24a8c,0x24a8c,0x24a93,0x24a96,0x24aa4,0x24aa7,0x24ab1,0x24ab3,0x24aba,0x24abc,0x24ac0,0x24ac0,0x24ac7,0x24ac7,0x24aca,0x24aca,0x24ad1,0x24ad1,0x24adf,0x24adf,0x24ae2,0x24ae2,0x24ae9,0x24ae9,0x24b0f,0x24b0f,0x24b6e,0x24b6e,0x24bf5,0x24bf5,0x24c09,0x24c09,0x24c9e,0x24c9f,0x24cc9,0x24cc9,0x24cd9,0x24cd9,0x24d06,0x24d06,0x24d13,0x24d13,0x24db8,0x24db8,0x24dea,0x24deb,0x24e3b,0x24e3b,0x24e50,0x24e50,0x24ea5,0x24ea5,0x24ea7,0x24ea7,0x24f0e,0x24f0e,0x24f5c,0x24f5c,0x24f82,0x24f82,0x24f86,0x24f86,0x24f97,0x24f97,0x24f9a,0x24f9a,0x24fa9,0x24fa9,0x24fb8,0x24fb8,0x24fc2,0x24fc2,0x2502c,0x2502c,0x25052,0x25052,0x2509d,0x2509d,0x2512b,0x2512b,0x25148,0x25148,0x2517d,0x2517e,0x251cd,0x251cd,0x251e3,0x251e3,0x251e6,0x251e7,0x25220,0x25221,0x25250,0x25250,0x25299,0x25299,0x252c7,0x252c7,0x252d8,0x252d8,0x2530e,0x2530e,0x25311,0x25311,0x25313,0x25313,0x25419,0x25419,0x25425,0x25425,0x2542f,0x25430,0x25446,0x25446,0x2546c,0x2546c,0x2546e,0x2546e,0x2549a,0x2549a,0x25531,0x25531,0x25535,0x25535,0x2553f,0x2553f,0x2555b,0x2555e,0x25562,0x25562,0x25565,0x25566,0x25581,0x25581,0x25584,0x25584,0x2558f,0x2558f,0x255b9,0x255b9,0x255d5,0x255d5,0x255db,0x255db,0x255e0,0x255e0,0x25605,0x25605,0x25635,0x25635,0x25651,0x25651,0x25683,0x25683,0x25695,0x25695,0x256e3,0x256e3,0x256f6,0x256f6,0x25706,0x25706,0x2571d,0x2571d,0x25725,0x25725,0x2573d,0x2573d,0x25772,0x25772,0x257c7,0x257c7,0x257df,0x257e1,0x25857,0x25857,0x2585d,0x2585d,0x25872,0x25872,0x258c8,0x258c8,0x258de,0x258de,0x258e1,0x258e1,0x25903,0x25903,0x25946,0x25946,0x25956,0x25956,0x259ac,0x259ac,0x259cc,0x259cc,0x25a54,0x25a54,0x25a95,0x25a95,0x25a9c,0x25a9c,0x25aae,0x25aaf,0x25ad7,0x25ad7,0x25ae9,0x25ae9,0x25b74,0x25b74,0x25b89,0x25b89,0x25bb3,0x25bb4,0x25bc6,0x25bc6,0x25be4,0x25be4,0x25be8,0x25be8,0x25c01,0x25c01,0x25c06,0x25c06,0x25c21,0x25c21,0x25c4a,0x25c4a,0x25c65,0x25c65,0x25c91,0x25c91,0x25ca4,0x25ca4,0x25cc0,0x25cc1,0x25cfe,0x25cfe,0x25d20,0x25d20,0x25d30,0x25d30,0x25d43,0x25d43,0x25d99,0x25d99,0x25db9,0x25db9,0x25e0e,0x25e0e,0x25e49,0x25e49,0x25e81,0x25e83,0x25ea6,0x25ea6,0x25ebc,0x25ebc,0x25ed7,0x25ed8,0x25f1a,0x25f1a,0x25f4b,0x25f4b,0x25fe1,0x25fe2,0x26021,0x26021,0x26029,0x26029,0x26048,0x26048,0x26064,0x26064,0x26083,0x26083,0x26097,0x26097,0x260a4,0x260a5,0x26102,0x26102,0x26121,0x26121,0x26159,0x2615c,0x261ad,0x261ae,0x261b2,0x261b2,0x261dd,0x261dd,0x26258,0x26258,0x26261,0x26261,0x2626a,0x2626b,0x262d0,0x262d0,0x26335,0x26335,0x2634b,0x2634c,0x26351,0x26351,0x263be,0x263be,0x263f5,0x263f5,0x263f8,0x263f8,0x26402,0x26402,0x26410,0x26412,0x2644a,0x2644a,0x26469,0x26469,0x26484,0x26484,0x26488,0x26489,0x2648d,0x2648d,0x26498,0x26498,0x26512,0x26512,0x26572,0x26572,0x265a0,0x265a0,0x265ad,0x265ad,0x265bf,0x265bf,0x26612,0x26612,0x26626,0x26626,0x266af,0x266af,0x266b1,0x266b1,0x266b5,0x266b5,0x266da,0x266da,0x266e8,0x266e8,0x266fc,0x266fc,0x26716,0x26716,0x26741,0x26741,0x26799,0x26799,0x267b3,0x267b4,0x267cc,0x267cc,0x2681c,0x2681c,0x26846,0x26846,0x2685e,0x2685e,0x2686e,0x2686e,0x26888,0x26888,0x2688a,0x2688a,0x26893,0x26893,0x268c7,0x268c7,0x2690e,0x2690e,0x26911,0x26911,0x26926,0x26926,0x26939,0x26939,0x26951,0x26951,0x269a8,0x269a8,0x269b5,0x269b5,0x269f2,0x269f2,0x269fa,0x269fa,0x26a2d,0x26a2e,0x26a34,0x26a34,0x26a42,0x26a42,0x26a51,0x26a52,0x26b05,0x26b05,0x26b0a,0x26b0a,0x26b13,0x26b13,0x26b15,0x26b15,0x26b23,0x26b23,0x26b28,0x26b28,0x26b50,0x26b53,0x26b5b,0x26b5b,0x26b75,0x26b75,0x26b82,0x26b82,0x26b96,0x26b97,0x26b9d,0x26b9d,0x26bb3,0x26bb3,0x26bc0,0x26bc0,0x26bf7,0x26bf7,0x26c21,0x26c21,0x26c40,0x26c41,0x26c46,0x26c46,0x26c7e,0x26c82,0x26ca4,0x26ca4,0x26cb7,0x26cb8,0x26cbd,0x26cbd,0x26cc0,0x26cc0,0x26cc3,0x26cc3,0x26cd1,0x26cd1,0x26d22,0x26d2a,0x26d51,0x26d51,0x26d74,0x26d74,0x26da0,0x26da7,0x26dae,0x26dae,0x26ddc,0x26ddc,0x26dea,0x26deb,0x26df0,0x26df0,0x26e00,0x26e00,0x26e05,0x26e05,0x26e07,0x26e07,0x26e12,0x26e12,0x26e42,0x26e45,0x26e6e,0x26e6e,0x26e72,0x26e72,0x26e77,0x26e77,0x26e84,0x26e84,0x26e88,0x26e88,0x26e8b,0x26e8b,0x26e99,0x26e99,0x26ed0,0x26ed7,0x26f26,0x26f26,0x26f73,0x26f74,0x26f9f,0x26f9f,0x26fa1,0x26fa1,0x26fbe,0x26fbe,0x26fde,0x26fdf,0x2700e,0x2700e,0x2704b,0x2704b,0x27052,0x27053,0x27088,0x27088,0x270ad,0x270af,0x270cd,0x270cd,0x270d2,0x270d2,0x270f0,0x270f0,0x270f8,0x270f8,0x27109,0x27109,0x2710c,0x2710d,0x27126,0x27127,0x27164,0x27165,0x27175,0x27175,0x271cd,0x271cd,0x2721b,0x2721b,0x27267,0x27267,0x27280,0x27280,0x27285,0x27285,0x2728b,0x2728b,0x272b2,0x272b2,0x272b6,0x272b6,0x272e6,0x272e6,0x27352,0x27352,0x2739a,0x2739a,0x273ff,0x273ff,0x27422,0x27422,0x27450,0x27450,0x27484,0x27484,0x27486,0x27486,0x27574,0x27574,0x275a3,0x275a3,0x275e0,0x275e0,0x275e4,0x275e4,0x275fd,0x275fe,0x27607,0x27607,0x2760c,0x2760c,0x27632,0x27632,0x27639,0x27639,0x27655,0x27657,0x27694,0x27694,0x2770f,0x2770f,0x27735,0x27736,0x27741,0x27741,0x2775e,0x2775e,0x27784,0x27785,0x277cc,0x277cc,0x27858,0x27858,0x27870,0x27870,0x2789d,0x2789d,0x278b2,0x278b2,0x278c8,0x278c8,0x27924,0x27924,0x27967,0x27967,0x2797a,0x2797a,0x279a0,0x279a0,0x279dd,0x279dd,0x279fd,0x279fd,0x27a0a,0x27a0a,0x27a0e,0x27a0e,0x27a3e,0x27a3e,0x27a53,0x27a53,0x27a59,0x27a59,0x27a79,0x27a79,0x27a84,0x27a84,0x27abd,0x27abe,0x27af4,0x27af4,0x27b06,0x27b06,0x27b0b,0x27b0b,0x27b18,0x27b18,0x27b38,0x27b3a,0x27b48,0x27b48,0x27b65,0x27b65,0x27bef,0x27bef,0x27bf4,0x27bf4,0x27c12,0x27c12,0x27c6c,0x27c6c,0x27cb1,0x27cb1,0x27cc5,0x27cc5,0x27d2f,0x27d2f,0x27d53,0x27d54,0x27d66,0x27d66,0x27d73,0x27d73,0x27d84,0x27d84,0x27d8f,0x27d8f,0x27d98,0x27d98,0x27dbd,0x27dbd,0x27ddc,0x27ddc,0x27e4d,0x27e4d,0x27e4f,0x27e4f,0x27f2e,0x27f2e,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28002,0x28002,0x28009,0x28009,0x2801e,0x2801e,0x28023,0x28024,0x28048,0x28048,0x28083,0x28083,0x28090,0x28090,0x280bd,0x280be,0x280e8,0x280e9,0x280f4,0x280f4,0x2812e,0x2812e,0x2814f,0x2814f,0x2815d,0x2815d,0x2816f,0x2816f,0x28189,0x28189,0x281af,0x281af,0x281bc,0x281bc,0x28207,0x28207,0x28218,0x28218,0x2821a,0x2821a,0x28256,0x28256,0x2827c,0x2827c,0x2829b,0x2829b,0x282cd,0x282cd,0x282e2,0x282e2,0x28306,0x28306,0x28318,0x28318,0x2832f,0x2832f,0x2833a,0x2833a,0x28365,0x28365,0x2836d,0x2836d,0x2837d,0x2837d,0x2838a,0x2838a,0x28412,0x28412,0x28468,0x28468,0x2846c,0x2846c,0x28473,0x28473,0x28482,0x28482,0x28501,0x28501,0x2853c,0x2853d,0x2856c,0x2856c,0x285e8,0x285e8,0x285f4,0x285f4,0x28600,0x28600,0x2860b,0x2860b,0x28625,0x28625,0x2863b,0x2863b,0x286aa,0x286ab,0x286b2,0x286b2,0x286bc,0x286bc,0x286d8,0x286d8,0x286e6,0x286e6,0x2870f,0x2870f,0x28713,0x28713,0x28804,0x28804,0x2882b,0x2882b,0x2890d,0x2890d,0x28933,0x28933,0x28948,0x28949,0x28956,0x28956,0x28964,0x28964,0x28968,0x28968,0x2896c,0x2896d,0x2897e,0x2897e,0x28989,0x28989,0x289a8,0x289a8,0x289aa,0x289ab,0x289b8,0x289b8,0x289bc,0x289bc,0x289c0,0x289c0,0x289dc,0x289dc,0x289de,0x289de,0x289e1,0x289e1,0x289e3,0x289e4,0x289e7,0x289e8,0x289f9,0x289fc,0x28a0f,0x28a0f,0x28a16,0x28a16,0x28a25,0x28a25,0x28a29,0x28a29,0x28a32,0x28a32,0x28a36,0x28a36,0x28a44,0x28a4b,0x28a59,0x28a5a,0x28a81,0x28a83,0x28a9a,0x28a9c,0x28ac0,0x28ac0,0x28ac6,0x28ac6,0x28acb,0x28acc,0x28ace,0x28ace,0x28ade,0x28ae3,0x28ae5,0x28ae5,0x28aea,0x28aea,0x28afc,0x28afc,0x28b0c,0x28b0c,0x28b13,0x28b13,0x28b21,0x28b22,0x28b2b,0x28b2d,0x28b2f,0x28b2f,0x28b46,0x28b46,0x28b4c,0x28b4c,0x28b4e,0x28b4e,0x28b50,0x28b50,0x28b63,0x28b66,0x28b6c,0x28b6c,0x28b8f,0x28b8f,0x28b99,0x28b99,0x28b9c,0x28b9d,0x28bb9,0x28bb9,0x28bc2,0x28bc2,0x28bc5,0x28bc5,0x28bd4,0x28bd4,0x28bd7,0x28bd7,0x28bd9,0x28bda,0x28be7,0x28bec,0x28bf5,0x28bf5,0x28bff,0x28bff,0x28c03,0x28c03,0x28c09,0x28c09,0x28c1c,0x28c1d,0x28c23,0x28c23,0x28c26,0x28c26,0x28c2b,0x28c2b,0x28c30,0x28c30,0x28c39,0x28c39,0x28c3b,0x28c3b,0x28cca,0x28cca,0x28ccd,0x28ccd,0x28cd2,0x28cd2,0x28d34,0x28d34,0x28d99,0x28d99,0x28db9,0x28db9,0x28e0f,0x28e0f,0x28e36,0x28e36,0x28e39,0x28e39,0x28e65,0x28e66,0x28e97,0x28e97,0x28eac,0x28eac,0x28eb2,0x28eb3,0x28ed9,0x28ed9,0x28ee7,0x28ee7,0x28fc5,0x28fc5,0x29079,0x29079,0x29088,0x29088,0x2908b,0x2908b,0x29093,0x29093,0x290af,0x290b1,0x290c0,0x290c0,0x290e4,0x290e5,0x290ec,0x290ed,0x2910d,0x2910d,0x29110,0x29110,0x2913c,0x2913c,0x2914d,0x2914d,0x2915b,0x2915b,0x2915e,0x2915e,0x29170,0x29170,0x2919c,0x2919c,0x291a8,0x291a8,0x291d5,0x291d5,0x291eb,0x291eb,0x2941d,0x2941d,0x29420,0x29420,0x29433,0x29433,0x2943f,0x2943f,0x29448,0x29448,0x294d0,0x294d0,0x294d9,0x294da,0x294e5,0x294e5,0x294e7,0x294e7,0x2959e,0x2959e,0x295b0,0x295b0,0x295b8,0x295b8,0x295d7,0x295d7,0x295e9,0x295e9,0x295f4,0x295f4,0x2967f,0x2967f,0x29720,0x29720,0x29732,0x29732,0x297d4,0x297d4,0x29810,0x29810,0x29857,0x29857,0x298a4,0x298a4,0x298d1,0x298d1,0x298ea,0x298ea,0x298f1,0x298f1,0x298fa,0x298fa,0x29903,0x29903,0x29905,0x29905,0x2992f,0x2992f,0x29945,0x29945,0x29947,0x29949,0x2995d,0x2995d,0x2996a,0x2996a,0x2999d,0x2999d,0x299c3,0x299c3,0x299c9,0x299c9,0x29a28,0x29a28,0x29a4d,0x29a4d,0x29b05,0x29b05,0x29b0e,0x29b0e,0x29bd5,0x29bd5,0x29c73,0x29c73,0x29cad,0x29cad,0x29d3e,0x29d3e,0x29d5a,0x29d5a,0x29d7c,0x29d7c,0x29d98,0x29d98,0x29d9b,0x29d9b,0x29df6,0x29df6,0x29e06,0x29e06,0x29e2d,0x29e2d,0x29e68,0x29e68,0x29eac,0x29eac,0x29eb0,0x29eb0,0x29ec3,0x29ec3,0x29ef8,0x29ef8,0x29f23,0x29f23,0x29f30,0x29f30,0x29fb7,0x29fb7,0x29fde,0x29fde,0x2a014,0x2a014,0x2a087,0x2a087,0x2a0b9,0x2a0b9,0x2a0e1,0x2a0e1,0x2a0ed,0x2a0ed,0x2a0f3,0x2a0f3,0x2a0f8,0x2a0f8,0x2a0fe,0x2a0fe,0x2a107,0x2a107,0x2a123,0x2a123,0x2a133,0x2a134,0x2a150,0x2a150,0x2a192,0x2a193,0x2a1ab,0x2a1ab,0x2a1b4,0x2a1b5,0x2a1df,0x2a1df,0x2a1f5,0x2a1f5,0x2a220,0x2a220,0x2a233,0x2a233,0x2a293,0x2a293,0x2a29f,0x2a29f,0x2a2b2,0x2a2b2,0x2a2b4,0x2a2b4,0x2a2b6,0x2a2b6,0x2a2ba,0x2a2ba,0x2a2bd,0x2a2bd,0x2a2df,0x2a2df,0x2a2ff,0x2a2ff,0x2a351,0x2a351,0x2a3a9,0x2a3a9,0x2a3ed,0x2a3ed,0x2a434,0x2a434,0x2a45b,0x2a45b,0x2a5c6,0x2a5c6,0x2a5cb,0x2a5cb,0x2a601,0x2a601,0x2a632,0x2a632,0x2a64a,0x2a64a,0x2a65b,0x2a65b,0x2a6a9,0x2a6a9,0x2adff,0x2adff,0x2d544,0x2d544,0x2f825,0x2f825,0x2f83b,0x2f83b,0x2f840,0x2f840,0x2f878,0x2f878,0x2f894,0x2f894,0x2f8a6,0x2f8a6,0x2f8cd,0x2f8cd,0x2f8db,0x2f8db,0x2f994,0x2f994,0x2f9b2,0x2f9b2,0x2f9bc,0x2f9bc,0x2f9d4,0x2f9d4,0x30ede,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatList('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [0x20,0x20,0xa0,0xa0,0x1720,0x1736,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200c,0x108e0,0x108f2,0x108f4,0x108f5,0x108fb,0x108ff,]), + NotoFont.fromFlatList('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v38/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x34f,0x34f,0x591,0x5c7,0x5d0,0x5ea,0x5f0,0x5f4,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200c,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20aa,0x20aa,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xfb1d,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfb4f,]), + NotoFont.fromFlatList('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [0x20,0x20,0xa0,0xa0,0x10840,0x10855,0x10857,0x1085f,]), + NotoFont.fromFlatList('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [0x20,0x20,0xa0,0xa0,0x627,0x627,0x660,0x669,0x6f0,0x6f9,0x1ec71,0x1ecb4,]), + NotoFont.fromFlatList('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [0x20,0x20,0xa0,0xa0,0x10b60,0x10b72,0x10b78,0x10b7f,]), + NotoFont.fromFlatList('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [0x20,0x20,0xa0,0xa0,0x10b40,0x10b55,0x10b58,0x10b5f,]), + NotoFont.fromFlatList('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3402,0x3402,0x3405,0x3406,0x3427,0x3427,0x342c,0x342c,0x342e,0x342e,0x3468,0x3468,0x346a,0x346a,0x3488,0x3488,0x3492,0x3492,0x34b5,0x34b5,0x34bc,0x34bc,0x34c1,0x34c1,0x34c7,0x34c7,0x34db,0x34db,0x351f,0x351f,0x353e,0x353e,0x355d,0x355e,0x3563,0x3563,0x356e,0x356e,0x35a6,0x35a6,0x35a8,0x35a8,0x35c5,0x35c5,0x35da,0x35da,0x35de,0x35de,0x35f4,0x35f4,0x3605,0x3605,0x3614,0x3614,0x364a,0x364a,0x3691,0x3691,0x3696,0x3696,0x3699,0x3699,0x36cf,0x36cf,0x3761,0x3762,0x376b,0x376c,0x3775,0x3775,0x378d,0x378d,0x37c1,0x37c1,0x37e2,0x37e2,0x37e8,0x37e8,0x37f4,0x37f4,0x37fd,0x37fd,0x3800,0x3800,0x382f,0x382f,0x3836,0x3836,0x3840,0x3840,0x385c,0x385c,0x3861,0x3861,0x38a1,0x38a1,0x38ad,0x38ad,0x38fa,0x38fa,0x3917,0x3917,0x391a,0x391a,0x396f,0x396f,0x39a4,0x39a4,0x39b8,0x39b8,0x3a5c,0x3a5c,0x3a6e,0x3a6e,0x3a73,0x3a73,0x3a85,0x3a85,0x3ac4,0x3ac4,0x3acb,0x3acb,0x3ad6,0x3ad7,0x3aea,0x3aea,0x3af3,0x3af3,0x3b0e,0x3b0e,0x3b1a,0x3b1a,0x3b1c,0x3b1c,0x3b22,0x3b22,0x3b35,0x3b35,0x3b6d,0x3b6d,0x3b77,0x3b77,0x3b87,0x3b88,0x3b8d,0x3b8d,0x3ba4,0x3ba4,0x3bb6,0x3bb6,0x3bc3,0x3bc3,0x3bcd,0x3bcd,0x3bf0,0x3bf0,0x3bf3,0x3bf3,0x3c0f,0x3c0f,0x3c26,0x3c26,0x3cc3,0x3cc3,0x3cd2,0x3cd2,0x3d11,0x3d11,0x3d1e,0x3d1e,0x3d31,0x3d31,0x3d4e,0x3d4e,0x3d64,0x3d64,0x3d9a,0x3d9a,0x3dc0,0x3dc0,0x3dcc,0x3dcc,0x3dd4,0x3dd4,0x3e05,0x3e05,0x3e3f,0x3e40,0x3e60,0x3e60,0x3e66,0x3e66,0x3e68,0x3e68,0x3e83,0x3e83,0x3e8a,0x3e8a,0x3e94,0x3e94,0x3eda,0x3eda,0x3f57,0x3f57,0x3f72,0x3f72,0x3f75,0x3f75,0x3f77,0x3f77,0x3fae,0x3fae,0x3fb1,0x3fb1,0x3fc9,0x3fc9,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x4039,0x4039,0x4058,0x4058,0x4093,0x4093,0x4103,0x4103,0x4105,0x4105,0x4148,0x4148,0x414f,0x414f,0x4163,0x4163,0x41b4,0x41b4,0x41bf,0x41bf,0x41e6,0x41e6,0x41ee,0x41ee,0x41f3,0x41f3,0x4207,0x4207,0x420e,0x420e,0x4264,0x4264,0x4293,0x4293,0x42c6,0x42c6,0x42d6,0x42d6,0x42dd,0x42dd,0x4302,0x4302,0x432b,0x432b,0x4343,0x4343,0x43ee,0x43ee,0x43f0,0x43f0,0x4408,0x4408,0x440c,0x440c,0x4417,0x4417,0x441c,0x441c,0x4422,0x4422,0x4453,0x4453,0x445b,0x445b,0x4476,0x4476,0x447a,0x447a,0x4491,0x4491,0x44b3,0x44b3,0x44be,0x44be,0x44d4,0x44d4,0x4508,0x4508,0x450d,0x450d,0x4525,0x4525,0x4543,0x4543,0x457a,0x457a,0x459d,0x459d,0x45b8,0x45b8,0x45be,0x45be,0x45e5,0x45e5,0x45ea,0x45ea,0x460f,0x4610,0x4641,0x4641,0x4665,0x4665,0x46a1,0x46a1,0x46ae,0x46af,0x470c,0x470c,0x471f,0x471f,0x4764,0x4764,0x47e6,0x47e6,0x47fd,0x47fd,0x4816,0x4816,0x481e,0x481e,0x4844,0x4844,0x484e,0x484e,0x48b5,0x48b5,0x49b0,0x49b0,0x49e7,0x49e7,0x49fa,0x49fa,0x4a04,0x4a04,0x4a29,0x4a29,0x4abc,0x4abc,0x4b38,0x4b38,0x4b3b,0x4b3b,0x4b7e,0x4b7e,0x4bc2,0x4bc2,0x4bca,0x4bca,0x4bd2,0x4bd2,0x4be8,0x4be8,0x4c17,0x4c17,0x4c20,0x4c20,0x4c38,0x4c38,0x4cc4,0x4cc4,0x4cd1,0x4cd1,0x4ce1,0x4ce1,0x4d07,0x4d07,0x4d77,0x4d77,0x4e00,0x4e05,0x4e07,0x4e12,0x4e14,0x4e19,0x4e1e,0x4e1f,0x4e21,0x4e21,0x4e23,0x4e24,0x4e26,0x4e26,0x4e28,0x4e32,0x4e35,0x4e39,0x4e3b,0x4e3c,0x4e3f,0x4e45,0x4e47,0x4e48,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e51,0x4e51,0x4e55,0x4e5f,0x4e62,0x4e63,0x4e68,0x4e69,0x4e71,0x4e71,0x4e73,0x4e75,0x4e79,0x4e79,0x4e7e,0x4e80,0x4e82,0x4e82,0x4e85,0x4e86,0x4e88,0x4e8e,0x4e91,0x4e92,0x4e94,0x4e99,0x4e9b,0x4ea2,0x4ea4,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eb0,0x4eb3,0x4eb3,0x4eb6,0x4eb6,0x4eb9,0x4ebc,0x4ec0,0x4ec4,0x4ec6,0x4ec8,0x4eca,0x4ecb,0x4ecd,0x4ed0,0x4ed4,0x4edb,0x4edd,0x4ee5,0x4ee8,0x4ee8,0x4eeb,0x4eeb,0x4eed,0x4ef3,0x4ef5,0x4ef7,0x4efb,0x4f03,0x4f08,0x4f12,0x4f15,0x4f17,0x4f19,0x4f1a,0x4f1c,0x4f1d,0x4f2b,0x4f2b,0x4f2e,0x4f31,0x4f33,0x4f3e,0x4f40,0x4f40,0x4f42,0x4f43,0x4f46,0x4f49,0x4f4b,0x4f60,0x4f63,0x4f64,0x4f69,0x4f6a,0x4f6c,0x4f6c,0x4f6e,0x4f71,0x4f73,0x4f73,0x4f75,0x4f7f,0x4f81,0x4f86,0x4f88,0x4f94,0x4f96,0x4f9b,0x4f9d,0x4fa1,0x4fab,0x4fab,0x4fad,0x4faf,0x4fb2,0x4fb2,0x4fb5,0x4fb7,0x4fb9,0x4fb9,0x4fbb,0x4fc6,0x4fc8,0x4fd4,0x4fd7,0x4fd8,0x4fda,0x4fdd,0x4fdf,0x4fe6,0x4fee,0x4ff3,0x4ff5,0x4ff6,0x4ff8,0x4ff8,0x4ffa,0x4ffa,0x4ffc,0x5002,0x5004,0x5007,0x5009,0x5014,0x5016,0x501f,0x5021,0x502e,0x5030,0x5030,0x5032,0x5033,0x5035,0x5036,0x5039,0x5039,0x503b,0x503b,0x5040,0x5043,0x5045,0x504a,0x504c,0x504c,0x504e,0x5053,0x5055,0x5057,0x5059,0x505a,0x505c,0x505c,0x505f,0x5060,0x5062,0x5063,0x5065,0x5067,0x506a,0x506a,0x506c,0x506d,0x5070,0x5072,0x5074,0x5078,0x507d,0x507d,0x5080,0x5081,0x5083,0x5086,0x5088,0x5088,0x508a,0x508a,0x508d,0x5096,0x5098,0x509c,0x509e,0x50a3,0x50aa,0x50aa,0x50ac,0x50ad,0x50af,0x50b5,0x50b7,0x50b7,0x50b9,0x50bb,0x50bd,0x50be,0x50c0,0x50c0,0x50c2,0x50c5,0x50c7,0x50c7,0x50c9,0x50ca,0x50cc,0x50d1,0x50d3,0x50d6,0x50d8,0x50da,0x50dc,0x50df,0x50e1,0x50e9,0x50ed,0x50f6,0x50f9,0x50fb,0x50fe,0x50fe,0x5100,0x5104,0x5106,0x5109,0x510b,0x510e,0x5110,0x5110,0x5112,0x5112,0x5114,0x511f,0x5121,0x5121,0x5123,0x5123,0x5127,0x5128,0x512a,0x512a,0x512c,0x512d,0x512f,0x512f,0x5131,0x5135,0x5137,0x513c,0x513f,0x5150,0x5152,0x5155,0x5157,0x5158,0x515a,0x515a,0x515c,0x515c,0x515f,0x5160,0x5162,0x5162,0x5164,0x516e,0x5171,0x5171,0x5173,0x5179,0x517b,0x517c,0x517e,0x517e,0x5180,0x5180,0x5182,0x5186,0x5189,0x5193,0x5195,0x5199,0x519d,0x519d,0x51a0,0x51a6,0x51a8,0x51ad,0x51b0,0x51b8,0x51ba,0x51ba,0x51bc,0x51bf,0x51c2,0x51c6,0x51c8,0x51cd,0x51cf,0x51cf,0x51d1,0x51d6,0x51d8,0x51d8,0x51db,0x51e2,0x51e5,0x51e7,0x51e9,0x51ea,0x51ec,0x51ee,0x51f0,0x51fa,0x51fd,0x51fe,0x5200,0x5208,0x520a,0x520b,0x520e,0x520e,0x5211,0x5218,0x521d,0x521d,0x5222,0x5222,0x5224,0x522b,0x522e,0x522e,0x5230,0x5233,0x5235,0x523c,0x5243,0x5245,0x5247,0x5247,0x5249,0x524d,0x524f,0x524f,0x5254,0x5258,0x525a,0x5261,0x5263,0x5266,0x5269,0x526a,0x526c,0x526c,0x526e,0x5275,0x5277,0x5279,0x527d,0x527d,0x527f,0x5280,0x5282,0x5285,0x5287,0x528a,0x528c,0x528d,0x5291,0x5298,0x529a,0x529c,0x529f,0x52a0,0x52a3,0x52a7,0x52a9,0x52ad,0x52af,0x52b1,0x52b4,0x52be,0x52c0,0x52c1,0x52c3,0x52ca,0x52cc,0x52cd,0x52cf,0x52d2,0x52d4,0x52d9,0x52db,0x52ea,0x52ec,0x52ec,0x52f0,0x52fb,0x52fe,0x5303,0x5305,0x5308,0x530a,0x530d,0x530f,0x5311,0x5313,0x5313,0x5315,0x5321,0x5323,0x5325,0x5327,0x532d,0x532f,0x5333,0x5335,0x5335,0x5338,0x5343,0x5345,0x534d,0x5351,0x5354,0x5357,0x535c,0x535e,0x535e,0x5360,0x5361,0x5363,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x537b,0x537d,0x537f,0x5382,0x5384,0x5387,0x5389,0x538e,0x538e,0x5393,0x5394,0x5396,0x5396,0x5398,0x539a,0x539d,0x539d,0x539f,0x53a1,0x53a4,0x53a6,0x53a8,0x53ab,0x53ad,0x53b0,0x53b2,0x53b8,0x53ba,0x53bb,0x53bd,0x53bd,0x53c0,0x53c5,0x53c8,0x53cf,0x53d2,0x53d7,0x53d9,0x53db,0x53dd,0x53f8,0x53fa,0x53fa,0x5401,0x5404,0x5408,0x5413,0x541a,0x541b,0x541d,0x5421,0x5424,0x5424,0x5426,0x542f,0x5431,0x5431,0x5433,0x5436,0x5438,0x5439,0x543b,0x5440,0x5442,0x5444,0x5446,0x544a,0x544c,0x544f,0x5451,0x5451,0x5455,0x5455,0x545e,0x545f,0x5462,0x5462,0x5464,0x5464,0x5466,0x546e,0x5470,0x5471,0x5473,0x5477,0x547b,0x547d,0x547f,0x5481,0x5483,0x5486,0x5488,0x5492,0x5495,0x5496,0x549c,0x549c,0x549f,0x54a2,0x54a4,0x54af,0x54b1,0x54b3,0x54b7,0x54c4,0x54c6,0x54ca,0x54cd,0x54ce,0x54d8,0x54d8,0x54e0,0x54e2,0x54e5,0x54e6,0x54e8,0x54ea,0x54ec,0x54ef,0x54f1,0x54f3,0x54f6,0x54f6,0x54fa,0x54fa,0x54fc,0x5501,0x5504,0x5509,0x550c,0x5510,0x5514,0x5516,0x5527,0x5527,0x552a,0x552b,0x552e,0x552f,0x5531,0x5533,0x5535,0x5536,0x5538,0x5539,0x553b,0x553e,0x5540,0x5541,0x5544,0x5547,0x5549,0x554a,0x554c,0x554d,0x554f,0x5551,0x5553,0x5553,0x5556,0x5558,0x555a,0x555e,0x5560,0x5561,0x5563,0x5564,0x5566,0x5566,0x557b,0x5584,0x5586,0x558b,0x558e,0x558f,0x5591,0x5594,0x5597,0x559a,0x559c,0x559f,0x55a3,0x55a4,0x55a7,0x55ae,0x55b0,0x55b0,0x55b2,0x55b2,0x55b6,0x55b6,0x55bf,0x55bf,0x55c1,0x55c1,0x55c3,0x55c7,0x55c9,0x55c9,0x55cb,0x55cc,0x55ce,0x55ce,0x55d1,0x55d4,0x55d7,0x55d8,0x55da,0x55df,0x55e2,0x55e4,0x55e9,0x55e9,0x55ec,0x55ec,0x55ee,0x55ee,0x55f1,0x55f1,0x55f6,0x55f9,0x55fd,0x55ff,0x5605,0x560a,0x560d,0x5612,0x5614,0x5614,0x5616,0x5619,0x561b,0x561b,0x5620,0x5620,0x5628,0x5629,0x562c,0x562c,0x562f,0x5639,0x563b,0x563d,0x563f,0x5644,0x5646,0x5647,0x5649,0x5649,0x564b,0x5650,0x5653,0x5654,0x565b,0x565b,0x565e,0x565e,0x5660,0x5664,0x5666,0x5666,0x5668,0x566d,0x566f,0x566f,0x5671,0x5672,0x5674,0x5676,0x5678,0x5678,0x567a,0x567a,0x5680,0x5680,0x5684,0x5688,0x568a,0x568c,0x568f,0x568f,0x5694,0x5695,0x5699,0x569a,0x569d,0x56a0,0x56a2,0x56a2,0x56a5,0x56a9,0x56ab,0x56ae,0x56b1,0x56b4,0x56b6,0x56b7,0x56bc,0x56bc,0x56be,0x56be,0x56c0,0x56c3,0x56c5,0x56c5,0x56c8,0x56d1,0x56d3,0x56d3,0x56d7,0x56e1,0x56e3,0x56e8,0x56eb,0x56eb,0x56ed,0x56ee,0x56f0,0x56f3,0x56f6,0x56f7,0x56f9,0x56fa,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x570f,0x570f,0x5711,0x5713,0x5715,0x5716,0x5718,0x5718,0x571a,0x571d,0x571f,0x572a,0x572c,0x5730,0x5733,0x5734,0x5737,0x5738,0x573b,0x573b,0x573d,0x5740,0x5742,0x5742,0x5745,0x5747,0x574a,0x574a,0x574c,0x5752,0x5759,0x5759,0x575f,0x575f,0x5761,0x5762,0x5764,0x576b,0x576d,0x5771,0x5773,0x5775,0x5777,0x5777,0x5779,0x577c,0x577e,0x577f,0x5781,0x5783,0x5788,0x5789,0x578b,0x578c,0x5793,0x5795,0x5797,0x5797,0x5799,0x579a,0x579c,0x57a4,0x57a7,0x57aa,0x57ac,0x57ac,0x57ae,0x57ae,0x57b0,0x57b0,0x57b3,0x57b3,0x57b8,0x57b8,0x57bd,0x57bd,0x57c0,0x57c0,0x57c3,0x57c3,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57cf,0x57d2,0x57d7,0x57dc,0x57e1,0x57e3,0x57e4,0x57e6,0x57e7,0x57e9,0x57e9,0x57ed,0x57ed,0x57f0,0x57f0,0x57f4,0x5800,0x5802,0x5806,0x5808,0x580d,0x5815,0x5815,0x5819,0x5819,0x581b,0x581b,0x581d,0x5821,0x5824,0x5824,0x5826,0x5827,0x582a,0x582a,0x582d,0x582d,0x582f,0x5832,0x5834,0x5835,0x5839,0x583a,0x583d,0x583d,0x583f,0x5841,0x5849,0x584d,0x584f,0x5852,0x5854,0x5855,0x5857,0x585a,0x585e,0x585f,0x5861,0x5862,0x5864,0x5864,0x5867,0x5869,0x586b,0x586b,0x586d,0x586d,0x5870,0x5870,0x5872,0x5872,0x5875,0x5875,0x5878,0x5879,0x587c,0x587c,0x587e,0x5881,0x5883,0x5883,0x5885,0x5885,0x5887,0x588d,0x588f,0x5890,0x5893,0x5894,0x5896,0x5898,0x589c,0x58a2,0x58a6,0x58a6,0x58a8,0x58ab,0x58ae,0x58ae,0x58b1,0x58b3,0x58b8,0x58bc,0x58be,0x58be,0x58c1,0x58c5,0x58c7,0x58c8,0x58ca,0x58ca,0x58cc,0x58ce,0x58d0,0x58da,0x58dc,0x58e2,0x58e4,0x58e5,0x58e9,0x58e9,0x58eb,0x58ec,0x58ee,0x58f4,0x58f7,0x58f7,0x58f9,0x58fd,0x5902,0x5902,0x5905,0x5906,0x5909,0x590d,0x590f,0x5910,0x5912,0x5916,0x5918,0x591d,0x591f,0x591f,0x5921,0x5925,0x5927,0x5933,0x5935,0x5939,0x593d,0x593f,0x5943,0x5944,0x5946,0x5949,0x594e,0x5955,0x5957,0x595b,0x595d,0x5963,0x5965,0x5965,0x5967,0x596f,0x5972,0x5976,0x5978,0x5979,0x597b,0x597d,0x5981,0x5984,0x598a,0x598e,0x5992,0x5993,0x5995,0x5997,0x5999,0x5999,0x599b,0x599b,0x599d,0x599d,0x599f,0x599f,0x59a3,0x59a5,0x59a7,0x59a8,0x59ac,0x59b0,0x59b2,0x59b3,0x59b7,0x59b7,0x59b9,0x59bc,0x59be,0x59be,0x59c1,0x59c1,0x59c3,0x59c4,0x59c6,0x59c6,0x59c8,0x59cb,0x59cd,0x59cd,0x59d0,0x59d4,0x59d9,0x59da,0x59dc,0x59df,0x59e3,0x59e8,0x59ea,0x59ec,0x59ee,0x59ef,0x59f1,0x59f2,0x59f4,0x59f4,0x59f6,0x59f8,0x59fb,0x59fb,0x59ff,0x5a01,0x5a03,0x5a04,0x5a09,0x5a09,0x5a0c,0x5a0e,0x5a11,0x5a13,0x5a17,0x5a18,0x5a1a,0x5a1c,0x5a1e,0x5a20,0x5a23,0x5a25,0x5a27,0x5a2a,0x5a2d,0x5a2d,0x5a2f,0x5a30,0x5a35,0x5a36,0x5a3c,0x5a3c,0x5a40,0x5a41,0x5a44,0x5a49,0x5a4c,0x5a4c,0x5a50,0x5a50,0x5a55,0x5a55,0x5a5a,0x5a5a,0x5a5e,0x5a5e,0x5a62,0x5a63,0x5a65,0x5a67,0x5a6a,0x5a6a,0x5a6c,0x5a6d,0x5a77,0x5a77,0x5a7a,0x5a7b,0x5a7e,0x5a7f,0x5a84,0x5a84,0x5a8b,0x5a8b,0x5a90,0x5a90,0x5a92,0x5a93,0x5a96,0x5a96,0x5a99,0x5a9c,0x5a9e,0x5aa0,0x5aa2,0x5aa2,0x5aa7,0x5aa7,0x5aac,0x5aac,0x5ab1,0x5ab3,0x5ab5,0x5ab5,0x5ab8,0x5ab8,0x5aba,0x5abf,0x5ac1,0x5ac2,0x5ac4,0x5ac4,0x5ac6,0x5ac6,0x5ac8,0x5ac9,0x5acb,0x5acc,0x5acf,0x5ad0,0x5ad6,0x5ad7,0x5ada,0x5ada,0x5adc,0x5adc,0x5ae0,0x5ae1,0x5ae3,0x5ae3,0x5ae5,0x5ae6,0x5ae9,0x5aea,0x5aee,0x5aee,0x5af0,0x5af0,0x5af5,0x5af6,0x5afa,0x5afb,0x5afd,0x5afd,0x5b00,0x5b01,0x5b08,0x5b09,0x5b0b,0x5b0c,0x5b16,0x5b17,0x5b19,0x5b19,0x5b1b,0x5b1b,0x5b1d,0x5b1d,0x5b21,0x5b22,0x5b25,0x5b25,0x5b2a,0x5b2a,0x5b2c,0x5b2d,0x5b30,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b36,0x5b36,0x5b38,0x5b38,0x5b3e,0x5b3e,0x5b40,0x5b41,0x5b43,0x5b43,0x5b45,0x5b45,0x5b4b,0x5b4c,0x5b50,0x5b52,0x5b54,0x5b58,0x5b5a,0x5b5f,0x5b63,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6b,0x5b6e,0x5b71,0x5b73,0x5b73,0x5b75,0x5b76,0x5b78,0x5b78,0x5b7a,0x5b7a,0x5b7c,0x5b91,0x5b93,0x5b9d,0x5b9f,0x5b9f,0x5ba2,0x5ba6,0x5ba8,0x5ba9,0x5bac,0x5bba,0x5bbc,0x5bbc,0x5bbf,0x5bc7,0x5bc9,0x5bc9,0x5bcc,0x5bd0,0x5bd2,0x5bd4,0x5bd6,0x5bdb,0x5bdd,0x5be2,0x5be4,0x5be9,0x5beb,0x5bec,0x5bee,0x5bf1,0x5bf3,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bfd,0x5bff,0x5c01,0x5c0f,0x5c11,0x5c14,0x5c16,0x5c17,0x5c19,0x5c1a,0x5c1e,0x5c20,0x5c22,0x5c24,0x5c26,0x5c26,0x5c28,0x5c2e,0x5c30,0x5c32,0x5c35,0x5c36,0x5c38,0x5c41,0x5c45,0x5c46,0x5c48,0x5c48,0x5c4a,0x5c4b,0x5c4d,0x5c51,0x5c53,0x5c53,0x5c55,0x5c55,0x5c59,0x5c5c,0x5c5e,0x5c65,0x5c67,0x5c69,0x5c6c,0x5c71,0x5c74,0x5c76,0x5c79,0x5c7d,0x5c87,0x5c88,0x5c8a,0x5c8a,0x5c8c,0x5c8c,0x5c8f,0x5c92,0x5c94,0x5c94,0x5c9d,0x5c9d,0x5c9f,0x5ca3,0x5ca6,0x5cad,0x5cb1,0x5cb8,0x5cba,0x5cbc,0x5cbe,0x5cbe,0x5cc5,0x5cc5,0x5cc7,0x5cc7,0x5cc9,0x5cc9,0x5ccb,0x5ccb,0x5cd0,0x5cd0,0x5cd2,0x5cd2,0x5cd7,0x5cd7,0x5cd9,0x5cd9,0x5cdd,0x5cdd,0x5ce0,0x5ce1,0x5ce6,0x5ce6,0x5ce8,0x5cea,0x5ced,0x5cf2,0x5cf4,0x5cf6,0x5cfa,0x5cfb,0x5cfd,0x5cfd,0x5d01,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d0b,0x5d0d,0x5d0e,0x5d10,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d1d,0x5d1f,0x5d20,0x5d22,0x5d24,0x5d26,0x5d27,0x5d29,0x5d29,0x5d2b,0x5d2b,0x5d31,0x5d31,0x5d34,0x5d34,0x5d39,0x5d39,0x5d3d,0x5d3d,0x5d3f,0x5d3f,0x5d42,0x5d43,0x5d46,0x5d48,0x5d4a,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d53,0x5d55,0x5d55,0x5d59,0x5d59,0x5d5c,0x5d5c,0x5d5f,0x5d62,0x5d64,0x5d64,0x5d69,0x5d6a,0x5d6c,0x5d6d,0x5d6f,0x5d70,0x5d73,0x5d73,0x5d76,0x5d76,0x5d79,0x5d7a,0x5d7e,0x5d7f,0x5d81,0x5d84,0x5d87,0x5d88,0x5d8a,0x5d8c,0x5d90,0x5d90,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d99,0x5d9b,0x5d9b,0x5d9d,0x5d9d,0x5d9f,0x5da0,0x5da2,0x5da2,0x5da4,0x5da4,0x5da7,0x5da7,0x5dab,0x5dac,0x5dae,0x5dae,0x5db0,0x5db0,0x5db2,0x5db2,0x5db4,0x5db4,0x5db7,0x5dba,0x5dbc,0x5dbd,0x5dc3,0x5dc3,0x5dc7,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dce,0x5dd0,0x5dd3,0x5dd6,0x5dd9,0x5ddb,0x5ddb,0x5ddd,0x5dde,0x5de0,0x5de9,0x5deb,0x5deb,0x5dee,0x5dee,0x5df1,0x5df5,0x5df7,0x5df9,0x5dfb,0x5dfb,0x5dfd,0x5e00,0x5e02,0x5e03,0x5e06,0x5e07,0x5e0b,0x5e0d,0x5e11,0x5e12,0x5e14,0x5e16,0x5e18,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e20,0x5e25,0x5e25,0x5e28,0x5e28,0x5e2b,0x5e2b,0x5e2d,0x5e30,0x5e32,0x5e33,0x5e35,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e40,0x5e43,0x5e45,0x5e47,0x5e47,0x5e49,0x5e49,0x5e4b,0x5e4c,0x5e4e,0x5e4e,0x5e50,0x5e51,0x5e54,0x5e58,0x5e5b,0x5e5c,0x5e5e,0x5e5f,0x5e61,0x5e64,0x5e68,0x5e68,0x5e6a,0x5e6e,0x5e70,0x5e70,0x5e72,0x5e81,0x5e83,0x5e84,0x5e87,0x5e87,0x5e8a,0x5e8b,0x5e8e,0x5e8f,0x5e95,0x5e97,0x5e99,0x5e9a,0x5e9c,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea2,0x5ea4,0x5ea8,0x5eaa,0x5ead,0x5eb1,0x5eb1,0x5eb3,0x5eb3,0x5eb5,0x5eb9,0x5ebd,0x5ebf,0x5ec1,0x5ec3,0x5ec6,0x5ec6,0x5ec8,0x5ecc,0x5ece,0x5ed6,0x5ed9,0x5ee3,0x5ee5,0x5ee5,0x5ee8,0x5ee9,0x5eeb,0x5eec,0x5ef0,0x5ef1,0x5ef3,0x5ef4,0x5ef6,0x5f04,0x5f06,0x5f11,0x5f13,0x5f19,0x5f1b,0x5f1f,0x5f21,0x5f29,0x5f2b,0x5f31,0x5f34,0x5f38,0x5f3a,0x5f41,0x5f44,0x5f45,0x5f47,0x5f48,0x5f4a,0x5f4a,0x5f4c,0x5f4e,0x5f50,0x5f51,0x5f53,0x5f54,0x5f56,0x5f59,0x5f5b,0x5f5d,0x5f60,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f75,0x5f77,0x5f7a,0x5f7c,0x5f85,0x5f87,0x5f8d,0x5f8f,0x5f93,0x5f96,0x5f99,0x5f9c,0x5f9e,0x5fa0,0x5fa2,0x5fa4,0x5fa4,0x5fa7,0x5fb1,0x5fb3,0x5fb5,0x5fb7,0x5fb9,0x5fbc,0x5fbd,0x5fc3,0x5fc5,0x5fc7,0x5fc9,0x5fcb,0x5fcd,0x5fd0,0x5fd4,0x5fd6,0x5fd9,0x5fdc,0x5fde,0x5fe0,0x5fe2,0x5fe4,0x5fe4,0x5fe8,0x5ff3,0x5ff5,0x5ff6,0x5ff8,0x5ff8,0x5ffa,0x5ffd,0x5fff,0x5fff,0x6007,0x6007,0x600a,0x600a,0x600d,0x6010,0x6012,0x601d,0x601f,0x6022,0x6024,0x602b,0x602d,0x602d,0x602f,0x602f,0x6031,0x6031,0x6033,0x6033,0x6035,0x6035,0x603a,0x603a,0x6040,0x6043,0x6046,0x604d,0x6050,0x6052,0x6054,0x6057,0x6059,0x605a,0x605d,0x605d,0x605f,0x6065,0x6067,0x606d,0x606f,0x6071,0x6075,0x6075,0x6077,0x6077,0x607e,0x607f,0x6081,0x6086,0x6088,0x608e,0x6091,0x6098,0x609a,0x609b,0x609d,0x60a0,0x60a2,0x60aa,0x60b0,0x60b8,0x60bb,0x60be,0x60c2,0x60c2,0x60c4,0x60cb,0x60ce,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d8,0x60e3,0x60e5,0x60e5,0x60e7,0x60e8,0x60ee,0x60ee,0x60f0,0x60fd,0x6100,0x6103,0x6106,0x610a,0x610c,0x6117,0x6119,0x611c,0x611e,0x6122,0x6127,0x6128,0x612a,0x612c,0x6130,0x6131,0x6134,0x6137,0x6139,0x613a,0x613c,0x613f,0x6141,0x6142,0x6144,0x614e,0x6153,0x6153,0x6155,0x6155,0x6158,0x615a,0x615d,0x6160,0x6162,0x6165,0x6167,0x6168,0x616b,0x616c,0x616e,0x6178,0x617b,0x6184,0x6187,0x6187,0x618a,0x618b,0x618d,0x618e,0x6190,0x6194,0x6196,0x619a,0x619c,0x619d,0x619f,0x61a0,0x61a4,0x61a5,0x61a7,0x61ae,0x61b2,0x61b2,0x61b6,0x61b6,0x61b8,0x61ba,0x61bc,0x61bc,0x61be,0x61be,0x61c0,0x61c3,0x61c6,0x61d0,0x61d5,0x61d5,0x61dc,0x61df,0x61e1,0x61e3,0x61e5,0x61e9,0x61ec,0x61ed,0x61ef,0x61ef,0x61f2,0x61f2,0x61f4,0x61f8,0x61fa,0x61fa,0x61fc,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6216,0x621a,0x6223,0x6226,0x6227,0x6229,0x622b,0x622e,0x6234,0x6236,0x6236,0x6238,0x6239,0x623b,0x623b,0x623d,0x6244,0x6246,0x6249,0x624b,0x624e,0x6250,0x6256,0x6258,0x6258,0x625a,0x625c,0x625e,0x625e,0x6260,0x6261,0x6263,0x6264,0x6268,0x6268,0x626d,0x626f,0x6271,0x6271,0x6273,0x6273,0x6276,0x6276,0x6279,0x6280,0x6282,0x6285,0x6289,0x628a,0x628d,0x6299,0x629b,0x629c,0x629e,0x629e,0x62a6,0x62a6,0x62a8,0x62a8,0x62ab,0x62ac,0x62b1,0x62b1,0x62b3,0x62b3,0x62b5,0x62b7,0x62b9,0x62bf,0x62c2,0x62c2,0x62c4,0x62ca,0x62cc,0x62dd,0x62e0,0x62e1,0x62ea,0x62ea,0x62ec,0x62ef,0x62f1,0x62f7,0x62fc,0x62ff,0x6301,0x6304,0x6307,0x630d,0x6310,0x6311,0x6313,0x6313,0x6316,0x6316,0x6318,0x6319,0x631b,0x631b,0x631f,0x631f,0x6327,0x632b,0x632d,0x632d,0x632f,0x632f,0x6332,0x6332,0x6335,0x6336,0x6339,0x633f,0x6341,0x6344,0x6346,0x6346,0x6349,0x6350,0x6352,0x6355,0x6357,0x6359,0x635b,0x635c,0x6365,0x6369,0x636b,0x636e,0x6371,0x6372,0x6374,0x6378,0x637a,0x637d,0x637f,0x6380,0x6382,0x6384,0x6387,0x638a,0x638c,0x638c,0x638e,0x6390,0x6392,0x6392,0x6394,0x6396,0x6398,0x639b,0x639e,0x63af,0x63b2,0x63b2,0x63b4,0x63b5,0x63bb,0x63bb,0x63bd,0x63be,0x63c0,0x63c1,0x63c3,0x63c6,0x63c8,0x63c9,0x63ce,0x63d6,0x63da,0x63dc,0x63e0,0x63e1,0x63e3,0x63e3,0x63e5,0x63e5,0x63e9,0x63ee,0x63f2,0x63fa,0x6406,0x6406,0x6409,0x640a,0x640d,0x640d,0x640f,0x6410,0x6412,0x6414,0x6416,0x6418,0x641c,0x641c,0x641e,0x641e,0x6420,0x6420,0x6422,0x6422,0x6424,0x6426,0x6428,0x642a,0x642c,0x642d,0x642f,0x6430,0x6434,0x6436,0x643a,0x643a,0x643d,0x643f,0x6442,0x6442,0x644b,0x644b,0x644e,0x644f,0x6451,0x6454,0x6458,0x6458,0x645a,0x645d,0x645f,0x6461,0x6463,0x6463,0x6467,0x6467,0x6469,0x6469,0x646d,0x646d,0x646f,0x646f,0x6473,0x6474,0x6476,0x6476,0x6478,0x647b,0x647d,0x647d,0x6483,0x6483,0x6485,0x6485,0x6487,0x6488,0x648f,0x6493,0x6495,0x6495,0x6498,0x649b,0x649d,0x649f,0x64a1,0x64a1,0x64a3,0x64a6,0x64a8,0x64a9,0x64ab,0x64ae,0x64b0,0x64b0,0x64b2,0x64b3,0x64b9,0x64b9,0x64bb,0x64bf,0x64c1,0x64c2,0x64c4,0x64c5,0x64c7,0x64c7,0x64c9,0x64ce,0x64d0,0x64d2,0x64d4,0x64d5,0x64d7,0x64d8,0x64da,0x64da,0x64e0,0x64e7,0x64e9,0x64ea,0x64ec,0x64ed,0x64ef,0x64f2,0x64f4,0x64f7,0x64fa,0x64fb,0x64fd,0x6501,0x6504,0x6505,0x6508,0x650a,0x650f,0x650f,0x6513,0x6514,0x6516,0x6516,0x6518,0x6519,0x651b,0x651f,0x6522,0x6524,0x6526,0x6526,0x6529,0x652c,0x652e,0x652f,0x6531,0x6532,0x6534,0x653f,0x6543,0x6545,0x6547,0x6549,0x654d,0x6552,0x6554,0x6559,0x655d,0x6560,0x6562,0x6563,0x6566,0x6567,0x656b,0x656c,0x6570,0x6570,0x6572,0x6572,0x6574,0x6575,0x6577,0x6578,0x657a,0x657a,0x657d,0x657d,0x6581,0x6585,0x6587,0x658a,0x658c,0x658c,0x658e,0x658e,0x6590,0x6592,0x6595,0x6595,0x6597,0x6599,0x659b,0x659d,0x659f,0x65a1,0x65a3,0x65a7,0x65ab,0x65b0,0x65b2,0x65b5,0x65b7,0x65b9,0x65bc,0x65bf,0x65c1,0x65c6,0x65c8,0x65c9,0x65cb,0x65cc,0x65ce,0x65d0,0x65d2,0x65d2,0x65d4,0x65d4,0x65d6,0x65d9,0x65db,0x65db,0x65df,0x65e3,0x65e5,0x65e9,0x65ec,0x65ed,0x65f0,0x65f2,0x65f4,0x65f5,0x65f9,0x65fc,0x65fe,0x6600,0x6602,0x6604,0x6606,0x660a,0x660c,0x660f,0x6611,0x6616,0x661c,0x6631,0x6633,0x6637,0x6639,0x663c,0x663f,0x6646,0x6648,0x664c,0x664e,0x664f,0x6651,0x6652,0x6657,0x6670,0x6673,0x667c,0x667e,0x6681,0x6683,0x6684,0x6687,0x6689,0x668b,0x668e,0x6690,0x6692,0x6696,0x669d,0x669f,0x66a0,0x66a2,0x66a2,0x66a4,0x66a4,0x66a6,0x66a6,0x66ab,0x66ab,0x66ad,0x66ae,0x66b1,0x66b5,0x66b8,0x66b9,0x66bb,0x66bc,0x66be,0x66c4,0x66c6,0x66c9,0x66cc,0x66cc,0x66ce,0x66cf,0x66d4,0x66d4,0x66d6,0x66d6,0x66d9,0x66dd,0x66df,0x66e0,0x66e6,0x66e6,0x66e8,0x66e9,0x66eb,0x66ec,0x66ee,0x66ee,0x66f0,0x66f0,0x66f2,0x66f5,0x66f7,0x6701,0x6703,0x6703,0x6705,0x6705,0x6707,0x6709,0x670b,0x6710,0x6712,0x6717,0x6719,0x6719,0x671b,0x6720,0x6722,0x6722,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6738,0x673a,0x673a,0x673d,0x673f,0x6741,0x6741,0x6743,0x6743,0x6745,0x6749,0x674c,0x6751,0x6753,0x6756,0x6759,0x6759,0x675c,0x6766,0x676a,0x676a,0x676c,0x6777,0x677b,0x677c,0x677e,0x6781,0x6784,0x6785,0x6787,0x6787,0x6789,0x6789,0x678b,0x678c,0x678e,0x6793,0x6795,0x679d,0x67a0,0x67a2,0x67a4,0x67a4,0x67a6,0x67a6,0x67a9,0x67a9,0x67af,0x67b9,0x67bb,0x67be,0x67c0,0x67c6,0x67c8,0x67ca,0x67ce,0x67d4,0x67d7,0x67de,0x67e1,0x67e2,0x67e4,0x67e4,0x67e6,0x67e7,0x67e9,0x67e9,0x67ec,0x67ec,0x67ee,0x67f7,0x67f9,0x67fc,0x67fe,0x67ff,0x6801,0x6805,0x6810,0x6810,0x6813,0x6814,0x6816,0x6819,0x681d,0x681f,0x6821,0x6822,0x6827,0x682d,0x682f,0x6834,0x6838,0x6839,0x683b,0x6846,0x6848,0x684a,0x684c,0x684e,0x6850,0x6855,0x6857,0x6859,0x685b,0x685d,0x685f,0x685f,0x6863,0x6863,0x6867,0x6867,0x686b,0x686b,0x686e,0x6872,0x6874,0x6877,0x6879,0x687c,0x687e,0x687f,0x6881,0x6886,0x6888,0x6888,0x688d,0x6890,0x6893,0x6894,0x6896,0x689d,0x689f,0x68a3,0x68a5,0x68ab,0x68ad,0x68b6,0x68b9,0x68bc,0x68c3,0x68c6,0x68c8,0x68cd,0x68cf,0x68da,0x68dc,0x68dd,0x68df,0x68e1,0x68e3,0x68e5,0x68e7,0x68e8,0x68ea,0x68f2,0x68f5,0x68f7,0x68f9,0x68fd,0x6900,0x6901,0x6903,0x6913,0x6916,0x6917,0x6919,0x691c,0x6921,0x6923,0x6925,0x6926,0x6928,0x6928,0x692a,0x692a,0x6930,0x6931,0x6933,0x6936,0x6938,0x6939,0x693b,0x693b,0x693d,0x693d,0x693f,0x693f,0x6942,0x6942,0x6945,0x6946,0x6949,0x694a,0x694e,0x694e,0x6953,0x6955,0x6957,0x6957,0x6959,0x695e,0x6960,0x6966,0x6968,0x6975,0x6977,0x6982,0x6986,0x6986,0x698a,0x698a,0x698d,0x698e,0x6991,0x6992,0x6994,0x6996,0x6998,0x6998,0x699b,0x699c,0x69a0,0x69a1,0x69a5,0x69a8,0x69ab,0x69ab,0x69ad,0x69b2,0x69b4,0x69b4,0x69b7,0x69b8,0x69ba,0x69bc,0x69be,0x69c1,0x69c3,0x69c3,0x69c5,0x69c5,0x69c7,0x69c8,0x69ca,0x69d1,0x69d3,0x69d3,0x69d6,0x69d9,0x69dd,0x69de,0x69e2,0x69e3,0x69e5,0x69e5,0x69e7,0x69eb,0x69ed,0x69ef,0x69f1,0x69f6,0x69f9,0x69f9,0x69fb,0x69fb,0x69fd,0x6a03,0x6a05,0x6a05,0x6a0a,0x6a0c,0x6a0f,0x6a0f,0x6a11,0x6a15,0x6a17,0x6a17,0x6a19,0x6a1b,0x6a1d,0x6a24,0x6a28,0x6a2b,0x6a2e,0x6a2e,0x6a30,0x6a30,0x6a32,0x6a3b,0x6a3d,0x6a3f,0x6a44,0x6a4b,0x6a4e,0x6a4e,0x6a50,0x6a52,0x6a54,0x6a56,0x6a58,0x6a59,0x6a5b,0x6a5b,0x6a5f,0x6a5f,0x6a61,0x6a62,0x6a64,0x6a64,0x6a66,0x6a67,0x6a6a,0x6a6b,0x6a71,0x6a73,0x6a78,0x6a78,0x6a7a,0x6a7a,0x6a7e,0x6a81,0x6a83,0x6a84,0x6a86,0x6a87,0x6a89,0x6a89,0x6a8b,0x6a8b,0x6a8d,0x6a8e,0x6a90,0x6a91,0x6a94,0x6a94,0x6a97,0x6a97,0x6a9b,0x6aa3,0x6aa5,0x6aa5,0x6aaa,0x6aac,0x6aae,0x6ab1,0x6ab3,0x6ab4,0x6ab8,0x6ab8,0x6abb,0x6abb,0x6abd,0x6abf,0x6ac1,0x6ac3,0x6ac6,0x6ac6,0x6ac8,0x6ac9,0x6acc,0x6acc,0x6ad0,0x6ad1,0x6ad3,0x6ad6,0x6ada,0x6adf,0x6ae2,0x6ae2,0x6ae4,0x6ae4,0x6ae7,0x6ae8,0x6aea,0x6aea,0x6aec,0x6aec,0x6af0,0x6af3,0x6af8,0x6af8,0x6afa,0x6afd,0x6b02,0x6b07,0x6b09,0x6b0b,0x6b0f,0x6b12,0x6b16,0x6b17,0x6b1b,0x6b1b,0x6b1d,0x6b21,0x6b23,0x6b24,0x6b27,0x6b28,0x6b2b,0x6b2c,0x6b2f,0x6b2f,0x6b32,0x6b32,0x6b35,0x6b3b,0x6b3d,0x6b3f,0x6b43,0x6b43,0x6b46,0x6b47,0x6b49,0x6b4a,0x6b4c,0x6b4e,0x6b50,0x6b50,0x6b52,0x6b54,0x6b56,0x6b56,0x6b58,0x6b59,0x6b5b,0x6b5b,0x6b5d,0x6b5d,0x6b5f,0x6b67,0x6b69,0x6b6c,0x6b6e,0x6b70,0x6b72,0x6b75,0x6b77,0x6b7b,0x6b7d,0x6b86,0x6b89,0x6b8b,0x6b8d,0x6b8d,0x6b95,0x6b98,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba4,0x6ba8,0x6bb5,0x6bb7,0x6bc0,0x6bc3,0x6bc9,0x6bcb,0x6bcf,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdb,0x6bdf,0x6bdf,0x6be1,0x6be1,0x6be3,0x6be3,0x6be6,0x6be7,0x6beb,0x6bec,0x6bee,0x6bef,0x6bf1,0x6bf1,0x6bf3,0x6bf3,0x6bf7,0x6bf7,0x6bf9,0x6bf9,0x6bff,0x6bff,0x6c02,0x6c02,0x6c04,0x6c05,0x6c08,0x6c0a,0x6c0d,0x6c14,0x6c17,0x6c17,0x6c19,0x6c19,0x6c1b,0x6c1b,0x6c1f,0x6c1f,0x6c23,0x6c24,0x6c26,0x6c28,0x6c2c,0x6c2c,0x6c2e,0x6c2e,0x6c33,0x6c38,0x6c3a,0x6c3b,0x6c3e,0x6c42,0x6c4a,0x6c4b,0x6c4d,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c57,0x6c59,0x6c60,0x6c62,0x6c62,0x6c67,0x6c68,0x6c6a,0x6c6b,0x6c6d,0x6c6d,0x6c6f,0x6c70,0x6c72,0x6c74,0x6c76,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c7e,0x6c81,0x6c89,0x6c8c,0x6c8d,0x6c90,0x6c90,0x6c92,0x6c9c,0x6c9f,0x6c9f,0x6ca1,0x6ca2,0x6caa,0x6cae,0x6cb0,0x6cb4,0x6cb8,0x6cbf,0x6cc1,0x6cc2,0x6cc4,0x6cc6,0x6cc9,0x6cca,0x6ccc,0x6ccd,0x6ccf,0x6cd7,0x6cd9,0x6cdd,0x6ce0,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf4,0x6cfb,0x6cfb,0x6d00,0x6d01,0x6d04,0x6d04,0x6d07,0x6d07,0x6d0a,0x6d0c,0x6d0e,0x6d0f,0x6d11,0x6d13,0x6d17,0x6d17,0x6d19,0x6d1b,0x6d1e,0x6d1f,0x6d24,0x6d2b,0x6d2e,0x6d2f,0x6d31,0x6d36,0x6d38,0x6d39,0x6d3b,0x6d3f,0x6d41,0x6d41,0x6d44,0x6d45,0x6d57,0x6d5c,0x6d5e,0x6d61,0x6d63,0x6d67,0x6d69,0x6d6a,0x6d6c,0x6d6c,0x6d6e,0x6d70,0x6d74,0x6d74,0x6d77,0x6d79,0x6d7c,0x6d7c,0x6d80,0x6d82,0x6d85,0x6d85,0x6d87,0x6d8a,0x6d8c,0x6d8e,0x6d91,0x6d99,0x6d9b,0x6d9c,0x6daa,0x6dac,0x6dae,0x6daf,0x6db2,0x6db2,0x6db4,0x6db5,0x6db7,0x6db9,0x6dbc,0x6dbd,0x6dbf,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dc8,0x6dca,0x6dcc,0x6dce,0x6dd2,0x6dd5,0x6dd6,0x6dd8,0x6ddb,0x6ddd,0x6de2,0x6de4,0x6de6,0x6de8,0x6dec,0x6dee,0x6dfc,0x6e00,0x6e00,0x6e04,0x6e05,0x6e07,0x6e0b,0x6e13,0x6e13,0x6e15,0x6e15,0x6e17,0x6e17,0x6e19,0x6e1b,0x6e1d,0x6e27,0x6e29,0x6e29,0x6e2b,0x6e2f,0x6e32,0x6e32,0x6e34,0x6e34,0x6e36,0x6e36,0x6e38,0x6e3c,0x6e3e,0x6e3e,0x6e42,0x6e45,0x6e48,0x6e4f,0x6e51,0x6e54,0x6e56,0x6e58,0x6e5b,0x6e5f,0x6e62,0x6e63,0x6e67,0x6e68,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e72,0x6e73,0x6e76,0x6e76,0x6e7b,0x6e7b,0x6e7d,0x6e80,0x6e82,0x6e82,0x6e89,0x6e89,0x6e8c,0x6e8d,0x6e8f,0x6e90,0x6e93,0x6e93,0x6e96,0x6e96,0x6e98,0x6e99,0x6e9c,0x6e9d,0x6e9f,0x6ea0,0x6ea2,0x6ea2,0x6ea5,0x6ea5,0x6ea7,0x6ea7,0x6eaa,0x6eab,0x6ead,0x6eaf,0x6eb1,0x6eb4,0x6eb6,0x6eb7,0x6eba,0x6ebd,0x6ebf,0x6ec5,0x6ec7,0x6ecf,0x6ed1,0x6ed1,0x6ed3,0x6ed5,0x6ed9,0x6edb,0x6edd,0x6ede,0x6ee6,0x6ee6,0x6eeb,0x6eef,0x6ef2,0x6ef2,0x6ef4,0x6ef4,0x6ef7,0x6ef9,0x6efb,0x6efb,0x6efd,0x6eff,0x6f01,0x6f02,0x6f04,0x6f04,0x6f06,0x6f06,0x6f08,0x6f0a,0x6f0c,0x6f0d,0x6f0f,0x6f11,0x6f13,0x6f16,0x6f18,0x6f18,0x6f1a,0x6f1b,0x6f20,0x6f20,0x6f22,0x6f23,0x6f25,0x6f26,0x6f29,0x6f2d,0x6f2f,0x6f33,0x6f35,0x6f36,0x6f38,0x6f38,0x6f3b,0x6f3c,0x6f3e,0x6f3f,0x6f41,0x6f41,0x6f45,0x6f45,0x6f4f,0x6f4f,0x6f51,0x6f54,0x6f57,0x6f62,0x6f64,0x6f64,0x6f66,0x6f66,0x6f68,0x6f68,0x6f6c,0x6f70,0x6f74,0x6f74,0x6f78,0x6f78,0x6f7a,0x6f7a,0x6f7c,0x6f7e,0x6f80,0x6f84,0x6f86,0x6f88,0x6f8b,0x6f8e,0x6f90,0x6f94,0x6f96,0x6f98,0x6f9a,0x6f9a,0x6f9d,0x6f9d,0x6f9f,0x6fa1,0x6fa3,0x6fa8,0x6faa,0x6faa,0x6fae,0x6fb1,0x6fb3,0x6fb3,0x6fb5,0x6fb7,0x6fb9,0x6fb9,0x6fbc,0x6fbc,0x6fbe,0x6fbe,0x6fc0,0x6fc3,0x6fc5,0x6fca,0x6fd4,0x6fd5,0x6fd8,0x6fd8,0x6fda,0x6fdb,0x6fde,0x6fe1,0x6fe4,0x6fe4,0x6fe8,0x6fe9,0x6feb,0x6fec,0x6fee,0x6ff1,0x6ff3,0x6ff3,0x6ff5,0x6ff6,0x6ff9,0x6ffa,0x6ffc,0x6ffe,0x7000,0x7001,0x7005,0x7007,0x7009,0x700b,0x700d,0x700d,0x700f,0x700f,0x7011,0x7011,0x7015,0x7015,0x7017,0x7018,0x701a,0x701b,0x701d,0x7020,0x7023,0x7023,0x7026,0x7028,0x702c,0x702c,0x702f,0x7030,0x7032,0x7032,0x7034,0x7034,0x7037,0x7037,0x7039,0x703a,0x703c,0x703c,0x703e,0x703e,0x7043,0x7044,0x7047,0x704c,0x704e,0x704e,0x7051,0x7051,0x7054,0x7055,0x7058,0x7058,0x705d,0x705e,0x7063,0x7065,0x7069,0x7069,0x706b,0x706c,0x706e,0x7070,0x7075,0x7076,0x7078,0x7078,0x707c,0x707e,0x7081,0x7081,0x7085,0x7086,0x7089,0x708a,0x708e,0x708e,0x7092,0x7092,0x7094,0x7099,0x709b,0x709b,0x709f,0x709f,0x70a4,0x70a4,0x70ab,0x70b1,0x70b3,0x70b4,0x70b7,0x70bb,0x70c8,0x70c8,0x70ca,0x70cb,0x70cf,0x70cf,0x70d1,0x70d1,0x70d3,0x70d6,0x70d8,0x70d9,0x70dc,0x70dd,0x70df,0x70df,0x70e4,0x70e4,0x70ec,0x70ec,0x70f1,0x70f1,0x70f9,0x70fa,0x70fd,0x70fd,0x7103,0x7109,0x710b,0x710c,0x710f,0x710f,0x7114,0x7114,0x7119,0x711a,0x711c,0x711c,0x711e,0x711e,0x7120,0x7121,0x7126,0x7126,0x712b,0x712b,0x712d,0x7131,0x7136,0x7136,0x7138,0x7138,0x713c,0x713c,0x7141,0x7141,0x7145,0x7147,0x7149,0x714c,0x714e,0x714e,0x7150,0x7153,0x7155,0x7157,0x7159,0x715a,0x715c,0x715c,0x715e,0x715e,0x7160,0x7160,0x7162,0x7162,0x7164,0x7169,0x716c,0x716c,0x716e,0x716e,0x7179,0x7179,0x717d,0x717d,0x7180,0x7180,0x7184,0x7185,0x7187,0x7188,0x718a,0x718a,0x718c,0x718c,0x718f,0x718f,0x7192,0x7192,0x7194,0x7196,0x7199,0x719b,0x719f,0x71a0,0x71a2,0x71a2,0x71a8,0x71a8,0x71ac,0x71ac,0x71ae,0x71b3,0x71b9,0x71ba,0x71be,0x71c1,0x71c3,0x71c4,0x71c8,0x71c9,0x71cb,0x71cc,0x71ce,0x71ce,0x71d0,0x71d0,0x71d2,0x71d7,0x71d9,0x71da,0x71dc,0x71dc,0x71df,0x71e0,0x71e5,0x71e7,0x71ec,0x71ee,0x71f4,0x71f5,0x71f8,0x71f9,0x71fb,0x71fc,0x71fe,0x7200,0x7206,0x7209,0x720d,0x720d,0x7210,0x7210,0x7213,0x7213,0x7215,0x7215,0x7217,0x7217,0x721a,0x721b,0x721d,0x721d,0x721f,0x721f,0x7224,0x7224,0x7228,0x7228,0x722a,0x722d,0x722f,0x7230,0x7232,0x7232,0x7234,0x7236,0x7238,0x7243,0x7245,0x7248,0x724b,0x724c,0x724e,0x7250,0x7252,0x7253,0x7255,0x7263,0x7267,0x7269,0x726b,0x726b,0x726e,0x726f,0x7271,0x7272,0x7274,0x7274,0x7277,0x7279,0x727b,0x7282,0x7284,0x7284,0x7287,0x7287,0x7289,0x7289,0x728d,0x728e,0x7292,0x7293,0x7296,0x7296,0x729b,0x729b,0x72a0,0x72a0,0x72a2,0x72a2,0x72a7,0x72a8,0x72ac,0x72b2,0x72b4,0x72b4,0x72b6,0x72b6,0x72b9,0x72b9,0x72be,0x72be,0x72c0,0x72c4,0x72c6,0x72c7,0x72c9,0x72c9,0x72cc,0x72cc,0x72ce,0x72ce,0x72d0,0x72d0,0x72d2,0x72d2,0x72d5,0x72d9,0x72db,0x72db,0x72df,0x72e2,0x72e5,0x72e5,0x72e9,0x72e9,0x72ec,0x72ed,0x72f3,0x72f4,0x72f7,0x72fe,0x7302,0x7302,0x7304,0x7305,0x7307,0x7307,0x730a,0x730b,0x730d,0x730d,0x7312,0x7313,0x7316,0x7319,0x731b,0x731f,0x7322,0x7322,0x7324,0x7325,0x7327,0x732c,0x732e,0x732f,0x7331,0x7337,0x7339,0x733b,0x733d,0x733f,0x7343,0x7345,0x734d,0x7350,0x7352,0x7352,0x7356,0x7358,0x735d,0x7360,0x7363,0x7363,0x7366,0x736c,0x736e,0x7372,0x7375,0x7375,0x7377,0x737c,0x7380,0x7381,0x7383,0x7387,0x7389,0x738b,0x738e,0x738e,0x7390,0x7390,0x7393,0x7398,0x739c,0x739c,0x739e,0x73a0,0x73a2,0x73a2,0x73a5,0x73a6,0x73a8,0x73ab,0x73ad,0x73ad,0x73b2,0x73b3,0x73b5,0x73b5,0x73b7,0x73b7,0x73b9,0x73bd,0x73bf,0x73c0,0x73c2,0x73c2,0x73c5,0x73c6,0x73c8,0x73cf,0x73d2,0x73d3,0x73d6,0x73d6,0x73d9,0x73d9,0x73dd,0x73de,0x73e0,0x73e1,0x73e3,0x73e7,0x73e9,0x73ea,0x73ed,0x73ee,0x73f1,0x73f1,0x73f4,0x73f5,0x73f7,0x73fb,0x73fd,0x7401,0x7403,0x7407,0x7409,0x740a,0x7411,0x7411,0x7413,0x7413,0x741a,0x741b,0x7421,0x7422,0x7424,0x7426,0x7428,0x7436,0x7439,0x743a,0x743f,0x7441,0x7443,0x7444,0x7446,0x7447,0x744b,0x744b,0x744d,0x744d,0x7451,0x7453,0x7455,0x7455,0x7457,0x7457,0x7459,0x7460,0x7462,0x7464,0x7466,0x746b,0x746d,0x7473,0x7476,0x7476,0x747e,0x747e,0x7480,0x7481,0x7483,0x7483,0x7485,0x7489,0x748b,0x748b,0x748f,0x7492,0x7497,0x749a,0x749c,0x749c,0x749e,0x74a3,0x74a5,0x74ab,0x74ae,0x74b2,0x74b5,0x74b5,0x74b9,0x74bb,0x74bd,0x74bd,0x74bf,0x74bf,0x74c8,0x74ca,0x74cc,0x74cc,0x74cf,0x74d0,0x74d3,0x74d4,0x74d6,0x74d6,0x74d8,0x74d8,0x74da,0x74dc,0x74de,0x74e0,0x74e2,0x74e4,0x74e6,0x74eb,0x74ee,0x74f2,0x74f4,0x74f4,0x74f6,0x74f8,0x74fa,0x74fc,0x74ff,0x74ff,0x7501,0x7501,0x7503,0x7506,0x750c,0x750e,0x7511,0x7513,0x7515,0x7518,0x751a,0x751a,0x751c,0x751c,0x751e,0x752c,0x752f,0x7533,0x7536,0x7540,0x7543,0x7544,0x7546,0x7552,0x7554,0x7554,0x7557,0x7557,0x7559,0x7562,0x7564,0x7567,0x7569,0x756d,0x756f,0x757f,0x7581,0x7582,0x7585,0x7587,0x7589,0x758c,0x758e,0x7595,0x7599,0x759a,0x759c,0x759d,0x75a2,0x75a5,0x75ab,0x75ab,0x75b0,0x75b5,0x75b7,0x75ba,0x75bc,0x75c7,0x75ca,0x75ca,0x75cc,0x75cf,0x75d2,0x75d5,0x75d7,0x75d9,0x75db,0x75e4,0x75e7,0x75e7,0x75e9,0x75e9,0x75ec,0x75ec,0x75ee,0x75f4,0x75f9,0x75fa,0x75fc,0x75fc,0x75fe,0x7604,0x7607,0x760d,0x760f,0x760f,0x7612,0x7613,0x7615,0x7616,0x7618,0x7619,0x761b,0x7629,0x762d,0x762d,0x7630,0x7630,0x7632,0x7635,0x7638,0x763c,0x7640,0x764c,0x764e,0x764e,0x7652,0x7652,0x7655,0x7656,0x7658,0x7659,0x765c,0x765c,0x765f,0x765f,0x7661,0x7662,0x7664,0x7665,0x7667,0x766a,0x766c,0x7672,0x7674,0x7674,0x7676,0x7676,0x7678,0x7678,0x767a,0x767e,0x7680,0x7688,0x768b,0x768e,0x7690,0x7690,0x7693,0x7693,0x7695,0x7696,0x7699,0x76a8,0x76aa,0x76aa,0x76ad,0x76b0,0x76b4,0x76b4,0x76b6,0x76ba,0x76bd,0x76bd,0x76bf,0x76bf,0x76c1,0x76c3,0x76c5,0x76c6,0x76c8,0x76ce,0x76d2,0x76d2,0x76d4,0x76d4,0x76d6,0x76d7,0x76d9,0x76d9,0x76db,0x76dc,0x76de,0x76e1,0x76e3,0x76e8,0x76ea,0x76ec,0x76ee,0x76ee,0x76f0,0x76f2,0x76f4,0x76f4,0x76f6,0x76f6,0x76f8,0x76f9,0x76fb,0x76fc,0x76fe,0x76fe,0x7700,0x7701,0x7704,0x7704,0x7706,0x770c,0x770e,0x770e,0x7712,0x7712,0x7714,0x7715,0x7717,0x7717,0x7719,0x771c,0x771e,0x7720,0x7722,0x7722,0x7724,0x7726,0x7728,0x7729,0x772d,0x772f,0x7734,0x773a,0x773c,0x773e,0x7740,0x7740,0x7742,0x7742,0x7745,0x7747,0x774a,0x774a,0x774d,0x774f,0x7752,0x7752,0x7756,0x7758,0x775a,0x775c,0x775e,0x7768,0x776a,0x776c,0x7770,0x7770,0x7772,0x7774,0x7779,0x777a,0x777c,0x7780,0x7784,0x7784,0x778b,0x778e,0x7791,0x7791,0x7794,0x7796,0x779a,0x779a,0x779e,0x77a0,0x77a2,0x77a2,0x77a4,0x77a5,0x77a7,0x77a7,0x77a9,0x77aa,0x77ac,0x77b1,0x77b3,0x77b3,0x77b5,0x77b7,0x77b9,0x77b9,0x77bb,0x77bf,0x77c3,0x77c3,0x77c7,0x77c7,0x77c9,0x77c9,0x77cd,0x77cd,0x77d1,0x77d2,0x77d5,0x77d5,0x77d7,0x77d7,0x77d9,0x77dc,0x77de,0x77e0,0x77e2,0x77e7,0x77e9,0x77ea,0x77ec,0x77f1,0x77f3,0x77f4,0x77f8,0x77f8,0x77fb,0x77fc,0x7802,0x7802,0x7805,0x7806,0x7809,0x7809,0x780c,0x780e,0x7811,0x7812,0x7814,0x7815,0x7819,0x7819,0x781d,0x781d,0x7820,0x7823,0x7825,0x7827,0x782c,0x782e,0x7830,0x7830,0x7832,0x7832,0x7834,0x7835,0x7837,0x7837,0x783a,0x783a,0x783f,0x783f,0x7843,0x7845,0x7847,0x7848,0x784c,0x784c,0x784e,0x784f,0x7851,0x7852,0x785c,0x785e,0x7860,0x7861,0x7863,0x7864,0x7868,0x7868,0x786a,0x786c,0x786e,0x786f,0x7872,0x7872,0x7874,0x7874,0x787a,0x787a,0x787c,0x787c,0x787e,0x787e,0x7881,0x7881,0x7886,0x7887,0x788a,0x788a,0x788c,0x788f,0x7891,0x7891,0x7893,0x7895,0x7897,0x7898,0x789a,0x789a,0x789d,0x789f,0x78a1,0x78a1,0x78a3,0x78a4,0x78a7,0x78aa,0x78ac,0x78ad,0x78af,0x78b3,0x78b5,0x78b5,0x78ba,0x78bf,0x78c1,0x78c1,0x78c5,0x78cc,0x78ce,0x78ce,0x78d0,0x78d6,0x78da,0x78db,0x78df,0x78e1,0x78e4,0x78e4,0x78e6,0x78e8,0x78ea,0x78ea,0x78ec,0x78ec,0x78ef,0x78ef,0x78f2,0x78f4,0x78f6,0x78f7,0x78f9,0x78fb,0x78fd,0x7901,0x7906,0x7907,0x790c,0x790c,0x790e,0x790e,0x7910,0x7912,0x7919,0x791c,0x791e,0x7920,0x7925,0x792e,0x7930,0x7931,0x7934,0x7935,0x793a,0x7942,0x7944,0x794b,0x794f,0x7951,0x7953,0x7958,0x795a,0x7960,0x7962,0x7962,0x7965,0x7965,0x7967,0x7969,0x796b,0x796b,0x796d,0x796d,0x7972,0x7972,0x7977,0x7977,0x7979,0x797c,0x797e,0x7981,0x7984,0x7985,0x798a,0x798f,0x7991,0x7991,0x7993,0x7996,0x7998,0x7998,0x799b,0x799d,0x79a1,0x79a1,0x79a6,0x79ab,0x79ae,0x79b1,0x79b3,0x79b4,0x79b8,0x79bb,0x79bd,0x79c2,0x79c4,0x79c4,0x79c7,0x79cd,0x79cf,0x79cf,0x79d1,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79da,0x79da,0x79dd,0x79e7,0x79e9,0x79ed,0x79f0,0x79f1,0x79f8,0x79f8,0x79fb,0x79fc,0x7a00,0x7a00,0x7a02,0x7a03,0x7a05,0x7a05,0x7a07,0x7a0e,0x7a11,0x7a11,0x7a14,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a21,0x7a27,0x7a27,0x7a2b,0x7a2b,0x7a2d,0x7a32,0x7a34,0x7a35,0x7a37,0x7a40,0x7a42,0x7a49,0x7a4c,0x7a50,0x7a55,0x7a57,0x7a59,0x7a59,0x7a5c,0x7a5d,0x7a5f,0x7a63,0x7a65,0x7a65,0x7a67,0x7a67,0x7a69,0x7a6b,0x7a6d,0x7a6d,0x7a70,0x7a70,0x7a74,0x7a76,0x7a78,0x7a7a,0x7a7d,0x7a86,0x7a88,0x7a88,0x7a8a,0x7a8b,0x7a90,0x7a98,0x7a9e,0x7aa0,0x7aa3,0x7aa3,0x7aa9,0x7aaa,0x7aac,0x7aac,0x7aae,0x7ab0,0x7ab3,0x7ab3,0x7ab5,0x7ab6,0x7ab9,0x7abf,0x7ac3,0x7acf,0x7ad1,0x7ad3,0x7ad5,0x7ad5,0x7ad9,0x7add,0x7adf,0x7ae3,0x7ae5,0x7aed,0x7aef,0x7af1,0x7af4,0x7af4,0x7af6,0x7af6,0x7af8,0x7afb,0x7afd,0x7aff,0x7b02,0x7b02,0x7b04,0x7b04,0x7b06,0x7b08,0x7b0a,0x7b0b,0x7b0f,0x7b0f,0x7b11,0x7b12,0x7b14,0x7b14,0x7b18,0x7b19,0x7b1b,0x7b1b,0x7b1e,0x7b20,0x7b23,0x7b23,0x7b25,0x7b31,0x7b33,0x7b36,0x7b39,0x7b39,0x7b3b,0x7b3b,0x7b3d,0x7b3d,0x7b3f,0x7b41,0x7b45,0x7b49,0x7b4b,0x7b56,0x7b5d,0x7b5d,0x7b60,0x7b60,0x7b64,0x7b67,0x7b69,0x7b6a,0x7b6c,0x7b75,0x7b77,0x7b77,0x7b79,0x7b7a,0x7b7f,0x7b7f,0x7b84,0x7b84,0x7b86,0x7b87,0x7b89,0x7b89,0x7b8b,0x7b8b,0x7b8d,0x7b92,0x7b94,0x7ba1,0x7ba5,0x7ba5,0x7baa,0x7baa,0x7bac,0x7bad,0x7baf,0x7bb2,0x7bb4,0x7bb6,0x7bb8,0x7bb8,0x7bba,0x7bbd,0x7bc0,0x7bc2,0x7bc4,0x7bcc,0x7bcf,0x7bcf,0x7bd4,0x7bd4,0x7bd6,0x7bd7,0x7bd9,0x7bdb,0x7bdd,0x7bdd,0x7be0,0x7be0,0x7be4,0x7be6,0x7be8,0x7bea,0x7bed,0x7bed,0x7bf0,0x7bf0,0x7bf2,0x7bfa,0x7bfc,0x7bfc,0x7bfe,0x7bfe,0x7c00,0x7c04,0x7c06,0x7c07,0x7c09,0x7c09,0x7c0b,0x7c0f,0x7c11,0x7c14,0x7c17,0x7c17,0x7c19,0x7c19,0x7c1b,0x7c1b,0x7c1e,0x7c21,0x7c23,0x7c23,0x7c25,0x7c28,0x7c2a,0x7c2c,0x7c2f,0x7c2f,0x7c31,0x7c31,0x7c33,0x7c34,0x7c36,0x7c3a,0x7c3d,0x7c40,0x7c42,0x7c43,0x7c45,0x7c46,0x7c4a,0x7c4a,0x7c4c,0x7c4d,0x7c4f,0x7c61,0x7c63,0x7c65,0x7c67,0x7c67,0x7c69,0x7c69,0x7c6c,0x7c70,0x7c72,0x7c73,0x7c75,0x7c75,0x7c79,0x7c79,0x7c7b,0x7c7e,0x7c81,0x7c83,0x7c86,0x7c87,0x7c89,0x7c89,0x7c8b,0x7c8b,0x7c8d,0x7c8d,0x7c8f,0x7c90,0x7c92,0x7c92,0x7c94,0x7c95,0x7c97,0x7c98,0x7c9b,0x7c9b,0x7c9e,0x7ca2,0x7ca4,0x7ca8,0x7cab,0x7cab,0x7cad,0x7cae,0x7cb0,0x7cb3,0x7cb6,0x7cb7,0x7cb9,0x7cc0,0x7cc2,0x7cc2,0x7cc4,0x7cc5,0x7cc7,0x7cca,0x7ccd,0x7ccf,0x7cd2,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce7,0x7ce9,0x7ce9,0x7ceb,0x7ceb,0x7cef,0x7cef,0x7cf2,0x7cf2,0x7cf4,0x7cf6,0x7cf8,0x7cfb,0x7cfe,0x7cfe,0x7d00,0x7d00,0x7d02,0x7d0b,0x7d0d,0x7d0d,0x7d0f,0x7d1e,0x7d20,0x7d23,0x7d26,0x7d26,0x7d2a,0x7d33,0x7d35,0x7d35,0x7d39,0x7d3a,0x7d3c,0x7d48,0x7d4b,0x7d51,0x7d53,0x7d53,0x7d55,0x7d57,0x7d59,0x7d5e,0x7d61,0x7d63,0x7d65,0x7d68,0x7d6a,0x7d6a,0x7d6e,0x7d6e,0x7d70,0x7d73,0x7d75,0x7d76,0x7d78,0x7d7b,0x7d7d,0x7d7d,0x7d7f,0x7d7f,0x7d81,0x7d83,0x7d85,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8d,0x7d8f,0x7d8f,0x7d91,0x7d91,0x7d93,0x7d93,0x7d96,0x7d97,0x7d99,0x7da0,0x7da2,0x7da3,0x7da6,0x7da7,0x7daa,0x7dbb,0x7dbd,0x7dc0,0x7dc2,0x7dc7,0x7dca,0x7dd2,0x7dd5,0x7dda,0x7ddc,0x7dde,0x7de0,0x7de6,0x7de8,0x7ded,0x7def,0x7def,0x7df1,0x7df2,0x7df4,0x7df6,0x7df9,0x7dfb,0x7e00,0x7e01,0x7e04,0x7e05,0x7e08,0x7e0b,0x7e10,0x7e12,0x7e15,0x7e15,0x7e17,0x7e17,0x7e1b,0x7e23,0x7e26,0x7e28,0x7e2b,0x7e2f,0x7e31,0x7e33,0x7e35,0x7e37,0x7e39,0x7e3b,0x7e3d,0x7e3f,0x7e41,0x7e41,0x7e43,0x7e48,0x7e4a,0x7e4b,0x7e4d,0x7e4e,0x7e50,0x7e50,0x7e52,0x7e52,0x7e54,0x7e56,0x7e58,0x7e5a,0x7e5d,0x7e5f,0x7e61,0x7e62,0x7e65,0x7e67,0x7e69,0x7e6b,0x7e6d,0x7e70,0x7e73,0x7e73,0x7e75,0x7e75,0x7e78,0x7e79,0x7e7b,0x7e7f,0x7e81,0x7e83,0x7e86,0x7e8a,0x7e8c,0x7e96,0x7e98,0x7e98,0x7e9a,0x7e9f,0x7f36,0x7f36,0x7f38,0x7f38,0x7f3a,0x7f3f,0x7f43,0x7f45,0x7f47,0x7f47,0x7f4c,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f5d,0x7f5f,0x7f61,0x7f63,0x7f6b,0x7f6d,0x7f6e,0x7f70,0x7f72,0x7f75,0x7f75,0x7f77,0x7f79,0x7f7d,0x7f80,0x7f82,0x7f83,0x7f85,0x7f88,0x7f8a,0x7f91,0x7f94,0x7f94,0x7f96,0x7f97,0x7f9a,0x7f9a,0x7f9c,0x7f9e,0x7fa1,0x7fa4,0x7fa6,0x7fa6,0x7fa8,0x7faa,0x7fad,0x7faf,0x7fb2,0x7fb2,0x7fb4,0x7fb4,0x7fb6,0x7fb6,0x7fb8,0x7fb9,0x7fbc,0x7fbd,0x7fbf,0x7fc1,0x7fc3,0x7fc3,0x7fc5,0x7fc6,0x7fc8,0x7fc8,0x7fca,0x7fca,0x7fcc,0x7fcc,0x7fce,0x7fcf,0x7fd2,0x7fd2,0x7fd4,0x7fd5,0x7fdb,0x7fdb,0x7fdf,0x7fe1,0x7fe3,0x7fe3,0x7fe5,0x7fe6,0x7fe8,0x7fe9,0x7feb,0x7fec,0x7fee,0x7ff0,0x7ff2,0x7ff3,0x7ff9,0x8008,0x800a,0x8019,0x801c,0x8021,0x8024,0x8024,0x8026,0x8026,0x8028,0x8028,0x802c,0x802c,0x802e,0x802e,0x8030,0x8030,0x8033,0x8037,0x8039,0x8040,0x8043,0x8044,0x8046,0x8046,0x804a,0x804a,0x8052,0x8052,0x8056,0x8056,0x8058,0x8058,0x805a,0x805a,0x805e,0x8062,0x8064,0x8064,0x8066,0x8066,0x8068,0x8068,0x806d,0x806d,0x806f,0x8077,0x8079,0x8079,0x807b,0x807b,0x807d,0x8081,0x8084,0x8089,0x808b,0x808c,0x808e,0x808e,0x8093,0x8093,0x8096,0x8096,0x8098,0x809e,0x80a1,0x80a2,0x80a4,0x80a7,0x80a9,0x80ad,0x80af,0x80af,0x80b1,0x80b2,0x80b4,0x80b4,0x80b8,0x80ba,0x80c3,0x80c6,0x80c8,0x80c8,0x80ca,0x80ca,0x80cc,0x80cf,0x80d2,0x80d2,0x80d4,0x80db,0x80dd,0x80de,0x80e0,0x80e1,0x80e4,0x80e6,0x80ed,0x80fe,0x8101,0x8103,0x8105,0x810b,0x810d,0x810d,0x8116,0x8118,0x811a,0x811c,0x811e,0x811e,0x8120,0x8120,0x8123,0x8124,0x8127,0x8127,0x8129,0x8129,0x812b,0x812c,0x812f,0x8131,0x8133,0x8133,0x8135,0x8135,0x8139,0x813a,0x813c,0x813e,0x8141,0x8141,0x8145,0x8147,0x814a,0x814c,0x814e,0x814e,0x8150,0x8155,0x8157,0x8157,0x815f,0x8161,0x8165,0x8169,0x816b,0x816b,0x816d,0x8171,0x8173,0x8174,0x8177,0x817a,0x817f,0x8186,0x8188,0x8188,0x818a,0x818b,0x818e,0x8190,0x8193,0x8193,0x8195,0x8196,0x8198,0x8198,0x819a,0x819e,0x81a0,0x81a0,0x81a2,0x81a4,0x81a8,0x81a9,0x81ae,0x81ae,0x81b0,0x81b0,0x81b2,0x81b5,0x81b8,0x81b8,0x81ba,0x81bb,0x81bd,0x81c3,0x81c5,0x81c6,0x81c8,0x81cb,0x81cd,0x81cf,0x81d1,0x81d1,0x81d3,0x81d3,0x81d5,0x81db,0x81dd,0x81e1,0x81e3,0x81e5,0x81e7,0x81e8,0x81ea,0x81ed,0x81ef,0x81f6,0x81f8,0x8205,0x8207,0x8210,0x8212,0x8214,0x8216,0x821f,0x8221,0x8222,0x8228,0x822c,0x822e,0x822e,0x8232,0x823a,0x823c,0x823c,0x8240,0x8240,0x8243,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x824f,0x8251,0x8251,0x8256,0x825a,0x825c,0x825d,0x825f,0x8260,0x8262,0x8264,0x8266,0x8268,0x826a,0x826b,0x826d,0x826f,0x8271,0x8272,0x8274,0x8274,0x8276,0x8279,0x827b,0x827b,0x827d,0x8281,0x8283,0x8284,0x8287,0x8287,0x8289,0x828b,0x828d,0x828e,0x8291,0x8294,0x8296,0x8296,0x8298,0x829b,0x829d,0x829d,0x829f,0x82a1,0x82a3,0x82b4,0x82b7,0x82bf,0x82c5,0x82c6,0x82d0,0x82d5,0x82d7,0x82d7,0x82d9,0x82dc,0x82de,0x82e8,0x82ea,0x82eb,0x82ed,0x82ed,0x82ef,0x82ef,0x82f1,0x82f1,0x82f3,0x82f4,0x82f6,0x82f7,0x82f9,0x82fb,0x82fd,0x82fe,0x8300,0x830c,0x830e,0x830e,0x8316,0x8318,0x831b,0x831f,0x8321,0x8323,0x8328,0x8328,0x832b,0x833a,0x833c,0x833d,0x8340,0x8340,0x8342,0x8347,0x8349,0x834a,0x834d,0x8358,0x835a,0x835a,0x8362,0x8363,0x8370,0x8370,0x8373,0x8373,0x8375,0x8375,0x8377,0x8378,0x837b,0x837d,0x837f,0x8380,0x8382,0x8382,0x8384,0x8387,0x8389,0x838a,0x838d,0x838e,0x8392,0x8396,0x8398,0x83a0,0x83a2,0x83a2,0x83a6,0x83ad,0x83b1,0x83b1,0x83b5,0x83b5,0x83bd,0x83c1,0x83c5,0x83c5,0x83c7,0x83c7,0x83c9,0x83ca,0x83cc,0x83cc,0x83ce,0x83d1,0x83d3,0x83d4,0x83d6,0x83d6,0x83d8,0x83d8,0x83dc,0x83dd,0x83df,0x83e1,0x83e5,0x83e5,0x83e8,0x83eb,0x83ef,0x83f2,0x83f4,0x83f4,0x83f6,0x83f9,0x83fb,0x83fd,0x8401,0x8401,0x8403,0x8404,0x8406,0x8407,0x840a,0x840f,0x8411,0x8411,0x8413,0x8413,0x8415,0x8415,0x8417,0x8417,0x8419,0x8419,0x8420,0x8420,0x8422,0x8422,0x8429,0x842a,0x842c,0x842c,0x842f,0x842f,0x8431,0x8431,0x8435,0x8435,0x8438,0x8439,0x843c,0x843d,0x8445,0x844a,0x844d,0x844f,0x8451,0x8452,0x8456,0x845c,0x845f,0x8467,0x8469,0x8471,0x8473,0x847a,0x847c,0x847d,0x8481,0x8482,0x8484,0x8485,0x848b,0x848b,0x8490,0x8490,0x8492,0x8495,0x8497,0x8497,0x8499,0x8499,0x849c,0x849c,0x849e,0x849f,0x84a1,0x84a1,0x84a6,0x84a6,0x84a8,0x84aa,0x84ad,0x84ad,0x84af,0x84af,0x84b1,0x84b2,0x84b4,0x84b4,0x84b8,0x84c2,0x84c4,0x84c4,0x84c6,0x84d1,0x84d3,0x84d3,0x84d6,0x84d6,0x84d9,0x84da,0x84dc,0x84dc,0x84e7,0x84e7,0x84ea,0x84ea,0x84ec,0x84ec,0x84ee,0x84f2,0x84f4,0x84f4,0x84f7,0x84f7,0x84fa,0x84fd,0x84ff,0x8500,0x8502,0x8503,0x8506,0x8507,0x850c,0x850c,0x850e,0x850e,0x8510,0x8511,0x8513,0x8515,0x8517,0x8518,0x851a,0x851c,0x851e,0x851f,0x8521,0x8527,0x852a,0x852d,0x852f,0x852f,0x8532,0x8536,0x853d,0x8541,0x8543,0x8543,0x8546,0x8546,0x8548,0x854b,0x854e,0x8553,0x8555,0x855a,0x855c,0x8564,0x8568,0x856b,0x856d,0x856d,0x856f,0x856f,0x8577,0x8577,0x8579,0x857b,0x857d,0x8581,0x8584,0x858c,0x858f,0x8591,0x8593,0x8594,0x8597,0x8599,0x859b,0x859d,0x859f,0x85a0,0x85a2,0x85a2,0x85a4,0x85b0,0x85b4,0x85b4,0x85b6,0x85ba,0x85bc,0x85bf,0x85c1,0x85c2,0x85c7,0x85c7,0x85c9,0x85cb,0x85cd,0x85d0,0x85d5,0x85d5,0x85d8,0x85da,0x85dc,0x85dd,0x85df,0x85e1,0x85e4,0x85e6,0x85e8,0x85ea,0x85ed,0x85ed,0x85f3,0x85f4,0x85f6,0x85f7,0x85f9,0x85fc,0x85fe,0x8600,0x8602,0x8602,0x8604,0x8607,0x860a,0x860b,0x860d,0x860e,0x8610,0x8613,0x8616,0x861b,0x861e,0x861e,0x8621,0x8622,0x8624,0x8624,0x8627,0x8627,0x8629,0x8629,0x862d,0x862d,0x862f,0x8630,0x8636,0x8636,0x8638,0x863a,0x863c,0x863d,0x863f,0x8642,0x8646,0x8646,0x864d,0x864e,0x8650,0x8650,0x8652,0x8664,0x8667,0x8667,0x8669,0x8669,0x866b,0x866c,0x866f,0x866f,0x8671,0x8671,0x8675,0x8677,0x8679,0x867b,0x867d,0x867d,0x8687,0x868d,0x8691,0x8691,0x8693,0x8693,0x8695,0x8696,0x8698,0x8698,0x869a,0x869a,0x869c,0x869d,0x86a1,0x86a1,0x86a3,0x86a4,0x86a6,0x86ab,0x86ad,0x86ad,0x86af,0x86b1,0x86b3,0x86b9,0x86bf,0x86c1,0x86c3,0x86c7,0x86c9,0x86c9,0x86cb,0x86cb,0x86cd,0x86ce,0x86d1,0x86d2,0x86d4,0x86d5,0x86d7,0x86d7,0x86d9,0x86dc,0x86de,0x86e0,0x86e3,0x86e7,0x86e9,0x86e9,0x86ec,0x86ef,0x86f8,0x86fe,0x8700,0x8700,0x8702,0x870b,0x870d,0x8714,0x8718,0x871a,0x871c,0x871c,0x871e,0x871f,0x8721,0x8723,0x8725,0x8725,0x8728,0x8729,0x872e,0x872f,0x8731,0x8732,0x8734,0x8734,0x8737,0x8737,0x8739,0x8740,0x8743,0x8743,0x8745,0x8745,0x8749,0x8749,0x874b,0x874e,0x8751,0x8751,0x8753,0x8753,0x8755,0x8755,0x8757,0x8759,0x875d,0x875d,0x875f,0x8761,0x8763,0x8766,0x8768,0x8768,0x876a,0x876a,0x876e,0x876f,0x8771,0x8772,0x8774,0x8774,0x8776,0x8776,0x8778,0x8778,0x877b,0x877c,0x877f,0x877f,0x8782,0x8789,0x878b,0x878e,0x8790,0x8790,0x8793,0x8793,0x8795,0x8795,0x8797,0x8799,0x879e,0x87a0,0x87a2,0x87a3,0x87a7,0x87a7,0x87ab,0x87af,0x87b1,0x87b1,0x87b3,0x87b3,0x87b5,0x87b5,0x87ba,0x87bb,0x87bd,0x87c1,0x87c4,0x87c4,0x87c6,0x87cb,0x87ce,0x87ce,0x87d0,0x87d0,0x87d2,0x87d2,0x87d5,0x87d6,0x87d9,0x87da,0x87dc,0x87dc,0x87df,0x87e0,0x87e2,0x87e6,0x87ea,0x87ed,0x87ef,0x87ef,0x87f1,0x87f3,0x87f5,0x87fb,0x87fe,0x87ff,0x8801,0x8801,0x8803,0x8803,0x8805,0x8807,0x8809,0x880b,0x880d,0x8816,0x8818,0x881c,0x881e,0x881f,0x8821,0x8823,0x8827,0x8828,0x882d,0x882e,0x8830,0x8832,0x8835,0x8836,0x8839,0x883c,0x8840,0x8846,0x8848,0x884e,0x8851,0x8853,0x8855,0x8864,0x8868,0x8869,0x886b,0x886b,0x886e,0x8872,0x8875,0x8875,0x8877,0x8877,0x8879,0x8879,0x887b,0x887b,0x887d,0x8882,0x8888,0x8888,0x888b,0x888b,0x888d,0x888d,0x8892,0x8892,0x8896,0x889c,0x889e,0x88a0,0x88a2,0x88a2,0x88a4,0x88a4,0x88a8,0x88a8,0x88aa,0x88ab,0x88ae,0x88ae,0x88b0,0x88b1,0x88b4,0x88b5,0x88b7,0x88b7,0x88ba,0x88ba,0x88bc,0x88c6,0x88ca,0x88cf,0x88d1,0x88d5,0x88d8,0x88d9,0x88db,0x88e1,0x88e7,0x88e8,0x88ef,0x88f5,0x88f7,0x88f9,0x88fc,0x88fe,0x8901,0x8902,0x8904,0x8904,0x8906,0x8907,0x890a,0x890a,0x890c,0x8910,0x8912,0x8913,0x8915,0x8916,0x8918,0x891a,0x891c,0x891e,0x8920,0x8920,0x8925,0x8928,0x892a,0x892b,0x8930,0x8932,0x8935,0x893b,0x893e,0x893e,0x8940,0x8946,0x8949,0x8949,0x894c,0x894d,0x894f,0x894f,0x8952,0x8952,0x8956,0x8957,0x895a,0x895c,0x895e,0x8964,0x8966,0x8966,0x896a,0x896b,0x896d,0x8970,0x8972,0x8975,0x8977,0x8977,0x897a,0x8981,0x8983,0x8983,0x8986,0x898b,0x898d,0x898d,0x898f,0x8990,0x8993,0x8998,0x899a,0x899c,0x899f,0x89a1,0x89a5,0x89a7,0x89a9,0x89aa,0x89ac,0x89ac,0x89af,0x89b0,0x89b2,0x89b7,0x89ba,0x89ba,0x89bc,0x89bd,0x89bf,0x89c1,0x89d2,0x89d2,0x89d4,0x89d8,0x89da,0x89da,0x89dc,0x89dd,0x89e3,0x89e3,0x89e5,0x89e7,0x89e9,0x89e9,0x89eb,0x89eb,0x89ed,0x89ed,0x89f1,0x89f1,0x89f3,0x89f4,0x89f6,0x89f6,0x89f8,0x89f9,0x89fd,0x89fd,0x89ff,0x8a05,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a18,0x8a1b,0x8a1b,0x8a1d,0x8a26,0x8a2a,0x8a2d,0x8a2f,0x8a2f,0x8a31,0x8a31,0x8a33,0x8a37,0x8a3a,0x8a3e,0x8a40,0x8a41,0x8a43,0x8a43,0x8a45,0x8a49,0x8a4d,0x8a4e,0x8a50,0x8a58,0x8a5b,0x8a5e,0x8a60,0x8a63,0x8a65,0x8a67,0x8a69,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a73,0x8a75,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a80,0x8a82,0x8a87,0x8a89,0x8a89,0x8a8b,0x8a8d,0x8a8f,0x8a93,0x8a95,0x8a9a,0x8a9e,0x8aa1,0x8aa3,0x8aaa,0x8aac,0x8ab0,0x8ab2,0x8ab3,0x8ab6,0x8ab7,0x8ab9,0x8ab9,0x8abb,0x8abc,0x8abe,0x8abf,0x8ac2,0x8ac4,0x8ac6,0x8acd,0x8acf,0x8ad7,0x8ada,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae7,0x8aeb,0x8aee,0x8af0,0x8af1,0x8af3,0x8af8,0x8afa,0x8afa,0x8afc,0x8afc,0x8afe,0x8b02,0x8b04,0x8b07,0x8b0a,0x8b11,0x8b14,0x8b14,0x8b16,0x8b17,0x8b19,0x8b21,0x8b26,0x8b26,0x8b28,0x8b28,0x8b2b,0x8b2d,0x8b30,0x8b30,0x8b33,0x8b33,0x8b37,0x8b37,0x8b39,0x8b39,0x8b3c,0x8b3c,0x8b3e,0x8b3e,0x8b41,0x8b46,0x8b48,0x8b49,0x8b4c,0x8b4f,0x8b51,0x8b54,0x8b56,0x8b56,0x8b58,0x8b5c,0x8b5e,0x8b5f,0x8b63,0x8b63,0x8b66,0x8b66,0x8b69,0x8b69,0x8b6b,0x8b6d,0x8b6f,0x8b72,0x8b74,0x8b74,0x8b76,0x8b79,0x8b7c,0x8b81,0x8b83,0x8b85,0x8b8a,0x8b90,0x8b92,0x8b96,0x8b99,0x8b9a,0x8b9c,0x8ba0,0x8c37,0x8c3a,0x8c3d,0x8c3f,0x8c41,0x8c41,0x8c45,0x8c4c,0x8c4e,0x8c51,0x8c53,0x8c55,0x8c57,0x8c5b,0x8c5d,0x8c5d,0x8c61,0x8c64,0x8c66,0x8c66,0x8c68,0x8c6d,0x8c73,0x8c73,0x8c75,0x8c76,0x8c78,0x8c7c,0x8c7e,0x8c7e,0x8c82,0x8c82,0x8c85,0x8c87,0x8c89,0x8c8e,0x8c90,0x8c90,0x8c92,0x8c94,0x8c98,0x8c99,0x8c9b,0x8ca2,0x8ca4,0x8ca4,0x8ca7,0x8cb0,0x8cb2,0x8cb4,0x8cb6,0x8cbd,0x8cbf,0x8ccb,0x8ccd,0x8ccf,0x8cd1,0x8cd3,0x8cd5,0x8cd6,0x8cd9,0x8cde,0x8ce0,0x8ce4,0x8ce6,0x8ce6,0x8ce8,0x8ce8,0x8cea,0x8cea,0x8cec,0x8ced,0x8cef,0x8cf2,0x8cf4,0x8cf5,0x8cf7,0x8cf8,0x8cfa,0x8cff,0x8d01,0x8d01,0x8d03,0x8d05,0x8d07,0x8d0b,0x8d0d,0x8d10,0x8d12,0x8d14,0x8d16,0x8d17,0x8d1b,0x8d1d,0x8d64,0x8d67,0x8d69,0x8d69,0x8d6b,0x8d6e,0x8d70,0x8d71,0x8d73,0x8d74,0x8d76,0x8d77,0x8d7f,0x8d7f,0x8d81,0x8d82,0x8d84,0x8d85,0x8d88,0x8d88,0x8d8a,0x8d8a,0x8d8d,0x8d8d,0x8d90,0x8d91,0x8d95,0x8d95,0x8d99,0x8d99,0x8d9e,0x8da0,0x8da3,0x8da3,0x8da6,0x8da6,0x8da8,0x8da8,0x8dab,0x8dac,0x8daf,0x8daf,0x8db2,0x8db3,0x8db5,0x8db5,0x8db7,0x8db7,0x8db9,0x8dbc,0x8dbe,0x8dbe,0x8dc0,0x8dc0,0x8dc2,0x8dc2,0x8dc5,0x8dc8,0x8dca,0x8dcc,0x8dce,0x8dcf,0x8dd1,0x8dd1,0x8dd4,0x8dd7,0x8dd9,0x8ddb,0x8ddd,0x8ddd,0x8ddf,0x8ddf,0x8de1,0x8de1,0x8de3,0x8de5,0x8de7,0x8de8,0x8dea,0x8dec,0x8def,0x8df5,0x8dfc,0x8dfd,0x8dff,0x8dff,0x8e01,0x8e01,0x8e04,0x8e06,0x8e08,0x8e0c,0x8e0f,0x8e11,0x8e14,0x8e14,0x8e16,0x8e16,0x8e1d,0x8e23,0x8e26,0x8e27,0x8e2a,0x8e2a,0x8e30,0x8e31,0x8e33,0x8e39,0x8e3d,0x8e3d,0x8e40,0x8e42,0x8e44,0x8e44,0x8e47,0x8e50,0x8e54,0x8e55,0x8e59,0x8e59,0x8e5b,0x8e64,0x8e69,0x8e69,0x8e6c,0x8e6d,0x8e6f,0x8e72,0x8e74,0x8e77,0x8e79,0x8e7c,0x8e81,0x8e85,0x8e87,0x8e87,0x8e89,0x8e8b,0x8e8d,0x8e8d,0x8e90,0x8e95,0x8e98,0x8e9b,0x8e9d,0x8e9e,0x8ea1,0x8ea2,0x8ea7,0x8ea7,0x8ea9,0x8eb1,0x8eb3,0x8eb3,0x8eb5,0x8eb6,0x8eba,0x8ebb,0x8ebe,0x8ebe,0x8ec0,0x8ec1,0x8ec3,0x8ec8,0x8eca,0x8ecd,0x8ecf,0x8ecf,0x8ed1,0x8ed2,0x8ed4,0x8ed4,0x8edb,0x8edc,0x8edf,0x8edf,0x8ee2,0x8ee3,0x8ee8,0x8ee8,0x8eeb,0x8eeb,0x8eed,0x8eee,0x8ef0,0x8ef1,0x8ef7,0x8efe,0x8f00,0x8f00,0x8f02,0x8f03,0x8f05,0x8f05,0x8f07,0x8f0a,0x8f0c,0x8f0c,0x8f0f,0x8f10,0x8f12,0x8f19,0x8f1b,0x8f21,0x8f23,0x8f23,0x8f25,0x8f2f,0x8f33,0x8f3b,0x8f3e,0x8f47,0x8f49,0x8f4a,0x8f4c,0x8f4f,0x8f51,0x8f55,0x8f57,0x8f58,0x8f5c,0x8f5f,0x8f61,0x8f66,0x8f9b,0x8fa8,0x8fad,0x8fb2,0x8fb4,0x8fb8,0x8fba,0x8fbc,0x8fbe,0x8fc2,0x8fc4,0x8fc6,0x8fc8,0x8fc8,0x8fca,0x8fcb,0x8fcd,0x8fce,0x8fd0,0x8fd5,0x8fda,0x8fda,0x8fe0,0x8fe0,0x8fe2,0x8fe6,0x8fe8,0x8feb,0x8fed,0x8ff1,0x8ff4,0x8ffb,0x8ffd,0x8ffe,0x9000,0x9006,0x9008,0x9008,0x900b,0x9011,0x9013,0x901b,0x901d,0x9023,0x9027,0x902a,0x902c,0x902f,0x9031,0x9039,0x903c,0x903c,0x903e,0x903f,0x9041,0x9045,0x9047,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9063,0x9065,0x9069,0x906c,0x9070,0x9072,0x9072,0x9074,0x907a,0x907c,0x907d,0x907f,0x9085,0x9087,0x908c,0x908e,0x9091,0x9095,0x9095,0x9097,0x9099,0x909b,0x909b,0x90a0,0x90a3,0x90a5,0x90a6,0x90a8,0x90a8,0x90aa,0x90aa,0x90af,0x90b6,0x90b8,0x90b8,0x90bd,0x90be,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90ca,0x90cc,0x90cc,0x90ce,0x90ce,0x90d2,0x90d2,0x90d5,0x90d5,0x90d7,0x90d9,0x90db,0x90df,0x90e1,0x90e2,0x90e4,0x90e5,0x90e8,0x90e8,0x90eb,0x90eb,0x90ed,0x90ed,0x90ef,0x90f0,0x90f2,0x90f2,0x90f4,0x90f7,0x90fd,0x9100,0x9102,0x9102,0x9104,0x9106,0x9108,0x9108,0x910d,0x910d,0x9110,0x9110,0x9112,0x9112,0x9114,0x911a,0x911c,0x911c,0x911e,0x911e,0x9120,0x9120,0x9122,0x9123,0x9125,0x9125,0x9127,0x9127,0x9129,0x9129,0x912d,0x9132,0x9134,0x9134,0x9136,0x9137,0x9139,0x913a,0x913c,0x913d,0x9143,0x9143,0x9146,0x914f,0x9152,0x9154,0x9156,0x915b,0x9161,0x9165,0x9167,0x9167,0x9169,0x916a,0x916c,0x916d,0x9172,0x9175,0x9177,0x917b,0x9181,0x9183,0x9185,0x9187,0x9189,0x918b,0x918d,0x918e,0x9190,0x9195,0x9197,0x9198,0x919c,0x919c,0x919e,0x919e,0x91a1,0x91a2,0x91a4,0x91a4,0x91a6,0x91a6,0x91a8,0x91a8,0x91aa,0x91b6,0x91b8,0x91b8,0x91ba,0x91bd,0x91bf,0x91c9,0x91cb,0x91d1,0x91d3,0x91d4,0x91d6,0x91df,0x91e1,0x91e1,0x91e3,0x91e7,0x91e9,0x91ea,0x91ec,0x91f1,0x91f5,0x91f7,0x91f9,0x91f9,0x91fb,0x91fd,0x91ff,0x9201,0x9204,0x9207,0x9209,0x920a,0x920c,0x920e,0x9210,0x9218,0x921c,0x921e,0x9223,0x9226,0x9228,0x9229,0x922c,0x922c,0x922e,0x9230,0x9233,0x923a,0x923c,0x923c,0x923e,0x9240,0x9242,0x924b,0x924d,0x9251,0x9256,0x925e,0x9260,0x9262,0x9264,0x9269,0x926e,0x9271,0x9275,0x9279,0x927b,0x9280,0x9283,0x9283,0x9285,0x9285,0x9288,0x928a,0x928d,0x928e,0x9291,0x9293,0x9295,0x929c,0x929f,0x92a0,0x92a4,0x92a5,0x92a7,0x92a8,0x92ab,0x92ab,0x92ad,0x92ad,0x92af,0x92af,0x92b2,0x92b3,0x92b6,0x92bd,0x92bf,0x92c3,0x92c5,0x92c8,0x92cb,0x92d0,0x92d2,0x92d3,0x92d5,0x92d5,0x92d7,0x92d9,0x92dc,0x92dd,0x92df,0x92e1,0x92e3,0x92e5,0x92e7,0x92ea,0x92ec,0x92ee,0x92f0,0x92f0,0x92f2,0x92f3,0x92f7,0x92fc,0x92ff,0x9300,0x9302,0x9302,0x9304,0x9304,0x9306,0x9306,0x9308,0x9308,0x930d,0x930d,0x930f,0x9311,0x9314,0x9315,0x9318,0x931a,0x931c,0x932c,0x932e,0x932f,0x9332,0x9337,0x933a,0x933b,0x9344,0x9344,0x9347,0x934b,0x934d,0x934d,0x9350,0x9352,0x9354,0x9358,0x935a,0x935c,0x935e,0x935e,0x9360,0x9360,0x9364,0x9365,0x9367,0x9367,0x9369,0x9371,0x9373,0x9376,0x937a,0x937a,0x937c,0x9382,0x9388,0x9388,0x938a,0x938d,0x938f,0x938f,0x9392,0x9392,0x9394,0x9398,0x939a,0x939b,0x939e,0x939e,0x93a1,0x93a1,0x93a3,0x93a4,0x93a6,0x93a9,0x93ab,0x93ae,0x93b0,0x93b0,0x93b4,0x93b6,0x93b9,0x93bb,0x93c1,0x93c1,0x93c3,0x93cd,0x93d0,0x93d1,0x93d3,0x93d3,0x93d6,0x93d9,0x93dc,0x93df,0x93e1,0x93e2,0x93e4,0x93e8,0x93f1,0x93f1,0x93f5,0x93f5,0x93f7,0x93fb,0x93fd,0x93fd,0x9401,0x9404,0x9407,0x9409,0x940d,0x9410,0x9413,0x941a,0x941f,0x941f,0x9421,0x9421,0x942b,0x942b,0x942e,0x942f,0x9431,0x9436,0x9438,0x9438,0x943a,0x943b,0x943d,0x943d,0x943f,0x943f,0x9441,0x9441,0x9443,0x9445,0x9448,0x9448,0x944a,0x944a,0x944c,0x944c,0x9451,0x9453,0x9455,0x9455,0x9459,0x945c,0x945e,0x9463,0x9468,0x9468,0x946a,0x946b,0x946d,0x9472,0x9475,0x9475,0x9477,0x9477,0x947c,0x947f,0x9481,0x9481,0x9483,0x9485,0x9577,0x9579,0x957e,0x9580,0x9582,0x9584,0x9586,0x958f,0x9591,0x9594,0x9596,0x9596,0x9598,0x9599,0x959d,0x95a9,0x95ab,0x95ad,0x95b1,0x95b2,0x95b4,0x95b4,0x95b6,0x95b6,0x95b9,0x95bf,0x95c3,0x95c3,0x95c6,0x95cd,0x95d0,0x95d6,0x95d8,0x95da,0x95dc,0x95e2,0x95e4,0x95e6,0x95e8,0x95e8,0x961c,0x961e,0x9621,0x9622,0x9624,0x9626,0x9628,0x9628,0x962a,0x962a,0x962c,0x962c,0x962e,0x962f,0x9631,0x9634,0x9637,0x963d,0x963f,0x9642,0x9644,0x9644,0x964b,0x964d,0x964f,0x9650,0x9652,0x9652,0x9654,0x9654,0x9656,0x9658,0x965b,0x965f,0x9661,0x9666,0x966a,0x966a,0x966c,0x966c,0x966e,0x966e,0x9670,0x9670,0x9672,0x9678,0x967a,0x967f,0x9681,0x9686,0x9688,0x968b,0x968d,0x968f,0x9691,0x9691,0x9694,0x969d,0x969f,0x96a0,0x96a3,0x96aa,0x96ae,0x96b4,0x96b6,0x96bd,0x96c0,0x96c1,0x96c4,0x96c7,0x96c9,0x96ce,0x96d1,0x96d2,0x96d5,0x96d6,0x96d8,0x96df,0x96e2,0x96e3,0x96e8,0x96eb,0x96ef,0x96f2,0x96f6,0x96f7,0x96f9,0x96fb,0x9700,0x9700,0x9702,0x970a,0x970d,0x970f,0x9711,0x9711,0x9713,0x9714,0x9716,0x9716,0x9719,0x971e,0x9721,0x9724,0x9727,0x9728,0x972a,0x972a,0x9730,0x9733,0x9736,0x9736,0x9738,0x9739,0x973b,0x973b,0x973d,0x973e,0x9741,0x9744,0x9746,0x974a,0x974d,0x974f,0x9751,0x9752,0x9755,0x975c,0x975e,0x975e,0x9760,0x9764,0x9766,0x976b,0x976d,0x976e,0x9771,0x9771,0x9773,0x9774,0x9776,0x977d,0x977f,0x9781,0x9784,0x9786,0x9789,0x9789,0x978b,0x978b,0x978d,0x978d,0x978f,0x9790,0x9795,0x979a,0x979c,0x979c,0x979e,0x97a0,0x97a2,0x97a3,0x97a6,0x97a6,0x97a8,0x97a8,0x97ab,0x97ae,0x97b1,0x97b6,0x97b8,0x97ba,0x97bc,0x97bc,0x97be,0x97bf,0x97c1,0x97c1,0x97c3,0x97ce,0x97d0,0x97d1,0x97d3,0x97d4,0x97d7,0x97d9,0x97db,0x97de,0x97e0,0x97e1,0x97e4,0x97e4,0x97e6,0x97e6,0x97ed,0x97ef,0x97f1,0x97f8,0x97fa,0x97fb,0x97ff,0x97ff,0x9801,0x9808,0x980a,0x980a,0x980c,0x9814,0x9816,0x981a,0x981c,0x981c,0x981e,0x981e,0x9820,0x9821,0x9823,0x9826,0x982b,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983e,0x9844,0x9844,0x9846,0x9847,0x984a,0x984f,0x9851,0x985b,0x985e,0x985e,0x9862,0x9863,0x9865,0x9867,0x986a,0x986c,0x986f,0x9871,0x9873,0x9875,0x98a8,0x98a8,0x98aa,0x98ab,0x98ad,0x98b1,0x98b4,0x98b4,0x98b6,0x98b8,0x98ba,0x98bc,0x98bf,0x98bf,0x98c2,0x98c8,0x98cb,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98eb,0x98ed,0x98f4,0x98f6,0x98f6,0x98fc,0x98fe,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x9910,0x9918,0x991a,0x9922,0x9924,0x9924,0x9926,0x9928,0x992b,0x992c,0x992e,0x992e,0x9931,0x9935,0x9939,0x993e,0x9940,0x9942,0x9945,0x9949,0x994b,0x994e,0x9950,0x9952,0x9954,0x9955,0x9957,0x9959,0x995b,0x995c,0x995e,0x9960,0x9963,0x9963,0x9996,0x9999,0x999b,0x999b,0x999d,0x999f,0x99a3,0x99a3,0x99a5,0x99a6,0x99a8,0x99a8,0x99ac,0x99ae,0x99b0,0x99b5,0x99b9,0x99ba,0x99bc,0x99bd,0x99bf,0x99bf,0x99c1,0x99c1,0x99c3,0x99c6,0x99c8,0x99c9,0x99d0,0x99d5,0x99d8,0x99df,0x99e1,0x99e2,0x99e7,0x99e7,0x99ea,0x99ee,0x99f0,0x99f2,0x99f4,0x99f5,0x99f8,0x99f9,0x99fb,0x99ff,0x9a01,0x9a05,0x9a08,0x9a08,0x9a0a,0x9a0c,0x9a0e,0x9a13,0x9a16,0x9a16,0x9a19,0x9a1a,0x9a1e,0x9a1e,0x9a20,0x9a20,0x9a22,0x9a24,0x9a27,0x9a28,0x9a2b,0x9a2b,0x9a2d,0x9a2e,0x9a30,0x9a31,0x9a33,0x9a33,0x9a35,0x9a38,0x9a3e,0x9a3e,0x9a40,0x9a45,0x9a47,0x9a47,0x9a4a,0x9a4e,0x9a51,0x9a52,0x9a54,0x9a58,0x9a5a,0x9a5b,0x9a5d,0x9a5d,0x9a5f,0x9a5f,0x9a62,0x9a62,0x9a64,0x9a65,0x9a69,0x9a6c,0x9aa8,0x9aa8,0x9aaa,0x9aaa,0x9aac,0x9ab0,0x9ab2,0x9ab2,0x9ab4,0x9ab9,0x9abb,0x9ac1,0x9ac3,0x9ac4,0x9ac6,0x9ac6,0x9ac8,0x9ac8,0x9ace,0x9ad9,0x9adb,0x9adc,0x9ade,0x9ae0,0x9ae2,0x9ae7,0x9ae9,0x9aef,0x9af1,0x9af5,0x9af7,0x9af7,0x9af9,0x9afb,0x9afd,0x9afd,0x9aff,0x9b06,0x9b08,0x9b09,0x9b0b,0x9b0e,0x9b10,0x9b10,0x9b12,0x9b12,0x9b16,0x9b16,0x9b18,0x9b1d,0x9b1f,0x9b20,0x9b22,0x9b23,0x9b25,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3d,0x9b41,0x9b45,0x9b48,0x9b48,0x9b4b,0x9b4f,0x9b51,0x9b51,0x9b54,0x9b58,0x9b5a,0x9b5b,0x9b5e,0x9b5e,0x9b61,0x9b61,0x9b63,0x9b63,0x9b65,0x9b66,0x9b68,0x9b68,0x9b6a,0x9b6f,0x9b72,0x9b79,0x9b7f,0x9b80,0x9b83,0x9b87,0x9b89,0x9b8b,0x9b8d,0x9b94,0x9b96,0x9b97,0x9b9a,0x9b9a,0x9b9d,0x9ba0,0x9ba6,0x9bae,0x9bb0,0x9bb2,0x9bb4,0x9bb4,0x9bb7,0x9bb9,0x9bbb,0x9bbc,0x9bbe,0x9bc1,0x9bc6,0x9bca,0x9bce,0x9bd2,0x9bd4,0x9bd4,0x9bd6,0x9bd8,0x9bdb,0x9bdb,0x9bdd,0x9bdd,0x9bdf,0x9bdf,0x9be1,0x9be5,0x9be7,0x9be8,0x9bea,0x9beb,0x9bee,0x9bf3,0x9bf5,0x9bf5,0x9bf7,0x9bfa,0x9bfd,0x9bfd,0x9bff,0x9c00,0x9c02,0x9c02,0x9c04,0x9c04,0x9c06,0x9c06,0x9c08,0x9c0d,0x9c0f,0x9c16,0x9c18,0x9c1e,0x9c21,0x9c2a,0x9c2d,0x9c32,0x9c35,0x9c37,0x9c39,0x9c3b,0x9c3d,0x9c3e,0x9c41,0x9c41,0x9c43,0x9c4a,0x9c4e,0x9c50,0x9c52,0x9c54,0x9c56,0x9c58,0x9c5a,0x9c61,0x9c63,0x9c63,0x9c65,0x9c65,0x9c67,0x9c6b,0x9c6d,0x9c6e,0x9c70,0x9c70,0x9c72,0x9c72,0x9c75,0x9c78,0x9c7a,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9ce9,0x9ceb,0x9cec,0x9cf0,0x9cf0,0x9cf2,0x9cf4,0x9cf6,0x9cf7,0x9cf9,0x9cf9,0x9d02,0x9d03,0x9d06,0x9d09,0x9d0b,0x9d0b,0x9d0e,0x9d0e,0x9d11,0x9d12,0x9d15,0x9d15,0x9d17,0x9d18,0x9d1b,0x9d1f,0x9d23,0x9d23,0x9d26,0x9d26,0x9d28,0x9d28,0x9d2a,0x9d2c,0x9d2f,0x9d30,0x9d32,0x9d34,0x9d3a,0x9d3f,0x9d41,0x9d48,0x9d4a,0x9d4a,0x9d50,0x9d54,0x9d59,0x9d59,0x9d5c,0x9d65,0x9d69,0x9d6c,0x9d6f,0x9d70,0x9d72,0x9d73,0x9d76,0x9d77,0x9d7a,0x9d7c,0x9d7e,0x9d7e,0x9d83,0x9d84,0x9d86,0x9d87,0x9d89,0x9d8a,0x9d8d,0x9d8f,0x9d92,0x9d93,0x9d95,0x9d9a,0x9da1,0x9da1,0x9da4,0x9da4,0x9da9,0x9dac,0x9dae,0x9daf,0x9db1,0x9db2,0x9db4,0x9db5,0x9db8,0x9dbd,0x9dbf,0x9dc4,0x9dc6,0x9dc7,0x9dc9,0x9dca,0x9dcf,0x9dcf,0x9dd3,0x9dd7,0x9dd9,0x9dda,0x9dde,0x9de0,0x9de3,0x9de3,0x9de5,0x9de7,0x9de9,0x9de9,0x9deb,0x9deb,0x9ded,0x9df0,0x9df2,0x9df4,0x9df8,0x9dfa,0x9dfd,0x9dfe,0x9e02,0x9e02,0x9e07,0x9e07,0x9e0a,0x9e0a,0x9e0d,0x9e0e,0x9e10,0x9e12,0x9e15,0x9e16,0x9e19,0x9e1f,0x9e75,0x9e75,0x9e78,0x9e7d,0x9e7f,0x9e85,0x9e87,0x9e88,0x9e8b,0x9e8c,0x9e8e,0x9e8f,0x9e91,0x9e93,0x9e95,0x9e98,0x9e9b,0x9e9b,0x9e9d,0x9e9f,0x9ea4,0x9ea6,0x9ea8,0x9eaa,0x9eac,0x9eb0,0x9eb3,0x9eb5,0x9eb8,0x9ebf,0x9ec3,0x9ec4,0x9ec6,0x9ec6,0x9ec8,0x9ec8,0x9ecb,0x9ed2,0x9ed4,0x9ed5,0x9ed8,0x9ed9,0x9edb,0x9ee0,0x9ee4,0x9ee5,0x9ee7,0x9ee8,0x9eec,0x9ef2,0x9ef4,0x9ef9,0x9efb,0x9eff,0x9f02,0x9f03,0x9f07,0x9f09,0x9f0e,0x9f17,0x9f19,0x9f1b,0x9f1f,0x9f22,0x9f26,0x9f26,0x9f2a,0x9f2c,0x9f2f,0x9f2f,0x9f31,0x9f32,0x9f34,0x9f34,0x9f37,0x9f37,0x9f39,0x9f3f,0x9f41,0x9f41,0x9f43,0x9f47,0x9f4a,0x9f4b,0x9f4e,0x9f50,0x9f52,0x9f58,0x9f5a,0x9f5a,0x9f5d,0x9f63,0x9f66,0x9f6a,0x9f6c,0x9f73,0x9f75,0x9f77,0x9f7a,0x9f7a,0x9f7d,0x9f7d,0x9f7f,0x9f7f,0x9f8d,0x9f8d,0x9f8f,0x9f92,0x9f94,0x9f97,0x9f99,0x9f99,0x9f9c,0x9fa3,0x9fa5,0x9fa5,0x9fb4,0x9fb4,0x9fbc,0x9fc2,0x9fc4,0x9fc4,0x9fc6,0x9fc6,0x9fcc,0x9fcc,0xf900,0xf959,0xf95b,0xf9f2,0xf9f4,0xfa0b,0xfa0e,0xfa6d,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x2000b,0x2000b,0x20089,0x2008a,0x200a2,0x200a2,0x200a4,0x200a4,0x200b0,0x200b0,0x200f5,0x200f5,0x20158,0x20158,0x201a2,0x201a2,0x20213,0x20213,0x2032b,0x2032b,0x20371,0x20371,0x20381,0x20381,0x203f9,0x203f9,0x2044a,0x2044a,0x20509,0x20509,0x2053f,0x2053f,0x205b1,0x205b1,0x205d6,0x205d6,0x20611,0x20611,0x20628,0x20628,0x206ec,0x206ec,0x2074f,0x2074f,0x207c8,0x207c8,0x20807,0x20807,0x2083a,0x2083a,0x208b9,0x208b9,0x2090e,0x2090e,0x2097c,0x2097c,0x20984,0x20984,0x2099d,0x2099d,0x20a64,0x20a64,0x20ad3,0x20ad3,0x20b1d,0x20b1d,0x20b9f,0x20b9f,0x20bb7,0x20bb7,0x20d45,0x20d45,0x20d58,0x20d58,0x20de1,0x20de1,0x20e64,0x20e64,0x20e6d,0x20e6d,0x20e95,0x20e95,0x20f5f,0x20f5f,0x21201,0x21201,0x2123d,0x2123d,0x21255,0x21255,0x21274,0x21274,0x2127b,0x2127b,0x212d7,0x212d7,0x212e4,0x212e4,0x212fd,0x212fd,0x2131b,0x2131b,0x21336,0x21336,0x21344,0x21344,0x213c4,0x213c4,0x2146d,0x2146e,0x215d7,0x215d7,0x21647,0x21647,0x216b4,0x216b4,0x21706,0x21706,0x21742,0x21742,0x218bd,0x218bd,0x219c3,0x219c3,0x21a1a,0x21a1a,0x21c56,0x21c56,0x21d2d,0x21d2d,0x21d45,0x21d45,0x21d62,0x21d62,0x21d78,0x21d78,0x21d92,0x21d92,0x21d9c,0x21d9c,0x21da1,0x21da1,0x21db7,0x21db7,0x21de0,0x21de0,0x21e33,0x21e34,0x21f1e,0x21f1e,0x21f76,0x21f76,0x21ffa,0x21ffa,0x2217b,0x2217b,0x22218,0x22218,0x2231e,0x2231e,0x223ad,0x223ad,0x22609,0x22609,0x226f3,0x226f3,0x2285b,0x2285b,0x228ab,0x228ab,0x2298f,0x2298f,0x22ab8,0x22ab8,0x22b46,0x22b46,0x22b4f,0x22b50,0x22ba6,0x22ba6,0x22c1d,0x22c1d,0x22c24,0x22c24,0x22de1,0x22de1,0x22e42,0x22e42,0x22feb,0x22feb,0x231b6,0x231b6,0x231c3,0x231c4,0x231f5,0x231f5,0x23372,0x23372,0x233cc,0x233cc,0x233d0,0x233d0,0x233d2,0x233d3,0x233d5,0x233d5,0x233da,0x233da,0x233df,0x233df,0x233e4,0x233e4,0x233fe,0x233fe,0x2344a,0x2344b,0x23451,0x23451,0x23465,0x23465,0x234e4,0x234e4,0x2355a,0x2355a,0x23594,0x23594,0x235c4,0x235c4,0x23638,0x2363a,0x23647,0x23647,0x2370c,0x2370c,0x2371c,0x2371c,0x2373f,0x2373f,0x23763,0x23764,0x237e7,0x237e7,0x237f1,0x237f1,0x237ff,0x237ff,0x23824,0x23824,0x2383d,0x2383d,0x23a98,0x23a98,0x23c7f,0x23c7f,0x23cbe,0x23cbe,0x23cfe,0x23cfe,0x23d00,0x23d00,0x23d0e,0x23d0e,0x23d40,0x23d40,0x23dd3,0x23dd3,0x23df9,0x23dfa,0x23f7e,0x23f7e,0x2404b,0x2404b,0x24096,0x24096,0x24103,0x24103,0x241c6,0x241c6,0x241fe,0x241fe,0x242ee,0x242ee,0x243bc,0x243bc,0x243d0,0x243d0,0x24629,0x24629,0x246a5,0x246a5,0x247f1,0x247f1,0x24896,0x24896,0x248e9,0x248e9,0x24a4d,0x24a4d,0x24b56,0x24b56,0x24b6f,0x24b6f,0x24c16,0x24c16,0x24d14,0x24d14,0x24e04,0x24e04,0x24e0e,0x24e0e,0x24e37,0x24e37,0x24e6a,0x24e6a,0x24e8b,0x24e8b,0x24ff2,0x24ff2,0x2504a,0x2504a,0x25055,0x25055,0x25122,0x25122,0x251a9,0x251a9,0x251cd,0x251cd,0x251e5,0x251e5,0x2521e,0x2521e,0x2524c,0x2524c,0x2542e,0x2542e,0x2548e,0x2548e,0x254d9,0x254d9,0x2550e,0x2550e,0x255a7,0x255a7,0x2567f,0x2567f,0x25771,0x25771,0x257a9,0x257a9,0x257b4,0x257b4,0x25874,0x25874,0x259c4,0x259c4,0x259cc,0x259cc,0x259d4,0x259d4,0x25ad7,0x25ad7,0x25ae3,0x25ae4,0x25af1,0x25af1,0x25bb2,0x25bb2,0x25c4b,0x25c4b,0x25c64,0x25c64,0x25da1,0x25da1,0x25e2e,0x25e2e,0x25e56,0x25e56,0x25e62,0x25e62,0x25e65,0x25e65,0x25ec2,0x25ec2,0x25ed8,0x25ed8,0x25ee8,0x25ee8,0x25f23,0x25f23,0x25f5c,0x25f5c,0x25fd4,0x25fd4,0x25fe0,0x25fe0,0x25ffb,0x25ffb,0x2600c,0x2600c,0x26017,0x26017,0x26060,0x26060,0x260ed,0x260ed,0x26222,0x26222,0x2626a,0x2626a,0x26270,0x26270,0x26286,0x26286,0x2634c,0x2634c,0x26402,0x26402,0x2667e,0x2667e,0x266b0,0x266b0,0x2671d,0x2671d,0x268dd,0x268dd,0x268ea,0x268ea,0x26951,0x26951,0x2696f,0x2696f,0x26999,0x26999,0x269dd,0x269dd,0x26a1e,0x26a1e,0x26a58,0x26a58,0x26a8c,0x26a8c,0x26ab7,0x26ab7,0x26aff,0x26aff,0x26c29,0x26c29,0x26c73,0x26c73,0x26c9e,0x26c9e,0x26cdd,0x26cdd,0x26e40,0x26e40,0x26e65,0x26e65,0x26f94,0x26f94,0x26ff6,0x26ff8,0x270f4,0x270f4,0x2710d,0x2710d,0x27139,0x27139,0x273da,0x273db,0x273fe,0x273fe,0x27410,0x27410,0x27449,0x27449,0x27614,0x27615,0x27631,0x27631,0x27684,0x27684,0x27693,0x27693,0x2770e,0x2770e,0x27723,0x27723,0x27752,0x27752,0x278b2,0x278b2,0x27985,0x27985,0x279b4,0x279b4,0x27a84,0x27a84,0x27bb3,0x27bb3,0x27bbe,0x27bbe,0x27bc7,0x27bc7,0x27c3c,0x27c3c,0x27cb8,0x27cb8,0x27d73,0x27d73,0x27da0,0x27da0,0x27e10,0x27e10,0x27eaf,0x27eaf,0x27fb7,0x27fb7,0x2808a,0x2808a,0x280bb,0x280bb,0x28277,0x28277,0x28282,0x28282,0x282f3,0x282f3,0x283cd,0x283cd,0x2840c,0x2840c,0x28455,0x28455,0x284dc,0x284dc,0x2856b,0x2856b,0x285c8,0x285c9,0x286d7,0x286d7,0x286fa,0x286fa,0x28946,0x28946,0x28949,0x28949,0x2896b,0x2896b,0x28987,0x28988,0x289ba,0x289bb,0x28a1e,0x28a1e,0x28a29,0x28a29,0x28a43,0x28a43,0x28a71,0x28a71,0x28a99,0x28a99,0x28acd,0x28acd,0x28add,0x28add,0x28ae4,0x28ae4,0x28bc1,0x28bc1,0x28bef,0x28bef,0x28cdd,0x28cdd,0x28d10,0x28d10,0x28d71,0x28d71,0x28dfb,0x28dfb,0x28e0f,0x28e0f,0x28e17,0x28e17,0x28e1f,0x28e1f,0x28e36,0x28e36,0x28e89,0x28e89,0x28eeb,0x28eeb,0x28ef6,0x28ef6,0x28f32,0x28f32,0x28ff8,0x28ff8,0x292a0,0x292a0,0x292b1,0x292b1,0x29490,0x29490,0x295cf,0x295cf,0x2967f,0x2967f,0x296f0,0x296f0,0x29719,0x29719,0x29750,0x29750,0x29810,0x29810,0x298c6,0x298c6,0x29a72,0x29a72,0x29d4b,0x29d4b,0x29ddb,0x29ddb,0x29e15,0x29e15,0x29e3d,0x29e3d,0x29e49,0x29e49,0x29e8a,0x29e8a,0x29ec4,0x29ec4,0x29edb,0x29edb,0x29ee9,0x29ee9,0x29fce,0x29fce,0x29fd7,0x29fd7,0x2a01a,0x2a01a,0x2a02f,0x2a02f,0x2a082,0x2a082,0x2a0f9,0x2a0f9,0x2a190,0x2a190,0x2a2b2,0x2a2b2,0x2a38c,0x2a38c,0x2a437,0x2a437,0x2a5f1,0x2a5f1,0x2a602,0x2a602,0x2a61a,0x2a61a,0x2a6b2,0x2a6b2,0x2a9e6,0x2a9e6,0x2b746,0x2b746,0x2b751,0x2b751,0x2b753,0x2b753,0x2b75a,0x2b75a,0x2b75c,0x2b75c,0x2b765,0x2b765,0x2b776,0x2b777,0x2b77c,0x2b77c,0x2b782,0x2b782,0x2b789,0x2b789,0x2b78b,0x2b78b,0x2b78e,0x2b78e,0x2b794,0x2b794,0x2b7ac,0x2b7ac,0x2b7af,0x2b7af,0x2b7bd,0x2b7bd,0x2b7c9,0x2b7c9,0x2b7cf,0x2b7cf,0x2b7d2,0x2b7d2,0x2b7d8,0x2b7d8,0x2b7f0,0x2b7f0,0x2b80d,0x2b80d,0x2b817,0x2b817,0x2b81a,0x2b81a,0x2d544,0x2d544,0x2e278,0x2e278,0x2e569,0x2e569,0x2e6ea,0x2e6ea,0x2f804,0x2f804,0x2f80f,0x2f80f,0x2f815,0x2f815,0x2f818,0x2f818,0x2f81a,0x2f81a,0x2f822,0x2f822,0x2f828,0x2f828,0x2f82c,0x2f82c,0x2f833,0x2f833,0x2f83f,0x2f83f,0x2f846,0x2f846,0x2f852,0x2f852,0x2f862,0x2f862,0x2f86d,0x2f86d,0x2f873,0x2f873,0x2f877,0x2f877,0x2f884,0x2f884,0x2f899,0x2f89a,0x2f8a6,0x2f8a6,0x2f8ac,0x2f8ac,0x2f8b2,0x2f8b2,0x2f8b6,0x2f8b6,0x2f8d3,0x2f8d3,0x2f8db,0x2f8dc,0x2f8e1,0x2f8e1,0x2f8e5,0x2f8e5,0x2f8ea,0x2f8ea,0x2f8ed,0x2f8ed,0x2f8fc,0x2f8fc,0x2f903,0x2f903,0x2f90b,0x2f90b,0x2f90f,0x2f90f,0x2f91a,0x2f91a,0x2f920,0x2f921,0x2f945,0x2f945,0x2f947,0x2f947,0x2f96c,0x2f96c,0x2f995,0x2f995,0x2f9d0,0x2f9d0,0x2f9de,0x2f9df,0x2f9f4,0x2f9f4,0x30ede,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatList('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa980,0xa9cd,0xa9cf,0xa9d9,0xa9de,0xa9df,]), + NotoFont.fromFlatList('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1100,0x11ff,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x349a,0x349a,0x34d7,0x34d7,0x3515,0x3515,0x3521,0x3521,0x353e,0x353e,0x35ff,0x35ff,0x366f,0x366f,0x36c3,0x36c5,0x36e6,0x36e6,0x3723,0x3723,0x372f,0x372f,0x373a,0x373a,0x37bc,0x37bc,0x380c,0x380c,0x3818,0x3818,0x3883,0x3883,0x38ba,0x38ba,0x38e7,0x38e7,0x38fd,0x38fd,0x3960,0x3960,0x3965,0x3965,0x3983,0x3983,0x3990,0x3990,0x39a5,0x39a5,0x39b6,0x39b6,0x3a39,0x3a39,0x3aa4,0x3aa4,0x3adc,0x3adc,0x3af6,0x3af6,0x3b03,0x3b03,0x3b23,0x3b23,0x3b79,0x3b79,0x3bf3,0x3bf3,0x3c14,0x3c14,0x3c24,0x3c24,0x3c2d,0x3c2d,0x3cbd,0x3cbe,0x3cfc,0x3cfc,0x3d17,0x3d17,0x3d5f,0x3d5f,0x3dbc,0x3dbc,0x3dc2,0x3dc2,0x3ec4,0x3ec4,0x3eed,0x3eed,0x3efd,0x3efd,0x3f04,0x3f04,0x402f,0x402f,0x4034,0x4034,0x4062,0x4062,0x40a9,0x40a9,0x40c9,0x40c9,0x4137,0x4137,0x41ac,0x41ac,0x4259,0x4259,0x43bb,0x43bb,0x43c7,0x43c7,0x43e7,0x43e7,0x43ea,0x43ea,0x4450,0x4450,0x4512,0x4512,0x45f2,0x45f2,0x4618,0x4618,0x46b7,0x46b7,0x46be,0x46be,0x46d4,0x46d4,0x46d8,0x46d8,0x46dd,0x46dd,0x472d,0x472d,0x476c,0x476c,0x477d,0x477d,0x479f,0x479f,0x4863,0x4863,0x4883,0x4883,0x4896,0x4896,0x48a6,0x48a6,0x4925,0x4925,0x499e,0x499e,0x49a5,0x49a5,0x49cb,0x49cb,0x4a12,0x4a12,0x4a2d,0x4a2d,0x4ab8,0x4ab8,0x4adf,0x4adf,0x4ae8,0x4ae8,0x4afb,0x4afb,0x4b53,0x4b53,0x4b71,0x4b71,0x4cdf,0x4ce0,0x4d1b,0x4d1b,0x4e00,0x4e01,0x4e03,0x4e03,0x4e07,0x4e0b,0x4e0d,0x4e0e,0x4e11,0x4e11,0x4e14,0x4e16,0x4e18,0x4e19,0x4e1e,0x4e1f,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2b,0x4e2d,0x4e30,0x4e32,0x4e36,0x4e36,0x4e38,0x4e39,0x4e3b,0x4e3b,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e56,0x4e5b,0x4e5d,0x4e5f,0x4e67,0x4e67,0x4e6b,0x4e6d,0x4e71,0x4e71,0x4e73,0x4e73,0x4e76,0x4e77,0x4e7a,0x4e7c,0x4e7e,0x4e7e,0x4e80,0x4e80,0x4e82,0x4e82,0x4e85,0x4e86,0x4e88,0x4e89,0x4e8b,0x4e8c,0x4e8e,0x4e92,0x4e94,0x4e95,0x4e98,0x4e99,0x4e9b,0x4e9c,0x4e9e,0x4ea2,0x4ea4,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb0,0x4eb0,0x4eb3,0x4eb4,0x4eb6,0x4eb6,0x4eb9,0x4ebb,0x4ec0,0x4ec1,0x4ec4,0x4ec4,0x4ec6,0x4ec7,0x4eca,0x4ecb,0x4ecd,0x4ecd,0x4ed4,0x4ed9,0x4edd,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4eee,0x4eee,0x4ef0,0x4ef0,0x4ef2,0x4ef3,0x4ef5,0x4ef7,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f01,0x4f09,0x4f0b,0x4f0d,0x4f11,0x4f1a,0x4f1a,0x4f1d,0x4f1d,0x4f2f,0x4f30,0x4f34,0x4f34,0x4f36,0x4f36,0x4f38,0x4f38,0x4f3a,0x4f3a,0x4f3c,0x4f3e,0x4f42,0x4f43,0x4f46,0x4f49,0x4f4b,0x4f4b,0x4f4d,0x4f51,0x4f53,0x4f57,0x4f59,0x4f5f,0x4f69,0x4f6a,0x4f6f,0x4f70,0x4f73,0x4f74,0x4f76,0x4f76,0x4f78,0x4f81,0x4f83,0x4f84,0x4f86,0x4f86,0x4f88,0x4f8b,0x4f8d,0x4f92,0x4f94,0x4f94,0x4f96,0x4f98,0x4f9a,0x4f9d,0x4fae,0x4faf,0x4fb2,0x4fb2,0x4fb5,0x4fb6,0x4fb9,0x4fb9,0x4fbb,0x4fbb,0x4fbf,0x4fbf,0x4fc1,0x4fc5,0x4fc9,0x4fca,0x4fcc,0x4fd4,0x4fd7,0x4fdb,0x4fdd,0x4fe1,0x4fe3,0x4fe3,0x4fee,0x4ff1,0x4ff3,0x4ff6,0x4ff8,0x4ff8,0x4ffa,0x4ffa,0x4ffe,0x4ffe,0x5000,0x5000,0x5002,0x5002,0x5005,0x5007,0x5009,0x5009,0x500b,0x500b,0x500d,0x500d,0x500f,0x500f,0x5011,0x5014,0x5016,0x5016,0x5018,0x501a,0x501c,0x501c,0x501e,0x501f,0x5021,0x502e,0x5030,0x5030,0x503b,0x503b,0x5043,0x5044,0x5047,0x504a,0x504e,0x504f,0x5053,0x5053,0x5055,0x5056,0x5058,0x505a,0x505c,0x505c,0x5060,0x5060,0x5062,0x5062,0x5065,0x5066,0x506a,0x506a,0x5070,0x5070,0x5072,0x5072,0x5074,0x5076,0x5078,0x5078,0x5080,0x5080,0x5083,0x5083,0x5085,0x5085,0x508b,0x508b,0x508d,0x508d,0x5091,0x5092,0x5094,0x5094,0x5096,0x5096,0x5098,0x509b,0x509d,0x509e,0x50a2,0x50a2,0x50ac,0x50ae,0x50b2,0x50b5,0x50b7,0x50b7,0x50bd,0x50bf,0x50c2,0x50c2,0x50c4,0x50c5,0x50c9,0x50ca,0x50cf,0x50cf,0x50d1,0x50d1,0x50d4,0x50d6,0x50da,0x50db,0x50de,0x50de,0x50e2,0x50e2,0x50e5,0x50e7,0x50e9,0x50e9,0x50ec,0x50ee,0x50f5,0x50f5,0x50f9,0x50f9,0x50fb,0x50fb,0x50fe,0x5104,0x5106,0x5107,0x5109,0x5109,0x510b,0x510c,0x5110,0x5110,0x5112,0x5115,0x5117,0x5118,0x511a,0x511c,0x511f,0x511f,0x5121,0x5122,0x5124,0x5125,0x5127,0x5127,0x512a,0x512b,0x5131,0x5133,0x5135,0x5135,0x5137,0x513c,0x513f,0x5141,0x5143,0x5149,0x514b,0x514e,0x5150,0x5150,0x5152,0x5152,0x5154,0x5157,0x515a,0x515a,0x515c,0x515c,0x5162,0x5162,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5175,0x5178,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x5186,0x5189,0x518a,0x518c,0x518d,0x518f,0x518f,0x5191,0x5193,0x5195,0x5199,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a5,0x51aa,0x51ac,0x51b0,0x51b2,0x51b6,0x51b7,0x51bd,0x51be,0x51c4,0x51c6,0x51c9,0x51cd,0x51d2,0x51d2,0x51d4,0x51d4,0x51d6,0x51d6,0x51db,0x51de,0x51e0,0x51e1,0x51e9,0x51e9,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fd,0x51fd,0x5200,0x5203,0x5206,0x5208,0x520a,0x520a,0x520e,0x520e,0x5211,0x5211,0x5213,0x5213,0x5216,0x5217,0x521d,0x521d,0x5224,0x5227,0x5229,0x522a,0x522e,0x522e,0x5230,0x5233,0x5236,0x523b,0x5243,0x5244,0x5246,0x5247,0x5249,0x524d,0x5254,0x5257,0x525a,0x525b,0x525d,0x525f,0x5261,0x5261,0x5269,0x526a,0x526f,0x526f,0x5272,0x5272,0x5274,0x5275,0x5277,0x5277,0x527a,0x527a,0x527d,0x527d,0x527f,0x527f,0x5282,0x5283,0x5287,0x5289,0x528d,0x528d,0x5291,0x5293,0x5297,0x5298,0x529b,0x529b,0x529f,0x52a0,0x52a3,0x52a4,0x52a7,0x52a7,0x52a9,0x52ae,0x52b9,0x52b9,0x52be,0x52be,0x52c1,0x52c1,0x52c3,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d2,0x52d2,0x52d5,0x52d6,0x52d8,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52ed,0x52ed,0x52f2,0x52f3,0x52f5,0x52f5,0x52f8,0x52fb,0x52fe,0x5303,0x5305,0x5305,0x5308,0x5308,0x530a,0x530a,0x530c,0x530d,0x530f,0x5310,0x5315,0x5317,0x5319,0x531a,0x5320,0x5321,0x5323,0x5323,0x5327,0x5327,0x532a,0x532a,0x532f,0x532f,0x5331,0x5331,0x5336,0x5336,0x5338,0x533b,0x533d,0x5341,0x5343,0x5345,0x5347,0x534a,0x534d,0x534d,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x535c,0x535e,0x535e,0x5360,0x5361,0x5364,0x5364,0x5366,0x5366,0x5368,0x5369,0x536c,0x536c,0x536e,0x5375,0x5377,0x537b,0x537d,0x537f,0x5382,0x5382,0x5384,0x5384,0x538e,0x538e,0x5393,0x5393,0x5396,0x5396,0x5398,0x5398,0x539a,0x539a,0x539d,0x539d,0x539f,0x53a0,0x53a5,0x53a6,0x53aa,0x53aa,0x53ad,0x53ae,0x53b2,0x53b3,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c2,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d4,0x53d4,0x53d6,0x53d7,0x53d9,0x53d9,0x53db,0x53db,0x53df,0x53df,0x53e1,0x53e6,0x53e8,0x53f8,0x5401,0x5401,0x5403,0x5404,0x5408,0x5411,0x541b,0x541b,0x541d,0x541d,0x541f,0x5420,0x5426,0x5426,0x5429,0x5429,0x542b,0x542c,0x542e,0x542e,0x5431,0x5431,0x5433,0x5433,0x5436,0x5436,0x5438,0x5439,0x543b,0x543e,0x5440,0x5440,0x5442,0x5442,0x5446,0x5446,0x5448,0x5448,0x544a,0x544a,0x544e,0x544e,0x5451,0x5451,0x545d,0x545d,0x545f,0x545f,0x5462,0x5462,0x5464,0x5464,0x5466,0x5466,0x5468,0x5468,0x546a,0x546b,0x5470,0x5471,0x5473,0x5473,0x5475,0x5476,0x547b,0x547d,0x547f,0x5480,0x5484,0x5484,0x5486,0x5487,0x548b,0x5490,0x5496,0x5496,0x54a0,0x54a0,0x54a2,0x54a2,0x54a4,0x54a5,0x54a8,0x54a8,0x54ab,0x54ac,0x54af,0x54af,0x54b2,0x54b3,0x54b8,0x54b8,0x54bb,0x54bd,0x54bf,0x54c4,0x54c6,0x54c9,0x54e1,0x54e1,0x54e5,0x54e6,0x54e8,0x54e9,0x54ed,0x54ee,0x54f1,0x54f2,0x54fa,0x54fa,0x54fd,0x54fd,0x54ff,0x54ff,0x5504,0x5504,0x5506,0x5507,0x5509,0x5509,0x550e,0x5510,0x5514,0x5514,0x551c,0x551c,0x552b,0x552b,0x552e,0x552f,0x5531,0x5531,0x5533,0x5533,0x5535,0x5535,0x5539,0x5539,0x553c,0x553c,0x553e,0x553e,0x5540,0x5540,0x5542,0x5542,0x5544,0x5544,0x5546,0x5546,0x554a,0x554a,0x554f,0x554f,0x5553,0x5553,0x5556,0x5557,0x555c,0x555c,0x555e,0x555e,0x5563,0x5563,0x557b,0x5581,0x5583,0x5584,0x5586,0x5587,0x5589,0x558b,0x5591,0x5591,0x5593,0x5594,0x5598,0x559a,0x559c,0x559f,0x55a3,0x55a4,0x55a7,0x55ac,0x55ae,0x55ae,0x55b0,0x55b0,0x55c3,0x55c3,0x55c5,0x55c5,0x55c7,0x55c7,0x55c9,0x55c9,0x55d1,0x55d1,0x55d4,0x55d4,0x55da,0x55dc,0x55df,0x55e0,0x55e2,0x55e4,0x55f7,0x55f7,0x55fd,0x55ff,0x5604,0x5604,0x5606,0x5606,0x5608,0x5609,0x560c,0x5610,0x5612,0x5612,0x5614,0x5614,0x5616,0x5617,0x5629,0x5629,0x562c,0x562c,0x562f,0x562f,0x5632,0x5632,0x5634,0x5634,0x5636,0x5639,0x563b,0x563b,0x563f,0x563f,0x5641,0x5642,0x5649,0x5649,0x564b,0x564b,0x564d,0x564f,0x5653,0x5653,0x5664,0x5665,0x5668,0x566d,0x566f,0x566f,0x5672,0x5672,0x5674,0x5674,0x5676,0x5676,0x5678,0x5678,0x567a,0x567a,0x5680,0x5680,0x5684,0x5684,0x5686,0x5687,0x568f,0x568f,0x5699,0x569a,0x56a5,0x56a5,0x56a7,0x56a7,0x56ac,0x56ac,0x56ae,0x56ae,0x56b3,0x56b4,0x56b6,0x56b6,0x56bc,0x56bc,0x56c0,0x56c3,0x56c8,0x56ca,0x56cd,0x56cd,0x56d1,0x56d1,0x56d7,0x56d7,0x56da,0x56db,0x56de,0x56e0,0x56e3,0x56e3,0x56e6,0x56e7,0x56eb,0x56eb,0x56ed,0x56ee,0x56f0,0x56f0,0x56f3,0x56f3,0x56f7,0x56f7,0x56f9,0x56fa,0x56fd,0x56fd,0x56ff,0x56ff,0x5701,0x5704,0x5707,0x570b,0x570d,0x570d,0x5712,0x5713,0x5716,0x5716,0x5718,0x5718,0x571c,0x571c,0x571f,0x571f,0x5725,0x5725,0x5728,0x572a,0x572c,0x572e,0x5730,0x5730,0x573b,0x573b,0x573e,0x573e,0x5740,0x5742,0x5747,0x5747,0x574a,0x574a,0x574c,0x5751,0x5761,0x5761,0x5764,0x5764,0x5766,0x576a,0x576e,0x5771,0x5773,0x5773,0x5775,0x5775,0x5777,0x5778,0x577b,0x577c,0x5782,0x5782,0x5788,0x5788,0x578b,0x578c,0x5793,0x5793,0x5795,0x5795,0x579e,0x579e,0x57a0,0x57a0,0x57a2,0x57a4,0x57b8,0x57b8,0x57bd,0x57bd,0x57c3,0x57c3,0x57c6,0x57c9,0x57cb,0x57cb,0x57ce,0x57cf,0x57d1,0x57d2,0x57dc,0x57dc,0x57df,0x57e0,0x57e4,0x57e4,0x57e9,0x57e9,0x57ed,0x57ee,0x57f0,0x57f0,0x57f3,0x57f4,0x57f6,0x57f7,0x57f9,0x57fd,0x5800,0x5800,0x5802,0x5806,0x5808,0x580b,0x5817,0x5817,0x5819,0x5819,0x581d,0x581e,0x5820,0x5821,0x5823,0x5824,0x5826,0x5827,0x582a,0x582a,0x582d,0x582d,0x582f,0x5831,0x5834,0x5835,0x583a,0x583a,0x5840,0x5840,0x5849,0x584d,0x584f,0x5852,0x5854,0x5854,0x5857,0x585a,0x585e,0x585e,0x5861,0x5862,0x5864,0x5864,0x5869,0x5869,0x5875,0x5875,0x5879,0x5879,0x587c,0x587e,0x5880,0x5881,0x5883,0x5883,0x5885,0x5885,0x5889,0x588a,0x588c,0x588d,0x5890,0x5890,0x5893,0x5893,0x589c,0x589f,0x58a1,0x58a1,0x58a3,0x58a3,0x58a8,0x58a9,0x58ab,0x58ab,0x58ae,0x58ae,0x58b0,0x58b1,0x58b3,0x58b3,0x58ba,0x58bb,0x58be,0x58be,0x58c1,0x58c1,0x58c3,0x58c3,0x58c5,0x58c5,0x58c7,0x58c7,0x58ce,0x58ce,0x58d1,0x58d1,0x58d3,0x58d5,0x58d8,0x58da,0x58dc,0x58df,0x58e1,0x58e1,0x58e4,0x58e4,0x58eb,0x58ec,0x58ee,0x58f0,0x58f2,0x58f2,0x58f9,0x58fb,0x58fd,0x58fd,0x5902,0x5902,0x5906,0x5906,0x5908,0x5908,0x590a,0x590a,0x590f,0x5910,0x5914,0x5916,0x5919,0x591c,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5937,0x5938,0x593d,0x593e,0x5944,0x5944,0x5947,0x5949,0x594c,0x594c,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5960,0x5962,0x5962,0x5967,0x5967,0x5969,0x596e,0x5972,0x5974,0x5976,0x5976,0x5978,0x5978,0x597d,0x597d,0x5982,0x5984,0x598a,0x598a,0x598c,0x598d,0x5991,0x5993,0x5996,0x5997,0x5999,0x5999,0x599d,0x599d,0x59a3,0x59a5,0x59a7,0x59a8,0x59ac,0x59ac,0x59af,0x59af,0x59b2,0x59b2,0x59b5,0x59b6,0x59b8,0x59b9,0x59bb,0x59bb,0x59be,0x59bf,0x59c1,0x59c1,0x59c3,0x59c3,0x59c6,0x59c6,0x59c8,0x59cb,0x59cd,0x59cd,0x59d0,0x59d4,0x59d9,0x59da,0x59dc,0x59de,0x59e2,0x59e6,0x59e8,0x59e8,0x59ea,0x59ec,0x59ee,0x59ee,0x59f0,0x59f0,0x59f2,0x59f2,0x59f7,0x59fc,0x59ff,0x59ff,0x5a01,0x5a01,0x5a03,0x5a03,0x5a09,0x5a0a,0x5a0d,0x5a0d,0x5a11,0x5a11,0x5a13,0x5a13,0x5a18,0x5a19,0x5a1b,0x5a1c,0x5a1f,0x5a20,0x5a23,0x5a23,0x5a25,0x5a25,0x5a27,0x5a27,0x5a29,0x5a29,0x5a2b,0x5a2b,0x5a2d,0x5a2d,0x5a35,0x5a36,0x5a3c,0x5a3c,0x5a3f,0x5a41,0x5a46,0x5a47,0x5a49,0x5a49,0x5a4b,0x5a4c,0x5a50,0x5a51,0x5a5a,0x5a5a,0x5a60,0x5a60,0x5a62,0x5a63,0x5a66,0x5a67,0x5a69,0x5a6a,0x5a6d,0x5a6d,0x5a72,0x5a72,0x5a77,0x5a77,0x5a7f,0x5a7f,0x5a84,0x5a84,0x5a8d,0x5a8d,0x5a90,0x5a90,0x5a92,0x5a93,0x5a95,0x5a95,0x5a9a,0x5a9b,0x5a9e,0x5a9f,0x5aa2,0x5aa2,0x5aa4,0x5aa4,0x5aa7,0x5aa7,0x5aaa,0x5aaa,0x5ab3,0x5ab3,0x5ab5,0x5ab5,0x5aba,0x5abf,0x5ac1,0x5ac2,0x5ac4,0x5ac4,0x5ac8,0x5ac9,0x5acb,0x5acc,0x5ad5,0x5ad7,0x5ad9,0x5adb,0x5add,0x5add,0x5ae0,0x5ae6,0x5ae9,0x5ae9,0x5aeb,0x5aeb,0x5aed,0x5aef,0x5af6,0x5af6,0x5afa,0x5afb,0x5afd,0x5afd,0x5b00,0x5b00,0x5b05,0x5b05,0x5b08,0x5b09,0x5b0b,0x5b0c,0x5b16,0x5b16,0x5b19,0x5b19,0x5b1b,0x5b1b,0x5b25,0x5b25,0x5b28,0x5b28,0x5b2a,0x5b2a,0x5b2d,0x5b2d,0x5b30,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b3e,0x5b40,0x5b43,0x5b43,0x5b45,0x5b45,0x5b4c,0x5b4c,0x5b50,0x5b51,0x5b54,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b61,0x5b61,0x5b63,0x5b66,0x5b69,0x5b69,0x5b6b,0x5b6b,0x5b70,0x5b71,0x5b75,0x5b76,0x5b78,0x5b78,0x5b7a,0x5b7a,0x5b7c,0x5b7c,0x5b7f,0x5b82,0x5b85,0x5b85,0x5b87,0x5b8c,0x5b8f,0x5b8f,0x5b93,0x5b93,0x5b95,0x5b9d,0x5b9f,0x5b9f,0x5ba2,0x5ba6,0x5bac,0x5bac,0x5bae,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb6,0x5bb8,0x5bb9,0x5bbf,0x5bc0,0x5bc2,0x5bc7,0x5bcc,0x5bcc,0x5bd0,0x5bd0,0x5bd2,0x5bd4,0x5bd6,0x5bd8,0x5bdb,0x5bdb,0x5bde,0x5bdf,0x5be1,0x5be2,0x5be4,0x5be9,0x5beb,0x5bf0,0x5bf5,0x5bf6,0x5bf8,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c04,0x5c0f,0x5c11,0x5c11,0x5c14,0x5c14,0x5c16,0x5c16,0x5c19,0x5c19,0x5c1f,0x5c20,0x5c22,0x5c24,0x5c28,0x5c28,0x5c2b,0x5c2b,0x5c31,0x5c31,0x5c38,0x5c41,0x5c45,0x5c48,0x5c4b,0x5c4b,0x5c4d,0x5c4e,0x5c50,0x5c51,0x5c55,0x5c55,0x5c5b,0x5c5b,0x5c60,0x5c60,0x5c62,0x5c62,0x5c64,0x5c65,0x5c68,0x5c68,0x5c6c,0x5c6c,0x5c6f,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c73,0x5c79,0x5c7a,0x5c88,0x5c88,0x5c8a,0x5c8a,0x5c8c,0x5c8c,0x5c8f,0x5c92,0x5c94,0x5c94,0x5c9d,0x5c9d,0x5ca1,0x5ca1,0x5ca3,0x5ca3,0x5ca5,0x5cad,0x5cb1,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb5,0x5cb7,0x5cb8,0x5cba,0x5cba,0x5cbe,0x5cbe,0x5cc0,0x5cc0,0x5ccb,0x5ccb,0x5cd2,0x5cd2,0x5cd9,0x5cd9,0x5ce0,0x5ce0,0x5ce8,0x5ce9,0x5ced,0x5ced,0x5cef,0x5cf1,0x5cf4,0x5cf4,0x5cf6,0x5cf6,0x5cfb,0x5cfb,0x5cfd,0x5cfd,0x5d06,0x5d07,0x5d0d,0x5d0e,0x5d10,0x5d11,0x5d14,0x5d19,0x5d1b,0x5d1b,0x5d1f,0x5d1f,0x5d22,0x5d22,0x5d24,0x5d24,0x5d26,0x5d27,0x5d29,0x5d29,0x5d34,0x5d34,0x5d3d,0x5d3d,0x5d41,0x5d42,0x5d44,0x5d44,0x5d4b,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d50,0x5d53,0x5d54,0x5d69,0x5d69,0x5d6c,0x5d6c,0x5d6f,0x5d6f,0x5d71,0x5d71,0x5d81,0x5d82,0x5d84,0x5d84,0x5d86,0x5d87,0x5d8b,0x5d8b,0x5d92,0x5d92,0x5d94,0x5d95,0x5d99,0x5d99,0x5d9d,0x5d9d,0x5da0,0x5da0,0x5da2,0x5da2,0x5da7,0x5da7,0x5daa,0x5dab,0x5dae,0x5dae,0x5db0,0x5db0,0x5db7,0x5db8,0x5dba,0x5dba,0x5dbc,0x5dbe,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dd1,0x5dd3,0x5dd6,0x5dd6,0x5dda,0x5ddb,0x5ddd,0x5dde,0x5de0,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df1,0x5df5,0x5df7,0x5df9,0x5dfb,0x5dfb,0x5dfd,0x5dfe,0x5e02,0x5e03,0x5e06,0x5e06,0x5e09,0x5e09,0x5e0c,0x5e0c,0x5e11,0x5e11,0x5e15,0x5e16,0x5e19,0x5e1b,0x5e1d,0x5e1d,0x5e20,0x5e20,0x5e25,0x5e25,0x5e28,0x5e28,0x5e2b,0x5e2b,0x5e2d,0x5e2d,0x5e33,0x5e33,0x5e36,0x5e38,0x5e3d,0x5e3d,0x5e3f,0x5e40,0x5e43,0x5e45,0x5e47,0x5e47,0x5e4c,0x5e4c,0x5e4e,0x5e4e,0x5e54,0x5e55,0x5e58,0x5e58,0x5e5e,0x5e5f,0x5e61,0x5e63,0x5e68,0x5e68,0x5e6a,0x5e6c,0x5e70,0x5e74,0x5e76,0x5e80,0x5e83,0x5e84,0x5e87,0x5e87,0x5e8a,0x5e8b,0x5e8f,0x5e8f,0x5e95,0x5e97,0x5e9a,0x5e9a,0x5e9c,0x5e9c,0x5ea0,0x5ea0,0x5ea5,0x5ea8,0x5eab,0x5eab,0x5ead,0x5ead,0x5eb3,0x5eb3,0x5eb5,0x5eb8,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec8,0x5ecb,0x5ecf,0x5ed1,0x5ed3,0x5ed3,0x5ed5,0x5ed6,0x5ed9,0x5edb,0x5edd,0x5ee3,0x5ee5,0x5ee5,0x5ee7,0x5ee9,0x5eec,0x5eec,0x5ef1,0x5ef1,0x5ef3,0x5ef4,0x5ef6,0x5ef7,0x5efa,0x5efb,0x5efe,0x5eff,0x5f01,0x5f01,0x5f03,0x5f04,0x5f07,0x5f08,0x5f0a,0x5f0b,0x5f0f,0x5f0f,0x5f11,0x5f15,0x5f17,0x5f18,0x5f1b,0x5f1b,0x5f1f,0x5f1f,0x5f22,0x5f22,0x5f25,0x5f27,0x5f29,0x5f29,0x5f2d,0x5f2d,0x5f31,0x5f31,0x5f34,0x5f35,0x5f37,0x5f37,0x5f3a,0x5f3a,0x5f3c,0x5f3c,0x5f3e,0x5f3e,0x5f40,0x5f40,0x5f46,0x5f46,0x5f48,0x5f48,0x5f4a,0x5f4a,0x5f4c,0x5f4c,0x5f4e,0x5f4e,0x5f50,0x5f51,0x5f53,0x5f54,0x5f56,0x5f59,0x5f5b,0x5f5b,0x5f5d,0x5f5d,0x5f61,0x5f62,0x5f64,0x5f67,0x5f69,0x5f6d,0x5f70,0x5f71,0x5f73,0x5f73,0x5f77,0x5f77,0x5f79,0x5f79,0x5f7c,0x5f7c,0x5f7f,0x5f82,0x5f85,0x5f85,0x5f87,0x5f8c,0x5f90,0x5f92,0x5f97,0x5f99,0x5f9c,0x5f9c,0x5f9e,0x5f9e,0x5fa0,0x5fa1,0x5fa3,0x5fa3,0x5fa7,0x5faa,0x5fac,0x5faf,0x5fb3,0x5fb3,0x5fb5,0x5fb5,0x5fb7,0x5fb7,0x5fb9,0x5fb9,0x5fbc,0x5fbd,0x5fc3,0x5fc5,0x5fc8,0x5fc9,0x5fcc,0x5fce,0x5fd0,0x5fd0,0x5fd2,0x5fd3,0x5fd5,0x5fd9,0x5fdc,0x5fe1,0x5fe4,0x5fe4,0x5fe8,0x5fe8,0x5feb,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff5,0x5ff5,0x5ff8,0x5ff8,0x5ffb,0x5ffd,0x5fff,0x5fff,0x600a,0x600a,0x600d,0x600d,0x600f,0x600f,0x6012,0x6012,0x6014,0x6017,0x6019,0x6019,0x601b,0x601d,0x6020,0x6021,0x6025,0x602a,0x602f,0x6030,0x6033,0x6033,0x6041,0x6043,0x6046,0x6048,0x604a,0x604b,0x604d,0x604d,0x6050,0x6050,0x6052,0x6052,0x6055,0x6055,0x6059,0x605a,0x605d,0x605d,0x605f,0x6060,0x6062,0x6065,0x6068,0x606d,0x606f,0x6070,0x6075,0x6075,0x6081,0x6081,0x6083,0x6086,0x6089,0x608d,0x608f,0x608f,0x6092,0x6092,0x6094,0x6097,0x609a,0x609b,0x609f,0x60a0,0x60a2,0x60a4,0x60a7,0x60a7,0x60aa,0x60aa,0x60b0,0x60b6,0x60b8,0x60b8,0x60bb,0x60be,0x60c4,0x60c7,0x60c9,0x60c9,0x60cb,0x60cb,0x60cf,0x60cf,0x60d1,0x60d1,0x60d3,0x60d3,0x60d5,0x60d5,0x60d7,0x60e2,0x60f0,0x60f4,0x60f6,0x60fc,0x6100,0x6101,0x6103,0x6103,0x6106,0x6106,0x6108,0x6109,0x610d,0x610f,0x6114,0x6115,0x611a,0x611c,0x611e,0x611f,0x6122,0x6122,0x6127,0x6128,0x612b,0x612d,0x6130,0x6130,0x6134,0x6134,0x6137,0x6137,0x613c,0x613c,0x613e,0x613f,0x6142,0x6142,0x6144,0x6144,0x6146,0x6148,0x614a,0x614d,0x614f,0x614f,0x6152,0x6155,0x6158,0x615a,0x615c,0x615d,0x615f,0x6164,0x6167,0x6168,0x616a,0x616b,0x616e,0x616e,0x6170,0x6171,0x6173,0x6177,0x617a,0x617a,0x617c,0x617e,0x6181,0x6183,0x618a,0x618a,0x618d,0x618e,0x6190,0x6194,0x6196,0x6196,0x6198,0x619a,0x61a4,0x61a4,0x61a7,0x61a9,0x61ab,0x61ac,0x61ae,0x61af,0x61b2,0x61b2,0x61b6,0x61b6,0x61b8,0x61b8,0x61ba,0x61be,0x61c3,0x61c3,0x61c6,0x61cc,0x61cf,0x61cf,0x61d5,0x61d5,0x61d7,0x61d7,0x61de,0x61df,0x61e3,0x61e3,0x61e6,0x61e6,0x61f2,0x61f2,0x61f6,0x61f8,0x61fa,0x61fa,0x61fc,0x6200,0x6207,0x6208,0x620a,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6218,0x6218,0x621a,0x621a,0x621e,0x621f,0x6221,0x6222,0x6226,0x6227,0x6229,0x622a,0x622d,0x622e,0x6230,0x6236,0x6239,0x6239,0x623e,0x6241,0x6243,0x6243,0x6247,0x624e,0x6251,0x6253,0x6257,0x6258,0x625b,0x625c,0x625e,0x625e,0x6263,0x6263,0x6268,0x6268,0x626e,0x626e,0x6271,0x6271,0x6273,0x6273,0x6276,0x6276,0x6279,0x627a,0x627c,0x627c,0x627e,0x6280,0x6283,0x6284,0x6286,0x6286,0x6289,0x628a,0x628f,0x628f,0x6291,0x6292,0x6294,0x6298,0x629b,0x629b,0x62a6,0x62a6,0x62a8,0x62a8,0x62ab,0x62ac,0x62ae,0x62ae,0x62b1,0x62b2,0x62b5,0x62b5,0x62b9,0x62b9,0x62bc,0x62bd,0x62c2,0x62c2,0x62c4,0x62cd,0x62cf,0x62d9,0x62db,0x62dc,0x62e1,0x62e1,0x62ec,0x62ef,0x62f1,0x62f1,0x62f3,0x62f3,0x62f5,0x62f7,0x62fd,0x62ff,0x6301,0x6302,0x6307,0x6307,0x6309,0x6309,0x630c,0x630c,0x6310,0x6312,0x6328,0x6328,0x632a,0x632b,0x632f,0x632f,0x6339,0x633b,0x633d,0x633e,0x6342,0x6344,0x6346,0x6346,0x6349,0x6349,0x634c,0x6350,0x6353,0x6353,0x6355,0x6355,0x6357,0x6357,0x635a,0x635a,0x6367,0x6369,0x636b,0x636b,0x636e,0x636e,0x6371,0x6372,0x6376,0x6377,0x637a,0x637b,0x637f,0x6380,0x6383,0x6384,0x6387,0x638a,0x638c,0x638c,0x638e,0x638f,0x6392,0x6392,0x6396,0x6396,0x6398,0x6398,0x639b,0x639c,0x639f,0x63a2,0x63a5,0x63a5,0x63a7,0x63aa,0x63ac,0x63ac,0x63be,0x63be,0x63c0,0x63c0,0x63c3,0x63c4,0x63c6,0x63c6,0x63c9,0x63c9,0x63cf,0x63d0,0x63d2,0x63d2,0x63d6,0x63d6,0x63da,0x63db,0x63df,0x63e1,0x63e3,0x63e3,0x63e9,0x63e9,0x63eb,0x63eb,0x63ed,0x63ee,0x63f2,0x63f2,0x63f4,0x63f7,0x6406,0x6406,0x6409,0x6409,0x640d,0x640d,0x640f,0x640f,0x6412,0x6412,0x6414,0x6414,0x6416,0x6418,0x641c,0x641c,0x6420,0x6420,0x6422,0x6422,0x6424,0x6425,0x6428,0x6428,0x642a,0x642d,0x642f,0x6430,0x6434,0x6434,0x6436,0x6436,0x643a,0x643a,0x643e,0x643e,0x6458,0x6458,0x645b,0x645b,0x645e,0x645e,0x6460,0x6460,0x6467,0x6467,0x6469,0x6469,0x646d,0x646d,0x646f,0x646f,0x6473,0x6473,0x6478,0x647b,0x647d,0x647d,0x6485,0x6485,0x6488,0x6488,0x6490,0x6493,0x6495,0x6495,0x6499,0x649b,0x649d,0x649f,0x64a4,0x64a5,0x64a9,0x64a9,0x64ab,0x64ab,0x64ad,0x64ae,0x64b0,0x64b0,0x64b2,0x64b2,0x64bb,0x64bc,0x64be,0x64bf,0x64c1,0x64c1,0x64c4,0x64c5,0x64c7,0x64c7,0x64c9,0x64ca,0x64cd,0x64ce,0x64d0,0x64d0,0x64d2,0x64d2,0x64d4,0x64d5,0x64d7,0x64d8,0x64da,0x64da,0x64e0,0x64e3,0x64e5,0x64e7,0x64ec,0x64ed,0x64ef,0x64ef,0x64f1,0x64f2,0x64f4,0x64f4,0x64fa,0x64fa,0x64fe,0x64fe,0x6500,0x6500,0x6502,0x6502,0x6504,0x6504,0x6507,0x6507,0x650a,0x650a,0x650f,0x650f,0x6514,0x6514,0x6518,0x6519,0x651d,0x651d,0x6522,0x6524,0x652a,0x652c,0x652f,0x652f,0x6532,0x6532,0x6534,0x6539,0x653b,0x653b,0x653d,0x653f,0x6543,0x6543,0x6545,0x6545,0x6548,0x6549,0x654d,0x654f,0x6551,0x6552,0x6554,0x6559,0x655d,0x655e,0x6562,0x6563,0x6566,0x6566,0x656c,0x656d,0x6572,0x6572,0x6574,0x6575,0x6577,0x6578,0x657e,0x657e,0x6581,0x6583,0x6585,0x6585,0x6587,0x6587,0x6589,0x6589,0x658c,0x658c,0x6590,0x6591,0x6597,0x6597,0x6599,0x6599,0x659b,0x659d,0x659f,0x659f,0x65a1,0x65a1,0x65a4,0x65a5,0x65a7,0x65a7,0x65ab,0x65ad,0x65af,0x65b2,0x65b7,0x65b7,0x65b9,0x65b9,0x65bc,0x65bd,0x65bf,0x65bf,0x65c1,0x65c6,0x65ca,0x65cc,0x65cf,0x65cf,0x65d2,0x65d2,0x65d7,0x65d7,0x65e0,0x65e1,0x65e3,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65ed,0x65f1,0x65f2,0x65f4,0x65f4,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6603,0x6606,0x6607,0x6609,0x660a,0x660c,0x6611,0x6613,0x6615,0x661b,0x661c,0x661e,0x6621,0x6623,0x6625,0x6627,0x6628,0x662b,0x662b,0x662d,0x662d,0x662f,0x6631,0x6634,0x6637,0x663a,0x663b,0x6641,0x6644,0x6648,0x6649,0x664b,0x664c,0x664e,0x6651,0x6659,0x665b,0x665d,0x6662,0x6664,0x6669,0x666b,0x6670,0x6673,0x6674,0x6676,0x667b,0x667d,0x667d,0x667f,0x667f,0x6684,0x6684,0x6687,0x6689,0x668b,0x668c,0x668e,0x668e,0x6690,0x6691,0x6696,0x6698,0x669a,0x669a,0x669d,0x669e,0x66a0,0x66a0,0x66a2,0x66a3,0x66ab,0x66ac,0x66ae,0x66ae,0x66b1,0x66b5,0x66b8,0x66bb,0x66be,0x66c1,0x66c4,0x66c9,0x66d3,0x66d4,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e3,0x66e6,0x66e6,0x66e8,0x66ea,0x66ec,0x66ec,0x66ee,0x66f0,0x66f2,0x66f4,0x66f7,0x66fa,0x66fc,0x66fc,0x66fe,0x6700,0x6703,0x6705,0x6708,0x670d,0x6710,0x6710,0x6714,0x6715,0x6717,0x6717,0x671b,0x671b,0x671d,0x6720,0x6722,0x6723,0x6726,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6734,0x6736,0x6736,0x673a,0x673a,0x673d,0x673e,0x6745,0x6746,0x6749,0x6749,0x674b,0x674c,0x674e,0x6751,0x6753,0x6753,0x6756,0x6756,0x675c,0x6760,0x6765,0x6765,0x676a,0x676a,0x676c,0x676d,0x676f,0x6773,0x6775,0x6775,0x6777,0x6777,0x677b,0x677c,0x677e,0x677f,0x6783,0x6783,0x6787,0x6787,0x6789,0x6789,0x678b,0x678c,0x678f,0x6790,0x6792,0x6793,0x6795,0x6795,0x6797,0x679a,0x679c,0x679d,0x67af,0x67b0,0x67b2,0x67b3,0x67b6,0x67b8,0x67be,0x67be,0x67c1,0x67c1,0x67c4,0x67c5,0x67ca,0x67ca,0x67cf,0x67d4,0x67d6,0x67da,0x67dd,0x67df,0x67e2,0x67e2,0x67e9,0x67e9,0x67ec,0x67ec,0x67ef,0x67f1,0x67f3,0x67f6,0x67f9,0x67f9,0x67fb,0x67fb,0x67fe,0x67ff,0x6803,0x6804,0x6810,0x6810,0x6812,0x6813,0x6816,0x6817,0x681d,0x681e,0x6821,0x6822,0x682a,0x682a,0x682e,0x682f,0x6831,0x6832,0x6834,0x6834,0x6838,0x6839,0x683b,0x683d,0x6840,0x6844,0x6846,0x6846,0x6848,0x6849,0x684e,0x684e,0x6850,0x6851,0x6853,0x6854,0x686d,0x686d,0x686f,0x686f,0x6874,0x6874,0x6876,0x6877,0x687e,0x687f,0x6881,0x6881,0x6883,0x6883,0x6885,0x6886,0x688f,0x688f,0x6893,0x6894,0x6897,0x6897,0x689b,0x689b,0x689d,0x689d,0x689f,0x68a3,0x68a7,0x68a8,0x68ad,0x68ad,0x68af,0x68b1,0x68b3,0x68b3,0x68b5,0x68b6,0x68c4,0x68c5,0x68c9,0x68cd,0x68d0,0x68d0,0x68d2,0x68d2,0x68d5,0x68d8,0x68da,0x68da,0x68df,0x68e0,0x68e3,0x68e3,0x68e7,0x68e8,0x68ec,0x68ec,0x68ee,0x68ee,0x68f2,0x68f2,0x68f9,0x68fd,0x6900,0x6901,0x6904,0x6906,0x690b,0x690b,0x690d,0x690f,0x6911,0x6912,0x6919,0x6919,0x691c,0x691c,0x6927,0x6927,0x6930,0x6930,0x6934,0x6934,0x6936,0x6936,0x6939,0x6939,0x693d,0x693d,0x693f,0x693f,0x6942,0x6942,0x694a,0x694a,0x694f,0x694f,0x6953,0x6955,0x6957,0x6957,0x6959,0x695a,0x695d,0x695e,0x6960,0x6963,0x6965,0x6965,0x6968,0x6968,0x696a,0x696f,0x6973,0x6973,0x6975,0x6975,0x6977,0x6979,0x697b,0x697b,0x697d,0x697d,0x698e,0x698e,0x6991,0x6991,0x6994,0x6995,0x6998,0x6998,0x699b,0x699c,0x699f,0x699f,0x69a4,0x69a7,0x69ad,0x69ae,0x69b0,0x69b2,0x69b4,0x69b4,0x69b7,0x69b7,0x69ba,0x69bc,0x69be,0x69c1,0x69c3,0x69c3,0x69c7,0x69c7,0x69ca,0x69d0,0x69d3,0x69d3,0x69d6,0x69d6,0x69e2,0x69e2,0x69e5,0x69ea,0x69ed,0x69ed,0x69f2,0x69f2,0x69f9,0x69f9,0x69fb,0x69fb,0x69fd,0x69fd,0x69ff,0x6a00,0x6a02,0x6a02,0x6a05,0x6a05,0x6a0a,0x6a0b,0x6a11,0x6a14,0x6a17,0x6a17,0x6a19,0x6a19,0x6a1b,0x6a1b,0x6a1e,0x6a1f,0x6a21,0x6a21,0x6a23,0x6a23,0x6a29,0x6a29,0x6a2b,0x6a2b,0x6a35,0x6a35,0x6a38,0x6a3b,0x6a3d,0x6a3d,0x6a43,0x6a45,0x6a47,0x6a4d,0x6a50,0x6a50,0x6a52,0x6a53,0x6a58,0x6a5a,0x6a5f,0x6a5f,0x6a61,0x6a62,0x6a64,0x6a64,0x6a66,0x6a66,0x6a6b,0x6a6b,0x6a72,0x6a72,0x6a75,0x6a75,0x6a7f,0x6a80,0x6a83,0x6a84,0x6a89,0x6a89,0x6a8d,0x6a8e,0x6a90,0x6a90,0x6a94,0x6a94,0x6a97,0x6a97,0x6a9c,0x6a9d,0x6a9f,0x6aa0,0x6aa2,0x6aa3,0x6aae,0x6aae,0x6ab3,0x6ab3,0x6ab6,0x6ab6,0x6abb,0x6abc,0x6abf,0x6abf,0x6ac2,0x6ac3,0x6ad3,0x6ad3,0x6ada,0x6adf,0x6ae8,0x6ae8,0x6aea,0x6aea,0x6aec,0x6aec,0x6af6,0x6af6,0x6afb,0x6afc,0x6b02,0x6b04,0x6b0a,0x6b0a,0x6b0c,0x6b0c,0x6b11,0x6b12,0x6b16,0x6b16,0x6b1e,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b2c,0x6b2c,0x6b32,0x6b32,0x6b37,0x6b3b,0x6b3d,0x6b3f,0x6b43,0x6b43,0x6b46,0x6b47,0x6b49,0x6b4a,0x6b4c,0x6b4c,0x6b4e,0x6b4e,0x6b50,0x6b50,0x6b54,0x6b54,0x6b59,0x6b5b,0x6b5f,0x6b67,0x6b69,0x6b6a,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b77,0x6b7b,0x6b7f,0x6b80,0x6b82,0x6b84,0x6b86,0x6b86,0x6b89,0x6b8a,0x6b8d,0x6b8d,0x6b91,0x6b91,0x6b96,0x6b96,0x6b98,0x6b98,0x6b9e,0x6b9e,0x6ba2,0x6ba2,0x6ba4,0x6ba4,0x6bab,0x6bab,0x6bad,0x6baf,0x6bb2,0x6bb3,0x6bb5,0x6bb5,0x6bb7,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc4,0x6bc6,0x6bcb,0x6bcb,0x6bcd,0x6bcd,0x6bcf,0x6bcf,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdb,0x6beb,0x6bec,0x6bef,0x6bef,0x6bf3,0x6bf3,0x6bf8,0x6bf8,0x6bff,0x6bff,0x6c05,0x6c05,0x6c08,0x6c08,0x6c0f,0x6c11,0x6c13,0x6c14,0x6c17,0x6c17,0x6c1b,0x6c1b,0x6c23,0x6c24,0x6c33,0x6c38,0x6c3e,0x6c43,0x6c4b,0x6c4b,0x6c4e,0x6c50,0x6c52,0x6c55,0x6c57,0x6c57,0x6c59,0x6c60,0x6c66,0x6c66,0x6c68,0x6c6a,0x6c6d,0x6c6d,0x6c70,0x6c70,0x6c72,0x6c72,0x6c74,0x6c74,0x6c76,0x6c76,0x6c7a,0x6c7a,0x6c7d,0x6c7e,0x6c81,0x6c89,0x6c8c,0x6c8d,0x6c90,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9b,0x6ca2,0x6ca2,0x6cab,0x6cac,0x6cae,0x6cae,0x6cb0,0x6cb1,0x6cb3,0x6cb3,0x6cb6,0x6cb6,0x6cb8,0x6cb9,0x6cbb,0x6cbf,0x6cc1,0x6cc2,0x6cc4,0x6cc6,0x6cc9,0x6cca,0x6ccc,0x6ccc,0x6cd0,0x6cd1,0x6cd3,0x6cd5,0x6cd7,0x6cd7,0x6cd9,0x6cdd,0x6ce0,0x6ce3,0x6ce5,0x6ce5,0x6ce8,0x6ce8,0x6ceb,0x6ceb,0x6cee,0x6cf1,0x6cf3,0x6cf3,0x6cff,0x6cff,0x6d04,0x6d04,0x6d07,0x6d07,0x6d0a,0x6d0c,0x6d11,0x6d12,0x6d14,0x6d14,0x6d17,0x6d17,0x6d19,0x6d19,0x6d1b,0x6d1b,0x6d1e,0x6d1f,0x6d23,0x6d23,0x6d25,0x6d25,0x6d27,0x6d2c,0x6d2e,0x6d2e,0x6d32,0x6d32,0x6d35,0x6d36,0x6d38,0x6d3e,0x6d41,0x6d41,0x6d59,0x6d5a,0x6d5c,0x6d5c,0x6d61,0x6d61,0x6d63,0x6d67,0x6d69,0x6d6a,0x6d6c,0x6d6c,0x6d6e,0x6d6f,0x6d72,0x6d72,0x6d74,0x6d74,0x6d77,0x6d79,0x6d7f,0x6d7f,0x6d82,0x6d82,0x6d85,0x6d85,0x6d87,0x6d89,0x6d8c,0x6d8f,0x6d91,0x6d91,0x6d93,0x6d97,0x6daa,0x6dac,0x6daf,0x6daf,0x6db2,0x6db2,0x6db4,0x6db5,0x6db7,0x6db8,0x6dbc,0x6dbc,0x6dbf,0x6dc0,0x6dc3,0x6dc8,0x6dcb,0x6dcc,0x6dcf,0x6dd2,0x6dd6,0x6dd6,0x6dd8,0x6dda,0x6ddd,0x6dde,0x6de0,0x6de6,0x6de8,0x6de8,0x6dea,0x6dec,0x6dee,0x6dee,0x6df1,0x6df1,0x6df3,0x6df3,0x6df5,0x6dfc,0x6e05,0x6e05,0x6e08,0x6e08,0x6e0a,0x6e0a,0x6e17,0x6e17,0x6e19,0x6e1b,0x6e1d,0x6e1d,0x6e1f,0x6e26,0x6e28,0x6e28,0x6e2b,0x6e2d,0x6e2f,0x6e2f,0x6e32,0x6e32,0x6e34,0x6e34,0x6e36,0x6e38,0x6e3a,0x6e3a,0x6e3c,0x6e3e,0x6e40,0x6e40,0x6e43,0x6e45,0x6e4a,0x6e4a,0x6e4d,0x6e4e,0x6e51,0x6e51,0x6e53,0x6e56,0x6e58,0x6e58,0x6e5b,0x6e5c,0x6e5e,0x6e5f,0x6e63,0x6e63,0x6e67,0x6e67,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e72,0x6e73,0x6e75,0x6e75,0x6e7a,0x6e7a,0x6e8f,0x6e90,0x6e95,0x6e96,0x6e98,0x6e98,0x6e9c,0x6e9d,0x6e9f,0x6e9f,0x6ea2,0x6ea2,0x6ea5,0x6ea5,0x6ea7,0x6ea8,0x6eaa,0x6eab,0x6eaf,0x6eaf,0x6eb1,0x6eb2,0x6eb5,0x6eb7,0x6eba,0x6eba,0x6ebd,0x6ebd,0x6ec2,0x6ec5,0x6ec8,0x6ec9,0x6ecb,0x6ecc,0x6ece,0x6ece,0x6ed1,0x6ed1,0x6ed3,0x6ed5,0x6ed9,0x6ed9,0x6eec,0x6eed,0x6eef,0x6eef,0x6ef2,0x6ef2,0x6ef4,0x6ef5,0x6ef7,0x6ef8,0x6efc,0x6efc,0x6efe,0x6eff,0x6f01,0x6f02,0x6f04,0x6f04,0x6f06,0x6f06,0x6f09,0x6f09,0x6f0c,0x6f0c,0x6f0f,0x6f0f,0x6f11,0x6f11,0x6f13,0x6f15,0x6f19,0x6f1a,0x6f20,0x6f20,0x6f22,0x6f24,0x6f26,0x6f28,0x6f2a,0x6f2d,0x6f30,0x6f33,0x6f38,0x6f38,0x6f3c,0x6f3c,0x6f3e,0x6f3f,0x6f41,0x6f41,0x6f4f,0x6f4f,0x6f51,0x6f52,0x6f54,0x6f54,0x6f57,0x6f5f,0x6f61,0x6f64,0x6f66,0x6f66,0x6f6d,0x6f71,0x6f74,0x6f74,0x6f78,0x6f78,0x6f7a,0x6f7a,0x6f7c,0x6f7e,0x6f81,0x6f82,0x6f84,0x6f84,0x6f86,0x6f89,0x6f8b,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f92,0x6f94,0x6f98,0x6f9f,0x6f9f,0x6fa1,0x6fa1,0x6fa3,0x6fa5,0x6fa7,0x6fa8,0x6faa,0x6faa,0x6fae,0x6faf,0x6fb1,0x6fb1,0x6fb3,0x6fb3,0x6fb6,0x6fb6,0x6fb9,0x6fb9,0x6fbe,0x6fbe,0x6fc0,0x6fc3,0x6fc6,0x6fc7,0x6fc9,0x6fca,0x6fd4,0x6fd5,0x6fd8,0x6fd8,0x6fda,0x6fdb,0x6fde,0x6fe1,0x6fe4,0x6fe6,0x6fe9,0x6fe9,0x6feb,0x6fec,0x6fee,0x6fef,0x6ff1,0x6ff1,0x6ff3,0x6ff4,0x6ff6,0x6ff6,0x6ffa,0x6ffa,0x6ffe,0x6ffe,0x7001,0x7001,0x7005,0x7007,0x7009,0x7009,0x700b,0x700b,0x700f,0x700f,0x7011,0x7013,0x7015,0x7015,0x7018,0x7018,0x701a,0x701f,0x7023,0x7023,0x7026,0x7028,0x702f,0x7030,0x7032,0x7032,0x7037,0x7038,0x703c,0x703c,0x703e,0x703e,0x7044,0x7044,0x7046,0x7046,0x704c,0x704c,0x704e,0x704e,0x7050,0x7051,0x7053,0x7053,0x7058,0x7058,0x705d,0x705e,0x7063,0x7063,0x7066,0x7066,0x7069,0x7069,0x706b,0x706c,0x706f,0x7070,0x7078,0x7078,0x707c,0x707e,0x7081,0x7081,0x7085,0x7086,0x708a,0x708a,0x708e,0x708e,0x7092,0x7092,0x7095,0x7095,0x7098,0x709b,0x70a1,0x70a1,0x70a4,0x70a4,0x70a6,0x70a6,0x70ab,0x70b0,0x70b3,0x70b3,0x70b7,0x70ba,0x70c8,0x70c8,0x70ca,0x70cb,0x70cf,0x70cf,0x70d3,0x70d4,0x70d8,0x70d9,0x70dc,0x70dd,0x70df,0x70df,0x70ef,0x70ef,0x70f1,0x70f1,0x70f9,0x70fa,0x70fd,0x70fd,0x7103,0x7104,0x7106,0x7106,0x7109,0x7109,0x710c,0x710c,0x7119,0x711a,0x711c,0x711c,0x711e,0x711e,0x7120,0x7121,0x7126,0x7126,0x712d,0x7131,0x7136,0x7136,0x7143,0x7143,0x7146,0x7147,0x7149,0x714a,0x714c,0x714c,0x714e,0x714e,0x7150,0x7150,0x7152,0x7153,0x7155,0x7157,0x7159,0x7159,0x715c,0x715e,0x7162,0x7162,0x7164,0x7169,0x716c,0x716c,0x716e,0x716e,0x717d,0x717d,0x7180,0x7180,0x7184,0x7185,0x7187,0x718a,0x718f,0x718f,0x7192,0x7192,0x7194,0x7194,0x7199,0x7199,0x719b,0x719b,0x719f,0x71a2,0x71a4,0x71a4,0x71a8,0x71a9,0x71ac,0x71ac,0x71af,0x71af,0x71b1,0x71b2,0x71b9,0x71ba,0x71be,0x71be,0x71c1,0x71c1,0x71c3,0x71c3,0x71c8,0x71c9,0x71cb,0x71cb,0x71ce,0x71d0,0x71d2,0x71d2,0x71d4,0x71d6,0x71d9,0x71d9,0x71db,0x71db,0x71df,0x71e0,0x71e5,0x71e7,0x71ec,0x71ee,0x71f9,0x71f9,0x71fb,0x7201,0x7206,0x7207,0x720b,0x720d,0x7210,0x7210,0x7214,0x7214,0x7217,0x7217,0x721a,0x721b,0x721f,0x721f,0x7225,0x7225,0x7228,0x7228,0x722a,0x722a,0x722c,0x722d,0x7230,0x7230,0x7232,0x7232,0x7235,0x7236,0x7238,0x723b,0x723d,0x7240,0x7242,0x7242,0x7246,0x7248,0x724b,0x724c,0x7252,0x7254,0x7256,0x7256,0x7258,0x725b,0x725d,0x725d,0x725f,0x725f,0x7261,0x7263,0x7267,0x7267,0x7269,0x7269,0x726f,0x726f,0x7272,0x7272,0x7274,0x7274,0x7278,0x7279,0x727d,0x727d,0x7280,0x7282,0x7287,0x7287,0x728d,0x728d,0x7292,0x7292,0x7296,0x7296,0x72a2,0x72a2,0x72a7,0x72a7,0x72ac,0x72ad,0x72af,0x72af,0x72b3,0x72b5,0x72c0,0x72c0,0x72c2,0x72c2,0x72c4,0x72c4,0x72c9,0x72c9,0x72ce,0x72ce,0x72d0,0x72d0,0x72d2,0x72d2,0x72d7,0x72d7,0x72d9,0x72d9,0x72e1,0x72e2,0x72e5,0x72e5,0x72e8,0x72e9,0x72ec,0x72ec,0x72f4,0x72f4,0x72f7,0x72fd,0x7309,0x730a,0x7313,0x7313,0x7316,0x7319,0x731b,0x731d,0x7322,0x7322,0x7325,0x7325,0x7327,0x732b,0x7331,0x7331,0x7334,0x7334,0x7336,0x7337,0x733e,0x733f,0x7343,0x7345,0x734e,0x734e,0x7350,0x7350,0x7352,0x7352,0x7357,0x7358,0x735c,0x735c,0x7360,0x7360,0x7368,0x736c,0x736f,0x7370,0x7372,0x7372,0x7375,0x7375,0x7377,0x7378,0x737a,0x737c,0x7381,0x7381,0x7384,0x7384,0x7386,0x7389,0x738b,0x738b,0x738e,0x738e,0x7392,0x7392,0x7394,0x7398,0x739e,0x73a0,0x73a6,0x73a7,0x73a9,0x73ab,0x73ad,0x73ad,0x73b2,0x73b4,0x73b7,0x73b7,0x73b9,0x73b9,0x73bb,0x73bd,0x73bf,0x73c0,0x73c2,0x73c2,0x73c6,0x73c6,0x73c8,0x73ca,0x73cc,0x73cd,0x73cf,0x73cf,0x73d2,0x73d2,0x73d6,0x73d9,0x73dd,0x73de,0x73e0,0x73e0,0x73e2,0x73e6,0x73e9,0x73eb,0x73ed,0x73ee,0x73f5,0x73f5,0x73f7,0x73f9,0x73fd,0x73fe,0x7401,0x7401,0x7403,0x7407,0x7409,0x7409,0x7413,0x7413,0x7417,0x7418,0x741b,0x741b,0x741d,0x741d,0x741f,0x7422,0x7424,0x7426,0x7428,0x7428,0x742a,0x742c,0x742e,0x7436,0x7438,0x7438,0x743a,0x743a,0x743f,0x7446,0x7448,0x7449,0x744b,0x744c,0x744e,0x744e,0x7455,0x7455,0x7457,0x7457,0x7459,0x7460,0x7462,0x7465,0x7468,0x746a,0x746d,0x7473,0x747d,0x747e,0x7480,0x7480,0x7482,0x7487,0x7489,0x748c,0x7490,0x7490,0x7498,0x7498,0x749c,0x749f,0x74a1,0x74a1,0x74a3,0x74a3,0x74a5,0x74a5,0x74a7,0x74a8,0x74aa,0x74ab,0x74b0,0x74b2,0x74b5,0x74b6,0x74b8,0x74b9,0x74bc,0x74bd,0x74bf,0x74c0,0x74c6,0x74c6,0x74ca,0x74ca,0x74cd,0x74cd,0x74cf,0x74d0,0x74d3,0x74d4,0x74d8,0x74d8,0x74da,0x74dc,0x74e0,0x74e0,0x74e2,0x74e3,0x74e6,0x74e6,0x74e9,0x74e9,0x74ee,0x74ee,0x74f2,0x74f3,0x74f7,0x74f7,0x7501,0x7501,0x7503,0x7504,0x750c,0x750e,0x7511,0x7511,0x7513,0x7513,0x7515,0x7515,0x7518,0x7518,0x751a,0x751c,0x751e,0x751f,0x7522,0x7526,0x7528,0x7528,0x752b,0x752c,0x7530,0x7533,0x7537,0x7538,0x753a,0x753b,0x753f,0x753f,0x7543,0x7543,0x7547,0x7547,0x754a,0x754c,0x754e,0x754f,0x7551,0x7551,0x7553,0x7554,0x7559,0x755d,0x7560,0x7560,0x7562,0x7562,0x7564,0x7567,0x756a,0x756b,0x756f,0x7570,0x7575,0x7576,0x7578,0x7578,0x757a,0x757a,0x757f,0x757f,0x7586,0x7588,0x758a,0x758b,0x758e,0x758f,0x7591,0x7592,0x7594,0x7594,0x7599,0x759a,0x759d,0x759d,0x75a3,0x75a3,0x75a5,0x75a5,0x75a9,0x75a9,0x75ab,0x75ab,0x75b1,0x75b5,0x75b8,0x75b9,0x75bc,0x75be,0x75c0,0x75c0,0x75c2,0x75c3,0x75c5,0x75c5,0x75c7,0x75c7,0x75ca,0x75ca,0x75cd,0x75ce,0x75d2,0x75d5,0x75d8,0x75d9,0x75db,0x75db,0x75de,0x75de,0x75e2,0x75e4,0x75e7,0x75e7,0x75f0,0x75f0,0x75f2,0x75f4,0x75f9,0x75fa,0x75fc,0x75fc,0x75ff,0x7601,0x7607,0x7609,0x760b,0x760b,0x760d,0x760d,0x7610,0x7610,0x7615,0x7615,0x7619,0x7619,0x761f,0x7622,0x7624,0x7624,0x7626,0x7627,0x762f,0x7631,0x7633,0x7634,0x763b,0x763b,0x7642,0x7643,0x7646,0x7649,0x764c,0x764c,0x764e,0x764e,0x7652,0x7652,0x7655,0x7656,0x7658,0x7658,0x765c,0x765c,0x7661,0x7662,0x7664,0x7665,0x7667,0x7669,0x766c,0x7672,0x7676,0x7676,0x7678,0x7678,0x767a,0x767e,0x7680,0x7681,0x7683,0x7684,0x7686,0x7687,0x768b,0x768b,0x768e,0x768e,0x7690,0x7690,0x7692,0x7693,0x7696,0x7697,0x769a,0x769c,0x769e,0x769e,0x76a4,0x76a4,0x76ac,0x76ac,0x76ae,0x76ae,0x76b4,0x76b4,0x76b6,0x76b6,0x76b8,0x76b8,0x76ba,0x76ba,0x76bf,0x76bf,0x76c2,0x76c3,0x76c6,0x76c6,0x76c8,0x76c8,0x76ca,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76d9,0x76db,0x76dc,0x76de,0x76df,0x76e1,0x76e1,0x76e3,0x76e5,0x76e7,0x76e7,0x76ea,0x76ea,0x76ec,0x76ec,0x76ee,0x76ee,0x76f1,0x76f2,0x76f4,0x76f4,0x76f8,0x76f9,0x76fb,0x76fc,0x76fe,0x7702,0x7704,0x7704,0x7707,0x770c,0x7710,0x7710,0x771a,0x771b,0x771e,0x7720,0x7725,0x7726,0x7728,0x7729,0x7734,0x7734,0x7737,0x773c,0x773e,0x773e,0x7740,0x7740,0x7743,0x7743,0x7746,0x7747,0x774d,0x774d,0x7752,0x7752,0x775a,0x775b,0x775f,0x7763,0x7765,0x7766,0x7768,0x7768,0x776b,0x776c,0x7777,0x7777,0x7779,0x7779,0x777d,0x777f,0x778b,0x778b,0x778d,0x778e,0x7791,0x7791,0x7796,0x7796,0x7799,0x7799,0x779e,0x779e,0x77a0,0x77a0,0x77a2,0x77a2,0x77a5,0x77a5,0x77aa,0x77aa,0x77ac,0x77ae,0x77b0,0x77b0,0x77b3,0x77b3,0x77b9,0x77b9,0x77bb,0x77bd,0x77bf,0x77bf,0x77c7,0x77c7,0x77c9,0x77c9,0x77cd,0x77cd,0x77d7,0x77d7,0x77d9,0x77dc,0x77de,0x77de,0x77e1,0x77e3,0x77e5,0x77e5,0x77e7,0x77e7,0x77e9,0x77e9,0x77ed,0x77f0,0x77f3,0x77f3,0x77f8,0x77f8,0x77fa,0x77fd,0x7802,0x7802,0x7807,0x7807,0x780c,0x780c,0x780f,0x780f,0x7811,0x7812,0x7814,0x7814,0x7822,0x7822,0x7825,0x7827,0x782c,0x782d,0x7830,0x7830,0x7832,0x7832,0x7834,0x7834,0x7843,0x7843,0x7845,0x7845,0x784f,0x784f,0x785c,0x785d,0x7860,0x7860,0x7867,0x7868,0x786a,0x786c,0x786e,0x786f,0x787c,0x787c,0x7881,0x7881,0x7884,0x7884,0x7887,0x7887,0x788c,0x788f,0x7891,0x7891,0x7893,0x7893,0x7897,0x7897,0x789f,0x789f,0x78a3,0x78a4,0x78a7,0x78a9,0x78ac,0x78ad,0x78ba,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c5,0x78c5,0x78c8,0x78c8,0x78ca,0x78cb,0x78ce,0x78d1,0x78d4,0x78d5,0x78da,0x78da,0x78e0,0x78e0,0x78e7,0x78e8,0x78ea,0x78ea,0x78ec,0x78ec,0x78ef,0x78ef,0x78f4,0x78f5,0x78f7,0x78f7,0x78fa,0x78fd,0x7901,0x7901,0x790c,0x790c,0x790e,0x790f,0x7911,0x7912,0x7916,0x7916,0x7919,0x7919,0x7927,0x7927,0x792a,0x792d,0x7931,0x7931,0x793a,0x793c,0x793e,0x793e,0x7940,0x7941,0x7944,0x794a,0x7950,0x7950,0x7953,0x7958,0x795a,0x7960,0x7962,0x7962,0x7965,0x7965,0x7967,0x7968,0x796d,0x796d,0x7979,0x797a,0x797c,0x797c,0x797f,0x7981,0x798a,0x798b,0x798d,0x798f,0x7991,0x7991,0x7994,0x7994,0x799b,0x799b,0x799d,0x799d,0x79a6,0x79a8,0x79aa,0x79ab,0x79ae,0x79ae,0x79b0,0x79b1,0x79b3,0x79b4,0x79b8,0x79c1,0x79c4,0x79c4,0x79c6,0x79c6,0x79c9,0x79cb,0x79d1,0x79d2,0x79d5,0x79d5,0x79d8,0x79d8,0x79de,0x79df,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ec,0x79f5,0x79f5,0x79f8,0x79f8,0x79fb,0x79fb,0x7a00,0x7a02,0x7a05,0x7a05,0x7a08,0x7a08,0x7a0a,0x7a0d,0x7a14,0x7a14,0x7a17,0x7a1a,0x7a1c,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a27,0x7a27,0x7a2e,0x7a2e,0x7a30,0x7a31,0x7a33,0x7a33,0x7a36,0x7a37,0x7a39,0x7a39,0x7a3b,0x7a3d,0x7a3f,0x7a40,0x7a42,0x7a42,0x7a45,0x7a46,0x7a49,0x7a49,0x7a4c,0x7a4e,0x7a57,0x7a57,0x7a60,0x7a62,0x7a66,0x7a66,0x7a69,0x7a69,0x7a6b,0x7a6b,0x7a70,0x7a70,0x7a74,0x7a76,0x7a79,0x7a7a,0x7a7d,0x7a86,0x7a88,0x7a88,0x7a8a,0x7a8a,0x7a92,0x7a93,0x7a95,0x7a99,0x7a9b,0x7a9b,0x7a9f,0x7aa0,0x7aa3,0x7aa3,0x7aa9,0x7aaa,0x7aac,0x7aac,0x7aae,0x7aaf,0x7ab3,0x7ab3,0x7ab6,0x7ab6,0x7ab9,0x7abb,0x7abe,0x7abf,0x7ac4,0x7ac5,0x7ac7,0x7ac8,0x7aca,0x7acb,0x7ad7,0x7ad7,0x7ad9,0x7ad9,0x7adc,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae3,0x7ae5,0x7ae6,0x7aea,0x7aea,0x7aed,0x7aed,0x7aef,0x7aef,0x7af4,0x7af4,0x7af6,0x7af6,0x7af8,0x7afa,0x7afd,0x7afd,0x7aff,0x7aff,0x7b06,0x7b06,0x7b08,0x7b08,0x7b0a,0x7b0a,0x7b0c,0x7b0c,0x7b0e,0x7b0f,0x7b11,0x7b12,0x7b18,0x7b19,0x7b1b,0x7b1b,0x7b1e,0x7b1e,0x7b20,0x7b20,0x7b25,0x7b28,0x7b2c,0x7b2d,0x7b2f,0x7b2f,0x7b33,0x7b33,0x7b35,0x7b35,0x7b39,0x7b39,0x7b45,0x7b46,0x7b48,0x7b49,0x7b4b,0x7b4d,0x7b4f,0x7b54,0x7b56,0x7b56,0x7b5f,0x7b60,0x7b65,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b6c,0x7b6e,0x7b6e,0x7b71,0x7b71,0x7b73,0x7b73,0x7b75,0x7b75,0x7b7d,0x7b7d,0x7b87,0x7b87,0x7b8b,0x7b8b,0x7b8d,0x7b8f,0x7b92,0x7b92,0x7b94,0x7b95,0x7b97,0x7b97,0x7b99,0x7b9a,0x7b9c,0x7b9d,0x7ba0,0x7ba1,0x7bad,0x7bad,0x7bb1,0x7bb1,0x7bb4,0x7bb4,0x7bb8,0x7bb8,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc4,0x7bc6,0x7bc7,0x7bc9,0x7bcc,0x7bd2,0x7bd2,0x7bd4,0x7bd4,0x7bd9,0x7bd9,0x7bdb,0x7bdb,0x7bdd,0x7bdd,0x7be0,0x7be1,0x7be4,0x7be4,0x7be6,0x7be6,0x7be9,0x7bea,0x7bf3,0x7bf3,0x7bf7,0x7bf7,0x7bfe,0x7bfe,0x7c00,0x7c00,0x7c07,0x7c07,0x7c09,0x7c09,0x7c0b,0x7c0b,0x7c0f,0x7c0f,0x7c12,0x7c12,0x7c1e,0x7c21,0x7c27,0x7c27,0x7c2a,0x7c2b,0x7c37,0x7c38,0x7c3d,0x7c3f,0x7c43,0x7c43,0x7c4c,0x7c4d,0x7c50,0x7c50,0x7c52,0x7c52,0x7c54,0x7c54,0x7c5b,0x7c5c,0x7c5f,0x7c60,0x7c64,0x7c65,0x7c67,0x7c67,0x7c69,0x7c69,0x7c6c,0x7c6c,0x7c72,0x7c73,0x7c7e,0x7c7e,0x7c81,0x7c81,0x7c83,0x7c83,0x7c89,0x7c89,0x7c8d,0x7c8d,0x7c92,0x7c92,0x7c95,0x7c95,0x7c97,0x7c98,0x7c9f,0x7c9f,0x7ca2,0x7ca2,0x7ca4,0x7ca8,0x7cae,0x7cae,0x7cb1,0x7cb3,0x7cb9,0x7cb9,0x7cbc,0x7cbe,0x7cc5,0x7cc6,0x7cca,0x7cca,0x7cd5,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce5,0x7ce5,0x7ce7,0x7ce7,0x7cef,0x7cef,0x7cf1,0x7cf2,0x7cf4,0x7cf6,0x7cf8,0x7cfb,0x7cfe,0x7cfe,0x7d00,0x7d00,0x7d02,0x7d08,0x7d0a,0x7d0b,0x7d0d,0x7d0d,0x7d10,0x7d10,0x7d13,0x7d15,0x7d17,0x7d1c,0x7d20,0x7d22,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d35,0x7d38,0x7d3a,0x7d41,0x7d46,0x7d49,0x7d49,0x7d4c,0x7d4d,0x7d50,0x7d51,0x7d55,0x7d56,0x7d59,0x7d59,0x7d5b,0x7d5c,0x7d5e,0x7d5e,0x7d61,0x7d63,0x7d66,0x7d66,0x7d68,0x7d6a,0x7d6e,0x7d6e,0x7d70,0x7d73,0x7d75,0x7d76,0x7d79,0x7d7a,0x7d7f,0x7d7f,0x7d83,0x7d83,0x7d86,0x7d86,0x7d8e,0x7d8f,0x7d93,0x7d93,0x7d98,0x7d98,0x7d9a,0x7d9a,0x7d9c,0x7d9c,0x7da0,0x7da0,0x7da2,0x7da3,0x7da5,0x7da7,0x7da9,0x7da9,0x7dab,0x7dae,0x7db0,0x7db2,0x7db4,0x7db5,0x7db8,0x7db8,0x7dba,0x7dbb,0x7dbd,0x7dbf,0x7dc4,0x7dc4,0x7dc7,0x7dc7,0x7dca,0x7dcd,0x7dcf,0x7dcf,0x7dd6,0x7dd8,0x7dda,0x7dda,0x7ddc,0x7dde,0x7de0,0x7de1,0x7de3,0x7de3,0x7de6,0x7de6,0x7de8,0x7de9,0x7dec,0x7dec,0x7def,0x7def,0x7df4,0x7df4,0x7df6,0x7df6,0x7df9,0x7df9,0x7dfb,0x7dfb,0x7e03,0x7e03,0x7e08,0x7e0b,0x7e10,0x7e11,0x7e15,0x7e15,0x7e17,0x7e18,0x7e1b,0x7e1b,0x7e1d,0x7e23,0x7e2b,0x7e2b,0x7e2e,0x7e2f,0x7e31,0x7e33,0x7e35,0x7e35,0x7e37,0x7e37,0x7e39,0x7e39,0x7e3b,0x7e3b,0x7e3d,0x7e3e,0x7e41,0x7e41,0x7e43,0x7e48,0x7e50,0x7e50,0x7e52,0x7e52,0x7e54,0x7e57,0x7e59,0x7e5a,0x7e5e,0x7e5e,0x7e61,0x7e62,0x7e69,0x7e6b,0x7e6d,0x7e6d,0x7e6f,0x7e70,0x7e76,0x7e76,0x7e79,0x7e79,0x7e7c,0x7e7e,0x7e81,0x7e82,0x7e87,0x7e88,0x7e8a,0x7e8a,0x7e8c,0x7e8d,0x7e8f,0x7e8f,0x7e93,0x7e94,0x7e96,0x7e96,0x7e98,0x7e98,0x7e9b,0x7e9c,0x7e9f,0x7e9f,0x7f36,0x7f38,0x7f3a,0x7f3a,0x7f3e,0x7f3f,0x7f43,0x7f45,0x7f47,0x7f47,0x7f4b,0x7f4e,0x7f50,0x7f55,0x7f58,0x7f58,0x7f5d,0x7f5d,0x7f5f,0x7f61,0x7f63,0x7f63,0x7f66,0x7f66,0x7f68,0x7f68,0x7f6a,0x7f6b,0x7f6e,0x7f6e,0x7f70,0x7f70,0x7f72,0x7f72,0x7f75,0x7f75,0x7f77,0x7f79,0x7f7c,0x7f7e,0x7f82,0x7f82,0x7f85,0x7f88,0x7f8a,0x7f8a,0x7f8c,0x7f8c,0x7f8e,0x7f8e,0x7f94,0x7f94,0x7f96,0x7f98,0x7f9a,0x7f9a,0x7f9d,0x7f9e,0x7fa1,0x7fa1,0x7fa4,0x7fa4,0x7fa8,0x7fa9,0x7fab,0x7fab,0x7faf,0x7faf,0x7fb2,0x7fb2,0x7fb6,0x7fb6,0x7fb8,0x7fb9,0x7fbd,0x7fbd,0x7fbf,0x7fbf,0x7fc1,0x7fc1,0x7fc5,0x7fc5,0x7fca,0x7fca,0x7fcc,0x7fcc,0x7fce,0x7fce,0x7fd2,0x7fd2,0x7fd4,0x7fd6,0x7fdb,0x7fdb,0x7fdf,0x7fe1,0x7fe3,0x7fe4,0x7fe6,0x7fe6,0x7fe9,0x7fe9,0x7feb,0x7fec,0x7fee,0x7fee,0x7ff0,0x7ff0,0x7ff3,0x7ff3,0x7ff9,0x7ffc,0x7ffe,0x7ffe,0x8000,0x8009,0x800c,0x800c,0x8010,0x8012,0x8014,0x8019,0x801e,0x801e,0x8021,0x8021,0x8026,0x8026,0x8028,0x8028,0x802c,0x802d,0x8030,0x8030,0x8033,0x8033,0x8036,0x8036,0x803d,0x803d,0x803f,0x803f,0x8043,0x8043,0x8046,0x8046,0x8048,0x8048,0x804a,0x804a,0x8052,0x8052,0x8055,0x8056,0x8058,0x8058,0x805a,0x805a,0x805e,0x805e,0x8061,0x8061,0x806f,0x8073,0x8075,0x8077,0x807d,0x8080,0x8084,0x8087,0x8089,0x8089,0x808b,0x808c,0x8093,0x8093,0x8096,0x8096,0x8098,0x8098,0x809a,0x809b,0x809d,0x809d,0x80a1,0x80a2,0x80a5,0x80a6,0x80a9,0x80ab,0x80ad,0x80ad,0x80af,0x80af,0x80b1,0x80b2,0x80b4,0x80b5,0x80ba,0x80ba,0x80c3,0x80c4,0x80c6,0x80c6,0x80ca,0x80ca,0x80cc,0x80cc,0x80ce,0x80ce,0x80d5,0x80d6,0x80d9,0x80dc,0x80de,0x80de,0x80e0,0x80e1,0x80e4,0x80e5,0x80ef,0x80ef,0x80f1,0x80f1,0x80f4,0x80f4,0x80f7,0x80f8,0x80fd,0x80fe,0x8102,0x8102,0x8105,0x810a,0x8116,0x8118,0x811a,0x811b,0x8123,0x8124,0x8127,0x8127,0x8129,0x8129,0x812b,0x812b,0x812f,0x8130,0x8139,0x813a,0x813e,0x813e,0x8141,0x8141,0x8146,0x8146,0x814a,0x814b,0x814e,0x814e,0x8150,0x8155,0x8160,0x8160,0x8164,0x8166,0x816b,0x816b,0x816d,0x816d,0x8170,0x8171,0x8174,0x8174,0x8176,0x817a,0x817f,0x8180,0x8182,0x8184,0x8186,0x8186,0x8188,0x8188,0x818a,0x818b,0x818f,0x818f,0x819a,0x819a,0x819c,0x819e,0x81a0,0x81a0,0x81a3,0x81a3,0x81a8,0x81a9,0x81b0,0x81b0,0x81b3,0x81b5,0x81b8,0x81ba,0x81bd,0x81c0,0x81c2,0x81c2,0x81c6,0x81c6,0x81ca,0x81ca,0x81cd,0x81cd,0x81cf,0x81cf,0x81d1,0x81d1,0x81d8,0x81da,0x81dd,0x81dd,0x81df,0x81e0,0x81e3,0x81e3,0x81e5,0x81e5,0x81e7,0x81e8,0x81ea,0x81ea,0x81ec,0x81ed,0x81f3,0x81f4,0x81f6,0x81f6,0x81fa,0x81fc,0x81fe,0x81fe,0x8201,0x8203,0x8205,0x8205,0x8207,0x8208,0x820a,0x820a,0x820c,0x820d,0x8210,0x8210,0x8212,0x8212,0x8216,0x8216,0x8218,0x8218,0x821b,0x821c,0x821e,0x821f,0x8221,0x8221,0x822a,0x822c,0x8233,0x8233,0x8235,0x8239,0x823d,0x823d,0x8240,0x8240,0x8245,0x8245,0x8247,0x8247,0x8251,0x8251,0x8258,0x825a,0x825f,0x825f,0x8264,0x8264,0x8266,0x8266,0x8268,0x8268,0x826a,0x826b,0x826e,0x826f,0x8271,0x8272,0x8274,0x8274,0x8276,0x8279,0x827d,0x827e,0x8283,0x8283,0x828a,0x828b,0x828d,0x828e,0x8290,0x8290,0x8292,0x8292,0x8294,0x8294,0x8298,0x829a,0x829d,0x829d,0x829f,0x829f,0x82a1,0x82a3,0x82a5,0x82b1,0x82b3,0x82b3,0x82b7,0x82b9,0x82bb,0x82bf,0x82c5,0x82c5,0x82d1,0x82d5,0x82d7,0x82d7,0x82db,0x82dc,0x82de,0x82e1,0x82e3,0x82e3,0x82e5,0x82e7,0x82e9,0x82e9,0x82eb,0x82eb,0x82f1,0x82f1,0x82f3,0x82f4,0x82f9,0x82fb,0x82fd,0x8305,0x8308,0x8309,0x8317,0x8317,0x831b,0x831d,0x8323,0x8325,0x8328,0x8328,0x832a,0x832b,0x832f,0x832f,0x8331,0x8336,0x8338,0x8339,0x833c,0x833c,0x8340,0x8340,0x8343,0x8343,0x8347,0x8347,0x8349,0x834a,0x834f,0x8352,0x8363,0x8363,0x8373,0x8373,0x8377,0x8377,0x837a,0x837b,0x8382,0x8382,0x8385,0x8385,0x8389,0x838a,0x838e,0x838e,0x8392,0x8393,0x8396,0x8396,0x8398,0x8398,0x839a,0x839b,0x839d,0x83a0,0x83a2,0x83a2,0x83a8,0x83ab,0x83bd,0x83c2,0x83c5,0x83c5,0x83c9,0x83ca,0x83cc,0x83cc,0x83d1,0x83d1,0x83d3,0x83d4,0x83d6,0x83d6,0x83d8,0x83d8,0x83dc,0x83dc,0x83df,0x83e1,0x83e9,0x83e9,0x83eb,0x83eb,0x83ef,0x83f2,0x83f4,0x83f4,0x83f6,0x83f6,0x83f9,0x83f9,0x83fb,0x83fb,0x83fd,0x83fd,0x8403,0x8404,0x8406,0x8407,0x840a,0x840e,0x8429,0x8429,0x842c,0x842c,0x8431,0x8431,0x8435,0x8435,0x8438,0x8439,0x843c,0x843d,0x8446,0x8446,0x8449,0x844a,0x8451,0x8451,0x8457,0x8457,0x845a,0x845b,0x8461,0x8461,0x8463,0x8463,0x8466,0x8466,0x8469,0x846d,0x846f,0x8471,0x8473,0x8473,0x8475,0x8475,0x8477,0x8477,0x847a,0x847a,0x8482,0x8482,0x8490,0x8491,0x8494,0x8494,0x8499,0x8499,0x849c,0x849c,0x849f,0x849f,0x84a1,0x84a1,0x84a8,0x84a8,0x84ad,0x84ad,0x84af,0x84af,0x84b2,0x84b2,0x84b4,0x84b4,0x84b8,0x84bd,0x84bf,0x84c2,0x84c4,0x84c4,0x84c6,0x84c6,0x84c9,0x84cb,0x84cd,0x84cd,0x84cf,0x84d1,0x84d3,0x84d3,0x84d6,0x84d6,0x84da,0x84da,0x84ec,0x84ef,0x84f1,0x84f1,0x84f4,0x84f4,0x84fa,0x84fa,0x84fc,0x84fd,0x8500,0x8500,0x8506,0x8506,0x850e,0x850e,0x8511,0x8511,0x8513,0x8515,0x8517,0x8518,0x851a,0x851a,0x851e,0x851f,0x8521,0x8521,0x8523,0x8523,0x8525,0x8526,0x852a,0x852a,0x852c,0x852d,0x852f,0x8530,0x853d,0x853d,0x853f,0x853f,0x8541,0x8541,0x8543,0x8543,0x8546,0x8546,0x8549,0x854b,0x854e,0x854e,0x8553,0x8553,0x8555,0x8559,0x855e,0x855e,0x8561,0x8561,0x8563,0x8564,0x8568,0x856b,0x856d,0x856d,0x8578,0x8578,0x857a,0x857a,0x857e,0x857e,0x8580,0x8580,0x8584,0x8584,0x8586,0x8587,0x8589,0x858a,0x858c,0x858c,0x858f,0x858f,0x8591,0x8591,0x8594,0x8594,0x8597,0x8597,0x8599,0x8599,0x859b,0x859b,0x859d,0x859d,0x85a4,0x85a6,0x85a8,0x85ab,0x85af,0x85b0,0x85ba,0x85ba,0x85c1,0x85c1,0x85c7,0x85c7,0x85c9,0x85c9,0x85cd,0x85d0,0x85d5,0x85d5,0x85dc,0x85dd,0x85e4,0x85e5,0x85e9,0x85ea,0x85f7,0x85f7,0x85f9,0x85fb,0x85fd,0x85fd,0x85ff,0x8600,0x8602,0x8602,0x8604,0x8604,0x8606,0x8607,0x860a,0x860b,0x8616,0x8618,0x861a,0x861a,0x861f,0x861f,0x8622,0x8622,0x8627,0x8627,0x8629,0x862a,0x862d,0x862d,0x862f,0x862f,0x863c,0x863c,0x863f,0x863f,0x8641,0x8641,0x864d,0x864e,0x8650,0x8650,0x8653,0x8655,0x865b,0x865c,0x865e,0x865f,0x8667,0x8667,0x866b,0x866c,0x866f,0x866f,0x8671,0x8671,0x8678,0x867b,0x868a,0x868d,0x8693,0x8693,0x8695,0x8695,0x86a3,0x86a4,0x86a8,0x86aa,0x86af,0x86b1,0x86b4,0x86b4,0x86c0,0x86c0,0x86c5,0x86c7,0x86c9,0x86c9,0x86cb,0x86cb,0x86d4,0x86d4,0x86d9,0x86d9,0x86db,0x86db,0x86de,0x86df,0x86e3,0x86e4,0x86e9,0x86e9,0x86ec,0x86ed,0x86f8,0x86f9,0x86fb,0x86fb,0x86fe,0x86fe,0x8700,0x8700,0x8702,0x8703,0x8706,0x8706,0x8708,0x870b,0x8711,0x8711,0x8718,0x8718,0x871a,0x871a,0x871c,0x871d,0x8721,0x8721,0x8725,0x8725,0x8728,0x8729,0x8734,0x8735,0x8737,0x8737,0x873a,0x873b,0x873f,0x8740,0x874c,0x874c,0x874e,0x874e,0x8755,0x8755,0x8757,0x8757,0x8759,0x8759,0x875f,0x8760,0x8764,0x8766,0x8768,0x8768,0x876e,0x876e,0x8774,0x8774,0x8776,0x8776,0x8778,0x8778,0x8782,0x8783,0x878c,0x878d,0x8798,0x8798,0x879e,0x879f,0x87a2,0x87a3,0x87ad,0x87ad,0x87b3,0x87b4,0x87ba,0x87bb,0x87bd,0x87bd,0x87c0,0x87c0,0x87c4,0x87c4,0x87c7,0x87c7,0x87ca,0x87cb,0x87d2,0x87d2,0x87da,0x87db,0x87e0,0x87e0,0x87e3,0x87e3,0x87ec,0x87ec,0x87ef,0x87ef,0x87f2,0x87f2,0x87f7,0x87f7,0x87f9,0x87f9,0x87fb,0x87fb,0x87fe,0x87fe,0x8805,0x8805,0x880d,0x880d,0x8811,0x8811,0x8815,0x8815,0x881f,0x881f,0x8821,0x8823,0x8831,0x8832,0x8836,0x8836,0x8839,0x8839,0x883b,0x883b,0x8840,0x8840,0x8844,0x8844,0x8846,0x8846,0x884a,0x884a,0x884c,0x884e,0x8852,0x8853,0x8857,0x8857,0x8859,0x8859,0x885b,0x885b,0x885d,0x885e,0x8861,0x8864,0x8868,0x8868,0x886b,0x886b,0x886e,0x886e,0x8870,0x8870,0x8872,0x8872,0x8877,0x8877,0x887d,0x887f,0x8881,0x8882,0x8888,0x8888,0x888b,0x888b,0x888d,0x888d,0x8892,0x8892,0x8896,0x8897,0x889b,0x889b,0x889d,0x889e,0x88a2,0x88a2,0x88aa,0x88ab,0x88b4,0x88b4,0x88c0,0x88c2,0x88c5,0x88c5,0x88ca,0x88ca,0x88cd,0x88cd,0x88cf,0x88cf,0x88d2,0x88d2,0x88d4,0x88d5,0x88d8,0x88d9,0x88dc,0x88dd,0x88df,0x88df,0x88e1,0x88e1,0x88e8,0x88e8,0x88ef,0x88ef,0x88f1,0x88f1,0x88f3,0x88f5,0x88f8,0x88f9,0x88fd,0x88fe,0x8904,0x8904,0x8907,0x8907,0x890a,0x890a,0x890c,0x890c,0x8910,0x8913,0x8915,0x8915,0x8918,0x891a,0x8925,0x8925,0x8927,0x8927,0x892a,0x892b,0x892f,0x8930,0x8936,0x8936,0x8938,0x8938,0x893a,0x893b,0x8941,0x8941,0x8944,0x8944,0x894d,0x894d,0x8952,0x8952,0x8956,0x8956,0x8958,0x8958,0x895c,0x895c,0x895e,0x8960,0x8964,0x8964,0x896a,0x896a,0x896d,0x896d,0x896f,0x896f,0x8972,0x8972,0x8974,0x8974,0x897e,0x8981,0x8983,0x8983,0x8986,0x8989,0x898b,0x898b,0x898f,0x898f,0x8993,0x8993,0x8996,0x8998,0x899a,0x899a,0x89a0,0x89a1,0x89a8,0x89aa,0x89ac,0x89ac,0x89af,0x89af,0x89b2,0x89b3,0x89b6,0x89b7,0x89ba,0x89ba,0x89bd,0x89bd,0x89bf,0x89c1,0x89d2,0x89d2,0x89d4,0x89d4,0x89d6,0x89d7,0x89da,0x89da,0x89dc,0x89dd,0x89e3,0x89e3,0x89e5,0x89e7,0x89f0,0x89f1,0x89f3,0x89f4,0x89f6,0x89f6,0x89f8,0x89f8,0x8a00,0x8a00,0x8a02,0x8a03,0x8a07,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a0e,0x8a10,0x8a18,0x8a1b,0x8a1b,0x8a1d,0x8a1d,0x8a1f,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a2a,0x8a2a,0x8a2d,0x8a2d,0x8a31,0x8a31,0x8a33,0x8a34,0x8a36,0x8a36,0x8a3a,0x8a3c,0x8a3e,0x8a3e,0x8a41,0x8a41,0x8a46,0x8a46,0x8a4b,0x8a4b,0x8a50,0x8a51,0x8a54,0x8a58,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a66,0x8a69,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a73,0x8a75,0x8a75,0x8a79,0x8a79,0x8a7c,0x8a7c,0x8a7f,0x8a7f,0x8a82,0x8a82,0x8a84,0x8a87,0x8a8c,0x8a8d,0x8a91,0x8a91,0x8a93,0x8a93,0x8a95,0x8a95,0x8a98,0x8a98,0x8a9a,0x8a9a,0x8a9e,0x8a9e,0x8aa0,0x8aa8,0x8aaa,0x8aaa,0x8ab0,0x8ab0,0x8ab2,0x8ab2,0x8ab9,0x8ab9,0x8abc,0x8abc,0x8abe,0x8abf,0x8ac2,0x8ac2,0x8ac4,0x8ac4,0x8ac7,0x8ac7,0x8ac9,0x8ac9,0x8acb,0x8acb,0x8acd,0x8acd,0x8acf,0x8acf,0x8ad2,0x8ad2,0x8ad6,0x8ad7,0x8adb,0x8ae1,0x8ae4,0x8ae4,0x8ae6,0x8ae7,0x8aea,0x8aeb,0x8aed,0x8aee,0x8af0,0x8af4,0x8af6,0x8af8,0x8afa,0x8afa,0x8afc,0x8afc,0x8afe,0x8afe,0x8b00,0x8b02,0x8b04,0x8b04,0x8b07,0x8b07,0x8b0c,0x8b0c,0x8b0e,0x8b0e,0x8b10,0x8b11,0x8b14,0x8b14,0x8b16,0x8b17,0x8b19,0x8b1d,0x8b20,0x8b20,0x8b23,0x8b23,0x8b26,0x8b26,0x8b28,0x8b28,0x8b2b,0x8b2c,0x8b33,0x8b33,0x8b37,0x8b37,0x8b39,0x8b39,0x8b3c,0x8b3c,0x8b3e,0x8b3e,0x8b41,0x8b41,0x8b43,0x8b43,0x8b46,0x8b46,0x8b49,0x8b49,0x8b4c,0x8b4c,0x8b4e,0x8b4f,0x8b53,0x8b54,0x8b56,0x8b56,0x8b58,0x8b5a,0x8b5c,0x8b5c,0x8b5e,0x8b5f,0x8b66,0x8b66,0x8b6b,0x8b6c,0x8b6f,0x8b71,0x8b74,0x8b74,0x8b77,0x8b77,0x8b7d,0x8b7d,0x8b7f,0x8b80,0x8b83,0x8b83,0x8b89,0x8b8a,0x8b8c,0x8b8c,0x8b8e,0x8b8e,0x8b90,0x8b90,0x8b92,0x8b93,0x8b96,0x8b96,0x8b9a,0x8b9a,0x8b9c,0x8b9c,0x8b9e,0x8b9e,0x8ba0,0x8ba0,0x8c37,0x8c37,0x8c3f,0x8c3f,0x8c41,0x8c41,0x8c46,0x8c4a,0x8c4c,0x8c4c,0x8c4e,0x8c4e,0x8c50,0x8c50,0x8c55,0x8c56,0x8c5a,0x8c5a,0x8c61,0x8c62,0x8c68,0x8c68,0x8c6a,0x8c6c,0x8c73,0x8c73,0x8c78,0x8c7a,0x8c82,0x8c83,0x8c8a,0x8c8a,0x8c8c,0x8c8d,0x8c93,0x8c94,0x8c98,0x8c98,0x8c9d,0x8ca2,0x8ca7,0x8cac,0x8caf,0x8cb0,0x8cb2,0x8cb4,0x8cb6,0x8cbd,0x8cbf,0x8cc4,0x8cc6,0x8cc8,0x8cca,0x8cca,0x8cd1,0x8cd1,0x8cd3,0x8cd3,0x8cd9,0x8cdc,0x8cde,0x8cde,0x8ce0,0x8ce6,0x8cea,0x8cea,0x8cec,0x8ced,0x8cf0,0x8cf1,0x8cf3,0x8cf4,0x8cfb,0x8cfd,0x8d04,0x8d05,0x8d07,0x8d08,0x8d0a,0x8d0b,0x8d0d,0x8d0d,0x8d0f,0x8d10,0x8d13,0x8d14,0x8d16,0x8d16,0x8d1b,0x8d1b,0x8d1d,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d67,0x8d6b,0x8d6b,0x8d6d,0x8d6e,0x8d70,0x8d70,0x8d73,0x8d74,0x8d76,0x8d77,0x8d81,0x8d81,0x8d85,0x8d85,0x8d8a,0x8d8a,0x8d8e,0x8d8e,0x8d90,0x8d90,0x8d99,0x8d99,0x8da0,0x8da0,0x8da3,0x8da3,0x8da8,0x8da8,0x8dab,0x8dab,0x8db2,0x8db3,0x8dba,0x8dba,0x8dbe,0x8dbe,0x8dc2,0x8dc2,0x8dc6,0x8dc6,0x8dcb,0x8dcc,0x8dce,0x8dcf,0x8dd5,0x8dd7,0x8ddb,0x8ddb,0x8ddd,0x8ddd,0x8ddf,0x8ddf,0x8de1,0x8de1,0x8de3,0x8de3,0x8de8,0x8de8,0x8dea,0x8ded,0x8def,0x8def,0x8df1,0x8df1,0x8df3,0x8df3,0x8dfc,0x8dfc,0x8e06,0x8e06,0x8e08,0x8e0a,0x8e0f,0x8e10,0x8e14,0x8e14,0x8e1d,0x8e1f,0x8e2a,0x8e2a,0x8e30,0x8e30,0x8e34,0x8e36,0x8e3a,0x8e3a,0x8e3d,0x8e3d,0x8e40,0x8e40,0x8e42,0x8e42,0x8e44,0x8e44,0x8e47,0x8e4a,0x8e4c,0x8e4c,0x8e4f,0x8e4f,0x8e55,0x8e55,0x8e59,0x8e59,0x8e5c,0x8e5c,0x8e5f,0x8e60,0x8e63,0x8e64,0x8e72,0x8e72,0x8e74,0x8e74,0x8e76,0x8e76,0x8e7b,0x8e7b,0x8e81,0x8e81,0x8e85,0x8e85,0x8e87,0x8e87,0x8e89,0x8e8b,0x8e8d,0x8e8d,0x8e90,0x8e91,0x8e93,0x8e94,0x8e99,0x8e99,0x8e9e,0x8e9e,0x8ea1,0x8ea1,0x8ea9,0x8eac,0x8eb1,0x8eb1,0x8eb3,0x8eb3,0x8ebe,0x8ebe,0x8ec0,0x8ec0,0x8ec6,0x8ec6,0x8eca,0x8ecd,0x8ed2,0x8ed2,0x8ede,0x8edf,0x8ee2,0x8ee2,0x8ee8,0x8ee8,0x8eeb,0x8eeb,0x8ef8,0x8efc,0x8efe,0x8efe,0x8f03,0x8f03,0x8f05,0x8f05,0x8f07,0x8f09,0x8f12,0x8f15,0x8f1b,0x8f1f,0x8f26,0x8f2a,0x8f2d,0x8f2d,0x8f2f,0x8f30,0x8f33,0x8f33,0x8f38,0x8f39,0x8f3b,0x8f3b,0x8f3e,0x8f40,0x8f42,0x8f42,0x8f44,0x8f46,0x8f49,0x8f49,0x8f4d,0x8f4e,0x8f52,0x8f52,0x8f54,0x8f54,0x8f57,0x8f58,0x8f5d,0x8f5f,0x8f61,0x8f64,0x8f66,0x8f66,0x8f9b,0x8f9c,0x8f9f,0x8f9f,0x8fa2,0x8fa3,0x8fa6,0x8fa6,0x8fa8,0x8fa8,0x8fad,0x8fb2,0x8fb5,0x8fb6,0x8fbb,0x8fbb,0x8fbf,0x8fc0,0x8fc2,0x8fc5,0x8fcd,0x8fce,0x8fd0,0x8fd1,0x8fd3,0x8fd5,0x8fe2,0x8fe2,0x8fe4,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8fed,0x8ff0,0x8ff0,0x8ff2,0x8ff2,0x8ff4,0x8ff4,0x8ff7,0x8ffa,0x8ffc,0x8ffd,0x8fff,0x9003,0x9005,0x9006,0x9008,0x9008,0x900b,0x9011,0x9014,0x9017,0x9019,0x901a,0x901d,0x9023,0x902e,0x902e,0x9031,0x9032,0x9034,0x9036,0x9038,0x9038,0x903c,0x903c,0x903e,0x903e,0x9041,0x9042,0x9047,0x9047,0x9049,0x904b,0x904d,0x9055,0x9058,0x9059,0x905b,0x905e,0x9060,0x9061,0x9063,0x9063,0x9068,0x9069,0x906c,0x906f,0x9072,0x9072,0x9075,0x9078,0x907a,0x907a,0x907c,0x9085,0x9087,0x9088,0x908a,0x908a,0x908c,0x908d,0x908f,0x9091,0x9095,0x9095,0x9097,0x9099,0x90a0,0x90a0,0x90a2,0x90a3,0x90a6,0x90a6,0x90a8,0x90a8,0x90aa,0x90aa,0x90af,0x90b1,0x90b3,0x90b3,0x90b5,0x90b5,0x90b8,0x90b8,0x90bd,0x90be,0x90c1,0x90c1,0x90c3,0x90c5,0x90ca,0x90ca,0x90ce,0x90ce,0x90dc,0x90de,0x90e1,0x90e2,0x90e8,0x90e8,0x90ea,0x90eb,0x90ed,0x90ed,0x90ef,0x90ef,0x90f3,0x90f5,0x90fd,0x90fd,0x9102,0x9102,0x9112,0x9112,0x9115,0x9117,0x9119,0x9119,0x911e,0x911e,0x9122,0x9123,0x9127,0x9127,0x912d,0x912d,0x9130,0x9132,0x9134,0x9134,0x913d,0x913d,0x9148,0x914e,0x9152,0x9152,0x9156,0x9157,0x9162,0x9165,0x9169,0x916a,0x916c,0x916c,0x9172,0x9172,0x9174,0x9179,0x9183,0x9183,0x9187,0x9187,0x9189,0x9189,0x918b,0x918b,0x918d,0x918d,0x9190,0x9190,0x9192,0x9192,0x919c,0x919c,0x919e,0x919e,0x91a2,0x91a2,0x91aa,0x91ac,0x91ae,0x91af,0x91b1,0x91b2,0x91b4,0x91b5,0x91bc,0x91bc,0x91c0,0x91c1,0x91c3,0x91c3,0x91c5,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d7,0x91d8,0x91dc,0x91dd,0x91e3,0x91e7,0x91e9,0x91ea,0x91ed,0x91ed,0x91f5,0x91f5,0x91ff,0x91ff,0x9207,0x9207,0x920d,0x920d,0x9210,0x9212,0x9214,0x9215,0x9217,0x9217,0x921c,0x921c,0x921e,0x921f,0x9226,0x9226,0x9231,0x9231,0x9234,0x9235,0x9237,0x9238,0x923a,0x923a,0x923f,0x9241,0x9244,0x9245,0x9249,0x9249,0x924b,0x924b,0x924d,0x9252,0x9257,0x9257,0x925b,0x925b,0x925e,0x925e,0x9262,0x9262,0x9264,0x9266,0x9277,0x9278,0x927c,0x927c,0x927e,0x927e,0x9280,0x9280,0x9283,0x9283,0x9285,0x9285,0x928b,0x928b,0x9291,0x9291,0x9293,0x9293,0x9295,0x9296,0x9298,0x929c,0x92b3,0x92b4,0x92b6,0x92b7,0x92b9,0x92b9,0x92c6,0x92c6,0x92cc,0x92cc,0x92cf,0x92cf,0x92d1,0x92d2,0x92d5,0x92d5,0x92d7,0x92d7,0x92df,0x92df,0x92e4,0x92e5,0x92ea,0x92ea,0x92f2,0x92f2,0x92f8,0x92fa,0x92fc,0x92fe,0x9300,0x9300,0x9304,0x9304,0x9306,0x9306,0x930f,0x9310,0x9315,0x9315,0x9318,0x931a,0x931e,0x9324,0x9326,0x9328,0x932a,0x932c,0x932e,0x932f,0x9348,0x934b,0x934d,0x934d,0x9351,0x9351,0x9354,0x9354,0x9357,0x9357,0x935b,0x935d,0x9364,0x9365,0x936b,0x936c,0x936e,0x936e,0x9370,0x9370,0x9372,0x9372,0x9375,0x9375,0x937c,0x937c,0x937e,0x937e,0x938a,0x938a,0x938c,0x938c,0x9394,0x9394,0x9396,0x9397,0x939a,0x939b,0x939f,0x93a1,0x93a3,0x93a4,0x93a7,0x93a7,0x93ac,0x93ad,0x93b0,0x93b0,0x93bb,0x93bb,0x93c3,0x93c3,0x93c7,0x93c8,0x93ca,0x93cc,0x93d1,0x93d1,0x93d6,0x93d8,0x93dc,0x93df,0x93e1,0x93e2,0x93e4,0x93e4,0x93e6,0x93e6,0x93e8,0x93e8,0x93f6,0x93f6,0x93f8,0x93f9,0x93fb,0x93fb,0x9403,0x9404,0x940f,0x9410,0x9413,0x9414,0x9418,0x9419,0x9425,0x9425,0x942a,0x942b,0x9435,0x9436,0x9438,0x9438,0x943a,0x943a,0x9442,0x9442,0x9444,0x9444,0x944a,0x944a,0x944c,0x944c,0x9451,0x9452,0x9455,0x9455,0x945b,0x945b,0x945e,0x945e,0x9460,0x9460,0x9462,0x9463,0x946a,0x946b,0x9470,0x9472,0x9475,0x9475,0x9477,0x9477,0x947c,0x947f,0x9485,0x9485,0x9577,0x9578,0x957f,0x9580,0x9583,0x9583,0x9588,0x958b,0x958e,0x958f,0x9591,0x9594,0x9598,0x9598,0x959c,0x959c,0x959f,0x95a0,0x95a2,0x95a5,0x95a8,0x95a9,0x95ab,0x95ad,0x95b1,0x95b1,0x95b6,0x95b6,0x95b9,0x95b9,0x95bb,0x95be,0x95c3,0x95c3,0x95c7,0x95c8,0x95ca,0x95cd,0x95d3,0x95d6,0x95da,0x95da,0x95dc,0x95dc,0x95de,0x95de,0x95e0,0x95e2,0x95e5,0x95e5,0x95e8,0x95e8,0x961c,0x961d,0x9621,0x9621,0x9624,0x9624,0x9627,0x962a,0x962d,0x962f,0x9632,0x9632,0x963b,0x963b,0x963f,0x9640,0x9642,0x9642,0x9644,0x9644,0x964b,0x964d,0x9650,0x9650,0x9654,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x966a,0x966a,0x966c,0x966c,0x9670,0x9670,0x9672,0x9679,0x967c,0x967d,0x9684,0x9686,0x968a,0x968b,0x968d,0x968f,0x9691,0x9691,0x9694,0x9695,0x9697,0x9698,0x969b,0x969c,0x96a3,0x96a4,0x96a7,0x96aa,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b9,0x96bb,0x96bc,0x96c0,0x96c1,0x96c4,0x96c7,0x96c9,0x96c9,0x96cb,0x96ce,0x96d5,0x96d6,0x96d9,0x96de,0x96e2,0x96e3,0x96e8,0x96ea,0x96ef,0x96f0,0x96f2,0x96f2,0x96f6,0x96f7,0x96f9,0x96fb,0x9700,0x9700,0x9704,0x9709,0x970c,0x970f,0x9711,0x9711,0x9713,0x9714,0x9716,0x9716,0x9719,0x9719,0x971c,0x971c,0x971e,0x971e,0x9723,0x9723,0x9726,0x9727,0x972a,0x972a,0x9730,0x9730,0x9732,0x9732,0x9738,0x9739,0x973d,0x973d,0x9742,0x9742,0x9744,0x9744,0x9746,0x9746,0x9748,0x9749,0x974c,0x974c,0x9751,0x9752,0x9755,0x9756,0x9758,0x975e,0x9760,0x9762,0x9766,0x9766,0x9768,0x9769,0x976d,0x976d,0x9773,0x9775,0x9777,0x9777,0x977a,0x977a,0x977c,0x977c,0x9780,0x9781,0x9784,0x9785,0x978b,0x978b,0x978d,0x978d,0x978f,0x978f,0x9798,0x9798,0x97a0,0x97a0,0x97a3,0x97a3,0x97a6,0x97a6,0x97a8,0x97a8,0x97ab,0x97ad,0x97b1,0x97b1,0x97b4,0x97b4,0x97b8,0x97b9,0x97c1,0x97c1,0x97c3,0x97c3,0x97c6,0x97c6,0x97cb,0x97cd,0x97d0,0x97d0,0x97d3,0x97d3,0x97d9,0x97d9,0x97dc,0x97de,0x97e0,0x97e1,0x97e6,0x97e6,0x97ed,0x97ee,0x97f1,0x97f3,0x97f5,0x97f6,0x97fa,0x97fb,0x97fe,0x9803,0x9805,0x9806,0x9808,0x9808,0x980a,0x980a,0x980c,0x9813,0x9816,0x9818,0x981e,0x981e,0x9821,0x9821,0x9823,0x9824,0x9826,0x9826,0x982b,0x982b,0x982d,0x982e,0x9830,0x9830,0x9832,0x9832,0x9837,0x9839,0x983b,0x983c,0x983f,0x983f,0x9842,0x9842,0x9846,0x9848,0x984b,0x984e,0x9852,0x9855,0x9858,0x985a,0x985c,0x985c,0x985e,0x985e,0x9865,0x9867,0x986b,0x986b,0x986f,0x9871,0x9873,0x9875,0x98a8,0x98a8,0x98ad,0x98ad,0x98af,0x98af,0x98b1,0x98b2,0x98b6,0x98b6,0x98ba,0x98ba,0x98bc,0x98bc,0x98bf,0x98bf,0x98c2,0x98c2,0x98c4,0x98c4,0x98c6,0x98c7,0x98c9,0x98c9,0x98cb,0x98cb,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e2,0x98e6,0x98e7,0x98ea,0x98eb,0x98ed,0x98ef,0x98f1,0x98f1,0x98f4,0x98f4,0x98fb,0x98fe,0x9903,0x9903,0x9909,0x990a,0x990c,0x990c,0x9910,0x9910,0x9912,0x9915,0x9918,0x9918,0x991a,0x991a,0x991e,0x991e,0x9920,0x9920,0x9926,0x9928,0x992a,0x992a,0x992c,0x992c,0x992e,0x992e,0x9930,0x9931,0x9933,0x9933,0x9939,0x9939,0x993c,0x993d,0x9942,0x9942,0x9945,0x9945,0x9948,0x9949,0x994b,0x994d,0x9950,0x9952,0x9954,0x9955,0x9957,0x9957,0x995c,0x995c,0x995e,0x995e,0x9963,0x9963,0x9996,0x9999,0x999c,0x999d,0x999f,0x999f,0x99a1,0x99a1,0x99a3,0x99a3,0x99a5,0x99a5,0x99a7,0x99a8,0x99aa,0x99aa,0x99ac,0x99ae,0x99b0,0x99b1,0x99b3,0x99b4,0x99b6,0x99b6,0x99b9,0x99b9,0x99c1,0x99c1,0x99c4,0x99c5,0x99c8,0x99c9,0x99cf,0x99d2,0x99d5,0x99d5,0x99d8,0x99d9,0x99db,0x99df,0x99e2,0x99e2,0x99e8,0x99e8,0x99ea,0x99ea,0x99ed,0x99ee,0x99f1,0x99f1,0x99f8,0x99f8,0x99fa,0x99fb,0x99fd,0x99fd,0x99ff,0x99ff,0x9a01,0x9a05,0x9a08,0x9a08,0x9a0b,0x9a0b,0x9a0d,0x9a0f,0x9a11,0x9a11,0x9a16,0x9a16,0x9a18,0x9a19,0x9a1b,0x9a1b,0x9a2b,0x9a2b,0x9a2d,0x9a2d,0x9a30,0x9a30,0x9a35,0x9a38,0x9a3e,0x9a3e,0x9a40,0x9a45,0x9a4a,0x9a4a,0x9a4c,0x9a4f,0x9a52,0x9a52,0x9a55,0x9a55,0x9a57,0x9a58,0x9a5a,0x9a5b,0x9a5f,0x9a5f,0x9a62,0x9a62,0x9a64,0x9a65,0x9a69,0x9a6a,0x9a6c,0x9a6c,0x9aa8,0x9aa8,0x9aaa,0x9aaa,0x9ab0,0x9ab0,0x9ab8,0x9ab9,0x9abc,0x9abc,0x9abf,0x9ac0,0x9ac6,0x9ac6,0x9acf,0x9acf,0x9ad1,0x9ad1,0x9ad3,0x9ad4,0x9ad6,0x9ad8,0x9adf,0x9adf,0x9ae1,0x9ae1,0x9ae3,0x9ae3,0x9ae5,0x9ae6,0x9aeb,0x9aeb,0x9aed,0x9aee,0x9af0,0x9af0,0x9af2,0x9af2,0x9af4,0x9af4,0x9af9,0x9afb,0x9afd,0x9afd,0x9b02,0x9b02,0x9b05,0x9b06,0x9b0a,0x9b0b,0x9b0d,0x9b0d,0x9b10,0x9b10,0x9b12,0x9b12,0x9b16,0x9b16,0x9b18,0x9b1a,0x9b1f,0x9b1f,0x9b22,0x9b23,0x9b25,0x9b25,0x9b27,0x9b2a,0x9b2e,0x9b2f,0x9b31,0x9b32,0x9b3a,0x9b3a,0x9b3c,0x9b3c,0x9b41,0x9b45,0x9b48,0x9b48,0x9b4b,0x9b4b,0x9b4d,0x9b4f,0x9b51,0x9b51,0x9b54,0x9b54,0x9b58,0x9b58,0x9b5a,0x9b5a,0x9b66,0x9b66,0x9b6f,0x9b6f,0x9b74,0x9b74,0x9b80,0x9b80,0x9b83,0x9b83,0x9b8e,0x9b8e,0x9b90,0x9b93,0x9b97,0x9b97,0x9b9f,0x9b9f,0x9ba7,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bae,0x9bb9,0x9bb9,0x9bc1,0x9bc1,0x9bc6,0x9bc6,0x9bc9,0x9bca,0x9bd4,0x9bd4,0x9bd6,0x9bd6,0x9bdb,0x9bdb,0x9be2,0x9be2,0x9be4,0x9be4,0x9be8,0x9be8,0x9bf7,0x9bf7,0x9c08,0x9c08,0x9c0a,0x9c0a,0x9c0c,0x9c0d,0x9c10,0x9c10,0x9c12,0x9c13,0x9c15,0x9c15,0x9c24,0x9c25,0x9c2d,0x9c2f,0x9c31,0x9c32,0x9c35,0x9c35,0x9c39,0x9c3b,0x9c3e,0x9c3e,0x9c47,0x9c47,0x9c49,0x9c49,0x9c4f,0x9c4f,0x9c52,0x9c53,0x9c57,0x9c57,0x9c60,0x9c60,0x9c63,0x9c63,0x9c67,0x9c67,0x9c78,0x9c78,0x9c7b,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9ce9,0x9cf3,0x9cf4,0x9cf6,0x9cf6,0x9d03,0x9d03,0x9d06,0x9d09,0x9d0c,0x9d0c,0x9d12,0x9d12,0x9d15,0x9d15,0x9d18,0x9d19,0x9d1b,0x9d1b,0x9d1e,0x9d1f,0x9d23,0x9d23,0x9d25,0x9d26,0x9d28,0x9d28,0x9d2f,0x9d30,0x9d36,0x9d36,0x9d3b,0x9d3b,0x9d41,0x9d42,0x9d44,0x9d44,0x9d51,0x9d51,0x9d53,0x9d54,0x9d5d,0x9d5e,0x9d60,0x9d61,0x9d66,0x9d66,0x9d69,0x9d69,0x9d6c,0x9d6c,0x9d6f,0x9d70,0x9d72,0x9d72,0x9d77,0x9d77,0x9d7b,0x9d7b,0x9d7e,0x9d7e,0x9d84,0x9d84,0x9d89,0x9d8a,0x9d96,0x9d96,0x9d9a,0x9d9a,0x9da1,0x9da1,0x9da4,0x9da4,0x9da9,0x9da9,0x9dac,0x9dac,0x9daf,0x9daf,0x9db4,0x9db5,0x9db8,0x9db9,0x9dbb,0x9dbb,0x9dbf,0x9dbf,0x9dc1,0x9dc2,0x9dc4,0x9dc4,0x9dc7,0x9dc7,0x9dd3,0x9dd3,0x9dd6,0x9dd7,0x9dd9,0x9dd9,0x9de6,0x9de6,0x9de9,0x9deb,0x9df0,0x9df3,0x9df8,0x9dfa,0x9dfd,0x9dfd,0x9dff,0x9dff,0x9e07,0x9e07,0x9e0f,0x9e0f,0x9e15,0x9e15,0x9e1a,0x9e1f,0x9e75,0x9e75,0x9e77,0x9e77,0x9e79,0x9e7b,0x9e7d,0x9e7d,0x9e7f,0x9e80,0x9e82,0x9e82,0x9e84,0x9e84,0x9e8b,0x9e8c,0x9e8f,0x9e8f,0x9e91,0x9e93,0x9e97,0x9e98,0x9e9d,0x9e9f,0x9ea4,0x9ea6,0x9ea9,0x9eaa,0x9eaf,0x9eaf,0x9eb4,0x9eb5,0x9ebb,0x9ebb,0x9ebd,0x9ebf,0x9ec3,0x9ec5,0x9ecc,0x9ed1,0x9ed4,0x9ed4,0x9ed6,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ede,0x9ee0,0x9ee0,0x9ee5,0x9ee5,0x9ee8,0x9ee8,0x9eee,0x9eef,0x9ef2,0x9ef2,0x9ef4,0x9ef7,0x9ef9,0x9f00,0x9f02,0x9f02,0x9f04,0x9f04,0x9f07,0x9f0a,0x9f0e,0x9f0e,0x9f10,0x9f10,0x9f13,0x9f14,0x9f17,0x9f17,0x9f19,0x9f19,0x9f20,0x9f20,0x9f22,0x9f22,0x9f2b,0x9f2c,0x9f2f,0x9f2f,0x9f34,0x9f34,0x9f38,0x9f39,0x9f3b,0x9f3b,0x9f3e,0x9f3e,0x9f4a,0x9f4b,0x9f4e,0x9f4e,0x9f50,0x9f50,0x9f52,0x9f52,0x9f54,0x9f55,0x9f57,0x9f57,0x9f5f,0x9f61,0x9f66,0x9f67,0x9f69,0x9f6c,0x9f72,0x9f72,0x9f76,0x9f77,0x9f7f,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f95,0x9f99,0x9f99,0x9f9c,0x9f9d,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa5,0x9fa5,0xa960,0xa97c,0xac00,0xd7a3,0xd7b0,0xd7c6,0xd7cb,0xd7fb,0xf900,0xf95e,0xf960,0xf9a9,0xf9ab,0xfa0b,0xfa12,0xfa12,0xfa15,0xfa17,0xfa19,0xfa1e,0xfa22,0xfa22,0xfa26,0xfa26,0xfa2a,0xfa2c,0xfa2e,0xfa31,0xfa33,0xfa3d,0xfa3f,0xfa3f,0xfa41,0xfa41,0xfa43,0xfa55,0xfa57,0xfa57,0xfa59,0xfa68,0xfa6a,0xfa6a,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x200d7,0x200d7,0x2012c,0x2012c,0x205ca,0x205ca,0x20628,0x20628,0x20984,0x20984,0x21155,0x21155,0x2128d,0x2128d,0x21594,0x21594,0x21727,0x21727,0x21f5c,0x21f5c,0x224b0,0x224b0,0x224ed,0x224ed,0x2294f,0x2294f,0x22c6f,0x22c6f,0x22ee0,0x22ee0,0x230fd,0x230fd,0x23343,0x23343,0x2363b,0x2363b,0x23ad9,0x23ad9,0x242f1,0x242f1,0x2439d,0x2439d,0x248e9,0x248e9,0x248f0,0x248f0,0x24a01,0x24a01,0x24a12,0x24a12,0x25055,0x25055,0x2533e,0x2533e,0x253b5,0x253b5,0x253fe,0x253fe,0x25832,0x25832,0x2583a,0x2583a,0x25874,0x25874,0x25978,0x25978,0x25ad7,0x25ad7,0x25b97,0x25b97,0x25e44,0x25e44,0x26057,0x26057,0x265a4,0x265a4,0x267d8,0x267d8,0x26951,0x26951,0x27144,0x27144,0x275ff,0x275ff,0x27625,0x27625,0x278b2,0x278b2,0x27a51,0x27a51,0x27b02,0x27b02,0x27cef,0x27cef,0x27e7d,0x27e7d,0x27f1b,0x27f1b,0x27fb7,0x27fb7,0x283f6,0x283f6,0x284dc,0x284dc,0x28d8a,0x28d8a,0x28da1,0x28da1,0x28e0f,0x28e0f,0x291d5,0x291d5,0x291e3,0x291e3,0x294de,0x294de,0x29509,0x29509,0x2967f,0x2967f,0x29810,0x29810,0x2983b,0x2983b,0x2a2ad,0x2a2ad,0x2a4d0,0x2a4d0,0x2a664,0x2a664,0x2c115,0x2c115,0x2c7d3,0x2c7d3,0x2d544,0x2d544,0x2e569,0x2e569,0x2f815,0x2f815,0x2f818,0x2f818,0x2f81a,0x2f81a,0x2f82c,0x2f82c,0x2f833,0x2f833,0x2f852,0x2f852,0x2f862,0x2f862,0x2f877,0x2f877,0x2f884,0x2f884,0x2f8b2,0x2f8b2,0x2f8ed,0x2f8ed,0x2f8fc,0x2f8fc,0x2f920,0x2f920,0x2f96c,0x2f96c,0x2f9d0,0x2f9d0,0x2f9df,0x2f9df,0x30729,0x30729,0x30ede,0x30ede,]), + NotoFont.fromFlatList('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x966,0x96f,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xa830,0xa839,0x11080,0x110c1,0x110cd,0x110cd,]), + NotoFont.fromFlatList('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v21/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xc80,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbc,0xcc4,0xcc6,0xcc8,0xcca,0xccd,0xcd5,0xcd6,0xcde,0xcde,0xce0,0xce3,0xce6,0xcef,0xcf1,0xcf2,0x1cd0,0x1cd0,0x1cd2,0x1cd2,0x1cda,0x1cda,0x1cf2,0x1cf2,0x1cf4,0x1cf5,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa835,]), + NotoFont.fromFlatList('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x200c,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xa900,0xa92f,]), + NotoFont.fromFlatList('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,0x10a00,0x10a03,0x10a05,0x10a06,0x10a0c,0x10a13,0x10a15,0x10a17,0x10a19,0x10a35,0x10a38,0x10a3a,0x10a3f,0x10a48,0x10a50,0x10a58,]), + NotoFont.fromFlatList('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v18/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1780,0x17dd,0x17e0,0x17e9,0x17f0,0x17f9,0x19e0,0x19ff,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [0x20,0x20,0xa0,0xa0,0xae6,0xaef,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11200,0x11211,0x11213,0x1123e,]), + NotoFont.fromFlatList('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x200c,0x200d,0x2013,0x2014,0x25cc,0x25cc,0xa830,0xa839,0x112b0,0x112ea,0x112f0,0x112f9,]), + NotoFont.fromFlatList('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v24/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb9,0xebb,0xebd,0xec0,0xec4,0xec6,0xec6,0xec8,0xecd,0xed0,0xed9,0xedc,0xedf,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ad,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [0x20,0x20,0xa0,0xa0,0x1c00,0x1c37,0x1c3b,0x1c49,0x1c4d,0x1c4f,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [0x20,0x20,0xa0,0xa0,0x965,0x965,0x1900,0x191e,0x1920,0x192b,0x1930,0x193b,0x1940,0x1940,0x1944,0x194f,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [0x20,0x20,0xa0,0xa0,0x10600,0x10736,0x10740,0x10755,0x10760,0x10767,]), + NotoFont.fromFlatList('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [0x20,0x20,0xa0,0xa0,0x10000,0x1000b,0x1000d,0x10026,0x10028,0x1003a,0x1003c,0x1003d,0x1003f,0x1004d,0x10050,0x1005d,0x10080,0x100fa,0x10100,0x10102,0x10107,0x10133,0x10137,0x1013f,]), + NotoFont.fromFlatList('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v21/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2cd,0x2cd,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0x300a,0x300b,0xa4d0,0xa4ff,0x11fb0,0x11fb0,]), + NotoFont.fromFlatList('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [0x20,0x20,0xa0,0xa0,0x10280,0x1029c,]), + NotoFont.fromFlatList('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [0x20,0x20,0xa0,0xa0,0x10920,0x10939,0x1093f,0x1093f,]), + NotoFont.fromFlatList('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x96f,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11150,0x11176,]), + NotoFont.fromFlatList('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v21/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x323,0x323,0x326,0x328,0x951,0x952,0x964,0x965,0xd00,0xd0c,0xd0e,0xd10,0xd12,0xd44,0xd46,0xd48,0xd4a,0xd4f,0xd54,0xd63,0xd66,0xd7f,0x1cda,0x1cda,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa832,]), + NotoFont.fromFlatList('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x840,0x85b,0x85e,0x85e,0x200c,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200d,0x25cc,0x25cc,0xfe00,0xfe00,0x10ac0,0x10ae6,0x10aeb,0x10af6,]), + NotoFont.fromFlatList('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11c70,0x11c8f,0x11c92,0x11ca7,0x11ca9,0x11cb6,]), + NotoFont.fromFlatList('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [0x20,0x22,0x25,0x25,0x27,0x2f,0x3a,0x3f,0xa0,0xa0,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x11d00,0x11d06,0x11d08,0x11d09,0x11d0b,0x11d36,0x11d3a,0x11d3a,0x11d3c,0x11d3d,0x11d3f,0x11d47,0x11d50,0x11d59,]), + NotoFont.fromFlatList('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [0x20,0x7e,0xa0,0xa0,0xa7,0xa7,0xac,0xac,0xb1,0xb1,0xd7,0xd7,0xf7,0xf7,0x302,0x303,0x305,0x305,0x307,0x308,0x330,0x330,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x3d1,0x3d1,0x3d5,0x3d6,0x3f0,0x3f1,0x3f4,0x3f5,0x2032,0x2037,0x2057,0x2057,0x20d0,0x20dc,0x20e1,0x20e1,0x20e5,0x20ef,0x2102,0x2102,0x210a,0x210e,0x2110,0x2112,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2128,0x2128,0x212c,0x212d,0x212f,0x2131,0x2133,0x2138,0x213c,0x2140,0x2145,0x2149,0x2190,0x21ae,0x21b0,0x21e5,0x21f1,0x21f2,0x21f4,0x22ff,0x2308,0x230b,0x2310,0x2310,0x2319,0x2319,0x231c,0x2321,0x2336,0x237a,0x237c,0x237c,0x2395,0x2395,0x239b,0x23b6,0x23d0,0x23d0,0x23dc,0x23e1,0x2474,0x2475,0x25af,0x25af,0x25b3,0x25b3,0x25b7,0x25b7,0x25bd,0x25bd,0x25c1,0x25c1,0x25ca,0x25ca,0x25cc,0x25cc,0x25fb,0x25fb,0x266d,0x266f,0x27c0,0x27ff,0x2900,0x2aff,0x2b0e,0x2b11,0x2b30,0x2b4c,0x2bfe,0x2bfe,0xff5b,0xff5b,0xff5d,0xff5d,0x1d400,0x1d454,0x1d456,0x1d49c,0x1d49e,0x1d49f,0x1d4a2,0x1d4a2,0x1d4a5,0x1d4a6,0x1d4a9,0x1d4ac,0x1d4ae,0x1d4b9,0x1d4bb,0x1d4bb,0x1d4bd,0x1d4c3,0x1d4c5,0x1d505,0x1d507,0x1d50a,0x1d50d,0x1d514,0x1d516,0x1d51c,0x1d51e,0x1d539,0x1d53b,0x1d53e,0x1d540,0x1d544,0x1d546,0x1d546,0x1d54a,0x1d550,0x1d552,0x1d6a5,0x1d6a8,0x1d7cb,0x1d7ce,0x1d7ff,0x1ee00,0x1ee03,0x1ee05,0x1ee1f,0x1ee21,0x1ee22,0x1ee24,0x1ee24,0x1ee27,0x1ee27,0x1ee29,0x1ee32,0x1ee34,0x1ee37,0x1ee39,0x1ee39,0x1ee3b,0x1ee3b,0x1ee42,0x1ee42,0x1ee47,0x1ee47,0x1ee49,0x1ee49,0x1ee4b,0x1ee4b,0x1ee4d,0x1ee4f,0x1ee51,0x1ee52,0x1ee54,0x1ee54,0x1ee57,0x1ee57,0x1ee59,0x1ee59,0x1ee5b,0x1ee5b,0x1ee5d,0x1ee5d,0x1ee5f,0x1ee5f,0x1ee61,0x1ee62,0x1ee64,0x1ee64,0x1ee67,0x1ee6a,0x1ee6c,0x1ee72,0x1ee74,0x1ee77,0x1ee79,0x1ee7c,0x1ee7e,0x1ee7e,0x1ee80,0x1ee89,0x1ee8b,0x1ee9b,0x1eea1,0x1eea3,0x1eea5,0x1eea9,0x1eeab,0x1eebb,0x1eef0,0x1eef1,]), + NotoFont.fromFlatList('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [0x20,0x20,0xa0,0xa0,0x1d2e0,0x1d2f3,]), + NotoFont.fromFlatList('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [0x20,0x20,0xa0,0xa0,0x16e40,0x16e9a,]), + NotoFont.fromFlatList('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xaae0,0xaaf6,0xabc0,0xabed,0xabf0,0xabf9,]), + NotoFont.fromFlatList('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [0x20,0x20,0x3a,0x3a,0xa0,0xa0,0x2026,0x2026,0x205d,0x205d,0x10980,0x109b7,0x109bc,0x109cf,0x109d2,0x109ff,]), + NotoFont.fromFlatList('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x16f00,0x16f4a,0x16f4f,0x16f87,0x16f8f,0x16f9f,]), + NotoFont.fromFlatList('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11600,0x11644,0x11650,0x11659,]), + NotoFont.fromFlatList('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [0x20,0x22,0x28,0x29,0x2d,0x2d,0x3f,0x3f,0xa0,0xa0,0x1800,0x180e,0x1810,0x1819,0x1820,0x1878,0x1880,0x18aa,0x200c,0x200d,0x2013,0x2014,0x201c,0x201d,0x202f,0x202f,0x2048,0x2049,0x2460,0x2473,0x25cc,0x25cc,0x3001,0x3002,0x300a,0x300f,0xfe3d,0xfe3e,0xfe41,0xfe44,0x11660,0x1166c,]), + NotoFont.fromFlatList('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [0x20,0x20,0xa0,0xa0,0x16a40,0x16a5e,0x16a60,0x16a69,0x16a6e,0x16a6f,]), + NotoFont.fromFlatList('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [0x20,0x20,0xa0,0xa0,0xa66,0xa6f,0x11280,0x11286,0x11288,0x11288,0x1128a,0x1128d,0x1128f,0x1129d,0x1129f,0x112a9,]), + NotoFont.fromFlatList('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [0x20,0x20,0x3f,0x3f,0xa0,0xa0,0x1000,0x109f,0x200b,0x200d,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x25cc,0x25cc,0xa92e,0xa92e,0xa9e0,0xa9fe,0xaa60,0xaa7f,0xfe00,0xfe00,]), + NotoFont.fromFlatList('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [0x20,0x20,0xa0,0xa0,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x66a,0x66a,0x7c0,0x7fa,0x7fd,0x7ff,0x200c,0x200f,0x25cc,0x25cc,0x2e1c,0x2e1d,0xfd3e,0xfd3f,]), + NotoFont.fromFlatList('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [0x20,0x20,0xa0,0xa0,0x10880,0x1089e,0x108a7,0x108af,]), + NotoFont.fromFlatList('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [0x20,0x20,0xa0,0xa0,0x1980,0x19ab,0x19b0,0x19c9,0x19d0,0x19da,0x19de,0x19df,0x200c,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [0x20,0x20,0xa0,0xa0,0xb7,0xb7,0x1dfb,0x1dfb,0x200c,0x200d,0x25cc,0x25cc,0x11400,0x1145b,0x1145d,0x11461,]), + NotoFont.fromFlatList('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [0x20,0x20,0xa0,0xa0,0x16fe1,0x16fe1,0x1b170,0x1b2fb,]), + NotoFont.fromFlatList('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [0x20,0x20,0xa0,0xa0,0x1680,0x169c,]), + NotoFont.fromFlatList('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [0x20,0x20,0xa0,0xa0,0x1c50,0x1c7f,0x20b9,0x20b9,]), + NotoFont.fromFlatList('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [0x20,0x20,0xa0,0xa0,0x200d,0x200d,0x10c80,0x10cb2,0x10cc0,0x10cf2,0x10cfa,0x10cff,]), + NotoFont.fromFlatList('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [0x20,0x20,0xa0,0xa0,0x10300,0x10323,0x1032d,0x1032f,]), + NotoFont.fromFlatList('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [0x20,0x20,0xa0,0xa0,0x10a80,0x10a9f,]), + NotoFont.fromFlatList('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x300,0x306,0x308,0x313,0x313,0x483,0x483,0x20db,0x20db,0x25cc,0x25cc,0x10350,0x1037a,]), + NotoFont.fromFlatList('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [0x20,0x20,0xa0,0xa0,0x103a0,0x103c3,0x103c8,0x103d5,]), + NotoFont.fromFlatList('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [0x20,0x20,0xa0,0xa0,0x10f00,0x10f27,]), + NotoFont.fromFlatList('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [0x20,0x20,0xa0,0xa0,0x10a60,0x10a7f,]), + NotoFont.fromFlatList('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [0x20,0x20,0xa0,0xa0,0x10c00,0x10c48,]), + NotoFont.fromFlatList('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [0x20,0x23,0x25,0x25,0x27,0x2c,0x2e,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0xb01,0xb03,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb35,0xb39,0xb3c,0xb44,0xb47,0xb48,0xb4b,0xb4d,0xb56,0xb57,0xb5c,0xb5d,0xb5f,0xb63,0xb66,0xb77,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x20b9,0x20b9,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [0x20,0x20,0xa0,0xa0,0x301,0x301,0x304,0x304,0x30b,0x30b,0x358,0x358,0x25cc,0x25cc,0x104b0,0x104d3,0x104d8,0x104fb,]), + NotoFont.fromFlatList('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [0x20,0x20,0xa0,0xa0,0x10480,0x1049d,0x104a0,0x104a9,]), + NotoFont.fromFlatList('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x16b00,0x16b45,0x16b50,0x16b59,0x16b5b,0x16b61,0x16b63,0x16b77,0x16b7d,0x16b8f,]), + NotoFont.fromFlatList('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [0x20,0x20,0xa0,0xa0,0x10860,0x1087f,]), + NotoFont.fromFlatList('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [0x20,0x20,0xa0,0xa0,0x11ac0,0x11af8,]), + NotoFont.fromFlatList('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [0x20,0x20,0xa0,0xa0,0x1801,0x1803,0x1805,0x1805,0x200b,0x200f,0x2025,0x2026,0x25cc,0x25cc,0x3001,0x3002,0x3007,0x3011,0x3014,0x301b,0xa840,0xa877,0xfe00,0xfe00,]), + NotoFont.fromFlatList('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [0x20,0x20,0xa0,0xa0,0x10900,0x1091b,0x1091f,0x1091f,]), + NotoFont.fromFlatList('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200d,0x25cc,0x25cc,0x10b80,0x10b91,0x10b99,0x10b9c,0x10ba9,0x10baf,]), + NotoFont.fromFlatList('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa930,0xa953,0xa95f,0xa95f,]), + NotoFont.fromFlatList('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [0x20,0x20,0xa0,0xa0,0x16a0,0x16f8,]), + NotoFont.fromFlatList('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x4db5,0x4e00,0x9fef,0xf900,0xf903,0xf905,0xf906,0xf90b,0xf90c,0xf915,0xf915,0xf917,0xf91a,0xf921,0xf921,0xf92c,0xf92d,0xf92f,0xf92f,0xf931,0xf935,0xf937,0xf93a,0xf943,0xf943,0xf947,0xf94a,0xf94e,0xf94e,0xf952,0xf953,0xf95e,0xf95e,0xf962,0xf967,0xf96e,0xf96e,0xf972,0xf972,0xf974,0xf974,0xf976,0xf976,0xf979,0xf97b,0xf97e,0xf980,0xf984,0xf985,0xf98a,0xf98c,0xf98e,0xf98e,0xf993,0xf993,0xf995,0xf995,0xf998,0xf998,0xf9ae,0xf9ae,0xf9b3,0xf9b3,0xf9b7,0xf9b7,0xf9bb,0xf9bb,0xf9bd,0xf9be,0xf9c0,0xf9c0,0xf9c5,0xf9c6,0xf9d0,0xf9d0,0xf9d8,0xf9d9,0xf9dc,0xf9e0,0xf9e2,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f1,0xf9f1,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0f,0xfa11,0xfa11,0xfa13,0xfa14,0xfa18,0xfa18,0xfa1f,0xfa21,0xfa23,0xfa24,0xfa27,0xfa29,0xfa2f,0xfa2f,0xfa33,0xfa35,0xfa37,0xfa38,0xfa3a,0xfa3a,0xfa47,0xfa47,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20087,0x20087,0x20089,0x20089,0x200cc,0x200cc,0x20164,0x20164,0x20628,0x20628,0x20676,0x20676,0x20cd0,0x20cd0,0x2139a,0x2139a,0x21413,0x21413,0x215d7,0x215d7,0x2298f,0x2298f,0x235cb,0x235cb,0x23c97,0x23c98,0x23e23,0x23e23,0x241fe,0x241fe,0x2420e,0x2420e,0x248e9,0x248e9,0x249db,0x249db,0x24a01,0x24a01,0x24a7d,0x24a7d,0x24ac9,0x24ac9,0x25532,0x25532,0x25562,0x25562,0x255a8,0x255a8,0x25ad7,0x25ad7,0x25ed7,0x25ed7,0x26221,0x26221,0x2648d,0x2648d,0x26676,0x26676,0x2677c,0x2677c,0x26951,0x26951,0x26b5c,0x26b5c,0x26c21,0x26c21,0x278b2,0x278b2,0x27eaf,0x27eaf,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28408,0x28408,0x28678,0x28678,0x28695,0x28695,0x287e0,0x287e0,0x28b49,0x28b49,0x28c47,0x28c47,0x28c4f,0x28c4f,0x28c51,0x28c51,0x28c54,0x28c54,0x28e0f,0x28e0f,0x28e99,0x28e99,0x2967f,0x2967f,0x29810,0x29810,0x29f7e,0x29f7e,0x29f83,0x29f83,0x29f8c,0x29f8c,0x2a7dd,0x2a7dd,0x2a8fb,0x2a8fb,0x2a917,0x2a917,0x2aa30,0x2aa30,0x2aa36,0x2aa36,0x2aa58,0x2aa58,0x2afa2,0x2afa2,0x2b127,0x2b128,0x2b137,0x2b138,0x2b1ed,0x2b1ed,0x2b300,0x2b300,0x2b363,0x2b363,0x2b36f,0x2b36f,0x2b372,0x2b372,0x2b37d,0x2b37d,0x2b404,0x2b404,0x2b410,0x2b410,0x2b413,0x2b413,0x2b461,0x2b461,0x2b4e7,0x2b4e7,0x2b4ef,0x2b4ef,0x2b4f6,0x2b4f6,0x2b4f9,0x2b4f9,0x2b50d,0x2b50e,0x2b536,0x2b536,0x2b5ae,0x2b5af,0x2b5b3,0x2b5b3,0x2b5e7,0x2b5e7,0x2b5f4,0x2b5f4,0x2b61c,0x2b61d,0x2b626,0x2b628,0x2b62a,0x2b62a,0x2b62c,0x2b62c,0x2b695,0x2b696,0x2b6ad,0x2b6ad,0x2b6ed,0x2b6ed,0x2b7a9,0x2b7a9,0x2b7c5,0x2b7c5,0x2b7e6,0x2b7e6,0x2b7f9,0x2b7f9,0x2b7fc,0x2b7fc,0x2b806,0x2b806,0x2b80a,0x2b80a,0x2b81c,0x2b81c,0x2b8b8,0x2b8b8,0x2bac7,0x2bac7,0x2bb5f,0x2bb5f,0x2bb62,0x2bb62,0x2bb7c,0x2bb7c,0x2bb83,0x2bb83,0x2bc1b,0x2bc1b,0x2bd77,0x2bd77,0x2bd87,0x2bd87,0x2bdf7,0x2bdf7,0x2be29,0x2be29,0x2c029,0x2c02a,0x2c0a9,0x2c0a9,0x2c0ca,0x2c0ca,0x2c1d5,0x2c1d5,0x2c1d9,0x2c1d9,0x2c1f9,0x2c1f9,0x2c27c,0x2c27c,0x2c288,0x2c288,0x2c2a4,0x2c2a4,0x2c317,0x2c317,0x2c35b,0x2c35b,0x2c361,0x2c361,0x2c364,0x2c364,0x2c488,0x2c488,0x2c494,0x2c494,0x2c497,0x2c497,0x2c542,0x2c542,0x2c613,0x2c613,0x2c618,0x2c618,0x2c621,0x2c621,0x2c629,0x2c629,0x2c62b,0x2c62d,0x2c62f,0x2c62f,0x2c642,0x2c642,0x2c64a,0x2c64b,0x2c72c,0x2c72c,0x2c72f,0x2c72f,0x2c79f,0x2c79f,0x2c7c1,0x2c7c1,0x2c7fd,0x2c7fd,0x2c8d9,0x2c8d9,0x2c8de,0x2c8de,0x2c8e1,0x2c8e1,0x2c8f3,0x2c8f3,0x2c907,0x2c907,0x2c90a,0x2c90a,0x2c91d,0x2c91d,0x2ca02,0x2ca02,0x2ca0e,0x2ca0e,0x2ca7d,0x2ca7d,0x2caa9,0x2caa9,0x2cb29,0x2cb29,0x2cb2d,0x2cb2e,0x2cb31,0x2cb31,0x2cb38,0x2cb39,0x2cb3b,0x2cb3b,0x2cb3f,0x2cb3f,0x2cb41,0x2cb41,0x2cb4a,0x2cb4a,0x2cb4e,0x2cb4e,0x2cb5a,0x2cb5b,0x2cb64,0x2cb64,0x2cb69,0x2cb69,0x2cb6c,0x2cb6c,0x2cb6f,0x2cb6f,0x2cb73,0x2cb73,0x2cb76,0x2cb76,0x2cb78,0x2cb78,0x2cb7c,0x2cb7c,0x2cbb1,0x2cbb1,0x2cbbf,0x2cbc0,0x2cbce,0x2cbce,0x2cc56,0x2cc56,0x2cc5f,0x2cc5f,0x2ccf5,0x2ccf6,0x2ccfd,0x2ccfd,0x2ccff,0x2ccff,0x2cd02,0x2cd03,0x2cd0a,0x2cd0a,0x2cd8b,0x2cd8b,0x2cd8d,0x2cd8d,0x2cd8f,0x2cd90,0x2cd9f,0x2cda0,0x2cda8,0x2cda8,0x2cdad,0x2cdae,0x2cdd5,0x2cdd5,0x2ce18,0x2ce18,0x2ce1a,0x2ce1a,0x2ce23,0x2ce23,0x2ce26,0x2ce26,0x2ce2a,0x2ce2a,0x2ce7c,0x2ce7c,0x2ce88,0x2ce88,0x2ce93,0x2ce93,0x2d544,0x2d544,0x2f884,0x2f884,0x2f8b6,0x2f8b6,0x30edd,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatList('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa880,0xa8c5,0xa8ce,0xa8d9,]), + NotoFont.fromFlatList('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x951,0x1cd7,0x1cd7,0x1cd9,0x1cd9,0x1cdc,0x1cdd,0x1ce0,0x1ce0,0x200c,0x200d,0x25cc,0x25cc,0x11180,0x111df,]), + NotoFont.fromFlatList('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [0x20,0x20,0xa0,0xa0,0x10450,0x1047f,]), + NotoFont.fromFlatList('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x11580,0x115b5,0x115b8,0x115dd,]), + NotoFont.fromFlatList('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [0x20,0x23,0x25,0x25,0x27,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0xd81,0xd83,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xdca,0xdca,0xdcf,0xdd4,0xdd6,0xdd6,0xdd8,0xddf,0xde6,0xdef,0xdf2,0xdf4,0x200b,0x200d,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x111e1,0x111f4,]), + NotoFont.fromFlatList('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200c,0x25cc,0x25cc,0x10f30,0x10f59,]), + NotoFont.fromFlatList('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x2010,0x2010,0x110d0,0x110e8,0x110f0,0x110f9,]), + NotoFont.fromFlatList('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11a50,0x11aa2,]), + NotoFont.fromFlatList('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x1b80,0x1bbf,0x1cc0,0x1cc7,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x9e6,0x9ef,0x200b,0x200d,0x2010,0x2011,0x2055,0x2055,0x25cc,0x25cc,0xa800,0xa82c,]), + NotoFont.fromFlatList('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [0x20,0x21,0x28,0x2b,0x2d,0x2f,0x3a,0x3a,0x3d,0x3d,0x5b,0x5d,0xa0,0xa0,0xab,0xab,0xb0,0xb0,0xbb,0xbb,0x303,0x304,0x307,0x308,0x30a,0x30a,0x320,0x320,0x323,0x325,0x32d,0x32e,0x330,0x331,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x621,0x621,0x640,0x640,0x64b,0x655,0x660,0x66c,0x670,0x670,0x700,0x70d,0x70f,0x74a,0x74d,0x74f,0x200c,0x200f,0x2026,0x2026,0x2044,0x2044,0x2212,0x2212,0x25cc,0x25cc,0x2670,0x2671,]), + NotoFont.fromFlatList('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3435,0x3435,0x3440,0x3440,0x344a,0x344a,0x344c,0x344c,0x3464,0x3464,0x3473,0x3473,0x347a,0x347a,0x347d,0x347e,0x3493,0x3493,0x3496,0x3496,0x34a5,0x34a5,0x34af,0x34af,0x34bc,0x34bc,0x34c1,0x34c1,0x34c8,0x34c8,0x34df,0x34df,0x34e4,0x34e4,0x34e6,0x34e6,0x34fb,0x34fb,0x3506,0x3506,0x353e,0x353e,0x3551,0x3551,0x3553,0x3553,0x3559,0x3559,0x3561,0x3561,0x356d,0x356d,0x3570,0x3570,0x3572,0x3572,0x3577,0x3578,0x3584,0x3584,0x3597,0x3598,0x35a1,0x35a1,0x35a5,0x35a5,0x35ad,0x35ad,0x35bf,0x35bf,0x35c1,0x35c1,0x35c5,0x35c5,0x35c7,0x35c7,0x35ca,0x35ca,0x35ce,0x35ce,0x35d2,0x35d2,0x35d6,0x35d6,0x35db,0x35db,0x35dd,0x35dd,0x35f1,0x35f3,0x35fb,0x35fb,0x35fe,0x35fe,0x3609,0x3609,0x3618,0x3618,0x361a,0x361a,0x3623,0x3623,0x3625,0x3625,0x362d,0x362d,0x3635,0x3635,0x3639,0x3639,0x363e,0x363e,0x3647,0x3649,0x364e,0x364e,0x365f,0x365f,0x3661,0x3661,0x367a,0x367a,0x3681,0x3681,0x369a,0x369a,0x36a5,0x36a5,0x36aa,0x36aa,0x36ac,0x36ac,0x36b0,0x36b1,0x36b5,0x36b5,0x36b9,0x36b9,0x36bc,0x36bc,0x36c1,0x36c1,0x36c3,0x36c5,0x36c7,0x36c8,0x36d3,0x36d4,0x36d6,0x36d6,0x36dd,0x36dd,0x36e1,0x36e2,0x36e5,0x36e6,0x36f5,0x36f5,0x3701,0x3701,0x3703,0x3703,0x3708,0x3708,0x370a,0x370a,0x370d,0x370d,0x371c,0x371c,0x3722,0x3723,0x3725,0x3725,0x372c,0x372d,0x3730,0x3730,0x3732,0x3733,0x373a,0x373a,0x3740,0x3740,0x3743,0x3743,0x3762,0x3762,0x376f,0x376f,0x3797,0x3797,0x37a0,0x37a0,0x37b9,0x37b9,0x37be,0x37be,0x37d6,0x37d6,0x37f2,0x37f2,0x37f8,0x37f8,0x37fb,0x37fb,0x380f,0x380f,0x3819,0x3819,0x3820,0x3820,0x382d,0x382d,0x3836,0x3836,0x3838,0x3838,0x3863,0x3863,0x3875,0x3875,0x38a0,0x38a0,0x38c3,0x38c3,0x38cc,0x38cc,0x38d1,0x38d1,0x38d4,0x38d4,0x38fa,0x38fa,0x3908,0x3908,0x3914,0x3914,0x3927,0x3927,0x3932,0x3932,0x393f,0x393f,0x394d,0x394d,0x3963,0x3963,0x3978,0x3978,0x3980,0x3980,0x3989,0x398a,0x3992,0x3992,0x3999,0x3999,0x399b,0x399b,0x39a1,0x39a1,0x39a4,0x39a4,0x39b8,0x39b8,0x39dc,0x39dc,0x39e2,0x39e2,0x39e5,0x39e5,0x39ec,0x39ec,0x39f8,0x39f8,0x39fb,0x39fb,0x39fe,0x39fe,0x3a01,0x3a01,0x3a03,0x3a03,0x3a06,0x3a06,0x3a17,0x3a18,0x3a29,0x3a2a,0x3a34,0x3a34,0x3a4b,0x3a4b,0x3a52,0x3a52,0x3a57,0x3a57,0x3a5c,0x3a5c,0x3a5e,0x3a5e,0x3a66,0x3a67,0x3a97,0x3a97,0x3aab,0x3aab,0x3abd,0x3abd,0x3ada,0x3ada,0x3ade,0x3ade,0x3ae0,0x3ae0,0x3af0,0x3af0,0x3af2,0x3af2,0x3af5,0x3af5,0x3afb,0x3afb,0x3b0e,0x3b0e,0x3b19,0x3b19,0x3b22,0x3b22,0x3b2b,0x3b2b,0x3b39,0x3b39,0x3b42,0x3b42,0x3b58,0x3b58,0x3b60,0x3b60,0x3b71,0x3b72,0x3b7b,0x3b7c,0x3b80,0x3b80,0x3b95,0x3b96,0x3b99,0x3b99,0x3ba1,0x3ba1,0x3bbc,0x3bbc,0x3bbe,0x3bbe,0x3bc2,0x3bc2,0x3bc4,0x3bc4,0x3bd7,0x3bd7,0x3bdd,0x3bdd,0x3bec,0x3bec,0x3bf2,0x3bf4,0x3c0d,0x3c0d,0x3c11,0x3c11,0x3c15,0x3c15,0x3c18,0x3c18,0x3c54,0x3c54,0x3c8b,0x3c8b,0x3ccb,0x3ccb,0x3ccd,0x3ccd,0x3cd1,0x3cd1,0x3cd6,0x3cd6,0x3cdc,0x3cdc,0x3ceb,0x3ceb,0x3cef,0x3cef,0x3d12,0x3d13,0x3d1d,0x3d1d,0x3d32,0x3d32,0x3d3b,0x3d3b,0x3d46,0x3d46,0x3d4c,0x3d4c,0x3d4e,0x3d4e,0x3d51,0x3d51,0x3d5f,0x3d5f,0x3d62,0x3d62,0x3d69,0x3d6a,0x3d6f,0x3d6f,0x3d75,0x3d75,0x3d7d,0x3d7d,0x3d85,0x3d85,0x3d88,0x3d88,0x3d8a,0x3d8a,0x3d8f,0x3d8f,0x3d91,0x3d91,0x3da5,0x3da5,0x3dad,0x3dad,0x3db4,0x3db4,0x3dbf,0x3dbf,0x3dc6,0x3dc7,0x3dc9,0x3dc9,0x3dcc,0x3dcd,0x3dd3,0x3dd3,0x3ddb,0x3ddb,0x3de7,0x3de8,0x3deb,0x3deb,0x3df3,0x3df4,0x3df7,0x3df7,0x3dfc,0x3dfd,0x3e06,0x3e06,0x3e40,0x3e40,0x3e43,0x3e43,0x3e48,0x3e48,0x3e55,0x3e55,0x3e74,0x3e74,0x3ea8,0x3eaa,0x3ead,0x3ead,0x3eb1,0x3eb1,0x3eb8,0x3eb8,0x3ebf,0x3ebf,0x3ec2,0x3ec2,0x3ec7,0x3ec7,0x3eca,0x3eca,0x3ecc,0x3ecc,0x3ed0,0x3ed1,0x3ed6,0x3ed7,0x3eda,0x3edb,0x3ede,0x3ede,0x3ee1,0x3ee2,0x3ee7,0x3ee7,0x3ee9,0x3ee9,0x3eeb,0x3eec,0x3ef0,0x3ef0,0x3ef3,0x3ef4,0x3efa,0x3efa,0x3efc,0x3efc,0x3eff,0x3f00,0x3f04,0x3f04,0x3f06,0x3f07,0x3f0e,0x3f0e,0x3f53,0x3f53,0x3f58,0x3f59,0x3f63,0x3f63,0x3f7c,0x3f7c,0x3f93,0x3f93,0x3fc0,0x3fc0,0x3fc8,0x3fc8,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x3fe5,0x3fe5,0x3fed,0x3fed,0x3ff9,0x3ffa,0x4004,0x4004,0x4009,0x4009,0x401d,0x401d,0x4039,0x4039,0x4045,0x4045,0x4053,0x4053,0x4057,0x4057,0x4062,0x4062,0x4065,0x4065,0x406a,0x406a,0x406f,0x406f,0x4071,0x4071,0x40a8,0x40a8,0x40b4,0x40b4,0x40bb,0x40bb,0x40bf,0x40bf,0x40c8,0x40c8,0x40d8,0x40d8,0x40df,0x40df,0x40f8,0x40f8,0x40fa,0x40fa,0x4102,0x4104,0x4109,0x4109,0x410e,0x410e,0x4131,0x4132,0x4167,0x4167,0x416c,0x416c,0x416e,0x416e,0x417c,0x417c,0x417f,0x417f,0x4181,0x4181,0x4190,0x4190,0x41b2,0x41b2,0x41c4,0x41c4,0x41ca,0x41ca,0x41cf,0x41cf,0x41db,0x41db,0x41ed,0x41ed,0x41ef,0x41ef,0x41f9,0x41f9,0x4211,0x4211,0x4223,0x4223,0x4240,0x4240,0x4260,0x4260,0x426a,0x426a,0x4276,0x4276,0x427a,0x427a,0x428c,0x428c,0x4294,0x4294,0x42a2,0x42a2,0x42b5,0x42b5,0x42b9,0x42b9,0x42bc,0x42bc,0x42f4,0x42f4,0x42fb,0x42fc,0x430a,0x430a,0x432b,0x432b,0x436e,0x436e,0x4397,0x4397,0x439a,0x439a,0x43ba,0x43ba,0x43c1,0x43c1,0x43d9,0x43d9,0x43df,0x43df,0x43ed,0x43ed,0x43f0,0x43f0,0x43f2,0x43f2,0x4401,0x4402,0x4413,0x4413,0x4425,0x4425,0x442d,0x442d,0x447a,0x447a,0x448f,0x448f,0x4491,0x4491,0x449f,0x44a0,0x44a2,0x44a2,0x44b0,0x44b0,0x44b7,0x44b7,0x44bd,0x44bd,0x44c0,0x44c0,0x44c3,0x44c3,0x44c5,0x44c5,0x44ce,0x44ce,0x44dd,0x44df,0x44e1,0x44e1,0x44e4,0x44e4,0x44e9,0x44ec,0x44f4,0x44f4,0x4503,0x4504,0x4509,0x4509,0x450b,0x450b,0x4516,0x4516,0x451b,0x451b,0x451d,0x451d,0x4527,0x4527,0x452e,0x452e,0x4533,0x4533,0x4536,0x4536,0x453b,0x453b,0x453d,0x453d,0x453f,0x453f,0x4543,0x4543,0x4551,0x4552,0x4555,0x4555,0x4558,0x4558,0x455c,0x455c,0x4561,0x4562,0x456a,0x456a,0x456d,0x456d,0x4577,0x4578,0x4585,0x4585,0x45a6,0x45a6,0x45b3,0x45b3,0x45da,0x45da,0x45e9,0x45ea,0x4603,0x4603,0x4606,0x4606,0x460f,0x460f,0x4615,0x4615,0x4617,0x4617,0x465b,0x465b,0x467a,0x467a,0x4680,0x4680,0x46a1,0x46a1,0x46ae,0x46ae,0x46bb,0x46bb,0x46cf,0x46d0,0x46f5,0x46f5,0x46f7,0x46f7,0x4713,0x4713,0x4718,0x4718,0x4736,0x4736,0x4744,0x4744,0x474e,0x474f,0x477c,0x477c,0x4798,0x4798,0x47a6,0x47a6,0x47d5,0x47d5,0x47ed,0x47ed,0x47f4,0x47f4,0x4800,0x4800,0x480b,0x480b,0x4837,0x4837,0x485d,0x485d,0x4871,0x4871,0x489b,0x489b,0x48ad,0x48ae,0x48d0,0x48d0,0x48dd,0x48dd,0x48ed,0x48ed,0x48f3,0x48f3,0x48fa,0x48fa,0x4906,0x4906,0x4911,0x4911,0x491e,0x491e,0x4925,0x4925,0x492a,0x492a,0x492d,0x492d,0x492f,0x4930,0x4935,0x4935,0x493c,0x493c,0x493e,0x493e,0x4945,0x4945,0x4951,0x4951,0x4953,0x4953,0x4965,0x4965,0x496a,0x496a,0x4972,0x4972,0x4989,0x4989,0x49a1,0x49a1,0x49a7,0x49a7,0x49df,0x49df,0x49e5,0x49e5,0x49e7,0x49e7,0x4a0f,0x4a0f,0x4a1d,0x4a1d,0x4a24,0x4a24,0x4a35,0x4a35,0x4a96,0x4a96,0x4aa4,0x4aa4,0x4ab4,0x4ab4,0x4ab8,0x4ab8,0x4ad1,0x4ad1,0x4ae4,0x4ae4,0x4aff,0x4aff,0x4b10,0x4b10,0x4b19,0x4b19,0x4b20,0x4b20,0x4b2c,0x4b2c,0x4b37,0x4b37,0x4b6f,0x4b70,0x4b72,0x4b72,0x4b7b,0x4b7b,0x4b7e,0x4b7e,0x4b8e,0x4b8e,0x4b90,0x4b90,0x4b93,0x4b93,0x4b96,0x4b97,0x4b9d,0x4b9d,0x4bbd,0x4bbe,0x4bc0,0x4bc0,0x4c04,0x4c04,0x4c07,0x4c07,0x4c0e,0x4c0e,0x4c32,0x4c32,0x4c3b,0x4c3b,0x4c3e,0x4c3e,0x4c40,0x4c40,0x4c47,0x4c47,0x4c57,0x4c57,0x4c5b,0x4c5b,0x4c6d,0x4c6d,0x4c77,0x4c77,0x4c7b,0x4c7b,0x4c7d,0x4c7d,0x4c81,0x4c81,0x4c85,0x4c85,0x4ca4,0x4ca4,0x4cae,0x4cae,0x4cb0,0x4cb0,0x4cb7,0x4cb7,0x4ccd,0x4ccd,0x4ce1,0x4ce2,0x4ced,0x4ced,0x4d07,0x4d07,0x4d09,0x4d09,0x4d10,0x4d10,0x4d34,0x4d34,0x4d76,0x4d77,0x4d89,0x4d89,0x4d91,0x4d91,0x4d9c,0x4d9c,0x4e00,0x4e01,0x4e03,0x4e04,0x4e07,0x4e11,0x4e14,0x4e16,0x4e18,0x4e1a,0x4e1c,0x4e1c,0x4e1e,0x4e1f,0x4e21,0x4e22,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2a,0x4e33,0x4e36,0x4e39,0x4e3b,0x4e3d,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e47,0x4e49,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e52,0x4e53,0x4e56,0x4e56,0x4e58,0x4e5f,0x4e69,0x4e6a,0x4e73,0x4e73,0x4e78,0x4e78,0x4e7e,0x4e89,0x4e8b,0x4e8e,0x4e91,0x4e95,0x4e98,0x4e9b,0x4e9e,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb3,0x4eb3,0x4eb6,0x4eb7,0x4eb9,0x4ebc,0x4ebf,0x4ec4,0x4ec6,0x4ecb,0x4ecd,0x4ece,0x4ed4,0x4eda,0x4edc,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4ee8,0x4eeb,0x4eee,0x4eee,0x4ef0,0x4ef8,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f05,0x4f08,0x4f0b,0x4f0d,0x4f15,0x4f17,0x4f1a,0x4f1d,0x4f1d,0x4f22,0x4f22,0x4f28,0x4f29,0x4f2c,0x4f2d,0x4f2f,0x4f30,0x4f32,0x4f34,0x4f36,0x4f3f,0x4f41,0x4f43,0x4f45,0x4f49,0x4f4b,0x4f64,0x4f67,0x4f67,0x4f69,0x4f6c,0x4f6e,0x4f70,0x4f72,0x4f8b,0x4f8d,0x4f8d,0x4f8f,0x4f92,0x4f94,0x4f98,0x4f9a,0x4f9e,0x4fa2,0x4fa2,0x4fa8,0x4fa8,0x4fab,0x4fab,0x4fae,0x4fb0,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbd,0x4fbd,0x4fbf,0x4fc5,0x4fc7,0x4fd1,0x4fd3,0x4fd4,0x4fd6,0x4fe1,0x4fe4,0x4fe5,0x4fec,0x4fec,0x4fee,0x4ffa,0x4ffd,0x4ffe,0x5000,0x5000,0x5003,0x5003,0x5005,0x5009,0x500b,0x500f,0x5011,0x501c,0x501e,0x5023,0x5025,0x5031,0x5033,0x5035,0x5037,0x5037,0x503b,0x503c,0x5040,0x5041,0x5043,0x5043,0x5045,0x504f,0x5051,0x5051,0x5053,0x5053,0x5055,0x5058,0x505a,0x5066,0x5068,0x5070,0x5072,0x5077,0x507a,0x507a,0x507d,0x507d,0x5080,0x5083,0x5085,0x5085,0x5087,0x5088,0x508b,0x508e,0x5090,0x5092,0x5094,0x5096,0x5098,0x509e,0x50a2,0x50a3,0x50a6,0x50a6,0x50ac,0x50b8,0x50ba,0x50bf,0x50c1,0x50c2,0x50c4,0x50cb,0x50cd,0x50d1,0x50d3,0x50d7,0x50d9,0x50db,0x50dd,0x50dd,0x50df,0x50e1,0x50e3,0x50ea,0x50ec,0x50f1,0x50f3,0x50f6,0x50f8,0x50f9,0x50fb,0x510e,0x5110,0x5115,0x5117,0x5118,0x511a,0x511a,0x511c,0x511c,0x511f,0x5122,0x5124,0x5126,0x5129,0x512b,0x512d,0x512e,0x5130,0x5135,0x5137,0x513d,0x513f,0x5141,0x5143,0x5149,0x514b,0x514d,0x5151,0x5152,0x5154,0x5157,0x5159,0x5163,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5174,0x5179,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x518a,0x518d,0x518d,0x518f,0x518f,0x5191,0x5198,0x519a,0x519a,0x519c,0x519c,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a2,0x51a4,0x51a5,0x51a7,0x51a8,0x51aa,0x51ac,0x51ae,0x51ae,0x51b0,0x51b9,0x51bc,0x51be,0x51c3,0x51d4,0x51d7,0x51d8,0x51db,0x51e2,0x51e4,0x51e4,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fc,0x51fe,0x5200,0x5203,0x5205,0x520c,0x520e,0x520e,0x5210,0x5213,0x5216,0x5217,0x521c,0x5221,0x5224,0x522a,0x522e,0x522e,0x5230,0x5238,0x523a,0x523c,0x5241,0x5241,0x5243,0x5244,0x5246,0x5247,0x5249,0x524f,0x5252,0x5252,0x5254,0x5257,0x5259,0x5262,0x5268,0x526f,0x5272,0x5275,0x5277,0x527d,0x527f,0x5284,0x5287,0x528d,0x528f,0x5291,0x5293,0x5294,0x5296,0x529b,0x529f,0x52a1,0x52a3,0x52a4,0x52a6,0x52a6,0x52a8,0x52ae,0x52b5,0x52b5,0x52b9,0x52b9,0x52bb,0x52bc,0x52be,0x52be,0x52c0,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d0,0x52d3,0x52d5,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52e9,0x52e9,0x52eb,0x52eb,0x52ef,0x52f1,0x52f3,0x52f5,0x52f7,0x52fc,0x52fe,0x52ff,0x5301,0x5301,0x5305,0x5306,0x5308,0x530b,0x530d,0x5312,0x5315,0x5317,0x5319,0x531a,0x531c,0x531d,0x531f,0x5324,0x5327,0x5327,0x532a,0x532a,0x532c,0x532d,0x532f,0x5334,0x5337,0x5339,0x533b,0x5345,0x5347,0x534a,0x534c,0x534e,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x5361,0x5363,0x5364,0x5366,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x5379,0x537b,0x537f,0x5382,0x5382,0x5384,0x5384,0x538a,0x538a,0x538e,0x538f,0x5392,0x5394,0x5396,0x539a,0x539c,0x53a0,0x53a2,0x53a2,0x53a4,0x53ae,0x53b0,0x53b0,0x53b2,0x53b2,0x53b4,0x53b4,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c1,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d0,0x53d2,0x53d4,0x53d4,0x53d6,0x53db,0x53df,0x53e6,0x53e8,0x53f3,0x53f5,0x53f8,0x53fb,0x53fc,0x53fe,0x53fe,0x5401,0x5401,0x5403,0x5404,0x5406,0x5414,0x5416,0x5416,0x5418,0x5421,0x5423,0x5439,0x543b,0x5443,0x5445,0x5448,0x544a,0x544f,0x5454,0x5454,0x5460,0x546d,0x546f,0x5478,0x547a,0x5482,0x5484,0x5488,0x548b,0x5498,0x549a,0x549a,0x549c,0x549c,0x549e,0x549e,0x54a0,0x54b4,0x54b6,0x54c9,0x54cb,0x54d0,0x54d6,0x54d6,0x54da,0x54da,0x54de,0x54de,0x54e0,0x54eb,0x54ed,0x54ef,0x54f1,0x54f3,0x54f7,0x54f8,0x54fa,0x54fd,0x54ff,0x54ff,0x5501,0x5514,0x5517,0x5518,0x551a,0x551a,0x551e,0x551e,0x5523,0x5523,0x5525,0x5528,0x552a,0x5539,0x553b,0x553c,0x553e,0x5541,0x5543,0x554b,0x554d,0x5553,0x5555,0x5557,0x555c,0x555f,0x5561,0x5566,0x5569,0x556b,0x5571,0x5573,0x5575,0x5577,0x5579,0x5579,0x557b,0x5584,0x5586,0x5595,0x5598,0x559a,0x559c,0x559d,0x559f,0x559f,0x55a1,0x55ae,0x55b0,0x55b5,0x55b9,0x55bc,0x55bf,0x55df,0x55e1,0x55ea,0x55ec,0x55ec,0x55ee,0x55f2,0x55f5,0x55f7,0x55f9,0x5602,0x5604,0x5606,0x5608,0x5609,0x560c,0x5617,0x561b,0x5623,0x5625,0x5625,0x5627,0x5627,0x5629,0x562a,0x562c,0x5630,0x5632,0x563b,0x563d,0x5643,0x5645,0x5646,0x5648,0x564a,0x564c,0x5650,0x5652,0x5654,0x5657,0x565a,0x565d,0x565e,0x5660,0x5666,0x5668,0x5674,0x5676,0x567c,0x567e,0x5687,0x5689,0x5690,0x5692,0x5693,0x5695,0x5695,0x5697,0x569a,0x569c,0x569f,0x56a1,0x56a1,0x56a4,0x56a8,0x56aa,0x56af,0x56b1,0x56b7,0x56b9,0x56b9,0x56bc,0x56c3,0x56c5,0x56c6,0x56c8,0x56cd,0x56d1,0x56d1,0x56d3,0x56d4,0x56d6,0x56d7,0x56da,0x56db,0x56dd,0x56e2,0x56e4,0x56e5,0x56e7,0x56e7,0x56ea,0x56eb,0x56ed,0x56f1,0x56f7,0x56f7,0x56f9,0x56fb,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x5712,0x5716,0x5718,0x5718,0x571a,0x5720,0x5722,0x5723,0x5728,0x572a,0x572c,0x5730,0x5732,0x5734,0x573b,0x573b,0x573d,0x5743,0x5745,0x5747,0x5749,0x5752,0x5754,0x5754,0x5757,0x5757,0x575b,0x575b,0x575f,0x575f,0x5761,0x5762,0x5764,0x5764,0x5766,0x576b,0x576d,0x576d,0x576f,0x5777,0x577a,0x5780,0x5782,0x5783,0x5788,0x5788,0x578a,0x578d,0x578f,0x5790,0x5793,0x5795,0x5797,0x57a5,0x57a7,0x57a7,0x57aa,0x57aa,0x57ae,0x57ae,0x57b3,0x57b6,0x57b8,0x57bf,0x57c1,0x57c4,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57d0,0x57d2,0x57d2,0x57d4,0x57d5,0x57d7,0x57d7,0x57dc,0x57e7,0x57e9,0x57e9,0x57ec,0x57fe,0x5800,0x580e,0x5810,0x5810,0x5812,0x5812,0x5814,0x5814,0x5818,0x5819,0x581b,0x581e,0x5820,0x582a,0x582c,0x583b,0x583d,0x583d,0x583f,0x5840,0x5844,0x5844,0x5847,0x584f,0x5851,0x5855,0x5857,0x585f,0x5862,0x5865,0x5868,0x5869,0x586b,0x586d,0x586f,0x586f,0x5871,0x5876,0x5879,0x5883,0x5885,0x588b,0x588e,0x5894,0x5896,0x5896,0x5898,0x589a,0x589c,0x58a1,0x58a3,0x58a3,0x58a5,0x58ac,0x58ae,0x58b1,0x58b3,0x58b3,0x58b5,0x58b6,0x58ba,0x58bf,0x58c1,0x58c2,0x58c5,0x58c9,0x58cb,0x58cb,0x58ce,0x58d6,0x58d8,0x58e0,0x58e2,0x58e4,0x58e7,0x58e9,0x58eb,0x58ec,0x58ef,0x58f0,0x58f2,0x58f4,0x58f9,0x58ff,0x5902,0x5907,0x590a,0x590a,0x590c,0x590f,0x5911,0x5912,0x5914,0x5917,0x5919,0x591a,0x591c,0x591d,0x591f,0x5920,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5934,0x5934,0x5937,0x5938,0x593c,0x593c,0x593e,0x593e,0x5940,0x5940,0x5944,0x5945,0x5947,0x594a,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5962,0x5965,0x5965,0x5967,0x5967,0x5969,0x596e,0x5970,0x5979,0x597b,0x5985,0x5989,0x598a,0x598d,0x5990,0x5992,0x5994,0x5996,0x599a,0x599d,0x59a8,0x59ac,0x59ac,0x59ae,0x59c1,0x59c3,0x59d4,0x59d6,0x59d6,0x59d8,0x59de,0x59e0,0x59e1,0x59e3,0x59e6,0x59e8,0x5a03,0x5a09,0x5a0d,0x5a0f,0x5a0f,0x5a11,0x5a13,0x5a15,0x5a1c,0x5a1e,0x5a21,0x5a23,0x5a25,0x5a27,0x5a27,0x5a29,0x5a2e,0x5a33,0x5a33,0x5a35,0x5a39,0x5a3c,0x5a3e,0x5a40,0x5a4a,0x5a4c,0x5a4d,0x5a50,0x5a6e,0x5a70,0x5a71,0x5a77,0x5a7f,0x5a81,0x5a84,0x5a86,0x5a86,0x5a88,0x5a88,0x5a8a,0x5a8c,0x5a8e,0x5a97,0x5a99,0x5aa2,0x5aa4,0x5aa7,0x5aa9,0x5aac,0x5aae,0x5ac4,0x5ac6,0x5acf,0x5ad1,0x5ad1,0x5ad3,0x5ad3,0x5ad5,0x5ae6,0x5ae8,0x5aee,0x5af0,0x5af0,0x5af2,0x5afb,0x5afd,0x5aff,0x5b01,0x5b03,0x5b05,0x5b05,0x5b07,0x5b09,0x5b0b,0x5b0d,0x5b0f,0x5b11,0x5b13,0x5b17,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b23,0x5b28,0x5b2a,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b38,0x5b38,0x5b3c,0x5b41,0x5b43,0x5b48,0x5b4a,0x5b51,0x5b53,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b62,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6e,0x5b70,0x5b78,0x5b7a,0x5b7d,0x5b7f,0x5b85,0x5b87,0x5b89,0x5b8b,0x5b8c,0x5b8e,0x5b90,0x5b92,0x5b93,0x5b95,0x5b9f,0x5ba2,0x5ba8,0x5baa,0x5baa,0x5bac,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb9,0x5bbf,0x5bc7,0x5bca,0x5bce,0x5bd0,0x5bd9,0x5bdb,0x5bdb,0x5bde,0x5bec,0x5bee,0x5bf3,0x5bf5,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c03,0x5c05,0x5c07,0x5c16,0x5c1a,0x5c1a,0x5c1c,0x5c1c,0x5c1e,0x5c20,0x5c22,0x5c25,0x5c28,0x5c28,0x5c2a,0x5c2a,0x5c2c,0x5c2c,0x5c30,0x5c31,0x5c33,0x5c33,0x5c37,0x5c3c,0x5c3e,0x5c41,0x5c44,0x5c51,0x5c53,0x5c56,0x5c58,0x5c59,0x5c5c,0x5c5e,0x5c60,0x5c60,0x5c62,0x5c65,0x5c67,0x5c6a,0x5c6c,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c74,0x5c78,0x5c7c,0x5c7e,0x5c7e,0x5c85,0x5c86,0x5c88,0x5c8d,0x5c8f,0x5c95,0x5c99,0x5c9a,0x5c9c,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb8,0x5cba,0x5cba,0x5cc1,0x5cc2,0x5cc6,0x5ccc,0x5cce,0x5cdb,0x5cde,0x5cdf,0x5ce5,0x5ce5,0x5ce8,0x5cea,0x5cec,0x5cf1,0x5cf4,0x5cf9,0x5cfb,0x5cfd,0x5cff,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d20,0x5d22,0x5d29,0x5d2c,0x5d2c,0x5d2e,0x5d3a,0x5d3c,0x5d43,0x5d45,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d52,0x5d55,0x5d57,0x5d59,0x5d59,0x5d5b,0x5d5b,0x5d5e,0x5d5e,0x5d62,0x5d63,0x5d65,0x5d65,0x5d67,0x5d69,0x5d6b,0x5d6c,0x5d6f,0x5d72,0x5d74,0x5d74,0x5d77,0x5d82,0x5d84,0x5d8b,0x5d8d,0x5d8e,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d9a,0x5d9c,0x5da2,0x5da4,0x5da4,0x5da7,0x5db2,0x5db4,0x5dba,0x5dbc,0x5dbd,0x5dc0,0x5dc3,0x5dc6,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dcf,0x5dcf,0x5dd1,0x5dd2,0x5dd4,0x5dd8,0x5ddb,0x5ddb,0x5ddd,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df0,0x5df5,0x5df7,0x5df7,0x5df9,0x5df9,0x5dfd,0x5dff,0x5e02,0x5e04,0x5e06,0x5e06,0x5e09,0x5e0c,0x5e0e,0x5e0e,0x5e11,0x5e12,0x5e14,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e25,0x5e28,0x5e29,0x5e2b,0x5e2b,0x5e2d,0x5e2e,0x5e33,0x5e34,0x5e36,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e45,0x5e48,0x5e48,0x5e4a,0x5e4f,0x5e53,0x5e55,0x5e57,0x5e59,0x5e5b,0x5e63,0x5e66,0x5e70,0x5e72,0x5e76,0x5e78,0x5e80,0x5e82,0x5e84,0x5e86,0x5e8d,0x5e8f,0x5e8f,0x5e92,0x5e92,0x5e95,0x5e97,0x5e99,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea8,0x5eaa,0x5eae,0x5eb0,0x5eb9,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec4,0x5ece,0x5ed0,0x5ee3,0x5ee5,0x5ee9,0x5eec,0x5eec,0x5eee,0x5eef,0x5ef1,0x5ef4,0x5ef6,0x5efc,0x5efe,0x5eff,0x5f01,0x5f02,0x5f04,0x5f05,0x5f07,0x5f08,0x5f0a,0x5f0f,0x5f12,0x5f15,0x5f17,0x5f18,0x5f1a,0x5f1b,0x5f1d,0x5f1d,0x5f1f,0x5f1f,0x5f22,0x5f29,0x5f2d,0x5f2e,0x5f30,0x5f31,0x5f33,0x5f33,0x5f35,0x5f38,0x5f3a,0x5f3c,0x5f40,0x5f40,0x5f43,0x5f46,0x5f48,0x5f51,0x5f54,0x5f54,0x5f56,0x5f59,0x5f5c,0x5f5e,0x5f61,0x5f65,0x5f67,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f74,0x5f76,0x5f79,0x5f7b,0x5f83,0x5f85,0x5f8c,0x5f90,0x5f92,0x5f96,0x5f99,0x5f9b,0x5f9c,0x5f9e,0x5fa1,0x5fa4,0x5faf,0x5fb1,0x5fb2,0x5fb5,0x5fb7,0x5fb9,0x5fc5,0x5fc9,0x5fc9,0x5fcc,0x5fcd,0x5fcf,0x5fd2,0x5fd4,0x5fd9,0x5fdb,0x5fdb,0x5fdd,0x5fe1,0x5fe3,0x5fe5,0x5fe8,0x5fe8,0x5fea,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff3,0x5ff5,0x5ff7,0x5ff8,0x5ffa,0x5ffb,0x5ffd,0x5ffd,0x5fff,0x6000,0x6009,0x6017,0x6019,0x601e,0x6020,0x602f,0x6031,0x6035,0x6037,0x6037,0x6039,0x6039,0x603b,0x603b,0x6040,0x6047,0x6049,0x604d,0x6050,0x6050,0x6052,0x6055,0x6058,0x605b,0x605d,0x605f,0x6062,0x6070,0x6072,0x6072,0x6075,0x6075,0x6077,0x6077,0x607e,0x6081,0x6083,0x608a,0x608c,0x608e,0x6090,0x6090,0x6092,0x6092,0x6094,0x6097,0x609a,0x60a0,0x60a2,0x60a4,0x60a6,0x60a8,0x60b0,0x60c1,0x60c3,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d7,0x60e4,0x60e6,0x60e9,0x60f0,0x6101,0x6103,0x6110,0x6112,0x6116,0x6118,0x611d,0x611f,0x6120,0x6122,0x6123,0x6127,0x6129,0x612b,0x612c,0x612e,0x6130,0x6132,0x6132,0x6134,0x6134,0x6136,0x6137,0x613b,0x613b,0x613d,0x6142,0x6144,0x6150,0x6152,0x6156,0x6158,0x6168,0x616a,0x616c,0x616e,0x6177,0x6179,0x617a,0x617c,0x617e,0x6180,0x6183,0x6187,0x6187,0x6189,0x618e,0x6190,0x6196,0x6198,0x619d,0x619f,0x619f,0x61a1,0x61a2,0x61a4,0x61a4,0x61a7,0x61ba,0x61bc,0x61bc,0x61be,0x61c3,0x61c5,0x61cd,0x61cf,0x61d0,0x61d3,0x61d3,0x61d6,0x61d6,0x61d8,0x61d8,0x61da,0x61da,0x61de,0x61e0,0x61e2,0x61eb,0x61ed,0x61ee,0x61f0,0x61f2,0x61f5,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6219,0x621b,0x621f,0x6225,0x6227,0x6227,0x6229,0x622e,0x6230,0x6230,0x6232,0x6234,0x6236,0x6237,0x6239,0x623a,0x623d,0x6243,0x6246,0x624e,0x6250,0x6254,0x6258,0x625c,0x625e,0x625e,0x6260,0x6266,0x6268,0x6268,0x626d,0x6274,0x6276,0x6277,0x6279,0x628a,0x628c,0x628c,0x628e,0x6298,0x629d,0x629d,0x62a4,0x62a4,0x62a6,0x62a6,0x62a8,0x62b1,0x62b3,0x62b6,0x62b8,0x62b9,0x62bb,0x62bf,0x62c1,0x62dc,0x62df,0x62df,0x62e5,0x62e5,0x62eb,0x6303,0x6307,0x6309,0x630b,0x6311,0x6313,0x6316,0x6318,0x6318,0x6328,0x632f,0x6331,0x633e,0x6340,0x6351,0x6354,0x635a,0x635d,0x635d,0x6364,0x6365,0x6367,0x6369,0x636b,0x6372,0x6375,0x637d,0x637f,0x6385,0x6387,0x6392,0x6394,0x6394,0x6396,0x6399,0x639b,0x63a5,0x63a7,0x63b1,0x63b9,0x63b9,0x63bd,0x63be,0x63c0,0x63d3,0x63d5,0x63eb,0x63ed,0x63f6,0x63f8,0x63f9,0x63fb,0x63fc,0x63fe,0x63fe,0x6406,0x6407,0x6409,0x6410,0x6412,0x6418,0x641a,0x641c,0x641e,0x6428,0x642a,0x6430,0x6432,0x643b,0x643d,0x6441,0x6443,0x6443,0x644b,0x644b,0x644d,0x644e,0x6450,0x6454,0x6458,0x6461,0x6465,0x6469,0x646b,0x647d,0x647f,0x647f,0x6482,0x6482,0x6485,0x6485,0x6487,0x648d,0x648f,0x6493,0x6495,0x649a,0x649c,0x64a0,0x64a2,0x64a6,0x64a9,0x64a9,0x64ab,0x64b4,0x64b6,0x64b6,0x64bb,0x64c5,0x64c7,0x64c7,0x64c9,0x64cb,0x64cd,0x64d0,0x64d2,0x64d4,0x64d6,0x64db,0x64dd,0x64dd,0x64e0,0x64ed,0x64ef,0x64f4,0x64f7,0x64f8,0x64fa,0x6501,0x6503,0x6504,0x6506,0x6507,0x6509,0x650a,0x650c,0x6511,0x6513,0x6519,0x651b,0x6526,0x6529,0x6530,0x6532,0x6539,0x653b,0x653b,0x653d,0x653f,0x6541,0x6541,0x6543,0x6543,0x6545,0x6546,0x6548,0x654a,0x654d,0x654d,0x654f,0x654f,0x6551,0x6551,0x6553,0x655a,0x655c,0x655f,0x6562,0x6568,0x656a,0x656d,0x656f,0x656f,0x6572,0x657c,0x657f,0x6589,0x658b,0x658c,0x6590,0x6592,0x6594,0x6597,0x6599,0x6599,0x659b,0x65a2,0x65a4,0x65a5,0x65a7,0x65a8,0x65aa,0x65ac,0x65ae,0x65b0,0x65b2,0x65b3,0x65b5,0x65b9,0x65bb,0x65bf,0x65c1,0x65c6,0x65cb,0x65d4,0x65d6,0x65d7,0x65da,0x65db,0x65dd,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65f5,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6615,0x6618,0x6618,0x661c,0x6628,0x662b,0x662b,0x662d,0x6636,0x6639,0x663a,0x6641,0x6645,0x6647,0x664d,0x664f,0x664f,0x6651,0x6653,0x6657,0x6657,0x6659,0x6668,0x666a,0x666c,0x666e,0x6674,0x6676,0x667e,0x6680,0x6680,0x6684,0x668e,0x6690,0x6692,0x6694,0x669a,0x669d,0x669d,0x669f,0x66a2,0x66a4,0x66a4,0x66a8,0x66ab,0x66ad,0x66bb,0x66bd,0x66c0,0x66c4,0x66c4,0x66c6,0x66cf,0x66d2,0x66d2,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e4,0x66e6,0x66e9,0x66eb,0x66ee,0x66f0,0x66f4,0x66f6,0x66f9,0x66fc,0x66fc,0x66fe,0x6705,0x6708,0x6710,0x6712,0x6719,0x671b,0x671b,0x671d,0x6723,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6736,0x6738,0x673f,0x6744,0x6749,0x674b,0x6751,0x6753,0x6753,0x6755,0x6757,0x6759,0x675a,0x675c,0x6762,0x6767,0x6767,0x676a,0x677f,0x6781,0x6787,0x6789,0x6789,0x678b,0x6795,0x6797,0x679a,0x679c,0x679d,0x679f,0x67a0,0x67a4,0x67a4,0x67ac,0x67ac,0x67ae,0x67bb,0x67bf,0x67c6,0x67c8,0x67d4,0x67d6,0x67df,0x67e2,0x67e7,0x67e9,0x67fa,0x67fc,0x67fc,0x67fe,0x6804,0x680d,0x680d,0x6810,0x6810,0x6812,0x6814,0x6816,0x6818,0x681a,0x6822,0x6825,0x6826,0x6828,0x682b,0x682d,0x682f,0x6831,0x683e,0x6840,0x6851,0x6853,0x6856,0x685d,0x685d,0x6865,0x6865,0x686b,0x686b,0x686d,0x686f,0x6871,0x6872,0x6874,0x6879,0x687b,0x688c,0x688f,0x6894,0x6896,0x6898,0x689b,0x689d,0x689f,0x68a4,0x68a6,0x68b6,0x68b9,0x68b9,0x68bd,0x68bd,0x68c1,0x68c1,0x68c3,0x68ce,0x68d0,0x68d8,0x68da,0x68da,0x68dc,0x68e1,0x68e3,0x68e4,0x68e6,0x68ec,0x68ee,0x68fd,0x6900,0x6915,0x6917,0x691b,0x6925,0x6925,0x692a,0x692a,0x692c,0x692c,0x692f,0x6930,0x6932,0x6939,0x693b,0x6946,0x6948,0x694c,0x694e,0x694f,0x6951,0x697b,0x6980,0x6980,0x6982,0x6983,0x6985,0x6986,0x698a,0x698a,0x698d,0x698e,0x6990,0x6991,0x6993,0x699c,0x699e,0x69b7,0x69b9,0x69b9,0x69bb,0x69c4,0x69c6,0x69c6,0x69c9,0x69d1,0x69d3,0x69d6,0x69d9,0x69d9,0x69e1,0x69e2,0x69e4,0x69e9,0x69eb,0x69ee,0x69f1,0x69f4,0x69f6,0x6a0d,0x6a0f,0x6a0f,0x6a11,0x6a11,0x6a13,0x6a21,0x6a23,0x6a23,0x6a25,0x6a29,0x6a2b,0x6a2d,0x6a32,0x6a35,0x6a38,0x6a41,0x6a43,0x6a49,0x6a4b,0x6a5b,0x6a5d,0x6a6b,0x6a6d,0x6a6d,0x6a6f,0x6a6f,0x6a71,0x6a71,0x6a74,0x6a74,0x6a76,0x6a76,0x6a7a,0x6a7a,0x6a7e,0x6a85,0x6a87,0x6a87,0x6a89,0x6a8a,0x6a8c,0x6a97,0x6a99,0x6aa8,0x6aab,0x6aaf,0x6ab1,0x6abb,0x6abd,0x6abe,0x6ac2,0x6ac3,0x6ac5,0x6acd,0x6acf,0x6ad1,0x6ad3,0x6ad4,0x6ad8,0x6ae1,0x6ae5,0x6ae5,0x6ae7,0x6ae8,0x6aea,0x6aec,0x6aee,0x6af1,0x6af3,0x6af3,0x6af6,0x6af6,0x6af8,0x6afc,0x6b00,0x6b00,0x6b02,0x6b05,0x6b08,0x6b0b,0x6b0f,0x6b13,0x6b16,0x6b1a,0x6b1d,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b25,0x6b25,0x6b28,0x6b28,0x6b2c,0x6b2d,0x6b2f,0x6b2f,0x6b31,0x6b3f,0x6b41,0x6b43,0x6b45,0x6b4e,0x6b50,0x6b52,0x6b54,0x6b57,0x6b59,0x6b59,0x6b5b,0x6b5c,0x6b5e,0x6b67,0x6b6a,0x6b6a,0x6b6d,0x6b6d,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b74,0x6b74,0x6b76,0x6b7b,0x6b7e,0x6b84,0x6b86,0x6b86,0x6b88,0x6b8a,0x6b8c,0x6b8f,0x6b91,0x6b91,0x6b94,0x6b99,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba7,0x6baa,0x6bab,0x6bad,0x6bb0,0x6bb2,0x6bb3,0x6bb5,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc3,0x6bcd,0x6bcf,0x6bd0,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdc,0x6bde,0x6bde,0x6be0,0x6be4,0x6be6,0x6be8,0x6bea,0x6bec,0x6bef,0x6bf0,0x6bf2,0x6bf3,0x6bf7,0x6c06,0x6c08,0x6c09,0x6c0b,0x6c0d,0x6c0f,0x6c11,0x6c13,0x6c16,0x6c18,0x6c1d,0x6c1f,0x6c21,0x6c23,0x6c28,0x6c2a,0x6c2c,0x6c2e,0x6c3b,0x6c3d,0x6c43,0x6c46,0x6c46,0x6c49,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c61,0x6c65,0x6c6b,0x6c6d,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9d,0x6c9f,0x6c9f,0x6ca2,0x6ca2,0x6caa,0x6cb4,0x6cb6,0x6cc7,0x6cc9,0x6cd7,0x6cd9,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf3,0x6cf5,0x6cf5,0x6cf9,0x6cf9,0x6cff,0x6d12,0x6d16,0x6d1b,0x6d1d,0x6d20,0x6d22,0x6d22,0x6d24,0x6d42,0x6d4e,0x6d4e,0x6d57,0x6d5c,0x6d5e,0x6d6a,0x6d6c,0x6d72,0x6d74,0x6d98,0x6d9a,0x6d9a,0x6da4,0x6da5,0x6daa,0x6dac,0x6dae,0x6daf,0x6db1,0x6db5,0x6db7,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dcd,0x6dcf,0x6de6,0x6de8,0x6df7,0x6df9,0x6dfe,0x6e00,0x6e00,0x6e02,0x6e05,0x6e0a,0x6e0a,0x6e0f,0x6e0f,0x6e15,0x6e15,0x6e18,0x6e1d,0x6e1f,0x6e36,0x6e38,0x6e41,0x6e43,0x6e47,0x6e49,0x6e4b,0x6e4d,0x6e69,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e71,0x6e74,0x6e76,0x6e79,0x6e7c,0x6e7c,0x6e86,0x6e86,0x6e88,0x6e89,0x6e8b,0x6e8b,0x6e8d,0x6e90,0x6e92,0x6e94,0x6e96,0x6ea7,0x6eaa,0x6eab,0x6eae,0x6ed6,0x6ed8,0x6edd,0x6ee2,0x6ee2,0x6ee8,0x6ee9,0x6eeb,0x6eef,0x6ef1,0x6ef2,0x6ef4,0x6f0f,0x6f12,0x6f1a,0x6f1c,0x6f1c,0x6f1e,0x6f27,0x6f29,0x6f41,0x6f43,0x6f44,0x6f4e,0x6f58,0x6f5a,0x6f64,0x6f66,0x6f67,0x6f69,0x6f70,0x6f72,0x6f74,0x6f76,0x6f82,0x6f84,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f97,0x6f9d,0x6fb6,0x6fb8,0x6fc4,0x6fc6,0x6fcf,0x6fd3,0x6fd5,0x6fd8,0x6fe4,0x6fe6,0x6fe9,0x6feb,0x6ff2,0x6ff4,0x6ff4,0x6ff6,0x6ff8,0x6ffa,0x6ffc,0x6ffe,0x7001,0x7003,0x7007,0x7009,0x700f,0x7011,0x7011,0x7014,0x7024,0x7026,0x702c,0x702f,0x7035,0x7037,0x703c,0x703e,0x7046,0x7048,0x704d,0x7050,0x7052,0x7054,0x7058,0x705a,0x706c,0x706e,0x7071,0x7074,0x707a,0x707c,0x707f,0x7081,0x7086,0x7089,0x708b,0x708e,0x708f,0x7091,0x7096,0x7098,0x709a,0x709f,0x70a1,0x70a3,0x70a7,0x70a9,0x70a9,0x70ab,0x70b1,0x70b3,0x70b5,0x70b7,0x70be,0x70c0,0x70c0,0x70c4,0x70c8,0x70ca,0x70da,0x70dc,0x70e2,0x70e4,0x70e4,0x70ef,0x70f1,0x70f3,0x7100,0x7102,0x7102,0x7104,0x7106,0x7109,0x710e,0x7110,0x7110,0x7113,0x7113,0x7117,0x7117,0x7119,0x7123,0x7125,0x7126,0x7128,0x7129,0x712b,0x712c,0x712e,0x7136,0x713a,0x713b,0x713e,0x713e,0x7140,0x7147,0x7149,0x7154,0x7156,0x715a,0x715c,0x716c,0x716e,0x716e,0x7170,0x7178,0x717a,0x717e,0x7180,0x7182,0x7184,0x718a,0x718c,0x718c,0x718e,0x7192,0x7194,0x7194,0x7196,0x71a5,0x71a7,0x71aa,0x71ac,0x71ad,0x71af,0x71b5,0x71b7,0x71ba,0x71bc,0x71cb,0x71ce,0x71d2,0x71d4,0x71d6,0x71d8,0x71dd,0x71df,0x71e2,0x71e4,0x71e8,0x71eb,0x71ee,0x71f0,0x71f2,0x71f4,0x71f6,0x71f8,0x71f9,0x71fb,0x7203,0x7205,0x7207,0x7209,0x720a,0x720c,0x7210,0x7213,0x7217,0x7219,0x721b,0x721d,0x721f,0x7222,0x722e,0x7230,0x7230,0x7235,0x7236,0x7238,0x723b,0x723d,0x7242,0x7244,0x7244,0x7246,0x724c,0x724f,0x7250,0x7252,0x7253,0x7255,0x7263,0x7266,0x7267,0x7269,0x726a,0x726c,0x726c,0x726e,0x7270,0x7272,0x7274,0x7276,0x7279,0x727b,0x7282,0x7284,0x7289,0x728b,0x7298,0x729a,0x729b,0x729d,0x729f,0x72a1,0x72aa,0x72ac,0x72b0,0x72b2,0x72b2,0x72b4,0x72b5,0x72ba,0x72ba,0x72bd,0x72bd,0x72bf,0x72c6,0x72c9,0x72ce,0x72d0,0x72d2,0x72d4,0x72d4,0x72d6,0x72da,0x72dc,0x72dc,0x72df,0x72e4,0x72e6,0x72e6,0x72e8,0x72eb,0x72f3,0x72f4,0x72f6,0x7302,0x7304,0x7304,0x7307,0x7308,0x730a,0x730c,0x730f,0x7313,0x7316,0x7319,0x731b,0x731e,0x7322,0x7323,0x7325,0x732e,0x7330,0x733c,0x733e,0x7345,0x7348,0x734a,0x734c,0x7352,0x7357,0x735b,0x735d,0x7362,0x7365,0x736c,0x736e,0x7378,0x737a,0x738c,0x738e,0x738f,0x7392,0x7398,0x739c,0x73a2,0x73a4,0x73ad,0x73b2,0x73bc,0x73be,0x73c0,0x73c2,0x73d0,0x73d2,0x73de,0x73e0,0x73eb,0x73ed,0x73ef,0x73f3,0x740d,0x7411,0x7412,0x7414,0x7417,0x7419,0x7426,0x7428,0x743a,0x743c,0x743c,0x743f,0x7457,0x7459,0x7465,0x7467,0x7476,0x7479,0x747a,0x747c,0x7483,0x7485,0x748d,0x7490,0x7490,0x7492,0x7492,0x7494,0x7495,0x7497,0x74a1,0x74a3,0x74ab,0x74ad,0x74ad,0x74af,0x74b2,0x74b4,0x74bb,0x74bd,0x74c3,0x74c5,0x74c6,0x74c8,0x74c8,0x74ca,0x74cc,0x74cf,0x74d0,0x74d3,0x74e9,0x74ec,0x74ec,0x74ee,0x74ee,0x74f0,0x74f2,0x74f4,0x74f8,0x74fb,0x74fb,0x74fd,0x7500,0x7502,0x7505,0x7507,0x7508,0x750b,0x751a,0x751c,0x751f,0x7521,0x7522,0x7525,0x7526,0x7528,0x7535,0x7537,0x753b,0x753d,0x7540,0x7542,0x7542,0x7546,0x7548,0x754a,0x754f,0x7551,0x7551,0x7553,0x7555,0x7559,0x755d,0x755f,0x7560,0x7562,0x7567,0x756a,0x7570,0x7572,0x7572,0x7576,0x757a,0x757d,0x7580,0x7583,0x7584,0x7586,0x7587,0x758a,0x7592,0x7594,0x7595,0x7598,0x759a,0x759d,0x759e,0x75a2,0x75a5,0x75a7,0x75a7,0x75aa,0x75ab,0x75b0,0x75b6,0x75b8,0x75c5,0x75c7,0x75c8,0x75ca,0x75d2,0x75d4,0x75d5,0x75d7,0x75e4,0x75e6,0x75e7,0x75ed,0x75ed,0x75ef,0x7603,0x7607,0x760d,0x760f,0x7611,0x7613,0x7616,0x7619,0x7629,0x762c,0x762d,0x762f,0x7635,0x7638,0x7638,0x763a,0x763d,0x7640,0x7640,0x7642,0x7643,0x7646,0x7649,0x764c,0x7654,0x7656,0x765a,0x765c,0x765c,0x765f,0x7662,0x7664,0x7667,0x7669,0x766a,0x766c,0x7676,0x7678,0x767f,0x7681,0x7682,0x7684,0x7684,0x7686,0x768b,0x768e,0x7690,0x7692,0x7693,0x7695,0x7696,0x7699,0x769e,0x76a1,0x76a1,0x76a4,0x76a6,0x76aa,0x76ab,0x76ad,0x76b0,0x76b4,0x76b5,0x76b7,0x76b8,0x76ba,0x76bb,0x76bd,0x76bf,0x76c2,0x76c6,0x76c8,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76df,0x76e1,0x76e1,0x76e3,0x76e7,0x76e9,0x76ea,0x76ec,0x76f5,0x76f7,0x76fc,0x76fe,0x76fe,0x7701,0x7701,0x7703,0x7705,0x7707,0x770c,0x770e,0x7713,0x7715,0x7715,0x7719,0x771b,0x771d,0x7720,0x7722,0x7729,0x772b,0x772b,0x772d,0x772d,0x772f,0x772f,0x7731,0x773e,0x7740,0x7740,0x7743,0x7747,0x774a,0x774f,0x7752,0x7752,0x7754,0x7756,0x7758,0x775c,0x775e,0x7763,0x7765,0x776f,0x7772,0x7772,0x7777,0x7785,0x7787,0x7789,0x778b,0x778f,0x7791,0x7791,0x7793,0x7793,0x7795,0x7795,0x7797,0x77a3,0x77a5,0x77a5,0x77a7,0x77a8,0x77aa,0x77ad,0x77af,0x77b7,0x77b9,0x77bf,0x77c2,0x77c5,0x77c7,0x77c7,0x77c9,0x77d0,0x77d3,0x77d5,0x77d7,0x77de,0x77e0,0x77e0,0x77e2,0x77e3,0x77e5,0x77e9,0x77ec,0x77f4,0x77f7,0x77fe,0x7802,0x7803,0x7805,0x7806,0x7808,0x7809,0x780c,0x7814,0x7818,0x7818,0x781c,0x7823,0x7825,0x7835,0x7837,0x7839,0x783c,0x783d,0x7842,0x7845,0x7847,0x784e,0x7850,0x7854,0x785c,0x785e,0x7860,0x7860,0x7862,0x7862,0x7864,0x7866,0x7868,0x7871,0x7879,0x787c,0x787e,0x7881,0x7883,0x7889,0x788c,0x788f,0x7891,0x7891,0x7893,0x789a,0x789e,0x78a5,0x78a7,0x78ad,0x78af,0x78b4,0x78b6,0x78b6,0x78b8,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c3,0x78c5,0x78c7,0x78d5,0x78d7,0x78d8,0x78da,0x78db,0x78dd,0x78e5,0x78e7,0x78ea,0x78ec,0x78f5,0x78f7,0x78f7,0x78f9,0x78ff,0x7901,0x7902,0x7904,0x7906,0x7909,0x7909,0x790c,0x790c,0x790e,0x790e,0x7910,0x7914,0x7917,0x7917,0x7919,0x7919,0x791b,0x791e,0x7921,0x7921,0x7923,0x792f,0x7931,0x7936,0x7938,0x7942,0x7944,0x794c,0x794f,0x7965,0x7967,0x796b,0x796d,0x796d,0x7970,0x7974,0x7979,0x797a,0x797c,0x7983,0x7986,0x7988,0x798a,0x798b,0x798d,0x799d,0x799f,0x79a2,0x79a4,0x79ae,0x79b0,0x79b4,0x79b6,0x79bb,0x79bd,0x79c1,0x79c4,0x79c6,0x79c8,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79dc,0x79e0,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ee,0x79f1,0x79f1,0x79f4,0x79f4,0x79f6,0x79f8,0x79fa,0x79fb,0x7a00,0x7a00,0x7a02,0x7a06,0x7a08,0x7a08,0x7a0a,0x7a0e,0x7a10,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a26,0x7a26,0x7a28,0x7a28,0x7a2a,0x7a32,0x7a37,0x7a37,0x7a39,0x7a40,0x7a43,0x7a4e,0x7a54,0x7a54,0x7a56,0x7a58,0x7a5a,0x7a5c,0x7a5f,0x7a62,0x7a65,0x7a65,0x7a67,0x7a69,0x7a6b,0x7a6e,0x7a70,0x7a72,0x7a74,0x7a76,0x7a78,0x7a7b,0x7a7d,0x7a81,0x7a83,0x7a8c,0x7a8f,0x7a99,0x7a9e,0x7aa0,0x7aa2,0x7aa3,0x7aa8,0x7aac,0x7aae,0x7ab8,0x7aba,0x7abc,0x7abe,0x7ac5,0x7ac7,0x7acb,0x7acf,0x7acf,0x7ad1,0x7ad1,0x7ad3,0x7ad3,0x7ad8,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae7,0x7ae9,0x7aeb,0x7aed,0x7aef,0x7af6,0x7af7,0x7af9,0x7b01,0x7b04,0x7b06,0x7b08,0x7b0c,0x7b0e,0x7b14,0x7b18,0x7b1b,0x7b1d,0x7b20,0x7b22,0x7b35,0x7b38,0x7b39,0x7b3b,0x7b3b,0x7b40,0x7b40,0x7b42,0x7b52,0x7b54,0x7b56,0x7b58,0x7b58,0x7b60,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b78,0x7b7b,0x7b7b,0x7b82,0x7b82,0x7b84,0x7b85,0x7b87,0x7b88,0x7b8a,0x7b92,0x7b94,0x7b9d,0x7ba0,0x7ba4,0x7bac,0x7baf,0x7bb1,0x7bb2,0x7bb4,0x7bb5,0x7bb7,0x7bb9,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc7,0x7bc9,0x7bcc,0x7bce,0x7bd0,0x7bd4,0x7bd5,0x7bd8,0x7bec,0x7bf0,0x7bf4,0x7bf7,0x7c03,0x7c05,0x7c07,0x7c09,0x7c12,0x7c15,0x7c15,0x7c19,0x7c19,0x7c1b,0x7c23,0x7c25,0x7c2d,0x7c30,0x7c30,0x7c33,0x7c33,0x7c35,0x7c35,0x7c37,0x7c39,0x7c3b,0x7c40,0x7c42,0x7c45,0x7c47,0x7c4a,0x7c4c,0x7c4d,0x7c50,0x7c51,0x7c53,0x7c54,0x7c56,0x7c57,0x7c59,0x7c5d,0x7c5f,0x7c60,0x7c63,0x7c67,0x7c69,0x7c70,0x7c72,0x7c75,0x7c78,0x7c81,0x7c83,0x7c86,0x7c88,0x7c8a,0x7c8c,0x7c8e,0x7c91,0x7c92,0x7c94,0x7c98,0x7c9c,0x7c9c,0x7c9e,0x7c9f,0x7ca1,0x7ca3,0x7ca5,0x7ca8,0x7cac,0x7cac,0x7cae,0x7caf,0x7cb1,0x7cb5,0x7cb8,0x7cbf,0x7cc2,0x7cc3,0x7cc5,0x7cc5,0x7cc7,0x7cce,0x7cd0,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce8,0x7cea,0x7cea,0x7cec,0x7cf9,0x7cfb,0x7cfe,0x7d00,0x7d22,0x7d25,0x7d25,0x7d28,0x7d29,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d36,0x7d38,0x7d47,0x7d4a,0x7d4a,0x7d4d,0x7d56,0x7d58,0x7d58,0x7d5a,0x7d5f,0x7d61,0x7d63,0x7d66,0x7d6b,0x7d6d,0x7d73,0x7d79,0x7d7d,0x7d7f,0x7d81,0x7d83,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8f,0x7d91,0x7d97,0x7d9c,0x7da4,0x7da6,0x7db5,0x7db7,0x7dc2,0x7dc4,0x7dc7,0x7dc9,0x7dd0,0x7dd2,0x7dd4,0x7dd7,0x7de1,0x7de3,0x7dea,0x7dec,0x7dec,0x7dee,0x7df7,0x7df9,0x7dfe,0x7e03,0x7e03,0x7e07,0x7e17,0x7e1a,0x7e25,0x7e27,0x7e27,0x7e29,0x7e2b,0x7e2d,0x7e49,0x7e4c,0x7e4c,0x7e50,0x7e5c,0x7e5e,0x7e63,0x7e65,0x7e65,0x7e67,0x7e70,0x7e72,0x7e82,0x7e86,0x7e88,0x7e8a,0x7e8f,0x7e91,0x7e9c,0x7e9f,0x7e9f,0x7ea4,0x7ea4,0x7eac,0x7eac,0x7eba,0x7eba,0x7ec7,0x7ec7,0x7ecf,0x7ecf,0x7edf,0x7edf,0x7f06,0x7f06,0x7f36,0x7f3a,0x7f3d,0x7f41,0x7f43,0x7f45,0x7f47,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f61,0x7f63,0x7f63,0x7f65,0x7f6e,0x7f70,0x7f73,0x7f75,0x7f7f,0x7f83,0x7f83,0x7f85,0x7f8f,0x7f91,0x7f97,0x7f9a,0x7f9e,0x7fa0,0x7fa9,0x7fac,0x7fc3,0x7fc5,0x7fc5,0x7fc7,0x7fc7,0x7fc9,0x7fd2,0x7fd4,0x7fd5,0x7fd7,0x7fd7,0x7fdb,0x7fe3,0x7fe5,0x7ff5,0x7ff7,0x8008,0x800b,0x8012,0x8014,0x8019,0x801b,0x8021,0x8024,0x8026,0x8028,0x802a,0x802c,0x802c,0x802e,0x8031,0x8033,0x8037,0x8039,0x8039,0x803b,0x803f,0x8043,0x8043,0x8046,0x8048,0x804a,0x804a,0x804f,0x8052,0x8054,0x8054,0x8056,0x8056,0x8058,0x8058,0x805a,0x805e,0x8061,0x8064,0x8066,0x8067,0x806c,0x806c,0x806f,0x8073,0x8075,0x8079,0x807d,0x8080,0x8082,0x8082,0x8084,0x8087,0x8089,0x808c,0x808f,0x8090,0x8092,0x8093,0x8095,0x8096,0x8098,0x809d,0x809f,0x809f,0x80a1,0x80a3,0x80a5,0x80a5,0x80a7,0x80a7,0x80a9,0x80ab,0x80ad,0x80af,0x80b1,0x80b2,0x80b4,0x80b8,0x80ba,0x80ba,0x80bc,0x80bd,0x80c2,0x80ca,0x80cc,0x80d1,0x80d4,0x80de,0x80e0,0x80e1,0x80e3,0x80e6,0x80e9,0x80e9,0x80ec,0x80ed,0x80ef,0x80f6,0x80f8,0x80fe,0x8100,0x8103,0x8105,0x810a,0x810c,0x810c,0x810e,0x810e,0x8112,0x8112,0x8114,0x811b,0x811d,0x811f,0x8121,0x8125,0x8127,0x8127,0x8129,0x812d,0x812f,0x8132,0x8134,0x8134,0x8137,0x8137,0x8139,0x813a,0x813d,0x813e,0x8142,0x8144,0x8146,0x8148,0x814a,0x8156,0x8159,0x815c,0x815e,0x815e,0x8160,0x8162,0x8164,0x8167,0x8169,0x8169,0x816b,0x8174,0x8176,0x817a,0x817c,0x817d,0x817f,0x8180,0x8182,0x8184,0x8186,0x818d,0x818f,0x818f,0x8193,0x8193,0x8195,0x8195,0x8197,0x81a0,0x81a2,0x81a3,0x81a5,0x81ac,0x81ae,0x81ae,0x81b0,0x81b7,0x81b9,0x81ca,0x81cc,0x81cd,0x81cf,0x81d2,0x81d5,0x81d5,0x81d7,0x81db,0x81dd,0x81ea,0x81ec,0x81ef,0x81f2,0x81f4,0x81f6,0x81fc,0x81fe,0x8202,0x8204,0x8205,0x8207,0x820d,0x8210,0x8212,0x8214,0x8216,0x8218,0x8218,0x821a,0x8222,0x8225,0x8226,0x8228,0x822d,0x822f,0x822f,0x8232,0x823a,0x823c,0x8240,0x8242,0x8242,0x8244,0x8245,0x8247,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x825c,0x825e,0x825f,0x8261,0x8266,0x8268,0x8269,0x826b,0x826f,0x8271,0x8272,0x8274,0x8280,0x8283,0x8285,0x8287,0x8287,0x828a,0x828b,0x828d,0x8294,0x8298,0x829b,0x829d,0x82b1,0x82b3,0x82c0,0x82c2,0x82c4,0x82ca,0x82ca,0x82cf,0x82d9,0x82db,0x82dc,0x82de,0x82e8,0x82ea,0x8309,0x830b,0x830d,0x8316,0x831e,0x8320,0x8320,0x8322,0x8322,0x8324,0x832d,0x832f,0x832f,0x8331,0x833d,0x833f,0x8345,0x8347,0x8354,0x8356,0x8357,0x8362,0x8363,0x8366,0x8366,0x836f,0x836f,0x8373,0x8378,0x837a,0x837f,0x8381,0x8381,0x8383,0x8383,0x8385,0x839e,0x83a0,0x83a0,0x83a2,0x83ac,0x83ae,0x83b0,0x83b9,0x83b9,0x83bd,0x83cf,0x83d1,0x83d1,0x83d3,0x83d9,0x83db,0x83e5,0x83e7,0x83f6,0x83f8,0x83ff,0x8401,0x8401,0x8403,0x8407,0x8409,0x8414,0x8416,0x8416,0x8418,0x8418,0x841b,0x841c,0x8420,0x8421,0x8423,0x8424,0x8426,0x8426,0x8429,0x8429,0x842b,0x8440,0x8442,0x844e,0x8450,0x8469,0x846b,0x847a,0x847d,0x8480,0x8482,0x8482,0x8484,0x8484,0x8486,0x8486,0x8488,0x8488,0x848d,0x8494,0x8496,0x84a4,0x84a7,0x84b2,0x84b4,0x84b4,0x84b6,0x84b6,0x84b8,0x84c2,0x84c4,0x84c7,0x84c9,0x84d4,0x84d6,0x84d7,0x84da,0x84db,0x84de,0x84de,0x84e1,0x84e2,0x84e4,0x84e5,0x84e7,0x84ec,0x84ee,0x84f4,0x84f6,0x8500,0x8502,0x851a,0x851c,0x8521,0x8523,0x8531,0x8533,0x8534,0x8538,0x8538,0x853b,0x853b,0x853d,0x853e,0x8540,0x854e,0x8551,0x855b,0x855d,0x8571,0x8573,0x8573,0x8575,0x857c,0x857e,0x857e,0x8580,0x8591,0x8593,0x85a4,0x85a6,0x85aa,0x85af,0x85b1,0x85b3,0x85ba,0x85bd,0x85c9,0x85cb,0x85cb,0x85cd,0x85d2,0x85d5,0x85da,0x85dc,0x85e6,0x85e8,0x85f2,0x85f4,0x85f4,0x85f6,0x8602,0x8604,0x8607,0x8609,0x860d,0x860f,0x8611,0x8613,0x8614,0x8616,0x861c,0x861e,0x862a,0x862c,0x862f,0x8631,0x8636,0x8638,0x863c,0x863e,0x8640,0x8642,0x8643,0x8645,0x8648,0x864b,0x864e,0x8650,0x8650,0x8652,0x8656,0x8659,0x8659,0x865b,0x865c,0x865e,0x865f,0x8661,0x8665,0x8667,0x8674,0x8677,0x8677,0x8679,0x867c,0x867e,0x867e,0x8685,0x8687,0x868a,0x868e,0x8690,0x869a,0x869c,0x869e,0x86a0,0x86a5,0x86a7,0x86aa,0x86ad,0x86ad,0x86af,0x86c9,0x86cb,0x86cc,0x86d0,0x86d1,0x86d3,0x86d4,0x86d6,0x86df,0x86e2,0x86e4,0x86e6,0x86e6,0x86e8,0x86ed,0x86ef,0x86ef,0x86f5,0x86fb,0x86fe,0x86fe,0x8700,0x870e,0x8711,0x8713,0x8715,0x8715,0x8718,0x871c,0x871e,0x871e,0x8720,0x872a,0x872c,0x872e,0x8730,0x8735,0x8737,0x8738,0x873a,0x873c,0x873e,0x8743,0x8746,0x8746,0x874c,0x8771,0x8773,0x877b,0x877d,0x877d,0x8781,0x8789,0x878b,0x878d,0x878f,0x8794,0x8796,0x8798,0x879a,0x879f,0x87a2,0x87a5,0x87a9,0x87c6,0x87c8,0x87cc,0x87ce,0x87ce,0x87d1,0x87d4,0x87d6,0x87e8,0x87ea,0x87ef,0x87f2,0x87f7,0x87f9,0x87fc,0x87fe,0x8806,0x8808,0x880d,0x880f,0x8811,0x8813,0x8819,0x881b,0x881d,0x881f,0x8833,0x8835,0x8839,0x883b,0x8846,0x8848,0x8848,0x884a,0x884f,0x8852,0x8853,0x8855,0x8857,0x8859,0x885b,0x885d,0x885e,0x8860,0x8865,0x8867,0x886b,0x886d,0x8872,0x8874,0x8877,0x8879,0x8879,0x887c,0x8884,0x8887,0x8889,0x888b,0x8893,0x8895,0x88a2,0x88a4,0x88a4,0x88a7,0x88a8,0x88aa,0x88ac,0x88ae,0x88ae,0x88b1,0x88b2,0x88b4,0x88ba,0x88bc,0x88c2,0x88c5,0x88c5,0x88c7,0x88c7,0x88c9,0x88d0,0x88d2,0x88d2,0x88d4,0x88df,0x88e1,0x88e1,0x88e6,0x88e8,0x88eb,0x88ec,0x88ee,0x8902,0x8905,0x8907,0x8909,0x890c,0x890e,0x890e,0x8910,0x891a,0x891e,0x891f,0x8921,0x8927,0x8929,0x8933,0x8935,0x8938,0x893b,0x893e,0x8941,0x8944,0x8946,0x8947,0x8949,0x8949,0x894b,0x894d,0x894f,0x8954,0x8956,0x8966,0x8969,0x896f,0x8971,0x8974,0x8976,0x8977,0x8979,0x897c,0x897e,0x8983,0x8985,0x898b,0x898f,0x898f,0x8991,0x8991,0x8993,0x8998,0x899b,0x899f,0x89a1,0x89a7,0x89a9,0x89aa,0x89ac,0x89af,0x89b2,0x89b2,0x89b6,0x89b7,0x89b9,0x89ba,0x89bc,0x89c1,0x89c6,0x89c6,0x89d2,0x89d6,0x89d9,0x89dd,0x89df,0x89e9,0x89eb,0x89ed,0x89f0,0x89f4,0x89f6,0x89f8,0x89fa,0x89fc,0x89fe,0x8a00,0x8a02,0x8a04,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a13,0x8a15,0x8a18,0x8a1b,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a27,0x8a27,0x8a29,0x8a2d,0x8a30,0x8a31,0x8a34,0x8a34,0x8a36,0x8a36,0x8a38,0x8a41,0x8a44,0x8a46,0x8a48,0x8a4a,0x8a4c,0x8a52,0x8a54,0x8a59,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a7f,0x8a81,0x8a87,0x8a8b,0x8a8d,0x8a8f,0x8a96,0x8a98,0x8a9a,0x8a9c,0x8a9c,0x8a9e,0x8a9e,0x8aa0,0x8aa1,0x8aa3,0x8aac,0x8aaf,0x8ab0,0x8ab2,0x8ab2,0x8ab4,0x8ab4,0x8ab6,0x8ab6,0x8ab8,0x8ac0,0x8ac2,0x8ac9,0x8acb,0x8acd,0x8acf,0x8acf,0x8ad1,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae8,0x8aea,0x8aeb,0x8aed,0x8afc,0x8afe,0x8b02,0x8b04,0x8b08,0x8b0a,0x8b20,0x8b22,0x8b28,0x8b2a,0x8b31,0x8b33,0x8b33,0x8b35,0x8b37,0x8b39,0x8b43,0x8b45,0x8b5a,0x8b5c,0x8b60,0x8b62,0x8b63,0x8b65,0x8b6d,0x8b6f,0x8b70,0x8b74,0x8b74,0x8b77,0x8b7b,0x8b7d,0x8b86,0x8b88,0x8b88,0x8b8a,0x8b8c,0x8b8e,0x8b90,0x8b92,0x8b96,0x8b98,0x8b9c,0x8b9e,0x8ba0,0x8bbe,0x8bbe,0x8be2,0x8be2,0x8c37,0x8c37,0x8c39,0x8c39,0x8c3b,0x8c3f,0x8c41,0x8c43,0x8c45,0x8c51,0x8c54,0x8c57,0x8c5a,0x8c5a,0x8c5c,0x8c5d,0x8c5f,0x8c5f,0x8c61,0x8c62,0x8c64,0x8c66,0x8c68,0x8c6d,0x8c6f,0x8c73,0x8c75,0x8c7b,0x8c7d,0x8c7d,0x8c80,0x8c82,0x8c84,0x8c86,0x8c89,0x8c8a,0x8c8c,0x8c8d,0x8c8f,0x8c95,0x8c97,0x8ca5,0x8ca7,0x8cad,0x8caf,0x8cb0,0x8cb2,0x8cc5,0x8cc7,0x8cc8,0x8cca,0x8cca,0x8ccc,0x8ccd,0x8ccf,0x8ccf,0x8cd1,0x8cd7,0x8cd9,0x8cee,0x8cf0,0x8cf5,0x8cf7,0x8cfe,0x8d00,0x8d00,0x8d02,0x8d0d,0x8d0f,0x8d19,0x8d1b,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d69,0x8d6b,0x8d70,0x8d72,0x8d74,0x8d76,0x8d7b,0x8d7d,0x8d7d,0x8d80,0x8d82,0x8d84,0x8d85,0x8d89,0x8d8a,0x8d8c,0x8d96,0x8d99,0x8d99,0x8d9b,0x8d9c,0x8d9f,0x8da1,0x8da3,0x8da3,0x8da5,0x8daf,0x8db2,0x8db7,0x8db9,0x8dba,0x8dbc,0x8dbc,0x8dbe,0x8dc3,0x8dc5,0x8dc8,0x8dcb,0x8dd1,0x8dd3,0x8ddd,0x8ddf,0x8de4,0x8de6,0x8dec,0x8dee,0x8df4,0x8dfa,0x8dfa,0x8dfc,0x8e07,0x8e09,0x8e0a,0x8e0d,0x8e2b,0x8e2d,0x8e2e,0x8e30,0x8e31,0x8e33,0x8e36,0x8e38,0x8e3a,0x8e3c,0x8e42,0x8e44,0x8e50,0x8e53,0x8e57,0x8e59,0x8e6a,0x8e6c,0x8e6d,0x8e6f,0x8e6f,0x8e71,0x8e78,0x8e7a,0x8e7c,0x8e7e,0x8e7e,0x8e80,0x8e82,0x8e84,0x8e8e,0x8e90,0x8e98,0x8e9a,0x8e9a,0x8e9d,0x8ea1,0x8ea3,0x8ead,0x8eb0,0x8eb0,0x8eb2,0x8eb2,0x8eb6,0x8eb6,0x8eb9,0x8eba,0x8ebc,0x8ebd,0x8ec0,0x8ec0,0x8ec2,0x8ec3,0x8ec9,0x8ecf,0x8ed1,0x8ed4,0x8ed7,0x8ed8,0x8eda,0x8ee2,0x8ee4,0x8ee9,0x8eeb,0x8eef,0x8ef1,0x8ef2,0x8ef4,0x8efc,0x8efe,0x8f03,0x8f05,0x8f0b,0x8f0d,0x8f0e,0x8f10,0x8f20,0x8f23,0x8f26,0x8f29,0x8f2a,0x8f2c,0x8f30,0x8f32,0x8f39,0x8f3b,0x8f3c,0x8f3e,0x8f4b,0x8f4d,0x8f64,0x8f66,0x8f67,0x8f6e,0x8f6e,0x8f93,0x8f93,0x8f9b,0x8f9c,0x8f9f,0x8fa0,0x8fa3,0x8fa3,0x8fa5,0x8fa8,0x8fad,0x8fbc,0x8fbe,0x8fbf,0x8fc1,0x8fc2,0x8fc4,0x8fc6,0x8fc9,0x8fd7,0x8fda,0x8fda,0x8fe0,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8feb,0x8fed,0x8fee,0x8ff0,0x8ff0,0x8ff4,0x9006,0x9008,0x9008,0x900b,0x900d,0x900f,0x9012,0x9014,0x9017,0x9019,0x9024,0x902d,0x902f,0x9031,0x9038,0x903c,0x903f,0x9041,0x9042,0x9044,0x9044,0x9046,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9064,0x9067,0x9069,0x906b,0x9070,0x9072,0x9088,0x908a,0x908b,0x908d,0x908d,0x908f,0x9091,0x9094,0x9095,0x9097,0x9099,0x909b,0x909b,0x909e,0x90a3,0x90a5,0x90a8,0x90aa,0x90aa,0x90ae,0x90b6,0x90b8,0x90b8,0x90bb,0x90bb,0x90bd,0x90bf,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90c8,0x90ca,0x90cb,0x90ce,0x90ce,0x90d4,0x90dd,0x90df,0x90e5,0x90e8,0x90ed,0x90ef,0x90f5,0x90f9,0x9109,0x910b,0x910b,0x910d,0x9112,0x9114,0x9114,0x9116,0x9124,0x9126,0x9136,0x9138,0x913b,0x913e,0x9141,0x9143,0x9153,0x9155,0x915a,0x915c,0x915c,0x915e,0x9165,0x9167,0x916a,0x916c,0x916c,0x916e,0x9170,0x9172,0x917a,0x917c,0x917c,0x9180,0x9187,0x9189,0x9193,0x9196,0x9196,0x9199,0x91a3,0x91a5,0x91a5,0x91a7,0x91b7,0x91b9,0x91be,0x91c0,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d3,0x91da,0x91dc,0x91dd,0x91df,0x91df,0x91e2,0x91ee,0x91f1,0x91f1,0x91f3,0x91fa,0x91fd,0x920a,0x920c,0x921a,0x921c,0x921c,0x921e,0x921e,0x9221,0x9221,0x9223,0x9228,0x922a,0x922b,0x922d,0x922e,0x9230,0x923a,0x923c,0x9241,0x9244,0x9246,0x9248,0x9258,0x925a,0x925b,0x925d,0x9267,0x926b,0x9270,0x9272,0x9272,0x9276,0x928f,0x9291,0x9291,0x9293,0x929d,0x92a0,0x92ac,0x92ae,0x92ae,0x92b1,0x92b7,0x92b9,0x92bc,0x92be,0x92d5,0x92d7,0x92d9,0x92db,0x92db,0x92dd,0x92e1,0x92e3,0x92f4,0x92f6,0x9304,0x9306,0x9309,0x930b,0x9310,0x9312,0x9316,0x9318,0x931b,0x931d,0x9331,0x9333,0x9336,0x9338,0x9339,0x933c,0x933c,0x9340,0x9352,0x9354,0x935c,0x935e,0x936e,0x9370,0x9371,0x9373,0x937e,0x9380,0x938a,0x938c,0x9392,0x9394,0x93aa,0x93ac,0x93b5,0x93b7,0x93b8,0x93bb,0x93bb,0x93bd,0x93bd,0x93bf,0x93c0,0x93c2,0x93c4,0x93c6,0x93c8,0x93ca,0x93e4,0x93e6,0x93e8,0x93ec,0x93ec,0x93ee,0x93ee,0x93f0,0x93f1,0x93f3,0x9401,0x9403,0x9404,0x9406,0x9419,0x941b,0x941b,0x941d,0x941d,0x9420,0x9420,0x9424,0x9433,0x9435,0x9440,0x9442,0x944d,0x944f,0x9452,0x9454,0x9455,0x9457,0x9458,0x945b,0x945b,0x945d,0x945e,0x9460,0x9460,0x9462,0x9465,0x9467,0x9479,0x947b,0x9483,0x9485,0x9485,0x949f,0x949f,0x94a2,0x94a2,0x94c1,0x94c1,0x94c3,0x94c3,0x94dc,0x94dc,0x94f6,0x94f6,0x952d,0x952d,0x9547,0x9547,0x9577,0x9578,0x957a,0x957d,0x957f,0x9580,0x9582,0x9583,0x9585,0x9586,0x9588,0x9589,0x958b,0x9594,0x9596,0x9599,0x959b,0x959c,0x959e,0x95ae,0x95b0,0x95b2,0x95b5,0x95b7,0x95b9,0x95c0,0x95c3,0x95c3,0x95c5,0x95cd,0x95d0,0x95d6,0x95da,0x95dc,0x95de,0x95e5,0x95e8,0x95e8,0x95f4,0x95f4,0x961c,0x961e,0x9620,0x9624,0x9628,0x9628,0x962a,0x962a,0x962c,0x9633,0x9638,0x963d,0x963f,0x9645,0x964a,0x9651,0x9653,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x9669,0x966d,0x966f,0x9678,0x967b,0x967e,0x9680,0x9681,0x9683,0x968b,0x968d,0x968f,0x9691,0x9699,0x969b,0x969c,0x969e,0x969e,0x96a1,0x96a5,0x96a7,0x96aa,0x96ac,0x96ac,0x96ae,0x96ae,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b6,0x96b8,0x96b9,0x96bb,0x96bd,0x96bf,0x96ce,0x96d2,0x96df,0x96e1,0x96e3,0x96e5,0x96e5,0x96e8,0x96ea,0x96ef,0x96f2,0x96f4,0x96fb,0x96fd,0x96fd,0x96ff,0x9700,0x9702,0x9709,0x970b,0x970b,0x970d,0x9713,0x9716,0x9716,0x9718,0x9719,0x971b,0x972c,0x972e,0x9732,0x9734,0x9736,0x9738,0x973a,0x973d,0x9744,0x9746,0x974b,0x9751,0x9752,0x9755,0x9758,0x975a,0x9762,0x9766,0x9766,0x9768,0x976a,0x976c,0x976e,0x9770,0x9774,0x9776,0x9778,0x977a,0x9785,0x9787,0x978b,0x978d,0x978f,0x9794,0x9794,0x9797,0x97a6,0x97a8,0x97a8,0x97aa,0x97ae,0x97b1,0x97b4,0x97b6,0x97bb,0x97bd,0x97c9,0x97cb,0x97d0,0x97d2,0x97d9,0x97dc,0x97e1,0x97e3,0x97e3,0x97e5,0x97e6,0x97ed,0x97ee,0x97f0,0x97f3,0x97f5,0x97f6,0x97f8,0x97fb,0x97fd,0x9808,0x980a,0x980a,0x980c,0x9818,0x981b,0x9821,0x9823,0x9824,0x9826,0x9829,0x982b,0x982b,0x982d,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983b,0x9841,0x9841,0x9843,0x9853,0x9856,0x9859,0x985b,0x9860,0x9862,0x986c,0x986f,0x9875,0x98a8,0x98a9,0x98ac,0x98af,0x98b1,0x98b4,0x98b6,0x98c4,0x98c6,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98ed,0x98ef,0x98ef,0x98f1,0x98f2,0x98f4,0x98f6,0x98f9,0x98fa,0x98fc,0x98fe,0x9900,0x9900,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x990e,0x990e,0x9910,0x991c,0x991e,0x991f,0x9921,0x9921,0x9924,0x9925,0x9927,0x9933,0x9935,0x9935,0x9937,0x9943,0x9945,0x9945,0x9947,0x994e,0x9950,0x9959,0x995b,0x995f,0x9961,0x9963,0x9996,0x9999,0x999b,0x999e,0x99a1,0x99a1,0x99a3,0x99a8,0x99aa,0x99b5,0x99b8,0x99bd,0x99c1,0x99c5,0x99c7,0x99c7,0x99c9,0x99c9,0x99cb,0x99dd,0x99df,0x99e7,0x99e9,0x99ea,0x99ec,0x99ee,0x99f0,0x99f1,0x99f4,0x99ff,0x9a01,0x9a07,0x9a09,0x9a11,0x9a14,0x9a16,0x9a19,0x9a27,0x9a29,0x9a32,0x9a34,0x9a46,0x9a48,0x9a4a,0x9a4c,0x9a50,0x9a52,0x9a5c,0x9a5e,0x9a60,0x9a62,0x9a6c,0x9a8f,0x9a8f,0x9aa8,0x9aa8,0x9aab,0x9aab,0x9aad,0x9aad,0x9aaf,0x9ab4,0x9ab6,0x9ac2,0x9ac6,0x9ac7,0x9aca,0x9aca,0x9acd,0x9acd,0x9acf,0x9ad8,0x9adc,0x9adc,0x9adf,0x9ae3,0x9ae6,0x9ae7,0x9aeb,0x9aef,0x9af1,0x9af4,0x9af6,0x9af7,0x9af9,0x9aff,0x9b01,0x9b06,0x9b08,0x9b12,0x9b14,0x9b1a,0x9b1e,0x9b20,0x9b22,0x9b25,0x9b27,0x9b2b,0x9b2d,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3c,0x9b3e,0x9b46,0x9b48,0x9b48,0x9b4a,0x9b52,0x9b54,0x9b56,0x9b58,0x9b5b,0x9b5f,0x9b61,0x9b64,0x9b64,0x9b66,0x9b69,0x9b6c,0x9b6c,0x9b6f,0x9b71,0x9b74,0x9b77,0x9b7a,0x9b83,0x9b85,0x9b88,0x9b8b,0x9b8b,0x9b8d,0x9b93,0x9b95,0x9b95,0x9b97,0x9b97,0x9b9a,0x9b9b,0x9b9d,0x9ba2,0x9ba4,0x9ba6,0x9ba8,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bb0,0x9bb5,0x9bb6,0x9bb8,0x9bb9,0x9bbd,0x9bbd,0x9bbf,0x9bc1,0x9bc3,0x9bc4,0x9bc6,0x9bca,0x9bcf,0x9bcf,0x9bd3,0x9bd7,0x9bd9,0x9bde,0x9be0,0x9be2,0x9be4,0x9bed,0x9bf0,0x9bf1,0x9bf4,0x9bf4,0x9bf7,0x9bf8,0x9bfd,0x9bfd,0x9bff,0x9bff,0x9c02,0x9c02,0x9c05,0x9c0e,0x9c10,0x9c10,0x9c12,0x9c15,0x9c17,0x9c17,0x9c1b,0x9c1d,0x9c1f,0x9c21,0x9c23,0x9c26,0x9c28,0x9c29,0x9c2b,0x9c2d,0x9c2f,0x9c2f,0x9c31,0x9c37,0x9c39,0x9c41,0x9c44,0x9c50,0x9c52,0x9c59,0x9c5d,0x9c60,0x9c62,0x9c63,0x9c66,0x9c68,0x9c6d,0x9c6e,0x9c71,0x9c75,0x9c77,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9cea,0x9ced,0x9ced,0x9cf1,0x9cf7,0x9cf9,0x9cfd,0x9cff,0x9d00,0x9d02,0x9d09,0x9d0c,0x9d0c,0x9d10,0x9d10,0x9d12,0x9d12,0x9d14,0x9d19,0x9d1b,0x9d1b,0x9d1d,0x9d23,0x9d25,0x9d26,0x9d28,0x9d29,0x9d2d,0x9d31,0x9d33,0x9d34,0x9d36,0x9d39,0x9d3b,0x9d3b,0x9d3d,0x9d45,0x9d49,0x9d4c,0x9d4e,0x9d54,0x9d56,0x9d61,0x9d67,0x9d75,0x9d77,0x9d79,0x9d7b,0x9d8c,0x9d90,0x9d90,0x9d92,0x9d94,0x9d96,0x9dad,0x9daf,0x9daf,0x9db1,0x9dc5,0x9dc7,0x9ddf,0x9de1,0x9de6,0x9de8,0x9de9,0x9deb,0x9df0,0x9df2,0x9e07,0x9e09,0x9e15,0x9e17,0x9e1f,0x9e75,0x9e75,0x9e79,0x9e7d,0x9e7f,0x9e8e,0x9e90,0x9ea2,0x9ea4,0x9eb1,0x9eb4,0x9eb7,0x9ebb,0x9ec4,0x9ec6,0x9ec8,0x9ecc,0x9ed1,0x9ed3,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ee0,0x9ee2,0x9ee2,0x9ee4,0x9ee8,0x9eeb,0x9eeb,0x9eed,0x9f02,0x9f06,0x9f0a,0x9f0e,0x9f10,0x9f12,0x9f13,0x9f15,0x9f1c,0x9f1e,0x9f1e,0x9f20,0x9f20,0x9f22,0x9f39,0x9f3b,0x9f3b,0x9f3d,0x9f3e,0x9f40,0x9f50,0x9f52,0x9f67,0x9f69,0x9f6c,0x9f6e,0x9f72,0x9f74,0x9f7b,0x9f7e,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f99,0x9f9c,0x9f9c,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa4,0x9fb3,0x9fc7,0x9fcb,0x9fd0,0x9fd0,0xf900,0xf903,0xf905,0xf907,0xf90b,0xf90b,0xf90d,0xf90d,0xf915,0xf915,0xf917,0xf917,0xf91a,0xf91a,0xf922,0xf922,0xf92d,0xf92d,0xf931,0xf931,0xf937,0xf937,0xf939,0xf93a,0xf943,0xf943,0xf947,0xf948,0xf94a,0xf94a,0xf952,0xf952,0xf95e,0xf95e,0xf962,0xf962,0xf965,0xf965,0xf967,0xf967,0xf972,0xf972,0xf976,0xf976,0xf978,0xf979,0xf97e,0xf97e,0xf980,0xf980,0xf986,0xf986,0xf98a,0xf98a,0xf98e,0xf98e,0xf995,0xf995,0xf99c,0xf99c,0xf99f,0xf99f,0xf9b5,0xf9b5,0xf9bb,0xf9bb,0xf9bd,0xf9bd,0xf9c5,0xf9c6,0xf9c8,0xf9c8,0xf9d8,0xf9d8,0xf9dc,0xf9de,0xf9e0,0xf9e0,0xf9e4,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0d,0xfa33,0xfa35,0xfa3a,0xfa3a,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20021,0x20021,0x2003e,0x2003e,0x20046,0x20046,0x2004e,0x2004e,0x20068,0x20068,0x20086,0x20087,0x2008a,0x2008a,0x20094,0x20094,0x200ca,0x200cd,0x200d1,0x200d1,0x200ee,0x200ee,0x2010c,0x2010c,0x2010e,0x2010e,0x20118,0x20118,0x201a4,0x201a4,0x201a9,0x201a9,0x201ab,0x201ab,0x201c1,0x201c1,0x201d4,0x201d4,0x201f2,0x201f2,0x20204,0x20204,0x2020c,0x2020c,0x20214,0x20214,0x20239,0x20239,0x2025b,0x2025b,0x20274,0x20275,0x20299,0x20299,0x2029e,0x2029e,0x202a0,0x202a0,0x202b7,0x202b7,0x202bf,0x202c0,0x202e5,0x202e5,0x2030a,0x2030a,0x20325,0x20325,0x20341,0x20341,0x20345,0x20347,0x2037e,0x20380,0x203a0,0x203a0,0x203a7,0x203a7,0x203b5,0x203b5,0x203c9,0x203c9,0x203cb,0x203cb,0x203f5,0x203f5,0x203fc,0x203fc,0x20413,0x20414,0x2041f,0x2041f,0x20465,0x20465,0x20487,0x20487,0x2048e,0x2048e,0x20491,0x20492,0x204a3,0x204a3,0x204d7,0x204d7,0x204fc,0x204fc,0x204fe,0x204fe,0x20547,0x20547,0x2058e,0x2058e,0x205a5,0x205a5,0x205b3,0x205b3,0x205c3,0x205c3,0x205ca,0x205ca,0x205d0,0x205d0,0x205d5,0x205d5,0x205df,0x205e0,0x205eb,0x205eb,0x20611,0x20611,0x20615,0x20615,0x20619,0x2061a,0x20628,0x20628,0x20630,0x20630,0x20656,0x20656,0x20676,0x20676,0x2070e,0x2070e,0x20731,0x20731,0x20779,0x20779,0x2082c,0x2082c,0x20873,0x20873,0x208d5,0x208d5,0x20916,0x20916,0x20923,0x20923,0x20954,0x20954,0x20979,0x20979,0x209e7,0x209e7,0x20a11,0x20a11,0x20a50,0x20a50,0x20a6f,0x20a6f,0x20a8a,0x20a8a,0x20ab4,0x20ab4,0x20ac2,0x20ac2,0x20acd,0x20acd,0x20b0d,0x20b0d,0x20b8f,0x20b8f,0x20b9f,0x20b9f,0x20ba8,0x20ba9,0x20bbf,0x20bbf,0x20bc6,0x20bc6,0x20bcb,0x20bcb,0x20be2,0x20be2,0x20beb,0x20beb,0x20bfb,0x20bfb,0x20bff,0x20bff,0x20c0b,0x20c0b,0x20c0d,0x20c0d,0x20c20,0x20c20,0x20c34,0x20c34,0x20c3a,0x20c3b,0x20c41,0x20c43,0x20c53,0x20c53,0x20c65,0x20c65,0x20c77,0x20c78,0x20c7c,0x20c7c,0x20c8d,0x20c8d,0x20c96,0x20c96,0x20c9c,0x20c9c,0x20cb5,0x20cb5,0x20cb8,0x20cb8,0x20ccf,0x20ccf,0x20cd3,0x20cd6,0x20cdd,0x20cdd,0x20ced,0x20ced,0x20cff,0x20cff,0x20d15,0x20d15,0x20d28,0x20d28,0x20d31,0x20d32,0x20d46,0x20d49,0x20d4c,0x20d4e,0x20d6f,0x20d6f,0x20d71,0x20d71,0x20d74,0x20d74,0x20d7c,0x20d7c,0x20d7e,0x20d7f,0x20d96,0x20d96,0x20d9c,0x20d9c,0x20da7,0x20da7,0x20db2,0x20db2,0x20dc8,0x20dc8,0x20e04,0x20e04,0x20e09,0x20e0a,0x20e0d,0x20e11,0x20e16,0x20e16,0x20e1d,0x20e1d,0x20e4c,0x20e4c,0x20e6d,0x20e6d,0x20e73,0x20e73,0x20e75,0x20e7b,0x20e8c,0x20e8c,0x20e96,0x20e96,0x20e98,0x20e98,0x20e9d,0x20e9d,0x20ea2,0x20ea2,0x20eaa,0x20eac,0x20eb6,0x20eb6,0x20ed7,0x20ed8,0x20edd,0x20edd,0x20ef8,0x20efb,0x20f1d,0x20f1d,0x20f26,0x20f26,0x20f2d,0x20f2e,0x20f30,0x20f31,0x20f3b,0x20f3b,0x20f4c,0x20f4c,0x20f64,0x20f64,0x20f8d,0x20f8d,0x20f90,0x20f90,0x20fad,0x20fad,0x20fb4,0x20fb6,0x20fbc,0x20fbc,0x20fdf,0x20fdf,0x20fea,0x20fed,0x21014,0x21014,0x2101d,0x2101e,0x2104f,0x2104f,0x2105c,0x2105c,0x2106f,0x2106f,0x21075,0x21078,0x2107b,0x2107b,0x21088,0x21088,0x21096,0x21096,0x2109d,0x2109d,0x210b4,0x210b4,0x210bf,0x210c1,0x210c7,0x210c9,0x210cf,0x210cf,0x210d3,0x210d3,0x210e4,0x210e4,0x210f4,0x210f6,0x2112f,0x2112f,0x2113b,0x2113b,0x2113d,0x2113d,0x21145,0x21145,0x21148,0x21148,0x2114f,0x2114f,0x21180,0x21180,0x21187,0x21187,0x211d9,0x211d9,0x2123c,0x2123c,0x2124f,0x2124f,0x2127c,0x2127c,0x212a8,0x212a9,0x212b0,0x212b0,0x212e3,0x212e3,0x212fe,0x212fe,0x21302,0x21305,0x21336,0x21336,0x2133a,0x2133a,0x21375,0x21376,0x2138e,0x2138e,0x21398,0x21398,0x2139c,0x2139c,0x213c5,0x213c6,0x213ed,0x213ed,0x213fe,0x213fe,0x21413,0x21413,0x21416,0x21416,0x21424,0x21424,0x2143f,0x2143f,0x21452,0x21452,0x21454,0x21455,0x2148a,0x2148a,0x21497,0x21497,0x214b6,0x214b6,0x214e8,0x214e8,0x214fd,0x214fd,0x21577,0x21577,0x21582,0x21582,0x21596,0x21596,0x2160a,0x2160a,0x21613,0x21613,0x21619,0x21619,0x2163e,0x2163e,0x21661,0x21661,0x21692,0x21692,0x216b8,0x216b8,0x216ba,0x216ba,0x216c0,0x216c2,0x216d3,0x216d3,0x216d5,0x216d5,0x216df,0x216df,0x216e6,0x216e8,0x216fa,0x216fc,0x216fe,0x216fe,0x2170d,0x2170d,0x21710,0x21710,0x21726,0x21726,0x2173a,0x2173c,0x21757,0x21757,0x2176c,0x21771,0x21773,0x21774,0x217ab,0x217ab,0x217b0,0x217b5,0x217c3,0x217c3,0x217c7,0x217c7,0x217d9,0x217dc,0x217df,0x217df,0x217ef,0x217ef,0x217f5,0x217f6,0x217f8,0x217fc,0x21820,0x21820,0x21828,0x2182a,0x2182d,0x2182d,0x21839,0x2183b,0x21840,0x21840,0x21845,0x21845,0x21852,0x21852,0x2185e,0x2185e,0x21861,0x21864,0x21877,0x21877,0x2187b,0x2187b,0x21883,0x21885,0x2189e,0x218a2,0x218be,0x218bf,0x218d1,0x218d1,0x218d6,0x218d9,0x218fa,0x218fa,0x21903,0x21905,0x21910,0x21912,0x21915,0x21915,0x2191c,0x2191c,0x21922,0x21922,0x21927,0x21927,0x2193b,0x2193b,0x21944,0x21944,0x21958,0x21958,0x2196a,0x2196a,0x2197c,0x2197c,0x21980,0x21980,0x21983,0x21983,0x21988,0x21988,0x21996,0x21996,0x219db,0x219db,0x219f3,0x219f3,0x21a2d,0x21a2d,0x21a34,0x21a34,0x21a45,0x21a45,0x21a4b,0x21a4b,0x21a63,0x21a63,0x21b44,0x21b44,0x21bc1,0x21bc2,0x21c2a,0x21c2a,0x21c70,0x21c70,0x21ca2,0x21ca2,0x21ca5,0x21ca5,0x21cac,0x21cac,0x21d46,0x21d46,0x21d53,0x21d53,0x21d5e,0x21d5e,0x21d90,0x21d90,0x21db6,0x21db6,0x21dba,0x21dba,0x21dca,0x21dca,0x21dd1,0x21dd1,0x21deb,0x21deb,0x21df9,0x21df9,0x21e1c,0x21e1c,0x21e23,0x21e23,0x21e37,0x21e37,0x21e3d,0x21e3d,0x21e89,0x21e89,0x21ea4,0x21ea4,0x21ea8,0x21ea8,0x21ec8,0x21ec8,0x21ed5,0x21ed5,0x21f0f,0x21f0f,0x21f15,0x21f15,0x21f6a,0x21f6a,0x21f9e,0x21f9e,0x21fa1,0x21fa1,0x21fe8,0x21fe8,0x22045,0x22045,0x22049,0x22049,0x2207e,0x2207e,0x2209a,0x2209a,0x220c7,0x220c7,0x220fc,0x220fc,0x2212a,0x2212a,0x2215b,0x2215b,0x22173,0x22173,0x2217a,0x2217a,0x221a1,0x221a1,0x221c1,0x221c1,0x221c3,0x221c3,0x22208,0x22208,0x2227c,0x2227c,0x22321,0x22321,0x22325,0x22325,0x223bd,0x223bd,0x223d0,0x223d0,0x223d7,0x223d7,0x223fa,0x223fa,0x22465,0x22465,0x22471,0x22471,0x2248b,0x2248b,0x22491,0x22491,0x224b0,0x224b0,0x224bc,0x224bc,0x224c1,0x224c1,0x224c9,0x224c9,0x224cc,0x224cc,0x224ed,0x224ed,0x22513,0x22513,0x2251b,0x2251b,0x22530,0x22530,0x22554,0x22554,0x2258d,0x2258d,0x225af,0x225af,0x225be,0x225be,0x2261b,0x2261c,0x2262b,0x2262b,0x22668,0x22668,0x2267a,0x2267a,0x22696,0x22696,0x22698,0x22698,0x226f4,0x226f6,0x22712,0x22712,0x22714,0x22714,0x2271b,0x2271b,0x2271f,0x2271f,0x2272a,0x2272a,0x22775,0x22775,0x22781,0x22781,0x22796,0x22796,0x227b4,0x227b5,0x227cd,0x227cd,0x22803,0x22803,0x2285f,0x22860,0x22871,0x22871,0x228ad,0x228ad,0x228c1,0x228c1,0x228f7,0x228f7,0x22926,0x22926,0x22939,0x22939,0x2294f,0x2294f,0x22967,0x22967,0x2296b,0x2296b,0x22980,0x22980,0x22993,0x22993,0x22a66,0x22a66,0x22acf,0x22acf,0x22ad5,0x22ad5,0x22ae6,0x22ae6,0x22ae8,0x22ae8,0x22b0e,0x22b0e,0x22b22,0x22b22,0x22b3f,0x22b3f,0x22b43,0x22b43,0x22b6a,0x22b6a,0x22bca,0x22bca,0x22bce,0x22bce,0x22c26,0x22c27,0x22c38,0x22c38,0x22c4c,0x22c4c,0x22c51,0x22c51,0x22c55,0x22c55,0x22c62,0x22c62,0x22c88,0x22c88,0x22c9b,0x22c9b,0x22ca1,0x22ca1,0x22ca9,0x22ca9,0x22cb2,0x22cb2,0x22cb7,0x22cb7,0x22cc2,0x22cc2,0x22cc6,0x22cc6,0x22cc9,0x22cc9,0x22d07,0x22d08,0x22d12,0x22d12,0x22d44,0x22d44,0x22d4c,0x22d4c,0x22d67,0x22d67,0x22d8d,0x22d8d,0x22d95,0x22d95,0x22da0,0x22da0,0x22da3,0x22da4,0x22db7,0x22db7,0x22dee,0x22dee,0x22e0d,0x22e0d,0x22e36,0x22e36,0x22e42,0x22e42,0x22e78,0x22e78,0x22e8b,0x22e8b,0x22eb3,0x22eb3,0x22eef,0x22eef,0x22f74,0x22f74,0x22fcc,0x22fcc,0x22fe3,0x22fe3,0x23033,0x23033,0x23044,0x23044,0x2304b,0x2304b,0x23066,0x23066,0x2307d,0x2307e,0x2308e,0x2308e,0x230b7,0x230b7,0x230bc,0x230bc,0x230da,0x230da,0x23103,0x23103,0x2313d,0x2313d,0x2317d,0x2317d,0x23182,0x23182,0x231a4,0x231a5,0x231b3,0x231b3,0x231c8,0x231c9,0x231ea,0x231ea,0x231f7,0x231f9,0x2320f,0x2320f,0x23225,0x23225,0x2322f,0x2322f,0x23231,0x23234,0x23256,0x23256,0x2325e,0x2325e,0x23262,0x23262,0x23281,0x23281,0x23289,0x2328a,0x232ab,0x232ad,0x232d2,0x232d2,0x232e0,0x232e1,0x23300,0x23300,0x2330a,0x2330a,0x2331f,0x2331f,0x233b4,0x233b4,0x233cc,0x233cc,0x233de,0x233de,0x233e6,0x233e6,0x233f4,0x233f5,0x233f9,0x233fa,0x233fe,0x233fe,0x23400,0x23400,0x2343f,0x2343f,0x23450,0x23450,0x2346f,0x2346f,0x23472,0x23472,0x234e5,0x234e5,0x23519,0x23519,0x23530,0x23530,0x23551,0x23551,0x2355a,0x2355a,0x23567,0x23567,0x23595,0x23595,0x23599,0x23599,0x2359c,0x2359c,0x235bb,0x235bb,0x235cd,0x235cf,0x235f3,0x235f3,0x23600,0x23600,0x23617,0x23617,0x2361a,0x2361a,0x2363c,0x2363c,0x23640,0x23640,0x23659,0x23659,0x2365f,0x2365f,0x23677,0x23677,0x2368e,0x2368e,0x2369e,0x2369e,0x236a6,0x236a6,0x236ad,0x236ad,0x236ba,0x236ba,0x236df,0x236df,0x236ee,0x236ee,0x23703,0x23703,0x23716,0x23716,0x23720,0x23720,0x2372d,0x2372d,0x2372f,0x2372f,0x2373f,0x2373f,0x23766,0x23766,0x23781,0x23781,0x237a2,0x237a2,0x237bc,0x237bc,0x237c2,0x237c2,0x237d5,0x237d7,0x2383a,0x2383a,0x239c2,0x239c2,0x23aa7,0x23aa7,0x23adb,0x23adb,0x23aee,0x23aee,0x23afa,0x23afa,0x23b1a,0x23b1a,0x23b5a,0x23b5a,0x23c63,0x23c63,0x23c99,0x23c9b,0x23cb5,0x23cb5,0x23cb7,0x23cb7,0x23cc7,0x23cc9,0x23cfc,0x23cff,0x23d40,0x23d40,0x23d5b,0x23d5b,0x23d7e,0x23d7e,0x23d8f,0x23d8f,0x23db6,0x23dbd,0x23de3,0x23de3,0x23df8,0x23df8,0x23e06,0x23e06,0x23e11,0x23e11,0x23e2c,0x23e31,0x23e39,0x23e39,0x23e88,0x23e8b,0x23eb9,0x23eb9,0x23ebf,0x23ebf,0x23ed7,0x23ed7,0x23ef7,0x23efc,0x23f35,0x23f35,0x23f41,0x23f41,0x23f4a,0x23f4a,0x23f61,0x23f61,0x23f7f,0x23f82,0x23f8f,0x23f8f,0x23fb4,0x23fb4,0x23fb7,0x23fb7,0x23fc0,0x23fc0,0x23fc5,0x23fc5,0x23feb,0x23ff0,0x24011,0x24011,0x24039,0x2403d,0x24057,0x24057,0x24085,0x24085,0x2408b,0x2408d,0x24091,0x24091,0x240c9,0x240c9,0x240e1,0x240e1,0x240ec,0x240ec,0x24104,0x24104,0x2410f,0x2410f,0x24119,0x24119,0x2413f,0x24140,0x24144,0x24144,0x2414e,0x2414e,0x24155,0x24157,0x2415c,0x2415c,0x2415f,0x2415f,0x24161,0x24161,0x24177,0x24177,0x2417a,0x2417a,0x241a3,0x241a5,0x241ac,0x241ac,0x241b5,0x241b5,0x241cd,0x241cd,0x241e2,0x241e2,0x241fc,0x241fc,0x2421b,0x2421b,0x2424b,0x2424b,0x24256,0x24256,0x24259,0x24259,0x24276,0x24278,0x24284,0x24284,0x24293,0x24293,0x24295,0x24295,0x242a5,0x242a5,0x242bf,0x242bf,0x242c1,0x242c1,0x242c9,0x242ca,0x242ee,0x242ee,0x242fa,0x242fa,0x2430d,0x2430d,0x2431a,0x2431a,0x24334,0x24334,0x24348,0x24348,0x24362,0x24365,0x2438c,0x2438c,0x24396,0x24396,0x2439c,0x2439c,0x243bd,0x243bd,0x243c1,0x243c1,0x243e9,0x243ea,0x243f2,0x243f2,0x243f8,0x243f8,0x24404,0x24404,0x24435,0x24436,0x2445a,0x2445b,0x24473,0x24473,0x24487,0x24488,0x244b9,0x244b9,0x244bc,0x244bc,0x244ce,0x244ce,0x244d3,0x244d3,0x244d6,0x244d6,0x24505,0x24505,0x24521,0x24521,0x24578,0x24578,0x245c8,0x245c8,0x24618,0x24618,0x2462a,0x2462a,0x24665,0x24665,0x24674,0x24674,0x24697,0x24697,0x246d4,0x246d4,0x24706,0x24706,0x24725,0x24725,0x2472f,0x2472f,0x2478f,0x2478f,0x247e0,0x247e0,0x24812,0x24812,0x24823,0x24823,0x24882,0x24882,0x248e9,0x248e9,0x248f0,0x248f3,0x248fb,0x248fb,0x248ff,0x24901,0x2490c,0x2490c,0x24916,0x24917,0x24919,0x24919,0x2492f,0x2492f,0x24933,0x24934,0x2493e,0x24943,0x24962,0x24963,0x24974,0x24976,0x2497b,0x2497b,0x2497f,0x2497f,0x24982,0x24982,0x24988,0x2498f,0x24994,0x24994,0x249a4,0x249a4,0x249a7,0x249a7,0x249a9,0x249a9,0x249ab,0x249ad,0x249b7,0x249bb,0x249c5,0x249c5,0x249d0,0x249d0,0x249da,0x249da,0x249de,0x249df,0x249e3,0x249e3,0x249e5,0x249e5,0x249ec,0x249ed,0x249f6,0x249f9,0x249fb,0x249fb,0x24a0e,0x24a0e,0x24a12,0x24a13,0x24a15,0x24a15,0x24a21,0x24a2a,0x24a3e,0x24a3e,0x24a42,0x24a42,0x24a45,0x24a45,0x24a4a,0x24a4a,0x24a4e,0x24a51,0x24a5d,0x24a5d,0x24a65,0x24a67,0x24a71,0x24a71,0x24a77,0x24a7a,0x24a8c,0x24a8c,0x24a93,0x24a96,0x24aa4,0x24aa7,0x24ab1,0x24ab3,0x24aba,0x24abc,0x24ac0,0x24ac0,0x24ac7,0x24ac7,0x24aca,0x24aca,0x24ad1,0x24ad1,0x24adf,0x24adf,0x24ae2,0x24ae2,0x24ae9,0x24ae9,0x24b0f,0x24b0f,0x24b6e,0x24b6e,0x24bf5,0x24bf5,0x24c09,0x24c09,0x24c9e,0x24c9f,0x24cc9,0x24cc9,0x24cd9,0x24cd9,0x24d06,0x24d06,0x24d13,0x24d13,0x24db8,0x24db8,0x24dea,0x24deb,0x24e3b,0x24e3b,0x24e50,0x24e50,0x24ea5,0x24ea5,0x24ea7,0x24ea7,0x24f0e,0x24f0e,0x24f5c,0x24f5c,0x24f82,0x24f82,0x24f86,0x24f86,0x24f97,0x24f97,0x24f9a,0x24f9a,0x24fa9,0x24fa9,0x24fb8,0x24fb8,0x24fc2,0x24fc2,0x2502c,0x2502c,0x25052,0x25052,0x2509d,0x2509d,0x2512b,0x2512b,0x25148,0x25148,0x2517d,0x2517e,0x251cd,0x251cd,0x251e3,0x251e3,0x251e6,0x251e7,0x25220,0x25221,0x25250,0x25250,0x25299,0x25299,0x252c7,0x252c7,0x252d8,0x252d8,0x2530e,0x2530e,0x25311,0x25311,0x25313,0x25313,0x25419,0x25419,0x25425,0x25425,0x2542f,0x25430,0x25446,0x25446,0x2546c,0x2546c,0x2546e,0x2546e,0x2549a,0x2549a,0x25531,0x25531,0x25535,0x25535,0x2553f,0x2553f,0x2555b,0x2555e,0x25562,0x25562,0x25565,0x25566,0x25581,0x25581,0x25584,0x25584,0x2558f,0x2558f,0x255b9,0x255b9,0x255d5,0x255d5,0x255db,0x255db,0x255e0,0x255e0,0x25605,0x25605,0x25635,0x25635,0x25651,0x25651,0x25683,0x25683,0x25695,0x25695,0x256e3,0x256e3,0x256f6,0x256f6,0x25706,0x25706,0x2571d,0x2571d,0x25725,0x25725,0x2573d,0x2573d,0x25772,0x25772,0x257c7,0x257c7,0x257df,0x257e1,0x25857,0x25857,0x2585d,0x2585d,0x25872,0x25872,0x258c8,0x258c8,0x258de,0x258de,0x258e1,0x258e1,0x25903,0x25903,0x25946,0x25946,0x25956,0x25956,0x259ac,0x259ac,0x259cc,0x259cc,0x25a54,0x25a54,0x25a95,0x25a95,0x25a9c,0x25a9c,0x25aae,0x25aaf,0x25ad7,0x25ad7,0x25ae9,0x25ae9,0x25b74,0x25b74,0x25b89,0x25b89,0x25bb3,0x25bb4,0x25bc6,0x25bc6,0x25be4,0x25be4,0x25be8,0x25be8,0x25c01,0x25c01,0x25c06,0x25c06,0x25c21,0x25c21,0x25c4a,0x25c4a,0x25c65,0x25c65,0x25c91,0x25c91,0x25ca4,0x25ca4,0x25cc0,0x25cc1,0x25cfe,0x25cfe,0x25d20,0x25d20,0x25d30,0x25d30,0x25d43,0x25d43,0x25d99,0x25d99,0x25db9,0x25db9,0x25e0e,0x25e0e,0x25e49,0x25e49,0x25e81,0x25e83,0x25ea6,0x25ea6,0x25ebc,0x25ebc,0x25ed7,0x25ed8,0x25f1a,0x25f1a,0x25f4b,0x25f4b,0x25fe1,0x25fe2,0x26021,0x26021,0x26029,0x26029,0x26048,0x26048,0x26064,0x26064,0x26083,0x26083,0x26097,0x26097,0x260a4,0x260a5,0x26102,0x26102,0x26121,0x26121,0x26159,0x2615c,0x261ad,0x261ae,0x261b2,0x261b2,0x261dd,0x261dd,0x26258,0x26258,0x26261,0x26261,0x2626a,0x2626b,0x262d0,0x262d0,0x26335,0x26335,0x2634b,0x2634c,0x26351,0x26351,0x263be,0x263be,0x263f5,0x263f5,0x263f8,0x263f8,0x26402,0x26402,0x26410,0x26412,0x2644a,0x2644a,0x26469,0x26469,0x26484,0x26484,0x26488,0x26489,0x2648d,0x2648d,0x26498,0x26498,0x26512,0x26512,0x26572,0x26572,0x265a0,0x265a0,0x265ad,0x265ad,0x265bf,0x265bf,0x26612,0x26612,0x26626,0x26626,0x266af,0x266af,0x266b1,0x266b1,0x266b5,0x266b5,0x266da,0x266da,0x266e8,0x266e8,0x266fc,0x266fc,0x26716,0x26716,0x26741,0x26741,0x26799,0x26799,0x267b3,0x267b4,0x267cc,0x267cc,0x2681c,0x2681c,0x26846,0x26846,0x2685e,0x2685e,0x2686e,0x2686e,0x26888,0x26888,0x2688a,0x2688a,0x26893,0x26893,0x268c7,0x268c7,0x2690e,0x2690e,0x26911,0x26911,0x26926,0x26926,0x26939,0x26939,0x26951,0x26951,0x269a8,0x269a8,0x269b5,0x269b5,0x269f2,0x269f2,0x269fa,0x269fa,0x26a2d,0x26a2e,0x26a34,0x26a34,0x26a42,0x26a42,0x26a51,0x26a52,0x26b05,0x26b05,0x26b0a,0x26b0a,0x26b13,0x26b13,0x26b15,0x26b15,0x26b23,0x26b23,0x26b28,0x26b28,0x26b50,0x26b53,0x26b5b,0x26b5b,0x26b75,0x26b75,0x26b82,0x26b82,0x26b96,0x26b97,0x26b9d,0x26b9d,0x26bb3,0x26bb3,0x26bc0,0x26bc0,0x26bf7,0x26bf7,0x26c21,0x26c21,0x26c40,0x26c41,0x26c46,0x26c46,0x26c7e,0x26c82,0x26ca4,0x26ca4,0x26cb7,0x26cb8,0x26cbd,0x26cbd,0x26cc0,0x26cc0,0x26cc3,0x26cc3,0x26cd1,0x26cd1,0x26d22,0x26d2a,0x26d51,0x26d51,0x26d74,0x26d74,0x26da0,0x26da7,0x26dae,0x26dae,0x26ddc,0x26ddc,0x26dea,0x26deb,0x26df0,0x26df0,0x26e00,0x26e00,0x26e05,0x26e05,0x26e07,0x26e07,0x26e12,0x26e12,0x26e42,0x26e45,0x26e6e,0x26e6e,0x26e72,0x26e72,0x26e77,0x26e77,0x26e84,0x26e84,0x26e88,0x26e88,0x26e8b,0x26e8b,0x26e99,0x26e99,0x26ed0,0x26ed7,0x26f26,0x26f26,0x26f73,0x26f74,0x26f9f,0x26f9f,0x26fa1,0x26fa1,0x26fbe,0x26fbe,0x26fde,0x26fdf,0x2700e,0x2700e,0x2704b,0x2704b,0x27052,0x27053,0x27088,0x27088,0x270ad,0x270af,0x270cd,0x270cd,0x270d2,0x270d2,0x270f0,0x270f0,0x270f8,0x270f8,0x27109,0x27109,0x2710c,0x2710d,0x27126,0x27127,0x27164,0x27165,0x27175,0x27175,0x271cd,0x271cd,0x2721b,0x2721b,0x27267,0x27267,0x27280,0x27280,0x27285,0x27285,0x2728b,0x2728b,0x272b2,0x272b2,0x272b6,0x272b6,0x272e6,0x272e6,0x27352,0x27352,0x2739a,0x2739a,0x273ff,0x273ff,0x27422,0x27422,0x27450,0x27450,0x27484,0x27484,0x27486,0x27486,0x27574,0x27574,0x275a3,0x275a3,0x275e0,0x275e0,0x275e4,0x275e4,0x275fd,0x275fe,0x27607,0x27607,0x2760c,0x2760c,0x27632,0x27632,0x27639,0x27639,0x27655,0x27657,0x27694,0x27694,0x2770f,0x2770f,0x27735,0x27736,0x27741,0x27741,0x2775e,0x2775e,0x27784,0x27785,0x277cc,0x277cc,0x27858,0x27858,0x27870,0x27870,0x2789d,0x2789d,0x278b2,0x278b2,0x278c8,0x278c8,0x27924,0x27924,0x27967,0x27967,0x2797a,0x2797a,0x279a0,0x279a0,0x279dd,0x279dd,0x279fd,0x279fd,0x27a0a,0x27a0a,0x27a0e,0x27a0e,0x27a3e,0x27a3e,0x27a53,0x27a53,0x27a59,0x27a59,0x27a79,0x27a79,0x27a84,0x27a84,0x27abd,0x27abe,0x27af4,0x27af4,0x27b06,0x27b06,0x27b0b,0x27b0b,0x27b18,0x27b18,0x27b38,0x27b3a,0x27b48,0x27b48,0x27b65,0x27b65,0x27bef,0x27bef,0x27bf4,0x27bf4,0x27c12,0x27c12,0x27c6c,0x27c6c,0x27cb1,0x27cb1,0x27cc5,0x27cc5,0x27d2f,0x27d2f,0x27d53,0x27d54,0x27d66,0x27d66,0x27d73,0x27d73,0x27d84,0x27d84,0x27d8f,0x27d8f,0x27d98,0x27d98,0x27dbd,0x27dbd,0x27ddc,0x27ddc,0x27e4d,0x27e4d,0x27e4f,0x27e4f,0x27f2e,0x27f2e,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28002,0x28002,0x28009,0x28009,0x2801e,0x2801e,0x28023,0x28024,0x28048,0x28048,0x28083,0x28083,0x28090,0x28090,0x280bd,0x280be,0x280e8,0x280e9,0x280f4,0x280f4,0x2812e,0x2812e,0x2814f,0x2814f,0x2815d,0x2815d,0x2816f,0x2816f,0x28189,0x28189,0x281af,0x281af,0x281bc,0x281bc,0x28207,0x28207,0x28218,0x28218,0x2821a,0x2821a,0x28256,0x28256,0x2827c,0x2827c,0x2829b,0x2829b,0x282cd,0x282cd,0x282e2,0x282e2,0x28306,0x28306,0x28318,0x28318,0x2832f,0x2832f,0x2833a,0x2833a,0x28365,0x28365,0x2836d,0x2836d,0x2837d,0x2837d,0x2838a,0x2838a,0x28412,0x28412,0x28468,0x28468,0x2846c,0x2846c,0x28473,0x28473,0x28482,0x28482,0x28501,0x28501,0x2853c,0x2853d,0x2856c,0x2856c,0x285e8,0x285e8,0x285f4,0x285f4,0x28600,0x28600,0x2860b,0x2860b,0x28625,0x28625,0x2863b,0x2863b,0x286aa,0x286ab,0x286b2,0x286b2,0x286bc,0x286bc,0x286d8,0x286d8,0x286e6,0x286e6,0x2870f,0x2870f,0x28713,0x28713,0x28804,0x28804,0x2882b,0x2882b,0x2890d,0x2890d,0x28933,0x28933,0x28948,0x28949,0x28956,0x28956,0x28964,0x28964,0x28968,0x28968,0x2896c,0x2896d,0x2897e,0x2897e,0x28989,0x28989,0x289a8,0x289a8,0x289aa,0x289ab,0x289b8,0x289b8,0x289bc,0x289bc,0x289c0,0x289c0,0x289dc,0x289dc,0x289de,0x289de,0x289e1,0x289e1,0x289e3,0x289e4,0x289e7,0x289e8,0x289f9,0x289fc,0x28a0f,0x28a0f,0x28a16,0x28a16,0x28a25,0x28a25,0x28a29,0x28a29,0x28a32,0x28a32,0x28a36,0x28a36,0x28a44,0x28a4b,0x28a59,0x28a5a,0x28a81,0x28a83,0x28a9a,0x28a9c,0x28ac0,0x28ac0,0x28ac6,0x28ac6,0x28acb,0x28acc,0x28ace,0x28ace,0x28ade,0x28ae3,0x28ae5,0x28ae5,0x28aea,0x28aea,0x28afc,0x28afc,0x28b0c,0x28b0c,0x28b13,0x28b13,0x28b21,0x28b22,0x28b2b,0x28b2d,0x28b2f,0x28b2f,0x28b46,0x28b46,0x28b4c,0x28b4c,0x28b4e,0x28b4e,0x28b50,0x28b50,0x28b63,0x28b66,0x28b6c,0x28b6c,0x28b8f,0x28b8f,0x28b99,0x28b99,0x28b9c,0x28b9d,0x28bb9,0x28bb9,0x28bc2,0x28bc2,0x28bc5,0x28bc5,0x28bd4,0x28bd4,0x28bd7,0x28bd7,0x28bd9,0x28bda,0x28be7,0x28bec,0x28bf5,0x28bf5,0x28bff,0x28bff,0x28c03,0x28c03,0x28c09,0x28c09,0x28c1c,0x28c1d,0x28c23,0x28c23,0x28c26,0x28c26,0x28c2b,0x28c2b,0x28c30,0x28c30,0x28c39,0x28c39,0x28c3b,0x28c3b,0x28cca,0x28cca,0x28ccd,0x28ccd,0x28cd2,0x28cd2,0x28d34,0x28d34,0x28d99,0x28d99,0x28db9,0x28db9,0x28e0f,0x28e0f,0x28e36,0x28e36,0x28e39,0x28e39,0x28e65,0x28e66,0x28e97,0x28e97,0x28eac,0x28eac,0x28eb2,0x28eb3,0x28ed9,0x28ed9,0x28ee7,0x28ee7,0x28fc5,0x28fc5,0x29079,0x29079,0x29088,0x29088,0x2908b,0x2908b,0x29093,0x29093,0x290af,0x290b1,0x290c0,0x290c0,0x290e4,0x290e5,0x290ec,0x290ed,0x2910d,0x2910d,0x29110,0x29110,0x2913c,0x2913c,0x2914d,0x2914d,0x2915b,0x2915b,0x2915e,0x2915e,0x29170,0x29170,0x2919c,0x2919c,0x291a8,0x291a8,0x291d5,0x291d5,0x291eb,0x291eb,0x2941d,0x2941d,0x29420,0x29420,0x29433,0x29433,0x2943f,0x2943f,0x29448,0x29448,0x294d0,0x294d0,0x294d9,0x294da,0x294e5,0x294e5,0x294e7,0x294e7,0x2959e,0x2959e,0x295b0,0x295b0,0x295b8,0x295b8,0x295d7,0x295d7,0x295e9,0x295e9,0x295f4,0x295f4,0x2967f,0x2967f,0x29720,0x29720,0x29732,0x29732,0x297d4,0x297d4,0x29810,0x29810,0x29857,0x29857,0x298a4,0x298a4,0x298d1,0x298d1,0x298ea,0x298ea,0x298f1,0x298f1,0x298fa,0x298fa,0x29903,0x29903,0x29905,0x29905,0x2992f,0x2992f,0x29945,0x29945,0x29947,0x29949,0x2995d,0x2995d,0x2996a,0x2996a,0x2999d,0x2999d,0x299c3,0x299c3,0x299c9,0x299c9,0x29a28,0x29a28,0x29a4d,0x29a4d,0x29b05,0x29b05,0x29b0e,0x29b0e,0x29bd5,0x29bd5,0x29c73,0x29c73,0x29cad,0x29cad,0x29d3e,0x29d3e,0x29d5a,0x29d5a,0x29d7c,0x29d7c,0x29d98,0x29d98,0x29d9b,0x29d9b,0x29df6,0x29df6,0x29e06,0x29e06,0x29e2d,0x29e2d,0x29e68,0x29e68,0x29eac,0x29eac,0x29eb0,0x29eb0,0x29ec3,0x29ec3,0x29ef8,0x29ef8,0x29f23,0x29f23,0x29f30,0x29f30,0x29fb7,0x29fb7,0x29fde,0x29fde,0x2a014,0x2a014,0x2a087,0x2a087,0x2a0b9,0x2a0b9,0x2a0e1,0x2a0e1,0x2a0ed,0x2a0ed,0x2a0f3,0x2a0f3,0x2a0f8,0x2a0f8,0x2a0fe,0x2a0fe,0x2a107,0x2a107,0x2a123,0x2a123,0x2a133,0x2a134,0x2a150,0x2a150,0x2a192,0x2a193,0x2a1ab,0x2a1ab,0x2a1b4,0x2a1b5,0x2a1df,0x2a1df,0x2a1f5,0x2a1f5,0x2a220,0x2a220,0x2a233,0x2a233,0x2a293,0x2a293,0x2a29f,0x2a29f,0x2a2b2,0x2a2b2,0x2a2b4,0x2a2b4,0x2a2b6,0x2a2b6,0x2a2ba,0x2a2ba,0x2a2bd,0x2a2bd,0x2a2df,0x2a2df,0x2a2ff,0x2a2ff,0x2a351,0x2a351,0x2a3a9,0x2a3a9,0x2a3ed,0x2a3ed,0x2a434,0x2a434,0x2a45b,0x2a45b,0x2a5c6,0x2a5c6,0x2a5cb,0x2a5cb,0x2a601,0x2a601,0x2a632,0x2a632,0x2a64a,0x2a64a,0x2a65b,0x2a65b,0x2a6a9,0x2a6a9,0x2adff,0x2adff,0x2d544,0x2d544,0x2f825,0x2f825,0x2f83b,0x2f83b,0x2f840,0x2f840,0x2f878,0x2f878,0x2f894,0x2f894,0x2f8a6,0x2f8a6,0x2f8cd,0x2f8cd,0x2f8db,0x2f8db,0x2f994,0x2f994,0x2f9b2,0x2f9b2,0x2f9bc,0x2f9bc,0x2f9d4,0x2f9d4,0x30edd,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatList('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [0x20,0x20,0xa0,0xa0,0x1700,0x170c,0x170e,0x1714,0x1735,0x1736,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [0x20,0x20,0xa0,0xa0,0x1735,0x1736,0x1760,0x176c,0x176e,0x1770,0x1772,0x1773,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x301,0x307,0x308,0x30c,0x30c,0x1040,0x1049,0x1950,0x196d,0x1970,0x1974,0x200b,0x200d,0x25cc,0x25cc,0x3001,0x3002,0x3008,0x300b,]), + NotoFont.fromFlatList('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [0x20,0x20,0xa0,0xa0,0x1a20,0x1a5e,0x1a60,0x1a7c,0x1a7f,0x1a89,0x1a90,0x1a99,0x1aa0,0x1aad,0x200b,0x200d,0x2219,0x2219,]), + NotoFont.fromFlatList('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa78b,0xa78c,0xaa80,0xaac2,0xaadb,0xaadf,]), + NotoFont.fromFlatList('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11680,0x116b8,0x116c0,0x116c9,]), + NotoFont.fromFlatList('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v21/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xb82,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb9,0xbbe,0xbc2,0xbc6,0xbc8,0xbca,0xbcd,0xbd0,0xbd0,0xbd7,0xbd7,0xbe6,0xbfa,0x1cda,0x1cda,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x2074,0x2074,0x2082,0x2084,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa8f3,0xa8f3,0x11301,0x11301,0x11303,0x11303,0x1133b,0x1133c,]), + NotoFont.fromFlatList('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [0x11fc0,0x11ff1,0x11fff,0x11fff,]), + NotoFont.fromFlatList('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v19/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xc00,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc39,0xc3d,0xc44,0xc46,0xc48,0xc4a,0xc4d,0xc55,0xc56,0xc58,0xc5a,0xc60,0xc63,0xc66,0xc6f,0xc77,0xc7f,0x1cda,0x1cda,0x1cf2,0x1cf2,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [0x20,0x21,0x28,0x29,0x2c,0x2c,0x2e,0x2e,0x3a,0x3b,0xa0,0xa0,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x660,0x66c,0x780,0x7b1,0x200b,0x200f,0x2018,0x2019,0x201c,0x201d,0x25cc,0x25cc,0xfdf2,0xfdf2,0xfdfd,0xfdfd,]), + NotoFont.fromFlatList('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v20/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d7,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x331,0x331,0xe01,0xe3a,0xe3f,0xe5b,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatList('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [0x20,0x20,0xa0,0xa0,0x2c7,0x2c7,0x301,0x302,0x304,0x304,0x306,0x307,0x309,0x309,0x323,0x323,0x331,0x331,0x200c,0x200d,0x202e,0x202e,0x25cc,0x25cc,0x2d30,0x2d67,0x2d6f,0x2d70,0x2d7f,0x2d7f,]), + NotoFont.fromFlatList('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x952,0x964,0x965,0x9f4,0x9f7,0x1cf2,0x1cf2,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11480,0x114c7,0x114d0,0x114d9,]), + NotoFont.fromFlatList('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [0x20,0x20,0xa0,0xa0,0x10380,0x1039d,0x1039f,0x1039f,]), + NotoFont.fromFlatList('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [0x20,0x20,0xa0,0xa0,0xa500,0xa62b,]), + NotoFont.fromFlatList('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [0x20,0x20,0x22,0x22,0x27,0x29,0x2c,0x2f,0x5b,0x5d,0x7b,0x7b,0x7d,0x7d,0xa0,0xa0,0x201c,0x201d,0x25cc,0x25cc,0x1e2c0,0x1e2f9,0x1e2ff,0x1e2ff,]), + NotoFont.fromFlatList('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [0x20,0x20,0x27,0x27,0xa0,0xa0,0x200c,0x200d,0x118a0,0x118f2,0x118ff,0x118ff,]), + NotoFont.fromFlatList('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [0x20,0x20,0xa0,0xa0,0x3001,0x3002,0x3008,0x3011,0x3014,0x301b,0x30fb,0x30fb,0xa000,0xa48c,0xa490,0xa4c6,0xff61,0xff65,]), + NotoFont.fromFlatList('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11a00,0x11a47,]), ]; From facbe5dda7d7f98da1c54d338659bac7832137bf Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 12:57:06 -0700 Subject: [PATCH 19/33] Fix generated fonts --- .../dev/generate_fallback_font_data.dart | 2 +- .../engine/canvaskit/font_fallback_data.dart | 282 +++++++++--------- 2 files changed, 142 insertions(+), 142 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index b8a1a968c4abb..faaf26cb86496 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -113,7 +113,7 @@ class GenerateFallbackFontDataCommand extends Command sb.writeln(); sb.writeln('const List fallbackFonts = ['); for (final String family in fallbackFonts) { - sb.write(" NotoFont.fromFlatList('$family', '${urlForFamily[family]!}', " + sb.write(" NotoFont.fromFlatRanges('$family', '${urlForFamily[family]!}', " '['); for (final String range in charsetForFamily[family]!.split(' ')) { String? start; diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index 8266933265101..816e2e0c346f8 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -7,145 +7,145 @@ import 'noto_font.dart'; const List fallbackFonts = [ - NotoFont.fromFlatList('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [0x20,0x7e,0xa0,0x377,0x37a,0x37f,0x384,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3e1,0x3f0,0x52f,0x900,0x97f,0x1ab0,0x1ac0,0x1c80,0x1c88,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1d00,0x1df9,0x1dfb,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fc4,0x1fc6,0x1fd3,0x1fd6,0x1fdb,0x1fdd,0x1fef,0x1ff2,0x1ff4,0x1ff6,0x1ffe,0x2000,0x2064,0x2066,0x2071,0x2074,0x208e,0x2090,0x209c,0x20a0,0x20bf,0x20f0,0x20f0,0x2100,0x215f,0x2184,0x2184,0x2189,0x2189,0x2212,0x2212,0x2215,0x2215,0x25cc,0x25cc,0x2c60,0x2c7f,0x2de0,0x2e52,0xa640,0xa69f,0xa700,0xa7bf,0xa7c2,0xa7ca,0xa7f5,0xa7ff,0xa830,0xa839,0xa8e0,0xa8ff,0xa92e,0xa92e,0xab30,0xab6b,0xfb00,0xfb06,0xfe00,0xfe00,0xfe20,0xfe2f,0xfeff,0xfeff,0xfffc,0xfffd,]), - NotoFont.fromFlatList('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0xa9,0xa9,0xae,0xae,0x200d,0x200d,0x203c,0x203c,0x2049,0x2049,0x20e3,0x20e3,0x2122,0x2122,0x2139,0x2139,0x2194,0x2199,0x21a9,0x21aa,0x231a,0x231b,0x2328,0x2328,0x23cf,0x23cf,0x23e9,0x23f3,0x23f8,0x23fa,0x24c2,0x24c2,0x25aa,0x25ab,0x25b6,0x25b6,0x25c0,0x25c0,0x25fb,0x25fe,0x2600,0x2604,0x260e,0x260e,0x2611,0x2611,0x2614,0x2615,0x2618,0x2618,0x261d,0x261d,0x2620,0x2620,0x2622,0x2623,0x2626,0x2626,0x262a,0x262a,0x262e,0x262f,0x2638,0x263a,0x2640,0x2640,0x2642,0x2642,0x2648,0x2653,0x265f,0x2660,0x2663,0x2663,0x2665,0x2666,0x2668,0x2668,0x267b,0x267b,0x267e,0x267f,0x2692,0x2697,0x2699,0x2699,0x269b,0x269c,0x26a0,0x26a1,0x26a7,0x26a7,0x26aa,0x26ab,0x26b0,0x26b1,0x26bd,0x26be,0x26c4,0x26c5,0x26c8,0x26c8,0x26ce,0x26cf,0x26d1,0x26d1,0x26d3,0x26d4,0x26e9,0x26ea,0x26f0,0x26f5,0x26f7,0x26fa,0x26fd,0x26fd,0x2702,0x2702,0x2705,0x2705,0x2708,0x270d,0x270f,0x270f,0x2712,0x2712,0x2714,0x2714,0x2716,0x2716,0x271d,0x271d,0x2721,0x2721,0x2728,0x2728,0x2733,0x2734,0x2744,0x2744,0x2747,0x2747,0x274c,0x274c,0x274e,0x274e,0x2753,0x2755,0x2757,0x2757,0x2763,0x2764,0x2795,0x2797,0x27a1,0x27a1,0x27b0,0x27b0,0x27bf,0x27bf,0x2934,0x2935,0x2b05,0x2b07,0x2b1b,0x2b1c,0x2b50,0x2b50,0x2b55,0x2b55,0x3030,0x3030,0x303d,0x303d,0x3297,0x3297,0x3299,0x3299,0xfe0e,0xfe0f,0x1f004,0x1f004,0x1f0cf,0x1f0cf,0x1f170,0x1f171,0x1f17e,0x1f17f,0x1f18e,0x1f18e,0x1f191,0x1f19a,0x1f1e6,0x1f1ff,0x1f201,0x1f202,0x1f21a,0x1f21a,0x1f22f,0x1f22f,0x1f232,0x1f23a,0x1f250,0x1f251,0x1f300,0x1f321,0x1f324,0x1f393,0x1f396,0x1f397,0x1f399,0x1f39b,0x1f39e,0x1f3f0,0x1f3f3,0x1f3f5,0x1f3f7,0x1f4fd,0x1f4ff,0x1f53d,0x1f549,0x1f54e,0x1f550,0x1f567,0x1f56f,0x1f570,0x1f573,0x1f57a,0x1f587,0x1f587,0x1f58a,0x1f58d,0x1f590,0x1f590,0x1f595,0x1f596,0x1f5a4,0x1f5a5,0x1f5a8,0x1f5a8,0x1f5b1,0x1f5b2,0x1f5bc,0x1f5bc,0x1f5c2,0x1f5c4,0x1f5d1,0x1f5d3,0x1f5dc,0x1f5de,0x1f5e1,0x1f5e1,0x1f5e3,0x1f5e3,0x1f5e8,0x1f5e8,0x1f5ef,0x1f5ef,0x1f5f3,0x1f5f3,0x1f5fa,0x1f64f,0x1f680,0x1f6c5,0x1f6cb,0x1f6d2,0x1f6d5,0x1f6d7,0x1f6dd,0x1f6e5,0x1f6e9,0x1f6e9,0x1f6eb,0x1f6ec,0x1f6f0,0x1f6f0,0x1f6f3,0x1f6fc,0x1f7e0,0x1f7eb,0x1f7f0,0x1f7f0,0x1f90c,0x1f93a,0x1f93c,0x1f945,0x1f947,0x1f9ff,0x1fa70,0x1fa74,0x1fa78,0x1fa7c,0x1fa80,0x1fa86,0x1fa90,0x1faac,0x1fab0,0x1faba,0x1fac0,0x1fac5,0x1fad0,0x1fad9,0x1fae0,0x1fae7,0x1faf0,0x1faf6,0xe0030,0xe0039,0xe0061,0xe007a,0xe007f,0xe007f,0xfe4e5,0xfe4ee,0xfe82c,0xfe82c,0xfe82e,0xfe837,]), - NotoFont.fromFlatList('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [0x20,0x20,0x30,0x39,0x41,0x5a,0x61,0x7a,0xa0,0xa0,0x20dd,0x20e0,0x20e2,0x20e4,0x2160,0x2183,0x2185,0x2188,0x218a,0x218b,0x2190,0x2199,0x2300,0x230f,0x2311,0x2315,0x2317,0x2317,0x231c,0x231f,0x2322,0x2323,0x2329,0x232a,0x232c,0x2335,0x237c,0x237c,0x2380,0x2394,0x2396,0x239a,0x23af,0x23af,0x23be,0x23cd,0x23d0,0x23db,0x23e2,0x23e8,0x2460,0x24ff,0x25cc,0x25cc,0x260a,0x260d,0x2613,0x2613,0x2624,0x262f,0x2638,0x263b,0x263d,0x2653,0x2669,0x267e,0x2690,0x269d,0x26a2,0x26a9,0x26ad,0x26bc,0x26ce,0x26ce,0x26e2,0x26ff,0x271d,0x2721,0x2776,0x2793,0x2921,0x2922,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f190,0x1f19b,0x1f1ac,0x1f546,0x1f549,0x1f54f,0x1f54f,0x1f610,0x1f610,0x1f700,0x1f773,]), - NotoFont.fromFlatList('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0x7f,0xa0,0x2022,0x2022,0x20e2,0x20e3,0x21af,0x21af,0x21e6,0x21f0,0x21f3,0x21f3,0x2218,0x2219,0x2299,0x2299,0x22c4,0x22c6,0x2316,0x2316,0x2318,0x2318,0x231a,0x231b,0x2324,0x2328,0x232b,0x232b,0x237b,0x237b,0x237d,0x237f,0x2394,0x2394,0x23ce,0x23cf,0x23e9,0x23ea,0x23ed,0x23ef,0x23f1,0x2426,0x2440,0x244a,0x25a0,0x2609,0x260e,0x2612,0x2614,0x2623,0x2630,0x2637,0x263c,0x263c,0x2654,0x2668,0x267f,0x268f,0x269e,0x26a1,0x26aa,0x26ac,0x26bd,0x26cd,0x26cf,0x26e1,0x2700,0x2704,0x2706,0x2709,0x270b,0x271c,0x2722,0x2727,0x2729,0x274b,0x274d,0x274d,0x274f,0x2753,0x2756,0x2775,0x2794,0x2794,0x2798,0x27af,0x27b1,0x27be,0x2800,0x28ff,0x2981,0x2981,0x29bf,0x29bf,0x29eb,0x29eb,0x2b00,0x2b0d,0x2b12,0x2b2f,0x2b4d,0x2b73,0x2b76,0x2b95,0x2b97,0x2bfd,0x2bff,0x2bff,0x4dc0,0x4dff,0xfff9,0xfffb,0x10140,0x1018e,0x10190,0x1019c,0x101a0,0x101a0,0x101d0,0x101fd,0x102e0,0x102fb,0x10e60,0x10e7e,0x1d2e0,0x1d2f3,0x1d300,0x1d356,0x1d360,0x1d378,0x1f000,0x1f02b,0x1f030,0x1f093,0x1f0a0,0x1f0ae,0x1f0b1,0x1f0bf,0x1f0c1,0x1f0cf,0x1f0d1,0x1f0f5,0x1f30d,0x1f30f,0x1f315,0x1f315,0x1f31c,0x1f31c,0x1f321,0x1f32c,0x1f336,0x1f336,0x1f378,0x1f378,0x1f37d,0x1f37d,0x1f393,0x1f39f,0x1f3a7,0x1f3a7,0x1f3ac,0x1f3ae,0x1f3c2,0x1f3c2,0x1f3c4,0x1f3c4,0x1f3c6,0x1f3c6,0x1f3ca,0x1f3ce,0x1f3d4,0x1f3e0,0x1f3ed,0x1f3ed,0x1f3f1,0x1f3f3,0x1f3f5,0x1f3f7,0x1f408,0x1f408,0x1f415,0x1f415,0x1f41f,0x1f41f,0x1f426,0x1f426,0x1f43f,0x1f43f,0x1f441,0x1f442,0x1f446,0x1f449,0x1f44c,0x1f44e,0x1f453,0x1f453,0x1f46a,0x1f46a,0x1f47d,0x1f47d,0x1f4a3,0x1f4a3,0x1f4b0,0x1f4b0,0x1f4b3,0x1f4b3,0x1f4b9,0x1f4b9,0x1f4bb,0x1f4bb,0x1f4bf,0x1f4bf,0x1f4c8,0x1f4cb,0x1f4da,0x1f4da,0x1f4df,0x1f4df,0x1f4e4,0x1f4e6,0x1f4ea,0x1f4ed,0x1f4f7,0x1f4f7,0x1f4f9,0x1f4fb,0x1f4fd,0x1f4fe,0x1f503,0x1f503,0x1f507,0x1f50a,0x1f50d,0x1f50d,0x1f512,0x1f513,0x1f53e,0x1f545,0x1f54a,0x1f54a,0x1f550,0x1f579,0x1f57b,0x1f594,0x1f597,0x1f5a3,0x1f5a5,0x1f5fa,0x1f650,0x1f67f,0x1f687,0x1f687,0x1f68d,0x1f68d,0x1f691,0x1f691,0x1f694,0x1f694,0x1f698,0x1f698,0x1f6ad,0x1f6ad,0x1f6b2,0x1f6b2,0x1f6b9,0x1f6ba,0x1f6bc,0x1f6bc,0x1f6c6,0x1f6cb,0x1f6cd,0x1f6cf,0x1f6d3,0x1f6d7,0x1f6e0,0x1f6ea,0x1f6f0,0x1f6f3,0x1f6f7,0x1f6fc,0x1f780,0x1f7d8,0x1f7e0,0x1f7eb,0x1f800,0x1f80b,0x1f810,0x1f847,0x1f850,0x1f859,0x1f860,0x1f887,0x1f890,0x1f8ad,0x1f8b0,0x1f8b1,0x1f93b,0x1f93b,0x1f946,0x1f946,0x1fa00,0x1fa53,0x1fa60,0x1fa6d,0x1fa70,0x1fa74,0x1fa78,0x1fa7a,0x1fa80,0x1fa86,0x1fa90,0x1faa8,0x1fab0,0x1fab6,0x1fac0,0x1fac2,0x1fad0,0x1fad6,0x1fb00,0x1fb92,0x1fb94,0x1fbca,0x1fbf0,0x1fbf9,]), - NotoFont.fromFlatList('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [0x20,0x2f,0x3a,0x40,0x5b,0x5f,0x7b,0x7d,0xa0,0xa0,0xab,0xab,0xbb,0xbb,0x61f,0x61f,0x640,0x640,0x2013,0x2015,0x2018,0x201e,0x2020,0x2022,0x2026,0x2026,0x2030,0x2030,0x2039,0x203a,0x2044,0x2044,0x204f,0x204f,0x25cc,0x25cc,0x2e28,0x2e29,0x2e41,0x2e41,0x1e900,0x1e94b,0x1e950,0x1e959,0x1e95e,0x1e95f,]), - NotoFont.fromFlatList('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200b,0x14400,0x14646,]), - NotoFont.fromFlatList('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [0x20,0x21,0x2c,0x2e,0x30,0x3a,0xa0,0xa0,0xab,0xab,0xbb,0xbb,0x34f,0x34f,0x600,0x61c,0x61e,0x6ff,0x750,0x77f,0x8a0,0x8b4,0x8b6,0x8be,0x8d3,0x8ff,0x200b,0x2011,0x204f,0x204f,0x25cc,0x25cc,0x2e41,0x2e41,0xfb50,0xfbc1,0xfbd3,0xfd3f,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfd,0xfe70,0xfe74,0xfe76,0xfefc,]), - NotoFont.fromFlatList('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x308,0x308,0x531,0x556,0x559,0x58a,0x58d,0x58f,0x2010,0x2010,0x25cc,0x25cc,0xfb13,0xfb17,]), - NotoFont.fromFlatList('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v17/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200c,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x2e30,0x2e31,0x10b00,0x10b35,0x10b39,0x10b3f,]), - NotoFont.fromFlatList('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v18/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1b00,0x1b4b,0x1b50,0x1b7c,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [0x20,0x20,0xa0,0xa0,0xa6a0,0xa6f7,0x16800,0x16a38,]), - NotoFont.fromFlatList('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x16ad0,0x16aed,0x16af0,0x16af5,]), - NotoFont.fromFlatList('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [0x20,0x20,0xa0,0xa0,0x1bc0,0x1bf3,0x1bfc,0x1bff,0x200b,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0x980,0x983,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bc,0x9c4,0x9c7,0x9c8,0x9cb,0x9ce,0x9d7,0x9d7,0x9dc,0x9dd,0x9df,0x9e3,0x9e6,0x9fe,0x1cd0,0x1cd0,0x1cd2,0x1cd2,0x1cd5,0x1cd6,0x1cd8,0x1cd8,0x1ce1,0x1ce1,0x1cea,0x1cea,0x1ced,0x1ced,0x1cf2,0x1cf2,0x1cf5,0x1cf7,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa8f1,0xa8f1,]), - NotoFont.fromFlatList('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200b,0x25cc,0x25cc,0x11c00,0x11c08,0x11c0a,0x11c36,0x11c38,0x11c45,0x11c50,0x11c6c,]), - NotoFont.fromFlatList('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0x11000,0x1104d,0x11052,0x1106f,0x1107f,0x1107f,]), - NotoFont.fromFlatList('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [0x20,0x20,0xa0,0xa0,0x1a00,0x1a1b,0x1a1e,0x1a1f,0x200b,0x200d,0x25cc,0x25cc,0xa9cf,0xa9cf,]), - NotoFont.fromFlatList('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v17/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1735,0x1736,0x1740,0x1753,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [0x20,0x20,0xa0,0xa0,0x131,0x131,0x2c7,0x2c7,0x2d8,0x2db,0x307,0x307,0x1400,0x167f,0x18b0,0x18f5,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [0x20,0x20,0xa0,0xa0,0x102a0,0x102d0,]), - NotoFont.fromFlatList('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [0x20,0x20,0xa0,0xa0,0x304,0x304,0x331,0x331,0x25cc,0x25cc,0xfe20,0xfe2f,0x10530,0x10563,0x1056f,0x1056f,]), - NotoFont.fromFlatList('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [0x20,0x20,0xa0,0xa0,0x9e6,0x9ef,0x1040,0x1049,0x200c,0x200d,0x25cc,0x25cc,0x11100,0x11134,0x11136,0x11146,]), - NotoFont.fromFlatList('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [0x20,0x22,0x27,0x29,0x2c,0x2f,0x3a,0x3b,0x3f,0x3f,0xa0,0xa0,0xad,0xad,0x200c,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xaa00,0xaa36,0xaa40,0xaa4d,0xaa50,0xaa59,0xaa5c,0xaa5f,]), - NotoFont.fromFlatList('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x302,0x304,0x304,0x30b,0x30c,0x323,0x324,0x330,0x331,0x13a0,0x13f5,0x13f8,0x13fd,0xab70,0xabbf,]), - NotoFont.fromFlatList('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x300,0x302,0x304,0x305,0x307,0x308,0x323,0x323,0x33f,0x33f,0x361,0x361,0x374,0x375,0x3e2,0x3ef,0x1dcd,0x1dcd,0x2010,0x2010,0x25cc,0x25cc,0x2c80,0x2cf3,0x2cf9,0x2cff,0xfe24,0xfe26,0x102e0,0x102fb,]), - NotoFont.fromFlatList('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [0x20,0x20,0xa0,0xa0,0x12000,0x12399,0x12400,0x1246e,0x12470,0x12474,0x12480,0x12543,]), - NotoFont.fromFlatList('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [0x20,0x20,0xa0,0xa0,0x10800,0x10805,0x10808,0x10808,0x1080a,0x10835,0x10837,0x10838,0x1083c,0x1083c,0x1083f,0x1083f,]), - NotoFont.fromFlatList('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [0x20,0x20,0xa0,0xa0,0x10400,0x1044f,]), - NotoFont.fromFlatList('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v19/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x900,0x97f,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x20f0,0x20f0,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa839,0xa8e0,0xa8ff,]), - NotoFont.fromFlatList('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x1bc00,0x1bc6a,0x1bc70,0x1bc7c,0x1bc80,0x1bc88,0x1bc90,0x1bc99,0x1bc9c,0x1bca3,]), - NotoFont.fromFlatList('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x13000,0x1342e,]), - NotoFont.fromFlatList('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [0x20,0x20,0xa0,0xa0,0xb7,0xb7,0x305,0x305,0x391,0x3a1,0x3a3,0x3a9,0x3da,0x3da,0x3dc,0x3dc,0x3de,0x3de,0x25cc,0x25cc,0x10500,0x10527,]), - NotoFont.fromFlatList('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [0x20,0x20,0xa0,0xa0,0x10fe0,0x10ff6,]), - NotoFont.fromFlatList('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v36/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x589,0x589,0x10a0,0x10c5,0x10c7,0x10c7,0x10cd,0x10cd,0x10d0,0x10ff,0x1c90,0x1cba,0x1cbd,0x1cbf,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20be,0x20be,0x2122,0x2122,0x2212,0x2212,0x2d00,0x2d25,0x2d27,0x2d27,0x2d2d,0x2d2d,]), - NotoFont.fromFlatList('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [0x20,0x20,0xa0,0xa0,0x303,0x303,0x305,0x305,0x484,0x484,0x487,0x487,0x2c00,0x2c2e,0x2c30,0x2c5e,0xa66f,0xa66f,0x1e000,0x1e006,0x1e008,0x1e018,0x1e01b,0x1e021,0x1e023,0x1e024,0x1e026,0x1e02a,]), - NotoFont.fromFlatList('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [0x20,0x20,0xa0,0xa0,0x304,0x305,0x308,0x308,0x331,0x331,0x10330,0x1034a,]), - NotoFont.fromFlatList('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x952,0x964,0x965,0xbaa,0xbaa,0xbb5,0xbb5,0xbe6,0xbf2,0x1cd0,0x1cd0,0x1cd2,0x1cd3,0x1cf2,0x1cf4,0x1cf8,0x1cf9,0x200c,0x200d,0x20f0,0x20f0,0x25cc,0x25cc,0x11300,0x11303,0x11305,0x1130c,0x1130f,0x11310,0x11313,0x11328,0x1132a,0x11330,0x11332,0x11333,0x11335,0x11339,0x1133b,0x11344,0x11347,0x11348,0x1134b,0x1134d,0x11350,0x11350,0x11357,0x11357,0x1135d,0x11363,0x11366,0x1136c,0x11370,0x11374,]), - NotoFont.fromFlatList('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v19/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xa81,0xa83,0xa85,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabc,0xac5,0xac7,0xac9,0xacb,0xacd,0xad0,0xad0,0xae0,0xae3,0xae6,0xaf1,0xaf9,0xaff,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa839,]), - NotoFont.fromFlatList('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [0x20,0x21,0x25,0x25,0x27,0x2f,0x3a,0x3a,0x3c,0x3f,0xa0,0xa0,0xd7,0xd7,0xf7,0xf7,0x200c,0x200d,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x11d60,0x11d65,0x11d67,0x11d68,0x11d6a,0x11d8e,0x11d90,0x11d91,0x11d93,0x11d98,0x11da0,0x11da9,]), - NotoFont.fromFlatList('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [0x20,0x23,0x25,0x25,0x27,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x951,0x952,0x964,0x965,0xa01,0xa03,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa3c,0xa3c,0xa3e,0xa42,0xa47,0xa48,0xa4b,0xa4d,0xa51,0xa51,0xa59,0xa5c,0xa5e,0xa5e,0xa66,0xa76,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x20b9,0x20b9,0x2212,0x2212,0x25cc,0x25cc,0x262c,0x262c,0xa830,0xa839,]), - NotoFont.fromFlatList('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3435,0x3435,0x3440,0x3440,0x344a,0x344a,0x344c,0x344c,0x3464,0x3464,0x3473,0x3473,0x347a,0x347a,0x347d,0x347e,0x3493,0x3493,0x3496,0x3496,0x34a5,0x34a5,0x34af,0x34af,0x34bc,0x34bc,0x34c1,0x34c1,0x34c8,0x34c8,0x34df,0x34df,0x34e4,0x34e4,0x34e6,0x34e6,0x34fb,0x34fb,0x3506,0x3506,0x353e,0x353e,0x3551,0x3551,0x3553,0x3553,0x3559,0x3559,0x3561,0x3561,0x356d,0x356d,0x3570,0x3570,0x3572,0x3572,0x3577,0x3578,0x3584,0x3584,0x3597,0x3598,0x35a1,0x35a1,0x35a5,0x35a5,0x35ad,0x35ad,0x35bf,0x35bf,0x35c1,0x35c1,0x35c5,0x35c5,0x35c7,0x35c7,0x35ca,0x35ca,0x35ce,0x35ce,0x35d2,0x35d2,0x35d6,0x35d6,0x35db,0x35db,0x35dd,0x35dd,0x35f1,0x35f3,0x35fb,0x35fb,0x35fe,0x35fe,0x3609,0x3609,0x3618,0x3618,0x361a,0x361a,0x3623,0x3623,0x3625,0x3625,0x362d,0x362d,0x3635,0x3635,0x3639,0x3639,0x363e,0x363e,0x3647,0x3649,0x364e,0x364e,0x365f,0x365f,0x3661,0x3661,0x367a,0x367a,0x3681,0x3681,0x369a,0x369a,0x36a5,0x36a5,0x36aa,0x36aa,0x36ac,0x36ac,0x36b0,0x36b1,0x36b5,0x36b5,0x36b9,0x36b9,0x36bc,0x36bc,0x36c1,0x36c1,0x36c3,0x36c5,0x36c7,0x36c8,0x36d3,0x36d4,0x36d6,0x36d6,0x36dd,0x36dd,0x36e1,0x36e2,0x36e5,0x36e6,0x36f5,0x36f5,0x3701,0x3701,0x3703,0x3703,0x3708,0x3708,0x370a,0x370a,0x370d,0x370d,0x371c,0x371c,0x3722,0x3723,0x3725,0x3725,0x372c,0x372d,0x3730,0x3730,0x3732,0x3733,0x373a,0x373a,0x3740,0x3740,0x3743,0x3743,0x3762,0x3762,0x376f,0x376f,0x3797,0x3797,0x37a0,0x37a0,0x37b9,0x37b9,0x37be,0x37be,0x37d6,0x37d6,0x37f2,0x37f2,0x37f8,0x37f8,0x37fb,0x37fb,0x380f,0x380f,0x3819,0x3819,0x3820,0x3820,0x382d,0x382d,0x3836,0x3836,0x3838,0x3838,0x3863,0x3863,0x3875,0x3875,0x38a0,0x38a0,0x38c3,0x38c3,0x38cc,0x38cc,0x38d1,0x38d1,0x38d4,0x38d4,0x38fa,0x38fa,0x3908,0x3908,0x3914,0x3914,0x3927,0x3927,0x3932,0x3932,0x393f,0x393f,0x394d,0x394d,0x3963,0x3963,0x3978,0x3978,0x3980,0x3980,0x3989,0x398a,0x3992,0x3992,0x3999,0x3999,0x399b,0x399b,0x39a1,0x39a1,0x39a4,0x39a4,0x39b8,0x39b8,0x39dc,0x39dc,0x39e2,0x39e2,0x39e5,0x39e5,0x39ec,0x39ec,0x39f8,0x39f8,0x39fb,0x39fb,0x39fe,0x39fe,0x3a01,0x3a01,0x3a03,0x3a03,0x3a06,0x3a06,0x3a17,0x3a18,0x3a29,0x3a2a,0x3a34,0x3a34,0x3a4b,0x3a4b,0x3a52,0x3a52,0x3a57,0x3a57,0x3a5c,0x3a5c,0x3a5e,0x3a5e,0x3a66,0x3a67,0x3a97,0x3a97,0x3aab,0x3aab,0x3abd,0x3abd,0x3ade,0x3ade,0x3ae0,0x3ae0,0x3af0,0x3af0,0x3af2,0x3af2,0x3af5,0x3af5,0x3afb,0x3afb,0x3b0e,0x3b0e,0x3b19,0x3b19,0x3b22,0x3b22,0x3b2b,0x3b2b,0x3b39,0x3b39,0x3b42,0x3b42,0x3b58,0x3b58,0x3b60,0x3b60,0x3b71,0x3b72,0x3b7b,0x3b7c,0x3b80,0x3b80,0x3b95,0x3b96,0x3b99,0x3b99,0x3ba1,0x3ba1,0x3bbc,0x3bbc,0x3bbe,0x3bbe,0x3bc2,0x3bc2,0x3bc4,0x3bc4,0x3bd7,0x3bd7,0x3bdd,0x3bdd,0x3bec,0x3bec,0x3bf2,0x3bf4,0x3c0d,0x3c0d,0x3c11,0x3c11,0x3c15,0x3c15,0x3c18,0x3c18,0x3c54,0x3c54,0x3c8b,0x3c8b,0x3ccb,0x3ccb,0x3ccd,0x3ccd,0x3cd1,0x3cd1,0x3cd6,0x3cd6,0x3cdc,0x3cdc,0x3ceb,0x3ceb,0x3cef,0x3cef,0x3d12,0x3d13,0x3d1d,0x3d1d,0x3d32,0x3d32,0x3d3b,0x3d3b,0x3d46,0x3d46,0x3d4c,0x3d4c,0x3d4e,0x3d4e,0x3d51,0x3d51,0x3d5f,0x3d5f,0x3d62,0x3d62,0x3d69,0x3d6a,0x3d6f,0x3d6f,0x3d75,0x3d75,0x3d7d,0x3d7d,0x3d85,0x3d85,0x3d88,0x3d88,0x3d8a,0x3d8a,0x3d8f,0x3d8f,0x3d91,0x3d91,0x3da5,0x3da5,0x3dad,0x3dad,0x3db4,0x3db4,0x3dbf,0x3dbf,0x3dc6,0x3dc7,0x3dc9,0x3dc9,0x3dcc,0x3dcd,0x3dd3,0x3dd3,0x3ddb,0x3ddb,0x3de7,0x3de8,0x3deb,0x3deb,0x3df3,0x3df4,0x3df7,0x3df7,0x3dfc,0x3dfd,0x3e06,0x3e06,0x3e40,0x3e40,0x3e43,0x3e43,0x3e48,0x3e48,0x3e55,0x3e55,0x3e74,0x3e74,0x3ea8,0x3eaa,0x3ead,0x3ead,0x3eb1,0x3eb1,0x3eb8,0x3eb8,0x3ebf,0x3ebf,0x3ec2,0x3ec2,0x3ec7,0x3ec7,0x3eca,0x3eca,0x3ecc,0x3ecc,0x3ed0,0x3ed1,0x3ed6,0x3ed7,0x3eda,0x3edb,0x3ede,0x3ede,0x3ee1,0x3ee2,0x3ee7,0x3ee7,0x3ee9,0x3ee9,0x3eeb,0x3eec,0x3ef0,0x3ef0,0x3ef3,0x3ef4,0x3efa,0x3efa,0x3efc,0x3efc,0x3eff,0x3f00,0x3f04,0x3f04,0x3f06,0x3f07,0x3f0e,0x3f0e,0x3f53,0x3f53,0x3f58,0x3f59,0x3f63,0x3f63,0x3f7c,0x3f7c,0x3f93,0x3f93,0x3fc0,0x3fc0,0x3fc8,0x3fc8,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x3fe5,0x3fe5,0x3fed,0x3fed,0x3ff9,0x3ffa,0x4004,0x4004,0x4009,0x4009,0x401d,0x401d,0x4039,0x4039,0x4045,0x4045,0x4053,0x4053,0x4057,0x4057,0x4062,0x4062,0x4065,0x4065,0x406a,0x406a,0x406f,0x406f,0x4071,0x4071,0x40a8,0x40a8,0x40b4,0x40b4,0x40bb,0x40bb,0x40bf,0x40bf,0x40c8,0x40c8,0x40d8,0x40d8,0x40df,0x40df,0x40f8,0x40f8,0x40fa,0x40fa,0x4102,0x4104,0x4109,0x4109,0x410e,0x410e,0x4131,0x4132,0x4167,0x4167,0x416c,0x416c,0x416e,0x416e,0x417c,0x417c,0x417f,0x417f,0x4181,0x4181,0x4190,0x4190,0x41b2,0x41b2,0x41c4,0x41c4,0x41ca,0x41ca,0x41cf,0x41cf,0x41db,0x41db,0x41ed,0x41ed,0x41ef,0x41ef,0x41f9,0x41f9,0x4211,0x4211,0x4223,0x4223,0x4240,0x4240,0x4260,0x4260,0x426a,0x426a,0x4276,0x4276,0x427a,0x427a,0x428c,0x428c,0x4294,0x4294,0x42a2,0x42a2,0x42b5,0x42b5,0x42b9,0x42b9,0x42bc,0x42bc,0x42f4,0x42f4,0x42fb,0x42fc,0x430a,0x430a,0x432b,0x432b,0x436e,0x436e,0x4397,0x4397,0x439a,0x439a,0x43ba,0x43ba,0x43c1,0x43c1,0x43d9,0x43d9,0x43df,0x43df,0x43ed,0x43ed,0x43f0,0x43f0,0x43f2,0x43f2,0x4401,0x4402,0x4413,0x4413,0x4425,0x4425,0x442d,0x442d,0x447a,0x447a,0x448f,0x448f,0x4491,0x4491,0x449f,0x44a0,0x44a2,0x44a2,0x44b0,0x44b0,0x44b7,0x44b7,0x44bd,0x44bd,0x44c0,0x44c0,0x44c3,0x44c3,0x44c5,0x44c5,0x44ce,0x44ce,0x44dd,0x44df,0x44e1,0x44e1,0x44e4,0x44e4,0x44e9,0x44ec,0x44f4,0x44f4,0x4503,0x4504,0x4509,0x4509,0x450b,0x450b,0x4516,0x4516,0x451b,0x451b,0x451d,0x451d,0x4527,0x4527,0x452e,0x452e,0x4533,0x4533,0x4536,0x4536,0x453b,0x453b,0x453d,0x453d,0x453f,0x453f,0x4543,0x4543,0x4551,0x4552,0x4555,0x4555,0x4558,0x4558,0x455c,0x455c,0x4561,0x4562,0x456a,0x456a,0x456d,0x456d,0x4577,0x4578,0x4585,0x4585,0x45a6,0x45a6,0x45b3,0x45b3,0x45da,0x45da,0x45e9,0x45ea,0x4603,0x4603,0x4606,0x4606,0x460f,0x460f,0x4615,0x4615,0x4617,0x4617,0x465b,0x465b,0x467a,0x467a,0x4680,0x4680,0x46a1,0x46a1,0x46ae,0x46ae,0x46bb,0x46bb,0x46cf,0x46d0,0x46f5,0x46f5,0x46f7,0x46f7,0x4713,0x4713,0x4718,0x4718,0x4736,0x4736,0x4744,0x4744,0x474e,0x474f,0x477c,0x477c,0x4798,0x4798,0x47a6,0x47a6,0x47d5,0x47d5,0x47ed,0x47ed,0x47f4,0x47f4,0x4800,0x4800,0x480b,0x480b,0x4837,0x4837,0x485d,0x485d,0x4871,0x4871,0x489b,0x489b,0x48ad,0x48ae,0x48d0,0x48d0,0x48dd,0x48dd,0x48ed,0x48ed,0x48f3,0x48f3,0x48fa,0x48fa,0x4906,0x4906,0x4911,0x4911,0x491e,0x491e,0x4925,0x4925,0x492a,0x492a,0x492d,0x492d,0x492f,0x4930,0x4935,0x4935,0x493c,0x493c,0x493e,0x493e,0x4945,0x4945,0x4951,0x4951,0x4953,0x4953,0x4965,0x4965,0x496a,0x496a,0x4972,0x4972,0x4989,0x4989,0x49a1,0x49a1,0x49a7,0x49a7,0x49df,0x49df,0x49e5,0x49e5,0x49e7,0x49e7,0x4a0f,0x4a0f,0x4a1d,0x4a1d,0x4a24,0x4a24,0x4a35,0x4a35,0x4a96,0x4a96,0x4aa4,0x4aa4,0x4ab4,0x4ab4,0x4ab8,0x4ab8,0x4ad1,0x4ad1,0x4ae4,0x4ae4,0x4aff,0x4aff,0x4b10,0x4b10,0x4b19,0x4b19,0x4b20,0x4b20,0x4b2c,0x4b2c,0x4b37,0x4b37,0x4b6f,0x4b70,0x4b72,0x4b72,0x4b7b,0x4b7b,0x4b7e,0x4b7e,0x4b8e,0x4b8e,0x4b90,0x4b90,0x4b93,0x4b93,0x4b96,0x4b97,0x4b9d,0x4b9d,0x4bbd,0x4bbe,0x4bc0,0x4bc0,0x4c04,0x4c04,0x4c07,0x4c07,0x4c0e,0x4c0e,0x4c32,0x4c32,0x4c3b,0x4c3b,0x4c3e,0x4c3e,0x4c40,0x4c40,0x4c47,0x4c47,0x4c57,0x4c57,0x4c5b,0x4c5b,0x4c6d,0x4c6d,0x4c77,0x4c77,0x4c7b,0x4c7b,0x4c7d,0x4c7d,0x4c81,0x4c81,0x4c85,0x4c85,0x4ca4,0x4ca4,0x4cae,0x4cae,0x4cb0,0x4cb0,0x4cb7,0x4cb7,0x4ccd,0x4ccd,0x4ce1,0x4ce2,0x4ced,0x4ced,0x4d07,0x4d07,0x4d09,0x4d09,0x4d10,0x4d10,0x4d34,0x4d34,0x4d76,0x4d77,0x4d89,0x4d89,0x4d91,0x4d91,0x4d9c,0x4d9c,0x4e00,0x4e01,0x4e03,0x4e04,0x4e07,0x4e11,0x4e14,0x4e16,0x4e18,0x4e1a,0x4e1c,0x4e1c,0x4e1e,0x4e1f,0x4e21,0x4e22,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2a,0x4e33,0x4e36,0x4e39,0x4e3b,0x4e3d,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e47,0x4e49,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e52,0x4e53,0x4e56,0x4e56,0x4e58,0x4e5f,0x4e69,0x4e6a,0x4e73,0x4e73,0x4e78,0x4e78,0x4e7e,0x4e89,0x4e8b,0x4e8e,0x4e91,0x4e95,0x4e98,0x4e9b,0x4e9e,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb3,0x4eb3,0x4eb6,0x4eb7,0x4eb9,0x4ebc,0x4ebf,0x4ec4,0x4ec6,0x4ecb,0x4ecd,0x4ece,0x4ed4,0x4eda,0x4edc,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4ee8,0x4eeb,0x4eee,0x4eee,0x4ef0,0x4ef8,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f05,0x4f08,0x4f0b,0x4f0d,0x4f15,0x4f17,0x4f1a,0x4f1d,0x4f1d,0x4f22,0x4f22,0x4f28,0x4f29,0x4f2c,0x4f2d,0x4f2f,0x4f30,0x4f32,0x4f34,0x4f36,0x4f3f,0x4f41,0x4f43,0x4f45,0x4f49,0x4f4b,0x4f64,0x4f67,0x4f67,0x4f69,0x4f6c,0x4f6e,0x4f70,0x4f72,0x4f8b,0x4f8d,0x4f8d,0x4f8f,0x4f92,0x4f94,0x4f98,0x4f9a,0x4f9e,0x4fa2,0x4fa2,0x4fa8,0x4fa8,0x4fab,0x4fab,0x4fae,0x4fb0,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbd,0x4fbd,0x4fbf,0x4fc5,0x4fc7,0x4fd1,0x4fd3,0x4fd4,0x4fd6,0x4fe1,0x4fe4,0x4fe5,0x4fec,0x4fec,0x4fee,0x4ffa,0x4ffd,0x4ffe,0x5000,0x5000,0x5003,0x5003,0x5005,0x5009,0x500b,0x500f,0x5011,0x501c,0x501e,0x5023,0x5025,0x5031,0x5033,0x5035,0x5037,0x5037,0x503b,0x503c,0x5040,0x5041,0x5043,0x5043,0x5045,0x504f,0x5051,0x5051,0x5053,0x5053,0x5055,0x5058,0x505a,0x5066,0x5068,0x5070,0x5072,0x5077,0x507a,0x507a,0x507d,0x507d,0x5080,0x5083,0x5085,0x5085,0x5087,0x5088,0x508b,0x508e,0x5090,0x5092,0x5094,0x5096,0x5098,0x509e,0x50a2,0x50a3,0x50a6,0x50a6,0x50ac,0x50b8,0x50ba,0x50bf,0x50c1,0x50c2,0x50c4,0x50cb,0x50cd,0x50d1,0x50d3,0x50d7,0x50d9,0x50db,0x50dd,0x50dd,0x50df,0x50e1,0x50e3,0x50ea,0x50ec,0x50f1,0x50f3,0x50f6,0x50f8,0x50f9,0x50fb,0x510e,0x5110,0x5115,0x5117,0x5118,0x511a,0x511a,0x511c,0x511c,0x511f,0x5122,0x5124,0x5126,0x5129,0x512b,0x512d,0x512e,0x5130,0x5135,0x5137,0x513d,0x513f,0x5141,0x5143,0x5149,0x514b,0x514d,0x5151,0x5152,0x5154,0x5157,0x5159,0x5163,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5174,0x5179,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x518a,0x518d,0x518d,0x518f,0x518f,0x5191,0x5198,0x519a,0x519a,0x519c,0x519c,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a2,0x51a4,0x51a5,0x51a7,0x51a8,0x51aa,0x51ac,0x51ae,0x51ae,0x51b0,0x51b9,0x51bc,0x51be,0x51c3,0x51d4,0x51d7,0x51d8,0x51db,0x51e2,0x51e4,0x51e4,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fc,0x51fe,0x5200,0x5203,0x5205,0x520c,0x520e,0x520e,0x5210,0x5213,0x5216,0x5217,0x521c,0x5221,0x5224,0x522a,0x522e,0x522e,0x5230,0x5238,0x523a,0x523c,0x5241,0x5241,0x5243,0x5244,0x5246,0x5247,0x5249,0x524f,0x5252,0x5252,0x5254,0x5257,0x5259,0x5262,0x5268,0x526f,0x5272,0x5275,0x5277,0x527d,0x527f,0x5284,0x5287,0x528d,0x528f,0x5291,0x5293,0x5294,0x5296,0x529b,0x529f,0x52a1,0x52a3,0x52a4,0x52a6,0x52a6,0x52a8,0x52ae,0x52b5,0x52b5,0x52b9,0x52b9,0x52bb,0x52bc,0x52be,0x52be,0x52c0,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d0,0x52d3,0x52d5,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52e9,0x52e9,0x52eb,0x52eb,0x52ef,0x52f1,0x52f3,0x52f5,0x52f7,0x52fc,0x52fe,0x52ff,0x5301,0x5301,0x5305,0x5306,0x5308,0x530b,0x530d,0x5312,0x5315,0x5317,0x5319,0x531a,0x531c,0x531d,0x531f,0x5324,0x5327,0x5327,0x532a,0x532a,0x532c,0x532d,0x532f,0x5334,0x5337,0x5339,0x533b,0x5345,0x5347,0x534a,0x534c,0x534e,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x5361,0x5363,0x5364,0x5366,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x5379,0x537b,0x537f,0x5382,0x5382,0x5384,0x5384,0x538a,0x538a,0x538e,0x538f,0x5392,0x5394,0x5396,0x539a,0x539c,0x53a0,0x53a2,0x53a2,0x53a4,0x53ae,0x53b0,0x53b0,0x53b2,0x53b2,0x53b4,0x53b4,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c1,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d0,0x53d2,0x53d4,0x53d4,0x53d6,0x53db,0x53df,0x53e6,0x53e8,0x53f3,0x53f5,0x53f8,0x53fb,0x53fc,0x53fe,0x53fe,0x5401,0x5401,0x5403,0x5404,0x5406,0x5414,0x5416,0x5416,0x5418,0x5421,0x5423,0x5439,0x543b,0x5443,0x5445,0x5448,0x544a,0x544f,0x5454,0x5454,0x5460,0x546d,0x546f,0x5478,0x547a,0x5482,0x5484,0x5488,0x548b,0x5498,0x549a,0x549a,0x549c,0x549c,0x549e,0x549e,0x54a0,0x54b4,0x54b6,0x54c9,0x54cb,0x54d0,0x54d6,0x54d6,0x54da,0x54da,0x54de,0x54de,0x54e0,0x54eb,0x54ed,0x54ef,0x54f1,0x54f3,0x54f7,0x54f8,0x54fa,0x54fd,0x54ff,0x54ff,0x5501,0x5514,0x5517,0x5518,0x551a,0x551a,0x551e,0x551e,0x5523,0x5523,0x5525,0x5528,0x552a,0x5539,0x553b,0x553c,0x553e,0x5541,0x5543,0x554b,0x554d,0x5553,0x5555,0x5557,0x555c,0x555f,0x5561,0x5566,0x5569,0x556b,0x5571,0x5573,0x5575,0x5577,0x5579,0x5579,0x557b,0x5584,0x5586,0x5595,0x5598,0x559a,0x559c,0x559d,0x559f,0x559f,0x55a1,0x55ae,0x55b0,0x55b5,0x55b9,0x55bc,0x55bf,0x55df,0x55e1,0x55ea,0x55ec,0x55ec,0x55ee,0x55f2,0x55f5,0x55f7,0x55f9,0x5602,0x5604,0x5606,0x5608,0x5609,0x560c,0x5617,0x561b,0x5623,0x5625,0x5625,0x5627,0x5627,0x5629,0x562a,0x562c,0x5630,0x5632,0x563b,0x563d,0x5643,0x5645,0x5646,0x5648,0x564a,0x564c,0x5650,0x5652,0x5654,0x5657,0x565a,0x565d,0x565e,0x5660,0x5666,0x5668,0x5674,0x5676,0x567c,0x567e,0x5687,0x5689,0x5690,0x5692,0x5693,0x5695,0x5695,0x5697,0x569a,0x569c,0x569f,0x56a1,0x56a1,0x56a4,0x56a8,0x56aa,0x56af,0x56b1,0x56b7,0x56b9,0x56b9,0x56bc,0x56c3,0x56c5,0x56c6,0x56c8,0x56cd,0x56d1,0x56d1,0x56d3,0x56d4,0x56d6,0x56d7,0x56da,0x56db,0x56dd,0x56e2,0x56e4,0x56e5,0x56e7,0x56e7,0x56ea,0x56eb,0x56ed,0x56f1,0x56f7,0x56f7,0x56f9,0x56fb,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x5712,0x5716,0x5718,0x5718,0x571a,0x5720,0x5722,0x5723,0x5728,0x572a,0x572c,0x5730,0x5732,0x5734,0x573b,0x573b,0x573d,0x5743,0x5745,0x5747,0x5749,0x5752,0x5754,0x5754,0x5757,0x5757,0x575b,0x575b,0x575f,0x575f,0x5761,0x5762,0x5764,0x5764,0x5766,0x576b,0x576d,0x576d,0x576f,0x5777,0x577a,0x5780,0x5782,0x5783,0x5788,0x5788,0x578a,0x578d,0x578f,0x5790,0x5793,0x5795,0x5797,0x57a5,0x57a7,0x57a7,0x57aa,0x57aa,0x57ae,0x57ae,0x57b3,0x57b6,0x57b8,0x57bf,0x57c1,0x57c4,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57d0,0x57d2,0x57d2,0x57d4,0x57d5,0x57d7,0x57d7,0x57dc,0x57e7,0x57e9,0x57e9,0x57ec,0x57fe,0x5800,0x580e,0x5810,0x5810,0x5812,0x5812,0x5814,0x5814,0x5818,0x5819,0x581b,0x581e,0x5820,0x582a,0x582c,0x583b,0x583d,0x583d,0x583f,0x5840,0x5844,0x5844,0x5847,0x584f,0x5851,0x5855,0x5857,0x585f,0x5862,0x5865,0x5868,0x5869,0x586b,0x586d,0x586f,0x586f,0x5871,0x5876,0x5879,0x5883,0x5885,0x588b,0x588e,0x5894,0x5896,0x5896,0x5898,0x589a,0x589c,0x58a1,0x58a3,0x58a3,0x58a5,0x58ac,0x58ae,0x58b1,0x58b3,0x58b3,0x58b5,0x58b6,0x58ba,0x58bf,0x58c1,0x58c2,0x58c5,0x58c9,0x58cb,0x58cb,0x58ce,0x58d6,0x58d8,0x58e0,0x58e2,0x58e4,0x58e7,0x58e9,0x58eb,0x58ec,0x58ef,0x58f0,0x58f2,0x58f4,0x58f9,0x58ff,0x5902,0x5907,0x590a,0x590a,0x590c,0x590f,0x5911,0x5912,0x5914,0x5917,0x5919,0x591a,0x591c,0x591d,0x591f,0x5920,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5934,0x5934,0x5937,0x5938,0x593c,0x593c,0x593e,0x593e,0x5940,0x5940,0x5944,0x5945,0x5947,0x594a,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5962,0x5965,0x5965,0x5967,0x5967,0x5969,0x596e,0x5970,0x5979,0x597b,0x5985,0x5989,0x598a,0x598d,0x5990,0x5992,0x5994,0x5996,0x599a,0x599d,0x59a8,0x59ac,0x59ac,0x59ae,0x59c1,0x59c3,0x59d4,0x59d6,0x59d6,0x59d8,0x59de,0x59e0,0x59e1,0x59e3,0x59e6,0x59e8,0x5a03,0x5a09,0x5a0d,0x5a0f,0x5a0f,0x5a11,0x5a13,0x5a15,0x5a1c,0x5a1e,0x5a21,0x5a23,0x5a25,0x5a27,0x5a27,0x5a29,0x5a2e,0x5a33,0x5a33,0x5a35,0x5a39,0x5a3c,0x5a3e,0x5a40,0x5a4a,0x5a4c,0x5a4d,0x5a50,0x5a6e,0x5a70,0x5a71,0x5a77,0x5a7f,0x5a81,0x5a84,0x5a86,0x5a86,0x5a88,0x5a88,0x5a8a,0x5a8c,0x5a8e,0x5a97,0x5a99,0x5aa2,0x5aa4,0x5aa7,0x5aa9,0x5aac,0x5aae,0x5ac4,0x5ac6,0x5acf,0x5ad1,0x5ad1,0x5ad3,0x5ad3,0x5ad5,0x5ae6,0x5ae8,0x5aee,0x5af0,0x5af0,0x5af2,0x5afb,0x5afd,0x5aff,0x5b01,0x5b03,0x5b05,0x5b05,0x5b07,0x5b09,0x5b0b,0x5b0d,0x5b0f,0x5b11,0x5b13,0x5b17,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b23,0x5b28,0x5b2a,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b38,0x5b38,0x5b3c,0x5b41,0x5b43,0x5b48,0x5b4a,0x5b51,0x5b53,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b62,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6e,0x5b70,0x5b78,0x5b7a,0x5b7d,0x5b7f,0x5b85,0x5b87,0x5b89,0x5b8b,0x5b8c,0x5b8e,0x5b90,0x5b92,0x5b93,0x5b95,0x5b9f,0x5ba2,0x5ba8,0x5baa,0x5baa,0x5bac,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb9,0x5bbf,0x5bc7,0x5bca,0x5bce,0x5bd0,0x5bd9,0x5bdb,0x5bdb,0x5bde,0x5bec,0x5bee,0x5bf3,0x5bf5,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c03,0x5c05,0x5c07,0x5c16,0x5c1a,0x5c1a,0x5c1c,0x5c1c,0x5c1e,0x5c20,0x5c22,0x5c25,0x5c28,0x5c28,0x5c2a,0x5c2a,0x5c2c,0x5c2c,0x5c30,0x5c31,0x5c33,0x5c33,0x5c37,0x5c3c,0x5c3e,0x5c41,0x5c44,0x5c51,0x5c53,0x5c56,0x5c58,0x5c59,0x5c5c,0x5c5e,0x5c60,0x5c60,0x5c62,0x5c65,0x5c67,0x5c6a,0x5c6c,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c74,0x5c78,0x5c7c,0x5c7e,0x5c7e,0x5c83,0x5c83,0x5c85,0x5c86,0x5c88,0x5c8d,0x5c8f,0x5c95,0x5c99,0x5c9a,0x5c9c,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb8,0x5cba,0x5cba,0x5cc1,0x5cc2,0x5cc6,0x5ccc,0x5cce,0x5cdb,0x5cde,0x5cdf,0x5ce5,0x5ce5,0x5ce8,0x5cea,0x5cec,0x5cf1,0x5cf4,0x5cf9,0x5cfb,0x5cfd,0x5cff,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d20,0x5d22,0x5d29,0x5d2c,0x5d2c,0x5d2e,0x5d3a,0x5d3c,0x5d43,0x5d45,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d52,0x5d55,0x5d57,0x5d59,0x5d59,0x5d5b,0x5d5b,0x5d5e,0x5d5e,0x5d62,0x5d63,0x5d65,0x5d65,0x5d67,0x5d69,0x5d6b,0x5d6c,0x5d6f,0x5d72,0x5d74,0x5d74,0x5d77,0x5d82,0x5d84,0x5d8b,0x5d8d,0x5d8e,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d9a,0x5d9c,0x5da2,0x5da4,0x5da4,0x5da7,0x5db2,0x5db4,0x5dba,0x5dbc,0x5dbd,0x5dc0,0x5dc3,0x5dc6,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dcf,0x5dcf,0x5dd1,0x5dd2,0x5dd4,0x5dd8,0x5ddb,0x5ddb,0x5ddd,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df0,0x5df5,0x5df7,0x5df7,0x5df9,0x5df9,0x5dfd,0x5dff,0x5e02,0x5e04,0x5e06,0x5e06,0x5e09,0x5e0c,0x5e0e,0x5e0e,0x5e11,0x5e12,0x5e14,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e25,0x5e28,0x5e29,0x5e2b,0x5e2b,0x5e2d,0x5e2e,0x5e33,0x5e34,0x5e36,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e45,0x5e48,0x5e48,0x5e4a,0x5e4f,0x5e53,0x5e55,0x5e57,0x5e59,0x5e5b,0x5e63,0x5e66,0x5e70,0x5e72,0x5e76,0x5e78,0x5e80,0x5e82,0x5e84,0x5e86,0x5e8d,0x5e8f,0x5e8f,0x5e92,0x5e92,0x5e95,0x5e97,0x5e99,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea8,0x5eaa,0x5eae,0x5eb0,0x5eb9,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec4,0x5ece,0x5ed0,0x5ee3,0x5ee5,0x5ee9,0x5eec,0x5eec,0x5eee,0x5eef,0x5ef1,0x5ef4,0x5ef6,0x5efc,0x5efe,0x5eff,0x5f01,0x5f02,0x5f04,0x5f05,0x5f07,0x5f08,0x5f0a,0x5f0f,0x5f12,0x5f15,0x5f17,0x5f18,0x5f1a,0x5f1b,0x5f1d,0x5f1d,0x5f1f,0x5f1f,0x5f22,0x5f29,0x5f2d,0x5f2e,0x5f30,0x5f31,0x5f33,0x5f33,0x5f35,0x5f38,0x5f3a,0x5f3c,0x5f40,0x5f40,0x5f43,0x5f46,0x5f48,0x5f51,0x5f54,0x5f54,0x5f56,0x5f59,0x5f5c,0x5f5e,0x5f61,0x5f65,0x5f67,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f74,0x5f76,0x5f79,0x5f7b,0x5f83,0x5f85,0x5f8c,0x5f90,0x5f92,0x5f96,0x5f99,0x5f9b,0x5f9c,0x5f9e,0x5fa1,0x5fa4,0x5faf,0x5fb1,0x5fb2,0x5fb5,0x5fb7,0x5fb9,0x5fc5,0x5fc9,0x5fc9,0x5fcc,0x5fcd,0x5fcf,0x5fd2,0x5fd4,0x5fd9,0x5fdb,0x5fdb,0x5fdd,0x5fe1,0x5fe3,0x5fe5,0x5fe8,0x5fe8,0x5fea,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff3,0x5ff5,0x5ff7,0x5ff8,0x5ffa,0x5ffb,0x5ffd,0x5ffd,0x5fff,0x6000,0x6009,0x6017,0x6019,0x601e,0x6020,0x602f,0x6031,0x6035,0x6037,0x6037,0x6039,0x6039,0x603b,0x603b,0x6040,0x6047,0x6049,0x604d,0x6050,0x6050,0x6052,0x6055,0x6058,0x605b,0x605d,0x605f,0x6062,0x6070,0x6072,0x6072,0x6075,0x6075,0x6077,0x6077,0x607e,0x6081,0x6083,0x608a,0x608c,0x608e,0x6090,0x6090,0x6092,0x6092,0x6094,0x6097,0x609a,0x60a0,0x60a2,0x60a4,0x60a6,0x60a8,0x60b0,0x60c1,0x60c3,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d7,0x60e4,0x60e6,0x60e9,0x60f0,0x6101,0x6103,0x6110,0x6112,0x6116,0x6118,0x611d,0x611f,0x6120,0x6122,0x6123,0x6127,0x6129,0x612b,0x612c,0x612e,0x6130,0x6132,0x6132,0x6134,0x6134,0x6136,0x6137,0x613b,0x613b,0x613d,0x6142,0x6144,0x6150,0x6152,0x6156,0x6158,0x6168,0x616a,0x616c,0x616e,0x6177,0x6179,0x617a,0x617c,0x617e,0x6180,0x6183,0x6187,0x6187,0x6189,0x618e,0x6190,0x6196,0x6198,0x619d,0x619f,0x619f,0x61a1,0x61a2,0x61a4,0x61a4,0x61a7,0x61ba,0x61bc,0x61bc,0x61be,0x61c3,0x61c5,0x61cd,0x61cf,0x61d0,0x61d3,0x61d3,0x61d6,0x61d6,0x61d8,0x61d8,0x61da,0x61da,0x61de,0x61e0,0x61e2,0x61eb,0x61ed,0x61ee,0x61f0,0x61f2,0x61f5,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6219,0x621b,0x621f,0x6225,0x6227,0x6227,0x6229,0x622e,0x6230,0x6230,0x6232,0x6234,0x6236,0x6237,0x6239,0x623a,0x623d,0x6243,0x6246,0x624e,0x6250,0x6254,0x6258,0x625c,0x625e,0x625e,0x6260,0x6266,0x6268,0x6268,0x626d,0x6274,0x6276,0x6277,0x6279,0x628a,0x628c,0x628c,0x628e,0x6298,0x629d,0x629d,0x62a4,0x62a4,0x62a6,0x62a6,0x62a8,0x62b1,0x62b3,0x62b6,0x62b8,0x62b9,0x62bb,0x62bf,0x62c1,0x62dc,0x62df,0x62df,0x62e5,0x62e5,0x62eb,0x6303,0x6307,0x6309,0x630b,0x6311,0x6313,0x6316,0x6318,0x6318,0x6328,0x632f,0x6331,0x633e,0x6340,0x6351,0x6354,0x635a,0x635d,0x635d,0x6364,0x6365,0x6367,0x6369,0x636b,0x6372,0x6375,0x637d,0x637f,0x6385,0x6387,0x6392,0x6394,0x6394,0x6396,0x6399,0x639b,0x63a5,0x63a7,0x63b1,0x63b9,0x63b9,0x63bd,0x63be,0x63c0,0x63d3,0x63d5,0x63eb,0x63ed,0x63f6,0x63f8,0x63f9,0x63fb,0x63fc,0x63fe,0x63fe,0x6406,0x6407,0x6409,0x6410,0x6412,0x6418,0x641a,0x641c,0x641e,0x6428,0x642a,0x6430,0x6432,0x643b,0x643d,0x6441,0x6443,0x6443,0x644b,0x644b,0x644d,0x644e,0x6450,0x6454,0x6458,0x6461,0x6465,0x6469,0x646b,0x647d,0x647f,0x647f,0x6482,0x6482,0x6485,0x6485,0x6487,0x648d,0x648f,0x6493,0x6495,0x649a,0x649c,0x64a0,0x64a2,0x64a6,0x64a9,0x64a9,0x64ab,0x64b4,0x64b6,0x64b6,0x64bb,0x64c5,0x64c7,0x64c7,0x64c9,0x64cb,0x64cd,0x64d0,0x64d2,0x64d4,0x64d6,0x64db,0x64dd,0x64dd,0x64e0,0x64ed,0x64ef,0x64f4,0x64f7,0x64f8,0x64fa,0x6501,0x6503,0x6504,0x6506,0x6507,0x6509,0x650a,0x650c,0x6511,0x6513,0x6519,0x651b,0x6526,0x6529,0x6530,0x6532,0x6539,0x653b,0x653b,0x653d,0x653f,0x6541,0x6541,0x6543,0x6543,0x6545,0x6546,0x6548,0x654a,0x654d,0x654d,0x654f,0x654f,0x6551,0x6551,0x6553,0x655a,0x655c,0x655f,0x6562,0x6568,0x656a,0x656d,0x656f,0x656f,0x6572,0x657c,0x657f,0x6589,0x658b,0x658c,0x6590,0x6592,0x6594,0x6597,0x6599,0x6599,0x659b,0x65a2,0x65a4,0x65a5,0x65a7,0x65a8,0x65aa,0x65ac,0x65ae,0x65b0,0x65b2,0x65b3,0x65b5,0x65b9,0x65bb,0x65bf,0x65c1,0x65c6,0x65cb,0x65d4,0x65d6,0x65d7,0x65da,0x65db,0x65dd,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65f5,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6615,0x6618,0x6618,0x661c,0x6628,0x662b,0x662b,0x662d,0x6636,0x6639,0x663a,0x6641,0x6645,0x6647,0x664d,0x664f,0x664f,0x6651,0x6653,0x6657,0x6657,0x6659,0x6668,0x666a,0x666c,0x666e,0x6674,0x6676,0x667e,0x6680,0x6680,0x6684,0x668e,0x6690,0x6692,0x6694,0x669a,0x669d,0x669d,0x669f,0x66a2,0x66a4,0x66a4,0x66a8,0x66ab,0x66ad,0x66bb,0x66bd,0x66c0,0x66c4,0x66c4,0x66c6,0x66cf,0x66d2,0x66d2,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e4,0x66e6,0x66e9,0x66eb,0x66ee,0x66f0,0x66f4,0x66f6,0x66f9,0x66fc,0x66fc,0x66fe,0x6705,0x6708,0x6710,0x6712,0x6719,0x671b,0x671b,0x671d,0x6723,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6736,0x6738,0x673f,0x6744,0x6749,0x674b,0x6751,0x6753,0x6753,0x6755,0x6757,0x6759,0x675a,0x675c,0x6762,0x6767,0x6767,0x676a,0x677f,0x6781,0x6787,0x6789,0x6789,0x678b,0x6795,0x6797,0x679a,0x679c,0x679d,0x679f,0x67a0,0x67a4,0x67a4,0x67ac,0x67ac,0x67ae,0x67bb,0x67bf,0x67c6,0x67c8,0x67d4,0x67d6,0x67df,0x67e2,0x67e7,0x67e9,0x67fa,0x67fc,0x67fc,0x67fe,0x6804,0x680d,0x680d,0x6810,0x6810,0x6812,0x6814,0x6816,0x6818,0x681a,0x6822,0x6825,0x6826,0x6828,0x682b,0x682d,0x682f,0x6831,0x683e,0x6840,0x6851,0x6853,0x6856,0x685d,0x685d,0x6865,0x6865,0x686b,0x686b,0x686d,0x686f,0x6871,0x6872,0x6874,0x6879,0x687b,0x688c,0x688f,0x6894,0x6896,0x6898,0x689b,0x689d,0x689f,0x68a4,0x68a6,0x68b6,0x68b9,0x68b9,0x68bd,0x68bd,0x68c1,0x68c1,0x68c3,0x68ce,0x68d0,0x68d8,0x68da,0x68da,0x68dc,0x68e1,0x68e3,0x68e4,0x68e6,0x68ec,0x68ee,0x68fd,0x6900,0x6915,0x6917,0x691b,0x6925,0x6925,0x692a,0x692a,0x692c,0x692c,0x692f,0x6930,0x6932,0x6939,0x693b,0x6946,0x6948,0x694c,0x694e,0x694f,0x6951,0x697b,0x6980,0x6980,0x6982,0x6983,0x6985,0x6986,0x698a,0x698a,0x698d,0x698e,0x6990,0x6991,0x6993,0x699c,0x699e,0x69b7,0x69b9,0x69b9,0x69bb,0x69c4,0x69c6,0x69c6,0x69c9,0x69d1,0x69d3,0x69d6,0x69d9,0x69d9,0x69e1,0x69e2,0x69e4,0x69e9,0x69eb,0x69ee,0x69f1,0x69f4,0x69f6,0x6a0d,0x6a0f,0x6a0f,0x6a11,0x6a11,0x6a13,0x6a21,0x6a23,0x6a23,0x6a25,0x6a29,0x6a2b,0x6a2d,0x6a32,0x6a35,0x6a38,0x6a41,0x6a43,0x6a49,0x6a4b,0x6a5b,0x6a5d,0x6a6b,0x6a6d,0x6a6d,0x6a6f,0x6a6f,0x6a71,0x6a71,0x6a74,0x6a74,0x6a76,0x6a76,0x6a7a,0x6a7a,0x6a7e,0x6a85,0x6a87,0x6a87,0x6a89,0x6a8a,0x6a8c,0x6a97,0x6a99,0x6aa8,0x6aab,0x6aaf,0x6ab1,0x6abb,0x6abd,0x6abe,0x6ac2,0x6ac3,0x6ac5,0x6acd,0x6acf,0x6ad1,0x6ad3,0x6ad4,0x6ad8,0x6ae1,0x6ae5,0x6ae5,0x6ae7,0x6ae8,0x6aea,0x6aec,0x6aee,0x6af1,0x6af3,0x6af3,0x6af6,0x6af6,0x6af8,0x6afc,0x6b00,0x6b00,0x6b02,0x6b05,0x6b08,0x6b0b,0x6b0f,0x6b13,0x6b16,0x6b1a,0x6b1d,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b25,0x6b25,0x6b28,0x6b28,0x6b2c,0x6b2d,0x6b2f,0x6b2f,0x6b31,0x6b3f,0x6b41,0x6b43,0x6b45,0x6b4e,0x6b50,0x6b52,0x6b54,0x6b57,0x6b59,0x6b59,0x6b5b,0x6b5c,0x6b5e,0x6b67,0x6b6a,0x6b6a,0x6b6d,0x6b6d,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b74,0x6b74,0x6b76,0x6b7b,0x6b7e,0x6b84,0x6b86,0x6b86,0x6b88,0x6b8a,0x6b8c,0x6b8f,0x6b91,0x6b91,0x6b94,0x6b99,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba7,0x6baa,0x6bab,0x6bad,0x6bb0,0x6bb2,0x6bb3,0x6bb5,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc3,0x6bcd,0x6bcf,0x6bd0,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdc,0x6bde,0x6bde,0x6be0,0x6be4,0x6be6,0x6be8,0x6bea,0x6bec,0x6bef,0x6bf0,0x6bf2,0x6bf3,0x6bf7,0x6c06,0x6c08,0x6c09,0x6c0b,0x6c0d,0x6c0f,0x6c11,0x6c13,0x6c16,0x6c18,0x6c1d,0x6c1f,0x6c21,0x6c23,0x6c28,0x6c2a,0x6c2c,0x6c2e,0x6c3b,0x6c3d,0x6c43,0x6c46,0x6c46,0x6c49,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c61,0x6c65,0x6c6b,0x6c6d,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9d,0x6c9f,0x6c9f,0x6ca2,0x6ca2,0x6caa,0x6cb4,0x6cb6,0x6cc7,0x6cc9,0x6cd7,0x6cd9,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf3,0x6cf5,0x6cf5,0x6cf9,0x6cf9,0x6cff,0x6d12,0x6d16,0x6d1b,0x6d1d,0x6d20,0x6d22,0x6d22,0x6d24,0x6d42,0x6d4e,0x6d4e,0x6d57,0x6d5c,0x6d5e,0x6d6a,0x6d6c,0x6d72,0x6d74,0x6d98,0x6d9a,0x6d9a,0x6da4,0x6da5,0x6daa,0x6dac,0x6dae,0x6daf,0x6db1,0x6db5,0x6db7,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dcd,0x6dcf,0x6de6,0x6de8,0x6df7,0x6df9,0x6dfe,0x6e00,0x6e00,0x6e02,0x6e05,0x6e0a,0x6e0a,0x6e0f,0x6e0f,0x6e15,0x6e15,0x6e18,0x6e1d,0x6e1f,0x6e36,0x6e38,0x6e41,0x6e43,0x6e47,0x6e49,0x6e4b,0x6e4d,0x6e69,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e71,0x6e74,0x6e76,0x6e79,0x6e7c,0x6e7c,0x6e86,0x6e86,0x6e88,0x6e89,0x6e8b,0x6e8b,0x6e8d,0x6e90,0x6e92,0x6e94,0x6e96,0x6ea7,0x6eaa,0x6eab,0x6eae,0x6ed6,0x6ed8,0x6edd,0x6ee2,0x6ee2,0x6ee8,0x6ee9,0x6eeb,0x6eef,0x6ef1,0x6ef2,0x6ef4,0x6f0f,0x6f12,0x6f1a,0x6f1c,0x6f1c,0x6f1e,0x6f27,0x6f29,0x6f41,0x6f43,0x6f44,0x6f4e,0x6f58,0x6f5a,0x6f64,0x6f66,0x6f67,0x6f69,0x6f70,0x6f72,0x6f74,0x6f76,0x6f82,0x6f84,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f97,0x6f9d,0x6fb6,0x6fb8,0x6fc4,0x6fc6,0x6fcf,0x6fd3,0x6fd5,0x6fd8,0x6fe4,0x6fe6,0x6fe9,0x6feb,0x6ff2,0x6ff4,0x6ff4,0x6ff6,0x6ff8,0x6ffa,0x6ffc,0x6ffe,0x7001,0x7003,0x7007,0x7009,0x700f,0x7011,0x7011,0x7014,0x7024,0x7026,0x702c,0x702f,0x7035,0x7037,0x703c,0x703e,0x7046,0x7048,0x704d,0x7050,0x7052,0x7054,0x7058,0x705a,0x706c,0x706e,0x7071,0x7074,0x707a,0x707c,0x707f,0x7081,0x7086,0x7089,0x708b,0x708e,0x708f,0x7091,0x7096,0x7098,0x709a,0x709f,0x70a1,0x70a3,0x70a7,0x70a9,0x70a9,0x70ab,0x70b1,0x70b3,0x70b5,0x70b7,0x70be,0x70c0,0x70c0,0x70c4,0x70c8,0x70ca,0x70da,0x70dc,0x70e2,0x70e4,0x70e4,0x70ef,0x70f1,0x70f3,0x7100,0x7102,0x7102,0x7104,0x7106,0x7109,0x710e,0x7110,0x7110,0x7113,0x7113,0x7117,0x7117,0x7119,0x7123,0x7125,0x7126,0x7128,0x7129,0x712b,0x712c,0x712e,0x7136,0x713a,0x713b,0x713e,0x713e,0x7140,0x7147,0x7149,0x7154,0x7156,0x715a,0x715c,0x716c,0x716e,0x716e,0x7170,0x7178,0x717a,0x717e,0x7180,0x7182,0x7184,0x718a,0x718c,0x718c,0x718e,0x7192,0x7194,0x7194,0x7196,0x71a5,0x71a7,0x71aa,0x71ac,0x71ad,0x71af,0x71b5,0x71b7,0x71ba,0x71bc,0x71cb,0x71ce,0x71d2,0x71d4,0x71d6,0x71d8,0x71dd,0x71df,0x71e2,0x71e4,0x71e8,0x71eb,0x71ee,0x71f0,0x71f2,0x71f4,0x71f6,0x71f8,0x71f9,0x71fb,0x7203,0x7205,0x7207,0x7209,0x720a,0x720c,0x7210,0x7213,0x7217,0x7219,0x721b,0x721d,0x721f,0x7222,0x722e,0x7230,0x7230,0x7235,0x7236,0x7238,0x723b,0x723d,0x7242,0x7244,0x7244,0x7246,0x724c,0x724f,0x7250,0x7252,0x7253,0x7255,0x7263,0x7266,0x7267,0x7269,0x726a,0x726c,0x726c,0x726e,0x7270,0x7272,0x7274,0x7276,0x7279,0x727b,0x7282,0x7284,0x7289,0x728b,0x7298,0x729a,0x729b,0x729d,0x729f,0x72a1,0x72aa,0x72ac,0x72b0,0x72b2,0x72b2,0x72b4,0x72b5,0x72ba,0x72ba,0x72bd,0x72bd,0x72bf,0x72c6,0x72c9,0x72ce,0x72d0,0x72d2,0x72d4,0x72d4,0x72d6,0x72da,0x72dc,0x72dc,0x72df,0x72e4,0x72e6,0x72e6,0x72e8,0x72eb,0x72f3,0x72f4,0x72f6,0x7302,0x7304,0x7304,0x7307,0x7308,0x730a,0x730c,0x730f,0x7313,0x7316,0x7319,0x731b,0x731e,0x7322,0x7323,0x7325,0x732e,0x7330,0x733c,0x733e,0x7345,0x7348,0x734a,0x734c,0x7352,0x7357,0x735b,0x735d,0x7362,0x7365,0x736c,0x736e,0x7378,0x737a,0x738c,0x738e,0x738f,0x7392,0x7398,0x739c,0x73a2,0x73a4,0x73ad,0x73b2,0x73bc,0x73be,0x73c0,0x73c2,0x73d0,0x73d2,0x73de,0x73e0,0x73eb,0x73ed,0x73ef,0x73f3,0x740d,0x7411,0x7412,0x7414,0x7417,0x7419,0x7426,0x7428,0x743a,0x743c,0x743c,0x743f,0x7457,0x7459,0x7465,0x7467,0x7476,0x7479,0x747a,0x747c,0x7483,0x7485,0x748d,0x7490,0x7490,0x7492,0x7492,0x7494,0x7495,0x7497,0x74a1,0x74a3,0x74ab,0x74ad,0x74ad,0x74af,0x74b2,0x74b4,0x74bb,0x74bd,0x74c3,0x74c5,0x74c6,0x74c8,0x74c8,0x74ca,0x74cc,0x74cf,0x74d0,0x74d3,0x74e9,0x74ec,0x74ec,0x74ee,0x74ee,0x74f0,0x74f2,0x74f4,0x74f8,0x74fb,0x74fb,0x74fd,0x7500,0x7502,0x7505,0x7507,0x7508,0x750b,0x751a,0x751c,0x751f,0x7521,0x7522,0x7525,0x7526,0x7528,0x7535,0x7537,0x753b,0x753d,0x7540,0x7542,0x7542,0x7546,0x7548,0x754a,0x754f,0x7551,0x7551,0x7553,0x7555,0x7559,0x755d,0x755f,0x7560,0x7562,0x7567,0x756a,0x7570,0x7572,0x7572,0x7576,0x757a,0x757d,0x7580,0x7583,0x7584,0x7586,0x7587,0x758a,0x7592,0x7594,0x7595,0x7598,0x759a,0x759d,0x759e,0x75a2,0x75a5,0x75a7,0x75a7,0x75aa,0x75ab,0x75b0,0x75b6,0x75b8,0x75c5,0x75c7,0x75c8,0x75ca,0x75d2,0x75d4,0x75d5,0x75d7,0x75e4,0x75e6,0x75e7,0x75ed,0x75ed,0x75ef,0x7603,0x7607,0x760d,0x760f,0x7611,0x7613,0x7616,0x7619,0x7629,0x762c,0x762d,0x762f,0x7635,0x7638,0x7638,0x763a,0x763d,0x7640,0x7640,0x7642,0x7643,0x7646,0x7649,0x764c,0x7654,0x7656,0x765a,0x765c,0x765c,0x765f,0x7662,0x7664,0x7667,0x7669,0x766a,0x766c,0x7676,0x7678,0x767f,0x7681,0x7682,0x7684,0x7684,0x7686,0x768b,0x768e,0x7690,0x7692,0x7693,0x7695,0x7696,0x7699,0x769e,0x76a1,0x76a1,0x76a4,0x76a6,0x76aa,0x76ab,0x76ad,0x76b0,0x76b4,0x76b5,0x76b7,0x76b8,0x76ba,0x76bb,0x76bd,0x76bf,0x76c2,0x76c6,0x76c8,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76df,0x76e1,0x76e1,0x76e3,0x76e7,0x76e9,0x76ea,0x76ec,0x76f5,0x76f7,0x76fc,0x76fe,0x76fe,0x7701,0x7701,0x7703,0x7705,0x7707,0x770c,0x770e,0x7713,0x7715,0x7715,0x7719,0x771b,0x771d,0x7720,0x7722,0x7729,0x772b,0x772b,0x772d,0x772d,0x772f,0x772f,0x7731,0x773e,0x7740,0x7740,0x7743,0x7747,0x774a,0x774f,0x7752,0x7752,0x7754,0x7756,0x7758,0x775c,0x775e,0x7763,0x7765,0x776f,0x7772,0x7772,0x7777,0x7785,0x7787,0x7789,0x778b,0x778f,0x7791,0x7791,0x7793,0x7793,0x7795,0x7795,0x7797,0x77a3,0x77a5,0x77a5,0x77a7,0x77a8,0x77aa,0x77ad,0x77af,0x77b7,0x77b9,0x77bf,0x77c2,0x77c5,0x77c7,0x77c7,0x77c9,0x77d0,0x77d3,0x77d5,0x77d7,0x77de,0x77e0,0x77e0,0x77e2,0x77e3,0x77e5,0x77e9,0x77ec,0x77f4,0x77f7,0x77fe,0x7802,0x7803,0x7805,0x7806,0x7808,0x7809,0x780c,0x7814,0x7818,0x7818,0x781c,0x7823,0x7825,0x7835,0x7837,0x7839,0x783c,0x783d,0x7842,0x7845,0x7847,0x784e,0x7850,0x7854,0x785c,0x785e,0x7860,0x7860,0x7862,0x7862,0x7864,0x7866,0x7868,0x7871,0x7879,0x787c,0x787e,0x7881,0x7883,0x7889,0x788c,0x788f,0x7891,0x7891,0x7893,0x789a,0x789e,0x78a5,0x78a7,0x78ad,0x78af,0x78b4,0x78b6,0x78b6,0x78b8,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c3,0x78c5,0x78c7,0x78d5,0x78d7,0x78d8,0x78da,0x78db,0x78dd,0x78e5,0x78e7,0x78ea,0x78ec,0x78f5,0x78f7,0x78f7,0x78f9,0x78ff,0x7901,0x7902,0x7904,0x7906,0x7909,0x7909,0x790c,0x790c,0x790e,0x790e,0x7910,0x7914,0x7917,0x7917,0x7919,0x7919,0x791b,0x791e,0x7921,0x7921,0x7923,0x792f,0x7931,0x7936,0x7938,0x7942,0x7944,0x794c,0x794f,0x7965,0x7967,0x796b,0x796d,0x796d,0x7970,0x7974,0x7979,0x797a,0x797c,0x7983,0x7986,0x7988,0x798a,0x798b,0x798d,0x799d,0x799f,0x79a2,0x79a4,0x79ae,0x79b0,0x79b4,0x79b6,0x79bb,0x79bd,0x79c1,0x79c4,0x79c6,0x79c8,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79dc,0x79e0,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ee,0x79f1,0x79f1,0x79f4,0x79f4,0x79f6,0x79f8,0x79fa,0x79fb,0x7a00,0x7a00,0x7a02,0x7a06,0x7a08,0x7a08,0x7a0a,0x7a0e,0x7a10,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a26,0x7a26,0x7a28,0x7a28,0x7a2a,0x7a32,0x7a37,0x7a37,0x7a39,0x7a40,0x7a43,0x7a4e,0x7a54,0x7a54,0x7a56,0x7a58,0x7a5a,0x7a5c,0x7a5f,0x7a62,0x7a65,0x7a65,0x7a67,0x7a69,0x7a6b,0x7a6e,0x7a70,0x7a72,0x7a74,0x7a76,0x7a78,0x7a7b,0x7a7d,0x7a81,0x7a83,0x7a8c,0x7a8f,0x7a99,0x7a9e,0x7aa0,0x7aa2,0x7aa3,0x7aa8,0x7aac,0x7aae,0x7ab8,0x7aba,0x7abc,0x7abe,0x7ac5,0x7ac7,0x7acb,0x7acf,0x7acf,0x7ad1,0x7ad1,0x7ad3,0x7ad3,0x7ad8,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae7,0x7ae9,0x7aeb,0x7aed,0x7aef,0x7af6,0x7af7,0x7af9,0x7b01,0x7b04,0x7b06,0x7b08,0x7b0c,0x7b0e,0x7b14,0x7b18,0x7b1b,0x7b1d,0x7b20,0x7b22,0x7b35,0x7b38,0x7b39,0x7b3b,0x7b3b,0x7b40,0x7b40,0x7b42,0x7b52,0x7b54,0x7b56,0x7b58,0x7b58,0x7b60,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b78,0x7b7b,0x7b7b,0x7b82,0x7b82,0x7b84,0x7b85,0x7b87,0x7b88,0x7b8a,0x7b92,0x7b94,0x7b9d,0x7ba0,0x7ba4,0x7bac,0x7baf,0x7bb1,0x7bb2,0x7bb4,0x7bb5,0x7bb7,0x7bb9,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc7,0x7bc9,0x7bcc,0x7bce,0x7bd0,0x7bd4,0x7bd5,0x7bd8,0x7bec,0x7bf0,0x7bf4,0x7bf7,0x7c03,0x7c05,0x7c07,0x7c09,0x7c12,0x7c15,0x7c15,0x7c19,0x7c19,0x7c1b,0x7c23,0x7c25,0x7c2d,0x7c30,0x7c30,0x7c33,0x7c33,0x7c35,0x7c35,0x7c37,0x7c39,0x7c3b,0x7c40,0x7c42,0x7c45,0x7c47,0x7c4a,0x7c4c,0x7c4d,0x7c50,0x7c51,0x7c53,0x7c54,0x7c56,0x7c57,0x7c59,0x7c5d,0x7c5f,0x7c60,0x7c63,0x7c67,0x7c69,0x7c70,0x7c72,0x7c75,0x7c78,0x7c81,0x7c83,0x7c86,0x7c88,0x7c8a,0x7c8c,0x7c8e,0x7c91,0x7c92,0x7c94,0x7c98,0x7c9c,0x7c9c,0x7c9e,0x7c9f,0x7ca1,0x7ca3,0x7ca5,0x7ca8,0x7cac,0x7cac,0x7cae,0x7caf,0x7cb1,0x7cb5,0x7cb8,0x7cbf,0x7cc2,0x7cc3,0x7cc5,0x7cc5,0x7cc7,0x7cce,0x7cd0,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce8,0x7cea,0x7cea,0x7cec,0x7cf9,0x7cfb,0x7cfe,0x7d00,0x7d22,0x7d25,0x7d25,0x7d28,0x7d29,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d36,0x7d38,0x7d47,0x7d4a,0x7d4a,0x7d4d,0x7d56,0x7d58,0x7d58,0x7d5a,0x7d5f,0x7d61,0x7d63,0x7d66,0x7d6b,0x7d6d,0x7d73,0x7d79,0x7d7d,0x7d7f,0x7d81,0x7d83,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8f,0x7d91,0x7d97,0x7d9c,0x7da4,0x7da6,0x7db5,0x7db7,0x7dc2,0x7dc4,0x7dc7,0x7dc9,0x7dd0,0x7dd2,0x7dd4,0x7dd7,0x7de1,0x7de3,0x7dea,0x7dec,0x7dec,0x7dee,0x7df7,0x7df9,0x7dfe,0x7e03,0x7e03,0x7e07,0x7e17,0x7e1a,0x7e25,0x7e27,0x7e27,0x7e29,0x7e2b,0x7e2d,0x7e49,0x7e4c,0x7e4c,0x7e50,0x7e5c,0x7e5e,0x7e63,0x7e65,0x7e65,0x7e67,0x7e70,0x7e72,0x7e82,0x7e86,0x7e88,0x7e8a,0x7e8f,0x7e91,0x7e9c,0x7e9f,0x7e9f,0x7ea4,0x7ea4,0x7eac,0x7eac,0x7eba,0x7eba,0x7ec7,0x7ec7,0x7ecf,0x7ecf,0x7edf,0x7edf,0x7f06,0x7f06,0x7f36,0x7f3a,0x7f3d,0x7f41,0x7f43,0x7f45,0x7f47,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f61,0x7f63,0x7f63,0x7f65,0x7f6e,0x7f70,0x7f73,0x7f75,0x7f7f,0x7f83,0x7f83,0x7f85,0x7f8f,0x7f91,0x7f97,0x7f9a,0x7f9e,0x7fa0,0x7fa9,0x7fac,0x7fc3,0x7fc5,0x7fc5,0x7fc7,0x7fc7,0x7fc9,0x7fd2,0x7fd4,0x7fd5,0x7fd7,0x7fd7,0x7fdb,0x7fe3,0x7fe5,0x7ff5,0x7ff7,0x8008,0x800b,0x8012,0x8014,0x8019,0x801b,0x8021,0x8024,0x8026,0x8028,0x802a,0x802c,0x802c,0x802e,0x8031,0x8033,0x8037,0x8039,0x8039,0x803b,0x803f,0x8043,0x8043,0x8046,0x8048,0x804a,0x804a,0x804f,0x8052,0x8054,0x8054,0x8056,0x8056,0x8058,0x8058,0x805a,0x805e,0x8061,0x8064,0x8066,0x8067,0x806c,0x806c,0x806f,0x8073,0x8075,0x8079,0x807d,0x8080,0x8082,0x8082,0x8084,0x8087,0x8089,0x808c,0x808f,0x8090,0x8092,0x8093,0x8095,0x8096,0x8098,0x809d,0x809f,0x809f,0x80a1,0x80a3,0x80a5,0x80a5,0x80a7,0x80a7,0x80a9,0x80ab,0x80ad,0x80af,0x80b1,0x80b2,0x80b4,0x80b8,0x80ba,0x80ba,0x80bc,0x80bd,0x80c2,0x80ca,0x80cc,0x80d1,0x80d4,0x80de,0x80e0,0x80e1,0x80e3,0x80e6,0x80e9,0x80e9,0x80ec,0x80ed,0x80ef,0x80f6,0x80f8,0x80fe,0x8100,0x8103,0x8105,0x810a,0x810c,0x810c,0x810e,0x810e,0x8112,0x8112,0x8114,0x811b,0x811d,0x811f,0x8121,0x8125,0x8127,0x8127,0x8129,0x812d,0x812f,0x8132,0x8134,0x8134,0x8137,0x8137,0x8139,0x813a,0x813d,0x813e,0x8142,0x8144,0x8146,0x8148,0x814a,0x8156,0x8159,0x815c,0x815e,0x815e,0x8160,0x8162,0x8164,0x8167,0x8169,0x8169,0x816b,0x8174,0x8176,0x817a,0x817c,0x817d,0x817f,0x8180,0x8182,0x8184,0x8186,0x818d,0x818f,0x818f,0x8193,0x8193,0x8195,0x8195,0x8197,0x81a0,0x81a2,0x81a3,0x81a5,0x81ac,0x81ae,0x81ae,0x81b0,0x81b7,0x81b9,0x81ca,0x81cc,0x81cd,0x81cf,0x81d2,0x81d5,0x81d5,0x81d7,0x81db,0x81dd,0x81ea,0x81ec,0x81ef,0x81f2,0x81f4,0x81f6,0x81fc,0x81fe,0x8202,0x8204,0x8205,0x8207,0x820d,0x8210,0x8212,0x8214,0x8216,0x8218,0x8218,0x821a,0x8222,0x8225,0x8226,0x8228,0x822d,0x822f,0x822f,0x8232,0x823a,0x823c,0x8240,0x8242,0x8242,0x8244,0x8245,0x8247,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x825c,0x825e,0x825f,0x8261,0x8266,0x8268,0x8269,0x826b,0x826f,0x8271,0x8272,0x8274,0x8280,0x8283,0x8285,0x8287,0x8287,0x828a,0x828b,0x828d,0x8294,0x8298,0x829b,0x829d,0x82b1,0x82b3,0x82c0,0x82c2,0x82c4,0x82ca,0x82ca,0x82cf,0x82d9,0x82db,0x82dc,0x82de,0x82e8,0x82ea,0x8309,0x830b,0x830d,0x8316,0x831e,0x8320,0x8320,0x8322,0x8322,0x8324,0x832d,0x832f,0x832f,0x8331,0x833d,0x833f,0x8345,0x8347,0x8354,0x8356,0x8357,0x8362,0x8363,0x8366,0x8366,0x836f,0x836f,0x8373,0x8378,0x837a,0x837f,0x8381,0x8381,0x8383,0x8383,0x8385,0x839e,0x83a0,0x83a0,0x83a2,0x83ac,0x83ae,0x83b0,0x83b9,0x83b9,0x83bd,0x83cf,0x83d1,0x83d1,0x83d3,0x83d9,0x83db,0x83e5,0x83e7,0x83f6,0x83f8,0x83ff,0x8401,0x8401,0x8403,0x8407,0x8409,0x8414,0x8416,0x8416,0x8418,0x8418,0x841b,0x841c,0x8420,0x8421,0x8423,0x8424,0x8426,0x8426,0x8429,0x8429,0x842b,0x8440,0x8442,0x844e,0x8450,0x8469,0x846b,0x847a,0x847d,0x8480,0x8482,0x8482,0x8484,0x8484,0x8486,0x8486,0x8488,0x8488,0x848d,0x8494,0x8496,0x84a4,0x84a7,0x84b2,0x84b4,0x84b4,0x84b6,0x84b6,0x84b8,0x84c2,0x84c4,0x84c7,0x84c9,0x84d4,0x84d6,0x84d7,0x84da,0x84db,0x84de,0x84de,0x84e1,0x84e2,0x84e4,0x84e5,0x84e7,0x84ec,0x84ee,0x84f4,0x84f6,0x8500,0x8502,0x851a,0x851c,0x8521,0x8523,0x8531,0x8533,0x8534,0x8538,0x8538,0x853b,0x853b,0x853d,0x853e,0x8540,0x854e,0x8551,0x855b,0x855d,0x8571,0x8573,0x8573,0x8575,0x857c,0x857e,0x857e,0x8580,0x8591,0x8593,0x85a4,0x85a6,0x85aa,0x85af,0x85b1,0x85b3,0x85ba,0x85bd,0x85c9,0x85cb,0x85cb,0x85cd,0x85d2,0x85d5,0x85da,0x85dc,0x85e6,0x85e8,0x85f2,0x85f4,0x85f4,0x85f6,0x8602,0x8604,0x8607,0x8609,0x860d,0x860f,0x8611,0x8613,0x8614,0x8616,0x861c,0x861e,0x862a,0x862c,0x862f,0x8631,0x8636,0x8638,0x863c,0x863e,0x8640,0x8642,0x8643,0x8645,0x8648,0x864b,0x864e,0x8650,0x8650,0x8652,0x8656,0x8659,0x8659,0x865b,0x865c,0x865e,0x865f,0x8661,0x8665,0x8667,0x8674,0x8677,0x8677,0x8679,0x867c,0x867e,0x867e,0x8685,0x8687,0x868a,0x868e,0x8690,0x869a,0x869c,0x869e,0x86a0,0x86a5,0x86a7,0x86aa,0x86ad,0x86ad,0x86af,0x86c9,0x86cb,0x86cc,0x86d0,0x86d1,0x86d3,0x86d4,0x86d6,0x86df,0x86e2,0x86e4,0x86e6,0x86e6,0x86e8,0x86ed,0x86ef,0x86ef,0x86f5,0x86fb,0x86fe,0x86fe,0x8700,0x870e,0x8711,0x8713,0x8715,0x8715,0x8718,0x871c,0x871e,0x871e,0x8720,0x872a,0x872c,0x872e,0x8730,0x8735,0x8737,0x8738,0x873a,0x873c,0x873e,0x8743,0x8746,0x8746,0x874c,0x8771,0x8773,0x877b,0x877d,0x877d,0x8781,0x8789,0x878b,0x878d,0x878f,0x8794,0x8796,0x8798,0x879a,0x879f,0x87a2,0x87a5,0x87a9,0x87c6,0x87c8,0x87cc,0x87ce,0x87ce,0x87d1,0x87d4,0x87d6,0x87e8,0x87ea,0x87ef,0x87f2,0x87f7,0x87f9,0x87fc,0x87fe,0x8806,0x8808,0x880d,0x880f,0x8811,0x8813,0x8819,0x881b,0x881d,0x881f,0x8833,0x8835,0x8839,0x883b,0x8846,0x8848,0x8848,0x884a,0x884f,0x8852,0x8853,0x8855,0x8857,0x8859,0x885b,0x885d,0x885e,0x8860,0x8865,0x8867,0x886b,0x886d,0x8872,0x8874,0x8877,0x8879,0x8879,0x887c,0x8884,0x8887,0x8889,0x888b,0x8893,0x8895,0x88a2,0x88a4,0x88a4,0x88a7,0x88a8,0x88aa,0x88ac,0x88ae,0x88ae,0x88b1,0x88b2,0x88b4,0x88ba,0x88bc,0x88c2,0x88c5,0x88c5,0x88c7,0x88c7,0x88c9,0x88d0,0x88d2,0x88d2,0x88d4,0x88df,0x88e1,0x88e1,0x88e6,0x88e8,0x88eb,0x88ec,0x88ee,0x8902,0x8905,0x8907,0x8909,0x890c,0x890e,0x890e,0x8910,0x891a,0x891e,0x891f,0x8921,0x8927,0x8929,0x8933,0x8935,0x8938,0x893b,0x893e,0x8941,0x8944,0x8946,0x8947,0x8949,0x8949,0x894b,0x894d,0x894f,0x8954,0x8956,0x8966,0x8969,0x896f,0x8971,0x8974,0x8976,0x8977,0x8979,0x897c,0x897e,0x8983,0x8985,0x898b,0x898f,0x898f,0x8991,0x8991,0x8993,0x8998,0x899b,0x899f,0x89a1,0x89a7,0x89a9,0x89aa,0x89ac,0x89af,0x89b2,0x89b2,0x89b6,0x89b7,0x89b9,0x89ba,0x89bc,0x89c1,0x89c6,0x89c6,0x89d2,0x89d6,0x89d9,0x89dd,0x89df,0x89e9,0x89eb,0x89ed,0x89f0,0x89f4,0x89f6,0x89f8,0x89fa,0x89fc,0x89fe,0x8a00,0x8a02,0x8a04,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a13,0x8a15,0x8a18,0x8a1b,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a27,0x8a27,0x8a29,0x8a2d,0x8a30,0x8a31,0x8a34,0x8a34,0x8a36,0x8a36,0x8a38,0x8a41,0x8a44,0x8a46,0x8a48,0x8a4a,0x8a4c,0x8a52,0x8a54,0x8a59,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a7f,0x8a81,0x8a87,0x8a8b,0x8a8d,0x8a8f,0x8a96,0x8a98,0x8a9a,0x8a9c,0x8a9c,0x8a9e,0x8a9e,0x8aa0,0x8aa1,0x8aa3,0x8aac,0x8aaf,0x8ab0,0x8ab2,0x8ab2,0x8ab4,0x8ab4,0x8ab6,0x8ab6,0x8ab8,0x8ac0,0x8ac2,0x8ac9,0x8acb,0x8acd,0x8acf,0x8acf,0x8ad1,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae8,0x8aea,0x8aeb,0x8aed,0x8afc,0x8afe,0x8b02,0x8b04,0x8b08,0x8b0a,0x8b20,0x8b22,0x8b28,0x8b2a,0x8b31,0x8b33,0x8b33,0x8b35,0x8b37,0x8b39,0x8b43,0x8b45,0x8b5a,0x8b5c,0x8b60,0x8b62,0x8b63,0x8b65,0x8b6d,0x8b6f,0x8b70,0x8b74,0x8b74,0x8b77,0x8b7b,0x8b7d,0x8b86,0x8b88,0x8b88,0x8b8a,0x8b8c,0x8b8e,0x8b90,0x8b92,0x8b96,0x8b98,0x8b9c,0x8b9e,0x8ba0,0x8bbe,0x8bbe,0x8be2,0x8be2,0x8c37,0x8c37,0x8c39,0x8c39,0x8c3b,0x8c3f,0x8c41,0x8c43,0x8c45,0x8c51,0x8c54,0x8c57,0x8c5a,0x8c5a,0x8c5c,0x8c5d,0x8c5f,0x8c5f,0x8c61,0x8c62,0x8c64,0x8c66,0x8c68,0x8c6d,0x8c6f,0x8c73,0x8c75,0x8c7b,0x8c7d,0x8c7d,0x8c80,0x8c82,0x8c84,0x8c86,0x8c89,0x8c8a,0x8c8c,0x8c8d,0x8c8f,0x8c95,0x8c97,0x8ca5,0x8ca7,0x8cad,0x8caf,0x8cb0,0x8cb2,0x8cc5,0x8cc7,0x8cc8,0x8cca,0x8cca,0x8ccc,0x8ccd,0x8ccf,0x8ccf,0x8cd1,0x8cd7,0x8cd9,0x8cee,0x8cf0,0x8cf5,0x8cf7,0x8cfe,0x8d00,0x8d00,0x8d02,0x8d0d,0x8d0f,0x8d19,0x8d1b,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d69,0x8d6b,0x8d70,0x8d72,0x8d74,0x8d76,0x8d7b,0x8d7d,0x8d7d,0x8d80,0x8d82,0x8d84,0x8d85,0x8d89,0x8d8a,0x8d8c,0x8d96,0x8d99,0x8d99,0x8d9b,0x8d9c,0x8d9f,0x8da1,0x8da3,0x8da3,0x8da5,0x8daf,0x8db2,0x8db7,0x8db9,0x8dba,0x8dbc,0x8dbc,0x8dbe,0x8dc3,0x8dc5,0x8dc8,0x8dcb,0x8dd1,0x8dd3,0x8ddd,0x8ddf,0x8de4,0x8de6,0x8dec,0x8dee,0x8df4,0x8dfa,0x8dfa,0x8dfc,0x8e07,0x8e09,0x8e0a,0x8e0d,0x8e2b,0x8e2d,0x8e2e,0x8e30,0x8e31,0x8e33,0x8e36,0x8e38,0x8e3a,0x8e3c,0x8e42,0x8e44,0x8e50,0x8e53,0x8e57,0x8e59,0x8e6a,0x8e6c,0x8e6d,0x8e6f,0x8e6f,0x8e71,0x8e78,0x8e7a,0x8e7c,0x8e7e,0x8e7e,0x8e80,0x8e82,0x8e84,0x8e8e,0x8e90,0x8e98,0x8e9a,0x8e9a,0x8e9d,0x8ea1,0x8ea3,0x8ead,0x8eb0,0x8eb0,0x8eb2,0x8eb2,0x8eb6,0x8eb6,0x8eb9,0x8eba,0x8ebc,0x8ebd,0x8ec0,0x8ec0,0x8ec2,0x8ec3,0x8ec9,0x8ecf,0x8ed1,0x8ed4,0x8ed7,0x8ed8,0x8eda,0x8ee2,0x8ee4,0x8ee9,0x8eeb,0x8eef,0x8ef1,0x8ef2,0x8ef4,0x8efc,0x8efe,0x8f03,0x8f05,0x8f0b,0x8f0d,0x8f0e,0x8f10,0x8f20,0x8f23,0x8f26,0x8f29,0x8f2a,0x8f2c,0x8f30,0x8f32,0x8f39,0x8f3b,0x8f3c,0x8f3e,0x8f4b,0x8f4d,0x8f64,0x8f66,0x8f67,0x8f6e,0x8f6e,0x8f93,0x8f93,0x8f9b,0x8f9c,0x8f9f,0x8fa0,0x8fa3,0x8fa3,0x8fa5,0x8fa8,0x8fad,0x8fbc,0x8fbe,0x8fbf,0x8fc1,0x8fc2,0x8fc4,0x8fc6,0x8fc9,0x8fd7,0x8fda,0x8fda,0x8fe0,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8feb,0x8fed,0x8fee,0x8ff0,0x8ff0,0x8ff4,0x9006,0x9008,0x9008,0x900b,0x900d,0x900f,0x9012,0x9014,0x9017,0x9019,0x9024,0x902d,0x902f,0x9031,0x9038,0x903c,0x903f,0x9041,0x9042,0x9044,0x9044,0x9046,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9064,0x9067,0x9069,0x906b,0x9070,0x9072,0x9088,0x908a,0x908b,0x908d,0x908d,0x908f,0x9091,0x9094,0x9095,0x9097,0x9099,0x909b,0x909b,0x909e,0x90a3,0x90a5,0x90a8,0x90aa,0x90aa,0x90ae,0x90b6,0x90b8,0x90b8,0x90bb,0x90bb,0x90bd,0x90bf,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90c8,0x90ca,0x90cb,0x90ce,0x90ce,0x90d4,0x90dd,0x90df,0x90e5,0x90e8,0x90ed,0x90ef,0x90f5,0x90f9,0x9109,0x910b,0x910b,0x910d,0x9112,0x9114,0x9114,0x9116,0x9124,0x9126,0x9136,0x9138,0x913b,0x913e,0x9141,0x9143,0x9153,0x9155,0x915a,0x915c,0x915c,0x915e,0x9165,0x9167,0x916a,0x916c,0x916c,0x916e,0x9170,0x9172,0x917a,0x917c,0x917c,0x9180,0x9187,0x9189,0x9193,0x9196,0x9196,0x9199,0x91a3,0x91a5,0x91a5,0x91a7,0x91b7,0x91b9,0x91be,0x91c0,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d3,0x91da,0x91dc,0x91dd,0x91df,0x91df,0x91e2,0x91ee,0x91f1,0x91f1,0x91f3,0x91fa,0x91fd,0x920a,0x920c,0x921a,0x921c,0x921c,0x921e,0x921e,0x9221,0x9221,0x9223,0x9228,0x922a,0x922b,0x922d,0x922e,0x9230,0x923a,0x923c,0x9241,0x9244,0x9246,0x9248,0x9258,0x925a,0x925b,0x925d,0x9267,0x926b,0x9270,0x9272,0x9272,0x9276,0x928f,0x9291,0x9291,0x9293,0x929d,0x92a0,0x92ac,0x92ae,0x92ae,0x92b1,0x92b7,0x92b9,0x92bc,0x92be,0x92d5,0x92d7,0x92d9,0x92db,0x92db,0x92dd,0x92e1,0x92e3,0x92f4,0x92f6,0x9304,0x9306,0x9309,0x930b,0x9310,0x9312,0x9316,0x9318,0x931b,0x931d,0x9331,0x9333,0x9336,0x9338,0x9339,0x933c,0x933c,0x9340,0x9352,0x9354,0x935c,0x935e,0x936e,0x9370,0x9371,0x9373,0x937e,0x9380,0x938a,0x938c,0x9392,0x9394,0x93aa,0x93ac,0x93b5,0x93b7,0x93b8,0x93bb,0x93bb,0x93bd,0x93bd,0x93bf,0x93c0,0x93c2,0x93c4,0x93c6,0x93c8,0x93ca,0x93e4,0x93e6,0x93e8,0x93ec,0x93ec,0x93ee,0x93ee,0x93f0,0x93f1,0x93f3,0x9401,0x9403,0x9404,0x9406,0x9419,0x941b,0x941b,0x941d,0x941d,0x9420,0x9420,0x9424,0x9433,0x9435,0x9440,0x9442,0x944d,0x944f,0x9452,0x9454,0x9455,0x9457,0x9458,0x945b,0x945b,0x945d,0x945e,0x9460,0x9460,0x9462,0x9465,0x9467,0x9479,0x947b,0x9483,0x9485,0x9485,0x949f,0x949f,0x94a2,0x94a2,0x94c1,0x94c1,0x94c3,0x94c3,0x94dc,0x94dc,0x94f6,0x94f6,0x952d,0x952d,0x9547,0x9547,0x9577,0x9578,0x957a,0x957d,0x957f,0x9580,0x9582,0x9583,0x9585,0x9586,0x9588,0x9589,0x958b,0x9594,0x9596,0x9599,0x959b,0x959c,0x959e,0x95ae,0x95b0,0x95b2,0x95b5,0x95b7,0x95b9,0x95c0,0x95c3,0x95c3,0x95c5,0x95cd,0x95d0,0x95d6,0x95da,0x95dc,0x95de,0x95e5,0x95e8,0x95e8,0x95f4,0x95f4,0x961c,0x961e,0x9620,0x9624,0x9628,0x9628,0x962a,0x962a,0x962c,0x9633,0x9638,0x963d,0x963f,0x9645,0x964a,0x9651,0x9653,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x9669,0x966d,0x966f,0x9678,0x967b,0x967e,0x9680,0x9681,0x9683,0x968b,0x968d,0x968f,0x9691,0x9699,0x969b,0x969c,0x969e,0x969e,0x96a1,0x96a5,0x96a7,0x96aa,0x96ac,0x96ac,0x96ae,0x96ae,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b6,0x96b8,0x96b9,0x96bb,0x96bd,0x96bf,0x96ce,0x96d2,0x96df,0x96e1,0x96e3,0x96e5,0x96e5,0x96e8,0x96ea,0x96ef,0x96f2,0x96f4,0x96fb,0x96fd,0x96fd,0x96ff,0x9700,0x9702,0x9709,0x970b,0x970b,0x970d,0x9713,0x9716,0x9716,0x9718,0x9719,0x971b,0x972c,0x972e,0x9732,0x9734,0x9736,0x9738,0x973a,0x973d,0x9744,0x9746,0x974b,0x9751,0x9752,0x9755,0x9758,0x975a,0x9762,0x9766,0x9766,0x9768,0x976a,0x976c,0x976e,0x9770,0x9774,0x9776,0x9778,0x977a,0x9785,0x9787,0x978b,0x978d,0x978f,0x9794,0x9794,0x9797,0x97a6,0x97a8,0x97a8,0x97aa,0x97ae,0x97b1,0x97b4,0x97b6,0x97bb,0x97bd,0x97c9,0x97cb,0x97d0,0x97d2,0x97d9,0x97dc,0x97e1,0x97e3,0x97e3,0x97e5,0x97e6,0x97ed,0x97ee,0x97f0,0x97f3,0x97f5,0x97f6,0x97f8,0x97fb,0x97fd,0x9808,0x980a,0x980a,0x980c,0x9818,0x981b,0x9821,0x9823,0x9824,0x9826,0x9829,0x982b,0x982b,0x982d,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983b,0x9841,0x9841,0x9843,0x9853,0x9856,0x9859,0x985b,0x9860,0x9862,0x986c,0x986f,0x9875,0x98a8,0x98a9,0x98ac,0x98af,0x98b1,0x98b4,0x98b6,0x98c4,0x98c6,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98ed,0x98ef,0x98ef,0x98f1,0x98f2,0x98f4,0x98f6,0x98f9,0x98fa,0x98fc,0x98fe,0x9900,0x9900,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x990e,0x990e,0x9910,0x991c,0x991e,0x991f,0x9921,0x9921,0x9924,0x9925,0x9927,0x9933,0x9935,0x9935,0x9937,0x9943,0x9945,0x9945,0x9947,0x994e,0x9950,0x9959,0x995b,0x995f,0x9961,0x9963,0x9996,0x9999,0x999b,0x999e,0x99a1,0x99a1,0x99a3,0x99a8,0x99aa,0x99b5,0x99b8,0x99bd,0x99c1,0x99c5,0x99c7,0x99c7,0x99c9,0x99c9,0x99cb,0x99dd,0x99df,0x99e7,0x99e9,0x99ea,0x99ec,0x99ee,0x99f0,0x99f1,0x99f4,0x99ff,0x9a01,0x9a07,0x9a09,0x9a11,0x9a14,0x9a16,0x9a19,0x9a27,0x9a29,0x9a32,0x9a34,0x9a46,0x9a48,0x9a4a,0x9a4c,0x9a50,0x9a52,0x9a5c,0x9a5e,0x9a60,0x9a62,0x9a6c,0x9a8f,0x9a8f,0x9aa8,0x9aa8,0x9aab,0x9aab,0x9aad,0x9aad,0x9aaf,0x9ab4,0x9ab6,0x9ac2,0x9ac6,0x9ac7,0x9aca,0x9aca,0x9acd,0x9acd,0x9acf,0x9ad8,0x9adc,0x9adc,0x9adf,0x9ae3,0x9ae6,0x9ae7,0x9aeb,0x9aef,0x9af1,0x9af4,0x9af6,0x9af7,0x9af9,0x9aff,0x9b01,0x9b06,0x9b08,0x9b12,0x9b14,0x9b1a,0x9b1e,0x9b20,0x9b22,0x9b25,0x9b27,0x9b2b,0x9b2d,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3c,0x9b3e,0x9b46,0x9b48,0x9b48,0x9b4a,0x9b52,0x9b54,0x9b56,0x9b58,0x9b5b,0x9b5f,0x9b61,0x9b64,0x9b64,0x9b66,0x9b69,0x9b6c,0x9b6c,0x9b6f,0x9b71,0x9b74,0x9b77,0x9b7a,0x9b83,0x9b85,0x9b88,0x9b8b,0x9b8b,0x9b8d,0x9b93,0x9b95,0x9b95,0x9b97,0x9b97,0x9b9a,0x9b9b,0x9b9d,0x9ba2,0x9ba4,0x9ba6,0x9ba8,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bb0,0x9bb5,0x9bb6,0x9bb8,0x9bb9,0x9bbd,0x9bbd,0x9bbf,0x9bc1,0x9bc3,0x9bc4,0x9bc6,0x9bca,0x9bcf,0x9bcf,0x9bd3,0x9bd7,0x9bd9,0x9bde,0x9be0,0x9be2,0x9be4,0x9bed,0x9bf0,0x9bf1,0x9bf4,0x9bf4,0x9bf7,0x9bf8,0x9bfd,0x9bfd,0x9bff,0x9bff,0x9c02,0x9c02,0x9c05,0x9c0e,0x9c10,0x9c10,0x9c12,0x9c15,0x9c17,0x9c17,0x9c1b,0x9c1d,0x9c1f,0x9c21,0x9c23,0x9c26,0x9c28,0x9c29,0x9c2b,0x9c2d,0x9c2f,0x9c2f,0x9c31,0x9c37,0x9c39,0x9c41,0x9c44,0x9c50,0x9c52,0x9c59,0x9c5d,0x9c60,0x9c62,0x9c63,0x9c66,0x9c68,0x9c6d,0x9c6e,0x9c71,0x9c75,0x9c77,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9cea,0x9ced,0x9ced,0x9cf1,0x9cf7,0x9cf9,0x9cfd,0x9cff,0x9d00,0x9d02,0x9d09,0x9d0c,0x9d0c,0x9d10,0x9d10,0x9d12,0x9d12,0x9d14,0x9d19,0x9d1b,0x9d1b,0x9d1d,0x9d23,0x9d25,0x9d26,0x9d28,0x9d29,0x9d2d,0x9d31,0x9d33,0x9d34,0x9d36,0x9d39,0x9d3b,0x9d3b,0x9d3d,0x9d45,0x9d49,0x9d4c,0x9d4e,0x9d54,0x9d56,0x9d61,0x9d67,0x9d75,0x9d77,0x9d79,0x9d7b,0x9d8c,0x9d90,0x9d90,0x9d92,0x9d94,0x9d96,0x9dad,0x9daf,0x9daf,0x9db1,0x9dc5,0x9dc7,0x9ddf,0x9de1,0x9de6,0x9de8,0x9de9,0x9deb,0x9df0,0x9df2,0x9e07,0x9e09,0x9e15,0x9e17,0x9e1f,0x9e75,0x9e75,0x9e79,0x9e7d,0x9e7f,0x9e8e,0x9e90,0x9ea2,0x9ea4,0x9eb1,0x9eb4,0x9eb7,0x9ebb,0x9ec4,0x9ec6,0x9ec8,0x9ecc,0x9ed1,0x9ed3,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ee0,0x9ee2,0x9ee2,0x9ee4,0x9ee8,0x9eeb,0x9eeb,0x9eed,0x9f02,0x9f06,0x9f0a,0x9f0e,0x9f10,0x9f12,0x9f13,0x9f15,0x9f1c,0x9f1e,0x9f1e,0x9f20,0x9f20,0x9f22,0x9f39,0x9f3b,0x9f3b,0x9f3d,0x9f3e,0x9f40,0x9f50,0x9f52,0x9f67,0x9f69,0x9f6c,0x9f6e,0x9f72,0x9f74,0x9f7b,0x9f7e,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f99,0x9f9c,0x9f9c,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa4,0x9fb3,0x9fc7,0x9fcb,0x9fd0,0x9fd0,0xf900,0xf908,0xf90b,0xf90d,0xf915,0xf915,0xf917,0xf917,0xf91a,0xf91a,0xf922,0xf922,0xf92d,0xf92d,0xf934,0xf934,0xf937,0xf937,0xf93a,0xf93a,0xf943,0xf943,0xf947,0xf948,0xf94a,0xf94a,0xf952,0xf952,0xf95e,0xf95e,0xf962,0xf962,0xf965,0xf965,0xf967,0xf967,0xf96d,0xf96d,0xf972,0xf972,0xf976,0xf976,0xf978,0xf979,0xf97b,0xf97b,0xf97e,0xf97e,0xf980,0xf980,0xf986,0xf986,0xf98a,0xf98a,0xf98e,0xf98e,0xf995,0xf995,0xf99c,0xf99d,0xf99f,0xf99f,0xf9b5,0xf9b5,0xf9bb,0xf9bb,0xf9bd,0xf9be,0xf9c5,0xf9c6,0xf9c8,0xf9c8,0xf9d0,0xf9d0,0xf9d8,0xf9d9,0xf9dc,0xf9de,0xf9e0,0xf9e0,0xf9e2,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0d,0xfa33,0xfa35,0xfa3a,0xfa3a,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20021,0x20021,0x2003e,0x2003e,0x20046,0x20046,0x2004e,0x2004e,0x20068,0x20068,0x20086,0x20087,0x2008a,0x2008a,0x20094,0x20094,0x200ca,0x200cd,0x200d1,0x200d1,0x200ee,0x200ee,0x2010c,0x2010c,0x2010e,0x2010e,0x20118,0x20118,0x201a4,0x201a4,0x201a9,0x201a9,0x201ab,0x201ab,0x201c1,0x201c1,0x201d4,0x201d4,0x201f2,0x201f2,0x20204,0x20204,0x2020c,0x2020c,0x20214,0x20214,0x20239,0x20239,0x2025b,0x2025b,0x20274,0x20275,0x20299,0x20299,0x2029e,0x2029e,0x202a0,0x202a0,0x202b7,0x202b7,0x202bf,0x202c0,0x202e5,0x202e5,0x2030a,0x2030a,0x20325,0x20325,0x20341,0x20341,0x20345,0x20347,0x2037e,0x20380,0x203a0,0x203a0,0x203a7,0x203a7,0x203b5,0x203b5,0x203c9,0x203c9,0x203cb,0x203cb,0x203f5,0x203f5,0x203fc,0x203fc,0x20413,0x20414,0x2041f,0x2041f,0x20465,0x20465,0x20487,0x20487,0x2048e,0x2048e,0x20491,0x20492,0x204a3,0x204a3,0x204d7,0x204d7,0x204fc,0x204fc,0x204fe,0x204fe,0x20547,0x20547,0x2058e,0x2058e,0x205a5,0x205a5,0x205b3,0x205b3,0x205c3,0x205c3,0x205ca,0x205ca,0x205d0,0x205d0,0x205d5,0x205d5,0x205df,0x205e0,0x205eb,0x205eb,0x20611,0x20611,0x20615,0x20615,0x20619,0x2061a,0x20628,0x20628,0x20630,0x20630,0x20656,0x20656,0x20676,0x20676,0x2070e,0x2070e,0x20731,0x20731,0x20779,0x20779,0x2082c,0x2082c,0x20873,0x20873,0x208d5,0x208d5,0x20916,0x20916,0x20923,0x20923,0x20954,0x20954,0x20979,0x20979,0x209e7,0x209e7,0x20a11,0x20a11,0x20a50,0x20a50,0x20a6f,0x20a6f,0x20a8a,0x20a8a,0x20ab4,0x20ab4,0x20ac2,0x20ac2,0x20acd,0x20acd,0x20b0d,0x20b0d,0x20b8f,0x20b8f,0x20b9f,0x20b9f,0x20ba8,0x20ba9,0x20bbf,0x20bbf,0x20bc6,0x20bc6,0x20bcb,0x20bcb,0x20be2,0x20be2,0x20beb,0x20beb,0x20bfb,0x20bfb,0x20bff,0x20bff,0x20c0b,0x20c0b,0x20c0d,0x20c0d,0x20c20,0x20c20,0x20c34,0x20c34,0x20c3a,0x20c3b,0x20c41,0x20c43,0x20c53,0x20c53,0x20c65,0x20c65,0x20c77,0x20c78,0x20c7c,0x20c7c,0x20c8d,0x20c8d,0x20c96,0x20c96,0x20c9c,0x20c9c,0x20cb5,0x20cb5,0x20cb8,0x20cb8,0x20ccf,0x20ccf,0x20cd3,0x20cd6,0x20cdd,0x20cdd,0x20ced,0x20ced,0x20cff,0x20cff,0x20d15,0x20d15,0x20d28,0x20d28,0x20d31,0x20d32,0x20d46,0x20d49,0x20d4c,0x20d4e,0x20d6f,0x20d6f,0x20d71,0x20d71,0x20d74,0x20d74,0x20d7c,0x20d7c,0x20d7e,0x20d7f,0x20d96,0x20d96,0x20d9c,0x20d9c,0x20da7,0x20da7,0x20db2,0x20db2,0x20dc8,0x20dc8,0x20e04,0x20e04,0x20e09,0x20e0a,0x20e0d,0x20e11,0x20e16,0x20e16,0x20e1d,0x20e1d,0x20e4c,0x20e4c,0x20e6d,0x20e6d,0x20e73,0x20e73,0x20e75,0x20e7b,0x20e8c,0x20e8c,0x20e96,0x20e96,0x20e98,0x20e98,0x20e9d,0x20e9d,0x20ea2,0x20ea2,0x20eaa,0x20eac,0x20eb6,0x20eb6,0x20ed7,0x20ed8,0x20edd,0x20edd,0x20ef8,0x20efb,0x20f1d,0x20f1d,0x20f26,0x20f26,0x20f2d,0x20f2e,0x20f30,0x20f31,0x20f3b,0x20f3b,0x20f4c,0x20f4c,0x20f64,0x20f64,0x20f8d,0x20f8d,0x20f90,0x20f90,0x20fad,0x20fad,0x20fb4,0x20fb6,0x20fbc,0x20fbc,0x20fdf,0x20fdf,0x20fea,0x20fed,0x21014,0x21014,0x2101d,0x2101e,0x2104f,0x2104f,0x2105c,0x2105c,0x2106f,0x2106f,0x21075,0x21078,0x2107b,0x2107b,0x21088,0x21088,0x21096,0x21096,0x2109d,0x2109d,0x210b4,0x210b4,0x210bf,0x210c1,0x210c7,0x210c9,0x210cf,0x210cf,0x210d3,0x210d3,0x210e4,0x210e4,0x210f4,0x210f6,0x2112f,0x2112f,0x2113b,0x2113b,0x2113d,0x2113d,0x21145,0x21145,0x21148,0x21148,0x2114f,0x2114f,0x21180,0x21180,0x21187,0x21187,0x211d9,0x211d9,0x2123c,0x2123c,0x2124f,0x2124f,0x2127c,0x2127c,0x212a8,0x212a9,0x212b0,0x212b0,0x212e3,0x212e3,0x212fe,0x212fe,0x21302,0x21305,0x21336,0x21336,0x2133a,0x2133a,0x21375,0x21376,0x2138e,0x2138e,0x21398,0x21398,0x2139c,0x2139c,0x213c5,0x213c6,0x213ed,0x213ed,0x213fe,0x213fe,0x21413,0x21413,0x21416,0x21416,0x21424,0x21424,0x2143f,0x2143f,0x21452,0x21452,0x21454,0x21455,0x2148a,0x2148a,0x21497,0x21497,0x214b6,0x214b6,0x214e8,0x214e8,0x214fd,0x214fd,0x21577,0x21577,0x21582,0x21582,0x21596,0x21596,0x2160a,0x2160a,0x21613,0x21613,0x21619,0x21619,0x2163e,0x2163e,0x21661,0x21661,0x21692,0x21692,0x216b8,0x216b8,0x216ba,0x216ba,0x216c0,0x216c2,0x216d3,0x216d3,0x216d5,0x216d5,0x216df,0x216df,0x216e6,0x216e8,0x216fa,0x216fc,0x216fe,0x216fe,0x2170d,0x2170d,0x21710,0x21710,0x21726,0x21726,0x2173a,0x2173c,0x21757,0x21757,0x2176c,0x21771,0x21773,0x21774,0x217ab,0x217ab,0x217b0,0x217b5,0x217c3,0x217c3,0x217c7,0x217c7,0x217d9,0x217dc,0x217df,0x217df,0x217ef,0x217ef,0x217f5,0x217f6,0x217f8,0x217fc,0x21820,0x21820,0x21828,0x2182a,0x2182d,0x2182d,0x21839,0x2183b,0x21840,0x21840,0x21845,0x21845,0x21852,0x21852,0x2185e,0x2185e,0x21861,0x21864,0x21877,0x21877,0x2187b,0x2187b,0x21883,0x21885,0x2189e,0x218a2,0x218be,0x218bf,0x218d1,0x218d1,0x218d6,0x218d9,0x218fa,0x218fa,0x21903,0x21905,0x21910,0x21912,0x21915,0x21915,0x2191c,0x2191c,0x21922,0x21922,0x21927,0x21927,0x2193b,0x2193b,0x21944,0x21944,0x21958,0x21958,0x2196a,0x2196a,0x2197c,0x2197c,0x21980,0x21980,0x21983,0x21983,0x21988,0x21988,0x21996,0x21996,0x219db,0x219db,0x219f3,0x219f3,0x21a2d,0x21a2d,0x21a34,0x21a34,0x21a45,0x21a45,0x21a4b,0x21a4b,0x21a63,0x21a63,0x21b44,0x21b44,0x21bc1,0x21bc2,0x21c2a,0x21c2a,0x21c70,0x21c70,0x21ca2,0x21ca2,0x21ca5,0x21ca5,0x21cac,0x21cac,0x21d46,0x21d46,0x21d53,0x21d53,0x21d5e,0x21d5e,0x21d90,0x21d90,0x21db6,0x21db6,0x21dba,0x21dba,0x21dca,0x21dca,0x21dd1,0x21dd1,0x21deb,0x21deb,0x21df9,0x21df9,0x21e1c,0x21e1c,0x21e23,0x21e23,0x21e37,0x21e37,0x21e3d,0x21e3d,0x21e89,0x21e89,0x21ea4,0x21ea4,0x21ea8,0x21ea8,0x21ec8,0x21ec8,0x21ed5,0x21ed5,0x21f0f,0x21f0f,0x21f15,0x21f15,0x21f6a,0x21f6a,0x21f9e,0x21f9e,0x21fa1,0x21fa1,0x21fe8,0x21fe8,0x22045,0x22045,0x22049,0x22049,0x2207e,0x2207e,0x2209a,0x2209a,0x220c7,0x220c7,0x220fc,0x220fc,0x2212a,0x2212a,0x2215b,0x2215b,0x22173,0x22173,0x2217a,0x2217a,0x221a1,0x221a1,0x221c1,0x221c1,0x221c3,0x221c3,0x22208,0x22208,0x2227c,0x2227c,0x22321,0x22321,0x22325,0x22325,0x223bd,0x223bd,0x223d0,0x223d0,0x223d7,0x223d7,0x223fa,0x223fa,0x22465,0x22465,0x22471,0x22471,0x2248b,0x2248b,0x22491,0x22491,0x224b0,0x224b0,0x224bc,0x224bc,0x224c1,0x224c1,0x224c9,0x224c9,0x224cc,0x224cc,0x224ed,0x224ed,0x22513,0x22513,0x2251b,0x2251b,0x22530,0x22530,0x22554,0x22554,0x2258d,0x2258d,0x225af,0x225af,0x225be,0x225be,0x2261b,0x2261c,0x2262b,0x2262b,0x22668,0x22668,0x2267a,0x2267a,0x22696,0x22696,0x22698,0x22698,0x226f4,0x226f6,0x22712,0x22712,0x22714,0x22714,0x2271b,0x2271b,0x2271f,0x2271f,0x2272a,0x2272a,0x22775,0x22775,0x22781,0x22781,0x22796,0x22796,0x227b4,0x227b5,0x227cd,0x227cd,0x22803,0x22803,0x2285f,0x22860,0x22871,0x22871,0x228ad,0x228ad,0x228c1,0x228c1,0x228f7,0x228f7,0x22926,0x22926,0x22939,0x22939,0x2294f,0x2294f,0x22967,0x22967,0x2296b,0x2296b,0x22980,0x22980,0x22993,0x22993,0x22a66,0x22a66,0x22acf,0x22acf,0x22ad5,0x22ad5,0x22ae6,0x22ae6,0x22ae8,0x22ae8,0x22b0e,0x22b0e,0x22b22,0x22b22,0x22b3f,0x22b3f,0x22b43,0x22b43,0x22b6a,0x22b6a,0x22bca,0x22bca,0x22bce,0x22bce,0x22c26,0x22c27,0x22c38,0x22c38,0x22c4c,0x22c4c,0x22c51,0x22c51,0x22c55,0x22c55,0x22c62,0x22c62,0x22c88,0x22c88,0x22c9b,0x22c9b,0x22ca1,0x22ca1,0x22ca9,0x22ca9,0x22cb2,0x22cb2,0x22cb7,0x22cb7,0x22cc2,0x22cc2,0x22cc6,0x22cc6,0x22cc9,0x22cc9,0x22d07,0x22d08,0x22d12,0x22d12,0x22d44,0x22d44,0x22d4c,0x22d4c,0x22d67,0x22d67,0x22d8d,0x22d8d,0x22d95,0x22d95,0x22da0,0x22da0,0x22da3,0x22da4,0x22db7,0x22db7,0x22dee,0x22dee,0x22e0d,0x22e0d,0x22e36,0x22e36,0x22e42,0x22e42,0x22e78,0x22e78,0x22e8b,0x22e8b,0x22eb3,0x22eb3,0x22eef,0x22eef,0x22f74,0x22f74,0x22fcc,0x22fcc,0x22fe3,0x22fe3,0x23033,0x23033,0x23044,0x23044,0x2304b,0x2304b,0x23066,0x23066,0x2307d,0x2307e,0x2308e,0x2308e,0x230b7,0x230b7,0x230bc,0x230bc,0x230da,0x230da,0x23103,0x23103,0x2313d,0x2313d,0x2317d,0x2317d,0x23182,0x23182,0x231a4,0x231a5,0x231b3,0x231b3,0x231c8,0x231c9,0x231ea,0x231ea,0x231f7,0x231f9,0x2320f,0x2320f,0x23225,0x23225,0x2322f,0x2322f,0x23231,0x23234,0x23256,0x23256,0x2325e,0x2325e,0x23262,0x23262,0x23281,0x23281,0x23289,0x2328a,0x232ab,0x232ad,0x232d2,0x232d2,0x232e0,0x232e1,0x23300,0x23300,0x2330a,0x2330a,0x2331f,0x2331f,0x233b4,0x233b4,0x233cc,0x233cc,0x233de,0x233de,0x233e6,0x233e6,0x233f4,0x233f5,0x233f9,0x233fa,0x233fe,0x233fe,0x23400,0x23400,0x2343f,0x2343f,0x23450,0x23450,0x2346f,0x2346f,0x23472,0x23472,0x234e5,0x234e5,0x23519,0x23519,0x23530,0x23530,0x23551,0x23551,0x2355a,0x2355a,0x23567,0x23567,0x23595,0x23595,0x23599,0x23599,0x2359c,0x2359c,0x235bb,0x235bb,0x235cd,0x235cf,0x235f3,0x235f3,0x23600,0x23600,0x23617,0x23617,0x2361a,0x2361a,0x2363c,0x2363c,0x23640,0x23640,0x23659,0x23659,0x2365f,0x2365f,0x23677,0x23677,0x2368e,0x2368e,0x2369e,0x2369e,0x236a6,0x236a6,0x236ad,0x236ad,0x236ba,0x236ba,0x236df,0x236df,0x236ee,0x236ee,0x23703,0x23703,0x23716,0x23716,0x23720,0x23720,0x2372d,0x2372d,0x2372f,0x2372f,0x2373f,0x2373f,0x23766,0x23766,0x23781,0x23781,0x237a2,0x237a2,0x237bc,0x237bc,0x237c2,0x237c2,0x237d5,0x237d7,0x2383a,0x2383a,0x239c2,0x239c2,0x23aa7,0x23aa7,0x23adb,0x23adb,0x23aee,0x23aee,0x23afa,0x23afa,0x23b1a,0x23b1a,0x23b5a,0x23b5a,0x23c63,0x23c63,0x23c99,0x23c9b,0x23cb5,0x23cb5,0x23cb7,0x23cb7,0x23cc7,0x23cc9,0x23cfc,0x23cff,0x23d40,0x23d40,0x23d5b,0x23d5b,0x23d7e,0x23d7e,0x23d8f,0x23d8f,0x23db6,0x23dbd,0x23de3,0x23de3,0x23df8,0x23df8,0x23e06,0x23e06,0x23e11,0x23e11,0x23e2c,0x23e31,0x23e39,0x23e39,0x23e88,0x23e8b,0x23eb9,0x23eb9,0x23ebf,0x23ebf,0x23ed7,0x23ed7,0x23ef7,0x23efc,0x23f35,0x23f35,0x23f41,0x23f41,0x23f4a,0x23f4a,0x23f61,0x23f61,0x23f7f,0x23f82,0x23f8f,0x23f8f,0x23fb4,0x23fb4,0x23fb7,0x23fb7,0x23fc0,0x23fc0,0x23fc5,0x23fc5,0x23feb,0x23ff0,0x24011,0x24011,0x24039,0x2403d,0x24057,0x24057,0x24085,0x24085,0x2408b,0x2408d,0x24091,0x24091,0x240c9,0x240c9,0x240e1,0x240e1,0x240ec,0x240ec,0x24104,0x24104,0x2410f,0x2410f,0x24119,0x24119,0x2413f,0x24140,0x24144,0x24144,0x2414e,0x2414e,0x24155,0x24157,0x2415c,0x2415c,0x2415f,0x2415f,0x24161,0x24161,0x24177,0x24177,0x2417a,0x2417a,0x241a3,0x241a5,0x241ac,0x241ac,0x241b5,0x241b5,0x241cd,0x241cd,0x241e2,0x241e2,0x241fc,0x241fc,0x2421b,0x2421b,0x2424b,0x2424b,0x24256,0x24256,0x24259,0x24259,0x24276,0x24278,0x24284,0x24284,0x24293,0x24293,0x24295,0x24295,0x242a5,0x242a5,0x242bf,0x242bf,0x242c1,0x242c1,0x242c9,0x242ca,0x242ee,0x242ee,0x242fa,0x242fa,0x2430d,0x2430d,0x2431a,0x2431a,0x24334,0x24334,0x24348,0x24348,0x24362,0x24365,0x2438c,0x2438c,0x24396,0x24396,0x2439c,0x2439c,0x243bd,0x243bd,0x243c1,0x243c1,0x243e9,0x243ea,0x243f2,0x243f2,0x243f8,0x243f8,0x24404,0x24404,0x24435,0x24436,0x2445a,0x2445b,0x24473,0x24473,0x24487,0x24488,0x244b9,0x244b9,0x244bc,0x244bc,0x244ce,0x244ce,0x244d3,0x244d3,0x244d6,0x244d6,0x24505,0x24505,0x24521,0x24521,0x24578,0x24578,0x245c8,0x245c8,0x24618,0x24618,0x2462a,0x2462a,0x24665,0x24665,0x24674,0x24674,0x24697,0x24697,0x246d4,0x246d4,0x24706,0x24706,0x24725,0x24725,0x2472f,0x2472f,0x2478f,0x2478f,0x247e0,0x247e0,0x24812,0x24812,0x24823,0x24823,0x24882,0x24882,0x248e9,0x248e9,0x248f0,0x248f3,0x248fb,0x248fb,0x248ff,0x24901,0x2490c,0x2490c,0x24916,0x24917,0x24919,0x24919,0x2492f,0x2492f,0x24933,0x24934,0x2493e,0x24943,0x24962,0x24963,0x24974,0x24976,0x2497b,0x2497b,0x2497f,0x2497f,0x24982,0x24982,0x24988,0x2498f,0x24994,0x24994,0x249a4,0x249a4,0x249a7,0x249a7,0x249a9,0x249a9,0x249ab,0x249ad,0x249b7,0x249bb,0x249c5,0x249c5,0x249d0,0x249d0,0x249da,0x249da,0x249de,0x249df,0x249e3,0x249e3,0x249e5,0x249e5,0x249ec,0x249ed,0x249f6,0x249f9,0x249fb,0x249fb,0x24a0e,0x24a0e,0x24a12,0x24a13,0x24a15,0x24a15,0x24a21,0x24a2a,0x24a3e,0x24a3e,0x24a42,0x24a42,0x24a45,0x24a45,0x24a4a,0x24a4a,0x24a4e,0x24a51,0x24a5d,0x24a5d,0x24a65,0x24a67,0x24a71,0x24a71,0x24a77,0x24a7a,0x24a8c,0x24a8c,0x24a93,0x24a96,0x24aa4,0x24aa7,0x24ab1,0x24ab3,0x24aba,0x24abc,0x24ac0,0x24ac0,0x24ac7,0x24ac7,0x24aca,0x24aca,0x24ad1,0x24ad1,0x24adf,0x24adf,0x24ae2,0x24ae2,0x24ae9,0x24ae9,0x24b0f,0x24b0f,0x24b6e,0x24b6e,0x24bf5,0x24bf5,0x24c09,0x24c09,0x24c9e,0x24c9f,0x24cc9,0x24cc9,0x24cd9,0x24cd9,0x24d06,0x24d06,0x24d13,0x24d13,0x24db8,0x24db8,0x24dea,0x24deb,0x24e3b,0x24e3b,0x24e50,0x24e50,0x24ea5,0x24ea5,0x24ea7,0x24ea7,0x24f0e,0x24f0e,0x24f5c,0x24f5c,0x24f82,0x24f82,0x24f86,0x24f86,0x24f97,0x24f97,0x24f9a,0x24f9a,0x24fa9,0x24fa9,0x24fb8,0x24fb8,0x24fc2,0x24fc2,0x2502c,0x2502c,0x25052,0x25052,0x2509d,0x2509d,0x2512b,0x2512b,0x25148,0x25148,0x2517d,0x2517e,0x251cd,0x251cd,0x251e3,0x251e3,0x251e6,0x251e7,0x25220,0x25221,0x25250,0x25250,0x25299,0x25299,0x252c7,0x252c7,0x252d8,0x252d8,0x2530e,0x2530e,0x25311,0x25311,0x25313,0x25313,0x25419,0x25419,0x25425,0x25425,0x2542f,0x25430,0x25446,0x25446,0x2546c,0x2546c,0x2546e,0x2546e,0x2549a,0x2549a,0x25531,0x25531,0x25535,0x25535,0x2553f,0x2553f,0x2555b,0x2555e,0x25562,0x25562,0x25565,0x25566,0x25581,0x25581,0x25584,0x25584,0x2558f,0x2558f,0x255b9,0x255b9,0x255d5,0x255d5,0x255db,0x255db,0x255e0,0x255e0,0x25605,0x25605,0x25635,0x25635,0x25651,0x25651,0x25683,0x25683,0x25695,0x25695,0x256e3,0x256e3,0x256f6,0x256f6,0x25706,0x25706,0x2571d,0x2571d,0x25725,0x25725,0x2573d,0x2573d,0x25772,0x25772,0x257c7,0x257c7,0x257df,0x257e1,0x25857,0x25857,0x2585d,0x2585d,0x25872,0x25872,0x258c8,0x258c8,0x258de,0x258de,0x258e1,0x258e1,0x25903,0x25903,0x25946,0x25946,0x25956,0x25956,0x259ac,0x259ac,0x259cc,0x259cc,0x25a54,0x25a54,0x25a95,0x25a95,0x25a9c,0x25a9c,0x25aae,0x25aaf,0x25ad7,0x25ad7,0x25ae9,0x25ae9,0x25b74,0x25b74,0x25b89,0x25b89,0x25bb3,0x25bb4,0x25bc6,0x25bc6,0x25be4,0x25be4,0x25be8,0x25be8,0x25c01,0x25c01,0x25c06,0x25c06,0x25c21,0x25c21,0x25c4a,0x25c4a,0x25c65,0x25c65,0x25c91,0x25c91,0x25ca4,0x25ca4,0x25cc0,0x25cc1,0x25cfe,0x25cfe,0x25d20,0x25d20,0x25d30,0x25d30,0x25d43,0x25d43,0x25d99,0x25d99,0x25db9,0x25db9,0x25e0e,0x25e0e,0x25e49,0x25e49,0x25e81,0x25e83,0x25ea6,0x25ea6,0x25ebc,0x25ebc,0x25ed7,0x25ed8,0x25f1a,0x25f1a,0x25f4b,0x25f4b,0x25fe1,0x25fe2,0x26021,0x26021,0x26029,0x26029,0x26048,0x26048,0x26064,0x26064,0x26083,0x26083,0x26097,0x26097,0x260a4,0x260a5,0x26102,0x26102,0x26121,0x26121,0x26159,0x2615c,0x261ad,0x261ae,0x261b2,0x261b2,0x261dd,0x261dd,0x26258,0x26258,0x26261,0x26261,0x2626a,0x2626b,0x262d0,0x262d0,0x26335,0x26335,0x2634b,0x2634c,0x26351,0x26351,0x263be,0x263be,0x263f5,0x263f5,0x263f8,0x263f8,0x26402,0x26402,0x26410,0x26412,0x2644a,0x2644a,0x26469,0x26469,0x26484,0x26484,0x26488,0x26489,0x2648d,0x2648d,0x26498,0x26498,0x26512,0x26512,0x26572,0x26572,0x265a0,0x265a0,0x265ad,0x265ad,0x265bf,0x265bf,0x26612,0x26612,0x26626,0x26626,0x266af,0x266af,0x266b1,0x266b1,0x266b5,0x266b5,0x266da,0x266da,0x266e8,0x266e8,0x266fc,0x266fc,0x26716,0x26716,0x26741,0x26741,0x26799,0x26799,0x267b3,0x267b4,0x267cc,0x267cc,0x2681c,0x2681c,0x26846,0x26846,0x2685e,0x2685e,0x2686e,0x2686e,0x26888,0x26888,0x2688a,0x2688a,0x26893,0x26893,0x268c7,0x268c7,0x2690e,0x2690e,0x26911,0x26911,0x26926,0x26926,0x26939,0x26939,0x26951,0x26951,0x269a8,0x269a8,0x269b5,0x269b5,0x269f2,0x269f2,0x269fa,0x269fa,0x26a2d,0x26a2e,0x26a34,0x26a34,0x26a42,0x26a42,0x26a51,0x26a52,0x26b05,0x26b05,0x26b0a,0x26b0a,0x26b13,0x26b13,0x26b15,0x26b15,0x26b23,0x26b23,0x26b28,0x26b28,0x26b50,0x26b53,0x26b5b,0x26b5b,0x26b75,0x26b75,0x26b82,0x26b82,0x26b96,0x26b97,0x26b9d,0x26b9d,0x26bb3,0x26bb3,0x26bc0,0x26bc0,0x26bf7,0x26bf7,0x26c21,0x26c21,0x26c40,0x26c41,0x26c46,0x26c46,0x26c7e,0x26c82,0x26ca4,0x26ca4,0x26cb7,0x26cb8,0x26cbd,0x26cbd,0x26cc0,0x26cc0,0x26cc3,0x26cc3,0x26cd1,0x26cd1,0x26d22,0x26d2a,0x26d51,0x26d51,0x26d74,0x26d74,0x26da0,0x26da7,0x26dae,0x26dae,0x26ddc,0x26ddc,0x26dea,0x26deb,0x26df0,0x26df0,0x26e00,0x26e00,0x26e05,0x26e05,0x26e07,0x26e07,0x26e12,0x26e12,0x26e42,0x26e45,0x26e6e,0x26e6e,0x26e72,0x26e72,0x26e77,0x26e77,0x26e84,0x26e84,0x26e88,0x26e88,0x26e8b,0x26e8b,0x26e99,0x26e99,0x26ed0,0x26ed7,0x26f26,0x26f26,0x26f73,0x26f74,0x26f9f,0x26f9f,0x26fa1,0x26fa1,0x26fbe,0x26fbe,0x26fde,0x26fdf,0x2700e,0x2700e,0x2704b,0x2704b,0x27052,0x27053,0x27088,0x27088,0x270ad,0x270af,0x270cd,0x270cd,0x270d2,0x270d2,0x270f0,0x270f0,0x270f8,0x270f8,0x27109,0x27109,0x2710c,0x2710d,0x27126,0x27127,0x27164,0x27165,0x27175,0x27175,0x271cd,0x271cd,0x2721b,0x2721b,0x27267,0x27267,0x27280,0x27280,0x27285,0x27285,0x2728b,0x2728b,0x272b2,0x272b2,0x272b6,0x272b6,0x272e6,0x272e6,0x27352,0x27352,0x2739a,0x2739a,0x273ff,0x273ff,0x27422,0x27422,0x27450,0x27450,0x27484,0x27484,0x27486,0x27486,0x27574,0x27574,0x275a3,0x275a3,0x275e0,0x275e0,0x275e4,0x275e4,0x275fd,0x275fe,0x27607,0x27607,0x2760c,0x2760c,0x27632,0x27632,0x27639,0x27639,0x27655,0x27657,0x27694,0x27694,0x2770f,0x2770f,0x27735,0x27736,0x27741,0x27741,0x2775e,0x2775e,0x27784,0x27785,0x277cc,0x277cc,0x27858,0x27858,0x27870,0x27870,0x2789d,0x2789d,0x278b2,0x278b2,0x278c8,0x278c8,0x27924,0x27924,0x27967,0x27967,0x2797a,0x2797a,0x279a0,0x279a0,0x279dd,0x279dd,0x279fd,0x279fd,0x27a0a,0x27a0a,0x27a0e,0x27a0e,0x27a3e,0x27a3e,0x27a53,0x27a53,0x27a59,0x27a59,0x27a79,0x27a79,0x27a84,0x27a84,0x27abd,0x27abe,0x27af4,0x27af4,0x27b06,0x27b06,0x27b0b,0x27b0b,0x27b18,0x27b18,0x27b38,0x27b3a,0x27b48,0x27b48,0x27b65,0x27b65,0x27bef,0x27bef,0x27bf4,0x27bf4,0x27c12,0x27c12,0x27c6c,0x27c6c,0x27cb1,0x27cb1,0x27cc5,0x27cc5,0x27d2f,0x27d2f,0x27d53,0x27d54,0x27d66,0x27d66,0x27d73,0x27d73,0x27d84,0x27d84,0x27d8f,0x27d8f,0x27d98,0x27d98,0x27dbd,0x27dbd,0x27ddc,0x27ddc,0x27e4d,0x27e4d,0x27e4f,0x27e4f,0x27f2e,0x27f2e,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28002,0x28002,0x28009,0x28009,0x2801e,0x2801e,0x28023,0x28024,0x28048,0x28048,0x28083,0x28083,0x28090,0x28090,0x280bd,0x280be,0x280e8,0x280e9,0x280f4,0x280f4,0x2812e,0x2812e,0x2814f,0x2814f,0x2815d,0x2815d,0x2816f,0x2816f,0x28189,0x28189,0x281af,0x281af,0x281bc,0x281bc,0x28207,0x28207,0x28218,0x28218,0x2821a,0x2821a,0x28256,0x28256,0x2827c,0x2827c,0x2829b,0x2829b,0x282cd,0x282cd,0x282e2,0x282e2,0x28306,0x28306,0x28318,0x28318,0x2832f,0x2832f,0x2833a,0x2833a,0x28365,0x28365,0x2836d,0x2836d,0x2837d,0x2837d,0x2838a,0x2838a,0x28412,0x28412,0x28468,0x28468,0x2846c,0x2846c,0x28473,0x28473,0x28482,0x28482,0x28501,0x28501,0x2853c,0x2853d,0x2856c,0x2856c,0x285e8,0x285e8,0x285f4,0x285f4,0x28600,0x28600,0x2860b,0x2860b,0x28625,0x28625,0x2863b,0x2863b,0x286aa,0x286ab,0x286b2,0x286b2,0x286bc,0x286bc,0x286d8,0x286d8,0x286e6,0x286e6,0x2870f,0x2870f,0x28713,0x28713,0x28804,0x28804,0x2882b,0x2882b,0x2890d,0x2890d,0x28933,0x28933,0x28948,0x28949,0x28956,0x28956,0x28964,0x28964,0x28968,0x28968,0x2896c,0x2896d,0x2897e,0x2897e,0x28989,0x28989,0x289a8,0x289a8,0x289aa,0x289ab,0x289b8,0x289b8,0x289bc,0x289bc,0x289c0,0x289c0,0x289dc,0x289dc,0x289de,0x289de,0x289e1,0x289e1,0x289e3,0x289e4,0x289e7,0x289e8,0x289f9,0x289fc,0x28a0f,0x28a0f,0x28a16,0x28a16,0x28a25,0x28a25,0x28a29,0x28a29,0x28a32,0x28a32,0x28a36,0x28a36,0x28a44,0x28a4b,0x28a59,0x28a5a,0x28a81,0x28a83,0x28a9a,0x28a9c,0x28ac0,0x28ac0,0x28ac6,0x28ac6,0x28acb,0x28acc,0x28ace,0x28ace,0x28ade,0x28ae3,0x28ae5,0x28ae5,0x28aea,0x28aea,0x28afc,0x28afc,0x28b0c,0x28b0c,0x28b13,0x28b13,0x28b21,0x28b22,0x28b2b,0x28b2d,0x28b2f,0x28b2f,0x28b46,0x28b46,0x28b4c,0x28b4c,0x28b4e,0x28b4e,0x28b50,0x28b50,0x28b63,0x28b66,0x28b6c,0x28b6c,0x28b8f,0x28b8f,0x28b99,0x28b99,0x28b9c,0x28b9d,0x28bb9,0x28bb9,0x28bc2,0x28bc2,0x28bc5,0x28bc5,0x28bd4,0x28bd4,0x28bd7,0x28bd7,0x28bd9,0x28bda,0x28be7,0x28bec,0x28bf5,0x28bf5,0x28bff,0x28bff,0x28c03,0x28c03,0x28c09,0x28c09,0x28c1c,0x28c1d,0x28c23,0x28c23,0x28c26,0x28c26,0x28c2b,0x28c2b,0x28c30,0x28c30,0x28c39,0x28c39,0x28c3b,0x28c3b,0x28cca,0x28cca,0x28ccd,0x28ccd,0x28cd2,0x28cd2,0x28d34,0x28d34,0x28d99,0x28d99,0x28db9,0x28db9,0x28e0f,0x28e0f,0x28e36,0x28e36,0x28e39,0x28e39,0x28e65,0x28e66,0x28e97,0x28e97,0x28eac,0x28eac,0x28eb2,0x28eb3,0x28ed9,0x28ed9,0x28ee7,0x28ee7,0x28fc5,0x28fc5,0x29079,0x29079,0x29088,0x29088,0x2908b,0x2908b,0x29093,0x29093,0x290af,0x290b1,0x290c0,0x290c0,0x290e4,0x290e5,0x290ec,0x290ed,0x2910d,0x2910d,0x29110,0x29110,0x2913c,0x2913c,0x2914d,0x2914d,0x2915b,0x2915b,0x2915e,0x2915e,0x29170,0x29170,0x2919c,0x2919c,0x291a8,0x291a8,0x291d5,0x291d5,0x291eb,0x291eb,0x2941d,0x2941d,0x29420,0x29420,0x29433,0x29433,0x2943f,0x2943f,0x29448,0x29448,0x294d0,0x294d0,0x294d9,0x294da,0x294e5,0x294e5,0x294e7,0x294e7,0x2959e,0x2959e,0x295b0,0x295b0,0x295b8,0x295b8,0x295d7,0x295d7,0x295e9,0x295e9,0x295f4,0x295f4,0x2967f,0x2967f,0x29720,0x29720,0x29732,0x29732,0x297d4,0x297d4,0x29810,0x29810,0x29857,0x29857,0x298a4,0x298a4,0x298d1,0x298d1,0x298ea,0x298ea,0x298f1,0x298f1,0x298fa,0x298fa,0x29903,0x29903,0x29905,0x29905,0x2992f,0x2992f,0x29945,0x29945,0x29947,0x29949,0x2995d,0x2995d,0x2996a,0x2996a,0x2999d,0x2999d,0x299c3,0x299c3,0x299c9,0x299c9,0x29a28,0x29a28,0x29a4d,0x29a4d,0x29b05,0x29b05,0x29b0e,0x29b0e,0x29bd5,0x29bd5,0x29c73,0x29c73,0x29cad,0x29cad,0x29d3e,0x29d3e,0x29d5a,0x29d5a,0x29d7c,0x29d7c,0x29d98,0x29d98,0x29d9b,0x29d9b,0x29df6,0x29df6,0x29e06,0x29e06,0x29e2d,0x29e2d,0x29e68,0x29e68,0x29eac,0x29eac,0x29eb0,0x29eb0,0x29ec3,0x29ec3,0x29ef8,0x29ef8,0x29f23,0x29f23,0x29f30,0x29f30,0x29fb7,0x29fb7,0x29fde,0x29fde,0x2a014,0x2a014,0x2a087,0x2a087,0x2a0b9,0x2a0b9,0x2a0e1,0x2a0e1,0x2a0ed,0x2a0ed,0x2a0f3,0x2a0f3,0x2a0f8,0x2a0f8,0x2a0fe,0x2a0fe,0x2a107,0x2a107,0x2a123,0x2a123,0x2a133,0x2a134,0x2a150,0x2a150,0x2a192,0x2a193,0x2a1ab,0x2a1ab,0x2a1b4,0x2a1b5,0x2a1df,0x2a1df,0x2a1f5,0x2a1f5,0x2a220,0x2a220,0x2a233,0x2a233,0x2a293,0x2a293,0x2a29f,0x2a29f,0x2a2b2,0x2a2b2,0x2a2b4,0x2a2b4,0x2a2b6,0x2a2b6,0x2a2ba,0x2a2ba,0x2a2bd,0x2a2bd,0x2a2df,0x2a2df,0x2a2ff,0x2a2ff,0x2a351,0x2a351,0x2a3a9,0x2a3a9,0x2a3ed,0x2a3ed,0x2a434,0x2a434,0x2a45b,0x2a45b,0x2a5c6,0x2a5c6,0x2a5cb,0x2a5cb,0x2a601,0x2a601,0x2a632,0x2a632,0x2a64a,0x2a64a,0x2a65b,0x2a65b,0x2a6a9,0x2a6a9,0x2adff,0x2adff,0x2d544,0x2d544,0x2f825,0x2f825,0x2f83b,0x2f83b,0x2f840,0x2f840,0x2f878,0x2f878,0x2f894,0x2f894,0x2f8a6,0x2f8a6,0x2f8cd,0x2f8cd,0x2f8db,0x2f8db,0x2f994,0x2f994,0x2f9b2,0x2f9b2,0x2f9bc,0x2f9bc,0x2f9d4,0x2f9d4,0x30ede,0x30ede,0x3106c,0x3106c,]), - NotoFont.fromFlatList('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [0x20,0x20,0xa0,0xa0,0x1720,0x1736,0x200b,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200c,0x108e0,0x108f2,0x108f4,0x108f5,0x108fb,0x108ff,]), - NotoFont.fromFlatList('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v38/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x34f,0x34f,0x591,0x5c7,0x5d0,0x5ea,0x5f0,0x5f4,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200c,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20aa,0x20aa,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xfb1d,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfb4f,]), - NotoFont.fromFlatList('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [0x20,0x20,0xa0,0xa0,0x10840,0x10855,0x10857,0x1085f,]), - NotoFont.fromFlatList('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [0x20,0x20,0xa0,0xa0,0x627,0x627,0x660,0x669,0x6f0,0x6f9,0x1ec71,0x1ecb4,]), - NotoFont.fromFlatList('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [0x20,0x20,0xa0,0xa0,0x10b60,0x10b72,0x10b78,0x10b7f,]), - NotoFont.fromFlatList('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [0x20,0x20,0xa0,0xa0,0x10b40,0x10b55,0x10b58,0x10b5f,]), - NotoFont.fromFlatList('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3402,0x3402,0x3405,0x3406,0x3427,0x3427,0x342c,0x342c,0x342e,0x342e,0x3468,0x3468,0x346a,0x346a,0x3488,0x3488,0x3492,0x3492,0x34b5,0x34b5,0x34bc,0x34bc,0x34c1,0x34c1,0x34c7,0x34c7,0x34db,0x34db,0x351f,0x351f,0x353e,0x353e,0x355d,0x355e,0x3563,0x3563,0x356e,0x356e,0x35a6,0x35a6,0x35a8,0x35a8,0x35c5,0x35c5,0x35da,0x35da,0x35de,0x35de,0x35f4,0x35f4,0x3605,0x3605,0x3614,0x3614,0x364a,0x364a,0x3691,0x3691,0x3696,0x3696,0x3699,0x3699,0x36cf,0x36cf,0x3761,0x3762,0x376b,0x376c,0x3775,0x3775,0x378d,0x378d,0x37c1,0x37c1,0x37e2,0x37e2,0x37e8,0x37e8,0x37f4,0x37f4,0x37fd,0x37fd,0x3800,0x3800,0x382f,0x382f,0x3836,0x3836,0x3840,0x3840,0x385c,0x385c,0x3861,0x3861,0x38a1,0x38a1,0x38ad,0x38ad,0x38fa,0x38fa,0x3917,0x3917,0x391a,0x391a,0x396f,0x396f,0x39a4,0x39a4,0x39b8,0x39b8,0x3a5c,0x3a5c,0x3a6e,0x3a6e,0x3a73,0x3a73,0x3a85,0x3a85,0x3ac4,0x3ac4,0x3acb,0x3acb,0x3ad6,0x3ad7,0x3aea,0x3aea,0x3af3,0x3af3,0x3b0e,0x3b0e,0x3b1a,0x3b1a,0x3b1c,0x3b1c,0x3b22,0x3b22,0x3b35,0x3b35,0x3b6d,0x3b6d,0x3b77,0x3b77,0x3b87,0x3b88,0x3b8d,0x3b8d,0x3ba4,0x3ba4,0x3bb6,0x3bb6,0x3bc3,0x3bc3,0x3bcd,0x3bcd,0x3bf0,0x3bf0,0x3bf3,0x3bf3,0x3c0f,0x3c0f,0x3c26,0x3c26,0x3cc3,0x3cc3,0x3cd2,0x3cd2,0x3d11,0x3d11,0x3d1e,0x3d1e,0x3d31,0x3d31,0x3d4e,0x3d4e,0x3d64,0x3d64,0x3d9a,0x3d9a,0x3dc0,0x3dc0,0x3dcc,0x3dcc,0x3dd4,0x3dd4,0x3e05,0x3e05,0x3e3f,0x3e40,0x3e60,0x3e60,0x3e66,0x3e66,0x3e68,0x3e68,0x3e83,0x3e83,0x3e8a,0x3e8a,0x3e94,0x3e94,0x3eda,0x3eda,0x3f57,0x3f57,0x3f72,0x3f72,0x3f75,0x3f75,0x3f77,0x3f77,0x3fae,0x3fae,0x3fb1,0x3fb1,0x3fc9,0x3fc9,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x4039,0x4039,0x4058,0x4058,0x4093,0x4093,0x4103,0x4103,0x4105,0x4105,0x4148,0x4148,0x414f,0x414f,0x4163,0x4163,0x41b4,0x41b4,0x41bf,0x41bf,0x41e6,0x41e6,0x41ee,0x41ee,0x41f3,0x41f3,0x4207,0x4207,0x420e,0x420e,0x4264,0x4264,0x4293,0x4293,0x42c6,0x42c6,0x42d6,0x42d6,0x42dd,0x42dd,0x4302,0x4302,0x432b,0x432b,0x4343,0x4343,0x43ee,0x43ee,0x43f0,0x43f0,0x4408,0x4408,0x440c,0x440c,0x4417,0x4417,0x441c,0x441c,0x4422,0x4422,0x4453,0x4453,0x445b,0x445b,0x4476,0x4476,0x447a,0x447a,0x4491,0x4491,0x44b3,0x44b3,0x44be,0x44be,0x44d4,0x44d4,0x4508,0x4508,0x450d,0x450d,0x4525,0x4525,0x4543,0x4543,0x457a,0x457a,0x459d,0x459d,0x45b8,0x45b8,0x45be,0x45be,0x45e5,0x45e5,0x45ea,0x45ea,0x460f,0x4610,0x4641,0x4641,0x4665,0x4665,0x46a1,0x46a1,0x46ae,0x46af,0x470c,0x470c,0x471f,0x471f,0x4764,0x4764,0x47e6,0x47e6,0x47fd,0x47fd,0x4816,0x4816,0x481e,0x481e,0x4844,0x4844,0x484e,0x484e,0x48b5,0x48b5,0x49b0,0x49b0,0x49e7,0x49e7,0x49fa,0x49fa,0x4a04,0x4a04,0x4a29,0x4a29,0x4abc,0x4abc,0x4b38,0x4b38,0x4b3b,0x4b3b,0x4b7e,0x4b7e,0x4bc2,0x4bc2,0x4bca,0x4bca,0x4bd2,0x4bd2,0x4be8,0x4be8,0x4c17,0x4c17,0x4c20,0x4c20,0x4c38,0x4c38,0x4cc4,0x4cc4,0x4cd1,0x4cd1,0x4ce1,0x4ce1,0x4d07,0x4d07,0x4d77,0x4d77,0x4e00,0x4e05,0x4e07,0x4e12,0x4e14,0x4e19,0x4e1e,0x4e1f,0x4e21,0x4e21,0x4e23,0x4e24,0x4e26,0x4e26,0x4e28,0x4e32,0x4e35,0x4e39,0x4e3b,0x4e3c,0x4e3f,0x4e45,0x4e47,0x4e48,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e51,0x4e51,0x4e55,0x4e5f,0x4e62,0x4e63,0x4e68,0x4e69,0x4e71,0x4e71,0x4e73,0x4e75,0x4e79,0x4e79,0x4e7e,0x4e80,0x4e82,0x4e82,0x4e85,0x4e86,0x4e88,0x4e8e,0x4e91,0x4e92,0x4e94,0x4e99,0x4e9b,0x4ea2,0x4ea4,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eb0,0x4eb3,0x4eb3,0x4eb6,0x4eb6,0x4eb9,0x4ebc,0x4ec0,0x4ec4,0x4ec6,0x4ec8,0x4eca,0x4ecb,0x4ecd,0x4ed0,0x4ed4,0x4edb,0x4edd,0x4ee5,0x4ee8,0x4ee8,0x4eeb,0x4eeb,0x4eed,0x4ef3,0x4ef5,0x4ef7,0x4efb,0x4f03,0x4f08,0x4f12,0x4f15,0x4f17,0x4f19,0x4f1a,0x4f1c,0x4f1d,0x4f2b,0x4f2b,0x4f2e,0x4f31,0x4f33,0x4f3e,0x4f40,0x4f40,0x4f42,0x4f43,0x4f46,0x4f49,0x4f4b,0x4f60,0x4f63,0x4f64,0x4f69,0x4f6a,0x4f6c,0x4f6c,0x4f6e,0x4f71,0x4f73,0x4f73,0x4f75,0x4f7f,0x4f81,0x4f86,0x4f88,0x4f94,0x4f96,0x4f9b,0x4f9d,0x4fa1,0x4fab,0x4fab,0x4fad,0x4faf,0x4fb2,0x4fb2,0x4fb5,0x4fb7,0x4fb9,0x4fb9,0x4fbb,0x4fc6,0x4fc8,0x4fd4,0x4fd7,0x4fd8,0x4fda,0x4fdd,0x4fdf,0x4fe6,0x4fee,0x4ff3,0x4ff5,0x4ff6,0x4ff8,0x4ff8,0x4ffa,0x4ffa,0x4ffc,0x5002,0x5004,0x5007,0x5009,0x5014,0x5016,0x501f,0x5021,0x502e,0x5030,0x5030,0x5032,0x5033,0x5035,0x5036,0x5039,0x5039,0x503b,0x503b,0x5040,0x5043,0x5045,0x504a,0x504c,0x504c,0x504e,0x5053,0x5055,0x5057,0x5059,0x505a,0x505c,0x505c,0x505f,0x5060,0x5062,0x5063,0x5065,0x5067,0x506a,0x506a,0x506c,0x506d,0x5070,0x5072,0x5074,0x5078,0x507d,0x507d,0x5080,0x5081,0x5083,0x5086,0x5088,0x5088,0x508a,0x508a,0x508d,0x5096,0x5098,0x509c,0x509e,0x50a3,0x50aa,0x50aa,0x50ac,0x50ad,0x50af,0x50b5,0x50b7,0x50b7,0x50b9,0x50bb,0x50bd,0x50be,0x50c0,0x50c0,0x50c2,0x50c5,0x50c7,0x50c7,0x50c9,0x50ca,0x50cc,0x50d1,0x50d3,0x50d6,0x50d8,0x50da,0x50dc,0x50df,0x50e1,0x50e9,0x50ed,0x50f6,0x50f9,0x50fb,0x50fe,0x50fe,0x5100,0x5104,0x5106,0x5109,0x510b,0x510e,0x5110,0x5110,0x5112,0x5112,0x5114,0x511f,0x5121,0x5121,0x5123,0x5123,0x5127,0x5128,0x512a,0x512a,0x512c,0x512d,0x512f,0x512f,0x5131,0x5135,0x5137,0x513c,0x513f,0x5150,0x5152,0x5155,0x5157,0x5158,0x515a,0x515a,0x515c,0x515c,0x515f,0x5160,0x5162,0x5162,0x5164,0x516e,0x5171,0x5171,0x5173,0x5179,0x517b,0x517c,0x517e,0x517e,0x5180,0x5180,0x5182,0x5186,0x5189,0x5193,0x5195,0x5199,0x519d,0x519d,0x51a0,0x51a6,0x51a8,0x51ad,0x51b0,0x51b8,0x51ba,0x51ba,0x51bc,0x51bf,0x51c2,0x51c6,0x51c8,0x51cd,0x51cf,0x51cf,0x51d1,0x51d6,0x51d8,0x51d8,0x51db,0x51e2,0x51e5,0x51e7,0x51e9,0x51ea,0x51ec,0x51ee,0x51f0,0x51fa,0x51fd,0x51fe,0x5200,0x5208,0x520a,0x520b,0x520e,0x520e,0x5211,0x5218,0x521d,0x521d,0x5222,0x5222,0x5224,0x522b,0x522e,0x522e,0x5230,0x5233,0x5235,0x523c,0x5243,0x5245,0x5247,0x5247,0x5249,0x524d,0x524f,0x524f,0x5254,0x5258,0x525a,0x5261,0x5263,0x5266,0x5269,0x526a,0x526c,0x526c,0x526e,0x5275,0x5277,0x5279,0x527d,0x527d,0x527f,0x5280,0x5282,0x5285,0x5287,0x528a,0x528c,0x528d,0x5291,0x5298,0x529a,0x529c,0x529f,0x52a0,0x52a3,0x52a7,0x52a9,0x52ad,0x52af,0x52b1,0x52b4,0x52be,0x52c0,0x52c1,0x52c3,0x52ca,0x52cc,0x52cd,0x52cf,0x52d2,0x52d4,0x52d9,0x52db,0x52ea,0x52ec,0x52ec,0x52f0,0x52fb,0x52fe,0x5303,0x5305,0x5308,0x530a,0x530d,0x530f,0x5311,0x5313,0x5313,0x5315,0x5321,0x5323,0x5325,0x5327,0x532d,0x532f,0x5333,0x5335,0x5335,0x5338,0x5343,0x5345,0x534d,0x5351,0x5354,0x5357,0x535c,0x535e,0x535e,0x5360,0x5361,0x5363,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x537b,0x537d,0x537f,0x5382,0x5384,0x5387,0x5389,0x538e,0x538e,0x5393,0x5394,0x5396,0x5396,0x5398,0x539a,0x539d,0x539d,0x539f,0x53a1,0x53a4,0x53a6,0x53a8,0x53ab,0x53ad,0x53b0,0x53b2,0x53b8,0x53ba,0x53bb,0x53bd,0x53bd,0x53c0,0x53c5,0x53c8,0x53cf,0x53d2,0x53d7,0x53d9,0x53db,0x53dd,0x53f8,0x53fa,0x53fa,0x5401,0x5404,0x5408,0x5413,0x541a,0x541b,0x541d,0x5421,0x5424,0x5424,0x5426,0x542f,0x5431,0x5431,0x5433,0x5436,0x5438,0x5439,0x543b,0x5440,0x5442,0x5444,0x5446,0x544a,0x544c,0x544f,0x5451,0x5451,0x5455,0x5455,0x545e,0x545f,0x5462,0x5462,0x5464,0x5464,0x5466,0x546e,0x5470,0x5471,0x5473,0x5477,0x547b,0x547d,0x547f,0x5481,0x5483,0x5486,0x5488,0x5492,0x5495,0x5496,0x549c,0x549c,0x549f,0x54a2,0x54a4,0x54af,0x54b1,0x54b3,0x54b7,0x54c4,0x54c6,0x54ca,0x54cd,0x54ce,0x54d8,0x54d8,0x54e0,0x54e2,0x54e5,0x54e6,0x54e8,0x54ea,0x54ec,0x54ef,0x54f1,0x54f3,0x54f6,0x54f6,0x54fa,0x54fa,0x54fc,0x5501,0x5504,0x5509,0x550c,0x5510,0x5514,0x5516,0x5527,0x5527,0x552a,0x552b,0x552e,0x552f,0x5531,0x5533,0x5535,0x5536,0x5538,0x5539,0x553b,0x553e,0x5540,0x5541,0x5544,0x5547,0x5549,0x554a,0x554c,0x554d,0x554f,0x5551,0x5553,0x5553,0x5556,0x5558,0x555a,0x555e,0x5560,0x5561,0x5563,0x5564,0x5566,0x5566,0x557b,0x5584,0x5586,0x558b,0x558e,0x558f,0x5591,0x5594,0x5597,0x559a,0x559c,0x559f,0x55a3,0x55a4,0x55a7,0x55ae,0x55b0,0x55b0,0x55b2,0x55b2,0x55b6,0x55b6,0x55bf,0x55bf,0x55c1,0x55c1,0x55c3,0x55c7,0x55c9,0x55c9,0x55cb,0x55cc,0x55ce,0x55ce,0x55d1,0x55d4,0x55d7,0x55d8,0x55da,0x55df,0x55e2,0x55e4,0x55e9,0x55e9,0x55ec,0x55ec,0x55ee,0x55ee,0x55f1,0x55f1,0x55f6,0x55f9,0x55fd,0x55ff,0x5605,0x560a,0x560d,0x5612,0x5614,0x5614,0x5616,0x5619,0x561b,0x561b,0x5620,0x5620,0x5628,0x5629,0x562c,0x562c,0x562f,0x5639,0x563b,0x563d,0x563f,0x5644,0x5646,0x5647,0x5649,0x5649,0x564b,0x5650,0x5653,0x5654,0x565b,0x565b,0x565e,0x565e,0x5660,0x5664,0x5666,0x5666,0x5668,0x566d,0x566f,0x566f,0x5671,0x5672,0x5674,0x5676,0x5678,0x5678,0x567a,0x567a,0x5680,0x5680,0x5684,0x5688,0x568a,0x568c,0x568f,0x568f,0x5694,0x5695,0x5699,0x569a,0x569d,0x56a0,0x56a2,0x56a2,0x56a5,0x56a9,0x56ab,0x56ae,0x56b1,0x56b4,0x56b6,0x56b7,0x56bc,0x56bc,0x56be,0x56be,0x56c0,0x56c3,0x56c5,0x56c5,0x56c8,0x56d1,0x56d3,0x56d3,0x56d7,0x56e1,0x56e3,0x56e8,0x56eb,0x56eb,0x56ed,0x56ee,0x56f0,0x56f3,0x56f6,0x56f7,0x56f9,0x56fa,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x570f,0x570f,0x5711,0x5713,0x5715,0x5716,0x5718,0x5718,0x571a,0x571d,0x571f,0x572a,0x572c,0x5730,0x5733,0x5734,0x5737,0x5738,0x573b,0x573b,0x573d,0x5740,0x5742,0x5742,0x5745,0x5747,0x574a,0x574a,0x574c,0x5752,0x5759,0x5759,0x575f,0x575f,0x5761,0x5762,0x5764,0x576b,0x576d,0x5771,0x5773,0x5775,0x5777,0x5777,0x5779,0x577c,0x577e,0x577f,0x5781,0x5783,0x5788,0x5789,0x578b,0x578c,0x5793,0x5795,0x5797,0x5797,0x5799,0x579a,0x579c,0x57a4,0x57a7,0x57aa,0x57ac,0x57ac,0x57ae,0x57ae,0x57b0,0x57b0,0x57b3,0x57b3,0x57b8,0x57b8,0x57bd,0x57bd,0x57c0,0x57c0,0x57c3,0x57c3,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57cf,0x57d2,0x57d7,0x57dc,0x57e1,0x57e3,0x57e4,0x57e6,0x57e7,0x57e9,0x57e9,0x57ed,0x57ed,0x57f0,0x57f0,0x57f4,0x5800,0x5802,0x5806,0x5808,0x580d,0x5815,0x5815,0x5819,0x5819,0x581b,0x581b,0x581d,0x5821,0x5824,0x5824,0x5826,0x5827,0x582a,0x582a,0x582d,0x582d,0x582f,0x5832,0x5834,0x5835,0x5839,0x583a,0x583d,0x583d,0x583f,0x5841,0x5849,0x584d,0x584f,0x5852,0x5854,0x5855,0x5857,0x585a,0x585e,0x585f,0x5861,0x5862,0x5864,0x5864,0x5867,0x5869,0x586b,0x586b,0x586d,0x586d,0x5870,0x5870,0x5872,0x5872,0x5875,0x5875,0x5878,0x5879,0x587c,0x587c,0x587e,0x5881,0x5883,0x5883,0x5885,0x5885,0x5887,0x588d,0x588f,0x5890,0x5893,0x5894,0x5896,0x5898,0x589c,0x58a2,0x58a6,0x58a6,0x58a8,0x58ab,0x58ae,0x58ae,0x58b1,0x58b3,0x58b8,0x58bc,0x58be,0x58be,0x58c1,0x58c5,0x58c7,0x58c8,0x58ca,0x58ca,0x58cc,0x58ce,0x58d0,0x58da,0x58dc,0x58e2,0x58e4,0x58e5,0x58e9,0x58e9,0x58eb,0x58ec,0x58ee,0x58f4,0x58f7,0x58f7,0x58f9,0x58fd,0x5902,0x5902,0x5905,0x5906,0x5909,0x590d,0x590f,0x5910,0x5912,0x5916,0x5918,0x591d,0x591f,0x591f,0x5921,0x5925,0x5927,0x5933,0x5935,0x5939,0x593d,0x593f,0x5943,0x5944,0x5946,0x5949,0x594e,0x5955,0x5957,0x595b,0x595d,0x5963,0x5965,0x5965,0x5967,0x596f,0x5972,0x5976,0x5978,0x5979,0x597b,0x597d,0x5981,0x5984,0x598a,0x598e,0x5992,0x5993,0x5995,0x5997,0x5999,0x5999,0x599b,0x599b,0x599d,0x599d,0x599f,0x599f,0x59a3,0x59a5,0x59a7,0x59a8,0x59ac,0x59b0,0x59b2,0x59b3,0x59b7,0x59b7,0x59b9,0x59bc,0x59be,0x59be,0x59c1,0x59c1,0x59c3,0x59c4,0x59c6,0x59c6,0x59c8,0x59cb,0x59cd,0x59cd,0x59d0,0x59d4,0x59d9,0x59da,0x59dc,0x59df,0x59e3,0x59e8,0x59ea,0x59ec,0x59ee,0x59ef,0x59f1,0x59f2,0x59f4,0x59f4,0x59f6,0x59f8,0x59fb,0x59fb,0x59ff,0x5a01,0x5a03,0x5a04,0x5a09,0x5a09,0x5a0c,0x5a0e,0x5a11,0x5a13,0x5a17,0x5a18,0x5a1a,0x5a1c,0x5a1e,0x5a20,0x5a23,0x5a25,0x5a27,0x5a2a,0x5a2d,0x5a2d,0x5a2f,0x5a30,0x5a35,0x5a36,0x5a3c,0x5a3c,0x5a40,0x5a41,0x5a44,0x5a49,0x5a4c,0x5a4c,0x5a50,0x5a50,0x5a55,0x5a55,0x5a5a,0x5a5a,0x5a5e,0x5a5e,0x5a62,0x5a63,0x5a65,0x5a67,0x5a6a,0x5a6a,0x5a6c,0x5a6d,0x5a77,0x5a77,0x5a7a,0x5a7b,0x5a7e,0x5a7f,0x5a84,0x5a84,0x5a8b,0x5a8b,0x5a90,0x5a90,0x5a92,0x5a93,0x5a96,0x5a96,0x5a99,0x5a9c,0x5a9e,0x5aa0,0x5aa2,0x5aa2,0x5aa7,0x5aa7,0x5aac,0x5aac,0x5ab1,0x5ab3,0x5ab5,0x5ab5,0x5ab8,0x5ab8,0x5aba,0x5abf,0x5ac1,0x5ac2,0x5ac4,0x5ac4,0x5ac6,0x5ac6,0x5ac8,0x5ac9,0x5acb,0x5acc,0x5acf,0x5ad0,0x5ad6,0x5ad7,0x5ada,0x5ada,0x5adc,0x5adc,0x5ae0,0x5ae1,0x5ae3,0x5ae3,0x5ae5,0x5ae6,0x5ae9,0x5aea,0x5aee,0x5aee,0x5af0,0x5af0,0x5af5,0x5af6,0x5afa,0x5afb,0x5afd,0x5afd,0x5b00,0x5b01,0x5b08,0x5b09,0x5b0b,0x5b0c,0x5b16,0x5b17,0x5b19,0x5b19,0x5b1b,0x5b1b,0x5b1d,0x5b1d,0x5b21,0x5b22,0x5b25,0x5b25,0x5b2a,0x5b2a,0x5b2c,0x5b2d,0x5b30,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b36,0x5b36,0x5b38,0x5b38,0x5b3e,0x5b3e,0x5b40,0x5b41,0x5b43,0x5b43,0x5b45,0x5b45,0x5b4b,0x5b4c,0x5b50,0x5b52,0x5b54,0x5b58,0x5b5a,0x5b5f,0x5b63,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6b,0x5b6e,0x5b71,0x5b73,0x5b73,0x5b75,0x5b76,0x5b78,0x5b78,0x5b7a,0x5b7a,0x5b7c,0x5b91,0x5b93,0x5b9d,0x5b9f,0x5b9f,0x5ba2,0x5ba6,0x5ba8,0x5ba9,0x5bac,0x5bba,0x5bbc,0x5bbc,0x5bbf,0x5bc7,0x5bc9,0x5bc9,0x5bcc,0x5bd0,0x5bd2,0x5bd4,0x5bd6,0x5bdb,0x5bdd,0x5be2,0x5be4,0x5be9,0x5beb,0x5bec,0x5bee,0x5bf1,0x5bf3,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bfd,0x5bff,0x5c01,0x5c0f,0x5c11,0x5c14,0x5c16,0x5c17,0x5c19,0x5c1a,0x5c1e,0x5c20,0x5c22,0x5c24,0x5c26,0x5c26,0x5c28,0x5c2e,0x5c30,0x5c32,0x5c35,0x5c36,0x5c38,0x5c41,0x5c45,0x5c46,0x5c48,0x5c48,0x5c4a,0x5c4b,0x5c4d,0x5c51,0x5c53,0x5c53,0x5c55,0x5c55,0x5c59,0x5c5c,0x5c5e,0x5c65,0x5c67,0x5c69,0x5c6c,0x5c71,0x5c74,0x5c76,0x5c79,0x5c7d,0x5c87,0x5c88,0x5c8a,0x5c8a,0x5c8c,0x5c8c,0x5c8f,0x5c92,0x5c94,0x5c94,0x5c9d,0x5c9d,0x5c9f,0x5ca3,0x5ca6,0x5cad,0x5cb1,0x5cb8,0x5cba,0x5cbc,0x5cbe,0x5cbe,0x5cc5,0x5cc5,0x5cc7,0x5cc7,0x5cc9,0x5cc9,0x5ccb,0x5ccb,0x5cd0,0x5cd0,0x5cd2,0x5cd2,0x5cd7,0x5cd7,0x5cd9,0x5cd9,0x5cdd,0x5cdd,0x5ce0,0x5ce1,0x5ce6,0x5ce6,0x5ce8,0x5cea,0x5ced,0x5cf2,0x5cf4,0x5cf6,0x5cfa,0x5cfb,0x5cfd,0x5cfd,0x5d01,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d0b,0x5d0d,0x5d0e,0x5d10,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d1d,0x5d1f,0x5d20,0x5d22,0x5d24,0x5d26,0x5d27,0x5d29,0x5d29,0x5d2b,0x5d2b,0x5d31,0x5d31,0x5d34,0x5d34,0x5d39,0x5d39,0x5d3d,0x5d3d,0x5d3f,0x5d3f,0x5d42,0x5d43,0x5d46,0x5d48,0x5d4a,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d53,0x5d55,0x5d55,0x5d59,0x5d59,0x5d5c,0x5d5c,0x5d5f,0x5d62,0x5d64,0x5d64,0x5d69,0x5d6a,0x5d6c,0x5d6d,0x5d6f,0x5d70,0x5d73,0x5d73,0x5d76,0x5d76,0x5d79,0x5d7a,0x5d7e,0x5d7f,0x5d81,0x5d84,0x5d87,0x5d88,0x5d8a,0x5d8c,0x5d90,0x5d90,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d99,0x5d9b,0x5d9b,0x5d9d,0x5d9d,0x5d9f,0x5da0,0x5da2,0x5da2,0x5da4,0x5da4,0x5da7,0x5da7,0x5dab,0x5dac,0x5dae,0x5dae,0x5db0,0x5db0,0x5db2,0x5db2,0x5db4,0x5db4,0x5db7,0x5dba,0x5dbc,0x5dbd,0x5dc3,0x5dc3,0x5dc7,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dce,0x5dd0,0x5dd3,0x5dd6,0x5dd9,0x5ddb,0x5ddb,0x5ddd,0x5dde,0x5de0,0x5de9,0x5deb,0x5deb,0x5dee,0x5dee,0x5df1,0x5df5,0x5df7,0x5df9,0x5dfb,0x5dfb,0x5dfd,0x5e00,0x5e02,0x5e03,0x5e06,0x5e07,0x5e0b,0x5e0d,0x5e11,0x5e12,0x5e14,0x5e16,0x5e18,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e20,0x5e25,0x5e25,0x5e28,0x5e28,0x5e2b,0x5e2b,0x5e2d,0x5e30,0x5e32,0x5e33,0x5e35,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e40,0x5e43,0x5e45,0x5e47,0x5e47,0x5e49,0x5e49,0x5e4b,0x5e4c,0x5e4e,0x5e4e,0x5e50,0x5e51,0x5e54,0x5e58,0x5e5b,0x5e5c,0x5e5e,0x5e5f,0x5e61,0x5e64,0x5e68,0x5e68,0x5e6a,0x5e6e,0x5e70,0x5e70,0x5e72,0x5e81,0x5e83,0x5e84,0x5e87,0x5e87,0x5e8a,0x5e8b,0x5e8e,0x5e8f,0x5e95,0x5e97,0x5e99,0x5e9a,0x5e9c,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea2,0x5ea4,0x5ea8,0x5eaa,0x5ead,0x5eb1,0x5eb1,0x5eb3,0x5eb3,0x5eb5,0x5eb9,0x5ebd,0x5ebf,0x5ec1,0x5ec3,0x5ec6,0x5ec6,0x5ec8,0x5ecc,0x5ece,0x5ed6,0x5ed9,0x5ee3,0x5ee5,0x5ee5,0x5ee8,0x5ee9,0x5eeb,0x5eec,0x5ef0,0x5ef1,0x5ef3,0x5ef4,0x5ef6,0x5f04,0x5f06,0x5f11,0x5f13,0x5f19,0x5f1b,0x5f1f,0x5f21,0x5f29,0x5f2b,0x5f31,0x5f34,0x5f38,0x5f3a,0x5f41,0x5f44,0x5f45,0x5f47,0x5f48,0x5f4a,0x5f4a,0x5f4c,0x5f4e,0x5f50,0x5f51,0x5f53,0x5f54,0x5f56,0x5f59,0x5f5b,0x5f5d,0x5f60,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f75,0x5f77,0x5f7a,0x5f7c,0x5f85,0x5f87,0x5f8d,0x5f8f,0x5f93,0x5f96,0x5f99,0x5f9c,0x5f9e,0x5fa0,0x5fa2,0x5fa4,0x5fa4,0x5fa7,0x5fb1,0x5fb3,0x5fb5,0x5fb7,0x5fb9,0x5fbc,0x5fbd,0x5fc3,0x5fc5,0x5fc7,0x5fc9,0x5fcb,0x5fcd,0x5fd0,0x5fd4,0x5fd6,0x5fd9,0x5fdc,0x5fde,0x5fe0,0x5fe2,0x5fe4,0x5fe4,0x5fe8,0x5ff3,0x5ff5,0x5ff6,0x5ff8,0x5ff8,0x5ffa,0x5ffd,0x5fff,0x5fff,0x6007,0x6007,0x600a,0x600a,0x600d,0x6010,0x6012,0x601d,0x601f,0x6022,0x6024,0x602b,0x602d,0x602d,0x602f,0x602f,0x6031,0x6031,0x6033,0x6033,0x6035,0x6035,0x603a,0x603a,0x6040,0x6043,0x6046,0x604d,0x6050,0x6052,0x6054,0x6057,0x6059,0x605a,0x605d,0x605d,0x605f,0x6065,0x6067,0x606d,0x606f,0x6071,0x6075,0x6075,0x6077,0x6077,0x607e,0x607f,0x6081,0x6086,0x6088,0x608e,0x6091,0x6098,0x609a,0x609b,0x609d,0x60a0,0x60a2,0x60aa,0x60b0,0x60b8,0x60bb,0x60be,0x60c2,0x60c2,0x60c4,0x60cb,0x60ce,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d8,0x60e3,0x60e5,0x60e5,0x60e7,0x60e8,0x60ee,0x60ee,0x60f0,0x60fd,0x6100,0x6103,0x6106,0x610a,0x610c,0x6117,0x6119,0x611c,0x611e,0x6122,0x6127,0x6128,0x612a,0x612c,0x6130,0x6131,0x6134,0x6137,0x6139,0x613a,0x613c,0x613f,0x6141,0x6142,0x6144,0x614e,0x6153,0x6153,0x6155,0x6155,0x6158,0x615a,0x615d,0x6160,0x6162,0x6165,0x6167,0x6168,0x616b,0x616c,0x616e,0x6178,0x617b,0x6184,0x6187,0x6187,0x618a,0x618b,0x618d,0x618e,0x6190,0x6194,0x6196,0x619a,0x619c,0x619d,0x619f,0x61a0,0x61a4,0x61a5,0x61a7,0x61ae,0x61b2,0x61b2,0x61b6,0x61b6,0x61b8,0x61ba,0x61bc,0x61bc,0x61be,0x61be,0x61c0,0x61c3,0x61c6,0x61d0,0x61d5,0x61d5,0x61dc,0x61df,0x61e1,0x61e3,0x61e5,0x61e9,0x61ec,0x61ed,0x61ef,0x61ef,0x61f2,0x61f2,0x61f4,0x61f8,0x61fa,0x61fa,0x61fc,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6216,0x621a,0x6223,0x6226,0x6227,0x6229,0x622b,0x622e,0x6234,0x6236,0x6236,0x6238,0x6239,0x623b,0x623b,0x623d,0x6244,0x6246,0x6249,0x624b,0x624e,0x6250,0x6256,0x6258,0x6258,0x625a,0x625c,0x625e,0x625e,0x6260,0x6261,0x6263,0x6264,0x6268,0x6268,0x626d,0x626f,0x6271,0x6271,0x6273,0x6273,0x6276,0x6276,0x6279,0x6280,0x6282,0x6285,0x6289,0x628a,0x628d,0x6299,0x629b,0x629c,0x629e,0x629e,0x62a6,0x62a6,0x62a8,0x62a8,0x62ab,0x62ac,0x62b1,0x62b1,0x62b3,0x62b3,0x62b5,0x62b7,0x62b9,0x62bf,0x62c2,0x62c2,0x62c4,0x62ca,0x62cc,0x62dd,0x62e0,0x62e1,0x62ea,0x62ea,0x62ec,0x62ef,0x62f1,0x62f7,0x62fc,0x62ff,0x6301,0x6304,0x6307,0x630d,0x6310,0x6311,0x6313,0x6313,0x6316,0x6316,0x6318,0x6319,0x631b,0x631b,0x631f,0x631f,0x6327,0x632b,0x632d,0x632d,0x632f,0x632f,0x6332,0x6332,0x6335,0x6336,0x6339,0x633f,0x6341,0x6344,0x6346,0x6346,0x6349,0x6350,0x6352,0x6355,0x6357,0x6359,0x635b,0x635c,0x6365,0x6369,0x636b,0x636e,0x6371,0x6372,0x6374,0x6378,0x637a,0x637d,0x637f,0x6380,0x6382,0x6384,0x6387,0x638a,0x638c,0x638c,0x638e,0x6390,0x6392,0x6392,0x6394,0x6396,0x6398,0x639b,0x639e,0x63af,0x63b2,0x63b2,0x63b4,0x63b5,0x63bb,0x63bb,0x63bd,0x63be,0x63c0,0x63c1,0x63c3,0x63c6,0x63c8,0x63c9,0x63ce,0x63d6,0x63da,0x63dc,0x63e0,0x63e1,0x63e3,0x63e3,0x63e5,0x63e5,0x63e9,0x63ee,0x63f2,0x63fa,0x6406,0x6406,0x6409,0x640a,0x640d,0x640d,0x640f,0x6410,0x6412,0x6414,0x6416,0x6418,0x641c,0x641c,0x641e,0x641e,0x6420,0x6420,0x6422,0x6422,0x6424,0x6426,0x6428,0x642a,0x642c,0x642d,0x642f,0x6430,0x6434,0x6436,0x643a,0x643a,0x643d,0x643f,0x6442,0x6442,0x644b,0x644b,0x644e,0x644f,0x6451,0x6454,0x6458,0x6458,0x645a,0x645d,0x645f,0x6461,0x6463,0x6463,0x6467,0x6467,0x6469,0x6469,0x646d,0x646d,0x646f,0x646f,0x6473,0x6474,0x6476,0x6476,0x6478,0x647b,0x647d,0x647d,0x6483,0x6483,0x6485,0x6485,0x6487,0x6488,0x648f,0x6493,0x6495,0x6495,0x6498,0x649b,0x649d,0x649f,0x64a1,0x64a1,0x64a3,0x64a6,0x64a8,0x64a9,0x64ab,0x64ae,0x64b0,0x64b0,0x64b2,0x64b3,0x64b9,0x64b9,0x64bb,0x64bf,0x64c1,0x64c2,0x64c4,0x64c5,0x64c7,0x64c7,0x64c9,0x64ce,0x64d0,0x64d2,0x64d4,0x64d5,0x64d7,0x64d8,0x64da,0x64da,0x64e0,0x64e7,0x64e9,0x64ea,0x64ec,0x64ed,0x64ef,0x64f2,0x64f4,0x64f7,0x64fa,0x64fb,0x64fd,0x6501,0x6504,0x6505,0x6508,0x650a,0x650f,0x650f,0x6513,0x6514,0x6516,0x6516,0x6518,0x6519,0x651b,0x651f,0x6522,0x6524,0x6526,0x6526,0x6529,0x652c,0x652e,0x652f,0x6531,0x6532,0x6534,0x653f,0x6543,0x6545,0x6547,0x6549,0x654d,0x6552,0x6554,0x6559,0x655d,0x6560,0x6562,0x6563,0x6566,0x6567,0x656b,0x656c,0x6570,0x6570,0x6572,0x6572,0x6574,0x6575,0x6577,0x6578,0x657a,0x657a,0x657d,0x657d,0x6581,0x6585,0x6587,0x658a,0x658c,0x658c,0x658e,0x658e,0x6590,0x6592,0x6595,0x6595,0x6597,0x6599,0x659b,0x659d,0x659f,0x65a1,0x65a3,0x65a7,0x65ab,0x65b0,0x65b2,0x65b5,0x65b7,0x65b9,0x65bc,0x65bf,0x65c1,0x65c6,0x65c8,0x65c9,0x65cb,0x65cc,0x65ce,0x65d0,0x65d2,0x65d2,0x65d4,0x65d4,0x65d6,0x65d9,0x65db,0x65db,0x65df,0x65e3,0x65e5,0x65e9,0x65ec,0x65ed,0x65f0,0x65f2,0x65f4,0x65f5,0x65f9,0x65fc,0x65fe,0x6600,0x6602,0x6604,0x6606,0x660a,0x660c,0x660f,0x6611,0x6616,0x661c,0x6631,0x6633,0x6637,0x6639,0x663c,0x663f,0x6646,0x6648,0x664c,0x664e,0x664f,0x6651,0x6652,0x6657,0x6670,0x6673,0x667c,0x667e,0x6681,0x6683,0x6684,0x6687,0x6689,0x668b,0x668e,0x6690,0x6692,0x6696,0x669d,0x669f,0x66a0,0x66a2,0x66a2,0x66a4,0x66a4,0x66a6,0x66a6,0x66ab,0x66ab,0x66ad,0x66ae,0x66b1,0x66b5,0x66b8,0x66b9,0x66bb,0x66bc,0x66be,0x66c4,0x66c6,0x66c9,0x66cc,0x66cc,0x66ce,0x66cf,0x66d4,0x66d4,0x66d6,0x66d6,0x66d9,0x66dd,0x66df,0x66e0,0x66e6,0x66e6,0x66e8,0x66e9,0x66eb,0x66ec,0x66ee,0x66ee,0x66f0,0x66f0,0x66f2,0x66f5,0x66f7,0x6701,0x6703,0x6703,0x6705,0x6705,0x6707,0x6709,0x670b,0x6710,0x6712,0x6717,0x6719,0x6719,0x671b,0x6720,0x6722,0x6722,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6738,0x673a,0x673a,0x673d,0x673f,0x6741,0x6741,0x6743,0x6743,0x6745,0x6749,0x674c,0x6751,0x6753,0x6756,0x6759,0x6759,0x675c,0x6766,0x676a,0x676a,0x676c,0x6777,0x677b,0x677c,0x677e,0x6781,0x6784,0x6785,0x6787,0x6787,0x6789,0x6789,0x678b,0x678c,0x678e,0x6793,0x6795,0x679d,0x67a0,0x67a2,0x67a4,0x67a4,0x67a6,0x67a6,0x67a9,0x67a9,0x67af,0x67b9,0x67bb,0x67be,0x67c0,0x67c6,0x67c8,0x67ca,0x67ce,0x67d4,0x67d7,0x67de,0x67e1,0x67e2,0x67e4,0x67e4,0x67e6,0x67e7,0x67e9,0x67e9,0x67ec,0x67ec,0x67ee,0x67f7,0x67f9,0x67fc,0x67fe,0x67ff,0x6801,0x6805,0x6810,0x6810,0x6813,0x6814,0x6816,0x6819,0x681d,0x681f,0x6821,0x6822,0x6827,0x682d,0x682f,0x6834,0x6838,0x6839,0x683b,0x6846,0x6848,0x684a,0x684c,0x684e,0x6850,0x6855,0x6857,0x6859,0x685b,0x685d,0x685f,0x685f,0x6863,0x6863,0x6867,0x6867,0x686b,0x686b,0x686e,0x6872,0x6874,0x6877,0x6879,0x687c,0x687e,0x687f,0x6881,0x6886,0x6888,0x6888,0x688d,0x6890,0x6893,0x6894,0x6896,0x689d,0x689f,0x68a3,0x68a5,0x68ab,0x68ad,0x68b6,0x68b9,0x68bc,0x68c3,0x68c6,0x68c8,0x68cd,0x68cf,0x68da,0x68dc,0x68dd,0x68df,0x68e1,0x68e3,0x68e5,0x68e7,0x68e8,0x68ea,0x68f2,0x68f5,0x68f7,0x68f9,0x68fd,0x6900,0x6901,0x6903,0x6913,0x6916,0x6917,0x6919,0x691c,0x6921,0x6923,0x6925,0x6926,0x6928,0x6928,0x692a,0x692a,0x6930,0x6931,0x6933,0x6936,0x6938,0x6939,0x693b,0x693b,0x693d,0x693d,0x693f,0x693f,0x6942,0x6942,0x6945,0x6946,0x6949,0x694a,0x694e,0x694e,0x6953,0x6955,0x6957,0x6957,0x6959,0x695e,0x6960,0x6966,0x6968,0x6975,0x6977,0x6982,0x6986,0x6986,0x698a,0x698a,0x698d,0x698e,0x6991,0x6992,0x6994,0x6996,0x6998,0x6998,0x699b,0x699c,0x69a0,0x69a1,0x69a5,0x69a8,0x69ab,0x69ab,0x69ad,0x69b2,0x69b4,0x69b4,0x69b7,0x69b8,0x69ba,0x69bc,0x69be,0x69c1,0x69c3,0x69c3,0x69c5,0x69c5,0x69c7,0x69c8,0x69ca,0x69d1,0x69d3,0x69d3,0x69d6,0x69d9,0x69dd,0x69de,0x69e2,0x69e3,0x69e5,0x69e5,0x69e7,0x69eb,0x69ed,0x69ef,0x69f1,0x69f6,0x69f9,0x69f9,0x69fb,0x69fb,0x69fd,0x6a03,0x6a05,0x6a05,0x6a0a,0x6a0c,0x6a0f,0x6a0f,0x6a11,0x6a15,0x6a17,0x6a17,0x6a19,0x6a1b,0x6a1d,0x6a24,0x6a28,0x6a2b,0x6a2e,0x6a2e,0x6a30,0x6a30,0x6a32,0x6a3b,0x6a3d,0x6a3f,0x6a44,0x6a4b,0x6a4e,0x6a4e,0x6a50,0x6a52,0x6a54,0x6a56,0x6a58,0x6a59,0x6a5b,0x6a5b,0x6a5f,0x6a5f,0x6a61,0x6a62,0x6a64,0x6a64,0x6a66,0x6a67,0x6a6a,0x6a6b,0x6a71,0x6a73,0x6a78,0x6a78,0x6a7a,0x6a7a,0x6a7e,0x6a81,0x6a83,0x6a84,0x6a86,0x6a87,0x6a89,0x6a89,0x6a8b,0x6a8b,0x6a8d,0x6a8e,0x6a90,0x6a91,0x6a94,0x6a94,0x6a97,0x6a97,0x6a9b,0x6aa3,0x6aa5,0x6aa5,0x6aaa,0x6aac,0x6aae,0x6ab1,0x6ab3,0x6ab4,0x6ab8,0x6ab8,0x6abb,0x6abb,0x6abd,0x6abf,0x6ac1,0x6ac3,0x6ac6,0x6ac6,0x6ac8,0x6ac9,0x6acc,0x6acc,0x6ad0,0x6ad1,0x6ad3,0x6ad6,0x6ada,0x6adf,0x6ae2,0x6ae2,0x6ae4,0x6ae4,0x6ae7,0x6ae8,0x6aea,0x6aea,0x6aec,0x6aec,0x6af0,0x6af3,0x6af8,0x6af8,0x6afa,0x6afd,0x6b02,0x6b07,0x6b09,0x6b0b,0x6b0f,0x6b12,0x6b16,0x6b17,0x6b1b,0x6b1b,0x6b1d,0x6b21,0x6b23,0x6b24,0x6b27,0x6b28,0x6b2b,0x6b2c,0x6b2f,0x6b2f,0x6b32,0x6b32,0x6b35,0x6b3b,0x6b3d,0x6b3f,0x6b43,0x6b43,0x6b46,0x6b47,0x6b49,0x6b4a,0x6b4c,0x6b4e,0x6b50,0x6b50,0x6b52,0x6b54,0x6b56,0x6b56,0x6b58,0x6b59,0x6b5b,0x6b5b,0x6b5d,0x6b5d,0x6b5f,0x6b67,0x6b69,0x6b6c,0x6b6e,0x6b70,0x6b72,0x6b75,0x6b77,0x6b7b,0x6b7d,0x6b86,0x6b89,0x6b8b,0x6b8d,0x6b8d,0x6b95,0x6b98,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba4,0x6ba8,0x6bb5,0x6bb7,0x6bc0,0x6bc3,0x6bc9,0x6bcb,0x6bcf,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdb,0x6bdf,0x6bdf,0x6be1,0x6be1,0x6be3,0x6be3,0x6be6,0x6be7,0x6beb,0x6bec,0x6bee,0x6bef,0x6bf1,0x6bf1,0x6bf3,0x6bf3,0x6bf7,0x6bf7,0x6bf9,0x6bf9,0x6bff,0x6bff,0x6c02,0x6c02,0x6c04,0x6c05,0x6c08,0x6c0a,0x6c0d,0x6c14,0x6c17,0x6c17,0x6c19,0x6c19,0x6c1b,0x6c1b,0x6c1f,0x6c1f,0x6c23,0x6c24,0x6c26,0x6c28,0x6c2c,0x6c2c,0x6c2e,0x6c2e,0x6c33,0x6c38,0x6c3a,0x6c3b,0x6c3e,0x6c42,0x6c4a,0x6c4b,0x6c4d,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c57,0x6c59,0x6c60,0x6c62,0x6c62,0x6c67,0x6c68,0x6c6a,0x6c6b,0x6c6d,0x6c6d,0x6c6f,0x6c70,0x6c72,0x6c74,0x6c76,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c7e,0x6c81,0x6c89,0x6c8c,0x6c8d,0x6c90,0x6c90,0x6c92,0x6c9c,0x6c9f,0x6c9f,0x6ca1,0x6ca2,0x6caa,0x6cae,0x6cb0,0x6cb4,0x6cb8,0x6cbf,0x6cc1,0x6cc2,0x6cc4,0x6cc6,0x6cc9,0x6cca,0x6ccc,0x6ccd,0x6ccf,0x6cd7,0x6cd9,0x6cdd,0x6ce0,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf4,0x6cfb,0x6cfb,0x6d00,0x6d01,0x6d04,0x6d04,0x6d07,0x6d07,0x6d0a,0x6d0c,0x6d0e,0x6d0f,0x6d11,0x6d13,0x6d17,0x6d17,0x6d19,0x6d1b,0x6d1e,0x6d1f,0x6d24,0x6d2b,0x6d2e,0x6d2f,0x6d31,0x6d36,0x6d38,0x6d39,0x6d3b,0x6d3f,0x6d41,0x6d41,0x6d44,0x6d45,0x6d57,0x6d5c,0x6d5e,0x6d61,0x6d63,0x6d67,0x6d69,0x6d6a,0x6d6c,0x6d6c,0x6d6e,0x6d70,0x6d74,0x6d74,0x6d77,0x6d79,0x6d7c,0x6d7c,0x6d80,0x6d82,0x6d85,0x6d85,0x6d87,0x6d8a,0x6d8c,0x6d8e,0x6d91,0x6d99,0x6d9b,0x6d9c,0x6daa,0x6dac,0x6dae,0x6daf,0x6db2,0x6db2,0x6db4,0x6db5,0x6db7,0x6db9,0x6dbc,0x6dbd,0x6dbf,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dc8,0x6dca,0x6dcc,0x6dce,0x6dd2,0x6dd5,0x6dd6,0x6dd8,0x6ddb,0x6ddd,0x6de2,0x6de4,0x6de6,0x6de8,0x6dec,0x6dee,0x6dfc,0x6e00,0x6e00,0x6e04,0x6e05,0x6e07,0x6e0b,0x6e13,0x6e13,0x6e15,0x6e15,0x6e17,0x6e17,0x6e19,0x6e1b,0x6e1d,0x6e27,0x6e29,0x6e29,0x6e2b,0x6e2f,0x6e32,0x6e32,0x6e34,0x6e34,0x6e36,0x6e36,0x6e38,0x6e3c,0x6e3e,0x6e3e,0x6e42,0x6e45,0x6e48,0x6e4f,0x6e51,0x6e54,0x6e56,0x6e58,0x6e5b,0x6e5f,0x6e62,0x6e63,0x6e67,0x6e68,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e72,0x6e73,0x6e76,0x6e76,0x6e7b,0x6e7b,0x6e7d,0x6e80,0x6e82,0x6e82,0x6e89,0x6e89,0x6e8c,0x6e8d,0x6e8f,0x6e90,0x6e93,0x6e93,0x6e96,0x6e96,0x6e98,0x6e99,0x6e9c,0x6e9d,0x6e9f,0x6ea0,0x6ea2,0x6ea2,0x6ea5,0x6ea5,0x6ea7,0x6ea7,0x6eaa,0x6eab,0x6ead,0x6eaf,0x6eb1,0x6eb4,0x6eb6,0x6eb7,0x6eba,0x6ebd,0x6ebf,0x6ec5,0x6ec7,0x6ecf,0x6ed1,0x6ed1,0x6ed3,0x6ed5,0x6ed9,0x6edb,0x6edd,0x6ede,0x6ee6,0x6ee6,0x6eeb,0x6eef,0x6ef2,0x6ef2,0x6ef4,0x6ef4,0x6ef7,0x6ef9,0x6efb,0x6efb,0x6efd,0x6eff,0x6f01,0x6f02,0x6f04,0x6f04,0x6f06,0x6f06,0x6f08,0x6f0a,0x6f0c,0x6f0d,0x6f0f,0x6f11,0x6f13,0x6f16,0x6f18,0x6f18,0x6f1a,0x6f1b,0x6f20,0x6f20,0x6f22,0x6f23,0x6f25,0x6f26,0x6f29,0x6f2d,0x6f2f,0x6f33,0x6f35,0x6f36,0x6f38,0x6f38,0x6f3b,0x6f3c,0x6f3e,0x6f3f,0x6f41,0x6f41,0x6f45,0x6f45,0x6f4f,0x6f4f,0x6f51,0x6f54,0x6f57,0x6f62,0x6f64,0x6f64,0x6f66,0x6f66,0x6f68,0x6f68,0x6f6c,0x6f70,0x6f74,0x6f74,0x6f78,0x6f78,0x6f7a,0x6f7a,0x6f7c,0x6f7e,0x6f80,0x6f84,0x6f86,0x6f88,0x6f8b,0x6f8e,0x6f90,0x6f94,0x6f96,0x6f98,0x6f9a,0x6f9a,0x6f9d,0x6f9d,0x6f9f,0x6fa1,0x6fa3,0x6fa8,0x6faa,0x6faa,0x6fae,0x6fb1,0x6fb3,0x6fb3,0x6fb5,0x6fb7,0x6fb9,0x6fb9,0x6fbc,0x6fbc,0x6fbe,0x6fbe,0x6fc0,0x6fc3,0x6fc5,0x6fca,0x6fd4,0x6fd5,0x6fd8,0x6fd8,0x6fda,0x6fdb,0x6fde,0x6fe1,0x6fe4,0x6fe4,0x6fe8,0x6fe9,0x6feb,0x6fec,0x6fee,0x6ff1,0x6ff3,0x6ff3,0x6ff5,0x6ff6,0x6ff9,0x6ffa,0x6ffc,0x6ffe,0x7000,0x7001,0x7005,0x7007,0x7009,0x700b,0x700d,0x700d,0x700f,0x700f,0x7011,0x7011,0x7015,0x7015,0x7017,0x7018,0x701a,0x701b,0x701d,0x7020,0x7023,0x7023,0x7026,0x7028,0x702c,0x702c,0x702f,0x7030,0x7032,0x7032,0x7034,0x7034,0x7037,0x7037,0x7039,0x703a,0x703c,0x703c,0x703e,0x703e,0x7043,0x7044,0x7047,0x704c,0x704e,0x704e,0x7051,0x7051,0x7054,0x7055,0x7058,0x7058,0x705d,0x705e,0x7063,0x7065,0x7069,0x7069,0x706b,0x706c,0x706e,0x7070,0x7075,0x7076,0x7078,0x7078,0x707c,0x707e,0x7081,0x7081,0x7085,0x7086,0x7089,0x708a,0x708e,0x708e,0x7092,0x7092,0x7094,0x7099,0x709b,0x709b,0x709f,0x709f,0x70a4,0x70a4,0x70ab,0x70b1,0x70b3,0x70b4,0x70b7,0x70bb,0x70c8,0x70c8,0x70ca,0x70cb,0x70cf,0x70cf,0x70d1,0x70d1,0x70d3,0x70d6,0x70d8,0x70d9,0x70dc,0x70dd,0x70df,0x70df,0x70e4,0x70e4,0x70ec,0x70ec,0x70f1,0x70f1,0x70f9,0x70fa,0x70fd,0x70fd,0x7103,0x7109,0x710b,0x710c,0x710f,0x710f,0x7114,0x7114,0x7119,0x711a,0x711c,0x711c,0x711e,0x711e,0x7120,0x7121,0x7126,0x7126,0x712b,0x712b,0x712d,0x7131,0x7136,0x7136,0x7138,0x7138,0x713c,0x713c,0x7141,0x7141,0x7145,0x7147,0x7149,0x714c,0x714e,0x714e,0x7150,0x7153,0x7155,0x7157,0x7159,0x715a,0x715c,0x715c,0x715e,0x715e,0x7160,0x7160,0x7162,0x7162,0x7164,0x7169,0x716c,0x716c,0x716e,0x716e,0x7179,0x7179,0x717d,0x717d,0x7180,0x7180,0x7184,0x7185,0x7187,0x7188,0x718a,0x718a,0x718c,0x718c,0x718f,0x718f,0x7192,0x7192,0x7194,0x7196,0x7199,0x719b,0x719f,0x71a0,0x71a2,0x71a2,0x71a8,0x71a8,0x71ac,0x71ac,0x71ae,0x71b3,0x71b9,0x71ba,0x71be,0x71c1,0x71c3,0x71c4,0x71c8,0x71c9,0x71cb,0x71cc,0x71ce,0x71ce,0x71d0,0x71d0,0x71d2,0x71d7,0x71d9,0x71da,0x71dc,0x71dc,0x71df,0x71e0,0x71e5,0x71e7,0x71ec,0x71ee,0x71f4,0x71f5,0x71f8,0x71f9,0x71fb,0x71fc,0x71fe,0x7200,0x7206,0x7209,0x720d,0x720d,0x7210,0x7210,0x7213,0x7213,0x7215,0x7215,0x7217,0x7217,0x721a,0x721b,0x721d,0x721d,0x721f,0x721f,0x7224,0x7224,0x7228,0x7228,0x722a,0x722d,0x722f,0x7230,0x7232,0x7232,0x7234,0x7236,0x7238,0x7243,0x7245,0x7248,0x724b,0x724c,0x724e,0x7250,0x7252,0x7253,0x7255,0x7263,0x7267,0x7269,0x726b,0x726b,0x726e,0x726f,0x7271,0x7272,0x7274,0x7274,0x7277,0x7279,0x727b,0x7282,0x7284,0x7284,0x7287,0x7287,0x7289,0x7289,0x728d,0x728e,0x7292,0x7293,0x7296,0x7296,0x729b,0x729b,0x72a0,0x72a0,0x72a2,0x72a2,0x72a7,0x72a8,0x72ac,0x72b2,0x72b4,0x72b4,0x72b6,0x72b6,0x72b9,0x72b9,0x72be,0x72be,0x72c0,0x72c4,0x72c6,0x72c7,0x72c9,0x72c9,0x72cc,0x72cc,0x72ce,0x72ce,0x72d0,0x72d0,0x72d2,0x72d2,0x72d5,0x72d9,0x72db,0x72db,0x72df,0x72e2,0x72e5,0x72e5,0x72e9,0x72e9,0x72ec,0x72ed,0x72f3,0x72f4,0x72f7,0x72fe,0x7302,0x7302,0x7304,0x7305,0x7307,0x7307,0x730a,0x730b,0x730d,0x730d,0x7312,0x7313,0x7316,0x7319,0x731b,0x731f,0x7322,0x7322,0x7324,0x7325,0x7327,0x732c,0x732e,0x732f,0x7331,0x7337,0x7339,0x733b,0x733d,0x733f,0x7343,0x7345,0x734d,0x7350,0x7352,0x7352,0x7356,0x7358,0x735d,0x7360,0x7363,0x7363,0x7366,0x736c,0x736e,0x7372,0x7375,0x7375,0x7377,0x737c,0x7380,0x7381,0x7383,0x7387,0x7389,0x738b,0x738e,0x738e,0x7390,0x7390,0x7393,0x7398,0x739c,0x739c,0x739e,0x73a0,0x73a2,0x73a2,0x73a5,0x73a6,0x73a8,0x73ab,0x73ad,0x73ad,0x73b2,0x73b3,0x73b5,0x73b5,0x73b7,0x73b7,0x73b9,0x73bd,0x73bf,0x73c0,0x73c2,0x73c2,0x73c5,0x73c6,0x73c8,0x73cf,0x73d2,0x73d3,0x73d6,0x73d6,0x73d9,0x73d9,0x73dd,0x73de,0x73e0,0x73e1,0x73e3,0x73e7,0x73e9,0x73ea,0x73ed,0x73ee,0x73f1,0x73f1,0x73f4,0x73f5,0x73f7,0x73fb,0x73fd,0x7401,0x7403,0x7407,0x7409,0x740a,0x7411,0x7411,0x7413,0x7413,0x741a,0x741b,0x7421,0x7422,0x7424,0x7426,0x7428,0x7436,0x7439,0x743a,0x743f,0x7441,0x7443,0x7444,0x7446,0x7447,0x744b,0x744b,0x744d,0x744d,0x7451,0x7453,0x7455,0x7455,0x7457,0x7457,0x7459,0x7460,0x7462,0x7464,0x7466,0x746b,0x746d,0x7473,0x7476,0x7476,0x747e,0x747e,0x7480,0x7481,0x7483,0x7483,0x7485,0x7489,0x748b,0x748b,0x748f,0x7492,0x7497,0x749a,0x749c,0x749c,0x749e,0x74a3,0x74a5,0x74ab,0x74ae,0x74b2,0x74b5,0x74b5,0x74b9,0x74bb,0x74bd,0x74bd,0x74bf,0x74bf,0x74c8,0x74ca,0x74cc,0x74cc,0x74cf,0x74d0,0x74d3,0x74d4,0x74d6,0x74d6,0x74d8,0x74d8,0x74da,0x74dc,0x74de,0x74e0,0x74e2,0x74e4,0x74e6,0x74eb,0x74ee,0x74f2,0x74f4,0x74f4,0x74f6,0x74f8,0x74fa,0x74fc,0x74ff,0x74ff,0x7501,0x7501,0x7503,0x7506,0x750c,0x750e,0x7511,0x7513,0x7515,0x7518,0x751a,0x751a,0x751c,0x751c,0x751e,0x752c,0x752f,0x7533,0x7536,0x7540,0x7543,0x7544,0x7546,0x7552,0x7554,0x7554,0x7557,0x7557,0x7559,0x7562,0x7564,0x7567,0x7569,0x756d,0x756f,0x757f,0x7581,0x7582,0x7585,0x7587,0x7589,0x758c,0x758e,0x7595,0x7599,0x759a,0x759c,0x759d,0x75a2,0x75a5,0x75ab,0x75ab,0x75b0,0x75b5,0x75b7,0x75ba,0x75bc,0x75c7,0x75ca,0x75ca,0x75cc,0x75cf,0x75d2,0x75d5,0x75d7,0x75d9,0x75db,0x75e4,0x75e7,0x75e7,0x75e9,0x75e9,0x75ec,0x75ec,0x75ee,0x75f4,0x75f9,0x75fa,0x75fc,0x75fc,0x75fe,0x7604,0x7607,0x760d,0x760f,0x760f,0x7612,0x7613,0x7615,0x7616,0x7618,0x7619,0x761b,0x7629,0x762d,0x762d,0x7630,0x7630,0x7632,0x7635,0x7638,0x763c,0x7640,0x764c,0x764e,0x764e,0x7652,0x7652,0x7655,0x7656,0x7658,0x7659,0x765c,0x765c,0x765f,0x765f,0x7661,0x7662,0x7664,0x7665,0x7667,0x766a,0x766c,0x7672,0x7674,0x7674,0x7676,0x7676,0x7678,0x7678,0x767a,0x767e,0x7680,0x7688,0x768b,0x768e,0x7690,0x7690,0x7693,0x7693,0x7695,0x7696,0x7699,0x76a8,0x76aa,0x76aa,0x76ad,0x76b0,0x76b4,0x76b4,0x76b6,0x76ba,0x76bd,0x76bd,0x76bf,0x76bf,0x76c1,0x76c3,0x76c5,0x76c6,0x76c8,0x76ce,0x76d2,0x76d2,0x76d4,0x76d4,0x76d6,0x76d7,0x76d9,0x76d9,0x76db,0x76dc,0x76de,0x76e1,0x76e3,0x76e8,0x76ea,0x76ec,0x76ee,0x76ee,0x76f0,0x76f2,0x76f4,0x76f4,0x76f6,0x76f6,0x76f8,0x76f9,0x76fb,0x76fc,0x76fe,0x76fe,0x7700,0x7701,0x7704,0x7704,0x7706,0x770c,0x770e,0x770e,0x7712,0x7712,0x7714,0x7715,0x7717,0x7717,0x7719,0x771c,0x771e,0x7720,0x7722,0x7722,0x7724,0x7726,0x7728,0x7729,0x772d,0x772f,0x7734,0x773a,0x773c,0x773e,0x7740,0x7740,0x7742,0x7742,0x7745,0x7747,0x774a,0x774a,0x774d,0x774f,0x7752,0x7752,0x7756,0x7758,0x775a,0x775c,0x775e,0x7768,0x776a,0x776c,0x7770,0x7770,0x7772,0x7774,0x7779,0x777a,0x777c,0x7780,0x7784,0x7784,0x778b,0x778e,0x7791,0x7791,0x7794,0x7796,0x779a,0x779a,0x779e,0x77a0,0x77a2,0x77a2,0x77a4,0x77a5,0x77a7,0x77a7,0x77a9,0x77aa,0x77ac,0x77b1,0x77b3,0x77b3,0x77b5,0x77b7,0x77b9,0x77b9,0x77bb,0x77bf,0x77c3,0x77c3,0x77c7,0x77c7,0x77c9,0x77c9,0x77cd,0x77cd,0x77d1,0x77d2,0x77d5,0x77d5,0x77d7,0x77d7,0x77d9,0x77dc,0x77de,0x77e0,0x77e2,0x77e7,0x77e9,0x77ea,0x77ec,0x77f1,0x77f3,0x77f4,0x77f8,0x77f8,0x77fb,0x77fc,0x7802,0x7802,0x7805,0x7806,0x7809,0x7809,0x780c,0x780e,0x7811,0x7812,0x7814,0x7815,0x7819,0x7819,0x781d,0x781d,0x7820,0x7823,0x7825,0x7827,0x782c,0x782e,0x7830,0x7830,0x7832,0x7832,0x7834,0x7835,0x7837,0x7837,0x783a,0x783a,0x783f,0x783f,0x7843,0x7845,0x7847,0x7848,0x784c,0x784c,0x784e,0x784f,0x7851,0x7852,0x785c,0x785e,0x7860,0x7861,0x7863,0x7864,0x7868,0x7868,0x786a,0x786c,0x786e,0x786f,0x7872,0x7872,0x7874,0x7874,0x787a,0x787a,0x787c,0x787c,0x787e,0x787e,0x7881,0x7881,0x7886,0x7887,0x788a,0x788a,0x788c,0x788f,0x7891,0x7891,0x7893,0x7895,0x7897,0x7898,0x789a,0x789a,0x789d,0x789f,0x78a1,0x78a1,0x78a3,0x78a4,0x78a7,0x78aa,0x78ac,0x78ad,0x78af,0x78b3,0x78b5,0x78b5,0x78ba,0x78bf,0x78c1,0x78c1,0x78c5,0x78cc,0x78ce,0x78ce,0x78d0,0x78d6,0x78da,0x78db,0x78df,0x78e1,0x78e4,0x78e4,0x78e6,0x78e8,0x78ea,0x78ea,0x78ec,0x78ec,0x78ef,0x78ef,0x78f2,0x78f4,0x78f6,0x78f7,0x78f9,0x78fb,0x78fd,0x7901,0x7906,0x7907,0x790c,0x790c,0x790e,0x790e,0x7910,0x7912,0x7919,0x791c,0x791e,0x7920,0x7925,0x792e,0x7930,0x7931,0x7934,0x7935,0x793a,0x7942,0x7944,0x794b,0x794f,0x7951,0x7953,0x7958,0x795a,0x7960,0x7962,0x7962,0x7965,0x7965,0x7967,0x7969,0x796b,0x796b,0x796d,0x796d,0x7972,0x7972,0x7977,0x7977,0x7979,0x797c,0x797e,0x7981,0x7984,0x7985,0x798a,0x798f,0x7991,0x7991,0x7993,0x7996,0x7998,0x7998,0x799b,0x799d,0x79a1,0x79a1,0x79a6,0x79ab,0x79ae,0x79b1,0x79b3,0x79b4,0x79b8,0x79bb,0x79bd,0x79c2,0x79c4,0x79c4,0x79c7,0x79cd,0x79cf,0x79cf,0x79d1,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79da,0x79da,0x79dd,0x79e7,0x79e9,0x79ed,0x79f0,0x79f1,0x79f8,0x79f8,0x79fb,0x79fc,0x7a00,0x7a00,0x7a02,0x7a03,0x7a05,0x7a05,0x7a07,0x7a0e,0x7a11,0x7a11,0x7a14,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a21,0x7a27,0x7a27,0x7a2b,0x7a2b,0x7a2d,0x7a32,0x7a34,0x7a35,0x7a37,0x7a40,0x7a42,0x7a49,0x7a4c,0x7a50,0x7a55,0x7a57,0x7a59,0x7a59,0x7a5c,0x7a5d,0x7a5f,0x7a63,0x7a65,0x7a65,0x7a67,0x7a67,0x7a69,0x7a6b,0x7a6d,0x7a6d,0x7a70,0x7a70,0x7a74,0x7a76,0x7a78,0x7a7a,0x7a7d,0x7a86,0x7a88,0x7a88,0x7a8a,0x7a8b,0x7a90,0x7a98,0x7a9e,0x7aa0,0x7aa3,0x7aa3,0x7aa9,0x7aaa,0x7aac,0x7aac,0x7aae,0x7ab0,0x7ab3,0x7ab3,0x7ab5,0x7ab6,0x7ab9,0x7abf,0x7ac3,0x7acf,0x7ad1,0x7ad3,0x7ad5,0x7ad5,0x7ad9,0x7add,0x7adf,0x7ae3,0x7ae5,0x7aed,0x7aef,0x7af1,0x7af4,0x7af4,0x7af6,0x7af6,0x7af8,0x7afb,0x7afd,0x7aff,0x7b02,0x7b02,0x7b04,0x7b04,0x7b06,0x7b08,0x7b0a,0x7b0b,0x7b0f,0x7b0f,0x7b11,0x7b12,0x7b14,0x7b14,0x7b18,0x7b19,0x7b1b,0x7b1b,0x7b1e,0x7b20,0x7b23,0x7b23,0x7b25,0x7b31,0x7b33,0x7b36,0x7b39,0x7b39,0x7b3b,0x7b3b,0x7b3d,0x7b3d,0x7b3f,0x7b41,0x7b45,0x7b49,0x7b4b,0x7b56,0x7b5d,0x7b5d,0x7b60,0x7b60,0x7b64,0x7b67,0x7b69,0x7b6a,0x7b6c,0x7b75,0x7b77,0x7b77,0x7b79,0x7b7a,0x7b7f,0x7b7f,0x7b84,0x7b84,0x7b86,0x7b87,0x7b89,0x7b89,0x7b8b,0x7b8b,0x7b8d,0x7b92,0x7b94,0x7ba1,0x7ba5,0x7ba5,0x7baa,0x7baa,0x7bac,0x7bad,0x7baf,0x7bb2,0x7bb4,0x7bb6,0x7bb8,0x7bb8,0x7bba,0x7bbd,0x7bc0,0x7bc2,0x7bc4,0x7bcc,0x7bcf,0x7bcf,0x7bd4,0x7bd4,0x7bd6,0x7bd7,0x7bd9,0x7bdb,0x7bdd,0x7bdd,0x7be0,0x7be0,0x7be4,0x7be6,0x7be8,0x7bea,0x7bed,0x7bed,0x7bf0,0x7bf0,0x7bf2,0x7bfa,0x7bfc,0x7bfc,0x7bfe,0x7bfe,0x7c00,0x7c04,0x7c06,0x7c07,0x7c09,0x7c09,0x7c0b,0x7c0f,0x7c11,0x7c14,0x7c17,0x7c17,0x7c19,0x7c19,0x7c1b,0x7c1b,0x7c1e,0x7c21,0x7c23,0x7c23,0x7c25,0x7c28,0x7c2a,0x7c2c,0x7c2f,0x7c2f,0x7c31,0x7c31,0x7c33,0x7c34,0x7c36,0x7c3a,0x7c3d,0x7c40,0x7c42,0x7c43,0x7c45,0x7c46,0x7c4a,0x7c4a,0x7c4c,0x7c4d,0x7c4f,0x7c61,0x7c63,0x7c65,0x7c67,0x7c67,0x7c69,0x7c69,0x7c6c,0x7c70,0x7c72,0x7c73,0x7c75,0x7c75,0x7c79,0x7c79,0x7c7b,0x7c7e,0x7c81,0x7c83,0x7c86,0x7c87,0x7c89,0x7c89,0x7c8b,0x7c8b,0x7c8d,0x7c8d,0x7c8f,0x7c90,0x7c92,0x7c92,0x7c94,0x7c95,0x7c97,0x7c98,0x7c9b,0x7c9b,0x7c9e,0x7ca2,0x7ca4,0x7ca8,0x7cab,0x7cab,0x7cad,0x7cae,0x7cb0,0x7cb3,0x7cb6,0x7cb7,0x7cb9,0x7cc0,0x7cc2,0x7cc2,0x7cc4,0x7cc5,0x7cc7,0x7cca,0x7ccd,0x7ccf,0x7cd2,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce7,0x7ce9,0x7ce9,0x7ceb,0x7ceb,0x7cef,0x7cef,0x7cf2,0x7cf2,0x7cf4,0x7cf6,0x7cf8,0x7cfb,0x7cfe,0x7cfe,0x7d00,0x7d00,0x7d02,0x7d0b,0x7d0d,0x7d0d,0x7d0f,0x7d1e,0x7d20,0x7d23,0x7d26,0x7d26,0x7d2a,0x7d33,0x7d35,0x7d35,0x7d39,0x7d3a,0x7d3c,0x7d48,0x7d4b,0x7d51,0x7d53,0x7d53,0x7d55,0x7d57,0x7d59,0x7d5e,0x7d61,0x7d63,0x7d65,0x7d68,0x7d6a,0x7d6a,0x7d6e,0x7d6e,0x7d70,0x7d73,0x7d75,0x7d76,0x7d78,0x7d7b,0x7d7d,0x7d7d,0x7d7f,0x7d7f,0x7d81,0x7d83,0x7d85,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8d,0x7d8f,0x7d8f,0x7d91,0x7d91,0x7d93,0x7d93,0x7d96,0x7d97,0x7d99,0x7da0,0x7da2,0x7da3,0x7da6,0x7da7,0x7daa,0x7dbb,0x7dbd,0x7dc0,0x7dc2,0x7dc7,0x7dca,0x7dd2,0x7dd5,0x7dda,0x7ddc,0x7dde,0x7de0,0x7de6,0x7de8,0x7ded,0x7def,0x7def,0x7df1,0x7df2,0x7df4,0x7df6,0x7df9,0x7dfb,0x7e00,0x7e01,0x7e04,0x7e05,0x7e08,0x7e0b,0x7e10,0x7e12,0x7e15,0x7e15,0x7e17,0x7e17,0x7e1b,0x7e23,0x7e26,0x7e28,0x7e2b,0x7e2f,0x7e31,0x7e33,0x7e35,0x7e37,0x7e39,0x7e3b,0x7e3d,0x7e3f,0x7e41,0x7e41,0x7e43,0x7e48,0x7e4a,0x7e4b,0x7e4d,0x7e4e,0x7e50,0x7e50,0x7e52,0x7e52,0x7e54,0x7e56,0x7e58,0x7e5a,0x7e5d,0x7e5f,0x7e61,0x7e62,0x7e65,0x7e67,0x7e69,0x7e6b,0x7e6d,0x7e70,0x7e73,0x7e73,0x7e75,0x7e75,0x7e78,0x7e79,0x7e7b,0x7e7f,0x7e81,0x7e83,0x7e86,0x7e8a,0x7e8c,0x7e96,0x7e98,0x7e98,0x7e9a,0x7e9f,0x7f36,0x7f36,0x7f38,0x7f38,0x7f3a,0x7f3f,0x7f43,0x7f45,0x7f47,0x7f47,0x7f4c,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f5d,0x7f5f,0x7f61,0x7f63,0x7f6b,0x7f6d,0x7f6e,0x7f70,0x7f72,0x7f75,0x7f75,0x7f77,0x7f79,0x7f7d,0x7f80,0x7f82,0x7f83,0x7f85,0x7f88,0x7f8a,0x7f91,0x7f94,0x7f94,0x7f96,0x7f97,0x7f9a,0x7f9a,0x7f9c,0x7f9e,0x7fa1,0x7fa4,0x7fa6,0x7fa6,0x7fa8,0x7faa,0x7fad,0x7faf,0x7fb2,0x7fb2,0x7fb4,0x7fb4,0x7fb6,0x7fb6,0x7fb8,0x7fb9,0x7fbc,0x7fbd,0x7fbf,0x7fc1,0x7fc3,0x7fc3,0x7fc5,0x7fc6,0x7fc8,0x7fc8,0x7fca,0x7fca,0x7fcc,0x7fcc,0x7fce,0x7fcf,0x7fd2,0x7fd2,0x7fd4,0x7fd5,0x7fdb,0x7fdb,0x7fdf,0x7fe1,0x7fe3,0x7fe3,0x7fe5,0x7fe6,0x7fe8,0x7fe9,0x7feb,0x7fec,0x7fee,0x7ff0,0x7ff2,0x7ff3,0x7ff9,0x8008,0x800a,0x8019,0x801c,0x8021,0x8024,0x8024,0x8026,0x8026,0x8028,0x8028,0x802c,0x802c,0x802e,0x802e,0x8030,0x8030,0x8033,0x8037,0x8039,0x8040,0x8043,0x8044,0x8046,0x8046,0x804a,0x804a,0x8052,0x8052,0x8056,0x8056,0x8058,0x8058,0x805a,0x805a,0x805e,0x8062,0x8064,0x8064,0x8066,0x8066,0x8068,0x8068,0x806d,0x806d,0x806f,0x8077,0x8079,0x8079,0x807b,0x807b,0x807d,0x8081,0x8084,0x8089,0x808b,0x808c,0x808e,0x808e,0x8093,0x8093,0x8096,0x8096,0x8098,0x809e,0x80a1,0x80a2,0x80a4,0x80a7,0x80a9,0x80ad,0x80af,0x80af,0x80b1,0x80b2,0x80b4,0x80b4,0x80b8,0x80ba,0x80c3,0x80c6,0x80c8,0x80c8,0x80ca,0x80ca,0x80cc,0x80cf,0x80d2,0x80d2,0x80d4,0x80db,0x80dd,0x80de,0x80e0,0x80e1,0x80e4,0x80e6,0x80ed,0x80fe,0x8101,0x8103,0x8105,0x810b,0x810d,0x810d,0x8116,0x8118,0x811a,0x811c,0x811e,0x811e,0x8120,0x8120,0x8123,0x8124,0x8127,0x8127,0x8129,0x8129,0x812b,0x812c,0x812f,0x8131,0x8133,0x8133,0x8135,0x8135,0x8139,0x813a,0x813c,0x813e,0x8141,0x8141,0x8145,0x8147,0x814a,0x814c,0x814e,0x814e,0x8150,0x8155,0x8157,0x8157,0x815f,0x8161,0x8165,0x8169,0x816b,0x816b,0x816d,0x8171,0x8173,0x8174,0x8177,0x817a,0x817f,0x8186,0x8188,0x8188,0x818a,0x818b,0x818e,0x8190,0x8193,0x8193,0x8195,0x8196,0x8198,0x8198,0x819a,0x819e,0x81a0,0x81a0,0x81a2,0x81a4,0x81a8,0x81a9,0x81ae,0x81ae,0x81b0,0x81b0,0x81b2,0x81b5,0x81b8,0x81b8,0x81ba,0x81bb,0x81bd,0x81c3,0x81c5,0x81c6,0x81c8,0x81cb,0x81cd,0x81cf,0x81d1,0x81d1,0x81d3,0x81d3,0x81d5,0x81db,0x81dd,0x81e1,0x81e3,0x81e5,0x81e7,0x81e8,0x81ea,0x81ed,0x81ef,0x81f6,0x81f8,0x8205,0x8207,0x8210,0x8212,0x8214,0x8216,0x821f,0x8221,0x8222,0x8228,0x822c,0x822e,0x822e,0x8232,0x823a,0x823c,0x823c,0x8240,0x8240,0x8243,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x824f,0x8251,0x8251,0x8256,0x825a,0x825c,0x825d,0x825f,0x8260,0x8262,0x8264,0x8266,0x8268,0x826a,0x826b,0x826d,0x826f,0x8271,0x8272,0x8274,0x8274,0x8276,0x8279,0x827b,0x827b,0x827d,0x8281,0x8283,0x8284,0x8287,0x8287,0x8289,0x828b,0x828d,0x828e,0x8291,0x8294,0x8296,0x8296,0x8298,0x829b,0x829d,0x829d,0x829f,0x82a1,0x82a3,0x82b4,0x82b7,0x82bf,0x82c5,0x82c6,0x82d0,0x82d5,0x82d7,0x82d7,0x82d9,0x82dc,0x82de,0x82e8,0x82ea,0x82eb,0x82ed,0x82ed,0x82ef,0x82ef,0x82f1,0x82f1,0x82f3,0x82f4,0x82f6,0x82f7,0x82f9,0x82fb,0x82fd,0x82fe,0x8300,0x830c,0x830e,0x830e,0x8316,0x8318,0x831b,0x831f,0x8321,0x8323,0x8328,0x8328,0x832b,0x833a,0x833c,0x833d,0x8340,0x8340,0x8342,0x8347,0x8349,0x834a,0x834d,0x8358,0x835a,0x835a,0x8362,0x8363,0x8370,0x8370,0x8373,0x8373,0x8375,0x8375,0x8377,0x8378,0x837b,0x837d,0x837f,0x8380,0x8382,0x8382,0x8384,0x8387,0x8389,0x838a,0x838d,0x838e,0x8392,0x8396,0x8398,0x83a0,0x83a2,0x83a2,0x83a6,0x83ad,0x83b1,0x83b1,0x83b5,0x83b5,0x83bd,0x83c1,0x83c5,0x83c5,0x83c7,0x83c7,0x83c9,0x83ca,0x83cc,0x83cc,0x83ce,0x83d1,0x83d3,0x83d4,0x83d6,0x83d6,0x83d8,0x83d8,0x83dc,0x83dd,0x83df,0x83e1,0x83e5,0x83e5,0x83e8,0x83eb,0x83ef,0x83f2,0x83f4,0x83f4,0x83f6,0x83f9,0x83fb,0x83fd,0x8401,0x8401,0x8403,0x8404,0x8406,0x8407,0x840a,0x840f,0x8411,0x8411,0x8413,0x8413,0x8415,0x8415,0x8417,0x8417,0x8419,0x8419,0x8420,0x8420,0x8422,0x8422,0x8429,0x842a,0x842c,0x842c,0x842f,0x842f,0x8431,0x8431,0x8435,0x8435,0x8438,0x8439,0x843c,0x843d,0x8445,0x844a,0x844d,0x844f,0x8451,0x8452,0x8456,0x845c,0x845f,0x8467,0x8469,0x8471,0x8473,0x847a,0x847c,0x847d,0x8481,0x8482,0x8484,0x8485,0x848b,0x848b,0x8490,0x8490,0x8492,0x8495,0x8497,0x8497,0x8499,0x8499,0x849c,0x849c,0x849e,0x849f,0x84a1,0x84a1,0x84a6,0x84a6,0x84a8,0x84aa,0x84ad,0x84ad,0x84af,0x84af,0x84b1,0x84b2,0x84b4,0x84b4,0x84b8,0x84c2,0x84c4,0x84c4,0x84c6,0x84d1,0x84d3,0x84d3,0x84d6,0x84d6,0x84d9,0x84da,0x84dc,0x84dc,0x84e7,0x84e7,0x84ea,0x84ea,0x84ec,0x84ec,0x84ee,0x84f2,0x84f4,0x84f4,0x84f7,0x84f7,0x84fa,0x84fd,0x84ff,0x8500,0x8502,0x8503,0x8506,0x8507,0x850c,0x850c,0x850e,0x850e,0x8510,0x8511,0x8513,0x8515,0x8517,0x8518,0x851a,0x851c,0x851e,0x851f,0x8521,0x8527,0x852a,0x852d,0x852f,0x852f,0x8532,0x8536,0x853d,0x8541,0x8543,0x8543,0x8546,0x8546,0x8548,0x854b,0x854e,0x8553,0x8555,0x855a,0x855c,0x8564,0x8568,0x856b,0x856d,0x856d,0x856f,0x856f,0x8577,0x8577,0x8579,0x857b,0x857d,0x8581,0x8584,0x858c,0x858f,0x8591,0x8593,0x8594,0x8597,0x8599,0x859b,0x859d,0x859f,0x85a0,0x85a2,0x85a2,0x85a4,0x85b0,0x85b4,0x85b4,0x85b6,0x85ba,0x85bc,0x85bf,0x85c1,0x85c2,0x85c7,0x85c7,0x85c9,0x85cb,0x85cd,0x85d0,0x85d5,0x85d5,0x85d8,0x85da,0x85dc,0x85dd,0x85df,0x85e1,0x85e4,0x85e6,0x85e8,0x85ea,0x85ed,0x85ed,0x85f3,0x85f4,0x85f6,0x85f7,0x85f9,0x85fc,0x85fe,0x8600,0x8602,0x8602,0x8604,0x8607,0x860a,0x860b,0x860d,0x860e,0x8610,0x8613,0x8616,0x861b,0x861e,0x861e,0x8621,0x8622,0x8624,0x8624,0x8627,0x8627,0x8629,0x8629,0x862d,0x862d,0x862f,0x8630,0x8636,0x8636,0x8638,0x863a,0x863c,0x863d,0x863f,0x8642,0x8646,0x8646,0x864d,0x864e,0x8650,0x8650,0x8652,0x8664,0x8667,0x8667,0x8669,0x8669,0x866b,0x866c,0x866f,0x866f,0x8671,0x8671,0x8675,0x8677,0x8679,0x867b,0x867d,0x867d,0x8687,0x868d,0x8691,0x8691,0x8693,0x8693,0x8695,0x8696,0x8698,0x8698,0x869a,0x869a,0x869c,0x869d,0x86a1,0x86a1,0x86a3,0x86a4,0x86a6,0x86ab,0x86ad,0x86ad,0x86af,0x86b1,0x86b3,0x86b9,0x86bf,0x86c1,0x86c3,0x86c7,0x86c9,0x86c9,0x86cb,0x86cb,0x86cd,0x86ce,0x86d1,0x86d2,0x86d4,0x86d5,0x86d7,0x86d7,0x86d9,0x86dc,0x86de,0x86e0,0x86e3,0x86e7,0x86e9,0x86e9,0x86ec,0x86ef,0x86f8,0x86fe,0x8700,0x8700,0x8702,0x870b,0x870d,0x8714,0x8718,0x871a,0x871c,0x871c,0x871e,0x871f,0x8721,0x8723,0x8725,0x8725,0x8728,0x8729,0x872e,0x872f,0x8731,0x8732,0x8734,0x8734,0x8737,0x8737,0x8739,0x8740,0x8743,0x8743,0x8745,0x8745,0x8749,0x8749,0x874b,0x874e,0x8751,0x8751,0x8753,0x8753,0x8755,0x8755,0x8757,0x8759,0x875d,0x875d,0x875f,0x8761,0x8763,0x8766,0x8768,0x8768,0x876a,0x876a,0x876e,0x876f,0x8771,0x8772,0x8774,0x8774,0x8776,0x8776,0x8778,0x8778,0x877b,0x877c,0x877f,0x877f,0x8782,0x8789,0x878b,0x878e,0x8790,0x8790,0x8793,0x8793,0x8795,0x8795,0x8797,0x8799,0x879e,0x87a0,0x87a2,0x87a3,0x87a7,0x87a7,0x87ab,0x87af,0x87b1,0x87b1,0x87b3,0x87b3,0x87b5,0x87b5,0x87ba,0x87bb,0x87bd,0x87c1,0x87c4,0x87c4,0x87c6,0x87cb,0x87ce,0x87ce,0x87d0,0x87d0,0x87d2,0x87d2,0x87d5,0x87d6,0x87d9,0x87da,0x87dc,0x87dc,0x87df,0x87e0,0x87e2,0x87e6,0x87ea,0x87ed,0x87ef,0x87ef,0x87f1,0x87f3,0x87f5,0x87fb,0x87fe,0x87ff,0x8801,0x8801,0x8803,0x8803,0x8805,0x8807,0x8809,0x880b,0x880d,0x8816,0x8818,0x881c,0x881e,0x881f,0x8821,0x8823,0x8827,0x8828,0x882d,0x882e,0x8830,0x8832,0x8835,0x8836,0x8839,0x883c,0x8840,0x8846,0x8848,0x884e,0x8851,0x8853,0x8855,0x8864,0x8868,0x8869,0x886b,0x886b,0x886e,0x8872,0x8875,0x8875,0x8877,0x8877,0x8879,0x8879,0x887b,0x887b,0x887d,0x8882,0x8888,0x8888,0x888b,0x888b,0x888d,0x888d,0x8892,0x8892,0x8896,0x889c,0x889e,0x88a0,0x88a2,0x88a2,0x88a4,0x88a4,0x88a8,0x88a8,0x88aa,0x88ab,0x88ae,0x88ae,0x88b0,0x88b1,0x88b4,0x88b5,0x88b7,0x88b7,0x88ba,0x88ba,0x88bc,0x88c6,0x88ca,0x88cf,0x88d1,0x88d5,0x88d8,0x88d9,0x88db,0x88e1,0x88e7,0x88e8,0x88ef,0x88f5,0x88f7,0x88f9,0x88fc,0x88fe,0x8901,0x8902,0x8904,0x8904,0x8906,0x8907,0x890a,0x890a,0x890c,0x8910,0x8912,0x8913,0x8915,0x8916,0x8918,0x891a,0x891c,0x891e,0x8920,0x8920,0x8925,0x8928,0x892a,0x892b,0x8930,0x8932,0x8935,0x893b,0x893e,0x893e,0x8940,0x8946,0x8949,0x8949,0x894c,0x894d,0x894f,0x894f,0x8952,0x8952,0x8956,0x8957,0x895a,0x895c,0x895e,0x8964,0x8966,0x8966,0x896a,0x896b,0x896d,0x8970,0x8972,0x8975,0x8977,0x8977,0x897a,0x8981,0x8983,0x8983,0x8986,0x898b,0x898d,0x898d,0x898f,0x8990,0x8993,0x8998,0x899a,0x899c,0x899f,0x89a1,0x89a5,0x89a7,0x89a9,0x89aa,0x89ac,0x89ac,0x89af,0x89b0,0x89b2,0x89b7,0x89ba,0x89ba,0x89bc,0x89bd,0x89bf,0x89c1,0x89d2,0x89d2,0x89d4,0x89d8,0x89da,0x89da,0x89dc,0x89dd,0x89e3,0x89e3,0x89e5,0x89e7,0x89e9,0x89e9,0x89eb,0x89eb,0x89ed,0x89ed,0x89f1,0x89f1,0x89f3,0x89f4,0x89f6,0x89f6,0x89f8,0x89f9,0x89fd,0x89fd,0x89ff,0x8a05,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a18,0x8a1b,0x8a1b,0x8a1d,0x8a26,0x8a2a,0x8a2d,0x8a2f,0x8a2f,0x8a31,0x8a31,0x8a33,0x8a37,0x8a3a,0x8a3e,0x8a40,0x8a41,0x8a43,0x8a43,0x8a45,0x8a49,0x8a4d,0x8a4e,0x8a50,0x8a58,0x8a5b,0x8a5e,0x8a60,0x8a63,0x8a65,0x8a67,0x8a69,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a73,0x8a75,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a80,0x8a82,0x8a87,0x8a89,0x8a89,0x8a8b,0x8a8d,0x8a8f,0x8a93,0x8a95,0x8a9a,0x8a9e,0x8aa1,0x8aa3,0x8aaa,0x8aac,0x8ab0,0x8ab2,0x8ab3,0x8ab6,0x8ab7,0x8ab9,0x8ab9,0x8abb,0x8abc,0x8abe,0x8abf,0x8ac2,0x8ac4,0x8ac6,0x8acd,0x8acf,0x8ad7,0x8ada,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae7,0x8aeb,0x8aee,0x8af0,0x8af1,0x8af3,0x8af8,0x8afa,0x8afa,0x8afc,0x8afc,0x8afe,0x8b02,0x8b04,0x8b07,0x8b0a,0x8b11,0x8b14,0x8b14,0x8b16,0x8b17,0x8b19,0x8b21,0x8b26,0x8b26,0x8b28,0x8b28,0x8b2b,0x8b2d,0x8b30,0x8b30,0x8b33,0x8b33,0x8b37,0x8b37,0x8b39,0x8b39,0x8b3c,0x8b3c,0x8b3e,0x8b3e,0x8b41,0x8b46,0x8b48,0x8b49,0x8b4c,0x8b4f,0x8b51,0x8b54,0x8b56,0x8b56,0x8b58,0x8b5c,0x8b5e,0x8b5f,0x8b63,0x8b63,0x8b66,0x8b66,0x8b69,0x8b69,0x8b6b,0x8b6d,0x8b6f,0x8b72,0x8b74,0x8b74,0x8b76,0x8b79,0x8b7c,0x8b81,0x8b83,0x8b85,0x8b8a,0x8b90,0x8b92,0x8b96,0x8b99,0x8b9a,0x8b9c,0x8ba0,0x8c37,0x8c3a,0x8c3d,0x8c3f,0x8c41,0x8c41,0x8c45,0x8c4c,0x8c4e,0x8c51,0x8c53,0x8c55,0x8c57,0x8c5b,0x8c5d,0x8c5d,0x8c61,0x8c64,0x8c66,0x8c66,0x8c68,0x8c6d,0x8c73,0x8c73,0x8c75,0x8c76,0x8c78,0x8c7c,0x8c7e,0x8c7e,0x8c82,0x8c82,0x8c85,0x8c87,0x8c89,0x8c8e,0x8c90,0x8c90,0x8c92,0x8c94,0x8c98,0x8c99,0x8c9b,0x8ca2,0x8ca4,0x8ca4,0x8ca7,0x8cb0,0x8cb2,0x8cb4,0x8cb6,0x8cbd,0x8cbf,0x8ccb,0x8ccd,0x8ccf,0x8cd1,0x8cd3,0x8cd5,0x8cd6,0x8cd9,0x8cde,0x8ce0,0x8ce4,0x8ce6,0x8ce6,0x8ce8,0x8ce8,0x8cea,0x8cea,0x8cec,0x8ced,0x8cef,0x8cf2,0x8cf4,0x8cf5,0x8cf7,0x8cf8,0x8cfa,0x8cff,0x8d01,0x8d01,0x8d03,0x8d05,0x8d07,0x8d0b,0x8d0d,0x8d10,0x8d12,0x8d14,0x8d16,0x8d17,0x8d1b,0x8d1d,0x8d64,0x8d67,0x8d69,0x8d69,0x8d6b,0x8d6e,0x8d70,0x8d71,0x8d73,0x8d74,0x8d76,0x8d77,0x8d7f,0x8d7f,0x8d81,0x8d82,0x8d84,0x8d85,0x8d88,0x8d88,0x8d8a,0x8d8a,0x8d8d,0x8d8d,0x8d90,0x8d91,0x8d95,0x8d95,0x8d99,0x8d99,0x8d9e,0x8da0,0x8da3,0x8da3,0x8da6,0x8da6,0x8da8,0x8da8,0x8dab,0x8dac,0x8daf,0x8daf,0x8db2,0x8db3,0x8db5,0x8db5,0x8db7,0x8db7,0x8db9,0x8dbc,0x8dbe,0x8dbe,0x8dc0,0x8dc0,0x8dc2,0x8dc2,0x8dc5,0x8dc8,0x8dca,0x8dcc,0x8dce,0x8dcf,0x8dd1,0x8dd1,0x8dd4,0x8dd7,0x8dd9,0x8ddb,0x8ddd,0x8ddd,0x8ddf,0x8ddf,0x8de1,0x8de1,0x8de3,0x8de5,0x8de7,0x8de8,0x8dea,0x8dec,0x8def,0x8df5,0x8dfc,0x8dfd,0x8dff,0x8dff,0x8e01,0x8e01,0x8e04,0x8e06,0x8e08,0x8e0c,0x8e0f,0x8e11,0x8e14,0x8e14,0x8e16,0x8e16,0x8e1d,0x8e23,0x8e26,0x8e27,0x8e2a,0x8e2a,0x8e30,0x8e31,0x8e33,0x8e39,0x8e3d,0x8e3d,0x8e40,0x8e42,0x8e44,0x8e44,0x8e47,0x8e50,0x8e54,0x8e55,0x8e59,0x8e59,0x8e5b,0x8e64,0x8e69,0x8e69,0x8e6c,0x8e6d,0x8e6f,0x8e72,0x8e74,0x8e77,0x8e79,0x8e7c,0x8e81,0x8e85,0x8e87,0x8e87,0x8e89,0x8e8b,0x8e8d,0x8e8d,0x8e90,0x8e95,0x8e98,0x8e9b,0x8e9d,0x8e9e,0x8ea1,0x8ea2,0x8ea7,0x8ea7,0x8ea9,0x8eb1,0x8eb3,0x8eb3,0x8eb5,0x8eb6,0x8eba,0x8ebb,0x8ebe,0x8ebe,0x8ec0,0x8ec1,0x8ec3,0x8ec8,0x8eca,0x8ecd,0x8ecf,0x8ecf,0x8ed1,0x8ed2,0x8ed4,0x8ed4,0x8edb,0x8edc,0x8edf,0x8edf,0x8ee2,0x8ee3,0x8ee8,0x8ee8,0x8eeb,0x8eeb,0x8eed,0x8eee,0x8ef0,0x8ef1,0x8ef7,0x8efe,0x8f00,0x8f00,0x8f02,0x8f03,0x8f05,0x8f05,0x8f07,0x8f0a,0x8f0c,0x8f0c,0x8f0f,0x8f10,0x8f12,0x8f19,0x8f1b,0x8f21,0x8f23,0x8f23,0x8f25,0x8f2f,0x8f33,0x8f3b,0x8f3e,0x8f47,0x8f49,0x8f4a,0x8f4c,0x8f4f,0x8f51,0x8f55,0x8f57,0x8f58,0x8f5c,0x8f5f,0x8f61,0x8f66,0x8f9b,0x8fa8,0x8fad,0x8fb2,0x8fb4,0x8fb8,0x8fba,0x8fbc,0x8fbe,0x8fc2,0x8fc4,0x8fc6,0x8fc8,0x8fc8,0x8fca,0x8fcb,0x8fcd,0x8fce,0x8fd0,0x8fd5,0x8fda,0x8fda,0x8fe0,0x8fe0,0x8fe2,0x8fe6,0x8fe8,0x8feb,0x8fed,0x8ff1,0x8ff4,0x8ffb,0x8ffd,0x8ffe,0x9000,0x9006,0x9008,0x9008,0x900b,0x9011,0x9013,0x901b,0x901d,0x9023,0x9027,0x902a,0x902c,0x902f,0x9031,0x9039,0x903c,0x903c,0x903e,0x903f,0x9041,0x9045,0x9047,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9063,0x9065,0x9069,0x906c,0x9070,0x9072,0x9072,0x9074,0x907a,0x907c,0x907d,0x907f,0x9085,0x9087,0x908c,0x908e,0x9091,0x9095,0x9095,0x9097,0x9099,0x909b,0x909b,0x90a0,0x90a3,0x90a5,0x90a6,0x90a8,0x90a8,0x90aa,0x90aa,0x90af,0x90b6,0x90b8,0x90b8,0x90bd,0x90be,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90ca,0x90cc,0x90cc,0x90ce,0x90ce,0x90d2,0x90d2,0x90d5,0x90d5,0x90d7,0x90d9,0x90db,0x90df,0x90e1,0x90e2,0x90e4,0x90e5,0x90e8,0x90e8,0x90eb,0x90eb,0x90ed,0x90ed,0x90ef,0x90f0,0x90f2,0x90f2,0x90f4,0x90f7,0x90fd,0x9100,0x9102,0x9102,0x9104,0x9106,0x9108,0x9108,0x910d,0x910d,0x9110,0x9110,0x9112,0x9112,0x9114,0x911a,0x911c,0x911c,0x911e,0x911e,0x9120,0x9120,0x9122,0x9123,0x9125,0x9125,0x9127,0x9127,0x9129,0x9129,0x912d,0x9132,0x9134,0x9134,0x9136,0x9137,0x9139,0x913a,0x913c,0x913d,0x9143,0x9143,0x9146,0x914f,0x9152,0x9154,0x9156,0x915b,0x9161,0x9165,0x9167,0x9167,0x9169,0x916a,0x916c,0x916d,0x9172,0x9175,0x9177,0x917b,0x9181,0x9183,0x9185,0x9187,0x9189,0x918b,0x918d,0x918e,0x9190,0x9195,0x9197,0x9198,0x919c,0x919c,0x919e,0x919e,0x91a1,0x91a2,0x91a4,0x91a4,0x91a6,0x91a6,0x91a8,0x91a8,0x91aa,0x91b6,0x91b8,0x91b8,0x91ba,0x91bd,0x91bf,0x91c9,0x91cb,0x91d1,0x91d3,0x91d4,0x91d6,0x91df,0x91e1,0x91e1,0x91e3,0x91e7,0x91e9,0x91ea,0x91ec,0x91f1,0x91f5,0x91f7,0x91f9,0x91f9,0x91fb,0x91fd,0x91ff,0x9201,0x9204,0x9207,0x9209,0x920a,0x920c,0x920e,0x9210,0x9218,0x921c,0x921e,0x9223,0x9226,0x9228,0x9229,0x922c,0x922c,0x922e,0x9230,0x9233,0x923a,0x923c,0x923c,0x923e,0x9240,0x9242,0x924b,0x924d,0x9251,0x9256,0x925e,0x9260,0x9262,0x9264,0x9269,0x926e,0x9271,0x9275,0x9279,0x927b,0x9280,0x9283,0x9283,0x9285,0x9285,0x9288,0x928a,0x928d,0x928e,0x9291,0x9293,0x9295,0x929c,0x929f,0x92a0,0x92a4,0x92a5,0x92a7,0x92a8,0x92ab,0x92ab,0x92ad,0x92ad,0x92af,0x92af,0x92b2,0x92b3,0x92b6,0x92bd,0x92bf,0x92c3,0x92c5,0x92c8,0x92cb,0x92d0,0x92d2,0x92d3,0x92d5,0x92d5,0x92d7,0x92d9,0x92dc,0x92dd,0x92df,0x92e1,0x92e3,0x92e5,0x92e7,0x92ea,0x92ec,0x92ee,0x92f0,0x92f0,0x92f2,0x92f3,0x92f7,0x92fc,0x92ff,0x9300,0x9302,0x9302,0x9304,0x9304,0x9306,0x9306,0x9308,0x9308,0x930d,0x930d,0x930f,0x9311,0x9314,0x9315,0x9318,0x931a,0x931c,0x932c,0x932e,0x932f,0x9332,0x9337,0x933a,0x933b,0x9344,0x9344,0x9347,0x934b,0x934d,0x934d,0x9350,0x9352,0x9354,0x9358,0x935a,0x935c,0x935e,0x935e,0x9360,0x9360,0x9364,0x9365,0x9367,0x9367,0x9369,0x9371,0x9373,0x9376,0x937a,0x937a,0x937c,0x9382,0x9388,0x9388,0x938a,0x938d,0x938f,0x938f,0x9392,0x9392,0x9394,0x9398,0x939a,0x939b,0x939e,0x939e,0x93a1,0x93a1,0x93a3,0x93a4,0x93a6,0x93a9,0x93ab,0x93ae,0x93b0,0x93b0,0x93b4,0x93b6,0x93b9,0x93bb,0x93c1,0x93c1,0x93c3,0x93cd,0x93d0,0x93d1,0x93d3,0x93d3,0x93d6,0x93d9,0x93dc,0x93df,0x93e1,0x93e2,0x93e4,0x93e8,0x93f1,0x93f1,0x93f5,0x93f5,0x93f7,0x93fb,0x93fd,0x93fd,0x9401,0x9404,0x9407,0x9409,0x940d,0x9410,0x9413,0x941a,0x941f,0x941f,0x9421,0x9421,0x942b,0x942b,0x942e,0x942f,0x9431,0x9436,0x9438,0x9438,0x943a,0x943b,0x943d,0x943d,0x943f,0x943f,0x9441,0x9441,0x9443,0x9445,0x9448,0x9448,0x944a,0x944a,0x944c,0x944c,0x9451,0x9453,0x9455,0x9455,0x9459,0x945c,0x945e,0x9463,0x9468,0x9468,0x946a,0x946b,0x946d,0x9472,0x9475,0x9475,0x9477,0x9477,0x947c,0x947f,0x9481,0x9481,0x9483,0x9485,0x9577,0x9579,0x957e,0x9580,0x9582,0x9584,0x9586,0x958f,0x9591,0x9594,0x9596,0x9596,0x9598,0x9599,0x959d,0x95a9,0x95ab,0x95ad,0x95b1,0x95b2,0x95b4,0x95b4,0x95b6,0x95b6,0x95b9,0x95bf,0x95c3,0x95c3,0x95c6,0x95cd,0x95d0,0x95d6,0x95d8,0x95da,0x95dc,0x95e2,0x95e4,0x95e6,0x95e8,0x95e8,0x961c,0x961e,0x9621,0x9622,0x9624,0x9626,0x9628,0x9628,0x962a,0x962a,0x962c,0x962c,0x962e,0x962f,0x9631,0x9634,0x9637,0x963d,0x963f,0x9642,0x9644,0x9644,0x964b,0x964d,0x964f,0x9650,0x9652,0x9652,0x9654,0x9654,0x9656,0x9658,0x965b,0x965f,0x9661,0x9666,0x966a,0x966a,0x966c,0x966c,0x966e,0x966e,0x9670,0x9670,0x9672,0x9678,0x967a,0x967f,0x9681,0x9686,0x9688,0x968b,0x968d,0x968f,0x9691,0x9691,0x9694,0x969d,0x969f,0x96a0,0x96a3,0x96aa,0x96ae,0x96b4,0x96b6,0x96bd,0x96c0,0x96c1,0x96c4,0x96c7,0x96c9,0x96ce,0x96d1,0x96d2,0x96d5,0x96d6,0x96d8,0x96df,0x96e2,0x96e3,0x96e8,0x96eb,0x96ef,0x96f2,0x96f6,0x96f7,0x96f9,0x96fb,0x9700,0x9700,0x9702,0x970a,0x970d,0x970f,0x9711,0x9711,0x9713,0x9714,0x9716,0x9716,0x9719,0x971e,0x9721,0x9724,0x9727,0x9728,0x972a,0x972a,0x9730,0x9733,0x9736,0x9736,0x9738,0x9739,0x973b,0x973b,0x973d,0x973e,0x9741,0x9744,0x9746,0x974a,0x974d,0x974f,0x9751,0x9752,0x9755,0x975c,0x975e,0x975e,0x9760,0x9764,0x9766,0x976b,0x976d,0x976e,0x9771,0x9771,0x9773,0x9774,0x9776,0x977d,0x977f,0x9781,0x9784,0x9786,0x9789,0x9789,0x978b,0x978b,0x978d,0x978d,0x978f,0x9790,0x9795,0x979a,0x979c,0x979c,0x979e,0x97a0,0x97a2,0x97a3,0x97a6,0x97a6,0x97a8,0x97a8,0x97ab,0x97ae,0x97b1,0x97b6,0x97b8,0x97ba,0x97bc,0x97bc,0x97be,0x97bf,0x97c1,0x97c1,0x97c3,0x97ce,0x97d0,0x97d1,0x97d3,0x97d4,0x97d7,0x97d9,0x97db,0x97de,0x97e0,0x97e1,0x97e4,0x97e4,0x97e6,0x97e6,0x97ed,0x97ef,0x97f1,0x97f8,0x97fa,0x97fb,0x97ff,0x97ff,0x9801,0x9808,0x980a,0x980a,0x980c,0x9814,0x9816,0x981a,0x981c,0x981c,0x981e,0x981e,0x9820,0x9821,0x9823,0x9826,0x982b,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983e,0x9844,0x9844,0x9846,0x9847,0x984a,0x984f,0x9851,0x985b,0x985e,0x985e,0x9862,0x9863,0x9865,0x9867,0x986a,0x986c,0x986f,0x9871,0x9873,0x9875,0x98a8,0x98a8,0x98aa,0x98ab,0x98ad,0x98b1,0x98b4,0x98b4,0x98b6,0x98b8,0x98ba,0x98bc,0x98bf,0x98bf,0x98c2,0x98c8,0x98cb,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98eb,0x98ed,0x98f4,0x98f6,0x98f6,0x98fc,0x98fe,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x9910,0x9918,0x991a,0x9922,0x9924,0x9924,0x9926,0x9928,0x992b,0x992c,0x992e,0x992e,0x9931,0x9935,0x9939,0x993e,0x9940,0x9942,0x9945,0x9949,0x994b,0x994e,0x9950,0x9952,0x9954,0x9955,0x9957,0x9959,0x995b,0x995c,0x995e,0x9960,0x9963,0x9963,0x9996,0x9999,0x999b,0x999b,0x999d,0x999f,0x99a3,0x99a3,0x99a5,0x99a6,0x99a8,0x99a8,0x99ac,0x99ae,0x99b0,0x99b5,0x99b9,0x99ba,0x99bc,0x99bd,0x99bf,0x99bf,0x99c1,0x99c1,0x99c3,0x99c6,0x99c8,0x99c9,0x99d0,0x99d5,0x99d8,0x99df,0x99e1,0x99e2,0x99e7,0x99e7,0x99ea,0x99ee,0x99f0,0x99f2,0x99f4,0x99f5,0x99f8,0x99f9,0x99fb,0x99ff,0x9a01,0x9a05,0x9a08,0x9a08,0x9a0a,0x9a0c,0x9a0e,0x9a13,0x9a16,0x9a16,0x9a19,0x9a1a,0x9a1e,0x9a1e,0x9a20,0x9a20,0x9a22,0x9a24,0x9a27,0x9a28,0x9a2b,0x9a2b,0x9a2d,0x9a2e,0x9a30,0x9a31,0x9a33,0x9a33,0x9a35,0x9a38,0x9a3e,0x9a3e,0x9a40,0x9a45,0x9a47,0x9a47,0x9a4a,0x9a4e,0x9a51,0x9a52,0x9a54,0x9a58,0x9a5a,0x9a5b,0x9a5d,0x9a5d,0x9a5f,0x9a5f,0x9a62,0x9a62,0x9a64,0x9a65,0x9a69,0x9a6c,0x9aa8,0x9aa8,0x9aaa,0x9aaa,0x9aac,0x9ab0,0x9ab2,0x9ab2,0x9ab4,0x9ab9,0x9abb,0x9ac1,0x9ac3,0x9ac4,0x9ac6,0x9ac6,0x9ac8,0x9ac8,0x9ace,0x9ad9,0x9adb,0x9adc,0x9ade,0x9ae0,0x9ae2,0x9ae7,0x9ae9,0x9aef,0x9af1,0x9af5,0x9af7,0x9af7,0x9af9,0x9afb,0x9afd,0x9afd,0x9aff,0x9b06,0x9b08,0x9b09,0x9b0b,0x9b0e,0x9b10,0x9b10,0x9b12,0x9b12,0x9b16,0x9b16,0x9b18,0x9b1d,0x9b1f,0x9b20,0x9b22,0x9b23,0x9b25,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3d,0x9b41,0x9b45,0x9b48,0x9b48,0x9b4b,0x9b4f,0x9b51,0x9b51,0x9b54,0x9b58,0x9b5a,0x9b5b,0x9b5e,0x9b5e,0x9b61,0x9b61,0x9b63,0x9b63,0x9b65,0x9b66,0x9b68,0x9b68,0x9b6a,0x9b6f,0x9b72,0x9b79,0x9b7f,0x9b80,0x9b83,0x9b87,0x9b89,0x9b8b,0x9b8d,0x9b94,0x9b96,0x9b97,0x9b9a,0x9b9a,0x9b9d,0x9ba0,0x9ba6,0x9bae,0x9bb0,0x9bb2,0x9bb4,0x9bb4,0x9bb7,0x9bb9,0x9bbb,0x9bbc,0x9bbe,0x9bc1,0x9bc6,0x9bca,0x9bce,0x9bd2,0x9bd4,0x9bd4,0x9bd6,0x9bd8,0x9bdb,0x9bdb,0x9bdd,0x9bdd,0x9bdf,0x9bdf,0x9be1,0x9be5,0x9be7,0x9be8,0x9bea,0x9beb,0x9bee,0x9bf3,0x9bf5,0x9bf5,0x9bf7,0x9bfa,0x9bfd,0x9bfd,0x9bff,0x9c00,0x9c02,0x9c02,0x9c04,0x9c04,0x9c06,0x9c06,0x9c08,0x9c0d,0x9c0f,0x9c16,0x9c18,0x9c1e,0x9c21,0x9c2a,0x9c2d,0x9c32,0x9c35,0x9c37,0x9c39,0x9c3b,0x9c3d,0x9c3e,0x9c41,0x9c41,0x9c43,0x9c4a,0x9c4e,0x9c50,0x9c52,0x9c54,0x9c56,0x9c58,0x9c5a,0x9c61,0x9c63,0x9c63,0x9c65,0x9c65,0x9c67,0x9c6b,0x9c6d,0x9c6e,0x9c70,0x9c70,0x9c72,0x9c72,0x9c75,0x9c78,0x9c7a,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9ce9,0x9ceb,0x9cec,0x9cf0,0x9cf0,0x9cf2,0x9cf4,0x9cf6,0x9cf7,0x9cf9,0x9cf9,0x9d02,0x9d03,0x9d06,0x9d09,0x9d0b,0x9d0b,0x9d0e,0x9d0e,0x9d11,0x9d12,0x9d15,0x9d15,0x9d17,0x9d18,0x9d1b,0x9d1f,0x9d23,0x9d23,0x9d26,0x9d26,0x9d28,0x9d28,0x9d2a,0x9d2c,0x9d2f,0x9d30,0x9d32,0x9d34,0x9d3a,0x9d3f,0x9d41,0x9d48,0x9d4a,0x9d4a,0x9d50,0x9d54,0x9d59,0x9d59,0x9d5c,0x9d65,0x9d69,0x9d6c,0x9d6f,0x9d70,0x9d72,0x9d73,0x9d76,0x9d77,0x9d7a,0x9d7c,0x9d7e,0x9d7e,0x9d83,0x9d84,0x9d86,0x9d87,0x9d89,0x9d8a,0x9d8d,0x9d8f,0x9d92,0x9d93,0x9d95,0x9d9a,0x9da1,0x9da1,0x9da4,0x9da4,0x9da9,0x9dac,0x9dae,0x9daf,0x9db1,0x9db2,0x9db4,0x9db5,0x9db8,0x9dbd,0x9dbf,0x9dc4,0x9dc6,0x9dc7,0x9dc9,0x9dca,0x9dcf,0x9dcf,0x9dd3,0x9dd7,0x9dd9,0x9dda,0x9dde,0x9de0,0x9de3,0x9de3,0x9de5,0x9de7,0x9de9,0x9de9,0x9deb,0x9deb,0x9ded,0x9df0,0x9df2,0x9df4,0x9df8,0x9dfa,0x9dfd,0x9dfe,0x9e02,0x9e02,0x9e07,0x9e07,0x9e0a,0x9e0a,0x9e0d,0x9e0e,0x9e10,0x9e12,0x9e15,0x9e16,0x9e19,0x9e1f,0x9e75,0x9e75,0x9e78,0x9e7d,0x9e7f,0x9e85,0x9e87,0x9e88,0x9e8b,0x9e8c,0x9e8e,0x9e8f,0x9e91,0x9e93,0x9e95,0x9e98,0x9e9b,0x9e9b,0x9e9d,0x9e9f,0x9ea4,0x9ea6,0x9ea8,0x9eaa,0x9eac,0x9eb0,0x9eb3,0x9eb5,0x9eb8,0x9ebf,0x9ec3,0x9ec4,0x9ec6,0x9ec6,0x9ec8,0x9ec8,0x9ecb,0x9ed2,0x9ed4,0x9ed5,0x9ed8,0x9ed9,0x9edb,0x9ee0,0x9ee4,0x9ee5,0x9ee7,0x9ee8,0x9eec,0x9ef2,0x9ef4,0x9ef9,0x9efb,0x9eff,0x9f02,0x9f03,0x9f07,0x9f09,0x9f0e,0x9f17,0x9f19,0x9f1b,0x9f1f,0x9f22,0x9f26,0x9f26,0x9f2a,0x9f2c,0x9f2f,0x9f2f,0x9f31,0x9f32,0x9f34,0x9f34,0x9f37,0x9f37,0x9f39,0x9f3f,0x9f41,0x9f41,0x9f43,0x9f47,0x9f4a,0x9f4b,0x9f4e,0x9f50,0x9f52,0x9f58,0x9f5a,0x9f5a,0x9f5d,0x9f63,0x9f66,0x9f6a,0x9f6c,0x9f73,0x9f75,0x9f77,0x9f7a,0x9f7a,0x9f7d,0x9f7d,0x9f7f,0x9f7f,0x9f8d,0x9f8d,0x9f8f,0x9f92,0x9f94,0x9f97,0x9f99,0x9f99,0x9f9c,0x9fa3,0x9fa5,0x9fa5,0x9fb4,0x9fb4,0x9fbc,0x9fc2,0x9fc4,0x9fc4,0x9fc6,0x9fc6,0x9fcc,0x9fcc,0xf900,0xf959,0xf95b,0xf9f2,0xf9f4,0xfa0b,0xfa0e,0xfa6d,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x2000b,0x2000b,0x20089,0x2008a,0x200a2,0x200a2,0x200a4,0x200a4,0x200b0,0x200b0,0x200f5,0x200f5,0x20158,0x20158,0x201a2,0x201a2,0x20213,0x20213,0x2032b,0x2032b,0x20371,0x20371,0x20381,0x20381,0x203f9,0x203f9,0x2044a,0x2044a,0x20509,0x20509,0x2053f,0x2053f,0x205b1,0x205b1,0x205d6,0x205d6,0x20611,0x20611,0x20628,0x20628,0x206ec,0x206ec,0x2074f,0x2074f,0x207c8,0x207c8,0x20807,0x20807,0x2083a,0x2083a,0x208b9,0x208b9,0x2090e,0x2090e,0x2097c,0x2097c,0x20984,0x20984,0x2099d,0x2099d,0x20a64,0x20a64,0x20ad3,0x20ad3,0x20b1d,0x20b1d,0x20b9f,0x20b9f,0x20bb7,0x20bb7,0x20d45,0x20d45,0x20d58,0x20d58,0x20de1,0x20de1,0x20e64,0x20e64,0x20e6d,0x20e6d,0x20e95,0x20e95,0x20f5f,0x20f5f,0x21201,0x21201,0x2123d,0x2123d,0x21255,0x21255,0x21274,0x21274,0x2127b,0x2127b,0x212d7,0x212d7,0x212e4,0x212e4,0x212fd,0x212fd,0x2131b,0x2131b,0x21336,0x21336,0x21344,0x21344,0x213c4,0x213c4,0x2146d,0x2146e,0x215d7,0x215d7,0x21647,0x21647,0x216b4,0x216b4,0x21706,0x21706,0x21742,0x21742,0x218bd,0x218bd,0x219c3,0x219c3,0x21a1a,0x21a1a,0x21c56,0x21c56,0x21d2d,0x21d2d,0x21d45,0x21d45,0x21d62,0x21d62,0x21d78,0x21d78,0x21d92,0x21d92,0x21d9c,0x21d9c,0x21da1,0x21da1,0x21db7,0x21db7,0x21de0,0x21de0,0x21e33,0x21e34,0x21f1e,0x21f1e,0x21f76,0x21f76,0x21ffa,0x21ffa,0x2217b,0x2217b,0x22218,0x22218,0x2231e,0x2231e,0x223ad,0x223ad,0x22609,0x22609,0x226f3,0x226f3,0x2285b,0x2285b,0x228ab,0x228ab,0x2298f,0x2298f,0x22ab8,0x22ab8,0x22b46,0x22b46,0x22b4f,0x22b50,0x22ba6,0x22ba6,0x22c1d,0x22c1d,0x22c24,0x22c24,0x22de1,0x22de1,0x22e42,0x22e42,0x22feb,0x22feb,0x231b6,0x231b6,0x231c3,0x231c4,0x231f5,0x231f5,0x23372,0x23372,0x233cc,0x233cc,0x233d0,0x233d0,0x233d2,0x233d3,0x233d5,0x233d5,0x233da,0x233da,0x233df,0x233df,0x233e4,0x233e4,0x233fe,0x233fe,0x2344a,0x2344b,0x23451,0x23451,0x23465,0x23465,0x234e4,0x234e4,0x2355a,0x2355a,0x23594,0x23594,0x235c4,0x235c4,0x23638,0x2363a,0x23647,0x23647,0x2370c,0x2370c,0x2371c,0x2371c,0x2373f,0x2373f,0x23763,0x23764,0x237e7,0x237e7,0x237f1,0x237f1,0x237ff,0x237ff,0x23824,0x23824,0x2383d,0x2383d,0x23a98,0x23a98,0x23c7f,0x23c7f,0x23cbe,0x23cbe,0x23cfe,0x23cfe,0x23d00,0x23d00,0x23d0e,0x23d0e,0x23d40,0x23d40,0x23dd3,0x23dd3,0x23df9,0x23dfa,0x23f7e,0x23f7e,0x2404b,0x2404b,0x24096,0x24096,0x24103,0x24103,0x241c6,0x241c6,0x241fe,0x241fe,0x242ee,0x242ee,0x243bc,0x243bc,0x243d0,0x243d0,0x24629,0x24629,0x246a5,0x246a5,0x247f1,0x247f1,0x24896,0x24896,0x248e9,0x248e9,0x24a4d,0x24a4d,0x24b56,0x24b56,0x24b6f,0x24b6f,0x24c16,0x24c16,0x24d14,0x24d14,0x24e04,0x24e04,0x24e0e,0x24e0e,0x24e37,0x24e37,0x24e6a,0x24e6a,0x24e8b,0x24e8b,0x24ff2,0x24ff2,0x2504a,0x2504a,0x25055,0x25055,0x25122,0x25122,0x251a9,0x251a9,0x251cd,0x251cd,0x251e5,0x251e5,0x2521e,0x2521e,0x2524c,0x2524c,0x2542e,0x2542e,0x2548e,0x2548e,0x254d9,0x254d9,0x2550e,0x2550e,0x255a7,0x255a7,0x2567f,0x2567f,0x25771,0x25771,0x257a9,0x257a9,0x257b4,0x257b4,0x25874,0x25874,0x259c4,0x259c4,0x259cc,0x259cc,0x259d4,0x259d4,0x25ad7,0x25ad7,0x25ae3,0x25ae4,0x25af1,0x25af1,0x25bb2,0x25bb2,0x25c4b,0x25c4b,0x25c64,0x25c64,0x25da1,0x25da1,0x25e2e,0x25e2e,0x25e56,0x25e56,0x25e62,0x25e62,0x25e65,0x25e65,0x25ec2,0x25ec2,0x25ed8,0x25ed8,0x25ee8,0x25ee8,0x25f23,0x25f23,0x25f5c,0x25f5c,0x25fd4,0x25fd4,0x25fe0,0x25fe0,0x25ffb,0x25ffb,0x2600c,0x2600c,0x26017,0x26017,0x26060,0x26060,0x260ed,0x260ed,0x26222,0x26222,0x2626a,0x2626a,0x26270,0x26270,0x26286,0x26286,0x2634c,0x2634c,0x26402,0x26402,0x2667e,0x2667e,0x266b0,0x266b0,0x2671d,0x2671d,0x268dd,0x268dd,0x268ea,0x268ea,0x26951,0x26951,0x2696f,0x2696f,0x26999,0x26999,0x269dd,0x269dd,0x26a1e,0x26a1e,0x26a58,0x26a58,0x26a8c,0x26a8c,0x26ab7,0x26ab7,0x26aff,0x26aff,0x26c29,0x26c29,0x26c73,0x26c73,0x26c9e,0x26c9e,0x26cdd,0x26cdd,0x26e40,0x26e40,0x26e65,0x26e65,0x26f94,0x26f94,0x26ff6,0x26ff8,0x270f4,0x270f4,0x2710d,0x2710d,0x27139,0x27139,0x273da,0x273db,0x273fe,0x273fe,0x27410,0x27410,0x27449,0x27449,0x27614,0x27615,0x27631,0x27631,0x27684,0x27684,0x27693,0x27693,0x2770e,0x2770e,0x27723,0x27723,0x27752,0x27752,0x278b2,0x278b2,0x27985,0x27985,0x279b4,0x279b4,0x27a84,0x27a84,0x27bb3,0x27bb3,0x27bbe,0x27bbe,0x27bc7,0x27bc7,0x27c3c,0x27c3c,0x27cb8,0x27cb8,0x27d73,0x27d73,0x27da0,0x27da0,0x27e10,0x27e10,0x27eaf,0x27eaf,0x27fb7,0x27fb7,0x2808a,0x2808a,0x280bb,0x280bb,0x28277,0x28277,0x28282,0x28282,0x282f3,0x282f3,0x283cd,0x283cd,0x2840c,0x2840c,0x28455,0x28455,0x284dc,0x284dc,0x2856b,0x2856b,0x285c8,0x285c9,0x286d7,0x286d7,0x286fa,0x286fa,0x28946,0x28946,0x28949,0x28949,0x2896b,0x2896b,0x28987,0x28988,0x289ba,0x289bb,0x28a1e,0x28a1e,0x28a29,0x28a29,0x28a43,0x28a43,0x28a71,0x28a71,0x28a99,0x28a99,0x28acd,0x28acd,0x28add,0x28add,0x28ae4,0x28ae4,0x28bc1,0x28bc1,0x28bef,0x28bef,0x28cdd,0x28cdd,0x28d10,0x28d10,0x28d71,0x28d71,0x28dfb,0x28dfb,0x28e0f,0x28e0f,0x28e17,0x28e17,0x28e1f,0x28e1f,0x28e36,0x28e36,0x28e89,0x28e89,0x28eeb,0x28eeb,0x28ef6,0x28ef6,0x28f32,0x28f32,0x28ff8,0x28ff8,0x292a0,0x292a0,0x292b1,0x292b1,0x29490,0x29490,0x295cf,0x295cf,0x2967f,0x2967f,0x296f0,0x296f0,0x29719,0x29719,0x29750,0x29750,0x29810,0x29810,0x298c6,0x298c6,0x29a72,0x29a72,0x29d4b,0x29d4b,0x29ddb,0x29ddb,0x29e15,0x29e15,0x29e3d,0x29e3d,0x29e49,0x29e49,0x29e8a,0x29e8a,0x29ec4,0x29ec4,0x29edb,0x29edb,0x29ee9,0x29ee9,0x29fce,0x29fce,0x29fd7,0x29fd7,0x2a01a,0x2a01a,0x2a02f,0x2a02f,0x2a082,0x2a082,0x2a0f9,0x2a0f9,0x2a190,0x2a190,0x2a2b2,0x2a2b2,0x2a38c,0x2a38c,0x2a437,0x2a437,0x2a5f1,0x2a5f1,0x2a602,0x2a602,0x2a61a,0x2a61a,0x2a6b2,0x2a6b2,0x2a9e6,0x2a9e6,0x2b746,0x2b746,0x2b751,0x2b751,0x2b753,0x2b753,0x2b75a,0x2b75a,0x2b75c,0x2b75c,0x2b765,0x2b765,0x2b776,0x2b777,0x2b77c,0x2b77c,0x2b782,0x2b782,0x2b789,0x2b789,0x2b78b,0x2b78b,0x2b78e,0x2b78e,0x2b794,0x2b794,0x2b7ac,0x2b7ac,0x2b7af,0x2b7af,0x2b7bd,0x2b7bd,0x2b7c9,0x2b7c9,0x2b7cf,0x2b7cf,0x2b7d2,0x2b7d2,0x2b7d8,0x2b7d8,0x2b7f0,0x2b7f0,0x2b80d,0x2b80d,0x2b817,0x2b817,0x2b81a,0x2b81a,0x2d544,0x2d544,0x2e278,0x2e278,0x2e569,0x2e569,0x2e6ea,0x2e6ea,0x2f804,0x2f804,0x2f80f,0x2f80f,0x2f815,0x2f815,0x2f818,0x2f818,0x2f81a,0x2f81a,0x2f822,0x2f822,0x2f828,0x2f828,0x2f82c,0x2f82c,0x2f833,0x2f833,0x2f83f,0x2f83f,0x2f846,0x2f846,0x2f852,0x2f852,0x2f862,0x2f862,0x2f86d,0x2f86d,0x2f873,0x2f873,0x2f877,0x2f877,0x2f884,0x2f884,0x2f899,0x2f89a,0x2f8a6,0x2f8a6,0x2f8ac,0x2f8ac,0x2f8b2,0x2f8b2,0x2f8b6,0x2f8b6,0x2f8d3,0x2f8d3,0x2f8db,0x2f8dc,0x2f8e1,0x2f8e1,0x2f8e5,0x2f8e5,0x2f8ea,0x2f8ea,0x2f8ed,0x2f8ed,0x2f8fc,0x2f8fc,0x2f903,0x2f903,0x2f90b,0x2f90b,0x2f90f,0x2f90f,0x2f91a,0x2f91a,0x2f920,0x2f921,0x2f945,0x2f945,0x2f947,0x2f947,0x2f96c,0x2f96c,0x2f995,0x2f995,0x2f9d0,0x2f9d0,0x2f9de,0x2f9df,0x2f9f4,0x2f9f4,0x30ede,0x30ede,0x3106c,0x3106c,]), - NotoFont.fromFlatList('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa980,0xa9cd,0xa9cf,0xa9d9,0xa9de,0xa9df,]), - NotoFont.fromFlatList('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1100,0x11ff,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x349a,0x349a,0x34d7,0x34d7,0x3515,0x3515,0x3521,0x3521,0x353e,0x353e,0x35ff,0x35ff,0x366f,0x366f,0x36c3,0x36c5,0x36e6,0x36e6,0x3723,0x3723,0x372f,0x372f,0x373a,0x373a,0x37bc,0x37bc,0x380c,0x380c,0x3818,0x3818,0x3883,0x3883,0x38ba,0x38ba,0x38e7,0x38e7,0x38fd,0x38fd,0x3960,0x3960,0x3965,0x3965,0x3983,0x3983,0x3990,0x3990,0x39a5,0x39a5,0x39b6,0x39b6,0x3a39,0x3a39,0x3aa4,0x3aa4,0x3adc,0x3adc,0x3af6,0x3af6,0x3b03,0x3b03,0x3b23,0x3b23,0x3b79,0x3b79,0x3bf3,0x3bf3,0x3c14,0x3c14,0x3c24,0x3c24,0x3c2d,0x3c2d,0x3cbd,0x3cbe,0x3cfc,0x3cfc,0x3d17,0x3d17,0x3d5f,0x3d5f,0x3dbc,0x3dbc,0x3dc2,0x3dc2,0x3ec4,0x3ec4,0x3eed,0x3eed,0x3efd,0x3efd,0x3f04,0x3f04,0x402f,0x402f,0x4034,0x4034,0x4062,0x4062,0x40a9,0x40a9,0x40c9,0x40c9,0x4137,0x4137,0x41ac,0x41ac,0x4259,0x4259,0x43bb,0x43bb,0x43c7,0x43c7,0x43e7,0x43e7,0x43ea,0x43ea,0x4450,0x4450,0x4512,0x4512,0x45f2,0x45f2,0x4618,0x4618,0x46b7,0x46b7,0x46be,0x46be,0x46d4,0x46d4,0x46d8,0x46d8,0x46dd,0x46dd,0x472d,0x472d,0x476c,0x476c,0x477d,0x477d,0x479f,0x479f,0x4863,0x4863,0x4883,0x4883,0x4896,0x4896,0x48a6,0x48a6,0x4925,0x4925,0x499e,0x499e,0x49a5,0x49a5,0x49cb,0x49cb,0x4a12,0x4a12,0x4a2d,0x4a2d,0x4ab8,0x4ab8,0x4adf,0x4adf,0x4ae8,0x4ae8,0x4afb,0x4afb,0x4b53,0x4b53,0x4b71,0x4b71,0x4cdf,0x4ce0,0x4d1b,0x4d1b,0x4e00,0x4e01,0x4e03,0x4e03,0x4e07,0x4e0b,0x4e0d,0x4e0e,0x4e11,0x4e11,0x4e14,0x4e16,0x4e18,0x4e19,0x4e1e,0x4e1f,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2b,0x4e2d,0x4e30,0x4e32,0x4e36,0x4e36,0x4e38,0x4e39,0x4e3b,0x4e3b,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e56,0x4e5b,0x4e5d,0x4e5f,0x4e67,0x4e67,0x4e6b,0x4e6d,0x4e71,0x4e71,0x4e73,0x4e73,0x4e76,0x4e77,0x4e7a,0x4e7c,0x4e7e,0x4e7e,0x4e80,0x4e80,0x4e82,0x4e82,0x4e85,0x4e86,0x4e88,0x4e89,0x4e8b,0x4e8c,0x4e8e,0x4e92,0x4e94,0x4e95,0x4e98,0x4e99,0x4e9b,0x4e9c,0x4e9e,0x4ea2,0x4ea4,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb0,0x4eb0,0x4eb3,0x4eb4,0x4eb6,0x4eb6,0x4eb9,0x4ebb,0x4ec0,0x4ec1,0x4ec4,0x4ec4,0x4ec6,0x4ec7,0x4eca,0x4ecb,0x4ecd,0x4ecd,0x4ed4,0x4ed9,0x4edd,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4eee,0x4eee,0x4ef0,0x4ef0,0x4ef2,0x4ef3,0x4ef5,0x4ef7,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f01,0x4f09,0x4f0b,0x4f0d,0x4f11,0x4f1a,0x4f1a,0x4f1d,0x4f1d,0x4f2f,0x4f30,0x4f34,0x4f34,0x4f36,0x4f36,0x4f38,0x4f38,0x4f3a,0x4f3a,0x4f3c,0x4f3e,0x4f42,0x4f43,0x4f46,0x4f49,0x4f4b,0x4f4b,0x4f4d,0x4f51,0x4f53,0x4f57,0x4f59,0x4f5f,0x4f69,0x4f6a,0x4f6f,0x4f70,0x4f73,0x4f74,0x4f76,0x4f76,0x4f78,0x4f81,0x4f83,0x4f84,0x4f86,0x4f86,0x4f88,0x4f8b,0x4f8d,0x4f92,0x4f94,0x4f94,0x4f96,0x4f98,0x4f9a,0x4f9d,0x4fae,0x4faf,0x4fb2,0x4fb2,0x4fb5,0x4fb6,0x4fb9,0x4fb9,0x4fbb,0x4fbb,0x4fbf,0x4fbf,0x4fc1,0x4fc5,0x4fc9,0x4fca,0x4fcc,0x4fd4,0x4fd7,0x4fdb,0x4fdd,0x4fe1,0x4fe3,0x4fe3,0x4fee,0x4ff1,0x4ff3,0x4ff6,0x4ff8,0x4ff8,0x4ffa,0x4ffa,0x4ffe,0x4ffe,0x5000,0x5000,0x5002,0x5002,0x5005,0x5007,0x5009,0x5009,0x500b,0x500b,0x500d,0x500d,0x500f,0x500f,0x5011,0x5014,0x5016,0x5016,0x5018,0x501a,0x501c,0x501c,0x501e,0x501f,0x5021,0x502e,0x5030,0x5030,0x503b,0x503b,0x5043,0x5044,0x5047,0x504a,0x504e,0x504f,0x5053,0x5053,0x5055,0x5056,0x5058,0x505a,0x505c,0x505c,0x5060,0x5060,0x5062,0x5062,0x5065,0x5066,0x506a,0x506a,0x5070,0x5070,0x5072,0x5072,0x5074,0x5076,0x5078,0x5078,0x5080,0x5080,0x5083,0x5083,0x5085,0x5085,0x508b,0x508b,0x508d,0x508d,0x5091,0x5092,0x5094,0x5094,0x5096,0x5096,0x5098,0x509b,0x509d,0x509e,0x50a2,0x50a2,0x50ac,0x50ae,0x50b2,0x50b5,0x50b7,0x50b7,0x50bd,0x50bf,0x50c2,0x50c2,0x50c4,0x50c5,0x50c9,0x50ca,0x50cf,0x50cf,0x50d1,0x50d1,0x50d4,0x50d6,0x50da,0x50db,0x50de,0x50de,0x50e2,0x50e2,0x50e5,0x50e7,0x50e9,0x50e9,0x50ec,0x50ee,0x50f5,0x50f5,0x50f9,0x50f9,0x50fb,0x50fb,0x50fe,0x5104,0x5106,0x5107,0x5109,0x5109,0x510b,0x510c,0x5110,0x5110,0x5112,0x5115,0x5117,0x5118,0x511a,0x511c,0x511f,0x511f,0x5121,0x5122,0x5124,0x5125,0x5127,0x5127,0x512a,0x512b,0x5131,0x5133,0x5135,0x5135,0x5137,0x513c,0x513f,0x5141,0x5143,0x5149,0x514b,0x514e,0x5150,0x5150,0x5152,0x5152,0x5154,0x5157,0x515a,0x515a,0x515c,0x515c,0x5162,0x5162,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5175,0x5178,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x5186,0x5189,0x518a,0x518c,0x518d,0x518f,0x518f,0x5191,0x5193,0x5195,0x5199,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a5,0x51aa,0x51ac,0x51b0,0x51b2,0x51b6,0x51b7,0x51bd,0x51be,0x51c4,0x51c6,0x51c9,0x51cd,0x51d2,0x51d2,0x51d4,0x51d4,0x51d6,0x51d6,0x51db,0x51de,0x51e0,0x51e1,0x51e9,0x51e9,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fd,0x51fd,0x5200,0x5203,0x5206,0x5208,0x520a,0x520a,0x520e,0x520e,0x5211,0x5211,0x5213,0x5213,0x5216,0x5217,0x521d,0x521d,0x5224,0x5227,0x5229,0x522a,0x522e,0x522e,0x5230,0x5233,0x5236,0x523b,0x5243,0x5244,0x5246,0x5247,0x5249,0x524d,0x5254,0x5257,0x525a,0x525b,0x525d,0x525f,0x5261,0x5261,0x5269,0x526a,0x526f,0x526f,0x5272,0x5272,0x5274,0x5275,0x5277,0x5277,0x527a,0x527a,0x527d,0x527d,0x527f,0x527f,0x5282,0x5283,0x5287,0x5289,0x528d,0x528d,0x5291,0x5293,0x5297,0x5298,0x529b,0x529b,0x529f,0x52a0,0x52a3,0x52a4,0x52a7,0x52a7,0x52a9,0x52ae,0x52b9,0x52b9,0x52be,0x52be,0x52c1,0x52c1,0x52c3,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d2,0x52d2,0x52d5,0x52d6,0x52d8,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52ed,0x52ed,0x52f2,0x52f3,0x52f5,0x52f5,0x52f8,0x52fb,0x52fe,0x5303,0x5305,0x5305,0x5308,0x5308,0x530a,0x530a,0x530c,0x530d,0x530f,0x5310,0x5315,0x5317,0x5319,0x531a,0x5320,0x5321,0x5323,0x5323,0x5327,0x5327,0x532a,0x532a,0x532f,0x532f,0x5331,0x5331,0x5336,0x5336,0x5338,0x533b,0x533d,0x5341,0x5343,0x5345,0x5347,0x534a,0x534d,0x534d,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x535c,0x535e,0x535e,0x5360,0x5361,0x5364,0x5364,0x5366,0x5366,0x5368,0x5369,0x536c,0x536c,0x536e,0x5375,0x5377,0x537b,0x537d,0x537f,0x5382,0x5382,0x5384,0x5384,0x538e,0x538e,0x5393,0x5393,0x5396,0x5396,0x5398,0x5398,0x539a,0x539a,0x539d,0x539d,0x539f,0x53a0,0x53a5,0x53a6,0x53aa,0x53aa,0x53ad,0x53ae,0x53b2,0x53b3,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c2,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d4,0x53d4,0x53d6,0x53d7,0x53d9,0x53d9,0x53db,0x53db,0x53df,0x53df,0x53e1,0x53e6,0x53e8,0x53f8,0x5401,0x5401,0x5403,0x5404,0x5408,0x5411,0x541b,0x541b,0x541d,0x541d,0x541f,0x5420,0x5426,0x5426,0x5429,0x5429,0x542b,0x542c,0x542e,0x542e,0x5431,0x5431,0x5433,0x5433,0x5436,0x5436,0x5438,0x5439,0x543b,0x543e,0x5440,0x5440,0x5442,0x5442,0x5446,0x5446,0x5448,0x5448,0x544a,0x544a,0x544e,0x544e,0x5451,0x5451,0x545d,0x545d,0x545f,0x545f,0x5462,0x5462,0x5464,0x5464,0x5466,0x5466,0x5468,0x5468,0x546a,0x546b,0x5470,0x5471,0x5473,0x5473,0x5475,0x5476,0x547b,0x547d,0x547f,0x5480,0x5484,0x5484,0x5486,0x5487,0x548b,0x5490,0x5496,0x5496,0x54a0,0x54a0,0x54a2,0x54a2,0x54a4,0x54a5,0x54a8,0x54a8,0x54ab,0x54ac,0x54af,0x54af,0x54b2,0x54b3,0x54b8,0x54b8,0x54bb,0x54bd,0x54bf,0x54c4,0x54c6,0x54c9,0x54e1,0x54e1,0x54e5,0x54e6,0x54e8,0x54e9,0x54ed,0x54ee,0x54f1,0x54f2,0x54fa,0x54fa,0x54fd,0x54fd,0x54ff,0x54ff,0x5504,0x5504,0x5506,0x5507,0x5509,0x5509,0x550e,0x5510,0x5514,0x5514,0x551c,0x551c,0x552b,0x552b,0x552e,0x552f,0x5531,0x5531,0x5533,0x5533,0x5535,0x5535,0x5539,0x5539,0x553c,0x553c,0x553e,0x553e,0x5540,0x5540,0x5542,0x5542,0x5544,0x5544,0x5546,0x5546,0x554a,0x554a,0x554f,0x554f,0x5553,0x5553,0x5556,0x5557,0x555c,0x555c,0x555e,0x555e,0x5563,0x5563,0x557b,0x5581,0x5583,0x5584,0x5586,0x5587,0x5589,0x558b,0x5591,0x5591,0x5593,0x5594,0x5598,0x559a,0x559c,0x559f,0x55a3,0x55a4,0x55a7,0x55ac,0x55ae,0x55ae,0x55b0,0x55b0,0x55c3,0x55c3,0x55c5,0x55c5,0x55c7,0x55c7,0x55c9,0x55c9,0x55d1,0x55d1,0x55d4,0x55d4,0x55da,0x55dc,0x55df,0x55e0,0x55e2,0x55e4,0x55f7,0x55f7,0x55fd,0x55ff,0x5604,0x5604,0x5606,0x5606,0x5608,0x5609,0x560c,0x5610,0x5612,0x5612,0x5614,0x5614,0x5616,0x5617,0x5629,0x5629,0x562c,0x562c,0x562f,0x562f,0x5632,0x5632,0x5634,0x5634,0x5636,0x5639,0x563b,0x563b,0x563f,0x563f,0x5641,0x5642,0x5649,0x5649,0x564b,0x564b,0x564d,0x564f,0x5653,0x5653,0x5664,0x5665,0x5668,0x566d,0x566f,0x566f,0x5672,0x5672,0x5674,0x5674,0x5676,0x5676,0x5678,0x5678,0x567a,0x567a,0x5680,0x5680,0x5684,0x5684,0x5686,0x5687,0x568f,0x568f,0x5699,0x569a,0x56a5,0x56a5,0x56a7,0x56a7,0x56ac,0x56ac,0x56ae,0x56ae,0x56b3,0x56b4,0x56b6,0x56b6,0x56bc,0x56bc,0x56c0,0x56c3,0x56c8,0x56ca,0x56cd,0x56cd,0x56d1,0x56d1,0x56d7,0x56d7,0x56da,0x56db,0x56de,0x56e0,0x56e3,0x56e3,0x56e6,0x56e7,0x56eb,0x56eb,0x56ed,0x56ee,0x56f0,0x56f0,0x56f3,0x56f3,0x56f7,0x56f7,0x56f9,0x56fa,0x56fd,0x56fd,0x56ff,0x56ff,0x5701,0x5704,0x5707,0x570b,0x570d,0x570d,0x5712,0x5713,0x5716,0x5716,0x5718,0x5718,0x571c,0x571c,0x571f,0x571f,0x5725,0x5725,0x5728,0x572a,0x572c,0x572e,0x5730,0x5730,0x573b,0x573b,0x573e,0x573e,0x5740,0x5742,0x5747,0x5747,0x574a,0x574a,0x574c,0x5751,0x5761,0x5761,0x5764,0x5764,0x5766,0x576a,0x576e,0x5771,0x5773,0x5773,0x5775,0x5775,0x5777,0x5778,0x577b,0x577c,0x5782,0x5782,0x5788,0x5788,0x578b,0x578c,0x5793,0x5793,0x5795,0x5795,0x579e,0x579e,0x57a0,0x57a0,0x57a2,0x57a4,0x57b8,0x57b8,0x57bd,0x57bd,0x57c3,0x57c3,0x57c6,0x57c9,0x57cb,0x57cb,0x57ce,0x57cf,0x57d1,0x57d2,0x57dc,0x57dc,0x57df,0x57e0,0x57e4,0x57e4,0x57e9,0x57e9,0x57ed,0x57ee,0x57f0,0x57f0,0x57f3,0x57f4,0x57f6,0x57f7,0x57f9,0x57fd,0x5800,0x5800,0x5802,0x5806,0x5808,0x580b,0x5817,0x5817,0x5819,0x5819,0x581d,0x581e,0x5820,0x5821,0x5823,0x5824,0x5826,0x5827,0x582a,0x582a,0x582d,0x582d,0x582f,0x5831,0x5834,0x5835,0x583a,0x583a,0x5840,0x5840,0x5849,0x584d,0x584f,0x5852,0x5854,0x5854,0x5857,0x585a,0x585e,0x585e,0x5861,0x5862,0x5864,0x5864,0x5869,0x5869,0x5875,0x5875,0x5879,0x5879,0x587c,0x587e,0x5880,0x5881,0x5883,0x5883,0x5885,0x5885,0x5889,0x588a,0x588c,0x588d,0x5890,0x5890,0x5893,0x5893,0x589c,0x589f,0x58a1,0x58a1,0x58a3,0x58a3,0x58a8,0x58a9,0x58ab,0x58ab,0x58ae,0x58ae,0x58b0,0x58b1,0x58b3,0x58b3,0x58ba,0x58bb,0x58be,0x58be,0x58c1,0x58c1,0x58c3,0x58c3,0x58c5,0x58c5,0x58c7,0x58c7,0x58ce,0x58ce,0x58d1,0x58d1,0x58d3,0x58d5,0x58d8,0x58da,0x58dc,0x58df,0x58e1,0x58e1,0x58e4,0x58e4,0x58eb,0x58ec,0x58ee,0x58f0,0x58f2,0x58f2,0x58f9,0x58fb,0x58fd,0x58fd,0x5902,0x5902,0x5906,0x5906,0x5908,0x5908,0x590a,0x590a,0x590f,0x5910,0x5914,0x5916,0x5919,0x591c,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5937,0x5938,0x593d,0x593e,0x5944,0x5944,0x5947,0x5949,0x594c,0x594c,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5960,0x5962,0x5962,0x5967,0x5967,0x5969,0x596e,0x5972,0x5974,0x5976,0x5976,0x5978,0x5978,0x597d,0x597d,0x5982,0x5984,0x598a,0x598a,0x598c,0x598d,0x5991,0x5993,0x5996,0x5997,0x5999,0x5999,0x599d,0x599d,0x59a3,0x59a5,0x59a7,0x59a8,0x59ac,0x59ac,0x59af,0x59af,0x59b2,0x59b2,0x59b5,0x59b6,0x59b8,0x59b9,0x59bb,0x59bb,0x59be,0x59bf,0x59c1,0x59c1,0x59c3,0x59c3,0x59c6,0x59c6,0x59c8,0x59cb,0x59cd,0x59cd,0x59d0,0x59d4,0x59d9,0x59da,0x59dc,0x59de,0x59e2,0x59e6,0x59e8,0x59e8,0x59ea,0x59ec,0x59ee,0x59ee,0x59f0,0x59f0,0x59f2,0x59f2,0x59f7,0x59fc,0x59ff,0x59ff,0x5a01,0x5a01,0x5a03,0x5a03,0x5a09,0x5a0a,0x5a0d,0x5a0d,0x5a11,0x5a11,0x5a13,0x5a13,0x5a18,0x5a19,0x5a1b,0x5a1c,0x5a1f,0x5a20,0x5a23,0x5a23,0x5a25,0x5a25,0x5a27,0x5a27,0x5a29,0x5a29,0x5a2b,0x5a2b,0x5a2d,0x5a2d,0x5a35,0x5a36,0x5a3c,0x5a3c,0x5a3f,0x5a41,0x5a46,0x5a47,0x5a49,0x5a49,0x5a4b,0x5a4c,0x5a50,0x5a51,0x5a5a,0x5a5a,0x5a60,0x5a60,0x5a62,0x5a63,0x5a66,0x5a67,0x5a69,0x5a6a,0x5a6d,0x5a6d,0x5a72,0x5a72,0x5a77,0x5a77,0x5a7f,0x5a7f,0x5a84,0x5a84,0x5a8d,0x5a8d,0x5a90,0x5a90,0x5a92,0x5a93,0x5a95,0x5a95,0x5a9a,0x5a9b,0x5a9e,0x5a9f,0x5aa2,0x5aa2,0x5aa4,0x5aa4,0x5aa7,0x5aa7,0x5aaa,0x5aaa,0x5ab3,0x5ab3,0x5ab5,0x5ab5,0x5aba,0x5abf,0x5ac1,0x5ac2,0x5ac4,0x5ac4,0x5ac8,0x5ac9,0x5acb,0x5acc,0x5ad5,0x5ad7,0x5ad9,0x5adb,0x5add,0x5add,0x5ae0,0x5ae6,0x5ae9,0x5ae9,0x5aeb,0x5aeb,0x5aed,0x5aef,0x5af6,0x5af6,0x5afa,0x5afb,0x5afd,0x5afd,0x5b00,0x5b00,0x5b05,0x5b05,0x5b08,0x5b09,0x5b0b,0x5b0c,0x5b16,0x5b16,0x5b19,0x5b19,0x5b1b,0x5b1b,0x5b25,0x5b25,0x5b28,0x5b28,0x5b2a,0x5b2a,0x5b2d,0x5b2d,0x5b30,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b3e,0x5b40,0x5b43,0x5b43,0x5b45,0x5b45,0x5b4c,0x5b4c,0x5b50,0x5b51,0x5b54,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b61,0x5b61,0x5b63,0x5b66,0x5b69,0x5b69,0x5b6b,0x5b6b,0x5b70,0x5b71,0x5b75,0x5b76,0x5b78,0x5b78,0x5b7a,0x5b7a,0x5b7c,0x5b7c,0x5b7f,0x5b82,0x5b85,0x5b85,0x5b87,0x5b8c,0x5b8f,0x5b8f,0x5b93,0x5b93,0x5b95,0x5b9d,0x5b9f,0x5b9f,0x5ba2,0x5ba6,0x5bac,0x5bac,0x5bae,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb6,0x5bb8,0x5bb9,0x5bbf,0x5bc0,0x5bc2,0x5bc7,0x5bcc,0x5bcc,0x5bd0,0x5bd0,0x5bd2,0x5bd4,0x5bd6,0x5bd8,0x5bdb,0x5bdb,0x5bde,0x5bdf,0x5be1,0x5be2,0x5be4,0x5be9,0x5beb,0x5bf0,0x5bf5,0x5bf6,0x5bf8,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c04,0x5c0f,0x5c11,0x5c11,0x5c14,0x5c14,0x5c16,0x5c16,0x5c19,0x5c19,0x5c1f,0x5c20,0x5c22,0x5c24,0x5c28,0x5c28,0x5c2b,0x5c2b,0x5c31,0x5c31,0x5c38,0x5c41,0x5c45,0x5c48,0x5c4b,0x5c4b,0x5c4d,0x5c4e,0x5c50,0x5c51,0x5c55,0x5c55,0x5c5b,0x5c5b,0x5c60,0x5c60,0x5c62,0x5c62,0x5c64,0x5c65,0x5c68,0x5c68,0x5c6c,0x5c6c,0x5c6f,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c73,0x5c79,0x5c7a,0x5c88,0x5c88,0x5c8a,0x5c8a,0x5c8c,0x5c8c,0x5c8f,0x5c92,0x5c94,0x5c94,0x5c9d,0x5c9d,0x5ca1,0x5ca1,0x5ca3,0x5ca3,0x5ca5,0x5cad,0x5cb1,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb5,0x5cb7,0x5cb8,0x5cba,0x5cba,0x5cbe,0x5cbe,0x5cc0,0x5cc0,0x5ccb,0x5ccb,0x5cd2,0x5cd2,0x5cd9,0x5cd9,0x5ce0,0x5ce0,0x5ce8,0x5ce9,0x5ced,0x5ced,0x5cef,0x5cf1,0x5cf4,0x5cf4,0x5cf6,0x5cf6,0x5cfb,0x5cfb,0x5cfd,0x5cfd,0x5d06,0x5d07,0x5d0d,0x5d0e,0x5d10,0x5d11,0x5d14,0x5d19,0x5d1b,0x5d1b,0x5d1f,0x5d1f,0x5d22,0x5d22,0x5d24,0x5d24,0x5d26,0x5d27,0x5d29,0x5d29,0x5d34,0x5d34,0x5d3d,0x5d3d,0x5d41,0x5d42,0x5d44,0x5d44,0x5d4b,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d50,0x5d53,0x5d54,0x5d69,0x5d69,0x5d6c,0x5d6c,0x5d6f,0x5d6f,0x5d71,0x5d71,0x5d81,0x5d82,0x5d84,0x5d84,0x5d86,0x5d87,0x5d8b,0x5d8b,0x5d92,0x5d92,0x5d94,0x5d95,0x5d99,0x5d99,0x5d9d,0x5d9d,0x5da0,0x5da0,0x5da2,0x5da2,0x5da7,0x5da7,0x5daa,0x5dab,0x5dae,0x5dae,0x5db0,0x5db0,0x5db7,0x5db8,0x5dba,0x5dba,0x5dbc,0x5dbe,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dd1,0x5dd3,0x5dd6,0x5dd6,0x5dda,0x5ddb,0x5ddd,0x5dde,0x5de0,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df1,0x5df5,0x5df7,0x5df9,0x5dfb,0x5dfb,0x5dfd,0x5dfe,0x5e02,0x5e03,0x5e06,0x5e06,0x5e09,0x5e09,0x5e0c,0x5e0c,0x5e11,0x5e11,0x5e15,0x5e16,0x5e19,0x5e1b,0x5e1d,0x5e1d,0x5e20,0x5e20,0x5e25,0x5e25,0x5e28,0x5e28,0x5e2b,0x5e2b,0x5e2d,0x5e2d,0x5e33,0x5e33,0x5e36,0x5e38,0x5e3d,0x5e3d,0x5e3f,0x5e40,0x5e43,0x5e45,0x5e47,0x5e47,0x5e4c,0x5e4c,0x5e4e,0x5e4e,0x5e54,0x5e55,0x5e58,0x5e58,0x5e5e,0x5e5f,0x5e61,0x5e63,0x5e68,0x5e68,0x5e6a,0x5e6c,0x5e70,0x5e74,0x5e76,0x5e80,0x5e83,0x5e84,0x5e87,0x5e87,0x5e8a,0x5e8b,0x5e8f,0x5e8f,0x5e95,0x5e97,0x5e9a,0x5e9a,0x5e9c,0x5e9c,0x5ea0,0x5ea0,0x5ea5,0x5ea8,0x5eab,0x5eab,0x5ead,0x5ead,0x5eb3,0x5eb3,0x5eb5,0x5eb8,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec8,0x5ecb,0x5ecf,0x5ed1,0x5ed3,0x5ed3,0x5ed5,0x5ed6,0x5ed9,0x5edb,0x5edd,0x5ee3,0x5ee5,0x5ee5,0x5ee7,0x5ee9,0x5eec,0x5eec,0x5ef1,0x5ef1,0x5ef3,0x5ef4,0x5ef6,0x5ef7,0x5efa,0x5efb,0x5efe,0x5eff,0x5f01,0x5f01,0x5f03,0x5f04,0x5f07,0x5f08,0x5f0a,0x5f0b,0x5f0f,0x5f0f,0x5f11,0x5f15,0x5f17,0x5f18,0x5f1b,0x5f1b,0x5f1f,0x5f1f,0x5f22,0x5f22,0x5f25,0x5f27,0x5f29,0x5f29,0x5f2d,0x5f2d,0x5f31,0x5f31,0x5f34,0x5f35,0x5f37,0x5f37,0x5f3a,0x5f3a,0x5f3c,0x5f3c,0x5f3e,0x5f3e,0x5f40,0x5f40,0x5f46,0x5f46,0x5f48,0x5f48,0x5f4a,0x5f4a,0x5f4c,0x5f4c,0x5f4e,0x5f4e,0x5f50,0x5f51,0x5f53,0x5f54,0x5f56,0x5f59,0x5f5b,0x5f5b,0x5f5d,0x5f5d,0x5f61,0x5f62,0x5f64,0x5f67,0x5f69,0x5f6d,0x5f70,0x5f71,0x5f73,0x5f73,0x5f77,0x5f77,0x5f79,0x5f79,0x5f7c,0x5f7c,0x5f7f,0x5f82,0x5f85,0x5f85,0x5f87,0x5f8c,0x5f90,0x5f92,0x5f97,0x5f99,0x5f9c,0x5f9c,0x5f9e,0x5f9e,0x5fa0,0x5fa1,0x5fa3,0x5fa3,0x5fa7,0x5faa,0x5fac,0x5faf,0x5fb3,0x5fb3,0x5fb5,0x5fb5,0x5fb7,0x5fb7,0x5fb9,0x5fb9,0x5fbc,0x5fbd,0x5fc3,0x5fc5,0x5fc8,0x5fc9,0x5fcc,0x5fce,0x5fd0,0x5fd0,0x5fd2,0x5fd3,0x5fd5,0x5fd9,0x5fdc,0x5fe1,0x5fe4,0x5fe4,0x5fe8,0x5fe8,0x5feb,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff5,0x5ff5,0x5ff8,0x5ff8,0x5ffb,0x5ffd,0x5fff,0x5fff,0x600a,0x600a,0x600d,0x600d,0x600f,0x600f,0x6012,0x6012,0x6014,0x6017,0x6019,0x6019,0x601b,0x601d,0x6020,0x6021,0x6025,0x602a,0x602f,0x6030,0x6033,0x6033,0x6041,0x6043,0x6046,0x6048,0x604a,0x604b,0x604d,0x604d,0x6050,0x6050,0x6052,0x6052,0x6055,0x6055,0x6059,0x605a,0x605d,0x605d,0x605f,0x6060,0x6062,0x6065,0x6068,0x606d,0x606f,0x6070,0x6075,0x6075,0x6081,0x6081,0x6083,0x6086,0x6089,0x608d,0x608f,0x608f,0x6092,0x6092,0x6094,0x6097,0x609a,0x609b,0x609f,0x60a0,0x60a2,0x60a4,0x60a7,0x60a7,0x60aa,0x60aa,0x60b0,0x60b6,0x60b8,0x60b8,0x60bb,0x60be,0x60c4,0x60c7,0x60c9,0x60c9,0x60cb,0x60cb,0x60cf,0x60cf,0x60d1,0x60d1,0x60d3,0x60d3,0x60d5,0x60d5,0x60d7,0x60e2,0x60f0,0x60f4,0x60f6,0x60fc,0x6100,0x6101,0x6103,0x6103,0x6106,0x6106,0x6108,0x6109,0x610d,0x610f,0x6114,0x6115,0x611a,0x611c,0x611e,0x611f,0x6122,0x6122,0x6127,0x6128,0x612b,0x612d,0x6130,0x6130,0x6134,0x6134,0x6137,0x6137,0x613c,0x613c,0x613e,0x613f,0x6142,0x6142,0x6144,0x6144,0x6146,0x6148,0x614a,0x614d,0x614f,0x614f,0x6152,0x6155,0x6158,0x615a,0x615c,0x615d,0x615f,0x6164,0x6167,0x6168,0x616a,0x616b,0x616e,0x616e,0x6170,0x6171,0x6173,0x6177,0x617a,0x617a,0x617c,0x617e,0x6181,0x6183,0x618a,0x618a,0x618d,0x618e,0x6190,0x6194,0x6196,0x6196,0x6198,0x619a,0x61a4,0x61a4,0x61a7,0x61a9,0x61ab,0x61ac,0x61ae,0x61af,0x61b2,0x61b2,0x61b6,0x61b6,0x61b8,0x61b8,0x61ba,0x61be,0x61c3,0x61c3,0x61c6,0x61cc,0x61cf,0x61cf,0x61d5,0x61d5,0x61d7,0x61d7,0x61de,0x61df,0x61e3,0x61e3,0x61e6,0x61e6,0x61f2,0x61f2,0x61f6,0x61f8,0x61fa,0x61fa,0x61fc,0x6200,0x6207,0x6208,0x620a,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6218,0x6218,0x621a,0x621a,0x621e,0x621f,0x6221,0x6222,0x6226,0x6227,0x6229,0x622a,0x622d,0x622e,0x6230,0x6236,0x6239,0x6239,0x623e,0x6241,0x6243,0x6243,0x6247,0x624e,0x6251,0x6253,0x6257,0x6258,0x625b,0x625c,0x625e,0x625e,0x6263,0x6263,0x6268,0x6268,0x626e,0x626e,0x6271,0x6271,0x6273,0x6273,0x6276,0x6276,0x6279,0x627a,0x627c,0x627c,0x627e,0x6280,0x6283,0x6284,0x6286,0x6286,0x6289,0x628a,0x628f,0x628f,0x6291,0x6292,0x6294,0x6298,0x629b,0x629b,0x62a6,0x62a6,0x62a8,0x62a8,0x62ab,0x62ac,0x62ae,0x62ae,0x62b1,0x62b2,0x62b5,0x62b5,0x62b9,0x62b9,0x62bc,0x62bd,0x62c2,0x62c2,0x62c4,0x62cd,0x62cf,0x62d9,0x62db,0x62dc,0x62e1,0x62e1,0x62ec,0x62ef,0x62f1,0x62f1,0x62f3,0x62f3,0x62f5,0x62f7,0x62fd,0x62ff,0x6301,0x6302,0x6307,0x6307,0x6309,0x6309,0x630c,0x630c,0x6310,0x6312,0x6328,0x6328,0x632a,0x632b,0x632f,0x632f,0x6339,0x633b,0x633d,0x633e,0x6342,0x6344,0x6346,0x6346,0x6349,0x6349,0x634c,0x6350,0x6353,0x6353,0x6355,0x6355,0x6357,0x6357,0x635a,0x635a,0x6367,0x6369,0x636b,0x636b,0x636e,0x636e,0x6371,0x6372,0x6376,0x6377,0x637a,0x637b,0x637f,0x6380,0x6383,0x6384,0x6387,0x638a,0x638c,0x638c,0x638e,0x638f,0x6392,0x6392,0x6396,0x6396,0x6398,0x6398,0x639b,0x639c,0x639f,0x63a2,0x63a5,0x63a5,0x63a7,0x63aa,0x63ac,0x63ac,0x63be,0x63be,0x63c0,0x63c0,0x63c3,0x63c4,0x63c6,0x63c6,0x63c9,0x63c9,0x63cf,0x63d0,0x63d2,0x63d2,0x63d6,0x63d6,0x63da,0x63db,0x63df,0x63e1,0x63e3,0x63e3,0x63e9,0x63e9,0x63eb,0x63eb,0x63ed,0x63ee,0x63f2,0x63f2,0x63f4,0x63f7,0x6406,0x6406,0x6409,0x6409,0x640d,0x640d,0x640f,0x640f,0x6412,0x6412,0x6414,0x6414,0x6416,0x6418,0x641c,0x641c,0x6420,0x6420,0x6422,0x6422,0x6424,0x6425,0x6428,0x6428,0x642a,0x642d,0x642f,0x6430,0x6434,0x6434,0x6436,0x6436,0x643a,0x643a,0x643e,0x643e,0x6458,0x6458,0x645b,0x645b,0x645e,0x645e,0x6460,0x6460,0x6467,0x6467,0x6469,0x6469,0x646d,0x646d,0x646f,0x646f,0x6473,0x6473,0x6478,0x647b,0x647d,0x647d,0x6485,0x6485,0x6488,0x6488,0x6490,0x6493,0x6495,0x6495,0x6499,0x649b,0x649d,0x649f,0x64a4,0x64a5,0x64a9,0x64a9,0x64ab,0x64ab,0x64ad,0x64ae,0x64b0,0x64b0,0x64b2,0x64b2,0x64bb,0x64bc,0x64be,0x64bf,0x64c1,0x64c1,0x64c4,0x64c5,0x64c7,0x64c7,0x64c9,0x64ca,0x64cd,0x64ce,0x64d0,0x64d0,0x64d2,0x64d2,0x64d4,0x64d5,0x64d7,0x64d8,0x64da,0x64da,0x64e0,0x64e3,0x64e5,0x64e7,0x64ec,0x64ed,0x64ef,0x64ef,0x64f1,0x64f2,0x64f4,0x64f4,0x64fa,0x64fa,0x64fe,0x64fe,0x6500,0x6500,0x6502,0x6502,0x6504,0x6504,0x6507,0x6507,0x650a,0x650a,0x650f,0x650f,0x6514,0x6514,0x6518,0x6519,0x651d,0x651d,0x6522,0x6524,0x652a,0x652c,0x652f,0x652f,0x6532,0x6532,0x6534,0x6539,0x653b,0x653b,0x653d,0x653f,0x6543,0x6543,0x6545,0x6545,0x6548,0x6549,0x654d,0x654f,0x6551,0x6552,0x6554,0x6559,0x655d,0x655e,0x6562,0x6563,0x6566,0x6566,0x656c,0x656d,0x6572,0x6572,0x6574,0x6575,0x6577,0x6578,0x657e,0x657e,0x6581,0x6583,0x6585,0x6585,0x6587,0x6587,0x6589,0x6589,0x658c,0x658c,0x6590,0x6591,0x6597,0x6597,0x6599,0x6599,0x659b,0x659d,0x659f,0x659f,0x65a1,0x65a1,0x65a4,0x65a5,0x65a7,0x65a7,0x65ab,0x65ad,0x65af,0x65b2,0x65b7,0x65b7,0x65b9,0x65b9,0x65bc,0x65bd,0x65bf,0x65bf,0x65c1,0x65c6,0x65ca,0x65cc,0x65cf,0x65cf,0x65d2,0x65d2,0x65d7,0x65d7,0x65e0,0x65e1,0x65e3,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65ed,0x65f1,0x65f2,0x65f4,0x65f4,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6603,0x6606,0x6607,0x6609,0x660a,0x660c,0x6611,0x6613,0x6615,0x661b,0x661c,0x661e,0x6621,0x6623,0x6625,0x6627,0x6628,0x662b,0x662b,0x662d,0x662d,0x662f,0x6631,0x6634,0x6637,0x663a,0x663b,0x6641,0x6644,0x6648,0x6649,0x664b,0x664c,0x664e,0x6651,0x6659,0x665b,0x665d,0x6662,0x6664,0x6669,0x666b,0x6670,0x6673,0x6674,0x6676,0x667b,0x667d,0x667d,0x667f,0x667f,0x6684,0x6684,0x6687,0x6689,0x668b,0x668c,0x668e,0x668e,0x6690,0x6691,0x6696,0x6698,0x669a,0x669a,0x669d,0x669e,0x66a0,0x66a0,0x66a2,0x66a3,0x66ab,0x66ac,0x66ae,0x66ae,0x66b1,0x66b5,0x66b8,0x66bb,0x66be,0x66c1,0x66c4,0x66c9,0x66d3,0x66d4,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e3,0x66e6,0x66e6,0x66e8,0x66ea,0x66ec,0x66ec,0x66ee,0x66f0,0x66f2,0x66f4,0x66f7,0x66fa,0x66fc,0x66fc,0x66fe,0x6700,0x6703,0x6705,0x6708,0x670d,0x6710,0x6710,0x6714,0x6715,0x6717,0x6717,0x671b,0x671b,0x671d,0x6720,0x6722,0x6723,0x6726,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6734,0x6736,0x6736,0x673a,0x673a,0x673d,0x673e,0x6745,0x6746,0x6749,0x6749,0x674b,0x674c,0x674e,0x6751,0x6753,0x6753,0x6756,0x6756,0x675c,0x6760,0x6765,0x6765,0x676a,0x676a,0x676c,0x676d,0x676f,0x6773,0x6775,0x6775,0x6777,0x6777,0x677b,0x677c,0x677e,0x677f,0x6783,0x6783,0x6787,0x6787,0x6789,0x6789,0x678b,0x678c,0x678f,0x6790,0x6792,0x6793,0x6795,0x6795,0x6797,0x679a,0x679c,0x679d,0x67af,0x67b0,0x67b2,0x67b3,0x67b6,0x67b8,0x67be,0x67be,0x67c1,0x67c1,0x67c4,0x67c5,0x67ca,0x67ca,0x67cf,0x67d4,0x67d6,0x67da,0x67dd,0x67df,0x67e2,0x67e2,0x67e9,0x67e9,0x67ec,0x67ec,0x67ef,0x67f1,0x67f3,0x67f6,0x67f9,0x67f9,0x67fb,0x67fb,0x67fe,0x67ff,0x6803,0x6804,0x6810,0x6810,0x6812,0x6813,0x6816,0x6817,0x681d,0x681e,0x6821,0x6822,0x682a,0x682a,0x682e,0x682f,0x6831,0x6832,0x6834,0x6834,0x6838,0x6839,0x683b,0x683d,0x6840,0x6844,0x6846,0x6846,0x6848,0x6849,0x684e,0x684e,0x6850,0x6851,0x6853,0x6854,0x686d,0x686d,0x686f,0x686f,0x6874,0x6874,0x6876,0x6877,0x687e,0x687f,0x6881,0x6881,0x6883,0x6883,0x6885,0x6886,0x688f,0x688f,0x6893,0x6894,0x6897,0x6897,0x689b,0x689b,0x689d,0x689d,0x689f,0x68a3,0x68a7,0x68a8,0x68ad,0x68ad,0x68af,0x68b1,0x68b3,0x68b3,0x68b5,0x68b6,0x68c4,0x68c5,0x68c9,0x68cd,0x68d0,0x68d0,0x68d2,0x68d2,0x68d5,0x68d8,0x68da,0x68da,0x68df,0x68e0,0x68e3,0x68e3,0x68e7,0x68e8,0x68ec,0x68ec,0x68ee,0x68ee,0x68f2,0x68f2,0x68f9,0x68fd,0x6900,0x6901,0x6904,0x6906,0x690b,0x690b,0x690d,0x690f,0x6911,0x6912,0x6919,0x6919,0x691c,0x691c,0x6927,0x6927,0x6930,0x6930,0x6934,0x6934,0x6936,0x6936,0x6939,0x6939,0x693d,0x693d,0x693f,0x693f,0x6942,0x6942,0x694a,0x694a,0x694f,0x694f,0x6953,0x6955,0x6957,0x6957,0x6959,0x695a,0x695d,0x695e,0x6960,0x6963,0x6965,0x6965,0x6968,0x6968,0x696a,0x696f,0x6973,0x6973,0x6975,0x6975,0x6977,0x6979,0x697b,0x697b,0x697d,0x697d,0x698e,0x698e,0x6991,0x6991,0x6994,0x6995,0x6998,0x6998,0x699b,0x699c,0x699f,0x699f,0x69a4,0x69a7,0x69ad,0x69ae,0x69b0,0x69b2,0x69b4,0x69b4,0x69b7,0x69b7,0x69ba,0x69bc,0x69be,0x69c1,0x69c3,0x69c3,0x69c7,0x69c7,0x69ca,0x69d0,0x69d3,0x69d3,0x69d6,0x69d6,0x69e2,0x69e2,0x69e5,0x69ea,0x69ed,0x69ed,0x69f2,0x69f2,0x69f9,0x69f9,0x69fb,0x69fb,0x69fd,0x69fd,0x69ff,0x6a00,0x6a02,0x6a02,0x6a05,0x6a05,0x6a0a,0x6a0b,0x6a11,0x6a14,0x6a17,0x6a17,0x6a19,0x6a19,0x6a1b,0x6a1b,0x6a1e,0x6a1f,0x6a21,0x6a21,0x6a23,0x6a23,0x6a29,0x6a29,0x6a2b,0x6a2b,0x6a35,0x6a35,0x6a38,0x6a3b,0x6a3d,0x6a3d,0x6a43,0x6a45,0x6a47,0x6a4d,0x6a50,0x6a50,0x6a52,0x6a53,0x6a58,0x6a5a,0x6a5f,0x6a5f,0x6a61,0x6a62,0x6a64,0x6a64,0x6a66,0x6a66,0x6a6b,0x6a6b,0x6a72,0x6a72,0x6a75,0x6a75,0x6a7f,0x6a80,0x6a83,0x6a84,0x6a89,0x6a89,0x6a8d,0x6a8e,0x6a90,0x6a90,0x6a94,0x6a94,0x6a97,0x6a97,0x6a9c,0x6a9d,0x6a9f,0x6aa0,0x6aa2,0x6aa3,0x6aae,0x6aae,0x6ab3,0x6ab3,0x6ab6,0x6ab6,0x6abb,0x6abc,0x6abf,0x6abf,0x6ac2,0x6ac3,0x6ad3,0x6ad3,0x6ada,0x6adf,0x6ae8,0x6ae8,0x6aea,0x6aea,0x6aec,0x6aec,0x6af6,0x6af6,0x6afb,0x6afc,0x6b02,0x6b04,0x6b0a,0x6b0a,0x6b0c,0x6b0c,0x6b11,0x6b12,0x6b16,0x6b16,0x6b1e,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b2c,0x6b2c,0x6b32,0x6b32,0x6b37,0x6b3b,0x6b3d,0x6b3f,0x6b43,0x6b43,0x6b46,0x6b47,0x6b49,0x6b4a,0x6b4c,0x6b4c,0x6b4e,0x6b4e,0x6b50,0x6b50,0x6b54,0x6b54,0x6b59,0x6b5b,0x6b5f,0x6b67,0x6b69,0x6b6a,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b77,0x6b7b,0x6b7f,0x6b80,0x6b82,0x6b84,0x6b86,0x6b86,0x6b89,0x6b8a,0x6b8d,0x6b8d,0x6b91,0x6b91,0x6b96,0x6b96,0x6b98,0x6b98,0x6b9e,0x6b9e,0x6ba2,0x6ba2,0x6ba4,0x6ba4,0x6bab,0x6bab,0x6bad,0x6baf,0x6bb2,0x6bb3,0x6bb5,0x6bb5,0x6bb7,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc4,0x6bc6,0x6bcb,0x6bcb,0x6bcd,0x6bcd,0x6bcf,0x6bcf,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdb,0x6beb,0x6bec,0x6bef,0x6bef,0x6bf3,0x6bf3,0x6bf8,0x6bf8,0x6bff,0x6bff,0x6c05,0x6c05,0x6c08,0x6c08,0x6c0f,0x6c11,0x6c13,0x6c14,0x6c17,0x6c17,0x6c1b,0x6c1b,0x6c23,0x6c24,0x6c33,0x6c38,0x6c3e,0x6c43,0x6c4b,0x6c4b,0x6c4e,0x6c50,0x6c52,0x6c55,0x6c57,0x6c57,0x6c59,0x6c60,0x6c66,0x6c66,0x6c68,0x6c6a,0x6c6d,0x6c6d,0x6c70,0x6c70,0x6c72,0x6c72,0x6c74,0x6c74,0x6c76,0x6c76,0x6c7a,0x6c7a,0x6c7d,0x6c7e,0x6c81,0x6c89,0x6c8c,0x6c8d,0x6c90,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9b,0x6ca2,0x6ca2,0x6cab,0x6cac,0x6cae,0x6cae,0x6cb0,0x6cb1,0x6cb3,0x6cb3,0x6cb6,0x6cb6,0x6cb8,0x6cb9,0x6cbb,0x6cbf,0x6cc1,0x6cc2,0x6cc4,0x6cc6,0x6cc9,0x6cca,0x6ccc,0x6ccc,0x6cd0,0x6cd1,0x6cd3,0x6cd5,0x6cd7,0x6cd7,0x6cd9,0x6cdd,0x6ce0,0x6ce3,0x6ce5,0x6ce5,0x6ce8,0x6ce8,0x6ceb,0x6ceb,0x6cee,0x6cf1,0x6cf3,0x6cf3,0x6cff,0x6cff,0x6d04,0x6d04,0x6d07,0x6d07,0x6d0a,0x6d0c,0x6d11,0x6d12,0x6d14,0x6d14,0x6d17,0x6d17,0x6d19,0x6d19,0x6d1b,0x6d1b,0x6d1e,0x6d1f,0x6d23,0x6d23,0x6d25,0x6d25,0x6d27,0x6d2c,0x6d2e,0x6d2e,0x6d32,0x6d32,0x6d35,0x6d36,0x6d38,0x6d3e,0x6d41,0x6d41,0x6d59,0x6d5a,0x6d5c,0x6d5c,0x6d61,0x6d61,0x6d63,0x6d67,0x6d69,0x6d6a,0x6d6c,0x6d6c,0x6d6e,0x6d6f,0x6d72,0x6d72,0x6d74,0x6d74,0x6d77,0x6d79,0x6d7f,0x6d7f,0x6d82,0x6d82,0x6d85,0x6d85,0x6d87,0x6d89,0x6d8c,0x6d8f,0x6d91,0x6d91,0x6d93,0x6d97,0x6daa,0x6dac,0x6daf,0x6daf,0x6db2,0x6db2,0x6db4,0x6db5,0x6db7,0x6db8,0x6dbc,0x6dbc,0x6dbf,0x6dc0,0x6dc3,0x6dc8,0x6dcb,0x6dcc,0x6dcf,0x6dd2,0x6dd6,0x6dd6,0x6dd8,0x6dda,0x6ddd,0x6dde,0x6de0,0x6de6,0x6de8,0x6de8,0x6dea,0x6dec,0x6dee,0x6dee,0x6df1,0x6df1,0x6df3,0x6df3,0x6df5,0x6dfc,0x6e05,0x6e05,0x6e08,0x6e08,0x6e0a,0x6e0a,0x6e17,0x6e17,0x6e19,0x6e1b,0x6e1d,0x6e1d,0x6e1f,0x6e26,0x6e28,0x6e28,0x6e2b,0x6e2d,0x6e2f,0x6e2f,0x6e32,0x6e32,0x6e34,0x6e34,0x6e36,0x6e38,0x6e3a,0x6e3a,0x6e3c,0x6e3e,0x6e40,0x6e40,0x6e43,0x6e45,0x6e4a,0x6e4a,0x6e4d,0x6e4e,0x6e51,0x6e51,0x6e53,0x6e56,0x6e58,0x6e58,0x6e5b,0x6e5c,0x6e5e,0x6e5f,0x6e63,0x6e63,0x6e67,0x6e67,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e72,0x6e73,0x6e75,0x6e75,0x6e7a,0x6e7a,0x6e8f,0x6e90,0x6e95,0x6e96,0x6e98,0x6e98,0x6e9c,0x6e9d,0x6e9f,0x6e9f,0x6ea2,0x6ea2,0x6ea5,0x6ea5,0x6ea7,0x6ea8,0x6eaa,0x6eab,0x6eaf,0x6eaf,0x6eb1,0x6eb2,0x6eb5,0x6eb7,0x6eba,0x6eba,0x6ebd,0x6ebd,0x6ec2,0x6ec5,0x6ec8,0x6ec9,0x6ecb,0x6ecc,0x6ece,0x6ece,0x6ed1,0x6ed1,0x6ed3,0x6ed5,0x6ed9,0x6ed9,0x6eec,0x6eed,0x6eef,0x6eef,0x6ef2,0x6ef2,0x6ef4,0x6ef5,0x6ef7,0x6ef8,0x6efc,0x6efc,0x6efe,0x6eff,0x6f01,0x6f02,0x6f04,0x6f04,0x6f06,0x6f06,0x6f09,0x6f09,0x6f0c,0x6f0c,0x6f0f,0x6f0f,0x6f11,0x6f11,0x6f13,0x6f15,0x6f19,0x6f1a,0x6f20,0x6f20,0x6f22,0x6f24,0x6f26,0x6f28,0x6f2a,0x6f2d,0x6f30,0x6f33,0x6f38,0x6f38,0x6f3c,0x6f3c,0x6f3e,0x6f3f,0x6f41,0x6f41,0x6f4f,0x6f4f,0x6f51,0x6f52,0x6f54,0x6f54,0x6f57,0x6f5f,0x6f61,0x6f64,0x6f66,0x6f66,0x6f6d,0x6f71,0x6f74,0x6f74,0x6f78,0x6f78,0x6f7a,0x6f7a,0x6f7c,0x6f7e,0x6f81,0x6f82,0x6f84,0x6f84,0x6f86,0x6f89,0x6f8b,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f92,0x6f94,0x6f98,0x6f9f,0x6f9f,0x6fa1,0x6fa1,0x6fa3,0x6fa5,0x6fa7,0x6fa8,0x6faa,0x6faa,0x6fae,0x6faf,0x6fb1,0x6fb1,0x6fb3,0x6fb3,0x6fb6,0x6fb6,0x6fb9,0x6fb9,0x6fbe,0x6fbe,0x6fc0,0x6fc3,0x6fc6,0x6fc7,0x6fc9,0x6fca,0x6fd4,0x6fd5,0x6fd8,0x6fd8,0x6fda,0x6fdb,0x6fde,0x6fe1,0x6fe4,0x6fe6,0x6fe9,0x6fe9,0x6feb,0x6fec,0x6fee,0x6fef,0x6ff1,0x6ff1,0x6ff3,0x6ff4,0x6ff6,0x6ff6,0x6ffa,0x6ffa,0x6ffe,0x6ffe,0x7001,0x7001,0x7005,0x7007,0x7009,0x7009,0x700b,0x700b,0x700f,0x700f,0x7011,0x7013,0x7015,0x7015,0x7018,0x7018,0x701a,0x701f,0x7023,0x7023,0x7026,0x7028,0x702f,0x7030,0x7032,0x7032,0x7037,0x7038,0x703c,0x703c,0x703e,0x703e,0x7044,0x7044,0x7046,0x7046,0x704c,0x704c,0x704e,0x704e,0x7050,0x7051,0x7053,0x7053,0x7058,0x7058,0x705d,0x705e,0x7063,0x7063,0x7066,0x7066,0x7069,0x7069,0x706b,0x706c,0x706f,0x7070,0x7078,0x7078,0x707c,0x707e,0x7081,0x7081,0x7085,0x7086,0x708a,0x708a,0x708e,0x708e,0x7092,0x7092,0x7095,0x7095,0x7098,0x709b,0x70a1,0x70a1,0x70a4,0x70a4,0x70a6,0x70a6,0x70ab,0x70b0,0x70b3,0x70b3,0x70b7,0x70ba,0x70c8,0x70c8,0x70ca,0x70cb,0x70cf,0x70cf,0x70d3,0x70d4,0x70d8,0x70d9,0x70dc,0x70dd,0x70df,0x70df,0x70ef,0x70ef,0x70f1,0x70f1,0x70f9,0x70fa,0x70fd,0x70fd,0x7103,0x7104,0x7106,0x7106,0x7109,0x7109,0x710c,0x710c,0x7119,0x711a,0x711c,0x711c,0x711e,0x711e,0x7120,0x7121,0x7126,0x7126,0x712d,0x7131,0x7136,0x7136,0x7143,0x7143,0x7146,0x7147,0x7149,0x714a,0x714c,0x714c,0x714e,0x714e,0x7150,0x7150,0x7152,0x7153,0x7155,0x7157,0x7159,0x7159,0x715c,0x715e,0x7162,0x7162,0x7164,0x7169,0x716c,0x716c,0x716e,0x716e,0x717d,0x717d,0x7180,0x7180,0x7184,0x7185,0x7187,0x718a,0x718f,0x718f,0x7192,0x7192,0x7194,0x7194,0x7199,0x7199,0x719b,0x719b,0x719f,0x71a2,0x71a4,0x71a4,0x71a8,0x71a9,0x71ac,0x71ac,0x71af,0x71af,0x71b1,0x71b2,0x71b9,0x71ba,0x71be,0x71be,0x71c1,0x71c1,0x71c3,0x71c3,0x71c8,0x71c9,0x71cb,0x71cb,0x71ce,0x71d0,0x71d2,0x71d2,0x71d4,0x71d6,0x71d9,0x71d9,0x71db,0x71db,0x71df,0x71e0,0x71e5,0x71e7,0x71ec,0x71ee,0x71f9,0x71f9,0x71fb,0x7201,0x7206,0x7207,0x720b,0x720d,0x7210,0x7210,0x7214,0x7214,0x7217,0x7217,0x721a,0x721b,0x721f,0x721f,0x7225,0x7225,0x7228,0x7228,0x722a,0x722a,0x722c,0x722d,0x7230,0x7230,0x7232,0x7232,0x7235,0x7236,0x7238,0x723b,0x723d,0x7240,0x7242,0x7242,0x7246,0x7248,0x724b,0x724c,0x7252,0x7254,0x7256,0x7256,0x7258,0x725b,0x725d,0x725d,0x725f,0x725f,0x7261,0x7263,0x7267,0x7267,0x7269,0x7269,0x726f,0x726f,0x7272,0x7272,0x7274,0x7274,0x7278,0x7279,0x727d,0x727d,0x7280,0x7282,0x7287,0x7287,0x728d,0x728d,0x7292,0x7292,0x7296,0x7296,0x72a2,0x72a2,0x72a7,0x72a7,0x72ac,0x72ad,0x72af,0x72af,0x72b3,0x72b5,0x72c0,0x72c0,0x72c2,0x72c2,0x72c4,0x72c4,0x72c9,0x72c9,0x72ce,0x72ce,0x72d0,0x72d0,0x72d2,0x72d2,0x72d7,0x72d7,0x72d9,0x72d9,0x72e1,0x72e2,0x72e5,0x72e5,0x72e8,0x72e9,0x72ec,0x72ec,0x72f4,0x72f4,0x72f7,0x72fd,0x7309,0x730a,0x7313,0x7313,0x7316,0x7319,0x731b,0x731d,0x7322,0x7322,0x7325,0x7325,0x7327,0x732b,0x7331,0x7331,0x7334,0x7334,0x7336,0x7337,0x733e,0x733f,0x7343,0x7345,0x734e,0x734e,0x7350,0x7350,0x7352,0x7352,0x7357,0x7358,0x735c,0x735c,0x7360,0x7360,0x7368,0x736c,0x736f,0x7370,0x7372,0x7372,0x7375,0x7375,0x7377,0x7378,0x737a,0x737c,0x7381,0x7381,0x7384,0x7384,0x7386,0x7389,0x738b,0x738b,0x738e,0x738e,0x7392,0x7392,0x7394,0x7398,0x739e,0x73a0,0x73a6,0x73a7,0x73a9,0x73ab,0x73ad,0x73ad,0x73b2,0x73b4,0x73b7,0x73b7,0x73b9,0x73b9,0x73bb,0x73bd,0x73bf,0x73c0,0x73c2,0x73c2,0x73c6,0x73c6,0x73c8,0x73ca,0x73cc,0x73cd,0x73cf,0x73cf,0x73d2,0x73d2,0x73d6,0x73d9,0x73dd,0x73de,0x73e0,0x73e0,0x73e2,0x73e6,0x73e9,0x73eb,0x73ed,0x73ee,0x73f5,0x73f5,0x73f7,0x73f9,0x73fd,0x73fe,0x7401,0x7401,0x7403,0x7407,0x7409,0x7409,0x7413,0x7413,0x7417,0x7418,0x741b,0x741b,0x741d,0x741d,0x741f,0x7422,0x7424,0x7426,0x7428,0x7428,0x742a,0x742c,0x742e,0x7436,0x7438,0x7438,0x743a,0x743a,0x743f,0x7446,0x7448,0x7449,0x744b,0x744c,0x744e,0x744e,0x7455,0x7455,0x7457,0x7457,0x7459,0x7460,0x7462,0x7465,0x7468,0x746a,0x746d,0x7473,0x747d,0x747e,0x7480,0x7480,0x7482,0x7487,0x7489,0x748c,0x7490,0x7490,0x7498,0x7498,0x749c,0x749f,0x74a1,0x74a1,0x74a3,0x74a3,0x74a5,0x74a5,0x74a7,0x74a8,0x74aa,0x74ab,0x74b0,0x74b2,0x74b5,0x74b6,0x74b8,0x74b9,0x74bc,0x74bd,0x74bf,0x74c0,0x74c6,0x74c6,0x74ca,0x74ca,0x74cd,0x74cd,0x74cf,0x74d0,0x74d3,0x74d4,0x74d8,0x74d8,0x74da,0x74dc,0x74e0,0x74e0,0x74e2,0x74e3,0x74e6,0x74e6,0x74e9,0x74e9,0x74ee,0x74ee,0x74f2,0x74f3,0x74f7,0x74f7,0x7501,0x7501,0x7503,0x7504,0x750c,0x750e,0x7511,0x7511,0x7513,0x7513,0x7515,0x7515,0x7518,0x7518,0x751a,0x751c,0x751e,0x751f,0x7522,0x7526,0x7528,0x7528,0x752b,0x752c,0x7530,0x7533,0x7537,0x7538,0x753a,0x753b,0x753f,0x753f,0x7543,0x7543,0x7547,0x7547,0x754a,0x754c,0x754e,0x754f,0x7551,0x7551,0x7553,0x7554,0x7559,0x755d,0x7560,0x7560,0x7562,0x7562,0x7564,0x7567,0x756a,0x756b,0x756f,0x7570,0x7575,0x7576,0x7578,0x7578,0x757a,0x757a,0x757f,0x757f,0x7586,0x7588,0x758a,0x758b,0x758e,0x758f,0x7591,0x7592,0x7594,0x7594,0x7599,0x759a,0x759d,0x759d,0x75a3,0x75a3,0x75a5,0x75a5,0x75a9,0x75a9,0x75ab,0x75ab,0x75b1,0x75b5,0x75b8,0x75b9,0x75bc,0x75be,0x75c0,0x75c0,0x75c2,0x75c3,0x75c5,0x75c5,0x75c7,0x75c7,0x75ca,0x75ca,0x75cd,0x75ce,0x75d2,0x75d5,0x75d8,0x75d9,0x75db,0x75db,0x75de,0x75de,0x75e2,0x75e4,0x75e7,0x75e7,0x75f0,0x75f0,0x75f2,0x75f4,0x75f9,0x75fa,0x75fc,0x75fc,0x75ff,0x7601,0x7607,0x7609,0x760b,0x760b,0x760d,0x760d,0x7610,0x7610,0x7615,0x7615,0x7619,0x7619,0x761f,0x7622,0x7624,0x7624,0x7626,0x7627,0x762f,0x7631,0x7633,0x7634,0x763b,0x763b,0x7642,0x7643,0x7646,0x7649,0x764c,0x764c,0x764e,0x764e,0x7652,0x7652,0x7655,0x7656,0x7658,0x7658,0x765c,0x765c,0x7661,0x7662,0x7664,0x7665,0x7667,0x7669,0x766c,0x7672,0x7676,0x7676,0x7678,0x7678,0x767a,0x767e,0x7680,0x7681,0x7683,0x7684,0x7686,0x7687,0x768b,0x768b,0x768e,0x768e,0x7690,0x7690,0x7692,0x7693,0x7696,0x7697,0x769a,0x769c,0x769e,0x769e,0x76a4,0x76a4,0x76ac,0x76ac,0x76ae,0x76ae,0x76b4,0x76b4,0x76b6,0x76b6,0x76b8,0x76b8,0x76ba,0x76ba,0x76bf,0x76bf,0x76c2,0x76c3,0x76c6,0x76c6,0x76c8,0x76c8,0x76ca,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76d9,0x76db,0x76dc,0x76de,0x76df,0x76e1,0x76e1,0x76e3,0x76e5,0x76e7,0x76e7,0x76ea,0x76ea,0x76ec,0x76ec,0x76ee,0x76ee,0x76f1,0x76f2,0x76f4,0x76f4,0x76f8,0x76f9,0x76fb,0x76fc,0x76fe,0x7702,0x7704,0x7704,0x7707,0x770c,0x7710,0x7710,0x771a,0x771b,0x771e,0x7720,0x7725,0x7726,0x7728,0x7729,0x7734,0x7734,0x7737,0x773c,0x773e,0x773e,0x7740,0x7740,0x7743,0x7743,0x7746,0x7747,0x774d,0x774d,0x7752,0x7752,0x775a,0x775b,0x775f,0x7763,0x7765,0x7766,0x7768,0x7768,0x776b,0x776c,0x7777,0x7777,0x7779,0x7779,0x777d,0x777f,0x778b,0x778b,0x778d,0x778e,0x7791,0x7791,0x7796,0x7796,0x7799,0x7799,0x779e,0x779e,0x77a0,0x77a0,0x77a2,0x77a2,0x77a5,0x77a5,0x77aa,0x77aa,0x77ac,0x77ae,0x77b0,0x77b0,0x77b3,0x77b3,0x77b9,0x77b9,0x77bb,0x77bd,0x77bf,0x77bf,0x77c7,0x77c7,0x77c9,0x77c9,0x77cd,0x77cd,0x77d7,0x77d7,0x77d9,0x77dc,0x77de,0x77de,0x77e1,0x77e3,0x77e5,0x77e5,0x77e7,0x77e7,0x77e9,0x77e9,0x77ed,0x77f0,0x77f3,0x77f3,0x77f8,0x77f8,0x77fa,0x77fd,0x7802,0x7802,0x7807,0x7807,0x780c,0x780c,0x780f,0x780f,0x7811,0x7812,0x7814,0x7814,0x7822,0x7822,0x7825,0x7827,0x782c,0x782d,0x7830,0x7830,0x7832,0x7832,0x7834,0x7834,0x7843,0x7843,0x7845,0x7845,0x784f,0x784f,0x785c,0x785d,0x7860,0x7860,0x7867,0x7868,0x786a,0x786c,0x786e,0x786f,0x787c,0x787c,0x7881,0x7881,0x7884,0x7884,0x7887,0x7887,0x788c,0x788f,0x7891,0x7891,0x7893,0x7893,0x7897,0x7897,0x789f,0x789f,0x78a3,0x78a4,0x78a7,0x78a9,0x78ac,0x78ad,0x78ba,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c5,0x78c5,0x78c8,0x78c8,0x78ca,0x78cb,0x78ce,0x78d1,0x78d4,0x78d5,0x78da,0x78da,0x78e0,0x78e0,0x78e7,0x78e8,0x78ea,0x78ea,0x78ec,0x78ec,0x78ef,0x78ef,0x78f4,0x78f5,0x78f7,0x78f7,0x78fa,0x78fd,0x7901,0x7901,0x790c,0x790c,0x790e,0x790f,0x7911,0x7912,0x7916,0x7916,0x7919,0x7919,0x7927,0x7927,0x792a,0x792d,0x7931,0x7931,0x793a,0x793c,0x793e,0x793e,0x7940,0x7941,0x7944,0x794a,0x7950,0x7950,0x7953,0x7958,0x795a,0x7960,0x7962,0x7962,0x7965,0x7965,0x7967,0x7968,0x796d,0x796d,0x7979,0x797a,0x797c,0x797c,0x797f,0x7981,0x798a,0x798b,0x798d,0x798f,0x7991,0x7991,0x7994,0x7994,0x799b,0x799b,0x799d,0x799d,0x79a6,0x79a8,0x79aa,0x79ab,0x79ae,0x79ae,0x79b0,0x79b1,0x79b3,0x79b4,0x79b8,0x79c1,0x79c4,0x79c4,0x79c6,0x79c6,0x79c9,0x79cb,0x79d1,0x79d2,0x79d5,0x79d5,0x79d8,0x79d8,0x79de,0x79df,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ec,0x79f5,0x79f5,0x79f8,0x79f8,0x79fb,0x79fb,0x7a00,0x7a02,0x7a05,0x7a05,0x7a08,0x7a08,0x7a0a,0x7a0d,0x7a14,0x7a14,0x7a17,0x7a1a,0x7a1c,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a27,0x7a27,0x7a2e,0x7a2e,0x7a30,0x7a31,0x7a33,0x7a33,0x7a36,0x7a37,0x7a39,0x7a39,0x7a3b,0x7a3d,0x7a3f,0x7a40,0x7a42,0x7a42,0x7a45,0x7a46,0x7a49,0x7a49,0x7a4c,0x7a4e,0x7a57,0x7a57,0x7a60,0x7a62,0x7a66,0x7a66,0x7a69,0x7a69,0x7a6b,0x7a6b,0x7a70,0x7a70,0x7a74,0x7a76,0x7a79,0x7a7a,0x7a7d,0x7a86,0x7a88,0x7a88,0x7a8a,0x7a8a,0x7a92,0x7a93,0x7a95,0x7a99,0x7a9b,0x7a9b,0x7a9f,0x7aa0,0x7aa3,0x7aa3,0x7aa9,0x7aaa,0x7aac,0x7aac,0x7aae,0x7aaf,0x7ab3,0x7ab3,0x7ab6,0x7ab6,0x7ab9,0x7abb,0x7abe,0x7abf,0x7ac4,0x7ac5,0x7ac7,0x7ac8,0x7aca,0x7acb,0x7ad7,0x7ad7,0x7ad9,0x7ad9,0x7adc,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae3,0x7ae5,0x7ae6,0x7aea,0x7aea,0x7aed,0x7aed,0x7aef,0x7aef,0x7af4,0x7af4,0x7af6,0x7af6,0x7af8,0x7afa,0x7afd,0x7afd,0x7aff,0x7aff,0x7b06,0x7b06,0x7b08,0x7b08,0x7b0a,0x7b0a,0x7b0c,0x7b0c,0x7b0e,0x7b0f,0x7b11,0x7b12,0x7b18,0x7b19,0x7b1b,0x7b1b,0x7b1e,0x7b1e,0x7b20,0x7b20,0x7b25,0x7b28,0x7b2c,0x7b2d,0x7b2f,0x7b2f,0x7b33,0x7b33,0x7b35,0x7b35,0x7b39,0x7b39,0x7b45,0x7b46,0x7b48,0x7b49,0x7b4b,0x7b4d,0x7b4f,0x7b54,0x7b56,0x7b56,0x7b5f,0x7b60,0x7b65,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b6c,0x7b6e,0x7b6e,0x7b71,0x7b71,0x7b73,0x7b73,0x7b75,0x7b75,0x7b7d,0x7b7d,0x7b87,0x7b87,0x7b8b,0x7b8b,0x7b8d,0x7b8f,0x7b92,0x7b92,0x7b94,0x7b95,0x7b97,0x7b97,0x7b99,0x7b9a,0x7b9c,0x7b9d,0x7ba0,0x7ba1,0x7bad,0x7bad,0x7bb1,0x7bb1,0x7bb4,0x7bb4,0x7bb8,0x7bb8,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc4,0x7bc6,0x7bc7,0x7bc9,0x7bcc,0x7bd2,0x7bd2,0x7bd4,0x7bd4,0x7bd9,0x7bd9,0x7bdb,0x7bdb,0x7bdd,0x7bdd,0x7be0,0x7be1,0x7be4,0x7be4,0x7be6,0x7be6,0x7be9,0x7bea,0x7bf3,0x7bf3,0x7bf7,0x7bf7,0x7bfe,0x7bfe,0x7c00,0x7c00,0x7c07,0x7c07,0x7c09,0x7c09,0x7c0b,0x7c0b,0x7c0f,0x7c0f,0x7c12,0x7c12,0x7c1e,0x7c21,0x7c27,0x7c27,0x7c2a,0x7c2b,0x7c37,0x7c38,0x7c3d,0x7c3f,0x7c43,0x7c43,0x7c4c,0x7c4d,0x7c50,0x7c50,0x7c52,0x7c52,0x7c54,0x7c54,0x7c5b,0x7c5c,0x7c5f,0x7c60,0x7c64,0x7c65,0x7c67,0x7c67,0x7c69,0x7c69,0x7c6c,0x7c6c,0x7c72,0x7c73,0x7c7e,0x7c7e,0x7c81,0x7c81,0x7c83,0x7c83,0x7c89,0x7c89,0x7c8d,0x7c8d,0x7c92,0x7c92,0x7c95,0x7c95,0x7c97,0x7c98,0x7c9f,0x7c9f,0x7ca2,0x7ca2,0x7ca4,0x7ca8,0x7cae,0x7cae,0x7cb1,0x7cb3,0x7cb9,0x7cb9,0x7cbc,0x7cbe,0x7cc5,0x7cc6,0x7cca,0x7cca,0x7cd5,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce5,0x7ce5,0x7ce7,0x7ce7,0x7cef,0x7cef,0x7cf1,0x7cf2,0x7cf4,0x7cf6,0x7cf8,0x7cfb,0x7cfe,0x7cfe,0x7d00,0x7d00,0x7d02,0x7d08,0x7d0a,0x7d0b,0x7d0d,0x7d0d,0x7d10,0x7d10,0x7d13,0x7d15,0x7d17,0x7d1c,0x7d20,0x7d22,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d35,0x7d38,0x7d3a,0x7d41,0x7d46,0x7d49,0x7d49,0x7d4c,0x7d4d,0x7d50,0x7d51,0x7d55,0x7d56,0x7d59,0x7d59,0x7d5b,0x7d5c,0x7d5e,0x7d5e,0x7d61,0x7d63,0x7d66,0x7d66,0x7d68,0x7d6a,0x7d6e,0x7d6e,0x7d70,0x7d73,0x7d75,0x7d76,0x7d79,0x7d7a,0x7d7f,0x7d7f,0x7d83,0x7d83,0x7d86,0x7d86,0x7d8e,0x7d8f,0x7d93,0x7d93,0x7d98,0x7d98,0x7d9a,0x7d9a,0x7d9c,0x7d9c,0x7da0,0x7da0,0x7da2,0x7da3,0x7da5,0x7da7,0x7da9,0x7da9,0x7dab,0x7dae,0x7db0,0x7db2,0x7db4,0x7db5,0x7db8,0x7db8,0x7dba,0x7dbb,0x7dbd,0x7dbf,0x7dc4,0x7dc4,0x7dc7,0x7dc7,0x7dca,0x7dcd,0x7dcf,0x7dcf,0x7dd6,0x7dd8,0x7dda,0x7dda,0x7ddc,0x7dde,0x7de0,0x7de1,0x7de3,0x7de3,0x7de6,0x7de6,0x7de8,0x7de9,0x7dec,0x7dec,0x7def,0x7def,0x7df4,0x7df4,0x7df6,0x7df6,0x7df9,0x7df9,0x7dfb,0x7dfb,0x7e03,0x7e03,0x7e08,0x7e0b,0x7e10,0x7e11,0x7e15,0x7e15,0x7e17,0x7e18,0x7e1b,0x7e1b,0x7e1d,0x7e23,0x7e2b,0x7e2b,0x7e2e,0x7e2f,0x7e31,0x7e33,0x7e35,0x7e35,0x7e37,0x7e37,0x7e39,0x7e39,0x7e3b,0x7e3b,0x7e3d,0x7e3e,0x7e41,0x7e41,0x7e43,0x7e48,0x7e50,0x7e50,0x7e52,0x7e52,0x7e54,0x7e57,0x7e59,0x7e5a,0x7e5e,0x7e5e,0x7e61,0x7e62,0x7e69,0x7e6b,0x7e6d,0x7e6d,0x7e6f,0x7e70,0x7e76,0x7e76,0x7e79,0x7e79,0x7e7c,0x7e7e,0x7e81,0x7e82,0x7e87,0x7e88,0x7e8a,0x7e8a,0x7e8c,0x7e8d,0x7e8f,0x7e8f,0x7e93,0x7e94,0x7e96,0x7e96,0x7e98,0x7e98,0x7e9b,0x7e9c,0x7e9f,0x7e9f,0x7f36,0x7f38,0x7f3a,0x7f3a,0x7f3e,0x7f3f,0x7f43,0x7f45,0x7f47,0x7f47,0x7f4b,0x7f4e,0x7f50,0x7f55,0x7f58,0x7f58,0x7f5d,0x7f5d,0x7f5f,0x7f61,0x7f63,0x7f63,0x7f66,0x7f66,0x7f68,0x7f68,0x7f6a,0x7f6b,0x7f6e,0x7f6e,0x7f70,0x7f70,0x7f72,0x7f72,0x7f75,0x7f75,0x7f77,0x7f79,0x7f7c,0x7f7e,0x7f82,0x7f82,0x7f85,0x7f88,0x7f8a,0x7f8a,0x7f8c,0x7f8c,0x7f8e,0x7f8e,0x7f94,0x7f94,0x7f96,0x7f98,0x7f9a,0x7f9a,0x7f9d,0x7f9e,0x7fa1,0x7fa1,0x7fa4,0x7fa4,0x7fa8,0x7fa9,0x7fab,0x7fab,0x7faf,0x7faf,0x7fb2,0x7fb2,0x7fb6,0x7fb6,0x7fb8,0x7fb9,0x7fbd,0x7fbd,0x7fbf,0x7fbf,0x7fc1,0x7fc1,0x7fc5,0x7fc5,0x7fca,0x7fca,0x7fcc,0x7fcc,0x7fce,0x7fce,0x7fd2,0x7fd2,0x7fd4,0x7fd6,0x7fdb,0x7fdb,0x7fdf,0x7fe1,0x7fe3,0x7fe4,0x7fe6,0x7fe6,0x7fe9,0x7fe9,0x7feb,0x7fec,0x7fee,0x7fee,0x7ff0,0x7ff0,0x7ff3,0x7ff3,0x7ff9,0x7ffc,0x7ffe,0x7ffe,0x8000,0x8009,0x800c,0x800c,0x8010,0x8012,0x8014,0x8019,0x801e,0x801e,0x8021,0x8021,0x8026,0x8026,0x8028,0x8028,0x802c,0x802d,0x8030,0x8030,0x8033,0x8033,0x8036,0x8036,0x803d,0x803d,0x803f,0x803f,0x8043,0x8043,0x8046,0x8046,0x8048,0x8048,0x804a,0x804a,0x8052,0x8052,0x8055,0x8056,0x8058,0x8058,0x805a,0x805a,0x805e,0x805e,0x8061,0x8061,0x806f,0x8073,0x8075,0x8077,0x807d,0x8080,0x8084,0x8087,0x8089,0x8089,0x808b,0x808c,0x8093,0x8093,0x8096,0x8096,0x8098,0x8098,0x809a,0x809b,0x809d,0x809d,0x80a1,0x80a2,0x80a5,0x80a6,0x80a9,0x80ab,0x80ad,0x80ad,0x80af,0x80af,0x80b1,0x80b2,0x80b4,0x80b5,0x80ba,0x80ba,0x80c3,0x80c4,0x80c6,0x80c6,0x80ca,0x80ca,0x80cc,0x80cc,0x80ce,0x80ce,0x80d5,0x80d6,0x80d9,0x80dc,0x80de,0x80de,0x80e0,0x80e1,0x80e4,0x80e5,0x80ef,0x80ef,0x80f1,0x80f1,0x80f4,0x80f4,0x80f7,0x80f8,0x80fd,0x80fe,0x8102,0x8102,0x8105,0x810a,0x8116,0x8118,0x811a,0x811b,0x8123,0x8124,0x8127,0x8127,0x8129,0x8129,0x812b,0x812b,0x812f,0x8130,0x8139,0x813a,0x813e,0x813e,0x8141,0x8141,0x8146,0x8146,0x814a,0x814b,0x814e,0x814e,0x8150,0x8155,0x8160,0x8160,0x8164,0x8166,0x816b,0x816b,0x816d,0x816d,0x8170,0x8171,0x8174,0x8174,0x8176,0x817a,0x817f,0x8180,0x8182,0x8184,0x8186,0x8186,0x8188,0x8188,0x818a,0x818b,0x818f,0x818f,0x819a,0x819a,0x819c,0x819e,0x81a0,0x81a0,0x81a3,0x81a3,0x81a8,0x81a9,0x81b0,0x81b0,0x81b3,0x81b5,0x81b8,0x81ba,0x81bd,0x81c0,0x81c2,0x81c2,0x81c6,0x81c6,0x81ca,0x81ca,0x81cd,0x81cd,0x81cf,0x81cf,0x81d1,0x81d1,0x81d8,0x81da,0x81dd,0x81dd,0x81df,0x81e0,0x81e3,0x81e3,0x81e5,0x81e5,0x81e7,0x81e8,0x81ea,0x81ea,0x81ec,0x81ed,0x81f3,0x81f4,0x81f6,0x81f6,0x81fa,0x81fc,0x81fe,0x81fe,0x8201,0x8203,0x8205,0x8205,0x8207,0x8208,0x820a,0x820a,0x820c,0x820d,0x8210,0x8210,0x8212,0x8212,0x8216,0x8216,0x8218,0x8218,0x821b,0x821c,0x821e,0x821f,0x8221,0x8221,0x822a,0x822c,0x8233,0x8233,0x8235,0x8239,0x823d,0x823d,0x8240,0x8240,0x8245,0x8245,0x8247,0x8247,0x8251,0x8251,0x8258,0x825a,0x825f,0x825f,0x8264,0x8264,0x8266,0x8266,0x8268,0x8268,0x826a,0x826b,0x826e,0x826f,0x8271,0x8272,0x8274,0x8274,0x8276,0x8279,0x827d,0x827e,0x8283,0x8283,0x828a,0x828b,0x828d,0x828e,0x8290,0x8290,0x8292,0x8292,0x8294,0x8294,0x8298,0x829a,0x829d,0x829d,0x829f,0x829f,0x82a1,0x82a3,0x82a5,0x82b1,0x82b3,0x82b3,0x82b7,0x82b9,0x82bb,0x82bf,0x82c5,0x82c5,0x82d1,0x82d5,0x82d7,0x82d7,0x82db,0x82dc,0x82de,0x82e1,0x82e3,0x82e3,0x82e5,0x82e7,0x82e9,0x82e9,0x82eb,0x82eb,0x82f1,0x82f1,0x82f3,0x82f4,0x82f9,0x82fb,0x82fd,0x8305,0x8308,0x8309,0x8317,0x8317,0x831b,0x831d,0x8323,0x8325,0x8328,0x8328,0x832a,0x832b,0x832f,0x832f,0x8331,0x8336,0x8338,0x8339,0x833c,0x833c,0x8340,0x8340,0x8343,0x8343,0x8347,0x8347,0x8349,0x834a,0x834f,0x8352,0x8363,0x8363,0x8373,0x8373,0x8377,0x8377,0x837a,0x837b,0x8382,0x8382,0x8385,0x8385,0x8389,0x838a,0x838e,0x838e,0x8392,0x8393,0x8396,0x8396,0x8398,0x8398,0x839a,0x839b,0x839d,0x83a0,0x83a2,0x83a2,0x83a8,0x83ab,0x83bd,0x83c2,0x83c5,0x83c5,0x83c9,0x83ca,0x83cc,0x83cc,0x83d1,0x83d1,0x83d3,0x83d4,0x83d6,0x83d6,0x83d8,0x83d8,0x83dc,0x83dc,0x83df,0x83e1,0x83e9,0x83e9,0x83eb,0x83eb,0x83ef,0x83f2,0x83f4,0x83f4,0x83f6,0x83f6,0x83f9,0x83f9,0x83fb,0x83fb,0x83fd,0x83fd,0x8403,0x8404,0x8406,0x8407,0x840a,0x840e,0x8429,0x8429,0x842c,0x842c,0x8431,0x8431,0x8435,0x8435,0x8438,0x8439,0x843c,0x843d,0x8446,0x8446,0x8449,0x844a,0x8451,0x8451,0x8457,0x8457,0x845a,0x845b,0x8461,0x8461,0x8463,0x8463,0x8466,0x8466,0x8469,0x846d,0x846f,0x8471,0x8473,0x8473,0x8475,0x8475,0x8477,0x8477,0x847a,0x847a,0x8482,0x8482,0x8490,0x8491,0x8494,0x8494,0x8499,0x8499,0x849c,0x849c,0x849f,0x849f,0x84a1,0x84a1,0x84a8,0x84a8,0x84ad,0x84ad,0x84af,0x84af,0x84b2,0x84b2,0x84b4,0x84b4,0x84b8,0x84bd,0x84bf,0x84c2,0x84c4,0x84c4,0x84c6,0x84c6,0x84c9,0x84cb,0x84cd,0x84cd,0x84cf,0x84d1,0x84d3,0x84d3,0x84d6,0x84d6,0x84da,0x84da,0x84ec,0x84ef,0x84f1,0x84f1,0x84f4,0x84f4,0x84fa,0x84fa,0x84fc,0x84fd,0x8500,0x8500,0x8506,0x8506,0x850e,0x850e,0x8511,0x8511,0x8513,0x8515,0x8517,0x8518,0x851a,0x851a,0x851e,0x851f,0x8521,0x8521,0x8523,0x8523,0x8525,0x8526,0x852a,0x852a,0x852c,0x852d,0x852f,0x8530,0x853d,0x853d,0x853f,0x853f,0x8541,0x8541,0x8543,0x8543,0x8546,0x8546,0x8549,0x854b,0x854e,0x854e,0x8553,0x8553,0x8555,0x8559,0x855e,0x855e,0x8561,0x8561,0x8563,0x8564,0x8568,0x856b,0x856d,0x856d,0x8578,0x8578,0x857a,0x857a,0x857e,0x857e,0x8580,0x8580,0x8584,0x8584,0x8586,0x8587,0x8589,0x858a,0x858c,0x858c,0x858f,0x858f,0x8591,0x8591,0x8594,0x8594,0x8597,0x8597,0x8599,0x8599,0x859b,0x859b,0x859d,0x859d,0x85a4,0x85a6,0x85a8,0x85ab,0x85af,0x85b0,0x85ba,0x85ba,0x85c1,0x85c1,0x85c7,0x85c7,0x85c9,0x85c9,0x85cd,0x85d0,0x85d5,0x85d5,0x85dc,0x85dd,0x85e4,0x85e5,0x85e9,0x85ea,0x85f7,0x85f7,0x85f9,0x85fb,0x85fd,0x85fd,0x85ff,0x8600,0x8602,0x8602,0x8604,0x8604,0x8606,0x8607,0x860a,0x860b,0x8616,0x8618,0x861a,0x861a,0x861f,0x861f,0x8622,0x8622,0x8627,0x8627,0x8629,0x862a,0x862d,0x862d,0x862f,0x862f,0x863c,0x863c,0x863f,0x863f,0x8641,0x8641,0x864d,0x864e,0x8650,0x8650,0x8653,0x8655,0x865b,0x865c,0x865e,0x865f,0x8667,0x8667,0x866b,0x866c,0x866f,0x866f,0x8671,0x8671,0x8678,0x867b,0x868a,0x868d,0x8693,0x8693,0x8695,0x8695,0x86a3,0x86a4,0x86a8,0x86aa,0x86af,0x86b1,0x86b4,0x86b4,0x86c0,0x86c0,0x86c5,0x86c7,0x86c9,0x86c9,0x86cb,0x86cb,0x86d4,0x86d4,0x86d9,0x86d9,0x86db,0x86db,0x86de,0x86df,0x86e3,0x86e4,0x86e9,0x86e9,0x86ec,0x86ed,0x86f8,0x86f9,0x86fb,0x86fb,0x86fe,0x86fe,0x8700,0x8700,0x8702,0x8703,0x8706,0x8706,0x8708,0x870b,0x8711,0x8711,0x8718,0x8718,0x871a,0x871a,0x871c,0x871d,0x8721,0x8721,0x8725,0x8725,0x8728,0x8729,0x8734,0x8735,0x8737,0x8737,0x873a,0x873b,0x873f,0x8740,0x874c,0x874c,0x874e,0x874e,0x8755,0x8755,0x8757,0x8757,0x8759,0x8759,0x875f,0x8760,0x8764,0x8766,0x8768,0x8768,0x876e,0x876e,0x8774,0x8774,0x8776,0x8776,0x8778,0x8778,0x8782,0x8783,0x878c,0x878d,0x8798,0x8798,0x879e,0x879f,0x87a2,0x87a3,0x87ad,0x87ad,0x87b3,0x87b4,0x87ba,0x87bb,0x87bd,0x87bd,0x87c0,0x87c0,0x87c4,0x87c4,0x87c7,0x87c7,0x87ca,0x87cb,0x87d2,0x87d2,0x87da,0x87db,0x87e0,0x87e0,0x87e3,0x87e3,0x87ec,0x87ec,0x87ef,0x87ef,0x87f2,0x87f2,0x87f7,0x87f7,0x87f9,0x87f9,0x87fb,0x87fb,0x87fe,0x87fe,0x8805,0x8805,0x880d,0x880d,0x8811,0x8811,0x8815,0x8815,0x881f,0x881f,0x8821,0x8823,0x8831,0x8832,0x8836,0x8836,0x8839,0x8839,0x883b,0x883b,0x8840,0x8840,0x8844,0x8844,0x8846,0x8846,0x884a,0x884a,0x884c,0x884e,0x8852,0x8853,0x8857,0x8857,0x8859,0x8859,0x885b,0x885b,0x885d,0x885e,0x8861,0x8864,0x8868,0x8868,0x886b,0x886b,0x886e,0x886e,0x8870,0x8870,0x8872,0x8872,0x8877,0x8877,0x887d,0x887f,0x8881,0x8882,0x8888,0x8888,0x888b,0x888b,0x888d,0x888d,0x8892,0x8892,0x8896,0x8897,0x889b,0x889b,0x889d,0x889e,0x88a2,0x88a2,0x88aa,0x88ab,0x88b4,0x88b4,0x88c0,0x88c2,0x88c5,0x88c5,0x88ca,0x88ca,0x88cd,0x88cd,0x88cf,0x88cf,0x88d2,0x88d2,0x88d4,0x88d5,0x88d8,0x88d9,0x88dc,0x88dd,0x88df,0x88df,0x88e1,0x88e1,0x88e8,0x88e8,0x88ef,0x88ef,0x88f1,0x88f1,0x88f3,0x88f5,0x88f8,0x88f9,0x88fd,0x88fe,0x8904,0x8904,0x8907,0x8907,0x890a,0x890a,0x890c,0x890c,0x8910,0x8913,0x8915,0x8915,0x8918,0x891a,0x8925,0x8925,0x8927,0x8927,0x892a,0x892b,0x892f,0x8930,0x8936,0x8936,0x8938,0x8938,0x893a,0x893b,0x8941,0x8941,0x8944,0x8944,0x894d,0x894d,0x8952,0x8952,0x8956,0x8956,0x8958,0x8958,0x895c,0x895c,0x895e,0x8960,0x8964,0x8964,0x896a,0x896a,0x896d,0x896d,0x896f,0x896f,0x8972,0x8972,0x8974,0x8974,0x897e,0x8981,0x8983,0x8983,0x8986,0x8989,0x898b,0x898b,0x898f,0x898f,0x8993,0x8993,0x8996,0x8998,0x899a,0x899a,0x89a0,0x89a1,0x89a8,0x89aa,0x89ac,0x89ac,0x89af,0x89af,0x89b2,0x89b3,0x89b6,0x89b7,0x89ba,0x89ba,0x89bd,0x89bd,0x89bf,0x89c1,0x89d2,0x89d2,0x89d4,0x89d4,0x89d6,0x89d7,0x89da,0x89da,0x89dc,0x89dd,0x89e3,0x89e3,0x89e5,0x89e7,0x89f0,0x89f1,0x89f3,0x89f4,0x89f6,0x89f6,0x89f8,0x89f8,0x8a00,0x8a00,0x8a02,0x8a03,0x8a07,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a0e,0x8a10,0x8a18,0x8a1b,0x8a1b,0x8a1d,0x8a1d,0x8a1f,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a2a,0x8a2a,0x8a2d,0x8a2d,0x8a31,0x8a31,0x8a33,0x8a34,0x8a36,0x8a36,0x8a3a,0x8a3c,0x8a3e,0x8a3e,0x8a41,0x8a41,0x8a46,0x8a46,0x8a4b,0x8a4b,0x8a50,0x8a51,0x8a54,0x8a58,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a66,0x8a69,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a73,0x8a75,0x8a75,0x8a79,0x8a79,0x8a7c,0x8a7c,0x8a7f,0x8a7f,0x8a82,0x8a82,0x8a84,0x8a87,0x8a8c,0x8a8d,0x8a91,0x8a91,0x8a93,0x8a93,0x8a95,0x8a95,0x8a98,0x8a98,0x8a9a,0x8a9a,0x8a9e,0x8a9e,0x8aa0,0x8aa8,0x8aaa,0x8aaa,0x8ab0,0x8ab0,0x8ab2,0x8ab2,0x8ab9,0x8ab9,0x8abc,0x8abc,0x8abe,0x8abf,0x8ac2,0x8ac2,0x8ac4,0x8ac4,0x8ac7,0x8ac7,0x8ac9,0x8ac9,0x8acb,0x8acb,0x8acd,0x8acd,0x8acf,0x8acf,0x8ad2,0x8ad2,0x8ad6,0x8ad7,0x8adb,0x8ae1,0x8ae4,0x8ae4,0x8ae6,0x8ae7,0x8aea,0x8aeb,0x8aed,0x8aee,0x8af0,0x8af4,0x8af6,0x8af8,0x8afa,0x8afa,0x8afc,0x8afc,0x8afe,0x8afe,0x8b00,0x8b02,0x8b04,0x8b04,0x8b07,0x8b07,0x8b0c,0x8b0c,0x8b0e,0x8b0e,0x8b10,0x8b11,0x8b14,0x8b14,0x8b16,0x8b17,0x8b19,0x8b1d,0x8b20,0x8b20,0x8b23,0x8b23,0x8b26,0x8b26,0x8b28,0x8b28,0x8b2b,0x8b2c,0x8b33,0x8b33,0x8b37,0x8b37,0x8b39,0x8b39,0x8b3c,0x8b3c,0x8b3e,0x8b3e,0x8b41,0x8b41,0x8b43,0x8b43,0x8b46,0x8b46,0x8b49,0x8b49,0x8b4c,0x8b4c,0x8b4e,0x8b4f,0x8b53,0x8b54,0x8b56,0x8b56,0x8b58,0x8b5a,0x8b5c,0x8b5c,0x8b5e,0x8b5f,0x8b66,0x8b66,0x8b6b,0x8b6c,0x8b6f,0x8b71,0x8b74,0x8b74,0x8b77,0x8b77,0x8b7d,0x8b7d,0x8b7f,0x8b80,0x8b83,0x8b83,0x8b89,0x8b8a,0x8b8c,0x8b8c,0x8b8e,0x8b8e,0x8b90,0x8b90,0x8b92,0x8b93,0x8b96,0x8b96,0x8b9a,0x8b9a,0x8b9c,0x8b9c,0x8b9e,0x8b9e,0x8ba0,0x8ba0,0x8c37,0x8c37,0x8c3f,0x8c3f,0x8c41,0x8c41,0x8c46,0x8c4a,0x8c4c,0x8c4c,0x8c4e,0x8c4e,0x8c50,0x8c50,0x8c55,0x8c56,0x8c5a,0x8c5a,0x8c61,0x8c62,0x8c68,0x8c68,0x8c6a,0x8c6c,0x8c73,0x8c73,0x8c78,0x8c7a,0x8c82,0x8c83,0x8c8a,0x8c8a,0x8c8c,0x8c8d,0x8c93,0x8c94,0x8c98,0x8c98,0x8c9d,0x8ca2,0x8ca7,0x8cac,0x8caf,0x8cb0,0x8cb2,0x8cb4,0x8cb6,0x8cbd,0x8cbf,0x8cc4,0x8cc6,0x8cc8,0x8cca,0x8cca,0x8cd1,0x8cd1,0x8cd3,0x8cd3,0x8cd9,0x8cdc,0x8cde,0x8cde,0x8ce0,0x8ce6,0x8cea,0x8cea,0x8cec,0x8ced,0x8cf0,0x8cf1,0x8cf3,0x8cf4,0x8cfb,0x8cfd,0x8d04,0x8d05,0x8d07,0x8d08,0x8d0a,0x8d0b,0x8d0d,0x8d0d,0x8d0f,0x8d10,0x8d13,0x8d14,0x8d16,0x8d16,0x8d1b,0x8d1b,0x8d1d,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d67,0x8d6b,0x8d6b,0x8d6d,0x8d6e,0x8d70,0x8d70,0x8d73,0x8d74,0x8d76,0x8d77,0x8d81,0x8d81,0x8d85,0x8d85,0x8d8a,0x8d8a,0x8d8e,0x8d8e,0x8d90,0x8d90,0x8d99,0x8d99,0x8da0,0x8da0,0x8da3,0x8da3,0x8da8,0x8da8,0x8dab,0x8dab,0x8db2,0x8db3,0x8dba,0x8dba,0x8dbe,0x8dbe,0x8dc2,0x8dc2,0x8dc6,0x8dc6,0x8dcb,0x8dcc,0x8dce,0x8dcf,0x8dd5,0x8dd7,0x8ddb,0x8ddb,0x8ddd,0x8ddd,0x8ddf,0x8ddf,0x8de1,0x8de1,0x8de3,0x8de3,0x8de8,0x8de8,0x8dea,0x8ded,0x8def,0x8def,0x8df1,0x8df1,0x8df3,0x8df3,0x8dfc,0x8dfc,0x8e06,0x8e06,0x8e08,0x8e0a,0x8e0f,0x8e10,0x8e14,0x8e14,0x8e1d,0x8e1f,0x8e2a,0x8e2a,0x8e30,0x8e30,0x8e34,0x8e36,0x8e3a,0x8e3a,0x8e3d,0x8e3d,0x8e40,0x8e40,0x8e42,0x8e42,0x8e44,0x8e44,0x8e47,0x8e4a,0x8e4c,0x8e4c,0x8e4f,0x8e4f,0x8e55,0x8e55,0x8e59,0x8e59,0x8e5c,0x8e5c,0x8e5f,0x8e60,0x8e63,0x8e64,0x8e72,0x8e72,0x8e74,0x8e74,0x8e76,0x8e76,0x8e7b,0x8e7b,0x8e81,0x8e81,0x8e85,0x8e85,0x8e87,0x8e87,0x8e89,0x8e8b,0x8e8d,0x8e8d,0x8e90,0x8e91,0x8e93,0x8e94,0x8e99,0x8e99,0x8e9e,0x8e9e,0x8ea1,0x8ea1,0x8ea9,0x8eac,0x8eb1,0x8eb1,0x8eb3,0x8eb3,0x8ebe,0x8ebe,0x8ec0,0x8ec0,0x8ec6,0x8ec6,0x8eca,0x8ecd,0x8ed2,0x8ed2,0x8ede,0x8edf,0x8ee2,0x8ee2,0x8ee8,0x8ee8,0x8eeb,0x8eeb,0x8ef8,0x8efc,0x8efe,0x8efe,0x8f03,0x8f03,0x8f05,0x8f05,0x8f07,0x8f09,0x8f12,0x8f15,0x8f1b,0x8f1f,0x8f26,0x8f2a,0x8f2d,0x8f2d,0x8f2f,0x8f30,0x8f33,0x8f33,0x8f38,0x8f39,0x8f3b,0x8f3b,0x8f3e,0x8f40,0x8f42,0x8f42,0x8f44,0x8f46,0x8f49,0x8f49,0x8f4d,0x8f4e,0x8f52,0x8f52,0x8f54,0x8f54,0x8f57,0x8f58,0x8f5d,0x8f5f,0x8f61,0x8f64,0x8f66,0x8f66,0x8f9b,0x8f9c,0x8f9f,0x8f9f,0x8fa2,0x8fa3,0x8fa6,0x8fa6,0x8fa8,0x8fa8,0x8fad,0x8fb2,0x8fb5,0x8fb6,0x8fbb,0x8fbb,0x8fbf,0x8fc0,0x8fc2,0x8fc5,0x8fcd,0x8fce,0x8fd0,0x8fd1,0x8fd3,0x8fd5,0x8fe2,0x8fe2,0x8fe4,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8fed,0x8ff0,0x8ff0,0x8ff2,0x8ff2,0x8ff4,0x8ff4,0x8ff7,0x8ffa,0x8ffc,0x8ffd,0x8fff,0x9003,0x9005,0x9006,0x9008,0x9008,0x900b,0x9011,0x9014,0x9017,0x9019,0x901a,0x901d,0x9023,0x902e,0x902e,0x9031,0x9032,0x9034,0x9036,0x9038,0x9038,0x903c,0x903c,0x903e,0x903e,0x9041,0x9042,0x9047,0x9047,0x9049,0x904b,0x904d,0x9055,0x9058,0x9059,0x905b,0x905e,0x9060,0x9061,0x9063,0x9063,0x9068,0x9069,0x906c,0x906f,0x9072,0x9072,0x9075,0x9078,0x907a,0x907a,0x907c,0x9085,0x9087,0x9088,0x908a,0x908a,0x908c,0x908d,0x908f,0x9091,0x9095,0x9095,0x9097,0x9099,0x90a0,0x90a0,0x90a2,0x90a3,0x90a6,0x90a6,0x90a8,0x90a8,0x90aa,0x90aa,0x90af,0x90b1,0x90b3,0x90b3,0x90b5,0x90b5,0x90b8,0x90b8,0x90bd,0x90be,0x90c1,0x90c1,0x90c3,0x90c5,0x90ca,0x90ca,0x90ce,0x90ce,0x90dc,0x90de,0x90e1,0x90e2,0x90e8,0x90e8,0x90ea,0x90eb,0x90ed,0x90ed,0x90ef,0x90ef,0x90f3,0x90f5,0x90fd,0x90fd,0x9102,0x9102,0x9112,0x9112,0x9115,0x9117,0x9119,0x9119,0x911e,0x911e,0x9122,0x9123,0x9127,0x9127,0x912d,0x912d,0x9130,0x9132,0x9134,0x9134,0x913d,0x913d,0x9148,0x914e,0x9152,0x9152,0x9156,0x9157,0x9162,0x9165,0x9169,0x916a,0x916c,0x916c,0x9172,0x9172,0x9174,0x9179,0x9183,0x9183,0x9187,0x9187,0x9189,0x9189,0x918b,0x918b,0x918d,0x918d,0x9190,0x9190,0x9192,0x9192,0x919c,0x919c,0x919e,0x919e,0x91a2,0x91a2,0x91aa,0x91ac,0x91ae,0x91af,0x91b1,0x91b2,0x91b4,0x91b5,0x91bc,0x91bc,0x91c0,0x91c1,0x91c3,0x91c3,0x91c5,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d7,0x91d8,0x91dc,0x91dd,0x91e3,0x91e7,0x91e9,0x91ea,0x91ed,0x91ed,0x91f5,0x91f5,0x91ff,0x91ff,0x9207,0x9207,0x920d,0x920d,0x9210,0x9212,0x9214,0x9215,0x9217,0x9217,0x921c,0x921c,0x921e,0x921f,0x9226,0x9226,0x9231,0x9231,0x9234,0x9235,0x9237,0x9238,0x923a,0x923a,0x923f,0x9241,0x9244,0x9245,0x9249,0x9249,0x924b,0x924b,0x924d,0x9252,0x9257,0x9257,0x925b,0x925b,0x925e,0x925e,0x9262,0x9262,0x9264,0x9266,0x9277,0x9278,0x927c,0x927c,0x927e,0x927e,0x9280,0x9280,0x9283,0x9283,0x9285,0x9285,0x928b,0x928b,0x9291,0x9291,0x9293,0x9293,0x9295,0x9296,0x9298,0x929c,0x92b3,0x92b4,0x92b6,0x92b7,0x92b9,0x92b9,0x92c6,0x92c6,0x92cc,0x92cc,0x92cf,0x92cf,0x92d1,0x92d2,0x92d5,0x92d5,0x92d7,0x92d7,0x92df,0x92df,0x92e4,0x92e5,0x92ea,0x92ea,0x92f2,0x92f2,0x92f8,0x92fa,0x92fc,0x92fe,0x9300,0x9300,0x9304,0x9304,0x9306,0x9306,0x930f,0x9310,0x9315,0x9315,0x9318,0x931a,0x931e,0x9324,0x9326,0x9328,0x932a,0x932c,0x932e,0x932f,0x9348,0x934b,0x934d,0x934d,0x9351,0x9351,0x9354,0x9354,0x9357,0x9357,0x935b,0x935d,0x9364,0x9365,0x936b,0x936c,0x936e,0x936e,0x9370,0x9370,0x9372,0x9372,0x9375,0x9375,0x937c,0x937c,0x937e,0x937e,0x938a,0x938a,0x938c,0x938c,0x9394,0x9394,0x9396,0x9397,0x939a,0x939b,0x939f,0x93a1,0x93a3,0x93a4,0x93a7,0x93a7,0x93ac,0x93ad,0x93b0,0x93b0,0x93bb,0x93bb,0x93c3,0x93c3,0x93c7,0x93c8,0x93ca,0x93cc,0x93d1,0x93d1,0x93d6,0x93d8,0x93dc,0x93df,0x93e1,0x93e2,0x93e4,0x93e4,0x93e6,0x93e6,0x93e8,0x93e8,0x93f6,0x93f6,0x93f8,0x93f9,0x93fb,0x93fb,0x9403,0x9404,0x940f,0x9410,0x9413,0x9414,0x9418,0x9419,0x9425,0x9425,0x942a,0x942b,0x9435,0x9436,0x9438,0x9438,0x943a,0x943a,0x9442,0x9442,0x9444,0x9444,0x944a,0x944a,0x944c,0x944c,0x9451,0x9452,0x9455,0x9455,0x945b,0x945b,0x945e,0x945e,0x9460,0x9460,0x9462,0x9463,0x946a,0x946b,0x9470,0x9472,0x9475,0x9475,0x9477,0x9477,0x947c,0x947f,0x9485,0x9485,0x9577,0x9578,0x957f,0x9580,0x9583,0x9583,0x9588,0x958b,0x958e,0x958f,0x9591,0x9594,0x9598,0x9598,0x959c,0x959c,0x959f,0x95a0,0x95a2,0x95a5,0x95a8,0x95a9,0x95ab,0x95ad,0x95b1,0x95b1,0x95b6,0x95b6,0x95b9,0x95b9,0x95bb,0x95be,0x95c3,0x95c3,0x95c7,0x95c8,0x95ca,0x95cd,0x95d3,0x95d6,0x95da,0x95da,0x95dc,0x95dc,0x95de,0x95de,0x95e0,0x95e2,0x95e5,0x95e5,0x95e8,0x95e8,0x961c,0x961d,0x9621,0x9621,0x9624,0x9624,0x9627,0x962a,0x962d,0x962f,0x9632,0x9632,0x963b,0x963b,0x963f,0x9640,0x9642,0x9642,0x9644,0x9644,0x964b,0x964d,0x9650,0x9650,0x9654,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x966a,0x966a,0x966c,0x966c,0x9670,0x9670,0x9672,0x9679,0x967c,0x967d,0x9684,0x9686,0x968a,0x968b,0x968d,0x968f,0x9691,0x9691,0x9694,0x9695,0x9697,0x9698,0x969b,0x969c,0x96a3,0x96a4,0x96a7,0x96aa,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b9,0x96bb,0x96bc,0x96c0,0x96c1,0x96c4,0x96c7,0x96c9,0x96c9,0x96cb,0x96ce,0x96d5,0x96d6,0x96d9,0x96de,0x96e2,0x96e3,0x96e8,0x96ea,0x96ef,0x96f0,0x96f2,0x96f2,0x96f6,0x96f7,0x96f9,0x96fb,0x9700,0x9700,0x9704,0x9709,0x970c,0x970f,0x9711,0x9711,0x9713,0x9714,0x9716,0x9716,0x9719,0x9719,0x971c,0x971c,0x971e,0x971e,0x9723,0x9723,0x9726,0x9727,0x972a,0x972a,0x9730,0x9730,0x9732,0x9732,0x9738,0x9739,0x973d,0x973d,0x9742,0x9742,0x9744,0x9744,0x9746,0x9746,0x9748,0x9749,0x974c,0x974c,0x9751,0x9752,0x9755,0x9756,0x9758,0x975e,0x9760,0x9762,0x9766,0x9766,0x9768,0x9769,0x976d,0x976d,0x9773,0x9775,0x9777,0x9777,0x977a,0x977a,0x977c,0x977c,0x9780,0x9781,0x9784,0x9785,0x978b,0x978b,0x978d,0x978d,0x978f,0x978f,0x9798,0x9798,0x97a0,0x97a0,0x97a3,0x97a3,0x97a6,0x97a6,0x97a8,0x97a8,0x97ab,0x97ad,0x97b1,0x97b1,0x97b4,0x97b4,0x97b8,0x97b9,0x97c1,0x97c1,0x97c3,0x97c3,0x97c6,0x97c6,0x97cb,0x97cd,0x97d0,0x97d0,0x97d3,0x97d3,0x97d9,0x97d9,0x97dc,0x97de,0x97e0,0x97e1,0x97e6,0x97e6,0x97ed,0x97ee,0x97f1,0x97f3,0x97f5,0x97f6,0x97fa,0x97fb,0x97fe,0x9803,0x9805,0x9806,0x9808,0x9808,0x980a,0x980a,0x980c,0x9813,0x9816,0x9818,0x981e,0x981e,0x9821,0x9821,0x9823,0x9824,0x9826,0x9826,0x982b,0x982b,0x982d,0x982e,0x9830,0x9830,0x9832,0x9832,0x9837,0x9839,0x983b,0x983c,0x983f,0x983f,0x9842,0x9842,0x9846,0x9848,0x984b,0x984e,0x9852,0x9855,0x9858,0x985a,0x985c,0x985c,0x985e,0x985e,0x9865,0x9867,0x986b,0x986b,0x986f,0x9871,0x9873,0x9875,0x98a8,0x98a8,0x98ad,0x98ad,0x98af,0x98af,0x98b1,0x98b2,0x98b6,0x98b6,0x98ba,0x98ba,0x98bc,0x98bc,0x98bf,0x98bf,0x98c2,0x98c2,0x98c4,0x98c4,0x98c6,0x98c7,0x98c9,0x98c9,0x98cb,0x98cb,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e2,0x98e6,0x98e7,0x98ea,0x98eb,0x98ed,0x98ef,0x98f1,0x98f1,0x98f4,0x98f4,0x98fb,0x98fe,0x9903,0x9903,0x9909,0x990a,0x990c,0x990c,0x9910,0x9910,0x9912,0x9915,0x9918,0x9918,0x991a,0x991a,0x991e,0x991e,0x9920,0x9920,0x9926,0x9928,0x992a,0x992a,0x992c,0x992c,0x992e,0x992e,0x9930,0x9931,0x9933,0x9933,0x9939,0x9939,0x993c,0x993d,0x9942,0x9942,0x9945,0x9945,0x9948,0x9949,0x994b,0x994d,0x9950,0x9952,0x9954,0x9955,0x9957,0x9957,0x995c,0x995c,0x995e,0x995e,0x9963,0x9963,0x9996,0x9999,0x999c,0x999d,0x999f,0x999f,0x99a1,0x99a1,0x99a3,0x99a3,0x99a5,0x99a5,0x99a7,0x99a8,0x99aa,0x99aa,0x99ac,0x99ae,0x99b0,0x99b1,0x99b3,0x99b4,0x99b6,0x99b6,0x99b9,0x99b9,0x99c1,0x99c1,0x99c4,0x99c5,0x99c8,0x99c9,0x99cf,0x99d2,0x99d5,0x99d5,0x99d8,0x99d9,0x99db,0x99df,0x99e2,0x99e2,0x99e8,0x99e8,0x99ea,0x99ea,0x99ed,0x99ee,0x99f1,0x99f1,0x99f8,0x99f8,0x99fa,0x99fb,0x99fd,0x99fd,0x99ff,0x99ff,0x9a01,0x9a05,0x9a08,0x9a08,0x9a0b,0x9a0b,0x9a0d,0x9a0f,0x9a11,0x9a11,0x9a16,0x9a16,0x9a18,0x9a19,0x9a1b,0x9a1b,0x9a2b,0x9a2b,0x9a2d,0x9a2d,0x9a30,0x9a30,0x9a35,0x9a38,0x9a3e,0x9a3e,0x9a40,0x9a45,0x9a4a,0x9a4a,0x9a4c,0x9a4f,0x9a52,0x9a52,0x9a55,0x9a55,0x9a57,0x9a58,0x9a5a,0x9a5b,0x9a5f,0x9a5f,0x9a62,0x9a62,0x9a64,0x9a65,0x9a69,0x9a6a,0x9a6c,0x9a6c,0x9aa8,0x9aa8,0x9aaa,0x9aaa,0x9ab0,0x9ab0,0x9ab8,0x9ab9,0x9abc,0x9abc,0x9abf,0x9ac0,0x9ac6,0x9ac6,0x9acf,0x9acf,0x9ad1,0x9ad1,0x9ad3,0x9ad4,0x9ad6,0x9ad8,0x9adf,0x9adf,0x9ae1,0x9ae1,0x9ae3,0x9ae3,0x9ae5,0x9ae6,0x9aeb,0x9aeb,0x9aed,0x9aee,0x9af0,0x9af0,0x9af2,0x9af2,0x9af4,0x9af4,0x9af9,0x9afb,0x9afd,0x9afd,0x9b02,0x9b02,0x9b05,0x9b06,0x9b0a,0x9b0b,0x9b0d,0x9b0d,0x9b10,0x9b10,0x9b12,0x9b12,0x9b16,0x9b16,0x9b18,0x9b1a,0x9b1f,0x9b1f,0x9b22,0x9b23,0x9b25,0x9b25,0x9b27,0x9b2a,0x9b2e,0x9b2f,0x9b31,0x9b32,0x9b3a,0x9b3a,0x9b3c,0x9b3c,0x9b41,0x9b45,0x9b48,0x9b48,0x9b4b,0x9b4b,0x9b4d,0x9b4f,0x9b51,0x9b51,0x9b54,0x9b54,0x9b58,0x9b58,0x9b5a,0x9b5a,0x9b66,0x9b66,0x9b6f,0x9b6f,0x9b74,0x9b74,0x9b80,0x9b80,0x9b83,0x9b83,0x9b8e,0x9b8e,0x9b90,0x9b93,0x9b97,0x9b97,0x9b9f,0x9b9f,0x9ba7,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bae,0x9bb9,0x9bb9,0x9bc1,0x9bc1,0x9bc6,0x9bc6,0x9bc9,0x9bca,0x9bd4,0x9bd4,0x9bd6,0x9bd6,0x9bdb,0x9bdb,0x9be2,0x9be2,0x9be4,0x9be4,0x9be8,0x9be8,0x9bf7,0x9bf7,0x9c08,0x9c08,0x9c0a,0x9c0a,0x9c0c,0x9c0d,0x9c10,0x9c10,0x9c12,0x9c13,0x9c15,0x9c15,0x9c24,0x9c25,0x9c2d,0x9c2f,0x9c31,0x9c32,0x9c35,0x9c35,0x9c39,0x9c3b,0x9c3e,0x9c3e,0x9c47,0x9c47,0x9c49,0x9c49,0x9c4f,0x9c4f,0x9c52,0x9c53,0x9c57,0x9c57,0x9c60,0x9c60,0x9c63,0x9c63,0x9c67,0x9c67,0x9c78,0x9c78,0x9c7b,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9ce9,0x9cf3,0x9cf4,0x9cf6,0x9cf6,0x9d03,0x9d03,0x9d06,0x9d09,0x9d0c,0x9d0c,0x9d12,0x9d12,0x9d15,0x9d15,0x9d18,0x9d19,0x9d1b,0x9d1b,0x9d1e,0x9d1f,0x9d23,0x9d23,0x9d25,0x9d26,0x9d28,0x9d28,0x9d2f,0x9d30,0x9d36,0x9d36,0x9d3b,0x9d3b,0x9d41,0x9d42,0x9d44,0x9d44,0x9d51,0x9d51,0x9d53,0x9d54,0x9d5d,0x9d5e,0x9d60,0x9d61,0x9d66,0x9d66,0x9d69,0x9d69,0x9d6c,0x9d6c,0x9d6f,0x9d70,0x9d72,0x9d72,0x9d77,0x9d77,0x9d7b,0x9d7b,0x9d7e,0x9d7e,0x9d84,0x9d84,0x9d89,0x9d8a,0x9d96,0x9d96,0x9d9a,0x9d9a,0x9da1,0x9da1,0x9da4,0x9da4,0x9da9,0x9da9,0x9dac,0x9dac,0x9daf,0x9daf,0x9db4,0x9db5,0x9db8,0x9db9,0x9dbb,0x9dbb,0x9dbf,0x9dbf,0x9dc1,0x9dc2,0x9dc4,0x9dc4,0x9dc7,0x9dc7,0x9dd3,0x9dd3,0x9dd6,0x9dd7,0x9dd9,0x9dd9,0x9de6,0x9de6,0x9de9,0x9deb,0x9df0,0x9df3,0x9df8,0x9dfa,0x9dfd,0x9dfd,0x9dff,0x9dff,0x9e07,0x9e07,0x9e0f,0x9e0f,0x9e15,0x9e15,0x9e1a,0x9e1f,0x9e75,0x9e75,0x9e77,0x9e77,0x9e79,0x9e7b,0x9e7d,0x9e7d,0x9e7f,0x9e80,0x9e82,0x9e82,0x9e84,0x9e84,0x9e8b,0x9e8c,0x9e8f,0x9e8f,0x9e91,0x9e93,0x9e97,0x9e98,0x9e9d,0x9e9f,0x9ea4,0x9ea6,0x9ea9,0x9eaa,0x9eaf,0x9eaf,0x9eb4,0x9eb5,0x9ebb,0x9ebb,0x9ebd,0x9ebf,0x9ec3,0x9ec5,0x9ecc,0x9ed1,0x9ed4,0x9ed4,0x9ed6,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ede,0x9ee0,0x9ee0,0x9ee5,0x9ee5,0x9ee8,0x9ee8,0x9eee,0x9eef,0x9ef2,0x9ef2,0x9ef4,0x9ef7,0x9ef9,0x9f00,0x9f02,0x9f02,0x9f04,0x9f04,0x9f07,0x9f0a,0x9f0e,0x9f0e,0x9f10,0x9f10,0x9f13,0x9f14,0x9f17,0x9f17,0x9f19,0x9f19,0x9f20,0x9f20,0x9f22,0x9f22,0x9f2b,0x9f2c,0x9f2f,0x9f2f,0x9f34,0x9f34,0x9f38,0x9f39,0x9f3b,0x9f3b,0x9f3e,0x9f3e,0x9f4a,0x9f4b,0x9f4e,0x9f4e,0x9f50,0x9f50,0x9f52,0x9f52,0x9f54,0x9f55,0x9f57,0x9f57,0x9f5f,0x9f61,0x9f66,0x9f67,0x9f69,0x9f6c,0x9f72,0x9f72,0x9f76,0x9f77,0x9f7f,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f95,0x9f99,0x9f99,0x9f9c,0x9f9d,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa5,0x9fa5,0xa960,0xa97c,0xac00,0xd7a3,0xd7b0,0xd7c6,0xd7cb,0xd7fb,0xf900,0xf95e,0xf960,0xf9a9,0xf9ab,0xfa0b,0xfa12,0xfa12,0xfa15,0xfa17,0xfa19,0xfa1e,0xfa22,0xfa22,0xfa26,0xfa26,0xfa2a,0xfa2c,0xfa2e,0xfa31,0xfa33,0xfa3d,0xfa3f,0xfa3f,0xfa41,0xfa41,0xfa43,0xfa55,0xfa57,0xfa57,0xfa59,0xfa68,0xfa6a,0xfa6a,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x200d7,0x200d7,0x2012c,0x2012c,0x205ca,0x205ca,0x20628,0x20628,0x20984,0x20984,0x21155,0x21155,0x2128d,0x2128d,0x21594,0x21594,0x21727,0x21727,0x21f5c,0x21f5c,0x224b0,0x224b0,0x224ed,0x224ed,0x2294f,0x2294f,0x22c6f,0x22c6f,0x22ee0,0x22ee0,0x230fd,0x230fd,0x23343,0x23343,0x2363b,0x2363b,0x23ad9,0x23ad9,0x242f1,0x242f1,0x2439d,0x2439d,0x248e9,0x248e9,0x248f0,0x248f0,0x24a01,0x24a01,0x24a12,0x24a12,0x25055,0x25055,0x2533e,0x2533e,0x253b5,0x253b5,0x253fe,0x253fe,0x25832,0x25832,0x2583a,0x2583a,0x25874,0x25874,0x25978,0x25978,0x25ad7,0x25ad7,0x25b97,0x25b97,0x25e44,0x25e44,0x26057,0x26057,0x265a4,0x265a4,0x267d8,0x267d8,0x26951,0x26951,0x27144,0x27144,0x275ff,0x275ff,0x27625,0x27625,0x278b2,0x278b2,0x27a51,0x27a51,0x27b02,0x27b02,0x27cef,0x27cef,0x27e7d,0x27e7d,0x27f1b,0x27f1b,0x27fb7,0x27fb7,0x283f6,0x283f6,0x284dc,0x284dc,0x28d8a,0x28d8a,0x28da1,0x28da1,0x28e0f,0x28e0f,0x291d5,0x291d5,0x291e3,0x291e3,0x294de,0x294de,0x29509,0x29509,0x2967f,0x2967f,0x29810,0x29810,0x2983b,0x2983b,0x2a2ad,0x2a2ad,0x2a4d0,0x2a4d0,0x2a664,0x2a664,0x2c115,0x2c115,0x2c7d3,0x2c7d3,0x2d544,0x2d544,0x2e569,0x2e569,0x2f815,0x2f815,0x2f818,0x2f818,0x2f81a,0x2f81a,0x2f82c,0x2f82c,0x2f833,0x2f833,0x2f852,0x2f852,0x2f862,0x2f862,0x2f877,0x2f877,0x2f884,0x2f884,0x2f8b2,0x2f8b2,0x2f8ed,0x2f8ed,0x2f8fc,0x2f8fc,0x2f920,0x2f920,0x2f96c,0x2f96c,0x2f9d0,0x2f9d0,0x2f9df,0x2f9df,0x30729,0x30729,0x30ede,0x30ede,]), - NotoFont.fromFlatList('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x966,0x96f,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xa830,0xa839,0x11080,0x110c1,0x110cd,0x110cd,]), - NotoFont.fromFlatList('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v21/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xc80,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbc,0xcc4,0xcc6,0xcc8,0xcca,0xccd,0xcd5,0xcd6,0xcde,0xcde,0xce0,0xce3,0xce6,0xcef,0xcf1,0xcf2,0x1cd0,0x1cd0,0x1cd2,0x1cd2,0x1cda,0x1cda,0x1cf2,0x1cf2,0x1cf4,0x1cf5,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa835,]), - NotoFont.fromFlatList('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x200c,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xa900,0xa92f,]), - NotoFont.fromFlatList('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,0x10a00,0x10a03,0x10a05,0x10a06,0x10a0c,0x10a13,0x10a15,0x10a17,0x10a19,0x10a35,0x10a38,0x10a3a,0x10a3f,0x10a48,0x10a50,0x10a58,]), - NotoFont.fromFlatList('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v18/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1780,0x17dd,0x17e0,0x17e9,0x17f0,0x17f9,0x19e0,0x19ff,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [0x20,0x20,0xa0,0xa0,0xae6,0xaef,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11200,0x11211,0x11213,0x1123e,]), - NotoFont.fromFlatList('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x200c,0x200d,0x2013,0x2014,0x25cc,0x25cc,0xa830,0xa839,0x112b0,0x112ea,0x112f0,0x112f9,]), - NotoFont.fromFlatList('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v24/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb9,0xebb,0xebd,0xec0,0xec4,0xec6,0xec6,0xec8,0xecd,0xed0,0xed9,0xedc,0xedf,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ad,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [0x20,0x20,0xa0,0xa0,0x1c00,0x1c37,0x1c3b,0x1c49,0x1c4d,0x1c4f,0x200b,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [0x20,0x20,0xa0,0xa0,0x965,0x965,0x1900,0x191e,0x1920,0x192b,0x1930,0x193b,0x1940,0x1940,0x1944,0x194f,0x200b,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [0x20,0x20,0xa0,0xa0,0x10600,0x10736,0x10740,0x10755,0x10760,0x10767,]), - NotoFont.fromFlatList('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [0x20,0x20,0xa0,0xa0,0x10000,0x1000b,0x1000d,0x10026,0x10028,0x1003a,0x1003c,0x1003d,0x1003f,0x1004d,0x10050,0x1005d,0x10080,0x100fa,0x10100,0x10102,0x10107,0x10133,0x10137,0x1013f,]), - NotoFont.fromFlatList('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v21/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2cd,0x2cd,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0x300a,0x300b,0xa4d0,0xa4ff,0x11fb0,0x11fb0,]), - NotoFont.fromFlatList('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [0x20,0x20,0xa0,0xa0,0x10280,0x1029c,]), - NotoFont.fromFlatList('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [0x20,0x20,0xa0,0xa0,0x10920,0x10939,0x1093f,0x1093f,]), - NotoFont.fromFlatList('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x96f,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11150,0x11176,]), - NotoFont.fromFlatList('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v21/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x323,0x323,0x326,0x328,0x951,0x952,0x964,0x965,0xd00,0xd0c,0xd0e,0xd10,0xd12,0xd44,0xd46,0xd48,0xd4a,0xd4f,0xd54,0xd63,0xd66,0xd7f,0x1cda,0x1cda,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa832,]), - NotoFont.fromFlatList('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x840,0x85b,0x85e,0x85e,0x200c,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200d,0x25cc,0x25cc,0xfe00,0xfe00,0x10ac0,0x10ae6,0x10aeb,0x10af6,]), - NotoFont.fromFlatList('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11c70,0x11c8f,0x11c92,0x11ca7,0x11ca9,0x11cb6,]), - NotoFont.fromFlatList('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [0x20,0x22,0x25,0x25,0x27,0x2f,0x3a,0x3f,0xa0,0xa0,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x11d00,0x11d06,0x11d08,0x11d09,0x11d0b,0x11d36,0x11d3a,0x11d3a,0x11d3c,0x11d3d,0x11d3f,0x11d47,0x11d50,0x11d59,]), - NotoFont.fromFlatList('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [0x20,0x7e,0xa0,0xa0,0xa7,0xa7,0xac,0xac,0xb1,0xb1,0xd7,0xd7,0xf7,0xf7,0x302,0x303,0x305,0x305,0x307,0x308,0x330,0x330,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x3d1,0x3d1,0x3d5,0x3d6,0x3f0,0x3f1,0x3f4,0x3f5,0x2032,0x2037,0x2057,0x2057,0x20d0,0x20dc,0x20e1,0x20e1,0x20e5,0x20ef,0x2102,0x2102,0x210a,0x210e,0x2110,0x2112,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2128,0x2128,0x212c,0x212d,0x212f,0x2131,0x2133,0x2138,0x213c,0x2140,0x2145,0x2149,0x2190,0x21ae,0x21b0,0x21e5,0x21f1,0x21f2,0x21f4,0x22ff,0x2308,0x230b,0x2310,0x2310,0x2319,0x2319,0x231c,0x2321,0x2336,0x237a,0x237c,0x237c,0x2395,0x2395,0x239b,0x23b6,0x23d0,0x23d0,0x23dc,0x23e1,0x2474,0x2475,0x25af,0x25af,0x25b3,0x25b3,0x25b7,0x25b7,0x25bd,0x25bd,0x25c1,0x25c1,0x25ca,0x25ca,0x25cc,0x25cc,0x25fb,0x25fb,0x266d,0x266f,0x27c0,0x27ff,0x2900,0x2aff,0x2b0e,0x2b11,0x2b30,0x2b4c,0x2bfe,0x2bfe,0xff5b,0xff5b,0xff5d,0xff5d,0x1d400,0x1d454,0x1d456,0x1d49c,0x1d49e,0x1d49f,0x1d4a2,0x1d4a2,0x1d4a5,0x1d4a6,0x1d4a9,0x1d4ac,0x1d4ae,0x1d4b9,0x1d4bb,0x1d4bb,0x1d4bd,0x1d4c3,0x1d4c5,0x1d505,0x1d507,0x1d50a,0x1d50d,0x1d514,0x1d516,0x1d51c,0x1d51e,0x1d539,0x1d53b,0x1d53e,0x1d540,0x1d544,0x1d546,0x1d546,0x1d54a,0x1d550,0x1d552,0x1d6a5,0x1d6a8,0x1d7cb,0x1d7ce,0x1d7ff,0x1ee00,0x1ee03,0x1ee05,0x1ee1f,0x1ee21,0x1ee22,0x1ee24,0x1ee24,0x1ee27,0x1ee27,0x1ee29,0x1ee32,0x1ee34,0x1ee37,0x1ee39,0x1ee39,0x1ee3b,0x1ee3b,0x1ee42,0x1ee42,0x1ee47,0x1ee47,0x1ee49,0x1ee49,0x1ee4b,0x1ee4b,0x1ee4d,0x1ee4f,0x1ee51,0x1ee52,0x1ee54,0x1ee54,0x1ee57,0x1ee57,0x1ee59,0x1ee59,0x1ee5b,0x1ee5b,0x1ee5d,0x1ee5d,0x1ee5f,0x1ee5f,0x1ee61,0x1ee62,0x1ee64,0x1ee64,0x1ee67,0x1ee6a,0x1ee6c,0x1ee72,0x1ee74,0x1ee77,0x1ee79,0x1ee7c,0x1ee7e,0x1ee7e,0x1ee80,0x1ee89,0x1ee8b,0x1ee9b,0x1eea1,0x1eea3,0x1eea5,0x1eea9,0x1eeab,0x1eebb,0x1eef0,0x1eef1,]), - NotoFont.fromFlatList('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [0x20,0x20,0xa0,0xa0,0x1d2e0,0x1d2f3,]), - NotoFont.fromFlatList('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [0x20,0x20,0xa0,0xa0,0x16e40,0x16e9a,]), - NotoFont.fromFlatList('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xaae0,0xaaf6,0xabc0,0xabed,0xabf0,0xabf9,]), - NotoFont.fromFlatList('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [0x20,0x20,0x3a,0x3a,0xa0,0xa0,0x2026,0x2026,0x205d,0x205d,0x10980,0x109b7,0x109bc,0x109cf,0x109d2,0x109ff,]), - NotoFont.fromFlatList('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x16f00,0x16f4a,0x16f4f,0x16f87,0x16f8f,0x16f9f,]), - NotoFont.fromFlatList('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11600,0x11644,0x11650,0x11659,]), - NotoFont.fromFlatList('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [0x20,0x22,0x28,0x29,0x2d,0x2d,0x3f,0x3f,0xa0,0xa0,0x1800,0x180e,0x1810,0x1819,0x1820,0x1878,0x1880,0x18aa,0x200c,0x200d,0x2013,0x2014,0x201c,0x201d,0x202f,0x202f,0x2048,0x2049,0x2460,0x2473,0x25cc,0x25cc,0x3001,0x3002,0x300a,0x300f,0xfe3d,0xfe3e,0xfe41,0xfe44,0x11660,0x1166c,]), - NotoFont.fromFlatList('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [0x20,0x20,0xa0,0xa0,0x16a40,0x16a5e,0x16a60,0x16a69,0x16a6e,0x16a6f,]), - NotoFont.fromFlatList('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [0x20,0x20,0xa0,0xa0,0xa66,0xa6f,0x11280,0x11286,0x11288,0x11288,0x1128a,0x1128d,0x1128f,0x1129d,0x1129f,0x112a9,]), - NotoFont.fromFlatList('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [0x20,0x20,0x3f,0x3f,0xa0,0xa0,0x1000,0x109f,0x200b,0x200d,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x25cc,0x25cc,0xa92e,0xa92e,0xa9e0,0xa9fe,0xaa60,0xaa7f,0xfe00,0xfe00,]), - NotoFont.fromFlatList('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [0x20,0x20,0xa0,0xa0,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x66a,0x66a,0x7c0,0x7fa,0x7fd,0x7ff,0x200c,0x200f,0x25cc,0x25cc,0x2e1c,0x2e1d,0xfd3e,0xfd3f,]), - NotoFont.fromFlatList('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [0x20,0x20,0xa0,0xa0,0x10880,0x1089e,0x108a7,0x108af,]), - NotoFont.fromFlatList('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [0x20,0x20,0xa0,0xa0,0x1980,0x19ab,0x19b0,0x19c9,0x19d0,0x19da,0x19de,0x19df,0x200c,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [0x20,0x20,0xa0,0xa0,0xb7,0xb7,0x1dfb,0x1dfb,0x200c,0x200d,0x25cc,0x25cc,0x11400,0x1145b,0x1145d,0x11461,]), - NotoFont.fromFlatList('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [0x20,0x20,0xa0,0xa0,0x16fe1,0x16fe1,0x1b170,0x1b2fb,]), - NotoFont.fromFlatList('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [0x20,0x20,0xa0,0xa0,0x1680,0x169c,]), - NotoFont.fromFlatList('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [0x20,0x20,0xa0,0xa0,0x1c50,0x1c7f,0x20b9,0x20b9,]), - NotoFont.fromFlatList('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [0x20,0x20,0xa0,0xa0,0x200d,0x200d,0x10c80,0x10cb2,0x10cc0,0x10cf2,0x10cfa,0x10cff,]), - NotoFont.fromFlatList('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [0x20,0x20,0xa0,0xa0,0x10300,0x10323,0x1032d,0x1032f,]), - NotoFont.fromFlatList('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [0x20,0x20,0xa0,0xa0,0x10a80,0x10a9f,]), - NotoFont.fromFlatList('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x300,0x306,0x308,0x313,0x313,0x483,0x483,0x20db,0x20db,0x25cc,0x25cc,0x10350,0x1037a,]), - NotoFont.fromFlatList('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [0x20,0x20,0xa0,0xa0,0x103a0,0x103c3,0x103c8,0x103d5,]), - NotoFont.fromFlatList('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [0x20,0x20,0xa0,0xa0,0x10f00,0x10f27,]), - NotoFont.fromFlatList('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [0x20,0x20,0xa0,0xa0,0x10a60,0x10a7f,]), - NotoFont.fromFlatList('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [0x20,0x20,0xa0,0xa0,0x10c00,0x10c48,]), - NotoFont.fromFlatList('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [0x20,0x23,0x25,0x25,0x27,0x2c,0x2e,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0xb01,0xb03,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb35,0xb39,0xb3c,0xb44,0xb47,0xb48,0xb4b,0xb4d,0xb56,0xb57,0xb5c,0xb5d,0xb5f,0xb63,0xb66,0xb77,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x20b9,0x20b9,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [0x20,0x20,0xa0,0xa0,0x301,0x301,0x304,0x304,0x30b,0x30b,0x358,0x358,0x25cc,0x25cc,0x104b0,0x104d3,0x104d8,0x104fb,]), - NotoFont.fromFlatList('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [0x20,0x20,0xa0,0xa0,0x10480,0x1049d,0x104a0,0x104a9,]), - NotoFont.fromFlatList('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x16b00,0x16b45,0x16b50,0x16b59,0x16b5b,0x16b61,0x16b63,0x16b77,0x16b7d,0x16b8f,]), - NotoFont.fromFlatList('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [0x20,0x20,0xa0,0xa0,0x10860,0x1087f,]), - NotoFont.fromFlatList('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [0x20,0x20,0xa0,0xa0,0x11ac0,0x11af8,]), - NotoFont.fromFlatList('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [0x20,0x20,0xa0,0xa0,0x1801,0x1803,0x1805,0x1805,0x200b,0x200f,0x2025,0x2026,0x25cc,0x25cc,0x3001,0x3002,0x3007,0x3011,0x3014,0x301b,0xa840,0xa877,0xfe00,0xfe00,]), - NotoFont.fromFlatList('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [0x20,0x20,0xa0,0xa0,0x10900,0x1091b,0x1091f,0x1091f,]), - NotoFont.fromFlatList('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200d,0x25cc,0x25cc,0x10b80,0x10b91,0x10b99,0x10b9c,0x10ba9,0x10baf,]), - NotoFont.fromFlatList('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa930,0xa953,0xa95f,0xa95f,]), - NotoFont.fromFlatList('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [0x20,0x20,0xa0,0xa0,0x16a0,0x16f8,]), - NotoFont.fromFlatList('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x4db5,0x4e00,0x9fef,0xf900,0xf903,0xf905,0xf906,0xf90b,0xf90c,0xf915,0xf915,0xf917,0xf91a,0xf921,0xf921,0xf92c,0xf92d,0xf92f,0xf92f,0xf931,0xf935,0xf937,0xf93a,0xf943,0xf943,0xf947,0xf94a,0xf94e,0xf94e,0xf952,0xf953,0xf95e,0xf95e,0xf962,0xf967,0xf96e,0xf96e,0xf972,0xf972,0xf974,0xf974,0xf976,0xf976,0xf979,0xf97b,0xf97e,0xf980,0xf984,0xf985,0xf98a,0xf98c,0xf98e,0xf98e,0xf993,0xf993,0xf995,0xf995,0xf998,0xf998,0xf9ae,0xf9ae,0xf9b3,0xf9b3,0xf9b7,0xf9b7,0xf9bb,0xf9bb,0xf9bd,0xf9be,0xf9c0,0xf9c0,0xf9c5,0xf9c6,0xf9d0,0xf9d0,0xf9d8,0xf9d9,0xf9dc,0xf9e0,0xf9e2,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f1,0xf9f1,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0f,0xfa11,0xfa11,0xfa13,0xfa14,0xfa18,0xfa18,0xfa1f,0xfa21,0xfa23,0xfa24,0xfa27,0xfa29,0xfa2f,0xfa2f,0xfa33,0xfa35,0xfa37,0xfa38,0xfa3a,0xfa3a,0xfa47,0xfa47,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20087,0x20087,0x20089,0x20089,0x200cc,0x200cc,0x20164,0x20164,0x20628,0x20628,0x20676,0x20676,0x20cd0,0x20cd0,0x2139a,0x2139a,0x21413,0x21413,0x215d7,0x215d7,0x2298f,0x2298f,0x235cb,0x235cb,0x23c97,0x23c98,0x23e23,0x23e23,0x241fe,0x241fe,0x2420e,0x2420e,0x248e9,0x248e9,0x249db,0x249db,0x24a01,0x24a01,0x24a7d,0x24a7d,0x24ac9,0x24ac9,0x25532,0x25532,0x25562,0x25562,0x255a8,0x255a8,0x25ad7,0x25ad7,0x25ed7,0x25ed7,0x26221,0x26221,0x2648d,0x2648d,0x26676,0x26676,0x2677c,0x2677c,0x26951,0x26951,0x26b5c,0x26b5c,0x26c21,0x26c21,0x278b2,0x278b2,0x27eaf,0x27eaf,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28408,0x28408,0x28678,0x28678,0x28695,0x28695,0x287e0,0x287e0,0x28b49,0x28b49,0x28c47,0x28c47,0x28c4f,0x28c4f,0x28c51,0x28c51,0x28c54,0x28c54,0x28e0f,0x28e0f,0x28e99,0x28e99,0x2967f,0x2967f,0x29810,0x29810,0x29f7e,0x29f7e,0x29f83,0x29f83,0x29f8c,0x29f8c,0x2a7dd,0x2a7dd,0x2a8fb,0x2a8fb,0x2a917,0x2a917,0x2aa30,0x2aa30,0x2aa36,0x2aa36,0x2aa58,0x2aa58,0x2afa2,0x2afa2,0x2b127,0x2b128,0x2b137,0x2b138,0x2b1ed,0x2b1ed,0x2b300,0x2b300,0x2b363,0x2b363,0x2b36f,0x2b36f,0x2b372,0x2b372,0x2b37d,0x2b37d,0x2b404,0x2b404,0x2b410,0x2b410,0x2b413,0x2b413,0x2b461,0x2b461,0x2b4e7,0x2b4e7,0x2b4ef,0x2b4ef,0x2b4f6,0x2b4f6,0x2b4f9,0x2b4f9,0x2b50d,0x2b50e,0x2b536,0x2b536,0x2b5ae,0x2b5af,0x2b5b3,0x2b5b3,0x2b5e7,0x2b5e7,0x2b5f4,0x2b5f4,0x2b61c,0x2b61d,0x2b626,0x2b628,0x2b62a,0x2b62a,0x2b62c,0x2b62c,0x2b695,0x2b696,0x2b6ad,0x2b6ad,0x2b6ed,0x2b6ed,0x2b7a9,0x2b7a9,0x2b7c5,0x2b7c5,0x2b7e6,0x2b7e6,0x2b7f9,0x2b7f9,0x2b7fc,0x2b7fc,0x2b806,0x2b806,0x2b80a,0x2b80a,0x2b81c,0x2b81c,0x2b8b8,0x2b8b8,0x2bac7,0x2bac7,0x2bb5f,0x2bb5f,0x2bb62,0x2bb62,0x2bb7c,0x2bb7c,0x2bb83,0x2bb83,0x2bc1b,0x2bc1b,0x2bd77,0x2bd77,0x2bd87,0x2bd87,0x2bdf7,0x2bdf7,0x2be29,0x2be29,0x2c029,0x2c02a,0x2c0a9,0x2c0a9,0x2c0ca,0x2c0ca,0x2c1d5,0x2c1d5,0x2c1d9,0x2c1d9,0x2c1f9,0x2c1f9,0x2c27c,0x2c27c,0x2c288,0x2c288,0x2c2a4,0x2c2a4,0x2c317,0x2c317,0x2c35b,0x2c35b,0x2c361,0x2c361,0x2c364,0x2c364,0x2c488,0x2c488,0x2c494,0x2c494,0x2c497,0x2c497,0x2c542,0x2c542,0x2c613,0x2c613,0x2c618,0x2c618,0x2c621,0x2c621,0x2c629,0x2c629,0x2c62b,0x2c62d,0x2c62f,0x2c62f,0x2c642,0x2c642,0x2c64a,0x2c64b,0x2c72c,0x2c72c,0x2c72f,0x2c72f,0x2c79f,0x2c79f,0x2c7c1,0x2c7c1,0x2c7fd,0x2c7fd,0x2c8d9,0x2c8d9,0x2c8de,0x2c8de,0x2c8e1,0x2c8e1,0x2c8f3,0x2c8f3,0x2c907,0x2c907,0x2c90a,0x2c90a,0x2c91d,0x2c91d,0x2ca02,0x2ca02,0x2ca0e,0x2ca0e,0x2ca7d,0x2ca7d,0x2caa9,0x2caa9,0x2cb29,0x2cb29,0x2cb2d,0x2cb2e,0x2cb31,0x2cb31,0x2cb38,0x2cb39,0x2cb3b,0x2cb3b,0x2cb3f,0x2cb3f,0x2cb41,0x2cb41,0x2cb4a,0x2cb4a,0x2cb4e,0x2cb4e,0x2cb5a,0x2cb5b,0x2cb64,0x2cb64,0x2cb69,0x2cb69,0x2cb6c,0x2cb6c,0x2cb6f,0x2cb6f,0x2cb73,0x2cb73,0x2cb76,0x2cb76,0x2cb78,0x2cb78,0x2cb7c,0x2cb7c,0x2cbb1,0x2cbb1,0x2cbbf,0x2cbc0,0x2cbce,0x2cbce,0x2cc56,0x2cc56,0x2cc5f,0x2cc5f,0x2ccf5,0x2ccf6,0x2ccfd,0x2ccfd,0x2ccff,0x2ccff,0x2cd02,0x2cd03,0x2cd0a,0x2cd0a,0x2cd8b,0x2cd8b,0x2cd8d,0x2cd8d,0x2cd8f,0x2cd90,0x2cd9f,0x2cda0,0x2cda8,0x2cda8,0x2cdad,0x2cdae,0x2cdd5,0x2cdd5,0x2ce18,0x2ce18,0x2ce1a,0x2ce1a,0x2ce23,0x2ce23,0x2ce26,0x2ce26,0x2ce2a,0x2ce2a,0x2ce7c,0x2ce7c,0x2ce88,0x2ce88,0x2ce93,0x2ce93,0x2d544,0x2d544,0x2f884,0x2f884,0x2f8b6,0x2f8b6,0x30edd,0x30ede,0x3106c,0x3106c,]), - NotoFont.fromFlatList('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa880,0xa8c5,0xa8ce,0xa8d9,]), - NotoFont.fromFlatList('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x951,0x1cd7,0x1cd7,0x1cd9,0x1cd9,0x1cdc,0x1cdd,0x1ce0,0x1ce0,0x200c,0x200d,0x25cc,0x25cc,0x11180,0x111df,]), - NotoFont.fromFlatList('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [0x20,0x20,0xa0,0xa0,0x10450,0x1047f,]), - NotoFont.fromFlatList('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x11580,0x115b5,0x115b8,0x115dd,]), - NotoFont.fromFlatList('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [0x20,0x23,0x25,0x25,0x27,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0xd81,0xd83,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xdca,0xdca,0xdcf,0xdd4,0xdd6,0xdd6,0xdd8,0xddf,0xde6,0xdef,0xdf2,0xdf4,0x200b,0x200d,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x111e1,0x111f4,]), - NotoFont.fromFlatList('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200c,0x25cc,0x25cc,0x10f30,0x10f59,]), - NotoFont.fromFlatList('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x2010,0x2010,0x110d0,0x110e8,0x110f0,0x110f9,]), - NotoFont.fromFlatList('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11a50,0x11aa2,]), - NotoFont.fromFlatList('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x1b80,0x1bbf,0x1cc0,0x1cc7,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x9e6,0x9ef,0x200b,0x200d,0x2010,0x2011,0x2055,0x2055,0x25cc,0x25cc,0xa800,0xa82c,]), - NotoFont.fromFlatList('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [0x20,0x21,0x28,0x2b,0x2d,0x2f,0x3a,0x3a,0x3d,0x3d,0x5b,0x5d,0xa0,0xa0,0xab,0xab,0xb0,0xb0,0xbb,0xbb,0x303,0x304,0x307,0x308,0x30a,0x30a,0x320,0x320,0x323,0x325,0x32d,0x32e,0x330,0x331,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x621,0x621,0x640,0x640,0x64b,0x655,0x660,0x66c,0x670,0x670,0x700,0x70d,0x70f,0x74a,0x74d,0x74f,0x200c,0x200f,0x2026,0x2026,0x2044,0x2044,0x2212,0x2212,0x25cc,0x25cc,0x2670,0x2671,]), - NotoFont.fromFlatList('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3435,0x3435,0x3440,0x3440,0x344a,0x344a,0x344c,0x344c,0x3464,0x3464,0x3473,0x3473,0x347a,0x347a,0x347d,0x347e,0x3493,0x3493,0x3496,0x3496,0x34a5,0x34a5,0x34af,0x34af,0x34bc,0x34bc,0x34c1,0x34c1,0x34c8,0x34c8,0x34df,0x34df,0x34e4,0x34e4,0x34e6,0x34e6,0x34fb,0x34fb,0x3506,0x3506,0x353e,0x353e,0x3551,0x3551,0x3553,0x3553,0x3559,0x3559,0x3561,0x3561,0x356d,0x356d,0x3570,0x3570,0x3572,0x3572,0x3577,0x3578,0x3584,0x3584,0x3597,0x3598,0x35a1,0x35a1,0x35a5,0x35a5,0x35ad,0x35ad,0x35bf,0x35bf,0x35c1,0x35c1,0x35c5,0x35c5,0x35c7,0x35c7,0x35ca,0x35ca,0x35ce,0x35ce,0x35d2,0x35d2,0x35d6,0x35d6,0x35db,0x35db,0x35dd,0x35dd,0x35f1,0x35f3,0x35fb,0x35fb,0x35fe,0x35fe,0x3609,0x3609,0x3618,0x3618,0x361a,0x361a,0x3623,0x3623,0x3625,0x3625,0x362d,0x362d,0x3635,0x3635,0x3639,0x3639,0x363e,0x363e,0x3647,0x3649,0x364e,0x364e,0x365f,0x365f,0x3661,0x3661,0x367a,0x367a,0x3681,0x3681,0x369a,0x369a,0x36a5,0x36a5,0x36aa,0x36aa,0x36ac,0x36ac,0x36b0,0x36b1,0x36b5,0x36b5,0x36b9,0x36b9,0x36bc,0x36bc,0x36c1,0x36c1,0x36c3,0x36c5,0x36c7,0x36c8,0x36d3,0x36d4,0x36d6,0x36d6,0x36dd,0x36dd,0x36e1,0x36e2,0x36e5,0x36e6,0x36f5,0x36f5,0x3701,0x3701,0x3703,0x3703,0x3708,0x3708,0x370a,0x370a,0x370d,0x370d,0x371c,0x371c,0x3722,0x3723,0x3725,0x3725,0x372c,0x372d,0x3730,0x3730,0x3732,0x3733,0x373a,0x373a,0x3740,0x3740,0x3743,0x3743,0x3762,0x3762,0x376f,0x376f,0x3797,0x3797,0x37a0,0x37a0,0x37b9,0x37b9,0x37be,0x37be,0x37d6,0x37d6,0x37f2,0x37f2,0x37f8,0x37f8,0x37fb,0x37fb,0x380f,0x380f,0x3819,0x3819,0x3820,0x3820,0x382d,0x382d,0x3836,0x3836,0x3838,0x3838,0x3863,0x3863,0x3875,0x3875,0x38a0,0x38a0,0x38c3,0x38c3,0x38cc,0x38cc,0x38d1,0x38d1,0x38d4,0x38d4,0x38fa,0x38fa,0x3908,0x3908,0x3914,0x3914,0x3927,0x3927,0x3932,0x3932,0x393f,0x393f,0x394d,0x394d,0x3963,0x3963,0x3978,0x3978,0x3980,0x3980,0x3989,0x398a,0x3992,0x3992,0x3999,0x3999,0x399b,0x399b,0x39a1,0x39a1,0x39a4,0x39a4,0x39b8,0x39b8,0x39dc,0x39dc,0x39e2,0x39e2,0x39e5,0x39e5,0x39ec,0x39ec,0x39f8,0x39f8,0x39fb,0x39fb,0x39fe,0x39fe,0x3a01,0x3a01,0x3a03,0x3a03,0x3a06,0x3a06,0x3a17,0x3a18,0x3a29,0x3a2a,0x3a34,0x3a34,0x3a4b,0x3a4b,0x3a52,0x3a52,0x3a57,0x3a57,0x3a5c,0x3a5c,0x3a5e,0x3a5e,0x3a66,0x3a67,0x3a97,0x3a97,0x3aab,0x3aab,0x3abd,0x3abd,0x3ada,0x3ada,0x3ade,0x3ade,0x3ae0,0x3ae0,0x3af0,0x3af0,0x3af2,0x3af2,0x3af5,0x3af5,0x3afb,0x3afb,0x3b0e,0x3b0e,0x3b19,0x3b19,0x3b22,0x3b22,0x3b2b,0x3b2b,0x3b39,0x3b39,0x3b42,0x3b42,0x3b58,0x3b58,0x3b60,0x3b60,0x3b71,0x3b72,0x3b7b,0x3b7c,0x3b80,0x3b80,0x3b95,0x3b96,0x3b99,0x3b99,0x3ba1,0x3ba1,0x3bbc,0x3bbc,0x3bbe,0x3bbe,0x3bc2,0x3bc2,0x3bc4,0x3bc4,0x3bd7,0x3bd7,0x3bdd,0x3bdd,0x3bec,0x3bec,0x3bf2,0x3bf4,0x3c0d,0x3c0d,0x3c11,0x3c11,0x3c15,0x3c15,0x3c18,0x3c18,0x3c54,0x3c54,0x3c8b,0x3c8b,0x3ccb,0x3ccb,0x3ccd,0x3ccd,0x3cd1,0x3cd1,0x3cd6,0x3cd6,0x3cdc,0x3cdc,0x3ceb,0x3ceb,0x3cef,0x3cef,0x3d12,0x3d13,0x3d1d,0x3d1d,0x3d32,0x3d32,0x3d3b,0x3d3b,0x3d46,0x3d46,0x3d4c,0x3d4c,0x3d4e,0x3d4e,0x3d51,0x3d51,0x3d5f,0x3d5f,0x3d62,0x3d62,0x3d69,0x3d6a,0x3d6f,0x3d6f,0x3d75,0x3d75,0x3d7d,0x3d7d,0x3d85,0x3d85,0x3d88,0x3d88,0x3d8a,0x3d8a,0x3d8f,0x3d8f,0x3d91,0x3d91,0x3da5,0x3da5,0x3dad,0x3dad,0x3db4,0x3db4,0x3dbf,0x3dbf,0x3dc6,0x3dc7,0x3dc9,0x3dc9,0x3dcc,0x3dcd,0x3dd3,0x3dd3,0x3ddb,0x3ddb,0x3de7,0x3de8,0x3deb,0x3deb,0x3df3,0x3df4,0x3df7,0x3df7,0x3dfc,0x3dfd,0x3e06,0x3e06,0x3e40,0x3e40,0x3e43,0x3e43,0x3e48,0x3e48,0x3e55,0x3e55,0x3e74,0x3e74,0x3ea8,0x3eaa,0x3ead,0x3ead,0x3eb1,0x3eb1,0x3eb8,0x3eb8,0x3ebf,0x3ebf,0x3ec2,0x3ec2,0x3ec7,0x3ec7,0x3eca,0x3eca,0x3ecc,0x3ecc,0x3ed0,0x3ed1,0x3ed6,0x3ed7,0x3eda,0x3edb,0x3ede,0x3ede,0x3ee1,0x3ee2,0x3ee7,0x3ee7,0x3ee9,0x3ee9,0x3eeb,0x3eec,0x3ef0,0x3ef0,0x3ef3,0x3ef4,0x3efa,0x3efa,0x3efc,0x3efc,0x3eff,0x3f00,0x3f04,0x3f04,0x3f06,0x3f07,0x3f0e,0x3f0e,0x3f53,0x3f53,0x3f58,0x3f59,0x3f63,0x3f63,0x3f7c,0x3f7c,0x3f93,0x3f93,0x3fc0,0x3fc0,0x3fc8,0x3fc8,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x3fe5,0x3fe5,0x3fed,0x3fed,0x3ff9,0x3ffa,0x4004,0x4004,0x4009,0x4009,0x401d,0x401d,0x4039,0x4039,0x4045,0x4045,0x4053,0x4053,0x4057,0x4057,0x4062,0x4062,0x4065,0x4065,0x406a,0x406a,0x406f,0x406f,0x4071,0x4071,0x40a8,0x40a8,0x40b4,0x40b4,0x40bb,0x40bb,0x40bf,0x40bf,0x40c8,0x40c8,0x40d8,0x40d8,0x40df,0x40df,0x40f8,0x40f8,0x40fa,0x40fa,0x4102,0x4104,0x4109,0x4109,0x410e,0x410e,0x4131,0x4132,0x4167,0x4167,0x416c,0x416c,0x416e,0x416e,0x417c,0x417c,0x417f,0x417f,0x4181,0x4181,0x4190,0x4190,0x41b2,0x41b2,0x41c4,0x41c4,0x41ca,0x41ca,0x41cf,0x41cf,0x41db,0x41db,0x41ed,0x41ed,0x41ef,0x41ef,0x41f9,0x41f9,0x4211,0x4211,0x4223,0x4223,0x4240,0x4240,0x4260,0x4260,0x426a,0x426a,0x4276,0x4276,0x427a,0x427a,0x428c,0x428c,0x4294,0x4294,0x42a2,0x42a2,0x42b5,0x42b5,0x42b9,0x42b9,0x42bc,0x42bc,0x42f4,0x42f4,0x42fb,0x42fc,0x430a,0x430a,0x432b,0x432b,0x436e,0x436e,0x4397,0x4397,0x439a,0x439a,0x43ba,0x43ba,0x43c1,0x43c1,0x43d9,0x43d9,0x43df,0x43df,0x43ed,0x43ed,0x43f0,0x43f0,0x43f2,0x43f2,0x4401,0x4402,0x4413,0x4413,0x4425,0x4425,0x442d,0x442d,0x447a,0x447a,0x448f,0x448f,0x4491,0x4491,0x449f,0x44a0,0x44a2,0x44a2,0x44b0,0x44b0,0x44b7,0x44b7,0x44bd,0x44bd,0x44c0,0x44c0,0x44c3,0x44c3,0x44c5,0x44c5,0x44ce,0x44ce,0x44dd,0x44df,0x44e1,0x44e1,0x44e4,0x44e4,0x44e9,0x44ec,0x44f4,0x44f4,0x4503,0x4504,0x4509,0x4509,0x450b,0x450b,0x4516,0x4516,0x451b,0x451b,0x451d,0x451d,0x4527,0x4527,0x452e,0x452e,0x4533,0x4533,0x4536,0x4536,0x453b,0x453b,0x453d,0x453d,0x453f,0x453f,0x4543,0x4543,0x4551,0x4552,0x4555,0x4555,0x4558,0x4558,0x455c,0x455c,0x4561,0x4562,0x456a,0x456a,0x456d,0x456d,0x4577,0x4578,0x4585,0x4585,0x45a6,0x45a6,0x45b3,0x45b3,0x45da,0x45da,0x45e9,0x45ea,0x4603,0x4603,0x4606,0x4606,0x460f,0x460f,0x4615,0x4615,0x4617,0x4617,0x465b,0x465b,0x467a,0x467a,0x4680,0x4680,0x46a1,0x46a1,0x46ae,0x46ae,0x46bb,0x46bb,0x46cf,0x46d0,0x46f5,0x46f5,0x46f7,0x46f7,0x4713,0x4713,0x4718,0x4718,0x4736,0x4736,0x4744,0x4744,0x474e,0x474f,0x477c,0x477c,0x4798,0x4798,0x47a6,0x47a6,0x47d5,0x47d5,0x47ed,0x47ed,0x47f4,0x47f4,0x4800,0x4800,0x480b,0x480b,0x4837,0x4837,0x485d,0x485d,0x4871,0x4871,0x489b,0x489b,0x48ad,0x48ae,0x48d0,0x48d0,0x48dd,0x48dd,0x48ed,0x48ed,0x48f3,0x48f3,0x48fa,0x48fa,0x4906,0x4906,0x4911,0x4911,0x491e,0x491e,0x4925,0x4925,0x492a,0x492a,0x492d,0x492d,0x492f,0x4930,0x4935,0x4935,0x493c,0x493c,0x493e,0x493e,0x4945,0x4945,0x4951,0x4951,0x4953,0x4953,0x4965,0x4965,0x496a,0x496a,0x4972,0x4972,0x4989,0x4989,0x49a1,0x49a1,0x49a7,0x49a7,0x49df,0x49df,0x49e5,0x49e5,0x49e7,0x49e7,0x4a0f,0x4a0f,0x4a1d,0x4a1d,0x4a24,0x4a24,0x4a35,0x4a35,0x4a96,0x4a96,0x4aa4,0x4aa4,0x4ab4,0x4ab4,0x4ab8,0x4ab8,0x4ad1,0x4ad1,0x4ae4,0x4ae4,0x4aff,0x4aff,0x4b10,0x4b10,0x4b19,0x4b19,0x4b20,0x4b20,0x4b2c,0x4b2c,0x4b37,0x4b37,0x4b6f,0x4b70,0x4b72,0x4b72,0x4b7b,0x4b7b,0x4b7e,0x4b7e,0x4b8e,0x4b8e,0x4b90,0x4b90,0x4b93,0x4b93,0x4b96,0x4b97,0x4b9d,0x4b9d,0x4bbd,0x4bbe,0x4bc0,0x4bc0,0x4c04,0x4c04,0x4c07,0x4c07,0x4c0e,0x4c0e,0x4c32,0x4c32,0x4c3b,0x4c3b,0x4c3e,0x4c3e,0x4c40,0x4c40,0x4c47,0x4c47,0x4c57,0x4c57,0x4c5b,0x4c5b,0x4c6d,0x4c6d,0x4c77,0x4c77,0x4c7b,0x4c7b,0x4c7d,0x4c7d,0x4c81,0x4c81,0x4c85,0x4c85,0x4ca4,0x4ca4,0x4cae,0x4cae,0x4cb0,0x4cb0,0x4cb7,0x4cb7,0x4ccd,0x4ccd,0x4ce1,0x4ce2,0x4ced,0x4ced,0x4d07,0x4d07,0x4d09,0x4d09,0x4d10,0x4d10,0x4d34,0x4d34,0x4d76,0x4d77,0x4d89,0x4d89,0x4d91,0x4d91,0x4d9c,0x4d9c,0x4e00,0x4e01,0x4e03,0x4e04,0x4e07,0x4e11,0x4e14,0x4e16,0x4e18,0x4e1a,0x4e1c,0x4e1c,0x4e1e,0x4e1f,0x4e21,0x4e22,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2a,0x4e33,0x4e36,0x4e39,0x4e3b,0x4e3d,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e47,0x4e49,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e52,0x4e53,0x4e56,0x4e56,0x4e58,0x4e5f,0x4e69,0x4e6a,0x4e73,0x4e73,0x4e78,0x4e78,0x4e7e,0x4e89,0x4e8b,0x4e8e,0x4e91,0x4e95,0x4e98,0x4e9b,0x4e9e,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb3,0x4eb3,0x4eb6,0x4eb7,0x4eb9,0x4ebc,0x4ebf,0x4ec4,0x4ec6,0x4ecb,0x4ecd,0x4ece,0x4ed4,0x4eda,0x4edc,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4ee8,0x4eeb,0x4eee,0x4eee,0x4ef0,0x4ef8,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f05,0x4f08,0x4f0b,0x4f0d,0x4f15,0x4f17,0x4f1a,0x4f1d,0x4f1d,0x4f22,0x4f22,0x4f28,0x4f29,0x4f2c,0x4f2d,0x4f2f,0x4f30,0x4f32,0x4f34,0x4f36,0x4f3f,0x4f41,0x4f43,0x4f45,0x4f49,0x4f4b,0x4f64,0x4f67,0x4f67,0x4f69,0x4f6c,0x4f6e,0x4f70,0x4f72,0x4f8b,0x4f8d,0x4f8d,0x4f8f,0x4f92,0x4f94,0x4f98,0x4f9a,0x4f9e,0x4fa2,0x4fa2,0x4fa8,0x4fa8,0x4fab,0x4fab,0x4fae,0x4fb0,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbd,0x4fbd,0x4fbf,0x4fc5,0x4fc7,0x4fd1,0x4fd3,0x4fd4,0x4fd6,0x4fe1,0x4fe4,0x4fe5,0x4fec,0x4fec,0x4fee,0x4ffa,0x4ffd,0x4ffe,0x5000,0x5000,0x5003,0x5003,0x5005,0x5009,0x500b,0x500f,0x5011,0x501c,0x501e,0x5023,0x5025,0x5031,0x5033,0x5035,0x5037,0x5037,0x503b,0x503c,0x5040,0x5041,0x5043,0x5043,0x5045,0x504f,0x5051,0x5051,0x5053,0x5053,0x5055,0x5058,0x505a,0x5066,0x5068,0x5070,0x5072,0x5077,0x507a,0x507a,0x507d,0x507d,0x5080,0x5083,0x5085,0x5085,0x5087,0x5088,0x508b,0x508e,0x5090,0x5092,0x5094,0x5096,0x5098,0x509e,0x50a2,0x50a3,0x50a6,0x50a6,0x50ac,0x50b8,0x50ba,0x50bf,0x50c1,0x50c2,0x50c4,0x50cb,0x50cd,0x50d1,0x50d3,0x50d7,0x50d9,0x50db,0x50dd,0x50dd,0x50df,0x50e1,0x50e3,0x50ea,0x50ec,0x50f1,0x50f3,0x50f6,0x50f8,0x50f9,0x50fb,0x510e,0x5110,0x5115,0x5117,0x5118,0x511a,0x511a,0x511c,0x511c,0x511f,0x5122,0x5124,0x5126,0x5129,0x512b,0x512d,0x512e,0x5130,0x5135,0x5137,0x513d,0x513f,0x5141,0x5143,0x5149,0x514b,0x514d,0x5151,0x5152,0x5154,0x5157,0x5159,0x5163,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5174,0x5179,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x518a,0x518d,0x518d,0x518f,0x518f,0x5191,0x5198,0x519a,0x519a,0x519c,0x519c,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a2,0x51a4,0x51a5,0x51a7,0x51a8,0x51aa,0x51ac,0x51ae,0x51ae,0x51b0,0x51b9,0x51bc,0x51be,0x51c3,0x51d4,0x51d7,0x51d8,0x51db,0x51e2,0x51e4,0x51e4,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fc,0x51fe,0x5200,0x5203,0x5205,0x520c,0x520e,0x520e,0x5210,0x5213,0x5216,0x5217,0x521c,0x5221,0x5224,0x522a,0x522e,0x522e,0x5230,0x5238,0x523a,0x523c,0x5241,0x5241,0x5243,0x5244,0x5246,0x5247,0x5249,0x524f,0x5252,0x5252,0x5254,0x5257,0x5259,0x5262,0x5268,0x526f,0x5272,0x5275,0x5277,0x527d,0x527f,0x5284,0x5287,0x528d,0x528f,0x5291,0x5293,0x5294,0x5296,0x529b,0x529f,0x52a1,0x52a3,0x52a4,0x52a6,0x52a6,0x52a8,0x52ae,0x52b5,0x52b5,0x52b9,0x52b9,0x52bb,0x52bc,0x52be,0x52be,0x52c0,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d0,0x52d3,0x52d5,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52e9,0x52e9,0x52eb,0x52eb,0x52ef,0x52f1,0x52f3,0x52f5,0x52f7,0x52fc,0x52fe,0x52ff,0x5301,0x5301,0x5305,0x5306,0x5308,0x530b,0x530d,0x5312,0x5315,0x5317,0x5319,0x531a,0x531c,0x531d,0x531f,0x5324,0x5327,0x5327,0x532a,0x532a,0x532c,0x532d,0x532f,0x5334,0x5337,0x5339,0x533b,0x5345,0x5347,0x534a,0x534c,0x534e,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x5361,0x5363,0x5364,0x5366,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x5379,0x537b,0x537f,0x5382,0x5382,0x5384,0x5384,0x538a,0x538a,0x538e,0x538f,0x5392,0x5394,0x5396,0x539a,0x539c,0x53a0,0x53a2,0x53a2,0x53a4,0x53ae,0x53b0,0x53b0,0x53b2,0x53b2,0x53b4,0x53b4,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c1,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d0,0x53d2,0x53d4,0x53d4,0x53d6,0x53db,0x53df,0x53e6,0x53e8,0x53f3,0x53f5,0x53f8,0x53fb,0x53fc,0x53fe,0x53fe,0x5401,0x5401,0x5403,0x5404,0x5406,0x5414,0x5416,0x5416,0x5418,0x5421,0x5423,0x5439,0x543b,0x5443,0x5445,0x5448,0x544a,0x544f,0x5454,0x5454,0x5460,0x546d,0x546f,0x5478,0x547a,0x5482,0x5484,0x5488,0x548b,0x5498,0x549a,0x549a,0x549c,0x549c,0x549e,0x549e,0x54a0,0x54b4,0x54b6,0x54c9,0x54cb,0x54d0,0x54d6,0x54d6,0x54da,0x54da,0x54de,0x54de,0x54e0,0x54eb,0x54ed,0x54ef,0x54f1,0x54f3,0x54f7,0x54f8,0x54fa,0x54fd,0x54ff,0x54ff,0x5501,0x5514,0x5517,0x5518,0x551a,0x551a,0x551e,0x551e,0x5523,0x5523,0x5525,0x5528,0x552a,0x5539,0x553b,0x553c,0x553e,0x5541,0x5543,0x554b,0x554d,0x5553,0x5555,0x5557,0x555c,0x555f,0x5561,0x5566,0x5569,0x556b,0x5571,0x5573,0x5575,0x5577,0x5579,0x5579,0x557b,0x5584,0x5586,0x5595,0x5598,0x559a,0x559c,0x559d,0x559f,0x559f,0x55a1,0x55ae,0x55b0,0x55b5,0x55b9,0x55bc,0x55bf,0x55df,0x55e1,0x55ea,0x55ec,0x55ec,0x55ee,0x55f2,0x55f5,0x55f7,0x55f9,0x5602,0x5604,0x5606,0x5608,0x5609,0x560c,0x5617,0x561b,0x5623,0x5625,0x5625,0x5627,0x5627,0x5629,0x562a,0x562c,0x5630,0x5632,0x563b,0x563d,0x5643,0x5645,0x5646,0x5648,0x564a,0x564c,0x5650,0x5652,0x5654,0x5657,0x565a,0x565d,0x565e,0x5660,0x5666,0x5668,0x5674,0x5676,0x567c,0x567e,0x5687,0x5689,0x5690,0x5692,0x5693,0x5695,0x5695,0x5697,0x569a,0x569c,0x569f,0x56a1,0x56a1,0x56a4,0x56a8,0x56aa,0x56af,0x56b1,0x56b7,0x56b9,0x56b9,0x56bc,0x56c3,0x56c5,0x56c6,0x56c8,0x56cd,0x56d1,0x56d1,0x56d3,0x56d4,0x56d6,0x56d7,0x56da,0x56db,0x56dd,0x56e2,0x56e4,0x56e5,0x56e7,0x56e7,0x56ea,0x56eb,0x56ed,0x56f1,0x56f7,0x56f7,0x56f9,0x56fb,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x5712,0x5716,0x5718,0x5718,0x571a,0x5720,0x5722,0x5723,0x5728,0x572a,0x572c,0x5730,0x5732,0x5734,0x573b,0x573b,0x573d,0x5743,0x5745,0x5747,0x5749,0x5752,0x5754,0x5754,0x5757,0x5757,0x575b,0x575b,0x575f,0x575f,0x5761,0x5762,0x5764,0x5764,0x5766,0x576b,0x576d,0x576d,0x576f,0x5777,0x577a,0x5780,0x5782,0x5783,0x5788,0x5788,0x578a,0x578d,0x578f,0x5790,0x5793,0x5795,0x5797,0x57a5,0x57a7,0x57a7,0x57aa,0x57aa,0x57ae,0x57ae,0x57b3,0x57b6,0x57b8,0x57bf,0x57c1,0x57c4,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57d0,0x57d2,0x57d2,0x57d4,0x57d5,0x57d7,0x57d7,0x57dc,0x57e7,0x57e9,0x57e9,0x57ec,0x57fe,0x5800,0x580e,0x5810,0x5810,0x5812,0x5812,0x5814,0x5814,0x5818,0x5819,0x581b,0x581e,0x5820,0x582a,0x582c,0x583b,0x583d,0x583d,0x583f,0x5840,0x5844,0x5844,0x5847,0x584f,0x5851,0x5855,0x5857,0x585f,0x5862,0x5865,0x5868,0x5869,0x586b,0x586d,0x586f,0x586f,0x5871,0x5876,0x5879,0x5883,0x5885,0x588b,0x588e,0x5894,0x5896,0x5896,0x5898,0x589a,0x589c,0x58a1,0x58a3,0x58a3,0x58a5,0x58ac,0x58ae,0x58b1,0x58b3,0x58b3,0x58b5,0x58b6,0x58ba,0x58bf,0x58c1,0x58c2,0x58c5,0x58c9,0x58cb,0x58cb,0x58ce,0x58d6,0x58d8,0x58e0,0x58e2,0x58e4,0x58e7,0x58e9,0x58eb,0x58ec,0x58ef,0x58f0,0x58f2,0x58f4,0x58f9,0x58ff,0x5902,0x5907,0x590a,0x590a,0x590c,0x590f,0x5911,0x5912,0x5914,0x5917,0x5919,0x591a,0x591c,0x591d,0x591f,0x5920,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5934,0x5934,0x5937,0x5938,0x593c,0x593c,0x593e,0x593e,0x5940,0x5940,0x5944,0x5945,0x5947,0x594a,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5962,0x5965,0x5965,0x5967,0x5967,0x5969,0x596e,0x5970,0x5979,0x597b,0x5985,0x5989,0x598a,0x598d,0x5990,0x5992,0x5994,0x5996,0x599a,0x599d,0x59a8,0x59ac,0x59ac,0x59ae,0x59c1,0x59c3,0x59d4,0x59d6,0x59d6,0x59d8,0x59de,0x59e0,0x59e1,0x59e3,0x59e6,0x59e8,0x5a03,0x5a09,0x5a0d,0x5a0f,0x5a0f,0x5a11,0x5a13,0x5a15,0x5a1c,0x5a1e,0x5a21,0x5a23,0x5a25,0x5a27,0x5a27,0x5a29,0x5a2e,0x5a33,0x5a33,0x5a35,0x5a39,0x5a3c,0x5a3e,0x5a40,0x5a4a,0x5a4c,0x5a4d,0x5a50,0x5a6e,0x5a70,0x5a71,0x5a77,0x5a7f,0x5a81,0x5a84,0x5a86,0x5a86,0x5a88,0x5a88,0x5a8a,0x5a8c,0x5a8e,0x5a97,0x5a99,0x5aa2,0x5aa4,0x5aa7,0x5aa9,0x5aac,0x5aae,0x5ac4,0x5ac6,0x5acf,0x5ad1,0x5ad1,0x5ad3,0x5ad3,0x5ad5,0x5ae6,0x5ae8,0x5aee,0x5af0,0x5af0,0x5af2,0x5afb,0x5afd,0x5aff,0x5b01,0x5b03,0x5b05,0x5b05,0x5b07,0x5b09,0x5b0b,0x5b0d,0x5b0f,0x5b11,0x5b13,0x5b17,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b23,0x5b28,0x5b2a,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b38,0x5b38,0x5b3c,0x5b41,0x5b43,0x5b48,0x5b4a,0x5b51,0x5b53,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b62,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6e,0x5b70,0x5b78,0x5b7a,0x5b7d,0x5b7f,0x5b85,0x5b87,0x5b89,0x5b8b,0x5b8c,0x5b8e,0x5b90,0x5b92,0x5b93,0x5b95,0x5b9f,0x5ba2,0x5ba8,0x5baa,0x5baa,0x5bac,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb9,0x5bbf,0x5bc7,0x5bca,0x5bce,0x5bd0,0x5bd9,0x5bdb,0x5bdb,0x5bde,0x5bec,0x5bee,0x5bf3,0x5bf5,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c03,0x5c05,0x5c07,0x5c16,0x5c1a,0x5c1a,0x5c1c,0x5c1c,0x5c1e,0x5c20,0x5c22,0x5c25,0x5c28,0x5c28,0x5c2a,0x5c2a,0x5c2c,0x5c2c,0x5c30,0x5c31,0x5c33,0x5c33,0x5c37,0x5c3c,0x5c3e,0x5c41,0x5c44,0x5c51,0x5c53,0x5c56,0x5c58,0x5c59,0x5c5c,0x5c5e,0x5c60,0x5c60,0x5c62,0x5c65,0x5c67,0x5c6a,0x5c6c,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c74,0x5c78,0x5c7c,0x5c7e,0x5c7e,0x5c85,0x5c86,0x5c88,0x5c8d,0x5c8f,0x5c95,0x5c99,0x5c9a,0x5c9c,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb8,0x5cba,0x5cba,0x5cc1,0x5cc2,0x5cc6,0x5ccc,0x5cce,0x5cdb,0x5cde,0x5cdf,0x5ce5,0x5ce5,0x5ce8,0x5cea,0x5cec,0x5cf1,0x5cf4,0x5cf9,0x5cfb,0x5cfd,0x5cff,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d20,0x5d22,0x5d29,0x5d2c,0x5d2c,0x5d2e,0x5d3a,0x5d3c,0x5d43,0x5d45,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d52,0x5d55,0x5d57,0x5d59,0x5d59,0x5d5b,0x5d5b,0x5d5e,0x5d5e,0x5d62,0x5d63,0x5d65,0x5d65,0x5d67,0x5d69,0x5d6b,0x5d6c,0x5d6f,0x5d72,0x5d74,0x5d74,0x5d77,0x5d82,0x5d84,0x5d8b,0x5d8d,0x5d8e,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d9a,0x5d9c,0x5da2,0x5da4,0x5da4,0x5da7,0x5db2,0x5db4,0x5dba,0x5dbc,0x5dbd,0x5dc0,0x5dc3,0x5dc6,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dcf,0x5dcf,0x5dd1,0x5dd2,0x5dd4,0x5dd8,0x5ddb,0x5ddb,0x5ddd,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df0,0x5df5,0x5df7,0x5df7,0x5df9,0x5df9,0x5dfd,0x5dff,0x5e02,0x5e04,0x5e06,0x5e06,0x5e09,0x5e0c,0x5e0e,0x5e0e,0x5e11,0x5e12,0x5e14,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e25,0x5e28,0x5e29,0x5e2b,0x5e2b,0x5e2d,0x5e2e,0x5e33,0x5e34,0x5e36,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e45,0x5e48,0x5e48,0x5e4a,0x5e4f,0x5e53,0x5e55,0x5e57,0x5e59,0x5e5b,0x5e63,0x5e66,0x5e70,0x5e72,0x5e76,0x5e78,0x5e80,0x5e82,0x5e84,0x5e86,0x5e8d,0x5e8f,0x5e8f,0x5e92,0x5e92,0x5e95,0x5e97,0x5e99,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea8,0x5eaa,0x5eae,0x5eb0,0x5eb9,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec4,0x5ece,0x5ed0,0x5ee3,0x5ee5,0x5ee9,0x5eec,0x5eec,0x5eee,0x5eef,0x5ef1,0x5ef4,0x5ef6,0x5efc,0x5efe,0x5eff,0x5f01,0x5f02,0x5f04,0x5f05,0x5f07,0x5f08,0x5f0a,0x5f0f,0x5f12,0x5f15,0x5f17,0x5f18,0x5f1a,0x5f1b,0x5f1d,0x5f1d,0x5f1f,0x5f1f,0x5f22,0x5f29,0x5f2d,0x5f2e,0x5f30,0x5f31,0x5f33,0x5f33,0x5f35,0x5f38,0x5f3a,0x5f3c,0x5f40,0x5f40,0x5f43,0x5f46,0x5f48,0x5f51,0x5f54,0x5f54,0x5f56,0x5f59,0x5f5c,0x5f5e,0x5f61,0x5f65,0x5f67,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f74,0x5f76,0x5f79,0x5f7b,0x5f83,0x5f85,0x5f8c,0x5f90,0x5f92,0x5f96,0x5f99,0x5f9b,0x5f9c,0x5f9e,0x5fa1,0x5fa4,0x5faf,0x5fb1,0x5fb2,0x5fb5,0x5fb7,0x5fb9,0x5fc5,0x5fc9,0x5fc9,0x5fcc,0x5fcd,0x5fcf,0x5fd2,0x5fd4,0x5fd9,0x5fdb,0x5fdb,0x5fdd,0x5fe1,0x5fe3,0x5fe5,0x5fe8,0x5fe8,0x5fea,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff3,0x5ff5,0x5ff7,0x5ff8,0x5ffa,0x5ffb,0x5ffd,0x5ffd,0x5fff,0x6000,0x6009,0x6017,0x6019,0x601e,0x6020,0x602f,0x6031,0x6035,0x6037,0x6037,0x6039,0x6039,0x603b,0x603b,0x6040,0x6047,0x6049,0x604d,0x6050,0x6050,0x6052,0x6055,0x6058,0x605b,0x605d,0x605f,0x6062,0x6070,0x6072,0x6072,0x6075,0x6075,0x6077,0x6077,0x607e,0x6081,0x6083,0x608a,0x608c,0x608e,0x6090,0x6090,0x6092,0x6092,0x6094,0x6097,0x609a,0x60a0,0x60a2,0x60a4,0x60a6,0x60a8,0x60b0,0x60c1,0x60c3,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d7,0x60e4,0x60e6,0x60e9,0x60f0,0x6101,0x6103,0x6110,0x6112,0x6116,0x6118,0x611d,0x611f,0x6120,0x6122,0x6123,0x6127,0x6129,0x612b,0x612c,0x612e,0x6130,0x6132,0x6132,0x6134,0x6134,0x6136,0x6137,0x613b,0x613b,0x613d,0x6142,0x6144,0x6150,0x6152,0x6156,0x6158,0x6168,0x616a,0x616c,0x616e,0x6177,0x6179,0x617a,0x617c,0x617e,0x6180,0x6183,0x6187,0x6187,0x6189,0x618e,0x6190,0x6196,0x6198,0x619d,0x619f,0x619f,0x61a1,0x61a2,0x61a4,0x61a4,0x61a7,0x61ba,0x61bc,0x61bc,0x61be,0x61c3,0x61c5,0x61cd,0x61cf,0x61d0,0x61d3,0x61d3,0x61d6,0x61d6,0x61d8,0x61d8,0x61da,0x61da,0x61de,0x61e0,0x61e2,0x61eb,0x61ed,0x61ee,0x61f0,0x61f2,0x61f5,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6219,0x621b,0x621f,0x6225,0x6227,0x6227,0x6229,0x622e,0x6230,0x6230,0x6232,0x6234,0x6236,0x6237,0x6239,0x623a,0x623d,0x6243,0x6246,0x624e,0x6250,0x6254,0x6258,0x625c,0x625e,0x625e,0x6260,0x6266,0x6268,0x6268,0x626d,0x6274,0x6276,0x6277,0x6279,0x628a,0x628c,0x628c,0x628e,0x6298,0x629d,0x629d,0x62a4,0x62a4,0x62a6,0x62a6,0x62a8,0x62b1,0x62b3,0x62b6,0x62b8,0x62b9,0x62bb,0x62bf,0x62c1,0x62dc,0x62df,0x62df,0x62e5,0x62e5,0x62eb,0x6303,0x6307,0x6309,0x630b,0x6311,0x6313,0x6316,0x6318,0x6318,0x6328,0x632f,0x6331,0x633e,0x6340,0x6351,0x6354,0x635a,0x635d,0x635d,0x6364,0x6365,0x6367,0x6369,0x636b,0x6372,0x6375,0x637d,0x637f,0x6385,0x6387,0x6392,0x6394,0x6394,0x6396,0x6399,0x639b,0x63a5,0x63a7,0x63b1,0x63b9,0x63b9,0x63bd,0x63be,0x63c0,0x63d3,0x63d5,0x63eb,0x63ed,0x63f6,0x63f8,0x63f9,0x63fb,0x63fc,0x63fe,0x63fe,0x6406,0x6407,0x6409,0x6410,0x6412,0x6418,0x641a,0x641c,0x641e,0x6428,0x642a,0x6430,0x6432,0x643b,0x643d,0x6441,0x6443,0x6443,0x644b,0x644b,0x644d,0x644e,0x6450,0x6454,0x6458,0x6461,0x6465,0x6469,0x646b,0x647d,0x647f,0x647f,0x6482,0x6482,0x6485,0x6485,0x6487,0x648d,0x648f,0x6493,0x6495,0x649a,0x649c,0x64a0,0x64a2,0x64a6,0x64a9,0x64a9,0x64ab,0x64b4,0x64b6,0x64b6,0x64bb,0x64c5,0x64c7,0x64c7,0x64c9,0x64cb,0x64cd,0x64d0,0x64d2,0x64d4,0x64d6,0x64db,0x64dd,0x64dd,0x64e0,0x64ed,0x64ef,0x64f4,0x64f7,0x64f8,0x64fa,0x6501,0x6503,0x6504,0x6506,0x6507,0x6509,0x650a,0x650c,0x6511,0x6513,0x6519,0x651b,0x6526,0x6529,0x6530,0x6532,0x6539,0x653b,0x653b,0x653d,0x653f,0x6541,0x6541,0x6543,0x6543,0x6545,0x6546,0x6548,0x654a,0x654d,0x654d,0x654f,0x654f,0x6551,0x6551,0x6553,0x655a,0x655c,0x655f,0x6562,0x6568,0x656a,0x656d,0x656f,0x656f,0x6572,0x657c,0x657f,0x6589,0x658b,0x658c,0x6590,0x6592,0x6594,0x6597,0x6599,0x6599,0x659b,0x65a2,0x65a4,0x65a5,0x65a7,0x65a8,0x65aa,0x65ac,0x65ae,0x65b0,0x65b2,0x65b3,0x65b5,0x65b9,0x65bb,0x65bf,0x65c1,0x65c6,0x65cb,0x65d4,0x65d6,0x65d7,0x65da,0x65db,0x65dd,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65f5,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6615,0x6618,0x6618,0x661c,0x6628,0x662b,0x662b,0x662d,0x6636,0x6639,0x663a,0x6641,0x6645,0x6647,0x664d,0x664f,0x664f,0x6651,0x6653,0x6657,0x6657,0x6659,0x6668,0x666a,0x666c,0x666e,0x6674,0x6676,0x667e,0x6680,0x6680,0x6684,0x668e,0x6690,0x6692,0x6694,0x669a,0x669d,0x669d,0x669f,0x66a2,0x66a4,0x66a4,0x66a8,0x66ab,0x66ad,0x66bb,0x66bd,0x66c0,0x66c4,0x66c4,0x66c6,0x66cf,0x66d2,0x66d2,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e4,0x66e6,0x66e9,0x66eb,0x66ee,0x66f0,0x66f4,0x66f6,0x66f9,0x66fc,0x66fc,0x66fe,0x6705,0x6708,0x6710,0x6712,0x6719,0x671b,0x671b,0x671d,0x6723,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6736,0x6738,0x673f,0x6744,0x6749,0x674b,0x6751,0x6753,0x6753,0x6755,0x6757,0x6759,0x675a,0x675c,0x6762,0x6767,0x6767,0x676a,0x677f,0x6781,0x6787,0x6789,0x6789,0x678b,0x6795,0x6797,0x679a,0x679c,0x679d,0x679f,0x67a0,0x67a4,0x67a4,0x67ac,0x67ac,0x67ae,0x67bb,0x67bf,0x67c6,0x67c8,0x67d4,0x67d6,0x67df,0x67e2,0x67e7,0x67e9,0x67fa,0x67fc,0x67fc,0x67fe,0x6804,0x680d,0x680d,0x6810,0x6810,0x6812,0x6814,0x6816,0x6818,0x681a,0x6822,0x6825,0x6826,0x6828,0x682b,0x682d,0x682f,0x6831,0x683e,0x6840,0x6851,0x6853,0x6856,0x685d,0x685d,0x6865,0x6865,0x686b,0x686b,0x686d,0x686f,0x6871,0x6872,0x6874,0x6879,0x687b,0x688c,0x688f,0x6894,0x6896,0x6898,0x689b,0x689d,0x689f,0x68a4,0x68a6,0x68b6,0x68b9,0x68b9,0x68bd,0x68bd,0x68c1,0x68c1,0x68c3,0x68ce,0x68d0,0x68d8,0x68da,0x68da,0x68dc,0x68e1,0x68e3,0x68e4,0x68e6,0x68ec,0x68ee,0x68fd,0x6900,0x6915,0x6917,0x691b,0x6925,0x6925,0x692a,0x692a,0x692c,0x692c,0x692f,0x6930,0x6932,0x6939,0x693b,0x6946,0x6948,0x694c,0x694e,0x694f,0x6951,0x697b,0x6980,0x6980,0x6982,0x6983,0x6985,0x6986,0x698a,0x698a,0x698d,0x698e,0x6990,0x6991,0x6993,0x699c,0x699e,0x69b7,0x69b9,0x69b9,0x69bb,0x69c4,0x69c6,0x69c6,0x69c9,0x69d1,0x69d3,0x69d6,0x69d9,0x69d9,0x69e1,0x69e2,0x69e4,0x69e9,0x69eb,0x69ee,0x69f1,0x69f4,0x69f6,0x6a0d,0x6a0f,0x6a0f,0x6a11,0x6a11,0x6a13,0x6a21,0x6a23,0x6a23,0x6a25,0x6a29,0x6a2b,0x6a2d,0x6a32,0x6a35,0x6a38,0x6a41,0x6a43,0x6a49,0x6a4b,0x6a5b,0x6a5d,0x6a6b,0x6a6d,0x6a6d,0x6a6f,0x6a6f,0x6a71,0x6a71,0x6a74,0x6a74,0x6a76,0x6a76,0x6a7a,0x6a7a,0x6a7e,0x6a85,0x6a87,0x6a87,0x6a89,0x6a8a,0x6a8c,0x6a97,0x6a99,0x6aa8,0x6aab,0x6aaf,0x6ab1,0x6abb,0x6abd,0x6abe,0x6ac2,0x6ac3,0x6ac5,0x6acd,0x6acf,0x6ad1,0x6ad3,0x6ad4,0x6ad8,0x6ae1,0x6ae5,0x6ae5,0x6ae7,0x6ae8,0x6aea,0x6aec,0x6aee,0x6af1,0x6af3,0x6af3,0x6af6,0x6af6,0x6af8,0x6afc,0x6b00,0x6b00,0x6b02,0x6b05,0x6b08,0x6b0b,0x6b0f,0x6b13,0x6b16,0x6b1a,0x6b1d,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b25,0x6b25,0x6b28,0x6b28,0x6b2c,0x6b2d,0x6b2f,0x6b2f,0x6b31,0x6b3f,0x6b41,0x6b43,0x6b45,0x6b4e,0x6b50,0x6b52,0x6b54,0x6b57,0x6b59,0x6b59,0x6b5b,0x6b5c,0x6b5e,0x6b67,0x6b6a,0x6b6a,0x6b6d,0x6b6d,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b74,0x6b74,0x6b76,0x6b7b,0x6b7e,0x6b84,0x6b86,0x6b86,0x6b88,0x6b8a,0x6b8c,0x6b8f,0x6b91,0x6b91,0x6b94,0x6b99,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba7,0x6baa,0x6bab,0x6bad,0x6bb0,0x6bb2,0x6bb3,0x6bb5,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc3,0x6bcd,0x6bcf,0x6bd0,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdc,0x6bde,0x6bde,0x6be0,0x6be4,0x6be6,0x6be8,0x6bea,0x6bec,0x6bef,0x6bf0,0x6bf2,0x6bf3,0x6bf7,0x6c06,0x6c08,0x6c09,0x6c0b,0x6c0d,0x6c0f,0x6c11,0x6c13,0x6c16,0x6c18,0x6c1d,0x6c1f,0x6c21,0x6c23,0x6c28,0x6c2a,0x6c2c,0x6c2e,0x6c3b,0x6c3d,0x6c43,0x6c46,0x6c46,0x6c49,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c61,0x6c65,0x6c6b,0x6c6d,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9d,0x6c9f,0x6c9f,0x6ca2,0x6ca2,0x6caa,0x6cb4,0x6cb6,0x6cc7,0x6cc9,0x6cd7,0x6cd9,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf3,0x6cf5,0x6cf5,0x6cf9,0x6cf9,0x6cff,0x6d12,0x6d16,0x6d1b,0x6d1d,0x6d20,0x6d22,0x6d22,0x6d24,0x6d42,0x6d4e,0x6d4e,0x6d57,0x6d5c,0x6d5e,0x6d6a,0x6d6c,0x6d72,0x6d74,0x6d98,0x6d9a,0x6d9a,0x6da4,0x6da5,0x6daa,0x6dac,0x6dae,0x6daf,0x6db1,0x6db5,0x6db7,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dcd,0x6dcf,0x6de6,0x6de8,0x6df7,0x6df9,0x6dfe,0x6e00,0x6e00,0x6e02,0x6e05,0x6e0a,0x6e0a,0x6e0f,0x6e0f,0x6e15,0x6e15,0x6e18,0x6e1d,0x6e1f,0x6e36,0x6e38,0x6e41,0x6e43,0x6e47,0x6e49,0x6e4b,0x6e4d,0x6e69,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e71,0x6e74,0x6e76,0x6e79,0x6e7c,0x6e7c,0x6e86,0x6e86,0x6e88,0x6e89,0x6e8b,0x6e8b,0x6e8d,0x6e90,0x6e92,0x6e94,0x6e96,0x6ea7,0x6eaa,0x6eab,0x6eae,0x6ed6,0x6ed8,0x6edd,0x6ee2,0x6ee2,0x6ee8,0x6ee9,0x6eeb,0x6eef,0x6ef1,0x6ef2,0x6ef4,0x6f0f,0x6f12,0x6f1a,0x6f1c,0x6f1c,0x6f1e,0x6f27,0x6f29,0x6f41,0x6f43,0x6f44,0x6f4e,0x6f58,0x6f5a,0x6f64,0x6f66,0x6f67,0x6f69,0x6f70,0x6f72,0x6f74,0x6f76,0x6f82,0x6f84,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f97,0x6f9d,0x6fb6,0x6fb8,0x6fc4,0x6fc6,0x6fcf,0x6fd3,0x6fd5,0x6fd8,0x6fe4,0x6fe6,0x6fe9,0x6feb,0x6ff2,0x6ff4,0x6ff4,0x6ff6,0x6ff8,0x6ffa,0x6ffc,0x6ffe,0x7001,0x7003,0x7007,0x7009,0x700f,0x7011,0x7011,0x7014,0x7024,0x7026,0x702c,0x702f,0x7035,0x7037,0x703c,0x703e,0x7046,0x7048,0x704d,0x7050,0x7052,0x7054,0x7058,0x705a,0x706c,0x706e,0x7071,0x7074,0x707a,0x707c,0x707f,0x7081,0x7086,0x7089,0x708b,0x708e,0x708f,0x7091,0x7096,0x7098,0x709a,0x709f,0x70a1,0x70a3,0x70a7,0x70a9,0x70a9,0x70ab,0x70b1,0x70b3,0x70b5,0x70b7,0x70be,0x70c0,0x70c0,0x70c4,0x70c8,0x70ca,0x70da,0x70dc,0x70e2,0x70e4,0x70e4,0x70ef,0x70f1,0x70f3,0x7100,0x7102,0x7102,0x7104,0x7106,0x7109,0x710e,0x7110,0x7110,0x7113,0x7113,0x7117,0x7117,0x7119,0x7123,0x7125,0x7126,0x7128,0x7129,0x712b,0x712c,0x712e,0x7136,0x713a,0x713b,0x713e,0x713e,0x7140,0x7147,0x7149,0x7154,0x7156,0x715a,0x715c,0x716c,0x716e,0x716e,0x7170,0x7178,0x717a,0x717e,0x7180,0x7182,0x7184,0x718a,0x718c,0x718c,0x718e,0x7192,0x7194,0x7194,0x7196,0x71a5,0x71a7,0x71aa,0x71ac,0x71ad,0x71af,0x71b5,0x71b7,0x71ba,0x71bc,0x71cb,0x71ce,0x71d2,0x71d4,0x71d6,0x71d8,0x71dd,0x71df,0x71e2,0x71e4,0x71e8,0x71eb,0x71ee,0x71f0,0x71f2,0x71f4,0x71f6,0x71f8,0x71f9,0x71fb,0x7203,0x7205,0x7207,0x7209,0x720a,0x720c,0x7210,0x7213,0x7217,0x7219,0x721b,0x721d,0x721f,0x7222,0x722e,0x7230,0x7230,0x7235,0x7236,0x7238,0x723b,0x723d,0x7242,0x7244,0x7244,0x7246,0x724c,0x724f,0x7250,0x7252,0x7253,0x7255,0x7263,0x7266,0x7267,0x7269,0x726a,0x726c,0x726c,0x726e,0x7270,0x7272,0x7274,0x7276,0x7279,0x727b,0x7282,0x7284,0x7289,0x728b,0x7298,0x729a,0x729b,0x729d,0x729f,0x72a1,0x72aa,0x72ac,0x72b0,0x72b2,0x72b2,0x72b4,0x72b5,0x72ba,0x72ba,0x72bd,0x72bd,0x72bf,0x72c6,0x72c9,0x72ce,0x72d0,0x72d2,0x72d4,0x72d4,0x72d6,0x72da,0x72dc,0x72dc,0x72df,0x72e4,0x72e6,0x72e6,0x72e8,0x72eb,0x72f3,0x72f4,0x72f6,0x7302,0x7304,0x7304,0x7307,0x7308,0x730a,0x730c,0x730f,0x7313,0x7316,0x7319,0x731b,0x731e,0x7322,0x7323,0x7325,0x732e,0x7330,0x733c,0x733e,0x7345,0x7348,0x734a,0x734c,0x7352,0x7357,0x735b,0x735d,0x7362,0x7365,0x736c,0x736e,0x7378,0x737a,0x738c,0x738e,0x738f,0x7392,0x7398,0x739c,0x73a2,0x73a4,0x73ad,0x73b2,0x73bc,0x73be,0x73c0,0x73c2,0x73d0,0x73d2,0x73de,0x73e0,0x73eb,0x73ed,0x73ef,0x73f3,0x740d,0x7411,0x7412,0x7414,0x7417,0x7419,0x7426,0x7428,0x743a,0x743c,0x743c,0x743f,0x7457,0x7459,0x7465,0x7467,0x7476,0x7479,0x747a,0x747c,0x7483,0x7485,0x748d,0x7490,0x7490,0x7492,0x7492,0x7494,0x7495,0x7497,0x74a1,0x74a3,0x74ab,0x74ad,0x74ad,0x74af,0x74b2,0x74b4,0x74bb,0x74bd,0x74c3,0x74c5,0x74c6,0x74c8,0x74c8,0x74ca,0x74cc,0x74cf,0x74d0,0x74d3,0x74e9,0x74ec,0x74ec,0x74ee,0x74ee,0x74f0,0x74f2,0x74f4,0x74f8,0x74fb,0x74fb,0x74fd,0x7500,0x7502,0x7505,0x7507,0x7508,0x750b,0x751a,0x751c,0x751f,0x7521,0x7522,0x7525,0x7526,0x7528,0x7535,0x7537,0x753b,0x753d,0x7540,0x7542,0x7542,0x7546,0x7548,0x754a,0x754f,0x7551,0x7551,0x7553,0x7555,0x7559,0x755d,0x755f,0x7560,0x7562,0x7567,0x756a,0x7570,0x7572,0x7572,0x7576,0x757a,0x757d,0x7580,0x7583,0x7584,0x7586,0x7587,0x758a,0x7592,0x7594,0x7595,0x7598,0x759a,0x759d,0x759e,0x75a2,0x75a5,0x75a7,0x75a7,0x75aa,0x75ab,0x75b0,0x75b6,0x75b8,0x75c5,0x75c7,0x75c8,0x75ca,0x75d2,0x75d4,0x75d5,0x75d7,0x75e4,0x75e6,0x75e7,0x75ed,0x75ed,0x75ef,0x7603,0x7607,0x760d,0x760f,0x7611,0x7613,0x7616,0x7619,0x7629,0x762c,0x762d,0x762f,0x7635,0x7638,0x7638,0x763a,0x763d,0x7640,0x7640,0x7642,0x7643,0x7646,0x7649,0x764c,0x7654,0x7656,0x765a,0x765c,0x765c,0x765f,0x7662,0x7664,0x7667,0x7669,0x766a,0x766c,0x7676,0x7678,0x767f,0x7681,0x7682,0x7684,0x7684,0x7686,0x768b,0x768e,0x7690,0x7692,0x7693,0x7695,0x7696,0x7699,0x769e,0x76a1,0x76a1,0x76a4,0x76a6,0x76aa,0x76ab,0x76ad,0x76b0,0x76b4,0x76b5,0x76b7,0x76b8,0x76ba,0x76bb,0x76bd,0x76bf,0x76c2,0x76c6,0x76c8,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76df,0x76e1,0x76e1,0x76e3,0x76e7,0x76e9,0x76ea,0x76ec,0x76f5,0x76f7,0x76fc,0x76fe,0x76fe,0x7701,0x7701,0x7703,0x7705,0x7707,0x770c,0x770e,0x7713,0x7715,0x7715,0x7719,0x771b,0x771d,0x7720,0x7722,0x7729,0x772b,0x772b,0x772d,0x772d,0x772f,0x772f,0x7731,0x773e,0x7740,0x7740,0x7743,0x7747,0x774a,0x774f,0x7752,0x7752,0x7754,0x7756,0x7758,0x775c,0x775e,0x7763,0x7765,0x776f,0x7772,0x7772,0x7777,0x7785,0x7787,0x7789,0x778b,0x778f,0x7791,0x7791,0x7793,0x7793,0x7795,0x7795,0x7797,0x77a3,0x77a5,0x77a5,0x77a7,0x77a8,0x77aa,0x77ad,0x77af,0x77b7,0x77b9,0x77bf,0x77c2,0x77c5,0x77c7,0x77c7,0x77c9,0x77d0,0x77d3,0x77d5,0x77d7,0x77de,0x77e0,0x77e0,0x77e2,0x77e3,0x77e5,0x77e9,0x77ec,0x77f4,0x77f7,0x77fe,0x7802,0x7803,0x7805,0x7806,0x7808,0x7809,0x780c,0x7814,0x7818,0x7818,0x781c,0x7823,0x7825,0x7835,0x7837,0x7839,0x783c,0x783d,0x7842,0x7845,0x7847,0x784e,0x7850,0x7854,0x785c,0x785e,0x7860,0x7860,0x7862,0x7862,0x7864,0x7866,0x7868,0x7871,0x7879,0x787c,0x787e,0x7881,0x7883,0x7889,0x788c,0x788f,0x7891,0x7891,0x7893,0x789a,0x789e,0x78a5,0x78a7,0x78ad,0x78af,0x78b4,0x78b6,0x78b6,0x78b8,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c3,0x78c5,0x78c7,0x78d5,0x78d7,0x78d8,0x78da,0x78db,0x78dd,0x78e5,0x78e7,0x78ea,0x78ec,0x78f5,0x78f7,0x78f7,0x78f9,0x78ff,0x7901,0x7902,0x7904,0x7906,0x7909,0x7909,0x790c,0x790c,0x790e,0x790e,0x7910,0x7914,0x7917,0x7917,0x7919,0x7919,0x791b,0x791e,0x7921,0x7921,0x7923,0x792f,0x7931,0x7936,0x7938,0x7942,0x7944,0x794c,0x794f,0x7965,0x7967,0x796b,0x796d,0x796d,0x7970,0x7974,0x7979,0x797a,0x797c,0x7983,0x7986,0x7988,0x798a,0x798b,0x798d,0x799d,0x799f,0x79a2,0x79a4,0x79ae,0x79b0,0x79b4,0x79b6,0x79bb,0x79bd,0x79c1,0x79c4,0x79c6,0x79c8,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79dc,0x79e0,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ee,0x79f1,0x79f1,0x79f4,0x79f4,0x79f6,0x79f8,0x79fa,0x79fb,0x7a00,0x7a00,0x7a02,0x7a06,0x7a08,0x7a08,0x7a0a,0x7a0e,0x7a10,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a26,0x7a26,0x7a28,0x7a28,0x7a2a,0x7a32,0x7a37,0x7a37,0x7a39,0x7a40,0x7a43,0x7a4e,0x7a54,0x7a54,0x7a56,0x7a58,0x7a5a,0x7a5c,0x7a5f,0x7a62,0x7a65,0x7a65,0x7a67,0x7a69,0x7a6b,0x7a6e,0x7a70,0x7a72,0x7a74,0x7a76,0x7a78,0x7a7b,0x7a7d,0x7a81,0x7a83,0x7a8c,0x7a8f,0x7a99,0x7a9e,0x7aa0,0x7aa2,0x7aa3,0x7aa8,0x7aac,0x7aae,0x7ab8,0x7aba,0x7abc,0x7abe,0x7ac5,0x7ac7,0x7acb,0x7acf,0x7acf,0x7ad1,0x7ad1,0x7ad3,0x7ad3,0x7ad8,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae7,0x7ae9,0x7aeb,0x7aed,0x7aef,0x7af6,0x7af7,0x7af9,0x7b01,0x7b04,0x7b06,0x7b08,0x7b0c,0x7b0e,0x7b14,0x7b18,0x7b1b,0x7b1d,0x7b20,0x7b22,0x7b35,0x7b38,0x7b39,0x7b3b,0x7b3b,0x7b40,0x7b40,0x7b42,0x7b52,0x7b54,0x7b56,0x7b58,0x7b58,0x7b60,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b78,0x7b7b,0x7b7b,0x7b82,0x7b82,0x7b84,0x7b85,0x7b87,0x7b88,0x7b8a,0x7b92,0x7b94,0x7b9d,0x7ba0,0x7ba4,0x7bac,0x7baf,0x7bb1,0x7bb2,0x7bb4,0x7bb5,0x7bb7,0x7bb9,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc7,0x7bc9,0x7bcc,0x7bce,0x7bd0,0x7bd4,0x7bd5,0x7bd8,0x7bec,0x7bf0,0x7bf4,0x7bf7,0x7c03,0x7c05,0x7c07,0x7c09,0x7c12,0x7c15,0x7c15,0x7c19,0x7c19,0x7c1b,0x7c23,0x7c25,0x7c2d,0x7c30,0x7c30,0x7c33,0x7c33,0x7c35,0x7c35,0x7c37,0x7c39,0x7c3b,0x7c40,0x7c42,0x7c45,0x7c47,0x7c4a,0x7c4c,0x7c4d,0x7c50,0x7c51,0x7c53,0x7c54,0x7c56,0x7c57,0x7c59,0x7c5d,0x7c5f,0x7c60,0x7c63,0x7c67,0x7c69,0x7c70,0x7c72,0x7c75,0x7c78,0x7c81,0x7c83,0x7c86,0x7c88,0x7c8a,0x7c8c,0x7c8e,0x7c91,0x7c92,0x7c94,0x7c98,0x7c9c,0x7c9c,0x7c9e,0x7c9f,0x7ca1,0x7ca3,0x7ca5,0x7ca8,0x7cac,0x7cac,0x7cae,0x7caf,0x7cb1,0x7cb5,0x7cb8,0x7cbf,0x7cc2,0x7cc3,0x7cc5,0x7cc5,0x7cc7,0x7cce,0x7cd0,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce8,0x7cea,0x7cea,0x7cec,0x7cf9,0x7cfb,0x7cfe,0x7d00,0x7d22,0x7d25,0x7d25,0x7d28,0x7d29,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d36,0x7d38,0x7d47,0x7d4a,0x7d4a,0x7d4d,0x7d56,0x7d58,0x7d58,0x7d5a,0x7d5f,0x7d61,0x7d63,0x7d66,0x7d6b,0x7d6d,0x7d73,0x7d79,0x7d7d,0x7d7f,0x7d81,0x7d83,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8f,0x7d91,0x7d97,0x7d9c,0x7da4,0x7da6,0x7db5,0x7db7,0x7dc2,0x7dc4,0x7dc7,0x7dc9,0x7dd0,0x7dd2,0x7dd4,0x7dd7,0x7de1,0x7de3,0x7dea,0x7dec,0x7dec,0x7dee,0x7df7,0x7df9,0x7dfe,0x7e03,0x7e03,0x7e07,0x7e17,0x7e1a,0x7e25,0x7e27,0x7e27,0x7e29,0x7e2b,0x7e2d,0x7e49,0x7e4c,0x7e4c,0x7e50,0x7e5c,0x7e5e,0x7e63,0x7e65,0x7e65,0x7e67,0x7e70,0x7e72,0x7e82,0x7e86,0x7e88,0x7e8a,0x7e8f,0x7e91,0x7e9c,0x7e9f,0x7e9f,0x7ea4,0x7ea4,0x7eac,0x7eac,0x7eba,0x7eba,0x7ec7,0x7ec7,0x7ecf,0x7ecf,0x7edf,0x7edf,0x7f06,0x7f06,0x7f36,0x7f3a,0x7f3d,0x7f41,0x7f43,0x7f45,0x7f47,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f61,0x7f63,0x7f63,0x7f65,0x7f6e,0x7f70,0x7f73,0x7f75,0x7f7f,0x7f83,0x7f83,0x7f85,0x7f8f,0x7f91,0x7f97,0x7f9a,0x7f9e,0x7fa0,0x7fa9,0x7fac,0x7fc3,0x7fc5,0x7fc5,0x7fc7,0x7fc7,0x7fc9,0x7fd2,0x7fd4,0x7fd5,0x7fd7,0x7fd7,0x7fdb,0x7fe3,0x7fe5,0x7ff5,0x7ff7,0x8008,0x800b,0x8012,0x8014,0x8019,0x801b,0x8021,0x8024,0x8026,0x8028,0x802a,0x802c,0x802c,0x802e,0x8031,0x8033,0x8037,0x8039,0x8039,0x803b,0x803f,0x8043,0x8043,0x8046,0x8048,0x804a,0x804a,0x804f,0x8052,0x8054,0x8054,0x8056,0x8056,0x8058,0x8058,0x805a,0x805e,0x8061,0x8064,0x8066,0x8067,0x806c,0x806c,0x806f,0x8073,0x8075,0x8079,0x807d,0x8080,0x8082,0x8082,0x8084,0x8087,0x8089,0x808c,0x808f,0x8090,0x8092,0x8093,0x8095,0x8096,0x8098,0x809d,0x809f,0x809f,0x80a1,0x80a3,0x80a5,0x80a5,0x80a7,0x80a7,0x80a9,0x80ab,0x80ad,0x80af,0x80b1,0x80b2,0x80b4,0x80b8,0x80ba,0x80ba,0x80bc,0x80bd,0x80c2,0x80ca,0x80cc,0x80d1,0x80d4,0x80de,0x80e0,0x80e1,0x80e3,0x80e6,0x80e9,0x80e9,0x80ec,0x80ed,0x80ef,0x80f6,0x80f8,0x80fe,0x8100,0x8103,0x8105,0x810a,0x810c,0x810c,0x810e,0x810e,0x8112,0x8112,0x8114,0x811b,0x811d,0x811f,0x8121,0x8125,0x8127,0x8127,0x8129,0x812d,0x812f,0x8132,0x8134,0x8134,0x8137,0x8137,0x8139,0x813a,0x813d,0x813e,0x8142,0x8144,0x8146,0x8148,0x814a,0x8156,0x8159,0x815c,0x815e,0x815e,0x8160,0x8162,0x8164,0x8167,0x8169,0x8169,0x816b,0x8174,0x8176,0x817a,0x817c,0x817d,0x817f,0x8180,0x8182,0x8184,0x8186,0x818d,0x818f,0x818f,0x8193,0x8193,0x8195,0x8195,0x8197,0x81a0,0x81a2,0x81a3,0x81a5,0x81ac,0x81ae,0x81ae,0x81b0,0x81b7,0x81b9,0x81ca,0x81cc,0x81cd,0x81cf,0x81d2,0x81d5,0x81d5,0x81d7,0x81db,0x81dd,0x81ea,0x81ec,0x81ef,0x81f2,0x81f4,0x81f6,0x81fc,0x81fe,0x8202,0x8204,0x8205,0x8207,0x820d,0x8210,0x8212,0x8214,0x8216,0x8218,0x8218,0x821a,0x8222,0x8225,0x8226,0x8228,0x822d,0x822f,0x822f,0x8232,0x823a,0x823c,0x8240,0x8242,0x8242,0x8244,0x8245,0x8247,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x825c,0x825e,0x825f,0x8261,0x8266,0x8268,0x8269,0x826b,0x826f,0x8271,0x8272,0x8274,0x8280,0x8283,0x8285,0x8287,0x8287,0x828a,0x828b,0x828d,0x8294,0x8298,0x829b,0x829d,0x82b1,0x82b3,0x82c0,0x82c2,0x82c4,0x82ca,0x82ca,0x82cf,0x82d9,0x82db,0x82dc,0x82de,0x82e8,0x82ea,0x8309,0x830b,0x830d,0x8316,0x831e,0x8320,0x8320,0x8322,0x8322,0x8324,0x832d,0x832f,0x832f,0x8331,0x833d,0x833f,0x8345,0x8347,0x8354,0x8356,0x8357,0x8362,0x8363,0x8366,0x8366,0x836f,0x836f,0x8373,0x8378,0x837a,0x837f,0x8381,0x8381,0x8383,0x8383,0x8385,0x839e,0x83a0,0x83a0,0x83a2,0x83ac,0x83ae,0x83b0,0x83b9,0x83b9,0x83bd,0x83cf,0x83d1,0x83d1,0x83d3,0x83d9,0x83db,0x83e5,0x83e7,0x83f6,0x83f8,0x83ff,0x8401,0x8401,0x8403,0x8407,0x8409,0x8414,0x8416,0x8416,0x8418,0x8418,0x841b,0x841c,0x8420,0x8421,0x8423,0x8424,0x8426,0x8426,0x8429,0x8429,0x842b,0x8440,0x8442,0x844e,0x8450,0x8469,0x846b,0x847a,0x847d,0x8480,0x8482,0x8482,0x8484,0x8484,0x8486,0x8486,0x8488,0x8488,0x848d,0x8494,0x8496,0x84a4,0x84a7,0x84b2,0x84b4,0x84b4,0x84b6,0x84b6,0x84b8,0x84c2,0x84c4,0x84c7,0x84c9,0x84d4,0x84d6,0x84d7,0x84da,0x84db,0x84de,0x84de,0x84e1,0x84e2,0x84e4,0x84e5,0x84e7,0x84ec,0x84ee,0x84f4,0x84f6,0x8500,0x8502,0x851a,0x851c,0x8521,0x8523,0x8531,0x8533,0x8534,0x8538,0x8538,0x853b,0x853b,0x853d,0x853e,0x8540,0x854e,0x8551,0x855b,0x855d,0x8571,0x8573,0x8573,0x8575,0x857c,0x857e,0x857e,0x8580,0x8591,0x8593,0x85a4,0x85a6,0x85aa,0x85af,0x85b1,0x85b3,0x85ba,0x85bd,0x85c9,0x85cb,0x85cb,0x85cd,0x85d2,0x85d5,0x85da,0x85dc,0x85e6,0x85e8,0x85f2,0x85f4,0x85f4,0x85f6,0x8602,0x8604,0x8607,0x8609,0x860d,0x860f,0x8611,0x8613,0x8614,0x8616,0x861c,0x861e,0x862a,0x862c,0x862f,0x8631,0x8636,0x8638,0x863c,0x863e,0x8640,0x8642,0x8643,0x8645,0x8648,0x864b,0x864e,0x8650,0x8650,0x8652,0x8656,0x8659,0x8659,0x865b,0x865c,0x865e,0x865f,0x8661,0x8665,0x8667,0x8674,0x8677,0x8677,0x8679,0x867c,0x867e,0x867e,0x8685,0x8687,0x868a,0x868e,0x8690,0x869a,0x869c,0x869e,0x86a0,0x86a5,0x86a7,0x86aa,0x86ad,0x86ad,0x86af,0x86c9,0x86cb,0x86cc,0x86d0,0x86d1,0x86d3,0x86d4,0x86d6,0x86df,0x86e2,0x86e4,0x86e6,0x86e6,0x86e8,0x86ed,0x86ef,0x86ef,0x86f5,0x86fb,0x86fe,0x86fe,0x8700,0x870e,0x8711,0x8713,0x8715,0x8715,0x8718,0x871c,0x871e,0x871e,0x8720,0x872a,0x872c,0x872e,0x8730,0x8735,0x8737,0x8738,0x873a,0x873c,0x873e,0x8743,0x8746,0x8746,0x874c,0x8771,0x8773,0x877b,0x877d,0x877d,0x8781,0x8789,0x878b,0x878d,0x878f,0x8794,0x8796,0x8798,0x879a,0x879f,0x87a2,0x87a5,0x87a9,0x87c6,0x87c8,0x87cc,0x87ce,0x87ce,0x87d1,0x87d4,0x87d6,0x87e8,0x87ea,0x87ef,0x87f2,0x87f7,0x87f9,0x87fc,0x87fe,0x8806,0x8808,0x880d,0x880f,0x8811,0x8813,0x8819,0x881b,0x881d,0x881f,0x8833,0x8835,0x8839,0x883b,0x8846,0x8848,0x8848,0x884a,0x884f,0x8852,0x8853,0x8855,0x8857,0x8859,0x885b,0x885d,0x885e,0x8860,0x8865,0x8867,0x886b,0x886d,0x8872,0x8874,0x8877,0x8879,0x8879,0x887c,0x8884,0x8887,0x8889,0x888b,0x8893,0x8895,0x88a2,0x88a4,0x88a4,0x88a7,0x88a8,0x88aa,0x88ac,0x88ae,0x88ae,0x88b1,0x88b2,0x88b4,0x88ba,0x88bc,0x88c2,0x88c5,0x88c5,0x88c7,0x88c7,0x88c9,0x88d0,0x88d2,0x88d2,0x88d4,0x88df,0x88e1,0x88e1,0x88e6,0x88e8,0x88eb,0x88ec,0x88ee,0x8902,0x8905,0x8907,0x8909,0x890c,0x890e,0x890e,0x8910,0x891a,0x891e,0x891f,0x8921,0x8927,0x8929,0x8933,0x8935,0x8938,0x893b,0x893e,0x8941,0x8944,0x8946,0x8947,0x8949,0x8949,0x894b,0x894d,0x894f,0x8954,0x8956,0x8966,0x8969,0x896f,0x8971,0x8974,0x8976,0x8977,0x8979,0x897c,0x897e,0x8983,0x8985,0x898b,0x898f,0x898f,0x8991,0x8991,0x8993,0x8998,0x899b,0x899f,0x89a1,0x89a7,0x89a9,0x89aa,0x89ac,0x89af,0x89b2,0x89b2,0x89b6,0x89b7,0x89b9,0x89ba,0x89bc,0x89c1,0x89c6,0x89c6,0x89d2,0x89d6,0x89d9,0x89dd,0x89df,0x89e9,0x89eb,0x89ed,0x89f0,0x89f4,0x89f6,0x89f8,0x89fa,0x89fc,0x89fe,0x8a00,0x8a02,0x8a04,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a13,0x8a15,0x8a18,0x8a1b,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a27,0x8a27,0x8a29,0x8a2d,0x8a30,0x8a31,0x8a34,0x8a34,0x8a36,0x8a36,0x8a38,0x8a41,0x8a44,0x8a46,0x8a48,0x8a4a,0x8a4c,0x8a52,0x8a54,0x8a59,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a7f,0x8a81,0x8a87,0x8a8b,0x8a8d,0x8a8f,0x8a96,0x8a98,0x8a9a,0x8a9c,0x8a9c,0x8a9e,0x8a9e,0x8aa0,0x8aa1,0x8aa3,0x8aac,0x8aaf,0x8ab0,0x8ab2,0x8ab2,0x8ab4,0x8ab4,0x8ab6,0x8ab6,0x8ab8,0x8ac0,0x8ac2,0x8ac9,0x8acb,0x8acd,0x8acf,0x8acf,0x8ad1,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae8,0x8aea,0x8aeb,0x8aed,0x8afc,0x8afe,0x8b02,0x8b04,0x8b08,0x8b0a,0x8b20,0x8b22,0x8b28,0x8b2a,0x8b31,0x8b33,0x8b33,0x8b35,0x8b37,0x8b39,0x8b43,0x8b45,0x8b5a,0x8b5c,0x8b60,0x8b62,0x8b63,0x8b65,0x8b6d,0x8b6f,0x8b70,0x8b74,0x8b74,0x8b77,0x8b7b,0x8b7d,0x8b86,0x8b88,0x8b88,0x8b8a,0x8b8c,0x8b8e,0x8b90,0x8b92,0x8b96,0x8b98,0x8b9c,0x8b9e,0x8ba0,0x8bbe,0x8bbe,0x8be2,0x8be2,0x8c37,0x8c37,0x8c39,0x8c39,0x8c3b,0x8c3f,0x8c41,0x8c43,0x8c45,0x8c51,0x8c54,0x8c57,0x8c5a,0x8c5a,0x8c5c,0x8c5d,0x8c5f,0x8c5f,0x8c61,0x8c62,0x8c64,0x8c66,0x8c68,0x8c6d,0x8c6f,0x8c73,0x8c75,0x8c7b,0x8c7d,0x8c7d,0x8c80,0x8c82,0x8c84,0x8c86,0x8c89,0x8c8a,0x8c8c,0x8c8d,0x8c8f,0x8c95,0x8c97,0x8ca5,0x8ca7,0x8cad,0x8caf,0x8cb0,0x8cb2,0x8cc5,0x8cc7,0x8cc8,0x8cca,0x8cca,0x8ccc,0x8ccd,0x8ccf,0x8ccf,0x8cd1,0x8cd7,0x8cd9,0x8cee,0x8cf0,0x8cf5,0x8cf7,0x8cfe,0x8d00,0x8d00,0x8d02,0x8d0d,0x8d0f,0x8d19,0x8d1b,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d69,0x8d6b,0x8d70,0x8d72,0x8d74,0x8d76,0x8d7b,0x8d7d,0x8d7d,0x8d80,0x8d82,0x8d84,0x8d85,0x8d89,0x8d8a,0x8d8c,0x8d96,0x8d99,0x8d99,0x8d9b,0x8d9c,0x8d9f,0x8da1,0x8da3,0x8da3,0x8da5,0x8daf,0x8db2,0x8db7,0x8db9,0x8dba,0x8dbc,0x8dbc,0x8dbe,0x8dc3,0x8dc5,0x8dc8,0x8dcb,0x8dd1,0x8dd3,0x8ddd,0x8ddf,0x8de4,0x8de6,0x8dec,0x8dee,0x8df4,0x8dfa,0x8dfa,0x8dfc,0x8e07,0x8e09,0x8e0a,0x8e0d,0x8e2b,0x8e2d,0x8e2e,0x8e30,0x8e31,0x8e33,0x8e36,0x8e38,0x8e3a,0x8e3c,0x8e42,0x8e44,0x8e50,0x8e53,0x8e57,0x8e59,0x8e6a,0x8e6c,0x8e6d,0x8e6f,0x8e6f,0x8e71,0x8e78,0x8e7a,0x8e7c,0x8e7e,0x8e7e,0x8e80,0x8e82,0x8e84,0x8e8e,0x8e90,0x8e98,0x8e9a,0x8e9a,0x8e9d,0x8ea1,0x8ea3,0x8ead,0x8eb0,0x8eb0,0x8eb2,0x8eb2,0x8eb6,0x8eb6,0x8eb9,0x8eba,0x8ebc,0x8ebd,0x8ec0,0x8ec0,0x8ec2,0x8ec3,0x8ec9,0x8ecf,0x8ed1,0x8ed4,0x8ed7,0x8ed8,0x8eda,0x8ee2,0x8ee4,0x8ee9,0x8eeb,0x8eef,0x8ef1,0x8ef2,0x8ef4,0x8efc,0x8efe,0x8f03,0x8f05,0x8f0b,0x8f0d,0x8f0e,0x8f10,0x8f20,0x8f23,0x8f26,0x8f29,0x8f2a,0x8f2c,0x8f30,0x8f32,0x8f39,0x8f3b,0x8f3c,0x8f3e,0x8f4b,0x8f4d,0x8f64,0x8f66,0x8f67,0x8f6e,0x8f6e,0x8f93,0x8f93,0x8f9b,0x8f9c,0x8f9f,0x8fa0,0x8fa3,0x8fa3,0x8fa5,0x8fa8,0x8fad,0x8fbc,0x8fbe,0x8fbf,0x8fc1,0x8fc2,0x8fc4,0x8fc6,0x8fc9,0x8fd7,0x8fda,0x8fda,0x8fe0,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8feb,0x8fed,0x8fee,0x8ff0,0x8ff0,0x8ff4,0x9006,0x9008,0x9008,0x900b,0x900d,0x900f,0x9012,0x9014,0x9017,0x9019,0x9024,0x902d,0x902f,0x9031,0x9038,0x903c,0x903f,0x9041,0x9042,0x9044,0x9044,0x9046,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9064,0x9067,0x9069,0x906b,0x9070,0x9072,0x9088,0x908a,0x908b,0x908d,0x908d,0x908f,0x9091,0x9094,0x9095,0x9097,0x9099,0x909b,0x909b,0x909e,0x90a3,0x90a5,0x90a8,0x90aa,0x90aa,0x90ae,0x90b6,0x90b8,0x90b8,0x90bb,0x90bb,0x90bd,0x90bf,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90c8,0x90ca,0x90cb,0x90ce,0x90ce,0x90d4,0x90dd,0x90df,0x90e5,0x90e8,0x90ed,0x90ef,0x90f5,0x90f9,0x9109,0x910b,0x910b,0x910d,0x9112,0x9114,0x9114,0x9116,0x9124,0x9126,0x9136,0x9138,0x913b,0x913e,0x9141,0x9143,0x9153,0x9155,0x915a,0x915c,0x915c,0x915e,0x9165,0x9167,0x916a,0x916c,0x916c,0x916e,0x9170,0x9172,0x917a,0x917c,0x917c,0x9180,0x9187,0x9189,0x9193,0x9196,0x9196,0x9199,0x91a3,0x91a5,0x91a5,0x91a7,0x91b7,0x91b9,0x91be,0x91c0,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d3,0x91da,0x91dc,0x91dd,0x91df,0x91df,0x91e2,0x91ee,0x91f1,0x91f1,0x91f3,0x91fa,0x91fd,0x920a,0x920c,0x921a,0x921c,0x921c,0x921e,0x921e,0x9221,0x9221,0x9223,0x9228,0x922a,0x922b,0x922d,0x922e,0x9230,0x923a,0x923c,0x9241,0x9244,0x9246,0x9248,0x9258,0x925a,0x925b,0x925d,0x9267,0x926b,0x9270,0x9272,0x9272,0x9276,0x928f,0x9291,0x9291,0x9293,0x929d,0x92a0,0x92ac,0x92ae,0x92ae,0x92b1,0x92b7,0x92b9,0x92bc,0x92be,0x92d5,0x92d7,0x92d9,0x92db,0x92db,0x92dd,0x92e1,0x92e3,0x92f4,0x92f6,0x9304,0x9306,0x9309,0x930b,0x9310,0x9312,0x9316,0x9318,0x931b,0x931d,0x9331,0x9333,0x9336,0x9338,0x9339,0x933c,0x933c,0x9340,0x9352,0x9354,0x935c,0x935e,0x936e,0x9370,0x9371,0x9373,0x937e,0x9380,0x938a,0x938c,0x9392,0x9394,0x93aa,0x93ac,0x93b5,0x93b7,0x93b8,0x93bb,0x93bb,0x93bd,0x93bd,0x93bf,0x93c0,0x93c2,0x93c4,0x93c6,0x93c8,0x93ca,0x93e4,0x93e6,0x93e8,0x93ec,0x93ec,0x93ee,0x93ee,0x93f0,0x93f1,0x93f3,0x9401,0x9403,0x9404,0x9406,0x9419,0x941b,0x941b,0x941d,0x941d,0x9420,0x9420,0x9424,0x9433,0x9435,0x9440,0x9442,0x944d,0x944f,0x9452,0x9454,0x9455,0x9457,0x9458,0x945b,0x945b,0x945d,0x945e,0x9460,0x9460,0x9462,0x9465,0x9467,0x9479,0x947b,0x9483,0x9485,0x9485,0x949f,0x949f,0x94a2,0x94a2,0x94c1,0x94c1,0x94c3,0x94c3,0x94dc,0x94dc,0x94f6,0x94f6,0x952d,0x952d,0x9547,0x9547,0x9577,0x9578,0x957a,0x957d,0x957f,0x9580,0x9582,0x9583,0x9585,0x9586,0x9588,0x9589,0x958b,0x9594,0x9596,0x9599,0x959b,0x959c,0x959e,0x95ae,0x95b0,0x95b2,0x95b5,0x95b7,0x95b9,0x95c0,0x95c3,0x95c3,0x95c5,0x95cd,0x95d0,0x95d6,0x95da,0x95dc,0x95de,0x95e5,0x95e8,0x95e8,0x95f4,0x95f4,0x961c,0x961e,0x9620,0x9624,0x9628,0x9628,0x962a,0x962a,0x962c,0x9633,0x9638,0x963d,0x963f,0x9645,0x964a,0x9651,0x9653,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x9669,0x966d,0x966f,0x9678,0x967b,0x967e,0x9680,0x9681,0x9683,0x968b,0x968d,0x968f,0x9691,0x9699,0x969b,0x969c,0x969e,0x969e,0x96a1,0x96a5,0x96a7,0x96aa,0x96ac,0x96ac,0x96ae,0x96ae,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b6,0x96b8,0x96b9,0x96bb,0x96bd,0x96bf,0x96ce,0x96d2,0x96df,0x96e1,0x96e3,0x96e5,0x96e5,0x96e8,0x96ea,0x96ef,0x96f2,0x96f4,0x96fb,0x96fd,0x96fd,0x96ff,0x9700,0x9702,0x9709,0x970b,0x970b,0x970d,0x9713,0x9716,0x9716,0x9718,0x9719,0x971b,0x972c,0x972e,0x9732,0x9734,0x9736,0x9738,0x973a,0x973d,0x9744,0x9746,0x974b,0x9751,0x9752,0x9755,0x9758,0x975a,0x9762,0x9766,0x9766,0x9768,0x976a,0x976c,0x976e,0x9770,0x9774,0x9776,0x9778,0x977a,0x9785,0x9787,0x978b,0x978d,0x978f,0x9794,0x9794,0x9797,0x97a6,0x97a8,0x97a8,0x97aa,0x97ae,0x97b1,0x97b4,0x97b6,0x97bb,0x97bd,0x97c9,0x97cb,0x97d0,0x97d2,0x97d9,0x97dc,0x97e1,0x97e3,0x97e3,0x97e5,0x97e6,0x97ed,0x97ee,0x97f0,0x97f3,0x97f5,0x97f6,0x97f8,0x97fb,0x97fd,0x9808,0x980a,0x980a,0x980c,0x9818,0x981b,0x9821,0x9823,0x9824,0x9826,0x9829,0x982b,0x982b,0x982d,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983b,0x9841,0x9841,0x9843,0x9853,0x9856,0x9859,0x985b,0x9860,0x9862,0x986c,0x986f,0x9875,0x98a8,0x98a9,0x98ac,0x98af,0x98b1,0x98b4,0x98b6,0x98c4,0x98c6,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98ed,0x98ef,0x98ef,0x98f1,0x98f2,0x98f4,0x98f6,0x98f9,0x98fa,0x98fc,0x98fe,0x9900,0x9900,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x990e,0x990e,0x9910,0x991c,0x991e,0x991f,0x9921,0x9921,0x9924,0x9925,0x9927,0x9933,0x9935,0x9935,0x9937,0x9943,0x9945,0x9945,0x9947,0x994e,0x9950,0x9959,0x995b,0x995f,0x9961,0x9963,0x9996,0x9999,0x999b,0x999e,0x99a1,0x99a1,0x99a3,0x99a8,0x99aa,0x99b5,0x99b8,0x99bd,0x99c1,0x99c5,0x99c7,0x99c7,0x99c9,0x99c9,0x99cb,0x99dd,0x99df,0x99e7,0x99e9,0x99ea,0x99ec,0x99ee,0x99f0,0x99f1,0x99f4,0x99ff,0x9a01,0x9a07,0x9a09,0x9a11,0x9a14,0x9a16,0x9a19,0x9a27,0x9a29,0x9a32,0x9a34,0x9a46,0x9a48,0x9a4a,0x9a4c,0x9a50,0x9a52,0x9a5c,0x9a5e,0x9a60,0x9a62,0x9a6c,0x9a8f,0x9a8f,0x9aa8,0x9aa8,0x9aab,0x9aab,0x9aad,0x9aad,0x9aaf,0x9ab4,0x9ab6,0x9ac2,0x9ac6,0x9ac7,0x9aca,0x9aca,0x9acd,0x9acd,0x9acf,0x9ad8,0x9adc,0x9adc,0x9adf,0x9ae3,0x9ae6,0x9ae7,0x9aeb,0x9aef,0x9af1,0x9af4,0x9af6,0x9af7,0x9af9,0x9aff,0x9b01,0x9b06,0x9b08,0x9b12,0x9b14,0x9b1a,0x9b1e,0x9b20,0x9b22,0x9b25,0x9b27,0x9b2b,0x9b2d,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3c,0x9b3e,0x9b46,0x9b48,0x9b48,0x9b4a,0x9b52,0x9b54,0x9b56,0x9b58,0x9b5b,0x9b5f,0x9b61,0x9b64,0x9b64,0x9b66,0x9b69,0x9b6c,0x9b6c,0x9b6f,0x9b71,0x9b74,0x9b77,0x9b7a,0x9b83,0x9b85,0x9b88,0x9b8b,0x9b8b,0x9b8d,0x9b93,0x9b95,0x9b95,0x9b97,0x9b97,0x9b9a,0x9b9b,0x9b9d,0x9ba2,0x9ba4,0x9ba6,0x9ba8,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bb0,0x9bb5,0x9bb6,0x9bb8,0x9bb9,0x9bbd,0x9bbd,0x9bbf,0x9bc1,0x9bc3,0x9bc4,0x9bc6,0x9bca,0x9bcf,0x9bcf,0x9bd3,0x9bd7,0x9bd9,0x9bde,0x9be0,0x9be2,0x9be4,0x9bed,0x9bf0,0x9bf1,0x9bf4,0x9bf4,0x9bf7,0x9bf8,0x9bfd,0x9bfd,0x9bff,0x9bff,0x9c02,0x9c02,0x9c05,0x9c0e,0x9c10,0x9c10,0x9c12,0x9c15,0x9c17,0x9c17,0x9c1b,0x9c1d,0x9c1f,0x9c21,0x9c23,0x9c26,0x9c28,0x9c29,0x9c2b,0x9c2d,0x9c2f,0x9c2f,0x9c31,0x9c37,0x9c39,0x9c41,0x9c44,0x9c50,0x9c52,0x9c59,0x9c5d,0x9c60,0x9c62,0x9c63,0x9c66,0x9c68,0x9c6d,0x9c6e,0x9c71,0x9c75,0x9c77,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9cea,0x9ced,0x9ced,0x9cf1,0x9cf7,0x9cf9,0x9cfd,0x9cff,0x9d00,0x9d02,0x9d09,0x9d0c,0x9d0c,0x9d10,0x9d10,0x9d12,0x9d12,0x9d14,0x9d19,0x9d1b,0x9d1b,0x9d1d,0x9d23,0x9d25,0x9d26,0x9d28,0x9d29,0x9d2d,0x9d31,0x9d33,0x9d34,0x9d36,0x9d39,0x9d3b,0x9d3b,0x9d3d,0x9d45,0x9d49,0x9d4c,0x9d4e,0x9d54,0x9d56,0x9d61,0x9d67,0x9d75,0x9d77,0x9d79,0x9d7b,0x9d8c,0x9d90,0x9d90,0x9d92,0x9d94,0x9d96,0x9dad,0x9daf,0x9daf,0x9db1,0x9dc5,0x9dc7,0x9ddf,0x9de1,0x9de6,0x9de8,0x9de9,0x9deb,0x9df0,0x9df2,0x9e07,0x9e09,0x9e15,0x9e17,0x9e1f,0x9e75,0x9e75,0x9e79,0x9e7d,0x9e7f,0x9e8e,0x9e90,0x9ea2,0x9ea4,0x9eb1,0x9eb4,0x9eb7,0x9ebb,0x9ec4,0x9ec6,0x9ec8,0x9ecc,0x9ed1,0x9ed3,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ee0,0x9ee2,0x9ee2,0x9ee4,0x9ee8,0x9eeb,0x9eeb,0x9eed,0x9f02,0x9f06,0x9f0a,0x9f0e,0x9f10,0x9f12,0x9f13,0x9f15,0x9f1c,0x9f1e,0x9f1e,0x9f20,0x9f20,0x9f22,0x9f39,0x9f3b,0x9f3b,0x9f3d,0x9f3e,0x9f40,0x9f50,0x9f52,0x9f67,0x9f69,0x9f6c,0x9f6e,0x9f72,0x9f74,0x9f7b,0x9f7e,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f99,0x9f9c,0x9f9c,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa4,0x9fb3,0x9fc7,0x9fcb,0x9fd0,0x9fd0,0xf900,0xf903,0xf905,0xf907,0xf90b,0xf90b,0xf90d,0xf90d,0xf915,0xf915,0xf917,0xf917,0xf91a,0xf91a,0xf922,0xf922,0xf92d,0xf92d,0xf931,0xf931,0xf937,0xf937,0xf939,0xf93a,0xf943,0xf943,0xf947,0xf948,0xf94a,0xf94a,0xf952,0xf952,0xf95e,0xf95e,0xf962,0xf962,0xf965,0xf965,0xf967,0xf967,0xf972,0xf972,0xf976,0xf976,0xf978,0xf979,0xf97e,0xf97e,0xf980,0xf980,0xf986,0xf986,0xf98a,0xf98a,0xf98e,0xf98e,0xf995,0xf995,0xf99c,0xf99c,0xf99f,0xf99f,0xf9b5,0xf9b5,0xf9bb,0xf9bb,0xf9bd,0xf9bd,0xf9c5,0xf9c6,0xf9c8,0xf9c8,0xf9d8,0xf9d8,0xf9dc,0xf9de,0xf9e0,0xf9e0,0xf9e4,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0d,0xfa33,0xfa35,0xfa3a,0xfa3a,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20021,0x20021,0x2003e,0x2003e,0x20046,0x20046,0x2004e,0x2004e,0x20068,0x20068,0x20086,0x20087,0x2008a,0x2008a,0x20094,0x20094,0x200ca,0x200cd,0x200d1,0x200d1,0x200ee,0x200ee,0x2010c,0x2010c,0x2010e,0x2010e,0x20118,0x20118,0x201a4,0x201a4,0x201a9,0x201a9,0x201ab,0x201ab,0x201c1,0x201c1,0x201d4,0x201d4,0x201f2,0x201f2,0x20204,0x20204,0x2020c,0x2020c,0x20214,0x20214,0x20239,0x20239,0x2025b,0x2025b,0x20274,0x20275,0x20299,0x20299,0x2029e,0x2029e,0x202a0,0x202a0,0x202b7,0x202b7,0x202bf,0x202c0,0x202e5,0x202e5,0x2030a,0x2030a,0x20325,0x20325,0x20341,0x20341,0x20345,0x20347,0x2037e,0x20380,0x203a0,0x203a0,0x203a7,0x203a7,0x203b5,0x203b5,0x203c9,0x203c9,0x203cb,0x203cb,0x203f5,0x203f5,0x203fc,0x203fc,0x20413,0x20414,0x2041f,0x2041f,0x20465,0x20465,0x20487,0x20487,0x2048e,0x2048e,0x20491,0x20492,0x204a3,0x204a3,0x204d7,0x204d7,0x204fc,0x204fc,0x204fe,0x204fe,0x20547,0x20547,0x2058e,0x2058e,0x205a5,0x205a5,0x205b3,0x205b3,0x205c3,0x205c3,0x205ca,0x205ca,0x205d0,0x205d0,0x205d5,0x205d5,0x205df,0x205e0,0x205eb,0x205eb,0x20611,0x20611,0x20615,0x20615,0x20619,0x2061a,0x20628,0x20628,0x20630,0x20630,0x20656,0x20656,0x20676,0x20676,0x2070e,0x2070e,0x20731,0x20731,0x20779,0x20779,0x2082c,0x2082c,0x20873,0x20873,0x208d5,0x208d5,0x20916,0x20916,0x20923,0x20923,0x20954,0x20954,0x20979,0x20979,0x209e7,0x209e7,0x20a11,0x20a11,0x20a50,0x20a50,0x20a6f,0x20a6f,0x20a8a,0x20a8a,0x20ab4,0x20ab4,0x20ac2,0x20ac2,0x20acd,0x20acd,0x20b0d,0x20b0d,0x20b8f,0x20b8f,0x20b9f,0x20b9f,0x20ba8,0x20ba9,0x20bbf,0x20bbf,0x20bc6,0x20bc6,0x20bcb,0x20bcb,0x20be2,0x20be2,0x20beb,0x20beb,0x20bfb,0x20bfb,0x20bff,0x20bff,0x20c0b,0x20c0b,0x20c0d,0x20c0d,0x20c20,0x20c20,0x20c34,0x20c34,0x20c3a,0x20c3b,0x20c41,0x20c43,0x20c53,0x20c53,0x20c65,0x20c65,0x20c77,0x20c78,0x20c7c,0x20c7c,0x20c8d,0x20c8d,0x20c96,0x20c96,0x20c9c,0x20c9c,0x20cb5,0x20cb5,0x20cb8,0x20cb8,0x20ccf,0x20ccf,0x20cd3,0x20cd6,0x20cdd,0x20cdd,0x20ced,0x20ced,0x20cff,0x20cff,0x20d15,0x20d15,0x20d28,0x20d28,0x20d31,0x20d32,0x20d46,0x20d49,0x20d4c,0x20d4e,0x20d6f,0x20d6f,0x20d71,0x20d71,0x20d74,0x20d74,0x20d7c,0x20d7c,0x20d7e,0x20d7f,0x20d96,0x20d96,0x20d9c,0x20d9c,0x20da7,0x20da7,0x20db2,0x20db2,0x20dc8,0x20dc8,0x20e04,0x20e04,0x20e09,0x20e0a,0x20e0d,0x20e11,0x20e16,0x20e16,0x20e1d,0x20e1d,0x20e4c,0x20e4c,0x20e6d,0x20e6d,0x20e73,0x20e73,0x20e75,0x20e7b,0x20e8c,0x20e8c,0x20e96,0x20e96,0x20e98,0x20e98,0x20e9d,0x20e9d,0x20ea2,0x20ea2,0x20eaa,0x20eac,0x20eb6,0x20eb6,0x20ed7,0x20ed8,0x20edd,0x20edd,0x20ef8,0x20efb,0x20f1d,0x20f1d,0x20f26,0x20f26,0x20f2d,0x20f2e,0x20f30,0x20f31,0x20f3b,0x20f3b,0x20f4c,0x20f4c,0x20f64,0x20f64,0x20f8d,0x20f8d,0x20f90,0x20f90,0x20fad,0x20fad,0x20fb4,0x20fb6,0x20fbc,0x20fbc,0x20fdf,0x20fdf,0x20fea,0x20fed,0x21014,0x21014,0x2101d,0x2101e,0x2104f,0x2104f,0x2105c,0x2105c,0x2106f,0x2106f,0x21075,0x21078,0x2107b,0x2107b,0x21088,0x21088,0x21096,0x21096,0x2109d,0x2109d,0x210b4,0x210b4,0x210bf,0x210c1,0x210c7,0x210c9,0x210cf,0x210cf,0x210d3,0x210d3,0x210e4,0x210e4,0x210f4,0x210f6,0x2112f,0x2112f,0x2113b,0x2113b,0x2113d,0x2113d,0x21145,0x21145,0x21148,0x21148,0x2114f,0x2114f,0x21180,0x21180,0x21187,0x21187,0x211d9,0x211d9,0x2123c,0x2123c,0x2124f,0x2124f,0x2127c,0x2127c,0x212a8,0x212a9,0x212b0,0x212b0,0x212e3,0x212e3,0x212fe,0x212fe,0x21302,0x21305,0x21336,0x21336,0x2133a,0x2133a,0x21375,0x21376,0x2138e,0x2138e,0x21398,0x21398,0x2139c,0x2139c,0x213c5,0x213c6,0x213ed,0x213ed,0x213fe,0x213fe,0x21413,0x21413,0x21416,0x21416,0x21424,0x21424,0x2143f,0x2143f,0x21452,0x21452,0x21454,0x21455,0x2148a,0x2148a,0x21497,0x21497,0x214b6,0x214b6,0x214e8,0x214e8,0x214fd,0x214fd,0x21577,0x21577,0x21582,0x21582,0x21596,0x21596,0x2160a,0x2160a,0x21613,0x21613,0x21619,0x21619,0x2163e,0x2163e,0x21661,0x21661,0x21692,0x21692,0x216b8,0x216b8,0x216ba,0x216ba,0x216c0,0x216c2,0x216d3,0x216d3,0x216d5,0x216d5,0x216df,0x216df,0x216e6,0x216e8,0x216fa,0x216fc,0x216fe,0x216fe,0x2170d,0x2170d,0x21710,0x21710,0x21726,0x21726,0x2173a,0x2173c,0x21757,0x21757,0x2176c,0x21771,0x21773,0x21774,0x217ab,0x217ab,0x217b0,0x217b5,0x217c3,0x217c3,0x217c7,0x217c7,0x217d9,0x217dc,0x217df,0x217df,0x217ef,0x217ef,0x217f5,0x217f6,0x217f8,0x217fc,0x21820,0x21820,0x21828,0x2182a,0x2182d,0x2182d,0x21839,0x2183b,0x21840,0x21840,0x21845,0x21845,0x21852,0x21852,0x2185e,0x2185e,0x21861,0x21864,0x21877,0x21877,0x2187b,0x2187b,0x21883,0x21885,0x2189e,0x218a2,0x218be,0x218bf,0x218d1,0x218d1,0x218d6,0x218d9,0x218fa,0x218fa,0x21903,0x21905,0x21910,0x21912,0x21915,0x21915,0x2191c,0x2191c,0x21922,0x21922,0x21927,0x21927,0x2193b,0x2193b,0x21944,0x21944,0x21958,0x21958,0x2196a,0x2196a,0x2197c,0x2197c,0x21980,0x21980,0x21983,0x21983,0x21988,0x21988,0x21996,0x21996,0x219db,0x219db,0x219f3,0x219f3,0x21a2d,0x21a2d,0x21a34,0x21a34,0x21a45,0x21a45,0x21a4b,0x21a4b,0x21a63,0x21a63,0x21b44,0x21b44,0x21bc1,0x21bc2,0x21c2a,0x21c2a,0x21c70,0x21c70,0x21ca2,0x21ca2,0x21ca5,0x21ca5,0x21cac,0x21cac,0x21d46,0x21d46,0x21d53,0x21d53,0x21d5e,0x21d5e,0x21d90,0x21d90,0x21db6,0x21db6,0x21dba,0x21dba,0x21dca,0x21dca,0x21dd1,0x21dd1,0x21deb,0x21deb,0x21df9,0x21df9,0x21e1c,0x21e1c,0x21e23,0x21e23,0x21e37,0x21e37,0x21e3d,0x21e3d,0x21e89,0x21e89,0x21ea4,0x21ea4,0x21ea8,0x21ea8,0x21ec8,0x21ec8,0x21ed5,0x21ed5,0x21f0f,0x21f0f,0x21f15,0x21f15,0x21f6a,0x21f6a,0x21f9e,0x21f9e,0x21fa1,0x21fa1,0x21fe8,0x21fe8,0x22045,0x22045,0x22049,0x22049,0x2207e,0x2207e,0x2209a,0x2209a,0x220c7,0x220c7,0x220fc,0x220fc,0x2212a,0x2212a,0x2215b,0x2215b,0x22173,0x22173,0x2217a,0x2217a,0x221a1,0x221a1,0x221c1,0x221c1,0x221c3,0x221c3,0x22208,0x22208,0x2227c,0x2227c,0x22321,0x22321,0x22325,0x22325,0x223bd,0x223bd,0x223d0,0x223d0,0x223d7,0x223d7,0x223fa,0x223fa,0x22465,0x22465,0x22471,0x22471,0x2248b,0x2248b,0x22491,0x22491,0x224b0,0x224b0,0x224bc,0x224bc,0x224c1,0x224c1,0x224c9,0x224c9,0x224cc,0x224cc,0x224ed,0x224ed,0x22513,0x22513,0x2251b,0x2251b,0x22530,0x22530,0x22554,0x22554,0x2258d,0x2258d,0x225af,0x225af,0x225be,0x225be,0x2261b,0x2261c,0x2262b,0x2262b,0x22668,0x22668,0x2267a,0x2267a,0x22696,0x22696,0x22698,0x22698,0x226f4,0x226f6,0x22712,0x22712,0x22714,0x22714,0x2271b,0x2271b,0x2271f,0x2271f,0x2272a,0x2272a,0x22775,0x22775,0x22781,0x22781,0x22796,0x22796,0x227b4,0x227b5,0x227cd,0x227cd,0x22803,0x22803,0x2285f,0x22860,0x22871,0x22871,0x228ad,0x228ad,0x228c1,0x228c1,0x228f7,0x228f7,0x22926,0x22926,0x22939,0x22939,0x2294f,0x2294f,0x22967,0x22967,0x2296b,0x2296b,0x22980,0x22980,0x22993,0x22993,0x22a66,0x22a66,0x22acf,0x22acf,0x22ad5,0x22ad5,0x22ae6,0x22ae6,0x22ae8,0x22ae8,0x22b0e,0x22b0e,0x22b22,0x22b22,0x22b3f,0x22b3f,0x22b43,0x22b43,0x22b6a,0x22b6a,0x22bca,0x22bca,0x22bce,0x22bce,0x22c26,0x22c27,0x22c38,0x22c38,0x22c4c,0x22c4c,0x22c51,0x22c51,0x22c55,0x22c55,0x22c62,0x22c62,0x22c88,0x22c88,0x22c9b,0x22c9b,0x22ca1,0x22ca1,0x22ca9,0x22ca9,0x22cb2,0x22cb2,0x22cb7,0x22cb7,0x22cc2,0x22cc2,0x22cc6,0x22cc6,0x22cc9,0x22cc9,0x22d07,0x22d08,0x22d12,0x22d12,0x22d44,0x22d44,0x22d4c,0x22d4c,0x22d67,0x22d67,0x22d8d,0x22d8d,0x22d95,0x22d95,0x22da0,0x22da0,0x22da3,0x22da4,0x22db7,0x22db7,0x22dee,0x22dee,0x22e0d,0x22e0d,0x22e36,0x22e36,0x22e42,0x22e42,0x22e78,0x22e78,0x22e8b,0x22e8b,0x22eb3,0x22eb3,0x22eef,0x22eef,0x22f74,0x22f74,0x22fcc,0x22fcc,0x22fe3,0x22fe3,0x23033,0x23033,0x23044,0x23044,0x2304b,0x2304b,0x23066,0x23066,0x2307d,0x2307e,0x2308e,0x2308e,0x230b7,0x230b7,0x230bc,0x230bc,0x230da,0x230da,0x23103,0x23103,0x2313d,0x2313d,0x2317d,0x2317d,0x23182,0x23182,0x231a4,0x231a5,0x231b3,0x231b3,0x231c8,0x231c9,0x231ea,0x231ea,0x231f7,0x231f9,0x2320f,0x2320f,0x23225,0x23225,0x2322f,0x2322f,0x23231,0x23234,0x23256,0x23256,0x2325e,0x2325e,0x23262,0x23262,0x23281,0x23281,0x23289,0x2328a,0x232ab,0x232ad,0x232d2,0x232d2,0x232e0,0x232e1,0x23300,0x23300,0x2330a,0x2330a,0x2331f,0x2331f,0x233b4,0x233b4,0x233cc,0x233cc,0x233de,0x233de,0x233e6,0x233e6,0x233f4,0x233f5,0x233f9,0x233fa,0x233fe,0x233fe,0x23400,0x23400,0x2343f,0x2343f,0x23450,0x23450,0x2346f,0x2346f,0x23472,0x23472,0x234e5,0x234e5,0x23519,0x23519,0x23530,0x23530,0x23551,0x23551,0x2355a,0x2355a,0x23567,0x23567,0x23595,0x23595,0x23599,0x23599,0x2359c,0x2359c,0x235bb,0x235bb,0x235cd,0x235cf,0x235f3,0x235f3,0x23600,0x23600,0x23617,0x23617,0x2361a,0x2361a,0x2363c,0x2363c,0x23640,0x23640,0x23659,0x23659,0x2365f,0x2365f,0x23677,0x23677,0x2368e,0x2368e,0x2369e,0x2369e,0x236a6,0x236a6,0x236ad,0x236ad,0x236ba,0x236ba,0x236df,0x236df,0x236ee,0x236ee,0x23703,0x23703,0x23716,0x23716,0x23720,0x23720,0x2372d,0x2372d,0x2372f,0x2372f,0x2373f,0x2373f,0x23766,0x23766,0x23781,0x23781,0x237a2,0x237a2,0x237bc,0x237bc,0x237c2,0x237c2,0x237d5,0x237d7,0x2383a,0x2383a,0x239c2,0x239c2,0x23aa7,0x23aa7,0x23adb,0x23adb,0x23aee,0x23aee,0x23afa,0x23afa,0x23b1a,0x23b1a,0x23b5a,0x23b5a,0x23c63,0x23c63,0x23c99,0x23c9b,0x23cb5,0x23cb5,0x23cb7,0x23cb7,0x23cc7,0x23cc9,0x23cfc,0x23cff,0x23d40,0x23d40,0x23d5b,0x23d5b,0x23d7e,0x23d7e,0x23d8f,0x23d8f,0x23db6,0x23dbd,0x23de3,0x23de3,0x23df8,0x23df8,0x23e06,0x23e06,0x23e11,0x23e11,0x23e2c,0x23e31,0x23e39,0x23e39,0x23e88,0x23e8b,0x23eb9,0x23eb9,0x23ebf,0x23ebf,0x23ed7,0x23ed7,0x23ef7,0x23efc,0x23f35,0x23f35,0x23f41,0x23f41,0x23f4a,0x23f4a,0x23f61,0x23f61,0x23f7f,0x23f82,0x23f8f,0x23f8f,0x23fb4,0x23fb4,0x23fb7,0x23fb7,0x23fc0,0x23fc0,0x23fc5,0x23fc5,0x23feb,0x23ff0,0x24011,0x24011,0x24039,0x2403d,0x24057,0x24057,0x24085,0x24085,0x2408b,0x2408d,0x24091,0x24091,0x240c9,0x240c9,0x240e1,0x240e1,0x240ec,0x240ec,0x24104,0x24104,0x2410f,0x2410f,0x24119,0x24119,0x2413f,0x24140,0x24144,0x24144,0x2414e,0x2414e,0x24155,0x24157,0x2415c,0x2415c,0x2415f,0x2415f,0x24161,0x24161,0x24177,0x24177,0x2417a,0x2417a,0x241a3,0x241a5,0x241ac,0x241ac,0x241b5,0x241b5,0x241cd,0x241cd,0x241e2,0x241e2,0x241fc,0x241fc,0x2421b,0x2421b,0x2424b,0x2424b,0x24256,0x24256,0x24259,0x24259,0x24276,0x24278,0x24284,0x24284,0x24293,0x24293,0x24295,0x24295,0x242a5,0x242a5,0x242bf,0x242bf,0x242c1,0x242c1,0x242c9,0x242ca,0x242ee,0x242ee,0x242fa,0x242fa,0x2430d,0x2430d,0x2431a,0x2431a,0x24334,0x24334,0x24348,0x24348,0x24362,0x24365,0x2438c,0x2438c,0x24396,0x24396,0x2439c,0x2439c,0x243bd,0x243bd,0x243c1,0x243c1,0x243e9,0x243ea,0x243f2,0x243f2,0x243f8,0x243f8,0x24404,0x24404,0x24435,0x24436,0x2445a,0x2445b,0x24473,0x24473,0x24487,0x24488,0x244b9,0x244b9,0x244bc,0x244bc,0x244ce,0x244ce,0x244d3,0x244d3,0x244d6,0x244d6,0x24505,0x24505,0x24521,0x24521,0x24578,0x24578,0x245c8,0x245c8,0x24618,0x24618,0x2462a,0x2462a,0x24665,0x24665,0x24674,0x24674,0x24697,0x24697,0x246d4,0x246d4,0x24706,0x24706,0x24725,0x24725,0x2472f,0x2472f,0x2478f,0x2478f,0x247e0,0x247e0,0x24812,0x24812,0x24823,0x24823,0x24882,0x24882,0x248e9,0x248e9,0x248f0,0x248f3,0x248fb,0x248fb,0x248ff,0x24901,0x2490c,0x2490c,0x24916,0x24917,0x24919,0x24919,0x2492f,0x2492f,0x24933,0x24934,0x2493e,0x24943,0x24962,0x24963,0x24974,0x24976,0x2497b,0x2497b,0x2497f,0x2497f,0x24982,0x24982,0x24988,0x2498f,0x24994,0x24994,0x249a4,0x249a4,0x249a7,0x249a7,0x249a9,0x249a9,0x249ab,0x249ad,0x249b7,0x249bb,0x249c5,0x249c5,0x249d0,0x249d0,0x249da,0x249da,0x249de,0x249df,0x249e3,0x249e3,0x249e5,0x249e5,0x249ec,0x249ed,0x249f6,0x249f9,0x249fb,0x249fb,0x24a0e,0x24a0e,0x24a12,0x24a13,0x24a15,0x24a15,0x24a21,0x24a2a,0x24a3e,0x24a3e,0x24a42,0x24a42,0x24a45,0x24a45,0x24a4a,0x24a4a,0x24a4e,0x24a51,0x24a5d,0x24a5d,0x24a65,0x24a67,0x24a71,0x24a71,0x24a77,0x24a7a,0x24a8c,0x24a8c,0x24a93,0x24a96,0x24aa4,0x24aa7,0x24ab1,0x24ab3,0x24aba,0x24abc,0x24ac0,0x24ac0,0x24ac7,0x24ac7,0x24aca,0x24aca,0x24ad1,0x24ad1,0x24adf,0x24adf,0x24ae2,0x24ae2,0x24ae9,0x24ae9,0x24b0f,0x24b0f,0x24b6e,0x24b6e,0x24bf5,0x24bf5,0x24c09,0x24c09,0x24c9e,0x24c9f,0x24cc9,0x24cc9,0x24cd9,0x24cd9,0x24d06,0x24d06,0x24d13,0x24d13,0x24db8,0x24db8,0x24dea,0x24deb,0x24e3b,0x24e3b,0x24e50,0x24e50,0x24ea5,0x24ea5,0x24ea7,0x24ea7,0x24f0e,0x24f0e,0x24f5c,0x24f5c,0x24f82,0x24f82,0x24f86,0x24f86,0x24f97,0x24f97,0x24f9a,0x24f9a,0x24fa9,0x24fa9,0x24fb8,0x24fb8,0x24fc2,0x24fc2,0x2502c,0x2502c,0x25052,0x25052,0x2509d,0x2509d,0x2512b,0x2512b,0x25148,0x25148,0x2517d,0x2517e,0x251cd,0x251cd,0x251e3,0x251e3,0x251e6,0x251e7,0x25220,0x25221,0x25250,0x25250,0x25299,0x25299,0x252c7,0x252c7,0x252d8,0x252d8,0x2530e,0x2530e,0x25311,0x25311,0x25313,0x25313,0x25419,0x25419,0x25425,0x25425,0x2542f,0x25430,0x25446,0x25446,0x2546c,0x2546c,0x2546e,0x2546e,0x2549a,0x2549a,0x25531,0x25531,0x25535,0x25535,0x2553f,0x2553f,0x2555b,0x2555e,0x25562,0x25562,0x25565,0x25566,0x25581,0x25581,0x25584,0x25584,0x2558f,0x2558f,0x255b9,0x255b9,0x255d5,0x255d5,0x255db,0x255db,0x255e0,0x255e0,0x25605,0x25605,0x25635,0x25635,0x25651,0x25651,0x25683,0x25683,0x25695,0x25695,0x256e3,0x256e3,0x256f6,0x256f6,0x25706,0x25706,0x2571d,0x2571d,0x25725,0x25725,0x2573d,0x2573d,0x25772,0x25772,0x257c7,0x257c7,0x257df,0x257e1,0x25857,0x25857,0x2585d,0x2585d,0x25872,0x25872,0x258c8,0x258c8,0x258de,0x258de,0x258e1,0x258e1,0x25903,0x25903,0x25946,0x25946,0x25956,0x25956,0x259ac,0x259ac,0x259cc,0x259cc,0x25a54,0x25a54,0x25a95,0x25a95,0x25a9c,0x25a9c,0x25aae,0x25aaf,0x25ad7,0x25ad7,0x25ae9,0x25ae9,0x25b74,0x25b74,0x25b89,0x25b89,0x25bb3,0x25bb4,0x25bc6,0x25bc6,0x25be4,0x25be4,0x25be8,0x25be8,0x25c01,0x25c01,0x25c06,0x25c06,0x25c21,0x25c21,0x25c4a,0x25c4a,0x25c65,0x25c65,0x25c91,0x25c91,0x25ca4,0x25ca4,0x25cc0,0x25cc1,0x25cfe,0x25cfe,0x25d20,0x25d20,0x25d30,0x25d30,0x25d43,0x25d43,0x25d99,0x25d99,0x25db9,0x25db9,0x25e0e,0x25e0e,0x25e49,0x25e49,0x25e81,0x25e83,0x25ea6,0x25ea6,0x25ebc,0x25ebc,0x25ed7,0x25ed8,0x25f1a,0x25f1a,0x25f4b,0x25f4b,0x25fe1,0x25fe2,0x26021,0x26021,0x26029,0x26029,0x26048,0x26048,0x26064,0x26064,0x26083,0x26083,0x26097,0x26097,0x260a4,0x260a5,0x26102,0x26102,0x26121,0x26121,0x26159,0x2615c,0x261ad,0x261ae,0x261b2,0x261b2,0x261dd,0x261dd,0x26258,0x26258,0x26261,0x26261,0x2626a,0x2626b,0x262d0,0x262d0,0x26335,0x26335,0x2634b,0x2634c,0x26351,0x26351,0x263be,0x263be,0x263f5,0x263f5,0x263f8,0x263f8,0x26402,0x26402,0x26410,0x26412,0x2644a,0x2644a,0x26469,0x26469,0x26484,0x26484,0x26488,0x26489,0x2648d,0x2648d,0x26498,0x26498,0x26512,0x26512,0x26572,0x26572,0x265a0,0x265a0,0x265ad,0x265ad,0x265bf,0x265bf,0x26612,0x26612,0x26626,0x26626,0x266af,0x266af,0x266b1,0x266b1,0x266b5,0x266b5,0x266da,0x266da,0x266e8,0x266e8,0x266fc,0x266fc,0x26716,0x26716,0x26741,0x26741,0x26799,0x26799,0x267b3,0x267b4,0x267cc,0x267cc,0x2681c,0x2681c,0x26846,0x26846,0x2685e,0x2685e,0x2686e,0x2686e,0x26888,0x26888,0x2688a,0x2688a,0x26893,0x26893,0x268c7,0x268c7,0x2690e,0x2690e,0x26911,0x26911,0x26926,0x26926,0x26939,0x26939,0x26951,0x26951,0x269a8,0x269a8,0x269b5,0x269b5,0x269f2,0x269f2,0x269fa,0x269fa,0x26a2d,0x26a2e,0x26a34,0x26a34,0x26a42,0x26a42,0x26a51,0x26a52,0x26b05,0x26b05,0x26b0a,0x26b0a,0x26b13,0x26b13,0x26b15,0x26b15,0x26b23,0x26b23,0x26b28,0x26b28,0x26b50,0x26b53,0x26b5b,0x26b5b,0x26b75,0x26b75,0x26b82,0x26b82,0x26b96,0x26b97,0x26b9d,0x26b9d,0x26bb3,0x26bb3,0x26bc0,0x26bc0,0x26bf7,0x26bf7,0x26c21,0x26c21,0x26c40,0x26c41,0x26c46,0x26c46,0x26c7e,0x26c82,0x26ca4,0x26ca4,0x26cb7,0x26cb8,0x26cbd,0x26cbd,0x26cc0,0x26cc0,0x26cc3,0x26cc3,0x26cd1,0x26cd1,0x26d22,0x26d2a,0x26d51,0x26d51,0x26d74,0x26d74,0x26da0,0x26da7,0x26dae,0x26dae,0x26ddc,0x26ddc,0x26dea,0x26deb,0x26df0,0x26df0,0x26e00,0x26e00,0x26e05,0x26e05,0x26e07,0x26e07,0x26e12,0x26e12,0x26e42,0x26e45,0x26e6e,0x26e6e,0x26e72,0x26e72,0x26e77,0x26e77,0x26e84,0x26e84,0x26e88,0x26e88,0x26e8b,0x26e8b,0x26e99,0x26e99,0x26ed0,0x26ed7,0x26f26,0x26f26,0x26f73,0x26f74,0x26f9f,0x26f9f,0x26fa1,0x26fa1,0x26fbe,0x26fbe,0x26fde,0x26fdf,0x2700e,0x2700e,0x2704b,0x2704b,0x27052,0x27053,0x27088,0x27088,0x270ad,0x270af,0x270cd,0x270cd,0x270d2,0x270d2,0x270f0,0x270f0,0x270f8,0x270f8,0x27109,0x27109,0x2710c,0x2710d,0x27126,0x27127,0x27164,0x27165,0x27175,0x27175,0x271cd,0x271cd,0x2721b,0x2721b,0x27267,0x27267,0x27280,0x27280,0x27285,0x27285,0x2728b,0x2728b,0x272b2,0x272b2,0x272b6,0x272b6,0x272e6,0x272e6,0x27352,0x27352,0x2739a,0x2739a,0x273ff,0x273ff,0x27422,0x27422,0x27450,0x27450,0x27484,0x27484,0x27486,0x27486,0x27574,0x27574,0x275a3,0x275a3,0x275e0,0x275e0,0x275e4,0x275e4,0x275fd,0x275fe,0x27607,0x27607,0x2760c,0x2760c,0x27632,0x27632,0x27639,0x27639,0x27655,0x27657,0x27694,0x27694,0x2770f,0x2770f,0x27735,0x27736,0x27741,0x27741,0x2775e,0x2775e,0x27784,0x27785,0x277cc,0x277cc,0x27858,0x27858,0x27870,0x27870,0x2789d,0x2789d,0x278b2,0x278b2,0x278c8,0x278c8,0x27924,0x27924,0x27967,0x27967,0x2797a,0x2797a,0x279a0,0x279a0,0x279dd,0x279dd,0x279fd,0x279fd,0x27a0a,0x27a0a,0x27a0e,0x27a0e,0x27a3e,0x27a3e,0x27a53,0x27a53,0x27a59,0x27a59,0x27a79,0x27a79,0x27a84,0x27a84,0x27abd,0x27abe,0x27af4,0x27af4,0x27b06,0x27b06,0x27b0b,0x27b0b,0x27b18,0x27b18,0x27b38,0x27b3a,0x27b48,0x27b48,0x27b65,0x27b65,0x27bef,0x27bef,0x27bf4,0x27bf4,0x27c12,0x27c12,0x27c6c,0x27c6c,0x27cb1,0x27cb1,0x27cc5,0x27cc5,0x27d2f,0x27d2f,0x27d53,0x27d54,0x27d66,0x27d66,0x27d73,0x27d73,0x27d84,0x27d84,0x27d8f,0x27d8f,0x27d98,0x27d98,0x27dbd,0x27dbd,0x27ddc,0x27ddc,0x27e4d,0x27e4d,0x27e4f,0x27e4f,0x27f2e,0x27f2e,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28002,0x28002,0x28009,0x28009,0x2801e,0x2801e,0x28023,0x28024,0x28048,0x28048,0x28083,0x28083,0x28090,0x28090,0x280bd,0x280be,0x280e8,0x280e9,0x280f4,0x280f4,0x2812e,0x2812e,0x2814f,0x2814f,0x2815d,0x2815d,0x2816f,0x2816f,0x28189,0x28189,0x281af,0x281af,0x281bc,0x281bc,0x28207,0x28207,0x28218,0x28218,0x2821a,0x2821a,0x28256,0x28256,0x2827c,0x2827c,0x2829b,0x2829b,0x282cd,0x282cd,0x282e2,0x282e2,0x28306,0x28306,0x28318,0x28318,0x2832f,0x2832f,0x2833a,0x2833a,0x28365,0x28365,0x2836d,0x2836d,0x2837d,0x2837d,0x2838a,0x2838a,0x28412,0x28412,0x28468,0x28468,0x2846c,0x2846c,0x28473,0x28473,0x28482,0x28482,0x28501,0x28501,0x2853c,0x2853d,0x2856c,0x2856c,0x285e8,0x285e8,0x285f4,0x285f4,0x28600,0x28600,0x2860b,0x2860b,0x28625,0x28625,0x2863b,0x2863b,0x286aa,0x286ab,0x286b2,0x286b2,0x286bc,0x286bc,0x286d8,0x286d8,0x286e6,0x286e6,0x2870f,0x2870f,0x28713,0x28713,0x28804,0x28804,0x2882b,0x2882b,0x2890d,0x2890d,0x28933,0x28933,0x28948,0x28949,0x28956,0x28956,0x28964,0x28964,0x28968,0x28968,0x2896c,0x2896d,0x2897e,0x2897e,0x28989,0x28989,0x289a8,0x289a8,0x289aa,0x289ab,0x289b8,0x289b8,0x289bc,0x289bc,0x289c0,0x289c0,0x289dc,0x289dc,0x289de,0x289de,0x289e1,0x289e1,0x289e3,0x289e4,0x289e7,0x289e8,0x289f9,0x289fc,0x28a0f,0x28a0f,0x28a16,0x28a16,0x28a25,0x28a25,0x28a29,0x28a29,0x28a32,0x28a32,0x28a36,0x28a36,0x28a44,0x28a4b,0x28a59,0x28a5a,0x28a81,0x28a83,0x28a9a,0x28a9c,0x28ac0,0x28ac0,0x28ac6,0x28ac6,0x28acb,0x28acc,0x28ace,0x28ace,0x28ade,0x28ae3,0x28ae5,0x28ae5,0x28aea,0x28aea,0x28afc,0x28afc,0x28b0c,0x28b0c,0x28b13,0x28b13,0x28b21,0x28b22,0x28b2b,0x28b2d,0x28b2f,0x28b2f,0x28b46,0x28b46,0x28b4c,0x28b4c,0x28b4e,0x28b4e,0x28b50,0x28b50,0x28b63,0x28b66,0x28b6c,0x28b6c,0x28b8f,0x28b8f,0x28b99,0x28b99,0x28b9c,0x28b9d,0x28bb9,0x28bb9,0x28bc2,0x28bc2,0x28bc5,0x28bc5,0x28bd4,0x28bd4,0x28bd7,0x28bd7,0x28bd9,0x28bda,0x28be7,0x28bec,0x28bf5,0x28bf5,0x28bff,0x28bff,0x28c03,0x28c03,0x28c09,0x28c09,0x28c1c,0x28c1d,0x28c23,0x28c23,0x28c26,0x28c26,0x28c2b,0x28c2b,0x28c30,0x28c30,0x28c39,0x28c39,0x28c3b,0x28c3b,0x28cca,0x28cca,0x28ccd,0x28ccd,0x28cd2,0x28cd2,0x28d34,0x28d34,0x28d99,0x28d99,0x28db9,0x28db9,0x28e0f,0x28e0f,0x28e36,0x28e36,0x28e39,0x28e39,0x28e65,0x28e66,0x28e97,0x28e97,0x28eac,0x28eac,0x28eb2,0x28eb3,0x28ed9,0x28ed9,0x28ee7,0x28ee7,0x28fc5,0x28fc5,0x29079,0x29079,0x29088,0x29088,0x2908b,0x2908b,0x29093,0x29093,0x290af,0x290b1,0x290c0,0x290c0,0x290e4,0x290e5,0x290ec,0x290ed,0x2910d,0x2910d,0x29110,0x29110,0x2913c,0x2913c,0x2914d,0x2914d,0x2915b,0x2915b,0x2915e,0x2915e,0x29170,0x29170,0x2919c,0x2919c,0x291a8,0x291a8,0x291d5,0x291d5,0x291eb,0x291eb,0x2941d,0x2941d,0x29420,0x29420,0x29433,0x29433,0x2943f,0x2943f,0x29448,0x29448,0x294d0,0x294d0,0x294d9,0x294da,0x294e5,0x294e5,0x294e7,0x294e7,0x2959e,0x2959e,0x295b0,0x295b0,0x295b8,0x295b8,0x295d7,0x295d7,0x295e9,0x295e9,0x295f4,0x295f4,0x2967f,0x2967f,0x29720,0x29720,0x29732,0x29732,0x297d4,0x297d4,0x29810,0x29810,0x29857,0x29857,0x298a4,0x298a4,0x298d1,0x298d1,0x298ea,0x298ea,0x298f1,0x298f1,0x298fa,0x298fa,0x29903,0x29903,0x29905,0x29905,0x2992f,0x2992f,0x29945,0x29945,0x29947,0x29949,0x2995d,0x2995d,0x2996a,0x2996a,0x2999d,0x2999d,0x299c3,0x299c3,0x299c9,0x299c9,0x29a28,0x29a28,0x29a4d,0x29a4d,0x29b05,0x29b05,0x29b0e,0x29b0e,0x29bd5,0x29bd5,0x29c73,0x29c73,0x29cad,0x29cad,0x29d3e,0x29d3e,0x29d5a,0x29d5a,0x29d7c,0x29d7c,0x29d98,0x29d98,0x29d9b,0x29d9b,0x29df6,0x29df6,0x29e06,0x29e06,0x29e2d,0x29e2d,0x29e68,0x29e68,0x29eac,0x29eac,0x29eb0,0x29eb0,0x29ec3,0x29ec3,0x29ef8,0x29ef8,0x29f23,0x29f23,0x29f30,0x29f30,0x29fb7,0x29fb7,0x29fde,0x29fde,0x2a014,0x2a014,0x2a087,0x2a087,0x2a0b9,0x2a0b9,0x2a0e1,0x2a0e1,0x2a0ed,0x2a0ed,0x2a0f3,0x2a0f3,0x2a0f8,0x2a0f8,0x2a0fe,0x2a0fe,0x2a107,0x2a107,0x2a123,0x2a123,0x2a133,0x2a134,0x2a150,0x2a150,0x2a192,0x2a193,0x2a1ab,0x2a1ab,0x2a1b4,0x2a1b5,0x2a1df,0x2a1df,0x2a1f5,0x2a1f5,0x2a220,0x2a220,0x2a233,0x2a233,0x2a293,0x2a293,0x2a29f,0x2a29f,0x2a2b2,0x2a2b2,0x2a2b4,0x2a2b4,0x2a2b6,0x2a2b6,0x2a2ba,0x2a2ba,0x2a2bd,0x2a2bd,0x2a2df,0x2a2df,0x2a2ff,0x2a2ff,0x2a351,0x2a351,0x2a3a9,0x2a3a9,0x2a3ed,0x2a3ed,0x2a434,0x2a434,0x2a45b,0x2a45b,0x2a5c6,0x2a5c6,0x2a5cb,0x2a5cb,0x2a601,0x2a601,0x2a632,0x2a632,0x2a64a,0x2a64a,0x2a65b,0x2a65b,0x2a6a9,0x2a6a9,0x2adff,0x2adff,0x2d544,0x2d544,0x2f825,0x2f825,0x2f83b,0x2f83b,0x2f840,0x2f840,0x2f878,0x2f878,0x2f894,0x2f894,0x2f8a6,0x2f8a6,0x2f8cd,0x2f8cd,0x2f8db,0x2f8db,0x2f994,0x2f994,0x2f9b2,0x2f9b2,0x2f9bc,0x2f9bc,0x2f9d4,0x2f9d4,0x30edd,0x30ede,0x3106c,0x3106c,]), - NotoFont.fromFlatList('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [0x20,0x20,0xa0,0xa0,0x1700,0x170c,0x170e,0x1714,0x1735,0x1736,0x200b,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [0x20,0x20,0xa0,0xa0,0x1735,0x1736,0x1760,0x176c,0x176e,0x1770,0x1772,0x1773,0x200b,0x200d,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x301,0x307,0x308,0x30c,0x30c,0x1040,0x1049,0x1950,0x196d,0x1970,0x1974,0x200b,0x200d,0x25cc,0x25cc,0x3001,0x3002,0x3008,0x300b,]), - NotoFont.fromFlatList('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [0x20,0x20,0xa0,0xa0,0x1a20,0x1a5e,0x1a60,0x1a7c,0x1a7f,0x1a89,0x1a90,0x1a99,0x1aa0,0x1aad,0x200b,0x200d,0x2219,0x2219,]), - NotoFont.fromFlatList('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa78b,0xa78c,0xaa80,0xaac2,0xaadb,0xaadf,]), - NotoFont.fromFlatList('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11680,0x116b8,0x116c0,0x116c9,]), - NotoFont.fromFlatList('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v21/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xb82,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb9,0xbbe,0xbc2,0xbc6,0xbc8,0xbca,0xbcd,0xbd0,0xbd0,0xbd7,0xbd7,0xbe6,0xbfa,0x1cda,0x1cda,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x2074,0x2074,0x2082,0x2084,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa8f3,0xa8f3,0x11301,0x11301,0x11303,0x11303,0x1133b,0x1133c,]), - NotoFont.fromFlatList('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [0x11fc0,0x11ff1,0x11fff,0x11fff,]), - NotoFont.fromFlatList('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v19/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xc00,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc39,0xc3d,0xc44,0xc46,0xc48,0xc4a,0xc4d,0xc55,0xc56,0xc58,0xc5a,0xc60,0xc63,0xc66,0xc6f,0xc77,0xc7f,0x1cda,0x1cda,0x1cf2,0x1cf2,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [0x20,0x21,0x28,0x29,0x2c,0x2c,0x2e,0x2e,0x3a,0x3b,0xa0,0xa0,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x660,0x66c,0x780,0x7b1,0x200b,0x200f,0x2018,0x2019,0x201c,0x201d,0x25cc,0x25cc,0xfdf2,0xfdf2,0xfdfd,0xfdfd,]), - NotoFont.fromFlatList('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v20/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d7,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x331,0x331,0xe01,0xe3a,0xe3f,0xe5b,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), - NotoFont.fromFlatList('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [0x20,0x20,0xa0,0xa0,0x2c7,0x2c7,0x301,0x302,0x304,0x304,0x306,0x307,0x309,0x309,0x323,0x323,0x331,0x331,0x200c,0x200d,0x202e,0x202e,0x25cc,0x25cc,0x2d30,0x2d67,0x2d6f,0x2d70,0x2d7f,0x2d7f,]), - NotoFont.fromFlatList('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x952,0x964,0x965,0x9f4,0x9f7,0x1cf2,0x1cf2,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11480,0x114c7,0x114d0,0x114d9,]), - NotoFont.fromFlatList('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [0x20,0x20,0xa0,0xa0,0x10380,0x1039d,0x1039f,0x1039f,]), - NotoFont.fromFlatList('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [0x20,0x20,0xa0,0xa0,0xa500,0xa62b,]), - NotoFont.fromFlatList('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [0x20,0x20,0x22,0x22,0x27,0x29,0x2c,0x2f,0x5b,0x5d,0x7b,0x7b,0x7d,0x7d,0xa0,0xa0,0x201c,0x201d,0x25cc,0x25cc,0x1e2c0,0x1e2f9,0x1e2ff,0x1e2ff,]), - NotoFont.fromFlatList('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [0x20,0x20,0x27,0x27,0xa0,0xa0,0x200c,0x200d,0x118a0,0x118f2,0x118ff,0x118ff,]), - NotoFont.fromFlatList('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [0x20,0x20,0xa0,0xa0,0x3001,0x3002,0x3008,0x3011,0x3014,0x301b,0x30fb,0x30fb,0xa000,0xa48c,0xa490,0xa4c6,0xff61,0xff65,]), - NotoFont.fromFlatList('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11a00,0x11a47,]), + NotoFont.fromFlatRanges('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [0x20,0x7e,0xa0,0x377,0x37a,0x37f,0x384,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3e1,0x3f0,0x52f,0x900,0x97f,0x1ab0,0x1ac0,0x1c80,0x1c88,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1d00,0x1df9,0x1dfb,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fc4,0x1fc6,0x1fd3,0x1fd6,0x1fdb,0x1fdd,0x1fef,0x1ff2,0x1ff4,0x1ff6,0x1ffe,0x2000,0x2064,0x2066,0x2071,0x2074,0x208e,0x2090,0x209c,0x20a0,0x20bf,0x20f0,0x20f0,0x2100,0x215f,0x2184,0x2184,0x2189,0x2189,0x2212,0x2212,0x2215,0x2215,0x25cc,0x25cc,0x2c60,0x2c7f,0x2de0,0x2e52,0xa640,0xa69f,0xa700,0xa7bf,0xa7c2,0xa7ca,0xa7f5,0xa7ff,0xa830,0xa839,0xa8e0,0xa8ff,0xa92e,0xa92e,0xab30,0xab6b,0xfb00,0xfb06,0xfe00,0xfe00,0xfe20,0xfe2f,0xfeff,0xfeff,0xfffc,0xfffd,]), + NotoFont.fromFlatRanges('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0xa9,0xa9,0xae,0xae,0x200d,0x200d,0x203c,0x203c,0x2049,0x2049,0x20e3,0x20e3,0x2122,0x2122,0x2139,0x2139,0x2194,0x2199,0x21a9,0x21aa,0x231a,0x231b,0x2328,0x2328,0x23cf,0x23cf,0x23e9,0x23f3,0x23f8,0x23fa,0x24c2,0x24c2,0x25aa,0x25ab,0x25b6,0x25b6,0x25c0,0x25c0,0x25fb,0x25fe,0x2600,0x2604,0x260e,0x260e,0x2611,0x2611,0x2614,0x2615,0x2618,0x2618,0x261d,0x261d,0x2620,0x2620,0x2622,0x2623,0x2626,0x2626,0x262a,0x262a,0x262e,0x262f,0x2638,0x263a,0x2640,0x2640,0x2642,0x2642,0x2648,0x2653,0x265f,0x2660,0x2663,0x2663,0x2665,0x2666,0x2668,0x2668,0x267b,0x267b,0x267e,0x267f,0x2692,0x2697,0x2699,0x2699,0x269b,0x269c,0x26a0,0x26a1,0x26a7,0x26a7,0x26aa,0x26ab,0x26b0,0x26b1,0x26bd,0x26be,0x26c4,0x26c5,0x26c8,0x26c8,0x26ce,0x26cf,0x26d1,0x26d1,0x26d3,0x26d4,0x26e9,0x26ea,0x26f0,0x26f5,0x26f7,0x26fa,0x26fd,0x26fd,0x2702,0x2702,0x2705,0x2705,0x2708,0x270d,0x270f,0x270f,0x2712,0x2712,0x2714,0x2714,0x2716,0x2716,0x271d,0x271d,0x2721,0x2721,0x2728,0x2728,0x2733,0x2734,0x2744,0x2744,0x2747,0x2747,0x274c,0x274c,0x274e,0x274e,0x2753,0x2755,0x2757,0x2757,0x2763,0x2764,0x2795,0x2797,0x27a1,0x27a1,0x27b0,0x27b0,0x27bf,0x27bf,0x2934,0x2935,0x2b05,0x2b07,0x2b1b,0x2b1c,0x2b50,0x2b50,0x2b55,0x2b55,0x3030,0x3030,0x303d,0x303d,0x3297,0x3297,0x3299,0x3299,0xfe0e,0xfe0f,0x1f004,0x1f004,0x1f0cf,0x1f0cf,0x1f170,0x1f171,0x1f17e,0x1f17f,0x1f18e,0x1f18e,0x1f191,0x1f19a,0x1f1e6,0x1f1ff,0x1f201,0x1f202,0x1f21a,0x1f21a,0x1f22f,0x1f22f,0x1f232,0x1f23a,0x1f250,0x1f251,0x1f300,0x1f321,0x1f324,0x1f393,0x1f396,0x1f397,0x1f399,0x1f39b,0x1f39e,0x1f3f0,0x1f3f3,0x1f3f5,0x1f3f7,0x1f4fd,0x1f4ff,0x1f53d,0x1f549,0x1f54e,0x1f550,0x1f567,0x1f56f,0x1f570,0x1f573,0x1f57a,0x1f587,0x1f587,0x1f58a,0x1f58d,0x1f590,0x1f590,0x1f595,0x1f596,0x1f5a4,0x1f5a5,0x1f5a8,0x1f5a8,0x1f5b1,0x1f5b2,0x1f5bc,0x1f5bc,0x1f5c2,0x1f5c4,0x1f5d1,0x1f5d3,0x1f5dc,0x1f5de,0x1f5e1,0x1f5e1,0x1f5e3,0x1f5e3,0x1f5e8,0x1f5e8,0x1f5ef,0x1f5ef,0x1f5f3,0x1f5f3,0x1f5fa,0x1f64f,0x1f680,0x1f6c5,0x1f6cb,0x1f6d2,0x1f6d5,0x1f6d7,0x1f6dd,0x1f6e5,0x1f6e9,0x1f6e9,0x1f6eb,0x1f6ec,0x1f6f0,0x1f6f0,0x1f6f3,0x1f6fc,0x1f7e0,0x1f7eb,0x1f7f0,0x1f7f0,0x1f90c,0x1f93a,0x1f93c,0x1f945,0x1f947,0x1f9ff,0x1fa70,0x1fa74,0x1fa78,0x1fa7c,0x1fa80,0x1fa86,0x1fa90,0x1faac,0x1fab0,0x1faba,0x1fac0,0x1fac5,0x1fad0,0x1fad9,0x1fae0,0x1fae7,0x1faf0,0x1faf6,0xe0030,0xe0039,0xe0061,0xe007a,0xe007f,0xe007f,0xfe4e5,0xfe4ee,0xfe82c,0xfe82c,0xfe82e,0xfe837,]), + NotoFont.fromFlatRanges('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [0x20,0x20,0x30,0x39,0x41,0x5a,0x61,0x7a,0xa0,0xa0,0x20dd,0x20e0,0x20e2,0x20e4,0x2160,0x2183,0x2185,0x2188,0x218a,0x218b,0x2190,0x2199,0x2300,0x230f,0x2311,0x2315,0x2317,0x2317,0x231c,0x231f,0x2322,0x2323,0x2329,0x232a,0x232c,0x2335,0x237c,0x237c,0x2380,0x2394,0x2396,0x239a,0x23af,0x23af,0x23be,0x23cd,0x23d0,0x23db,0x23e2,0x23e8,0x2460,0x24ff,0x25cc,0x25cc,0x260a,0x260d,0x2613,0x2613,0x2624,0x262f,0x2638,0x263b,0x263d,0x2653,0x2669,0x267e,0x2690,0x269d,0x26a2,0x26a9,0x26ad,0x26bc,0x26ce,0x26ce,0x26e2,0x26ff,0x271d,0x2721,0x2776,0x2793,0x2921,0x2922,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f190,0x1f19b,0x1f1ac,0x1f546,0x1f549,0x1f54f,0x1f54f,0x1f610,0x1f610,0x1f700,0x1f773,]), + NotoFont.fromFlatRanges('Noto Sans Symbols 2', 'http://fonts.gstatic.com/s/notosanssymbols2/v15/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0x7f,0xa0,0x2022,0x2022,0x20e2,0x20e3,0x21af,0x21af,0x21e6,0x21f0,0x21f3,0x21f3,0x2218,0x2219,0x2299,0x2299,0x22c4,0x22c6,0x2316,0x2316,0x2318,0x2318,0x231a,0x231b,0x2324,0x2328,0x232b,0x232b,0x237b,0x237b,0x237d,0x237f,0x2394,0x2394,0x23ce,0x23cf,0x23e9,0x23ea,0x23ed,0x23ef,0x23f1,0x2426,0x2440,0x244a,0x25a0,0x2609,0x260e,0x2612,0x2614,0x2623,0x2630,0x2637,0x263c,0x263c,0x2654,0x2668,0x267f,0x268f,0x269e,0x26a1,0x26aa,0x26ac,0x26bd,0x26cd,0x26cf,0x26e1,0x2700,0x2704,0x2706,0x2709,0x270b,0x271c,0x2722,0x2727,0x2729,0x274b,0x274d,0x274d,0x274f,0x2753,0x2756,0x2775,0x2794,0x2794,0x2798,0x27af,0x27b1,0x27be,0x2800,0x28ff,0x2981,0x2981,0x29bf,0x29bf,0x29eb,0x29eb,0x2b00,0x2b0d,0x2b12,0x2b2f,0x2b4d,0x2b73,0x2b76,0x2b95,0x2b97,0x2bfd,0x2bff,0x2bff,0x4dc0,0x4dff,0xfff9,0xfffb,0x10140,0x1018e,0x10190,0x1019c,0x101a0,0x101a0,0x101d0,0x101fd,0x102e0,0x102fb,0x10e60,0x10e7e,0x1d2e0,0x1d2f3,0x1d300,0x1d356,0x1d360,0x1d378,0x1f000,0x1f02b,0x1f030,0x1f093,0x1f0a0,0x1f0ae,0x1f0b1,0x1f0bf,0x1f0c1,0x1f0cf,0x1f0d1,0x1f0f5,0x1f30d,0x1f30f,0x1f315,0x1f315,0x1f31c,0x1f31c,0x1f321,0x1f32c,0x1f336,0x1f336,0x1f378,0x1f378,0x1f37d,0x1f37d,0x1f393,0x1f39f,0x1f3a7,0x1f3a7,0x1f3ac,0x1f3ae,0x1f3c2,0x1f3c2,0x1f3c4,0x1f3c4,0x1f3c6,0x1f3c6,0x1f3ca,0x1f3ce,0x1f3d4,0x1f3e0,0x1f3ed,0x1f3ed,0x1f3f1,0x1f3f3,0x1f3f5,0x1f3f7,0x1f408,0x1f408,0x1f415,0x1f415,0x1f41f,0x1f41f,0x1f426,0x1f426,0x1f43f,0x1f43f,0x1f441,0x1f442,0x1f446,0x1f449,0x1f44c,0x1f44e,0x1f453,0x1f453,0x1f46a,0x1f46a,0x1f47d,0x1f47d,0x1f4a3,0x1f4a3,0x1f4b0,0x1f4b0,0x1f4b3,0x1f4b3,0x1f4b9,0x1f4b9,0x1f4bb,0x1f4bb,0x1f4bf,0x1f4bf,0x1f4c8,0x1f4cb,0x1f4da,0x1f4da,0x1f4df,0x1f4df,0x1f4e4,0x1f4e6,0x1f4ea,0x1f4ed,0x1f4f7,0x1f4f7,0x1f4f9,0x1f4fb,0x1f4fd,0x1f4fe,0x1f503,0x1f503,0x1f507,0x1f50a,0x1f50d,0x1f50d,0x1f512,0x1f513,0x1f53e,0x1f545,0x1f54a,0x1f54a,0x1f550,0x1f579,0x1f57b,0x1f594,0x1f597,0x1f5a3,0x1f5a5,0x1f5fa,0x1f650,0x1f67f,0x1f687,0x1f687,0x1f68d,0x1f68d,0x1f691,0x1f691,0x1f694,0x1f694,0x1f698,0x1f698,0x1f6ad,0x1f6ad,0x1f6b2,0x1f6b2,0x1f6b9,0x1f6ba,0x1f6bc,0x1f6bc,0x1f6c6,0x1f6cb,0x1f6cd,0x1f6cf,0x1f6d3,0x1f6d7,0x1f6e0,0x1f6ea,0x1f6f0,0x1f6f3,0x1f6f7,0x1f6fc,0x1f780,0x1f7d8,0x1f7e0,0x1f7eb,0x1f800,0x1f80b,0x1f810,0x1f847,0x1f850,0x1f859,0x1f860,0x1f887,0x1f890,0x1f8ad,0x1f8b0,0x1f8b1,0x1f93b,0x1f93b,0x1f946,0x1f946,0x1fa00,0x1fa53,0x1fa60,0x1fa6d,0x1fa70,0x1fa74,0x1fa78,0x1fa7a,0x1fa80,0x1fa86,0x1fa90,0x1faa8,0x1fab0,0x1fab6,0x1fac0,0x1fac2,0x1fad0,0x1fad6,0x1fb00,0x1fb92,0x1fb94,0x1fbca,0x1fbf0,0x1fbf9,]), + NotoFont.fromFlatRanges('Noto Sans Adlam', 'http://fonts.gstatic.com/s/notosansadlam/v19/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf', [0x20,0x2f,0x3a,0x40,0x5b,0x5f,0x7b,0x7d,0xa0,0xa0,0xab,0xab,0xbb,0xbb,0x61f,0x61f,0x640,0x640,0x2013,0x2015,0x2018,0x201e,0x2020,0x2022,0x2026,0x2026,0x2030,0x2030,0x2039,0x203a,0x2044,0x2044,0x204f,0x204f,0x25cc,0x25cc,0x2e28,0x2e29,0x2e41,0x2e41,0x1e900,0x1e94b,0x1e950,0x1e959,0x1e95e,0x1e95f,]), + NotoFont.fromFlatRanges('Noto Sans Anatolian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansanatolianhieroglyphs/v14/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200b,0x14400,0x14646,]), + NotoFont.fromFlatRanges('Noto Sans Arabic', 'http://fonts.gstatic.com/s/notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf', [0x20,0x21,0x2c,0x2e,0x30,0x3a,0xa0,0xa0,0xab,0xab,0xbb,0xbb,0x34f,0x34f,0x600,0x61c,0x61e,0x6ff,0x750,0x77f,0x8a0,0x8b4,0x8b6,0x8be,0x8d3,0x8ff,0x200b,0x2011,0x204f,0x204f,0x25cc,0x25cc,0x2e41,0x2e41,0xfb50,0xfbc1,0xfbd3,0xfd3f,0xfd50,0xfd8f,0xfd92,0xfdc7,0xfdf0,0xfdfd,0xfe70,0xfe74,0xfe76,0xfefc,]), + NotoFont.fromFlatRanges('Noto Sans Armenian', 'http://fonts.gstatic.com/s/notosansarmenian/v32/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x308,0x308,0x531,0x556,0x559,0x58a,0x58d,0x58f,0x2010,0x2010,0x25cc,0x25cc,0xfb13,0xfb17,]), + NotoFont.fromFlatRanges('Noto Sans Avestan', 'http://fonts.gstatic.com/s/notosansavestan/v17/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200c,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x2e30,0x2e31,0x10b00,0x10b35,0x10b39,0x10b3f,]), + NotoFont.fromFlatRanges('Noto Sans Balinese', 'http://fonts.gstatic.com/s/notosansbalinese/v18/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1b00,0x1b4b,0x1b50,0x1b7c,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Bamum', 'http://fonts.gstatic.com/s/notosansbamum/v18/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf', [0x20,0x20,0xa0,0xa0,0xa6a0,0xa6f7,0x16800,0x16a38,]), + NotoFont.fromFlatRanges('Noto Sans Bassa Vah', 'http://fonts.gstatic.com/s/notosansbassavah/v15/PN_sRee-r3f7LnqsD5sax12gjZn7mBpL_4c2VNUQptE.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x16ad0,0x16aed,0x16af0,0x16af5,]), + NotoFont.fromFlatRanges('Noto Sans Batak', 'http://fonts.gstatic.com/s/notosansbatak/v15/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf', [0x20,0x20,0xa0,0xa0,0x1bc0,0x1bf3,0x1bfc,0x1bff,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Bengali', 'http://fonts.gstatic.com/s/notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0x980,0x983,0x985,0x98c,0x98f,0x990,0x993,0x9a8,0x9aa,0x9b0,0x9b2,0x9b2,0x9b6,0x9b9,0x9bc,0x9c4,0x9c7,0x9c8,0x9cb,0x9ce,0x9d7,0x9d7,0x9dc,0x9dd,0x9df,0x9e3,0x9e6,0x9fe,0x1cd0,0x1cd0,0x1cd2,0x1cd2,0x1cd5,0x1cd6,0x1cd8,0x1cd8,0x1ce1,0x1ce1,0x1cea,0x1cea,0x1ced,0x1ced,0x1cf2,0x1cf2,0x1cf5,0x1cf7,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa8f1,0xa8f1,]), + NotoFont.fromFlatRanges('Noto Sans Bhaiksuki', 'http://fonts.gstatic.com/s/notosansbhaiksuki/v15/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200b,0x25cc,0x25cc,0x11c00,0x11c08,0x11c0a,0x11c36,0x11c38,0x11c45,0x11c50,0x11c6c,]), + NotoFont.fromFlatRanges('Noto Sans Brahmi', 'http://fonts.gstatic.com/s/notosansbrahmi/v15/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0x11000,0x1104d,0x11052,0x1106f,0x1107f,0x1107f,]), + NotoFont.fromFlatRanges('Noto Sans Buginese', 'http://fonts.gstatic.com/s/notosansbuginese/v15/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf', [0x20,0x20,0xa0,0xa0,0x1a00,0x1a1b,0x1a1e,0x1a1f,0x200b,0x200d,0x25cc,0x25cc,0xa9cf,0xa9cf,]), + NotoFont.fromFlatRanges('Noto Sans Buhid', 'http://fonts.gstatic.com/s/notosansbuhid/v17/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1735,0x1736,0x1740,0x1753,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Canadian Aboriginal', 'http://fonts.gstatic.com/s/notosanscanadianaboriginal/v19/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf', [0x20,0x20,0xa0,0xa0,0x131,0x131,0x2c7,0x2c7,0x2d8,0x2db,0x307,0x307,0x1400,0x167f,0x18b0,0x18f5,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Carian', 'http://fonts.gstatic.com/s/notosanscarian/v15/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf', [0x20,0x20,0xa0,0xa0,0x102a0,0x102d0,]), + NotoFont.fromFlatRanges('Noto Sans Caucasian Albanian', 'http://fonts.gstatic.com/s/notosanscaucasianalbanian/v16/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf', [0x20,0x20,0xa0,0xa0,0x304,0x304,0x331,0x331,0x25cc,0x25cc,0xfe20,0xfe2f,0x10530,0x10563,0x1056f,0x1056f,]), + NotoFont.fromFlatRanges('Noto Sans Chakma', 'http://fonts.gstatic.com/s/notosanschakma/v15/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf', [0x20,0x20,0xa0,0xa0,0x9e6,0x9ef,0x1040,0x1049,0x200c,0x200d,0x25cc,0x25cc,0x11100,0x11134,0x11136,0x11146,]), + NotoFont.fromFlatRanges('Noto Sans Cham', 'http://fonts.gstatic.com/s/notosanscham/v19/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf', [0x20,0x22,0x27,0x29,0x2c,0x2f,0x3a,0x3b,0x3f,0x3f,0xa0,0xa0,0xad,0xad,0x200c,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xaa00,0xaa36,0xaa40,0xaa4d,0xaa50,0xaa59,0xaa5c,0xaa5f,]), + NotoFont.fromFlatRanges('Noto Sans Cherokee', 'http://fonts.gstatic.com/s/notosanscherokee/v17/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x302,0x304,0x304,0x30b,0x30c,0x323,0x324,0x330,0x331,0x13a0,0x13f5,0x13f8,0x13fd,0xab70,0xabbf,]), + NotoFont.fromFlatRanges('Noto Sans Coptic', 'http://fonts.gstatic.com/s/notosanscoptic/v15/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x300,0x302,0x304,0x305,0x307,0x308,0x323,0x323,0x33f,0x33f,0x361,0x361,0x374,0x375,0x3e2,0x3ef,0x1dcd,0x1dcd,0x2010,0x2010,0x25cc,0x25cc,0x2c80,0x2cf3,0x2cf9,0x2cff,0xfe24,0xfe26,0x102e0,0x102fb,]), + NotoFont.fromFlatRanges('Noto Sans Cuneiform', 'http://fonts.gstatic.com/s/notosanscuneiform/v15/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf', [0x20,0x20,0xa0,0xa0,0x12000,0x12399,0x12400,0x1246e,0x12470,0x12474,0x12480,0x12543,]), + NotoFont.fromFlatRanges('Noto Sans Cypriot', 'http://fonts.gstatic.com/s/notosanscypriot/v15/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf', [0x20,0x20,0xa0,0xa0,0x10800,0x10805,0x10808,0x10808,0x1080a,0x10835,0x10837,0x10838,0x1083c,0x1083c,0x1083f,0x1083f,]), + NotoFont.fromFlatRanges('Noto Sans Deseret', 'http://fonts.gstatic.com/s/notosansdeseret/v15/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf', [0x20,0x20,0xa0,0xa0,0x10400,0x1044f,]), + NotoFont.fromFlatRanges('Noto Sans Devanagari', 'http://fonts.gstatic.com/s/notosansdevanagari/v19/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x900,0x97f,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x20f0,0x20f0,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa839,0xa8e0,0xa8ff,]), + NotoFont.fromFlatRanges('Noto Sans Duployan', 'http://fonts.gstatic.com/s/notosansduployan/v16/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x1bc00,0x1bc6a,0x1bc70,0x1bc7c,0x1bc80,0x1bc88,0x1bc90,0x1bc99,0x1bc9c,0x1bca3,]), + NotoFont.fromFlatRanges('Noto Sans Egyptian Hieroglyphs', 'http://fonts.gstatic.com/s/notosansegyptianhieroglyphs/v26/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x13000,0x1342e,]), + NotoFont.fromFlatRanges('Noto Sans Elbasan', 'http://fonts.gstatic.com/s/notosanselbasan/v15/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf', [0x20,0x20,0xa0,0xa0,0xb7,0xb7,0x305,0x305,0x391,0x3a1,0x3a3,0x3a9,0x3da,0x3da,0x3dc,0x3dc,0x3de,0x3de,0x25cc,0x25cc,0x10500,0x10527,]), + NotoFont.fromFlatRanges('Noto Sans Elymaic', 'http://fonts.gstatic.com/s/notosanselymaic/v15/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf', [0x20,0x20,0xa0,0xa0,0x10fe0,0x10ff6,]), + NotoFont.fromFlatRanges('Noto Sans Georgian', 'http://fonts.gstatic.com/s/notosansgeorgian/v36/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x589,0x589,0x10a0,0x10c5,0x10c7,0x10c7,0x10cd,0x10cd,0x10d0,0x10ff,0x1c90,0x1cba,0x1cbd,0x1cbf,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20be,0x20be,0x2122,0x2122,0x2212,0x2212,0x2d00,0x2d25,0x2d27,0x2d27,0x2d2d,0x2d2d,]), + NotoFont.fromFlatRanges('Noto Sans Glagolitic', 'http://fonts.gstatic.com/s/notosansglagolitic/v15/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf', [0x20,0x20,0xa0,0xa0,0x303,0x303,0x305,0x305,0x484,0x484,0x487,0x487,0x2c00,0x2c2e,0x2c30,0x2c5e,0xa66f,0xa66f,0x1e000,0x1e006,0x1e008,0x1e018,0x1e01b,0x1e021,0x1e023,0x1e024,0x1e026,0x1e02a,]), + NotoFont.fromFlatRanges('Noto Sans Gothic', 'http://fonts.gstatic.com/s/notosansgothic/v15/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf', [0x20,0x20,0xa0,0xa0,0x304,0x305,0x308,0x308,0x331,0x331,0x10330,0x1034a,]), + NotoFont.fromFlatRanges('Noto Sans Grantha', 'http://fonts.gstatic.com/s/notosansgrantha/v15/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x952,0x964,0x965,0xbaa,0xbaa,0xbb5,0xbb5,0xbe6,0xbf2,0x1cd0,0x1cd0,0x1cd2,0x1cd3,0x1cf2,0x1cf4,0x1cf8,0x1cf9,0x200c,0x200d,0x20f0,0x20f0,0x25cc,0x25cc,0x11300,0x11303,0x11305,0x1130c,0x1130f,0x11310,0x11313,0x11328,0x1132a,0x11330,0x11332,0x11333,0x11335,0x11339,0x1133b,0x11344,0x11347,0x11348,0x1134b,0x1134d,0x11350,0x11350,0x11357,0x11357,0x1135d,0x11363,0x11366,0x1136c,0x11370,0x11374,]), + NotoFont.fromFlatRanges('Noto Sans Gujarati', 'http://fonts.gstatic.com/s/notosansgujarati/v19/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xa81,0xa83,0xa85,0xa8d,0xa8f,0xa91,0xa93,0xaa8,0xaaa,0xab0,0xab2,0xab3,0xab5,0xab9,0xabc,0xac5,0xac7,0xac9,0xacb,0xacd,0xad0,0xad0,0xae0,0xae3,0xae6,0xaf1,0xaf9,0xaff,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa839,]), + NotoFont.fromFlatRanges('Noto Sans Gunjala Gondi', 'http://fonts.gstatic.com/s/notosansgunjalagondi/v15/bWto7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5hcVXYMTK4q1.ttf', [0x20,0x21,0x25,0x25,0x27,0x2f,0x3a,0x3a,0x3c,0x3f,0xa0,0xa0,0xd7,0xd7,0xf7,0xf7,0x200c,0x200d,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x11d60,0x11d65,0x11d67,0x11d68,0x11d6a,0x11d8e,0x11d90,0x11d91,0x11d93,0x11d98,0x11da0,0x11da9,]), + NotoFont.fromFlatRanges('Noto Sans Gurmukhi', 'http://fonts.gstatic.com/s/notosansgurmukhi/v18/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf', [0x20,0x23,0x25,0x25,0x27,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x951,0x952,0x964,0x965,0xa01,0xa03,0xa05,0xa0a,0xa0f,0xa10,0xa13,0xa28,0xa2a,0xa30,0xa32,0xa33,0xa35,0xa36,0xa38,0xa39,0xa3c,0xa3c,0xa3e,0xa42,0xa47,0xa48,0xa4b,0xa4d,0xa51,0xa51,0xa59,0xa5c,0xa5e,0xa5e,0xa66,0xa76,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x20b9,0x20b9,0x2212,0x2212,0x25cc,0x25cc,0x262c,0x262c,0xa830,0xa839,]), + NotoFont.fromFlatRanges('Noto Sans HK', 'http://fonts.gstatic.com/s/notosanshk/v21/nKKQ-GM_FYFRJvXzVXaAPe9hMnB3Eu7mOQ.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3435,0x3435,0x3440,0x3440,0x344a,0x344a,0x344c,0x344c,0x3464,0x3464,0x3473,0x3473,0x347a,0x347a,0x347d,0x347e,0x3493,0x3493,0x3496,0x3496,0x34a5,0x34a5,0x34af,0x34af,0x34bc,0x34bc,0x34c1,0x34c1,0x34c8,0x34c8,0x34df,0x34df,0x34e4,0x34e4,0x34e6,0x34e6,0x34fb,0x34fb,0x3506,0x3506,0x353e,0x353e,0x3551,0x3551,0x3553,0x3553,0x3559,0x3559,0x3561,0x3561,0x356d,0x356d,0x3570,0x3570,0x3572,0x3572,0x3577,0x3578,0x3584,0x3584,0x3597,0x3598,0x35a1,0x35a1,0x35a5,0x35a5,0x35ad,0x35ad,0x35bf,0x35bf,0x35c1,0x35c1,0x35c5,0x35c5,0x35c7,0x35c7,0x35ca,0x35ca,0x35ce,0x35ce,0x35d2,0x35d2,0x35d6,0x35d6,0x35db,0x35db,0x35dd,0x35dd,0x35f1,0x35f3,0x35fb,0x35fb,0x35fe,0x35fe,0x3609,0x3609,0x3618,0x3618,0x361a,0x361a,0x3623,0x3623,0x3625,0x3625,0x362d,0x362d,0x3635,0x3635,0x3639,0x3639,0x363e,0x363e,0x3647,0x3649,0x364e,0x364e,0x365f,0x365f,0x3661,0x3661,0x367a,0x367a,0x3681,0x3681,0x369a,0x369a,0x36a5,0x36a5,0x36aa,0x36aa,0x36ac,0x36ac,0x36b0,0x36b1,0x36b5,0x36b5,0x36b9,0x36b9,0x36bc,0x36bc,0x36c1,0x36c1,0x36c3,0x36c5,0x36c7,0x36c8,0x36d3,0x36d4,0x36d6,0x36d6,0x36dd,0x36dd,0x36e1,0x36e2,0x36e5,0x36e6,0x36f5,0x36f5,0x3701,0x3701,0x3703,0x3703,0x3708,0x3708,0x370a,0x370a,0x370d,0x370d,0x371c,0x371c,0x3722,0x3723,0x3725,0x3725,0x372c,0x372d,0x3730,0x3730,0x3732,0x3733,0x373a,0x373a,0x3740,0x3740,0x3743,0x3743,0x3762,0x3762,0x376f,0x376f,0x3797,0x3797,0x37a0,0x37a0,0x37b9,0x37b9,0x37be,0x37be,0x37d6,0x37d6,0x37f2,0x37f2,0x37f8,0x37f8,0x37fb,0x37fb,0x380f,0x380f,0x3819,0x3819,0x3820,0x3820,0x382d,0x382d,0x3836,0x3836,0x3838,0x3838,0x3863,0x3863,0x3875,0x3875,0x38a0,0x38a0,0x38c3,0x38c3,0x38cc,0x38cc,0x38d1,0x38d1,0x38d4,0x38d4,0x38fa,0x38fa,0x3908,0x3908,0x3914,0x3914,0x3927,0x3927,0x3932,0x3932,0x393f,0x393f,0x394d,0x394d,0x3963,0x3963,0x3978,0x3978,0x3980,0x3980,0x3989,0x398a,0x3992,0x3992,0x3999,0x3999,0x399b,0x399b,0x39a1,0x39a1,0x39a4,0x39a4,0x39b8,0x39b8,0x39dc,0x39dc,0x39e2,0x39e2,0x39e5,0x39e5,0x39ec,0x39ec,0x39f8,0x39f8,0x39fb,0x39fb,0x39fe,0x39fe,0x3a01,0x3a01,0x3a03,0x3a03,0x3a06,0x3a06,0x3a17,0x3a18,0x3a29,0x3a2a,0x3a34,0x3a34,0x3a4b,0x3a4b,0x3a52,0x3a52,0x3a57,0x3a57,0x3a5c,0x3a5c,0x3a5e,0x3a5e,0x3a66,0x3a67,0x3a97,0x3a97,0x3aab,0x3aab,0x3abd,0x3abd,0x3ade,0x3ade,0x3ae0,0x3ae0,0x3af0,0x3af0,0x3af2,0x3af2,0x3af5,0x3af5,0x3afb,0x3afb,0x3b0e,0x3b0e,0x3b19,0x3b19,0x3b22,0x3b22,0x3b2b,0x3b2b,0x3b39,0x3b39,0x3b42,0x3b42,0x3b58,0x3b58,0x3b60,0x3b60,0x3b71,0x3b72,0x3b7b,0x3b7c,0x3b80,0x3b80,0x3b95,0x3b96,0x3b99,0x3b99,0x3ba1,0x3ba1,0x3bbc,0x3bbc,0x3bbe,0x3bbe,0x3bc2,0x3bc2,0x3bc4,0x3bc4,0x3bd7,0x3bd7,0x3bdd,0x3bdd,0x3bec,0x3bec,0x3bf2,0x3bf4,0x3c0d,0x3c0d,0x3c11,0x3c11,0x3c15,0x3c15,0x3c18,0x3c18,0x3c54,0x3c54,0x3c8b,0x3c8b,0x3ccb,0x3ccb,0x3ccd,0x3ccd,0x3cd1,0x3cd1,0x3cd6,0x3cd6,0x3cdc,0x3cdc,0x3ceb,0x3ceb,0x3cef,0x3cef,0x3d12,0x3d13,0x3d1d,0x3d1d,0x3d32,0x3d32,0x3d3b,0x3d3b,0x3d46,0x3d46,0x3d4c,0x3d4c,0x3d4e,0x3d4e,0x3d51,0x3d51,0x3d5f,0x3d5f,0x3d62,0x3d62,0x3d69,0x3d6a,0x3d6f,0x3d6f,0x3d75,0x3d75,0x3d7d,0x3d7d,0x3d85,0x3d85,0x3d88,0x3d88,0x3d8a,0x3d8a,0x3d8f,0x3d8f,0x3d91,0x3d91,0x3da5,0x3da5,0x3dad,0x3dad,0x3db4,0x3db4,0x3dbf,0x3dbf,0x3dc6,0x3dc7,0x3dc9,0x3dc9,0x3dcc,0x3dcd,0x3dd3,0x3dd3,0x3ddb,0x3ddb,0x3de7,0x3de8,0x3deb,0x3deb,0x3df3,0x3df4,0x3df7,0x3df7,0x3dfc,0x3dfd,0x3e06,0x3e06,0x3e40,0x3e40,0x3e43,0x3e43,0x3e48,0x3e48,0x3e55,0x3e55,0x3e74,0x3e74,0x3ea8,0x3eaa,0x3ead,0x3ead,0x3eb1,0x3eb1,0x3eb8,0x3eb8,0x3ebf,0x3ebf,0x3ec2,0x3ec2,0x3ec7,0x3ec7,0x3eca,0x3eca,0x3ecc,0x3ecc,0x3ed0,0x3ed1,0x3ed6,0x3ed7,0x3eda,0x3edb,0x3ede,0x3ede,0x3ee1,0x3ee2,0x3ee7,0x3ee7,0x3ee9,0x3ee9,0x3eeb,0x3eec,0x3ef0,0x3ef0,0x3ef3,0x3ef4,0x3efa,0x3efa,0x3efc,0x3efc,0x3eff,0x3f00,0x3f04,0x3f04,0x3f06,0x3f07,0x3f0e,0x3f0e,0x3f53,0x3f53,0x3f58,0x3f59,0x3f63,0x3f63,0x3f7c,0x3f7c,0x3f93,0x3f93,0x3fc0,0x3fc0,0x3fc8,0x3fc8,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x3fe5,0x3fe5,0x3fed,0x3fed,0x3ff9,0x3ffa,0x4004,0x4004,0x4009,0x4009,0x401d,0x401d,0x4039,0x4039,0x4045,0x4045,0x4053,0x4053,0x4057,0x4057,0x4062,0x4062,0x4065,0x4065,0x406a,0x406a,0x406f,0x406f,0x4071,0x4071,0x40a8,0x40a8,0x40b4,0x40b4,0x40bb,0x40bb,0x40bf,0x40bf,0x40c8,0x40c8,0x40d8,0x40d8,0x40df,0x40df,0x40f8,0x40f8,0x40fa,0x40fa,0x4102,0x4104,0x4109,0x4109,0x410e,0x410e,0x4131,0x4132,0x4167,0x4167,0x416c,0x416c,0x416e,0x416e,0x417c,0x417c,0x417f,0x417f,0x4181,0x4181,0x4190,0x4190,0x41b2,0x41b2,0x41c4,0x41c4,0x41ca,0x41ca,0x41cf,0x41cf,0x41db,0x41db,0x41ed,0x41ed,0x41ef,0x41ef,0x41f9,0x41f9,0x4211,0x4211,0x4223,0x4223,0x4240,0x4240,0x4260,0x4260,0x426a,0x426a,0x4276,0x4276,0x427a,0x427a,0x428c,0x428c,0x4294,0x4294,0x42a2,0x42a2,0x42b5,0x42b5,0x42b9,0x42b9,0x42bc,0x42bc,0x42f4,0x42f4,0x42fb,0x42fc,0x430a,0x430a,0x432b,0x432b,0x436e,0x436e,0x4397,0x4397,0x439a,0x439a,0x43ba,0x43ba,0x43c1,0x43c1,0x43d9,0x43d9,0x43df,0x43df,0x43ed,0x43ed,0x43f0,0x43f0,0x43f2,0x43f2,0x4401,0x4402,0x4413,0x4413,0x4425,0x4425,0x442d,0x442d,0x447a,0x447a,0x448f,0x448f,0x4491,0x4491,0x449f,0x44a0,0x44a2,0x44a2,0x44b0,0x44b0,0x44b7,0x44b7,0x44bd,0x44bd,0x44c0,0x44c0,0x44c3,0x44c3,0x44c5,0x44c5,0x44ce,0x44ce,0x44dd,0x44df,0x44e1,0x44e1,0x44e4,0x44e4,0x44e9,0x44ec,0x44f4,0x44f4,0x4503,0x4504,0x4509,0x4509,0x450b,0x450b,0x4516,0x4516,0x451b,0x451b,0x451d,0x451d,0x4527,0x4527,0x452e,0x452e,0x4533,0x4533,0x4536,0x4536,0x453b,0x453b,0x453d,0x453d,0x453f,0x453f,0x4543,0x4543,0x4551,0x4552,0x4555,0x4555,0x4558,0x4558,0x455c,0x455c,0x4561,0x4562,0x456a,0x456a,0x456d,0x456d,0x4577,0x4578,0x4585,0x4585,0x45a6,0x45a6,0x45b3,0x45b3,0x45da,0x45da,0x45e9,0x45ea,0x4603,0x4603,0x4606,0x4606,0x460f,0x460f,0x4615,0x4615,0x4617,0x4617,0x465b,0x465b,0x467a,0x467a,0x4680,0x4680,0x46a1,0x46a1,0x46ae,0x46ae,0x46bb,0x46bb,0x46cf,0x46d0,0x46f5,0x46f5,0x46f7,0x46f7,0x4713,0x4713,0x4718,0x4718,0x4736,0x4736,0x4744,0x4744,0x474e,0x474f,0x477c,0x477c,0x4798,0x4798,0x47a6,0x47a6,0x47d5,0x47d5,0x47ed,0x47ed,0x47f4,0x47f4,0x4800,0x4800,0x480b,0x480b,0x4837,0x4837,0x485d,0x485d,0x4871,0x4871,0x489b,0x489b,0x48ad,0x48ae,0x48d0,0x48d0,0x48dd,0x48dd,0x48ed,0x48ed,0x48f3,0x48f3,0x48fa,0x48fa,0x4906,0x4906,0x4911,0x4911,0x491e,0x491e,0x4925,0x4925,0x492a,0x492a,0x492d,0x492d,0x492f,0x4930,0x4935,0x4935,0x493c,0x493c,0x493e,0x493e,0x4945,0x4945,0x4951,0x4951,0x4953,0x4953,0x4965,0x4965,0x496a,0x496a,0x4972,0x4972,0x4989,0x4989,0x49a1,0x49a1,0x49a7,0x49a7,0x49df,0x49df,0x49e5,0x49e5,0x49e7,0x49e7,0x4a0f,0x4a0f,0x4a1d,0x4a1d,0x4a24,0x4a24,0x4a35,0x4a35,0x4a96,0x4a96,0x4aa4,0x4aa4,0x4ab4,0x4ab4,0x4ab8,0x4ab8,0x4ad1,0x4ad1,0x4ae4,0x4ae4,0x4aff,0x4aff,0x4b10,0x4b10,0x4b19,0x4b19,0x4b20,0x4b20,0x4b2c,0x4b2c,0x4b37,0x4b37,0x4b6f,0x4b70,0x4b72,0x4b72,0x4b7b,0x4b7b,0x4b7e,0x4b7e,0x4b8e,0x4b8e,0x4b90,0x4b90,0x4b93,0x4b93,0x4b96,0x4b97,0x4b9d,0x4b9d,0x4bbd,0x4bbe,0x4bc0,0x4bc0,0x4c04,0x4c04,0x4c07,0x4c07,0x4c0e,0x4c0e,0x4c32,0x4c32,0x4c3b,0x4c3b,0x4c3e,0x4c3e,0x4c40,0x4c40,0x4c47,0x4c47,0x4c57,0x4c57,0x4c5b,0x4c5b,0x4c6d,0x4c6d,0x4c77,0x4c77,0x4c7b,0x4c7b,0x4c7d,0x4c7d,0x4c81,0x4c81,0x4c85,0x4c85,0x4ca4,0x4ca4,0x4cae,0x4cae,0x4cb0,0x4cb0,0x4cb7,0x4cb7,0x4ccd,0x4ccd,0x4ce1,0x4ce2,0x4ced,0x4ced,0x4d07,0x4d07,0x4d09,0x4d09,0x4d10,0x4d10,0x4d34,0x4d34,0x4d76,0x4d77,0x4d89,0x4d89,0x4d91,0x4d91,0x4d9c,0x4d9c,0x4e00,0x4e01,0x4e03,0x4e04,0x4e07,0x4e11,0x4e14,0x4e16,0x4e18,0x4e1a,0x4e1c,0x4e1c,0x4e1e,0x4e1f,0x4e21,0x4e22,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2a,0x4e33,0x4e36,0x4e39,0x4e3b,0x4e3d,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e47,0x4e49,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e52,0x4e53,0x4e56,0x4e56,0x4e58,0x4e5f,0x4e69,0x4e6a,0x4e73,0x4e73,0x4e78,0x4e78,0x4e7e,0x4e89,0x4e8b,0x4e8e,0x4e91,0x4e95,0x4e98,0x4e9b,0x4e9e,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb3,0x4eb3,0x4eb6,0x4eb7,0x4eb9,0x4ebc,0x4ebf,0x4ec4,0x4ec6,0x4ecb,0x4ecd,0x4ece,0x4ed4,0x4eda,0x4edc,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4ee8,0x4eeb,0x4eee,0x4eee,0x4ef0,0x4ef8,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f05,0x4f08,0x4f0b,0x4f0d,0x4f15,0x4f17,0x4f1a,0x4f1d,0x4f1d,0x4f22,0x4f22,0x4f28,0x4f29,0x4f2c,0x4f2d,0x4f2f,0x4f30,0x4f32,0x4f34,0x4f36,0x4f3f,0x4f41,0x4f43,0x4f45,0x4f49,0x4f4b,0x4f64,0x4f67,0x4f67,0x4f69,0x4f6c,0x4f6e,0x4f70,0x4f72,0x4f8b,0x4f8d,0x4f8d,0x4f8f,0x4f92,0x4f94,0x4f98,0x4f9a,0x4f9e,0x4fa2,0x4fa2,0x4fa8,0x4fa8,0x4fab,0x4fab,0x4fae,0x4fb0,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbd,0x4fbd,0x4fbf,0x4fc5,0x4fc7,0x4fd1,0x4fd3,0x4fd4,0x4fd6,0x4fe1,0x4fe4,0x4fe5,0x4fec,0x4fec,0x4fee,0x4ffa,0x4ffd,0x4ffe,0x5000,0x5000,0x5003,0x5003,0x5005,0x5009,0x500b,0x500f,0x5011,0x501c,0x501e,0x5023,0x5025,0x5031,0x5033,0x5035,0x5037,0x5037,0x503b,0x503c,0x5040,0x5041,0x5043,0x5043,0x5045,0x504f,0x5051,0x5051,0x5053,0x5053,0x5055,0x5058,0x505a,0x5066,0x5068,0x5070,0x5072,0x5077,0x507a,0x507a,0x507d,0x507d,0x5080,0x5083,0x5085,0x5085,0x5087,0x5088,0x508b,0x508e,0x5090,0x5092,0x5094,0x5096,0x5098,0x509e,0x50a2,0x50a3,0x50a6,0x50a6,0x50ac,0x50b8,0x50ba,0x50bf,0x50c1,0x50c2,0x50c4,0x50cb,0x50cd,0x50d1,0x50d3,0x50d7,0x50d9,0x50db,0x50dd,0x50dd,0x50df,0x50e1,0x50e3,0x50ea,0x50ec,0x50f1,0x50f3,0x50f6,0x50f8,0x50f9,0x50fb,0x510e,0x5110,0x5115,0x5117,0x5118,0x511a,0x511a,0x511c,0x511c,0x511f,0x5122,0x5124,0x5126,0x5129,0x512b,0x512d,0x512e,0x5130,0x5135,0x5137,0x513d,0x513f,0x5141,0x5143,0x5149,0x514b,0x514d,0x5151,0x5152,0x5154,0x5157,0x5159,0x5163,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5174,0x5179,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x518a,0x518d,0x518d,0x518f,0x518f,0x5191,0x5198,0x519a,0x519a,0x519c,0x519c,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a2,0x51a4,0x51a5,0x51a7,0x51a8,0x51aa,0x51ac,0x51ae,0x51ae,0x51b0,0x51b9,0x51bc,0x51be,0x51c3,0x51d4,0x51d7,0x51d8,0x51db,0x51e2,0x51e4,0x51e4,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fc,0x51fe,0x5200,0x5203,0x5205,0x520c,0x520e,0x520e,0x5210,0x5213,0x5216,0x5217,0x521c,0x5221,0x5224,0x522a,0x522e,0x522e,0x5230,0x5238,0x523a,0x523c,0x5241,0x5241,0x5243,0x5244,0x5246,0x5247,0x5249,0x524f,0x5252,0x5252,0x5254,0x5257,0x5259,0x5262,0x5268,0x526f,0x5272,0x5275,0x5277,0x527d,0x527f,0x5284,0x5287,0x528d,0x528f,0x5291,0x5293,0x5294,0x5296,0x529b,0x529f,0x52a1,0x52a3,0x52a4,0x52a6,0x52a6,0x52a8,0x52ae,0x52b5,0x52b5,0x52b9,0x52b9,0x52bb,0x52bc,0x52be,0x52be,0x52c0,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d0,0x52d3,0x52d5,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52e9,0x52e9,0x52eb,0x52eb,0x52ef,0x52f1,0x52f3,0x52f5,0x52f7,0x52fc,0x52fe,0x52ff,0x5301,0x5301,0x5305,0x5306,0x5308,0x530b,0x530d,0x5312,0x5315,0x5317,0x5319,0x531a,0x531c,0x531d,0x531f,0x5324,0x5327,0x5327,0x532a,0x532a,0x532c,0x532d,0x532f,0x5334,0x5337,0x5339,0x533b,0x5345,0x5347,0x534a,0x534c,0x534e,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x5361,0x5363,0x5364,0x5366,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x5379,0x537b,0x537f,0x5382,0x5382,0x5384,0x5384,0x538a,0x538a,0x538e,0x538f,0x5392,0x5394,0x5396,0x539a,0x539c,0x53a0,0x53a2,0x53a2,0x53a4,0x53ae,0x53b0,0x53b0,0x53b2,0x53b2,0x53b4,0x53b4,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c1,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d0,0x53d2,0x53d4,0x53d4,0x53d6,0x53db,0x53df,0x53e6,0x53e8,0x53f3,0x53f5,0x53f8,0x53fb,0x53fc,0x53fe,0x53fe,0x5401,0x5401,0x5403,0x5404,0x5406,0x5414,0x5416,0x5416,0x5418,0x5421,0x5423,0x5439,0x543b,0x5443,0x5445,0x5448,0x544a,0x544f,0x5454,0x5454,0x5460,0x546d,0x546f,0x5478,0x547a,0x5482,0x5484,0x5488,0x548b,0x5498,0x549a,0x549a,0x549c,0x549c,0x549e,0x549e,0x54a0,0x54b4,0x54b6,0x54c9,0x54cb,0x54d0,0x54d6,0x54d6,0x54da,0x54da,0x54de,0x54de,0x54e0,0x54eb,0x54ed,0x54ef,0x54f1,0x54f3,0x54f7,0x54f8,0x54fa,0x54fd,0x54ff,0x54ff,0x5501,0x5514,0x5517,0x5518,0x551a,0x551a,0x551e,0x551e,0x5523,0x5523,0x5525,0x5528,0x552a,0x5539,0x553b,0x553c,0x553e,0x5541,0x5543,0x554b,0x554d,0x5553,0x5555,0x5557,0x555c,0x555f,0x5561,0x5566,0x5569,0x556b,0x5571,0x5573,0x5575,0x5577,0x5579,0x5579,0x557b,0x5584,0x5586,0x5595,0x5598,0x559a,0x559c,0x559d,0x559f,0x559f,0x55a1,0x55ae,0x55b0,0x55b5,0x55b9,0x55bc,0x55bf,0x55df,0x55e1,0x55ea,0x55ec,0x55ec,0x55ee,0x55f2,0x55f5,0x55f7,0x55f9,0x5602,0x5604,0x5606,0x5608,0x5609,0x560c,0x5617,0x561b,0x5623,0x5625,0x5625,0x5627,0x5627,0x5629,0x562a,0x562c,0x5630,0x5632,0x563b,0x563d,0x5643,0x5645,0x5646,0x5648,0x564a,0x564c,0x5650,0x5652,0x5654,0x5657,0x565a,0x565d,0x565e,0x5660,0x5666,0x5668,0x5674,0x5676,0x567c,0x567e,0x5687,0x5689,0x5690,0x5692,0x5693,0x5695,0x5695,0x5697,0x569a,0x569c,0x569f,0x56a1,0x56a1,0x56a4,0x56a8,0x56aa,0x56af,0x56b1,0x56b7,0x56b9,0x56b9,0x56bc,0x56c3,0x56c5,0x56c6,0x56c8,0x56cd,0x56d1,0x56d1,0x56d3,0x56d4,0x56d6,0x56d7,0x56da,0x56db,0x56dd,0x56e2,0x56e4,0x56e5,0x56e7,0x56e7,0x56ea,0x56eb,0x56ed,0x56f1,0x56f7,0x56f7,0x56f9,0x56fb,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x5712,0x5716,0x5718,0x5718,0x571a,0x5720,0x5722,0x5723,0x5728,0x572a,0x572c,0x5730,0x5732,0x5734,0x573b,0x573b,0x573d,0x5743,0x5745,0x5747,0x5749,0x5752,0x5754,0x5754,0x5757,0x5757,0x575b,0x575b,0x575f,0x575f,0x5761,0x5762,0x5764,0x5764,0x5766,0x576b,0x576d,0x576d,0x576f,0x5777,0x577a,0x5780,0x5782,0x5783,0x5788,0x5788,0x578a,0x578d,0x578f,0x5790,0x5793,0x5795,0x5797,0x57a5,0x57a7,0x57a7,0x57aa,0x57aa,0x57ae,0x57ae,0x57b3,0x57b6,0x57b8,0x57bf,0x57c1,0x57c4,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57d0,0x57d2,0x57d2,0x57d4,0x57d5,0x57d7,0x57d7,0x57dc,0x57e7,0x57e9,0x57e9,0x57ec,0x57fe,0x5800,0x580e,0x5810,0x5810,0x5812,0x5812,0x5814,0x5814,0x5818,0x5819,0x581b,0x581e,0x5820,0x582a,0x582c,0x583b,0x583d,0x583d,0x583f,0x5840,0x5844,0x5844,0x5847,0x584f,0x5851,0x5855,0x5857,0x585f,0x5862,0x5865,0x5868,0x5869,0x586b,0x586d,0x586f,0x586f,0x5871,0x5876,0x5879,0x5883,0x5885,0x588b,0x588e,0x5894,0x5896,0x5896,0x5898,0x589a,0x589c,0x58a1,0x58a3,0x58a3,0x58a5,0x58ac,0x58ae,0x58b1,0x58b3,0x58b3,0x58b5,0x58b6,0x58ba,0x58bf,0x58c1,0x58c2,0x58c5,0x58c9,0x58cb,0x58cb,0x58ce,0x58d6,0x58d8,0x58e0,0x58e2,0x58e4,0x58e7,0x58e9,0x58eb,0x58ec,0x58ef,0x58f0,0x58f2,0x58f4,0x58f9,0x58ff,0x5902,0x5907,0x590a,0x590a,0x590c,0x590f,0x5911,0x5912,0x5914,0x5917,0x5919,0x591a,0x591c,0x591d,0x591f,0x5920,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5934,0x5934,0x5937,0x5938,0x593c,0x593c,0x593e,0x593e,0x5940,0x5940,0x5944,0x5945,0x5947,0x594a,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5962,0x5965,0x5965,0x5967,0x5967,0x5969,0x596e,0x5970,0x5979,0x597b,0x5985,0x5989,0x598a,0x598d,0x5990,0x5992,0x5994,0x5996,0x599a,0x599d,0x59a8,0x59ac,0x59ac,0x59ae,0x59c1,0x59c3,0x59d4,0x59d6,0x59d6,0x59d8,0x59de,0x59e0,0x59e1,0x59e3,0x59e6,0x59e8,0x5a03,0x5a09,0x5a0d,0x5a0f,0x5a0f,0x5a11,0x5a13,0x5a15,0x5a1c,0x5a1e,0x5a21,0x5a23,0x5a25,0x5a27,0x5a27,0x5a29,0x5a2e,0x5a33,0x5a33,0x5a35,0x5a39,0x5a3c,0x5a3e,0x5a40,0x5a4a,0x5a4c,0x5a4d,0x5a50,0x5a6e,0x5a70,0x5a71,0x5a77,0x5a7f,0x5a81,0x5a84,0x5a86,0x5a86,0x5a88,0x5a88,0x5a8a,0x5a8c,0x5a8e,0x5a97,0x5a99,0x5aa2,0x5aa4,0x5aa7,0x5aa9,0x5aac,0x5aae,0x5ac4,0x5ac6,0x5acf,0x5ad1,0x5ad1,0x5ad3,0x5ad3,0x5ad5,0x5ae6,0x5ae8,0x5aee,0x5af0,0x5af0,0x5af2,0x5afb,0x5afd,0x5aff,0x5b01,0x5b03,0x5b05,0x5b05,0x5b07,0x5b09,0x5b0b,0x5b0d,0x5b0f,0x5b11,0x5b13,0x5b17,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b23,0x5b28,0x5b2a,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b38,0x5b38,0x5b3c,0x5b41,0x5b43,0x5b48,0x5b4a,0x5b51,0x5b53,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b62,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6e,0x5b70,0x5b78,0x5b7a,0x5b7d,0x5b7f,0x5b85,0x5b87,0x5b89,0x5b8b,0x5b8c,0x5b8e,0x5b90,0x5b92,0x5b93,0x5b95,0x5b9f,0x5ba2,0x5ba8,0x5baa,0x5baa,0x5bac,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb9,0x5bbf,0x5bc7,0x5bca,0x5bce,0x5bd0,0x5bd9,0x5bdb,0x5bdb,0x5bde,0x5bec,0x5bee,0x5bf3,0x5bf5,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c03,0x5c05,0x5c07,0x5c16,0x5c1a,0x5c1a,0x5c1c,0x5c1c,0x5c1e,0x5c20,0x5c22,0x5c25,0x5c28,0x5c28,0x5c2a,0x5c2a,0x5c2c,0x5c2c,0x5c30,0x5c31,0x5c33,0x5c33,0x5c37,0x5c3c,0x5c3e,0x5c41,0x5c44,0x5c51,0x5c53,0x5c56,0x5c58,0x5c59,0x5c5c,0x5c5e,0x5c60,0x5c60,0x5c62,0x5c65,0x5c67,0x5c6a,0x5c6c,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c74,0x5c78,0x5c7c,0x5c7e,0x5c7e,0x5c83,0x5c83,0x5c85,0x5c86,0x5c88,0x5c8d,0x5c8f,0x5c95,0x5c99,0x5c9a,0x5c9c,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb8,0x5cba,0x5cba,0x5cc1,0x5cc2,0x5cc6,0x5ccc,0x5cce,0x5cdb,0x5cde,0x5cdf,0x5ce5,0x5ce5,0x5ce8,0x5cea,0x5cec,0x5cf1,0x5cf4,0x5cf9,0x5cfb,0x5cfd,0x5cff,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d20,0x5d22,0x5d29,0x5d2c,0x5d2c,0x5d2e,0x5d3a,0x5d3c,0x5d43,0x5d45,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d52,0x5d55,0x5d57,0x5d59,0x5d59,0x5d5b,0x5d5b,0x5d5e,0x5d5e,0x5d62,0x5d63,0x5d65,0x5d65,0x5d67,0x5d69,0x5d6b,0x5d6c,0x5d6f,0x5d72,0x5d74,0x5d74,0x5d77,0x5d82,0x5d84,0x5d8b,0x5d8d,0x5d8e,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d9a,0x5d9c,0x5da2,0x5da4,0x5da4,0x5da7,0x5db2,0x5db4,0x5dba,0x5dbc,0x5dbd,0x5dc0,0x5dc3,0x5dc6,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dcf,0x5dcf,0x5dd1,0x5dd2,0x5dd4,0x5dd8,0x5ddb,0x5ddb,0x5ddd,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df0,0x5df5,0x5df7,0x5df7,0x5df9,0x5df9,0x5dfd,0x5dff,0x5e02,0x5e04,0x5e06,0x5e06,0x5e09,0x5e0c,0x5e0e,0x5e0e,0x5e11,0x5e12,0x5e14,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e25,0x5e28,0x5e29,0x5e2b,0x5e2b,0x5e2d,0x5e2e,0x5e33,0x5e34,0x5e36,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e45,0x5e48,0x5e48,0x5e4a,0x5e4f,0x5e53,0x5e55,0x5e57,0x5e59,0x5e5b,0x5e63,0x5e66,0x5e70,0x5e72,0x5e76,0x5e78,0x5e80,0x5e82,0x5e84,0x5e86,0x5e8d,0x5e8f,0x5e8f,0x5e92,0x5e92,0x5e95,0x5e97,0x5e99,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea8,0x5eaa,0x5eae,0x5eb0,0x5eb9,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec4,0x5ece,0x5ed0,0x5ee3,0x5ee5,0x5ee9,0x5eec,0x5eec,0x5eee,0x5eef,0x5ef1,0x5ef4,0x5ef6,0x5efc,0x5efe,0x5eff,0x5f01,0x5f02,0x5f04,0x5f05,0x5f07,0x5f08,0x5f0a,0x5f0f,0x5f12,0x5f15,0x5f17,0x5f18,0x5f1a,0x5f1b,0x5f1d,0x5f1d,0x5f1f,0x5f1f,0x5f22,0x5f29,0x5f2d,0x5f2e,0x5f30,0x5f31,0x5f33,0x5f33,0x5f35,0x5f38,0x5f3a,0x5f3c,0x5f40,0x5f40,0x5f43,0x5f46,0x5f48,0x5f51,0x5f54,0x5f54,0x5f56,0x5f59,0x5f5c,0x5f5e,0x5f61,0x5f65,0x5f67,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f74,0x5f76,0x5f79,0x5f7b,0x5f83,0x5f85,0x5f8c,0x5f90,0x5f92,0x5f96,0x5f99,0x5f9b,0x5f9c,0x5f9e,0x5fa1,0x5fa4,0x5faf,0x5fb1,0x5fb2,0x5fb5,0x5fb7,0x5fb9,0x5fc5,0x5fc9,0x5fc9,0x5fcc,0x5fcd,0x5fcf,0x5fd2,0x5fd4,0x5fd9,0x5fdb,0x5fdb,0x5fdd,0x5fe1,0x5fe3,0x5fe5,0x5fe8,0x5fe8,0x5fea,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff3,0x5ff5,0x5ff7,0x5ff8,0x5ffa,0x5ffb,0x5ffd,0x5ffd,0x5fff,0x6000,0x6009,0x6017,0x6019,0x601e,0x6020,0x602f,0x6031,0x6035,0x6037,0x6037,0x6039,0x6039,0x603b,0x603b,0x6040,0x6047,0x6049,0x604d,0x6050,0x6050,0x6052,0x6055,0x6058,0x605b,0x605d,0x605f,0x6062,0x6070,0x6072,0x6072,0x6075,0x6075,0x6077,0x6077,0x607e,0x6081,0x6083,0x608a,0x608c,0x608e,0x6090,0x6090,0x6092,0x6092,0x6094,0x6097,0x609a,0x60a0,0x60a2,0x60a4,0x60a6,0x60a8,0x60b0,0x60c1,0x60c3,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d7,0x60e4,0x60e6,0x60e9,0x60f0,0x6101,0x6103,0x6110,0x6112,0x6116,0x6118,0x611d,0x611f,0x6120,0x6122,0x6123,0x6127,0x6129,0x612b,0x612c,0x612e,0x6130,0x6132,0x6132,0x6134,0x6134,0x6136,0x6137,0x613b,0x613b,0x613d,0x6142,0x6144,0x6150,0x6152,0x6156,0x6158,0x6168,0x616a,0x616c,0x616e,0x6177,0x6179,0x617a,0x617c,0x617e,0x6180,0x6183,0x6187,0x6187,0x6189,0x618e,0x6190,0x6196,0x6198,0x619d,0x619f,0x619f,0x61a1,0x61a2,0x61a4,0x61a4,0x61a7,0x61ba,0x61bc,0x61bc,0x61be,0x61c3,0x61c5,0x61cd,0x61cf,0x61d0,0x61d3,0x61d3,0x61d6,0x61d6,0x61d8,0x61d8,0x61da,0x61da,0x61de,0x61e0,0x61e2,0x61eb,0x61ed,0x61ee,0x61f0,0x61f2,0x61f5,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6219,0x621b,0x621f,0x6225,0x6227,0x6227,0x6229,0x622e,0x6230,0x6230,0x6232,0x6234,0x6236,0x6237,0x6239,0x623a,0x623d,0x6243,0x6246,0x624e,0x6250,0x6254,0x6258,0x625c,0x625e,0x625e,0x6260,0x6266,0x6268,0x6268,0x626d,0x6274,0x6276,0x6277,0x6279,0x628a,0x628c,0x628c,0x628e,0x6298,0x629d,0x629d,0x62a4,0x62a4,0x62a6,0x62a6,0x62a8,0x62b1,0x62b3,0x62b6,0x62b8,0x62b9,0x62bb,0x62bf,0x62c1,0x62dc,0x62df,0x62df,0x62e5,0x62e5,0x62eb,0x6303,0x6307,0x6309,0x630b,0x6311,0x6313,0x6316,0x6318,0x6318,0x6328,0x632f,0x6331,0x633e,0x6340,0x6351,0x6354,0x635a,0x635d,0x635d,0x6364,0x6365,0x6367,0x6369,0x636b,0x6372,0x6375,0x637d,0x637f,0x6385,0x6387,0x6392,0x6394,0x6394,0x6396,0x6399,0x639b,0x63a5,0x63a7,0x63b1,0x63b9,0x63b9,0x63bd,0x63be,0x63c0,0x63d3,0x63d5,0x63eb,0x63ed,0x63f6,0x63f8,0x63f9,0x63fb,0x63fc,0x63fe,0x63fe,0x6406,0x6407,0x6409,0x6410,0x6412,0x6418,0x641a,0x641c,0x641e,0x6428,0x642a,0x6430,0x6432,0x643b,0x643d,0x6441,0x6443,0x6443,0x644b,0x644b,0x644d,0x644e,0x6450,0x6454,0x6458,0x6461,0x6465,0x6469,0x646b,0x647d,0x647f,0x647f,0x6482,0x6482,0x6485,0x6485,0x6487,0x648d,0x648f,0x6493,0x6495,0x649a,0x649c,0x64a0,0x64a2,0x64a6,0x64a9,0x64a9,0x64ab,0x64b4,0x64b6,0x64b6,0x64bb,0x64c5,0x64c7,0x64c7,0x64c9,0x64cb,0x64cd,0x64d0,0x64d2,0x64d4,0x64d6,0x64db,0x64dd,0x64dd,0x64e0,0x64ed,0x64ef,0x64f4,0x64f7,0x64f8,0x64fa,0x6501,0x6503,0x6504,0x6506,0x6507,0x6509,0x650a,0x650c,0x6511,0x6513,0x6519,0x651b,0x6526,0x6529,0x6530,0x6532,0x6539,0x653b,0x653b,0x653d,0x653f,0x6541,0x6541,0x6543,0x6543,0x6545,0x6546,0x6548,0x654a,0x654d,0x654d,0x654f,0x654f,0x6551,0x6551,0x6553,0x655a,0x655c,0x655f,0x6562,0x6568,0x656a,0x656d,0x656f,0x656f,0x6572,0x657c,0x657f,0x6589,0x658b,0x658c,0x6590,0x6592,0x6594,0x6597,0x6599,0x6599,0x659b,0x65a2,0x65a4,0x65a5,0x65a7,0x65a8,0x65aa,0x65ac,0x65ae,0x65b0,0x65b2,0x65b3,0x65b5,0x65b9,0x65bb,0x65bf,0x65c1,0x65c6,0x65cb,0x65d4,0x65d6,0x65d7,0x65da,0x65db,0x65dd,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65f5,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6615,0x6618,0x6618,0x661c,0x6628,0x662b,0x662b,0x662d,0x6636,0x6639,0x663a,0x6641,0x6645,0x6647,0x664d,0x664f,0x664f,0x6651,0x6653,0x6657,0x6657,0x6659,0x6668,0x666a,0x666c,0x666e,0x6674,0x6676,0x667e,0x6680,0x6680,0x6684,0x668e,0x6690,0x6692,0x6694,0x669a,0x669d,0x669d,0x669f,0x66a2,0x66a4,0x66a4,0x66a8,0x66ab,0x66ad,0x66bb,0x66bd,0x66c0,0x66c4,0x66c4,0x66c6,0x66cf,0x66d2,0x66d2,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e4,0x66e6,0x66e9,0x66eb,0x66ee,0x66f0,0x66f4,0x66f6,0x66f9,0x66fc,0x66fc,0x66fe,0x6705,0x6708,0x6710,0x6712,0x6719,0x671b,0x671b,0x671d,0x6723,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6736,0x6738,0x673f,0x6744,0x6749,0x674b,0x6751,0x6753,0x6753,0x6755,0x6757,0x6759,0x675a,0x675c,0x6762,0x6767,0x6767,0x676a,0x677f,0x6781,0x6787,0x6789,0x6789,0x678b,0x6795,0x6797,0x679a,0x679c,0x679d,0x679f,0x67a0,0x67a4,0x67a4,0x67ac,0x67ac,0x67ae,0x67bb,0x67bf,0x67c6,0x67c8,0x67d4,0x67d6,0x67df,0x67e2,0x67e7,0x67e9,0x67fa,0x67fc,0x67fc,0x67fe,0x6804,0x680d,0x680d,0x6810,0x6810,0x6812,0x6814,0x6816,0x6818,0x681a,0x6822,0x6825,0x6826,0x6828,0x682b,0x682d,0x682f,0x6831,0x683e,0x6840,0x6851,0x6853,0x6856,0x685d,0x685d,0x6865,0x6865,0x686b,0x686b,0x686d,0x686f,0x6871,0x6872,0x6874,0x6879,0x687b,0x688c,0x688f,0x6894,0x6896,0x6898,0x689b,0x689d,0x689f,0x68a4,0x68a6,0x68b6,0x68b9,0x68b9,0x68bd,0x68bd,0x68c1,0x68c1,0x68c3,0x68ce,0x68d0,0x68d8,0x68da,0x68da,0x68dc,0x68e1,0x68e3,0x68e4,0x68e6,0x68ec,0x68ee,0x68fd,0x6900,0x6915,0x6917,0x691b,0x6925,0x6925,0x692a,0x692a,0x692c,0x692c,0x692f,0x6930,0x6932,0x6939,0x693b,0x6946,0x6948,0x694c,0x694e,0x694f,0x6951,0x697b,0x6980,0x6980,0x6982,0x6983,0x6985,0x6986,0x698a,0x698a,0x698d,0x698e,0x6990,0x6991,0x6993,0x699c,0x699e,0x69b7,0x69b9,0x69b9,0x69bb,0x69c4,0x69c6,0x69c6,0x69c9,0x69d1,0x69d3,0x69d6,0x69d9,0x69d9,0x69e1,0x69e2,0x69e4,0x69e9,0x69eb,0x69ee,0x69f1,0x69f4,0x69f6,0x6a0d,0x6a0f,0x6a0f,0x6a11,0x6a11,0x6a13,0x6a21,0x6a23,0x6a23,0x6a25,0x6a29,0x6a2b,0x6a2d,0x6a32,0x6a35,0x6a38,0x6a41,0x6a43,0x6a49,0x6a4b,0x6a5b,0x6a5d,0x6a6b,0x6a6d,0x6a6d,0x6a6f,0x6a6f,0x6a71,0x6a71,0x6a74,0x6a74,0x6a76,0x6a76,0x6a7a,0x6a7a,0x6a7e,0x6a85,0x6a87,0x6a87,0x6a89,0x6a8a,0x6a8c,0x6a97,0x6a99,0x6aa8,0x6aab,0x6aaf,0x6ab1,0x6abb,0x6abd,0x6abe,0x6ac2,0x6ac3,0x6ac5,0x6acd,0x6acf,0x6ad1,0x6ad3,0x6ad4,0x6ad8,0x6ae1,0x6ae5,0x6ae5,0x6ae7,0x6ae8,0x6aea,0x6aec,0x6aee,0x6af1,0x6af3,0x6af3,0x6af6,0x6af6,0x6af8,0x6afc,0x6b00,0x6b00,0x6b02,0x6b05,0x6b08,0x6b0b,0x6b0f,0x6b13,0x6b16,0x6b1a,0x6b1d,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b25,0x6b25,0x6b28,0x6b28,0x6b2c,0x6b2d,0x6b2f,0x6b2f,0x6b31,0x6b3f,0x6b41,0x6b43,0x6b45,0x6b4e,0x6b50,0x6b52,0x6b54,0x6b57,0x6b59,0x6b59,0x6b5b,0x6b5c,0x6b5e,0x6b67,0x6b6a,0x6b6a,0x6b6d,0x6b6d,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b74,0x6b74,0x6b76,0x6b7b,0x6b7e,0x6b84,0x6b86,0x6b86,0x6b88,0x6b8a,0x6b8c,0x6b8f,0x6b91,0x6b91,0x6b94,0x6b99,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba7,0x6baa,0x6bab,0x6bad,0x6bb0,0x6bb2,0x6bb3,0x6bb5,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc3,0x6bcd,0x6bcf,0x6bd0,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdc,0x6bde,0x6bde,0x6be0,0x6be4,0x6be6,0x6be8,0x6bea,0x6bec,0x6bef,0x6bf0,0x6bf2,0x6bf3,0x6bf7,0x6c06,0x6c08,0x6c09,0x6c0b,0x6c0d,0x6c0f,0x6c11,0x6c13,0x6c16,0x6c18,0x6c1d,0x6c1f,0x6c21,0x6c23,0x6c28,0x6c2a,0x6c2c,0x6c2e,0x6c3b,0x6c3d,0x6c43,0x6c46,0x6c46,0x6c49,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c61,0x6c65,0x6c6b,0x6c6d,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9d,0x6c9f,0x6c9f,0x6ca2,0x6ca2,0x6caa,0x6cb4,0x6cb6,0x6cc7,0x6cc9,0x6cd7,0x6cd9,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf3,0x6cf5,0x6cf5,0x6cf9,0x6cf9,0x6cff,0x6d12,0x6d16,0x6d1b,0x6d1d,0x6d20,0x6d22,0x6d22,0x6d24,0x6d42,0x6d4e,0x6d4e,0x6d57,0x6d5c,0x6d5e,0x6d6a,0x6d6c,0x6d72,0x6d74,0x6d98,0x6d9a,0x6d9a,0x6da4,0x6da5,0x6daa,0x6dac,0x6dae,0x6daf,0x6db1,0x6db5,0x6db7,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dcd,0x6dcf,0x6de6,0x6de8,0x6df7,0x6df9,0x6dfe,0x6e00,0x6e00,0x6e02,0x6e05,0x6e0a,0x6e0a,0x6e0f,0x6e0f,0x6e15,0x6e15,0x6e18,0x6e1d,0x6e1f,0x6e36,0x6e38,0x6e41,0x6e43,0x6e47,0x6e49,0x6e4b,0x6e4d,0x6e69,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e71,0x6e74,0x6e76,0x6e79,0x6e7c,0x6e7c,0x6e86,0x6e86,0x6e88,0x6e89,0x6e8b,0x6e8b,0x6e8d,0x6e90,0x6e92,0x6e94,0x6e96,0x6ea7,0x6eaa,0x6eab,0x6eae,0x6ed6,0x6ed8,0x6edd,0x6ee2,0x6ee2,0x6ee8,0x6ee9,0x6eeb,0x6eef,0x6ef1,0x6ef2,0x6ef4,0x6f0f,0x6f12,0x6f1a,0x6f1c,0x6f1c,0x6f1e,0x6f27,0x6f29,0x6f41,0x6f43,0x6f44,0x6f4e,0x6f58,0x6f5a,0x6f64,0x6f66,0x6f67,0x6f69,0x6f70,0x6f72,0x6f74,0x6f76,0x6f82,0x6f84,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f97,0x6f9d,0x6fb6,0x6fb8,0x6fc4,0x6fc6,0x6fcf,0x6fd3,0x6fd5,0x6fd8,0x6fe4,0x6fe6,0x6fe9,0x6feb,0x6ff2,0x6ff4,0x6ff4,0x6ff6,0x6ff8,0x6ffa,0x6ffc,0x6ffe,0x7001,0x7003,0x7007,0x7009,0x700f,0x7011,0x7011,0x7014,0x7024,0x7026,0x702c,0x702f,0x7035,0x7037,0x703c,0x703e,0x7046,0x7048,0x704d,0x7050,0x7052,0x7054,0x7058,0x705a,0x706c,0x706e,0x7071,0x7074,0x707a,0x707c,0x707f,0x7081,0x7086,0x7089,0x708b,0x708e,0x708f,0x7091,0x7096,0x7098,0x709a,0x709f,0x70a1,0x70a3,0x70a7,0x70a9,0x70a9,0x70ab,0x70b1,0x70b3,0x70b5,0x70b7,0x70be,0x70c0,0x70c0,0x70c4,0x70c8,0x70ca,0x70da,0x70dc,0x70e2,0x70e4,0x70e4,0x70ef,0x70f1,0x70f3,0x7100,0x7102,0x7102,0x7104,0x7106,0x7109,0x710e,0x7110,0x7110,0x7113,0x7113,0x7117,0x7117,0x7119,0x7123,0x7125,0x7126,0x7128,0x7129,0x712b,0x712c,0x712e,0x7136,0x713a,0x713b,0x713e,0x713e,0x7140,0x7147,0x7149,0x7154,0x7156,0x715a,0x715c,0x716c,0x716e,0x716e,0x7170,0x7178,0x717a,0x717e,0x7180,0x7182,0x7184,0x718a,0x718c,0x718c,0x718e,0x7192,0x7194,0x7194,0x7196,0x71a5,0x71a7,0x71aa,0x71ac,0x71ad,0x71af,0x71b5,0x71b7,0x71ba,0x71bc,0x71cb,0x71ce,0x71d2,0x71d4,0x71d6,0x71d8,0x71dd,0x71df,0x71e2,0x71e4,0x71e8,0x71eb,0x71ee,0x71f0,0x71f2,0x71f4,0x71f6,0x71f8,0x71f9,0x71fb,0x7203,0x7205,0x7207,0x7209,0x720a,0x720c,0x7210,0x7213,0x7217,0x7219,0x721b,0x721d,0x721f,0x7222,0x722e,0x7230,0x7230,0x7235,0x7236,0x7238,0x723b,0x723d,0x7242,0x7244,0x7244,0x7246,0x724c,0x724f,0x7250,0x7252,0x7253,0x7255,0x7263,0x7266,0x7267,0x7269,0x726a,0x726c,0x726c,0x726e,0x7270,0x7272,0x7274,0x7276,0x7279,0x727b,0x7282,0x7284,0x7289,0x728b,0x7298,0x729a,0x729b,0x729d,0x729f,0x72a1,0x72aa,0x72ac,0x72b0,0x72b2,0x72b2,0x72b4,0x72b5,0x72ba,0x72ba,0x72bd,0x72bd,0x72bf,0x72c6,0x72c9,0x72ce,0x72d0,0x72d2,0x72d4,0x72d4,0x72d6,0x72da,0x72dc,0x72dc,0x72df,0x72e4,0x72e6,0x72e6,0x72e8,0x72eb,0x72f3,0x72f4,0x72f6,0x7302,0x7304,0x7304,0x7307,0x7308,0x730a,0x730c,0x730f,0x7313,0x7316,0x7319,0x731b,0x731e,0x7322,0x7323,0x7325,0x732e,0x7330,0x733c,0x733e,0x7345,0x7348,0x734a,0x734c,0x7352,0x7357,0x735b,0x735d,0x7362,0x7365,0x736c,0x736e,0x7378,0x737a,0x738c,0x738e,0x738f,0x7392,0x7398,0x739c,0x73a2,0x73a4,0x73ad,0x73b2,0x73bc,0x73be,0x73c0,0x73c2,0x73d0,0x73d2,0x73de,0x73e0,0x73eb,0x73ed,0x73ef,0x73f3,0x740d,0x7411,0x7412,0x7414,0x7417,0x7419,0x7426,0x7428,0x743a,0x743c,0x743c,0x743f,0x7457,0x7459,0x7465,0x7467,0x7476,0x7479,0x747a,0x747c,0x7483,0x7485,0x748d,0x7490,0x7490,0x7492,0x7492,0x7494,0x7495,0x7497,0x74a1,0x74a3,0x74ab,0x74ad,0x74ad,0x74af,0x74b2,0x74b4,0x74bb,0x74bd,0x74c3,0x74c5,0x74c6,0x74c8,0x74c8,0x74ca,0x74cc,0x74cf,0x74d0,0x74d3,0x74e9,0x74ec,0x74ec,0x74ee,0x74ee,0x74f0,0x74f2,0x74f4,0x74f8,0x74fb,0x74fb,0x74fd,0x7500,0x7502,0x7505,0x7507,0x7508,0x750b,0x751a,0x751c,0x751f,0x7521,0x7522,0x7525,0x7526,0x7528,0x7535,0x7537,0x753b,0x753d,0x7540,0x7542,0x7542,0x7546,0x7548,0x754a,0x754f,0x7551,0x7551,0x7553,0x7555,0x7559,0x755d,0x755f,0x7560,0x7562,0x7567,0x756a,0x7570,0x7572,0x7572,0x7576,0x757a,0x757d,0x7580,0x7583,0x7584,0x7586,0x7587,0x758a,0x7592,0x7594,0x7595,0x7598,0x759a,0x759d,0x759e,0x75a2,0x75a5,0x75a7,0x75a7,0x75aa,0x75ab,0x75b0,0x75b6,0x75b8,0x75c5,0x75c7,0x75c8,0x75ca,0x75d2,0x75d4,0x75d5,0x75d7,0x75e4,0x75e6,0x75e7,0x75ed,0x75ed,0x75ef,0x7603,0x7607,0x760d,0x760f,0x7611,0x7613,0x7616,0x7619,0x7629,0x762c,0x762d,0x762f,0x7635,0x7638,0x7638,0x763a,0x763d,0x7640,0x7640,0x7642,0x7643,0x7646,0x7649,0x764c,0x7654,0x7656,0x765a,0x765c,0x765c,0x765f,0x7662,0x7664,0x7667,0x7669,0x766a,0x766c,0x7676,0x7678,0x767f,0x7681,0x7682,0x7684,0x7684,0x7686,0x768b,0x768e,0x7690,0x7692,0x7693,0x7695,0x7696,0x7699,0x769e,0x76a1,0x76a1,0x76a4,0x76a6,0x76aa,0x76ab,0x76ad,0x76b0,0x76b4,0x76b5,0x76b7,0x76b8,0x76ba,0x76bb,0x76bd,0x76bf,0x76c2,0x76c6,0x76c8,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76df,0x76e1,0x76e1,0x76e3,0x76e7,0x76e9,0x76ea,0x76ec,0x76f5,0x76f7,0x76fc,0x76fe,0x76fe,0x7701,0x7701,0x7703,0x7705,0x7707,0x770c,0x770e,0x7713,0x7715,0x7715,0x7719,0x771b,0x771d,0x7720,0x7722,0x7729,0x772b,0x772b,0x772d,0x772d,0x772f,0x772f,0x7731,0x773e,0x7740,0x7740,0x7743,0x7747,0x774a,0x774f,0x7752,0x7752,0x7754,0x7756,0x7758,0x775c,0x775e,0x7763,0x7765,0x776f,0x7772,0x7772,0x7777,0x7785,0x7787,0x7789,0x778b,0x778f,0x7791,0x7791,0x7793,0x7793,0x7795,0x7795,0x7797,0x77a3,0x77a5,0x77a5,0x77a7,0x77a8,0x77aa,0x77ad,0x77af,0x77b7,0x77b9,0x77bf,0x77c2,0x77c5,0x77c7,0x77c7,0x77c9,0x77d0,0x77d3,0x77d5,0x77d7,0x77de,0x77e0,0x77e0,0x77e2,0x77e3,0x77e5,0x77e9,0x77ec,0x77f4,0x77f7,0x77fe,0x7802,0x7803,0x7805,0x7806,0x7808,0x7809,0x780c,0x7814,0x7818,0x7818,0x781c,0x7823,0x7825,0x7835,0x7837,0x7839,0x783c,0x783d,0x7842,0x7845,0x7847,0x784e,0x7850,0x7854,0x785c,0x785e,0x7860,0x7860,0x7862,0x7862,0x7864,0x7866,0x7868,0x7871,0x7879,0x787c,0x787e,0x7881,0x7883,0x7889,0x788c,0x788f,0x7891,0x7891,0x7893,0x789a,0x789e,0x78a5,0x78a7,0x78ad,0x78af,0x78b4,0x78b6,0x78b6,0x78b8,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c3,0x78c5,0x78c7,0x78d5,0x78d7,0x78d8,0x78da,0x78db,0x78dd,0x78e5,0x78e7,0x78ea,0x78ec,0x78f5,0x78f7,0x78f7,0x78f9,0x78ff,0x7901,0x7902,0x7904,0x7906,0x7909,0x7909,0x790c,0x790c,0x790e,0x790e,0x7910,0x7914,0x7917,0x7917,0x7919,0x7919,0x791b,0x791e,0x7921,0x7921,0x7923,0x792f,0x7931,0x7936,0x7938,0x7942,0x7944,0x794c,0x794f,0x7965,0x7967,0x796b,0x796d,0x796d,0x7970,0x7974,0x7979,0x797a,0x797c,0x7983,0x7986,0x7988,0x798a,0x798b,0x798d,0x799d,0x799f,0x79a2,0x79a4,0x79ae,0x79b0,0x79b4,0x79b6,0x79bb,0x79bd,0x79c1,0x79c4,0x79c6,0x79c8,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79dc,0x79e0,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ee,0x79f1,0x79f1,0x79f4,0x79f4,0x79f6,0x79f8,0x79fa,0x79fb,0x7a00,0x7a00,0x7a02,0x7a06,0x7a08,0x7a08,0x7a0a,0x7a0e,0x7a10,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a26,0x7a26,0x7a28,0x7a28,0x7a2a,0x7a32,0x7a37,0x7a37,0x7a39,0x7a40,0x7a43,0x7a4e,0x7a54,0x7a54,0x7a56,0x7a58,0x7a5a,0x7a5c,0x7a5f,0x7a62,0x7a65,0x7a65,0x7a67,0x7a69,0x7a6b,0x7a6e,0x7a70,0x7a72,0x7a74,0x7a76,0x7a78,0x7a7b,0x7a7d,0x7a81,0x7a83,0x7a8c,0x7a8f,0x7a99,0x7a9e,0x7aa0,0x7aa2,0x7aa3,0x7aa8,0x7aac,0x7aae,0x7ab8,0x7aba,0x7abc,0x7abe,0x7ac5,0x7ac7,0x7acb,0x7acf,0x7acf,0x7ad1,0x7ad1,0x7ad3,0x7ad3,0x7ad8,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae7,0x7ae9,0x7aeb,0x7aed,0x7aef,0x7af6,0x7af7,0x7af9,0x7b01,0x7b04,0x7b06,0x7b08,0x7b0c,0x7b0e,0x7b14,0x7b18,0x7b1b,0x7b1d,0x7b20,0x7b22,0x7b35,0x7b38,0x7b39,0x7b3b,0x7b3b,0x7b40,0x7b40,0x7b42,0x7b52,0x7b54,0x7b56,0x7b58,0x7b58,0x7b60,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b78,0x7b7b,0x7b7b,0x7b82,0x7b82,0x7b84,0x7b85,0x7b87,0x7b88,0x7b8a,0x7b92,0x7b94,0x7b9d,0x7ba0,0x7ba4,0x7bac,0x7baf,0x7bb1,0x7bb2,0x7bb4,0x7bb5,0x7bb7,0x7bb9,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc7,0x7bc9,0x7bcc,0x7bce,0x7bd0,0x7bd4,0x7bd5,0x7bd8,0x7bec,0x7bf0,0x7bf4,0x7bf7,0x7c03,0x7c05,0x7c07,0x7c09,0x7c12,0x7c15,0x7c15,0x7c19,0x7c19,0x7c1b,0x7c23,0x7c25,0x7c2d,0x7c30,0x7c30,0x7c33,0x7c33,0x7c35,0x7c35,0x7c37,0x7c39,0x7c3b,0x7c40,0x7c42,0x7c45,0x7c47,0x7c4a,0x7c4c,0x7c4d,0x7c50,0x7c51,0x7c53,0x7c54,0x7c56,0x7c57,0x7c59,0x7c5d,0x7c5f,0x7c60,0x7c63,0x7c67,0x7c69,0x7c70,0x7c72,0x7c75,0x7c78,0x7c81,0x7c83,0x7c86,0x7c88,0x7c8a,0x7c8c,0x7c8e,0x7c91,0x7c92,0x7c94,0x7c98,0x7c9c,0x7c9c,0x7c9e,0x7c9f,0x7ca1,0x7ca3,0x7ca5,0x7ca8,0x7cac,0x7cac,0x7cae,0x7caf,0x7cb1,0x7cb5,0x7cb8,0x7cbf,0x7cc2,0x7cc3,0x7cc5,0x7cc5,0x7cc7,0x7cce,0x7cd0,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce8,0x7cea,0x7cea,0x7cec,0x7cf9,0x7cfb,0x7cfe,0x7d00,0x7d22,0x7d25,0x7d25,0x7d28,0x7d29,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d36,0x7d38,0x7d47,0x7d4a,0x7d4a,0x7d4d,0x7d56,0x7d58,0x7d58,0x7d5a,0x7d5f,0x7d61,0x7d63,0x7d66,0x7d6b,0x7d6d,0x7d73,0x7d79,0x7d7d,0x7d7f,0x7d81,0x7d83,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8f,0x7d91,0x7d97,0x7d9c,0x7da4,0x7da6,0x7db5,0x7db7,0x7dc2,0x7dc4,0x7dc7,0x7dc9,0x7dd0,0x7dd2,0x7dd4,0x7dd7,0x7de1,0x7de3,0x7dea,0x7dec,0x7dec,0x7dee,0x7df7,0x7df9,0x7dfe,0x7e03,0x7e03,0x7e07,0x7e17,0x7e1a,0x7e25,0x7e27,0x7e27,0x7e29,0x7e2b,0x7e2d,0x7e49,0x7e4c,0x7e4c,0x7e50,0x7e5c,0x7e5e,0x7e63,0x7e65,0x7e65,0x7e67,0x7e70,0x7e72,0x7e82,0x7e86,0x7e88,0x7e8a,0x7e8f,0x7e91,0x7e9c,0x7e9f,0x7e9f,0x7ea4,0x7ea4,0x7eac,0x7eac,0x7eba,0x7eba,0x7ec7,0x7ec7,0x7ecf,0x7ecf,0x7edf,0x7edf,0x7f06,0x7f06,0x7f36,0x7f3a,0x7f3d,0x7f41,0x7f43,0x7f45,0x7f47,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f61,0x7f63,0x7f63,0x7f65,0x7f6e,0x7f70,0x7f73,0x7f75,0x7f7f,0x7f83,0x7f83,0x7f85,0x7f8f,0x7f91,0x7f97,0x7f9a,0x7f9e,0x7fa0,0x7fa9,0x7fac,0x7fc3,0x7fc5,0x7fc5,0x7fc7,0x7fc7,0x7fc9,0x7fd2,0x7fd4,0x7fd5,0x7fd7,0x7fd7,0x7fdb,0x7fe3,0x7fe5,0x7ff5,0x7ff7,0x8008,0x800b,0x8012,0x8014,0x8019,0x801b,0x8021,0x8024,0x8026,0x8028,0x802a,0x802c,0x802c,0x802e,0x8031,0x8033,0x8037,0x8039,0x8039,0x803b,0x803f,0x8043,0x8043,0x8046,0x8048,0x804a,0x804a,0x804f,0x8052,0x8054,0x8054,0x8056,0x8056,0x8058,0x8058,0x805a,0x805e,0x8061,0x8064,0x8066,0x8067,0x806c,0x806c,0x806f,0x8073,0x8075,0x8079,0x807d,0x8080,0x8082,0x8082,0x8084,0x8087,0x8089,0x808c,0x808f,0x8090,0x8092,0x8093,0x8095,0x8096,0x8098,0x809d,0x809f,0x809f,0x80a1,0x80a3,0x80a5,0x80a5,0x80a7,0x80a7,0x80a9,0x80ab,0x80ad,0x80af,0x80b1,0x80b2,0x80b4,0x80b8,0x80ba,0x80ba,0x80bc,0x80bd,0x80c2,0x80ca,0x80cc,0x80d1,0x80d4,0x80de,0x80e0,0x80e1,0x80e3,0x80e6,0x80e9,0x80e9,0x80ec,0x80ed,0x80ef,0x80f6,0x80f8,0x80fe,0x8100,0x8103,0x8105,0x810a,0x810c,0x810c,0x810e,0x810e,0x8112,0x8112,0x8114,0x811b,0x811d,0x811f,0x8121,0x8125,0x8127,0x8127,0x8129,0x812d,0x812f,0x8132,0x8134,0x8134,0x8137,0x8137,0x8139,0x813a,0x813d,0x813e,0x8142,0x8144,0x8146,0x8148,0x814a,0x8156,0x8159,0x815c,0x815e,0x815e,0x8160,0x8162,0x8164,0x8167,0x8169,0x8169,0x816b,0x8174,0x8176,0x817a,0x817c,0x817d,0x817f,0x8180,0x8182,0x8184,0x8186,0x818d,0x818f,0x818f,0x8193,0x8193,0x8195,0x8195,0x8197,0x81a0,0x81a2,0x81a3,0x81a5,0x81ac,0x81ae,0x81ae,0x81b0,0x81b7,0x81b9,0x81ca,0x81cc,0x81cd,0x81cf,0x81d2,0x81d5,0x81d5,0x81d7,0x81db,0x81dd,0x81ea,0x81ec,0x81ef,0x81f2,0x81f4,0x81f6,0x81fc,0x81fe,0x8202,0x8204,0x8205,0x8207,0x820d,0x8210,0x8212,0x8214,0x8216,0x8218,0x8218,0x821a,0x8222,0x8225,0x8226,0x8228,0x822d,0x822f,0x822f,0x8232,0x823a,0x823c,0x8240,0x8242,0x8242,0x8244,0x8245,0x8247,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x825c,0x825e,0x825f,0x8261,0x8266,0x8268,0x8269,0x826b,0x826f,0x8271,0x8272,0x8274,0x8280,0x8283,0x8285,0x8287,0x8287,0x828a,0x828b,0x828d,0x8294,0x8298,0x829b,0x829d,0x82b1,0x82b3,0x82c0,0x82c2,0x82c4,0x82ca,0x82ca,0x82cf,0x82d9,0x82db,0x82dc,0x82de,0x82e8,0x82ea,0x8309,0x830b,0x830d,0x8316,0x831e,0x8320,0x8320,0x8322,0x8322,0x8324,0x832d,0x832f,0x832f,0x8331,0x833d,0x833f,0x8345,0x8347,0x8354,0x8356,0x8357,0x8362,0x8363,0x8366,0x8366,0x836f,0x836f,0x8373,0x8378,0x837a,0x837f,0x8381,0x8381,0x8383,0x8383,0x8385,0x839e,0x83a0,0x83a0,0x83a2,0x83ac,0x83ae,0x83b0,0x83b9,0x83b9,0x83bd,0x83cf,0x83d1,0x83d1,0x83d3,0x83d9,0x83db,0x83e5,0x83e7,0x83f6,0x83f8,0x83ff,0x8401,0x8401,0x8403,0x8407,0x8409,0x8414,0x8416,0x8416,0x8418,0x8418,0x841b,0x841c,0x8420,0x8421,0x8423,0x8424,0x8426,0x8426,0x8429,0x8429,0x842b,0x8440,0x8442,0x844e,0x8450,0x8469,0x846b,0x847a,0x847d,0x8480,0x8482,0x8482,0x8484,0x8484,0x8486,0x8486,0x8488,0x8488,0x848d,0x8494,0x8496,0x84a4,0x84a7,0x84b2,0x84b4,0x84b4,0x84b6,0x84b6,0x84b8,0x84c2,0x84c4,0x84c7,0x84c9,0x84d4,0x84d6,0x84d7,0x84da,0x84db,0x84de,0x84de,0x84e1,0x84e2,0x84e4,0x84e5,0x84e7,0x84ec,0x84ee,0x84f4,0x84f6,0x8500,0x8502,0x851a,0x851c,0x8521,0x8523,0x8531,0x8533,0x8534,0x8538,0x8538,0x853b,0x853b,0x853d,0x853e,0x8540,0x854e,0x8551,0x855b,0x855d,0x8571,0x8573,0x8573,0x8575,0x857c,0x857e,0x857e,0x8580,0x8591,0x8593,0x85a4,0x85a6,0x85aa,0x85af,0x85b1,0x85b3,0x85ba,0x85bd,0x85c9,0x85cb,0x85cb,0x85cd,0x85d2,0x85d5,0x85da,0x85dc,0x85e6,0x85e8,0x85f2,0x85f4,0x85f4,0x85f6,0x8602,0x8604,0x8607,0x8609,0x860d,0x860f,0x8611,0x8613,0x8614,0x8616,0x861c,0x861e,0x862a,0x862c,0x862f,0x8631,0x8636,0x8638,0x863c,0x863e,0x8640,0x8642,0x8643,0x8645,0x8648,0x864b,0x864e,0x8650,0x8650,0x8652,0x8656,0x8659,0x8659,0x865b,0x865c,0x865e,0x865f,0x8661,0x8665,0x8667,0x8674,0x8677,0x8677,0x8679,0x867c,0x867e,0x867e,0x8685,0x8687,0x868a,0x868e,0x8690,0x869a,0x869c,0x869e,0x86a0,0x86a5,0x86a7,0x86aa,0x86ad,0x86ad,0x86af,0x86c9,0x86cb,0x86cc,0x86d0,0x86d1,0x86d3,0x86d4,0x86d6,0x86df,0x86e2,0x86e4,0x86e6,0x86e6,0x86e8,0x86ed,0x86ef,0x86ef,0x86f5,0x86fb,0x86fe,0x86fe,0x8700,0x870e,0x8711,0x8713,0x8715,0x8715,0x8718,0x871c,0x871e,0x871e,0x8720,0x872a,0x872c,0x872e,0x8730,0x8735,0x8737,0x8738,0x873a,0x873c,0x873e,0x8743,0x8746,0x8746,0x874c,0x8771,0x8773,0x877b,0x877d,0x877d,0x8781,0x8789,0x878b,0x878d,0x878f,0x8794,0x8796,0x8798,0x879a,0x879f,0x87a2,0x87a5,0x87a9,0x87c6,0x87c8,0x87cc,0x87ce,0x87ce,0x87d1,0x87d4,0x87d6,0x87e8,0x87ea,0x87ef,0x87f2,0x87f7,0x87f9,0x87fc,0x87fe,0x8806,0x8808,0x880d,0x880f,0x8811,0x8813,0x8819,0x881b,0x881d,0x881f,0x8833,0x8835,0x8839,0x883b,0x8846,0x8848,0x8848,0x884a,0x884f,0x8852,0x8853,0x8855,0x8857,0x8859,0x885b,0x885d,0x885e,0x8860,0x8865,0x8867,0x886b,0x886d,0x8872,0x8874,0x8877,0x8879,0x8879,0x887c,0x8884,0x8887,0x8889,0x888b,0x8893,0x8895,0x88a2,0x88a4,0x88a4,0x88a7,0x88a8,0x88aa,0x88ac,0x88ae,0x88ae,0x88b1,0x88b2,0x88b4,0x88ba,0x88bc,0x88c2,0x88c5,0x88c5,0x88c7,0x88c7,0x88c9,0x88d0,0x88d2,0x88d2,0x88d4,0x88df,0x88e1,0x88e1,0x88e6,0x88e8,0x88eb,0x88ec,0x88ee,0x8902,0x8905,0x8907,0x8909,0x890c,0x890e,0x890e,0x8910,0x891a,0x891e,0x891f,0x8921,0x8927,0x8929,0x8933,0x8935,0x8938,0x893b,0x893e,0x8941,0x8944,0x8946,0x8947,0x8949,0x8949,0x894b,0x894d,0x894f,0x8954,0x8956,0x8966,0x8969,0x896f,0x8971,0x8974,0x8976,0x8977,0x8979,0x897c,0x897e,0x8983,0x8985,0x898b,0x898f,0x898f,0x8991,0x8991,0x8993,0x8998,0x899b,0x899f,0x89a1,0x89a7,0x89a9,0x89aa,0x89ac,0x89af,0x89b2,0x89b2,0x89b6,0x89b7,0x89b9,0x89ba,0x89bc,0x89c1,0x89c6,0x89c6,0x89d2,0x89d6,0x89d9,0x89dd,0x89df,0x89e9,0x89eb,0x89ed,0x89f0,0x89f4,0x89f6,0x89f8,0x89fa,0x89fc,0x89fe,0x8a00,0x8a02,0x8a04,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a13,0x8a15,0x8a18,0x8a1b,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a27,0x8a27,0x8a29,0x8a2d,0x8a30,0x8a31,0x8a34,0x8a34,0x8a36,0x8a36,0x8a38,0x8a41,0x8a44,0x8a46,0x8a48,0x8a4a,0x8a4c,0x8a52,0x8a54,0x8a59,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a7f,0x8a81,0x8a87,0x8a8b,0x8a8d,0x8a8f,0x8a96,0x8a98,0x8a9a,0x8a9c,0x8a9c,0x8a9e,0x8a9e,0x8aa0,0x8aa1,0x8aa3,0x8aac,0x8aaf,0x8ab0,0x8ab2,0x8ab2,0x8ab4,0x8ab4,0x8ab6,0x8ab6,0x8ab8,0x8ac0,0x8ac2,0x8ac9,0x8acb,0x8acd,0x8acf,0x8acf,0x8ad1,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae8,0x8aea,0x8aeb,0x8aed,0x8afc,0x8afe,0x8b02,0x8b04,0x8b08,0x8b0a,0x8b20,0x8b22,0x8b28,0x8b2a,0x8b31,0x8b33,0x8b33,0x8b35,0x8b37,0x8b39,0x8b43,0x8b45,0x8b5a,0x8b5c,0x8b60,0x8b62,0x8b63,0x8b65,0x8b6d,0x8b6f,0x8b70,0x8b74,0x8b74,0x8b77,0x8b7b,0x8b7d,0x8b86,0x8b88,0x8b88,0x8b8a,0x8b8c,0x8b8e,0x8b90,0x8b92,0x8b96,0x8b98,0x8b9c,0x8b9e,0x8ba0,0x8bbe,0x8bbe,0x8be2,0x8be2,0x8c37,0x8c37,0x8c39,0x8c39,0x8c3b,0x8c3f,0x8c41,0x8c43,0x8c45,0x8c51,0x8c54,0x8c57,0x8c5a,0x8c5a,0x8c5c,0x8c5d,0x8c5f,0x8c5f,0x8c61,0x8c62,0x8c64,0x8c66,0x8c68,0x8c6d,0x8c6f,0x8c73,0x8c75,0x8c7b,0x8c7d,0x8c7d,0x8c80,0x8c82,0x8c84,0x8c86,0x8c89,0x8c8a,0x8c8c,0x8c8d,0x8c8f,0x8c95,0x8c97,0x8ca5,0x8ca7,0x8cad,0x8caf,0x8cb0,0x8cb2,0x8cc5,0x8cc7,0x8cc8,0x8cca,0x8cca,0x8ccc,0x8ccd,0x8ccf,0x8ccf,0x8cd1,0x8cd7,0x8cd9,0x8cee,0x8cf0,0x8cf5,0x8cf7,0x8cfe,0x8d00,0x8d00,0x8d02,0x8d0d,0x8d0f,0x8d19,0x8d1b,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d69,0x8d6b,0x8d70,0x8d72,0x8d74,0x8d76,0x8d7b,0x8d7d,0x8d7d,0x8d80,0x8d82,0x8d84,0x8d85,0x8d89,0x8d8a,0x8d8c,0x8d96,0x8d99,0x8d99,0x8d9b,0x8d9c,0x8d9f,0x8da1,0x8da3,0x8da3,0x8da5,0x8daf,0x8db2,0x8db7,0x8db9,0x8dba,0x8dbc,0x8dbc,0x8dbe,0x8dc3,0x8dc5,0x8dc8,0x8dcb,0x8dd1,0x8dd3,0x8ddd,0x8ddf,0x8de4,0x8de6,0x8dec,0x8dee,0x8df4,0x8dfa,0x8dfa,0x8dfc,0x8e07,0x8e09,0x8e0a,0x8e0d,0x8e2b,0x8e2d,0x8e2e,0x8e30,0x8e31,0x8e33,0x8e36,0x8e38,0x8e3a,0x8e3c,0x8e42,0x8e44,0x8e50,0x8e53,0x8e57,0x8e59,0x8e6a,0x8e6c,0x8e6d,0x8e6f,0x8e6f,0x8e71,0x8e78,0x8e7a,0x8e7c,0x8e7e,0x8e7e,0x8e80,0x8e82,0x8e84,0x8e8e,0x8e90,0x8e98,0x8e9a,0x8e9a,0x8e9d,0x8ea1,0x8ea3,0x8ead,0x8eb0,0x8eb0,0x8eb2,0x8eb2,0x8eb6,0x8eb6,0x8eb9,0x8eba,0x8ebc,0x8ebd,0x8ec0,0x8ec0,0x8ec2,0x8ec3,0x8ec9,0x8ecf,0x8ed1,0x8ed4,0x8ed7,0x8ed8,0x8eda,0x8ee2,0x8ee4,0x8ee9,0x8eeb,0x8eef,0x8ef1,0x8ef2,0x8ef4,0x8efc,0x8efe,0x8f03,0x8f05,0x8f0b,0x8f0d,0x8f0e,0x8f10,0x8f20,0x8f23,0x8f26,0x8f29,0x8f2a,0x8f2c,0x8f30,0x8f32,0x8f39,0x8f3b,0x8f3c,0x8f3e,0x8f4b,0x8f4d,0x8f64,0x8f66,0x8f67,0x8f6e,0x8f6e,0x8f93,0x8f93,0x8f9b,0x8f9c,0x8f9f,0x8fa0,0x8fa3,0x8fa3,0x8fa5,0x8fa8,0x8fad,0x8fbc,0x8fbe,0x8fbf,0x8fc1,0x8fc2,0x8fc4,0x8fc6,0x8fc9,0x8fd7,0x8fda,0x8fda,0x8fe0,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8feb,0x8fed,0x8fee,0x8ff0,0x8ff0,0x8ff4,0x9006,0x9008,0x9008,0x900b,0x900d,0x900f,0x9012,0x9014,0x9017,0x9019,0x9024,0x902d,0x902f,0x9031,0x9038,0x903c,0x903f,0x9041,0x9042,0x9044,0x9044,0x9046,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9064,0x9067,0x9069,0x906b,0x9070,0x9072,0x9088,0x908a,0x908b,0x908d,0x908d,0x908f,0x9091,0x9094,0x9095,0x9097,0x9099,0x909b,0x909b,0x909e,0x90a3,0x90a5,0x90a8,0x90aa,0x90aa,0x90ae,0x90b6,0x90b8,0x90b8,0x90bb,0x90bb,0x90bd,0x90bf,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90c8,0x90ca,0x90cb,0x90ce,0x90ce,0x90d4,0x90dd,0x90df,0x90e5,0x90e8,0x90ed,0x90ef,0x90f5,0x90f9,0x9109,0x910b,0x910b,0x910d,0x9112,0x9114,0x9114,0x9116,0x9124,0x9126,0x9136,0x9138,0x913b,0x913e,0x9141,0x9143,0x9153,0x9155,0x915a,0x915c,0x915c,0x915e,0x9165,0x9167,0x916a,0x916c,0x916c,0x916e,0x9170,0x9172,0x917a,0x917c,0x917c,0x9180,0x9187,0x9189,0x9193,0x9196,0x9196,0x9199,0x91a3,0x91a5,0x91a5,0x91a7,0x91b7,0x91b9,0x91be,0x91c0,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d3,0x91da,0x91dc,0x91dd,0x91df,0x91df,0x91e2,0x91ee,0x91f1,0x91f1,0x91f3,0x91fa,0x91fd,0x920a,0x920c,0x921a,0x921c,0x921c,0x921e,0x921e,0x9221,0x9221,0x9223,0x9228,0x922a,0x922b,0x922d,0x922e,0x9230,0x923a,0x923c,0x9241,0x9244,0x9246,0x9248,0x9258,0x925a,0x925b,0x925d,0x9267,0x926b,0x9270,0x9272,0x9272,0x9276,0x928f,0x9291,0x9291,0x9293,0x929d,0x92a0,0x92ac,0x92ae,0x92ae,0x92b1,0x92b7,0x92b9,0x92bc,0x92be,0x92d5,0x92d7,0x92d9,0x92db,0x92db,0x92dd,0x92e1,0x92e3,0x92f4,0x92f6,0x9304,0x9306,0x9309,0x930b,0x9310,0x9312,0x9316,0x9318,0x931b,0x931d,0x9331,0x9333,0x9336,0x9338,0x9339,0x933c,0x933c,0x9340,0x9352,0x9354,0x935c,0x935e,0x936e,0x9370,0x9371,0x9373,0x937e,0x9380,0x938a,0x938c,0x9392,0x9394,0x93aa,0x93ac,0x93b5,0x93b7,0x93b8,0x93bb,0x93bb,0x93bd,0x93bd,0x93bf,0x93c0,0x93c2,0x93c4,0x93c6,0x93c8,0x93ca,0x93e4,0x93e6,0x93e8,0x93ec,0x93ec,0x93ee,0x93ee,0x93f0,0x93f1,0x93f3,0x9401,0x9403,0x9404,0x9406,0x9419,0x941b,0x941b,0x941d,0x941d,0x9420,0x9420,0x9424,0x9433,0x9435,0x9440,0x9442,0x944d,0x944f,0x9452,0x9454,0x9455,0x9457,0x9458,0x945b,0x945b,0x945d,0x945e,0x9460,0x9460,0x9462,0x9465,0x9467,0x9479,0x947b,0x9483,0x9485,0x9485,0x949f,0x949f,0x94a2,0x94a2,0x94c1,0x94c1,0x94c3,0x94c3,0x94dc,0x94dc,0x94f6,0x94f6,0x952d,0x952d,0x9547,0x9547,0x9577,0x9578,0x957a,0x957d,0x957f,0x9580,0x9582,0x9583,0x9585,0x9586,0x9588,0x9589,0x958b,0x9594,0x9596,0x9599,0x959b,0x959c,0x959e,0x95ae,0x95b0,0x95b2,0x95b5,0x95b7,0x95b9,0x95c0,0x95c3,0x95c3,0x95c5,0x95cd,0x95d0,0x95d6,0x95da,0x95dc,0x95de,0x95e5,0x95e8,0x95e8,0x95f4,0x95f4,0x961c,0x961e,0x9620,0x9624,0x9628,0x9628,0x962a,0x962a,0x962c,0x9633,0x9638,0x963d,0x963f,0x9645,0x964a,0x9651,0x9653,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x9669,0x966d,0x966f,0x9678,0x967b,0x967e,0x9680,0x9681,0x9683,0x968b,0x968d,0x968f,0x9691,0x9699,0x969b,0x969c,0x969e,0x969e,0x96a1,0x96a5,0x96a7,0x96aa,0x96ac,0x96ac,0x96ae,0x96ae,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b6,0x96b8,0x96b9,0x96bb,0x96bd,0x96bf,0x96ce,0x96d2,0x96df,0x96e1,0x96e3,0x96e5,0x96e5,0x96e8,0x96ea,0x96ef,0x96f2,0x96f4,0x96fb,0x96fd,0x96fd,0x96ff,0x9700,0x9702,0x9709,0x970b,0x970b,0x970d,0x9713,0x9716,0x9716,0x9718,0x9719,0x971b,0x972c,0x972e,0x9732,0x9734,0x9736,0x9738,0x973a,0x973d,0x9744,0x9746,0x974b,0x9751,0x9752,0x9755,0x9758,0x975a,0x9762,0x9766,0x9766,0x9768,0x976a,0x976c,0x976e,0x9770,0x9774,0x9776,0x9778,0x977a,0x9785,0x9787,0x978b,0x978d,0x978f,0x9794,0x9794,0x9797,0x97a6,0x97a8,0x97a8,0x97aa,0x97ae,0x97b1,0x97b4,0x97b6,0x97bb,0x97bd,0x97c9,0x97cb,0x97d0,0x97d2,0x97d9,0x97dc,0x97e1,0x97e3,0x97e3,0x97e5,0x97e6,0x97ed,0x97ee,0x97f0,0x97f3,0x97f5,0x97f6,0x97f8,0x97fb,0x97fd,0x9808,0x980a,0x980a,0x980c,0x9818,0x981b,0x9821,0x9823,0x9824,0x9826,0x9829,0x982b,0x982b,0x982d,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983b,0x9841,0x9841,0x9843,0x9853,0x9856,0x9859,0x985b,0x9860,0x9862,0x986c,0x986f,0x9875,0x98a8,0x98a9,0x98ac,0x98af,0x98b1,0x98b4,0x98b6,0x98c4,0x98c6,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98ed,0x98ef,0x98ef,0x98f1,0x98f2,0x98f4,0x98f6,0x98f9,0x98fa,0x98fc,0x98fe,0x9900,0x9900,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x990e,0x990e,0x9910,0x991c,0x991e,0x991f,0x9921,0x9921,0x9924,0x9925,0x9927,0x9933,0x9935,0x9935,0x9937,0x9943,0x9945,0x9945,0x9947,0x994e,0x9950,0x9959,0x995b,0x995f,0x9961,0x9963,0x9996,0x9999,0x999b,0x999e,0x99a1,0x99a1,0x99a3,0x99a8,0x99aa,0x99b5,0x99b8,0x99bd,0x99c1,0x99c5,0x99c7,0x99c7,0x99c9,0x99c9,0x99cb,0x99dd,0x99df,0x99e7,0x99e9,0x99ea,0x99ec,0x99ee,0x99f0,0x99f1,0x99f4,0x99ff,0x9a01,0x9a07,0x9a09,0x9a11,0x9a14,0x9a16,0x9a19,0x9a27,0x9a29,0x9a32,0x9a34,0x9a46,0x9a48,0x9a4a,0x9a4c,0x9a50,0x9a52,0x9a5c,0x9a5e,0x9a60,0x9a62,0x9a6c,0x9a8f,0x9a8f,0x9aa8,0x9aa8,0x9aab,0x9aab,0x9aad,0x9aad,0x9aaf,0x9ab4,0x9ab6,0x9ac2,0x9ac6,0x9ac7,0x9aca,0x9aca,0x9acd,0x9acd,0x9acf,0x9ad8,0x9adc,0x9adc,0x9adf,0x9ae3,0x9ae6,0x9ae7,0x9aeb,0x9aef,0x9af1,0x9af4,0x9af6,0x9af7,0x9af9,0x9aff,0x9b01,0x9b06,0x9b08,0x9b12,0x9b14,0x9b1a,0x9b1e,0x9b20,0x9b22,0x9b25,0x9b27,0x9b2b,0x9b2d,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3c,0x9b3e,0x9b46,0x9b48,0x9b48,0x9b4a,0x9b52,0x9b54,0x9b56,0x9b58,0x9b5b,0x9b5f,0x9b61,0x9b64,0x9b64,0x9b66,0x9b69,0x9b6c,0x9b6c,0x9b6f,0x9b71,0x9b74,0x9b77,0x9b7a,0x9b83,0x9b85,0x9b88,0x9b8b,0x9b8b,0x9b8d,0x9b93,0x9b95,0x9b95,0x9b97,0x9b97,0x9b9a,0x9b9b,0x9b9d,0x9ba2,0x9ba4,0x9ba6,0x9ba8,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bb0,0x9bb5,0x9bb6,0x9bb8,0x9bb9,0x9bbd,0x9bbd,0x9bbf,0x9bc1,0x9bc3,0x9bc4,0x9bc6,0x9bca,0x9bcf,0x9bcf,0x9bd3,0x9bd7,0x9bd9,0x9bde,0x9be0,0x9be2,0x9be4,0x9bed,0x9bf0,0x9bf1,0x9bf4,0x9bf4,0x9bf7,0x9bf8,0x9bfd,0x9bfd,0x9bff,0x9bff,0x9c02,0x9c02,0x9c05,0x9c0e,0x9c10,0x9c10,0x9c12,0x9c15,0x9c17,0x9c17,0x9c1b,0x9c1d,0x9c1f,0x9c21,0x9c23,0x9c26,0x9c28,0x9c29,0x9c2b,0x9c2d,0x9c2f,0x9c2f,0x9c31,0x9c37,0x9c39,0x9c41,0x9c44,0x9c50,0x9c52,0x9c59,0x9c5d,0x9c60,0x9c62,0x9c63,0x9c66,0x9c68,0x9c6d,0x9c6e,0x9c71,0x9c75,0x9c77,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9cea,0x9ced,0x9ced,0x9cf1,0x9cf7,0x9cf9,0x9cfd,0x9cff,0x9d00,0x9d02,0x9d09,0x9d0c,0x9d0c,0x9d10,0x9d10,0x9d12,0x9d12,0x9d14,0x9d19,0x9d1b,0x9d1b,0x9d1d,0x9d23,0x9d25,0x9d26,0x9d28,0x9d29,0x9d2d,0x9d31,0x9d33,0x9d34,0x9d36,0x9d39,0x9d3b,0x9d3b,0x9d3d,0x9d45,0x9d49,0x9d4c,0x9d4e,0x9d54,0x9d56,0x9d61,0x9d67,0x9d75,0x9d77,0x9d79,0x9d7b,0x9d8c,0x9d90,0x9d90,0x9d92,0x9d94,0x9d96,0x9dad,0x9daf,0x9daf,0x9db1,0x9dc5,0x9dc7,0x9ddf,0x9de1,0x9de6,0x9de8,0x9de9,0x9deb,0x9df0,0x9df2,0x9e07,0x9e09,0x9e15,0x9e17,0x9e1f,0x9e75,0x9e75,0x9e79,0x9e7d,0x9e7f,0x9e8e,0x9e90,0x9ea2,0x9ea4,0x9eb1,0x9eb4,0x9eb7,0x9ebb,0x9ec4,0x9ec6,0x9ec8,0x9ecc,0x9ed1,0x9ed3,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ee0,0x9ee2,0x9ee2,0x9ee4,0x9ee8,0x9eeb,0x9eeb,0x9eed,0x9f02,0x9f06,0x9f0a,0x9f0e,0x9f10,0x9f12,0x9f13,0x9f15,0x9f1c,0x9f1e,0x9f1e,0x9f20,0x9f20,0x9f22,0x9f39,0x9f3b,0x9f3b,0x9f3d,0x9f3e,0x9f40,0x9f50,0x9f52,0x9f67,0x9f69,0x9f6c,0x9f6e,0x9f72,0x9f74,0x9f7b,0x9f7e,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f99,0x9f9c,0x9f9c,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa4,0x9fb3,0x9fc7,0x9fcb,0x9fd0,0x9fd0,0xf900,0xf908,0xf90b,0xf90d,0xf915,0xf915,0xf917,0xf917,0xf91a,0xf91a,0xf922,0xf922,0xf92d,0xf92d,0xf934,0xf934,0xf937,0xf937,0xf93a,0xf93a,0xf943,0xf943,0xf947,0xf948,0xf94a,0xf94a,0xf952,0xf952,0xf95e,0xf95e,0xf962,0xf962,0xf965,0xf965,0xf967,0xf967,0xf96d,0xf96d,0xf972,0xf972,0xf976,0xf976,0xf978,0xf979,0xf97b,0xf97b,0xf97e,0xf97e,0xf980,0xf980,0xf986,0xf986,0xf98a,0xf98a,0xf98e,0xf98e,0xf995,0xf995,0xf99c,0xf99d,0xf99f,0xf99f,0xf9b5,0xf9b5,0xf9bb,0xf9bb,0xf9bd,0xf9be,0xf9c5,0xf9c6,0xf9c8,0xf9c8,0xf9d0,0xf9d0,0xf9d8,0xf9d9,0xf9dc,0xf9de,0xf9e0,0xf9e0,0xf9e2,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0d,0xfa33,0xfa35,0xfa3a,0xfa3a,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20021,0x20021,0x2003e,0x2003e,0x20046,0x20046,0x2004e,0x2004e,0x20068,0x20068,0x20086,0x20087,0x2008a,0x2008a,0x20094,0x20094,0x200ca,0x200cd,0x200d1,0x200d1,0x200ee,0x200ee,0x2010c,0x2010c,0x2010e,0x2010e,0x20118,0x20118,0x201a4,0x201a4,0x201a9,0x201a9,0x201ab,0x201ab,0x201c1,0x201c1,0x201d4,0x201d4,0x201f2,0x201f2,0x20204,0x20204,0x2020c,0x2020c,0x20214,0x20214,0x20239,0x20239,0x2025b,0x2025b,0x20274,0x20275,0x20299,0x20299,0x2029e,0x2029e,0x202a0,0x202a0,0x202b7,0x202b7,0x202bf,0x202c0,0x202e5,0x202e5,0x2030a,0x2030a,0x20325,0x20325,0x20341,0x20341,0x20345,0x20347,0x2037e,0x20380,0x203a0,0x203a0,0x203a7,0x203a7,0x203b5,0x203b5,0x203c9,0x203c9,0x203cb,0x203cb,0x203f5,0x203f5,0x203fc,0x203fc,0x20413,0x20414,0x2041f,0x2041f,0x20465,0x20465,0x20487,0x20487,0x2048e,0x2048e,0x20491,0x20492,0x204a3,0x204a3,0x204d7,0x204d7,0x204fc,0x204fc,0x204fe,0x204fe,0x20547,0x20547,0x2058e,0x2058e,0x205a5,0x205a5,0x205b3,0x205b3,0x205c3,0x205c3,0x205ca,0x205ca,0x205d0,0x205d0,0x205d5,0x205d5,0x205df,0x205e0,0x205eb,0x205eb,0x20611,0x20611,0x20615,0x20615,0x20619,0x2061a,0x20628,0x20628,0x20630,0x20630,0x20656,0x20656,0x20676,0x20676,0x2070e,0x2070e,0x20731,0x20731,0x20779,0x20779,0x2082c,0x2082c,0x20873,0x20873,0x208d5,0x208d5,0x20916,0x20916,0x20923,0x20923,0x20954,0x20954,0x20979,0x20979,0x209e7,0x209e7,0x20a11,0x20a11,0x20a50,0x20a50,0x20a6f,0x20a6f,0x20a8a,0x20a8a,0x20ab4,0x20ab4,0x20ac2,0x20ac2,0x20acd,0x20acd,0x20b0d,0x20b0d,0x20b8f,0x20b8f,0x20b9f,0x20b9f,0x20ba8,0x20ba9,0x20bbf,0x20bbf,0x20bc6,0x20bc6,0x20bcb,0x20bcb,0x20be2,0x20be2,0x20beb,0x20beb,0x20bfb,0x20bfb,0x20bff,0x20bff,0x20c0b,0x20c0b,0x20c0d,0x20c0d,0x20c20,0x20c20,0x20c34,0x20c34,0x20c3a,0x20c3b,0x20c41,0x20c43,0x20c53,0x20c53,0x20c65,0x20c65,0x20c77,0x20c78,0x20c7c,0x20c7c,0x20c8d,0x20c8d,0x20c96,0x20c96,0x20c9c,0x20c9c,0x20cb5,0x20cb5,0x20cb8,0x20cb8,0x20ccf,0x20ccf,0x20cd3,0x20cd6,0x20cdd,0x20cdd,0x20ced,0x20ced,0x20cff,0x20cff,0x20d15,0x20d15,0x20d28,0x20d28,0x20d31,0x20d32,0x20d46,0x20d49,0x20d4c,0x20d4e,0x20d6f,0x20d6f,0x20d71,0x20d71,0x20d74,0x20d74,0x20d7c,0x20d7c,0x20d7e,0x20d7f,0x20d96,0x20d96,0x20d9c,0x20d9c,0x20da7,0x20da7,0x20db2,0x20db2,0x20dc8,0x20dc8,0x20e04,0x20e04,0x20e09,0x20e0a,0x20e0d,0x20e11,0x20e16,0x20e16,0x20e1d,0x20e1d,0x20e4c,0x20e4c,0x20e6d,0x20e6d,0x20e73,0x20e73,0x20e75,0x20e7b,0x20e8c,0x20e8c,0x20e96,0x20e96,0x20e98,0x20e98,0x20e9d,0x20e9d,0x20ea2,0x20ea2,0x20eaa,0x20eac,0x20eb6,0x20eb6,0x20ed7,0x20ed8,0x20edd,0x20edd,0x20ef8,0x20efb,0x20f1d,0x20f1d,0x20f26,0x20f26,0x20f2d,0x20f2e,0x20f30,0x20f31,0x20f3b,0x20f3b,0x20f4c,0x20f4c,0x20f64,0x20f64,0x20f8d,0x20f8d,0x20f90,0x20f90,0x20fad,0x20fad,0x20fb4,0x20fb6,0x20fbc,0x20fbc,0x20fdf,0x20fdf,0x20fea,0x20fed,0x21014,0x21014,0x2101d,0x2101e,0x2104f,0x2104f,0x2105c,0x2105c,0x2106f,0x2106f,0x21075,0x21078,0x2107b,0x2107b,0x21088,0x21088,0x21096,0x21096,0x2109d,0x2109d,0x210b4,0x210b4,0x210bf,0x210c1,0x210c7,0x210c9,0x210cf,0x210cf,0x210d3,0x210d3,0x210e4,0x210e4,0x210f4,0x210f6,0x2112f,0x2112f,0x2113b,0x2113b,0x2113d,0x2113d,0x21145,0x21145,0x21148,0x21148,0x2114f,0x2114f,0x21180,0x21180,0x21187,0x21187,0x211d9,0x211d9,0x2123c,0x2123c,0x2124f,0x2124f,0x2127c,0x2127c,0x212a8,0x212a9,0x212b0,0x212b0,0x212e3,0x212e3,0x212fe,0x212fe,0x21302,0x21305,0x21336,0x21336,0x2133a,0x2133a,0x21375,0x21376,0x2138e,0x2138e,0x21398,0x21398,0x2139c,0x2139c,0x213c5,0x213c6,0x213ed,0x213ed,0x213fe,0x213fe,0x21413,0x21413,0x21416,0x21416,0x21424,0x21424,0x2143f,0x2143f,0x21452,0x21452,0x21454,0x21455,0x2148a,0x2148a,0x21497,0x21497,0x214b6,0x214b6,0x214e8,0x214e8,0x214fd,0x214fd,0x21577,0x21577,0x21582,0x21582,0x21596,0x21596,0x2160a,0x2160a,0x21613,0x21613,0x21619,0x21619,0x2163e,0x2163e,0x21661,0x21661,0x21692,0x21692,0x216b8,0x216b8,0x216ba,0x216ba,0x216c0,0x216c2,0x216d3,0x216d3,0x216d5,0x216d5,0x216df,0x216df,0x216e6,0x216e8,0x216fa,0x216fc,0x216fe,0x216fe,0x2170d,0x2170d,0x21710,0x21710,0x21726,0x21726,0x2173a,0x2173c,0x21757,0x21757,0x2176c,0x21771,0x21773,0x21774,0x217ab,0x217ab,0x217b0,0x217b5,0x217c3,0x217c3,0x217c7,0x217c7,0x217d9,0x217dc,0x217df,0x217df,0x217ef,0x217ef,0x217f5,0x217f6,0x217f8,0x217fc,0x21820,0x21820,0x21828,0x2182a,0x2182d,0x2182d,0x21839,0x2183b,0x21840,0x21840,0x21845,0x21845,0x21852,0x21852,0x2185e,0x2185e,0x21861,0x21864,0x21877,0x21877,0x2187b,0x2187b,0x21883,0x21885,0x2189e,0x218a2,0x218be,0x218bf,0x218d1,0x218d1,0x218d6,0x218d9,0x218fa,0x218fa,0x21903,0x21905,0x21910,0x21912,0x21915,0x21915,0x2191c,0x2191c,0x21922,0x21922,0x21927,0x21927,0x2193b,0x2193b,0x21944,0x21944,0x21958,0x21958,0x2196a,0x2196a,0x2197c,0x2197c,0x21980,0x21980,0x21983,0x21983,0x21988,0x21988,0x21996,0x21996,0x219db,0x219db,0x219f3,0x219f3,0x21a2d,0x21a2d,0x21a34,0x21a34,0x21a45,0x21a45,0x21a4b,0x21a4b,0x21a63,0x21a63,0x21b44,0x21b44,0x21bc1,0x21bc2,0x21c2a,0x21c2a,0x21c70,0x21c70,0x21ca2,0x21ca2,0x21ca5,0x21ca5,0x21cac,0x21cac,0x21d46,0x21d46,0x21d53,0x21d53,0x21d5e,0x21d5e,0x21d90,0x21d90,0x21db6,0x21db6,0x21dba,0x21dba,0x21dca,0x21dca,0x21dd1,0x21dd1,0x21deb,0x21deb,0x21df9,0x21df9,0x21e1c,0x21e1c,0x21e23,0x21e23,0x21e37,0x21e37,0x21e3d,0x21e3d,0x21e89,0x21e89,0x21ea4,0x21ea4,0x21ea8,0x21ea8,0x21ec8,0x21ec8,0x21ed5,0x21ed5,0x21f0f,0x21f0f,0x21f15,0x21f15,0x21f6a,0x21f6a,0x21f9e,0x21f9e,0x21fa1,0x21fa1,0x21fe8,0x21fe8,0x22045,0x22045,0x22049,0x22049,0x2207e,0x2207e,0x2209a,0x2209a,0x220c7,0x220c7,0x220fc,0x220fc,0x2212a,0x2212a,0x2215b,0x2215b,0x22173,0x22173,0x2217a,0x2217a,0x221a1,0x221a1,0x221c1,0x221c1,0x221c3,0x221c3,0x22208,0x22208,0x2227c,0x2227c,0x22321,0x22321,0x22325,0x22325,0x223bd,0x223bd,0x223d0,0x223d0,0x223d7,0x223d7,0x223fa,0x223fa,0x22465,0x22465,0x22471,0x22471,0x2248b,0x2248b,0x22491,0x22491,0x224b0,0x224b0,0x224bc,0x224bc,0x224c1,0x224c1,0x224c9,0x224c9,0x224cc,0x224cc,0x224ed,0x224ed,0x22513,0x22513,0x2251b,0x2251b,0x22530,0x22530,0x22554,0x22554,0x2258d,0x2258d,0x225af,0x225af,0x225be,0x225be,0x2261b,0x2261c,0x2262b,0x2262b,0x22668,0x22668,0x2267a,0x2267a,0x22696,0x22696,0x22698,0x22698,0x226f4,0x226f6,0x22712,0x22712,0x22714,0x22714,0x2271b,0x2271b,0x2271f,0x2271f,0x2272a,0x2272a,0x22775,0x22775,0x22781,0x22781,0x22796,0x22796,0x227b4,0x227b5,0x227cd,0x227cd,0x22803,0x22803,0x2285f,0x22860,0x22871,0x22871,0x228ad,0x228ad,0x228c1,0x228c1,0x228f7,0x228f7,0x22926,0x22926,0x22939,0x22939,0x2294f,0x2294f,0x22967,0x22967,0x2296b,0x2296b,0x22980,0x22980,0x22993,0x22993,0x22a66,0x22a66,0x22acf,0x22acf,0x22ad5,0x22ad5,0x22ae6,0x22ae6,0x22ae8,0x22ae8,0x22b0e,0x22b0e,0x22b22,0x22b22,0x22b3f,0x22b3f,0x22b43,0x22b43,0x22b6a,0x22b6a,0x22bca,0x22bca,0x22bce,0x22bce,0x22c26,0x22c27,0x22c38,0x22c38,0x22c4c,0x22c4c,0x22c51,0x22c51,0x22c55,0x22c55,0x22c62,0x22c62,0x22c88,0x22c88,0x22c9b,0x22c9b,0x22ca1,0x22ca1,0x22ca9,0x22ca9,0x22cb2,0x22cb2,0x22cb7,0x22cb7,0x22cc2,0x22cc2,0x22cc6,0x22cc6,0x22cc9,0x22cc9,0x22d07,0x22d08,0x22d12,0x22d12,0x22d44,0x22d44,0x22d4c,0x22d4c,0x22d67,0x22d67,0x22d8d,0x22d8d,0x22d95,0x22d95,0x22da0,0x22da0,0x22da3,0x22da4,0x22db7,0x22db7,0x22dee,0x22dee,0x22e0d,0x22e0d,0x22e36,0x22e36,0x22e42,0x22e42,0x22e78,0x22e78,0x22e8b,0x22e8b,0x22eb3,0x22eb3,0x22eef,0x22eef,0x22f74,0x22f74,0x22fcc,0x22fcc,0x22fe3,0x22fe3,0x23033,0x23033,0x23044,0x23044,0x2304b,0x2304b,0x23066,0x23066,0x2307d,0x2307e,0x2308e,0x2308e,0x230b7,0x230b7,0x230bc,0x230bc,0x230da,0x230da,0x23103,0x23103,0x2313d,0x2313d,0x2317d,0x2317d,0x23182,0x23182,0x231a4,0x231a5,0x231b3,0x231b3,0x231c8,0x231c9,0x231ea,0x231ea,0x231f7,0x231f9,0x2320f,0x2320f,0x23225,0x23225,0x2322f,0x2322f,0x23231,0x23234,0x23256,0x23256,0x2325e,0x2325e,0x23262,0x23262,0x23281,0x23281,0x23289,0x2328a,0x232ab,0x232ad,0x232d2,0x232d2,0x232e0,0x232e1,0x23300,0x23300,0x2330a,0x2330a,0x2331f,0x2331f,0x233b4,0x233b4,0x233cc,0x233cc,0x233de,0x233de,0x233e6,0x233e6,0x233f4,0x233f5,0x233f9,0x233fa,0x233fe,0x233fe,0x23400,0x23400,0x2343f,0x2343f,0x23450,0x23450,0x2346f,0x2346f,0x23472,0x23472,0x234e5,0x234e5,0x23519,0x23519,0x23530,0x23530,0x23551,0x23551,0x2355a,0x2355a,0x23567,0x23567,0x23595,0x23595,0x23599,0x23599,0x2359c,0x2359c,0x235bb,0x235bb,0x235cd,0x235cf,0x235f3,0x235f3,0x23600,0x23600,0x23617,0x23617,0x2361a,0x2361a,0x2363c,0x2363c,0x23640,0x23640,0x23659,0x23659,0x2365f,0x2365f,0x23677,0x23677,0x2368e,0x2368e,0x2369e,0x2369e,0x236a6,0x236a6,0x236ad,0x236ad,0x236ba,0x236ba,0x236df,0x236df,0x236ee,0x236ee,0x23703,0x23703,0x23716,0x23716,0x23720,0x23720,0x2372d,0x2372d,0x2372f,0x2372f,0x2373f,0x2373f,0x23766,0x23766,0x23781,0x23781,0x237a2,0x237a2,0x237bc,0x237bc,0x237c2,0x237c2,0x237d5,0x237d7,0x2383a,0x2383a,0x239c2,0x239c2,0x23aa7,0x23aa7,0x23adb,0x23adb,0x23aee,0x23aee,0x23afa,0x23afa,0x23b1a,0x23b1a,0x23b5a,0x23b5a,0x23c63,0x23c63,0x23c99,0x23c9b,0x23cb5,0x23cb5,0x23cb7,0x23cb7,0x23cc7,0x23cc9,0x23cfc,0x23cff,0x23d40,0x23d40,0x23d5b,0x23d5b,0x23d7e,0x23d7e,0x23d8f,0x23d8f,0x23db6,0x23dbd,0x23de3,0x23de3,0x23df8,0x23df8,0x23e06,0x23e06,0x23e11,0x23e11,0x23e2c,0x23e31,0x23e39,0x23e39,0x23e88,0x23e8b,0x23eb9,0x23eb9,0x23ebf,0x23ebf,0x23ed7,0x23ed7,0x23ef7,0x23efc,0x23f35,0x23f35,0x23f41,0x23f41,0x23f4a,0x23f4a,0x23f61,0x23f61,0x23f7f,0x23f82,0x23f8f,0x23f8f,0x23fb4,0x23fb4,0x23fb7,0x23fb7,0x23fc0,0x23fc0,0x23fc5,0x23fc5,0x23feb,0x23ff0,0x24011,0x24011,0x24039,0x2403d,0x24057,0x24057,0x24085,0x24085,0x2408b,0x2408d,0x24091,0x24091,0x240c9,0x240c9,0x240e1,0x240e1,0x240ec,0x240ec,0x24104,0x24104,0x2410f,0x2410f,0x24119,0x24119,0x2413f,0x24140,0x24144,0x24144,0x2414e,0x2414e,0x24155,0x24157,0x2415c,0x2415c,0x2415f,0x2415f,0x24161,0x24161,0x24177,0x24177,0x2417a,0x2417a,0x241a3,0x241a5,0x241ac,0x241ac,0x241b5,0x241b5,0x241cd,0x241cd,0x241e2,0x241e2,0x241fc,0x241fc,0x2421b,0x2421b,0x2424b,0x2424b,0x24256,0x24256,0x24259,0x24259,0x24276,0x24278,0x24284,0x24284,0x24293,0x24293,0x24295,0x24295,0x242a5,0x242a5,0x242bf,0x242bf,0x242c1,0x242c1,0x242c9,0x242ca,0x242ee,0x242ee,0x242fa,0x242fa,0x2430d,0x2430d,0x2431a,0x2431a,0x24334,0x24334,0x24348,0x24348,0x24362,0x24365,0x2438c,0x2438c,0x24396,0x24396,0x2439c,0x2439c,0x243bd,0x243bd,0x243c1,0x243c1,0x243e9,0x243ea,0x243f2,0x243f2,0x243f8,0x243f8,0x24404,0x24404,0x24435,0x24436,0x2445a,0x2445b,0x24473,0x24473,0x24487,0x24488,0x244b9,0x244b9,0x244bc,0x244bc,0x244ce,0x244ce,0x244d3,0x244d3,0x244d6,0x244d6,0x24505,0x24505,0x24521,0x24521,0x24578,0x24578,0x245c8,0x245c8,0x24618,0x24618,0x2462a,0x2462a,0x24665,0x24665,0x24674,0x24674,0x24697,0x24697,0x246d4,0x246d4,0x24706,0x24706,0x24725,0x24725,0x2472f,0x2472f,0x2478f,0x2478f,0x247e0,0x247e0,0x24812,0x24812,0x24823,0x24823,0x24882,0x24882,0x248e9,0x248e9,0x248f0,0x248f3,0x248fb,0x248fb,0x248ff,0x24901,0x2490c,0x2490c,0x24916,0x24917,0x24919,0x24919,0x2492f,0x2492f,0x24933,0x24934,0x2493e,0x24943,0x24962,0x24963,0x24974,0x24976,0x2497b,0x2497b,0x2497f,0x2497f,0x24982,0x24982,0x24988,0x2498f,0x24994,0x24994,0x249a4,0x249a4,0x249a7,0x249a7,0x249a9,0x249a9,0x249ab,0x249ad,0x249b7,0x249bb,0x249c5,0x249c5,0x249d0,0x249d0,0x249da,0x249da,0x249de,0x249df,0x249e3,0x249e3,0x249e5,0x249e5,0x249ec,0x249ed,0x249f6,0x249f9,0x249fb,0x249fb,0x24a0e,0x24a0e,0x24a12,0x24a13,0x24a15,0x24a15,0x24a21,0x24a2a,0x24a3e,0x24a3e,0x24a42,0x24a42,0x24a45,0x24a45,0x24a4a,0x24a4a,0x24a4e,0x24a51,0x24a5d,0x24a5d,0x24a65,0x24a67,0x24a71,0x24a71,0x24a77,0x24a7a,0x24a8c,0x24a8c,0x24a93,0x24a96,0x24aa4,0x24aa7,0x24ab1,0x24ab3,0x24aba,0x24abc,0x24ac0,0x24ac0,0x24ac7,0x24ac7,0x24aca,0x24aca,0x24ad1,0x24ad1,0x24adf,0x24adf,0x24ae2,0x24ae2,0x24ae9,0x24ae9,0x24b0f,0x24b0f,0x24b6e,0x24b6e,0x24bf5,0x24bf5,0x24c09,0x24c09,0x24c9e,0x24c9f,0x24cc9,0x24cc9,0x24cd9,0x24cd9,0x24d06,0x24d06,0x24d13,0x24d13,0x24db8,0x24db8,0x24dea,0x24deb,0x24e3b,0x24e3b,0x24e50,0x24e50,0x24ea5,0x24ea5,0x24ea7,0x24ea7,0x24f0e,0x24f0e,0x24f5c,0x24f5c,0x24f82,0x24f82,0x24f86,0x24f86,0x24f97,0x24f97,0x24f9a,0x24f9a,0x24fa9,0x24fa9,0x24fb8,0x24fb8,0x24fc2,0x24fc2,0x2502c,0x2502c,0x25052,0x25052,0x2509d,0x2509d,0x2512b,0x2512b,0x25148,0x25148,0x2517d,0x2517e,0x251cd,0x251cd,0x251e3,0x251e3,0x251e6,0x251e7,0x25220,0x25221,0x25250,0x25250,0x25299,0x25299,0x252c7,0x252c7,0x252d8,0x252d8,0x2530e,0x2530e,0x25311,0x25311,0x25313,0x25313,0x25419,0x25419,0x25425,0x25425,0x2542f,0x25430,0x25446,0x25446,0x2546c,0x2546c,0x2546e,0x2546e,0x2549a,0x2549a,0x25531,0x25531,0x25535,0x25535,0x2553f,0x2553f,0x2555b,0x2555e,0x25562,0x25562,0x25565,0x25566,0x25581,0x25581,0x25584,0x25584,0x2558f,0x2558f,0x255b9,0x255b9,0x255d5,0x255d5,0x255db,0x255db,0x255e0,0x255e0,0x25605,0x25605,0x25635,0x25635,0x25651,0x25651,0x25683,0x25683,0x25695,0x25695,0x256e3,0x256e3,0x256f6,0x256f6,0x25706,0x25706,0x2571d,0x2571d,0x25725,0x25725,0x2573d,0x2573d,0x25772,0x25772,0x257c7,0x257c7,0x257df,0x257e1,0x25857,0x25857,0x2585d,0x2585d,0x25872,0x25872,0x258c8,0x258c8,0x258de,0x258de,0x258e1,0x258e1,0x25903,0x25903,0x25946,0x25946,0x25956,0x25956,0x259ac,0x259ac,0x259cc,0x259cc,0x25a54,0x25a54,0x25a95,0x25a95,0x25a9c,0x25a9c,0x25aae,0x25aaf,0x25ad7,0x25ad7,0x25ae9,0x25ae9,0x25b74,0x25b74,0x25b89,0x25b89,0x25bb3,0x25bb4,0x25bc6,0x25bc6,0x25be4,0x25be4,0x25be8,0x25be8,0x25c01,0x25c01,0x25c06,0x25c06,0x25c21,0x25c21,0x25c4a,0x25c4a,0x25c65,0x25c65,0x25c91,0x25c91,0x25ca4,0x25ca4,0x25cc0,0x25cc1,0x25cfe,0x25cfe,0x25d20,0x25d20,0x25d30,0x25d30,0x25d43,0x25d43,0x25d99,0x25d99,0x25db9,0x25db9,0x25e0e,0x25e0e,0x25e49,0x25e49,0x25e81,0x25e83,0x25ea6,0x25ea6,0x25ebc,0x25ebc,0x25ed7,0x25ed8,0x25f1a,0x25f1a,0x25f4b,0x25f4b,0x25fe1,0x25fe2,0x26021,0x26021,0x26029,0x26029,0x26048,0x26048,0x26064,0x26064,0x26083,0x26083,0x26097,0x26097,0x260a4,0x260a5,0x26102,0x26102,0x26121,0x26121,0x26159,0x2615c,0x261ad,0x261ae,0x261b2,0x261b2,0x261dd,0x261dd,0x26258,0x26258,0x26261,0x26261,0x2626a,0x2626b,0x262d0,0x262d0,0x26335,0x26335,0x2634b,0x2634c,0x26351,0x26351,0x263be,0x263be,0x263f5,0x263f5,0x263f8,0x263f8,0x26402,0x26402,0x26410,0x26412,0x2644a,0x2644a,0x26469,0x26469,0x26484,0x26484,0x26488,0x26489,0x2648d,0x2648d,0x26498,0x26498,0x26512,0x26512,0x26572,0x26572,0x265a0,0x265a0,0x265ad,0x265ad,0x265bf,0x265bf,0x26612,0x26612,0x26626,0x26626,0x266af,0x266af,0x266b1,0x266b1,0x266b5,0x266b5,0x266da,0x266da,0x266e8,0x266e8,0x266fc,0x266fc,0x26716,0x26716,0x26741,0x26741,0x26799,0x26799,0x267b3,0x267b4,0x267cc,0x267cc,0x2681c,0x2681c,0x26846,0x26846,0x2685e,0x2685e,0x2686e,0x2686e,0x26888,0x26888,0x2688a,0x2688a,0x26893,0x26893,0x268c7,0x268c7,0x2690e,0x2690e,0x26911,0x26911,0x26926,0x26926,0x26939,0x26939,0x26951,0x26951,0x269a8,0x269a8,0x269b5,0x269b5,0x269f2,0x269f2,0x269fa,0x269fa,0x26a2d,0x26a2e,0x26a34,0x26a34,0x26a42,0x26a42,0x26a51,0x26a52,0x26b05,0x26b05,0x26b0a,0x26b0a,0x26b13,0x26b13,0x26b15,0x26b15,0x26b23,0x26b23,0x26b28,0x26b28,0x26b50,0x26b53,0x26b5b,0x26b5b,0x26b75,0x26b75,0x26b82,0x26b82,0x26b96,0x26b97,0x26b9d,0x26b9d,0x26bb3,0x26bb3,0x26bc0,0x26bc0,0x26bf7,0x26bf7,0x26c21,0x26c21,0x26c40,0x26c41,0x26c46,0x26c46,0x26c7e,0x26c82,0x26ca4,0x26ca4,0x26cb7,0x26cb8,0x26cbd,0x26cbd,0x26cc0,0x26cc0,0x26cc3,0x26cc3,0x26cd1,0x26cd1,0x26d22,0x26d2a,0x26d51,0x26d51,0x26d74,0x26d74,0x26da0,0x26da7,0x26dae,0x26dae,0x26ddc,0x26ddc,0x26dea,0x26deb,0x26df0,0x26df0,0x26e00,0x26e00,0x26e05,0x26e05,0x26e07,0x26e07,0x26e12,0x26e12,0x26e42,0x26e45,0x26e6e,0x26e6e,0x26e72,0x26e72,0x26e77,0x26e77,0x26e84,0x26e84,0x26e88,0x26e88,0x26e8b,0x26e8b,0x26e99,0x26e99,0x26ed0,0x26ed7,0x26f26,0x26f26,0x26f73,0x26f74,0x26f9f,0x26f9f,0x26fa1,0x26fa1,0x26fbe,0x26fbe,0x26fde,0x26fdf,0x2700e,0x2700e,0x2704b,0x2704b,0x27052,0x27053,0x27088,0x27088,0x270ad,0x270af,0x270cd,0x270cd,0x270d2,0x270d2,0x270f0,0x270f0,0x270f8,0x270f8,0x27109,0x27109,0x2710c,0x2710d,0x27126,0x27127,0x27164,0x27165,0x27175,0x27175,0x271cd,0x271cd,0x2721b,0x2721b,0x27267,0x27267,0x27280,0x27280,0x27285,0x27285,0x2728b,0x2728b,0x272b2,0x272b2,0x272b6,0x272b6,0x272e6,0x272e6,0x27352,0x27352,0x2739a,0x2739a,0x273ff,0x273ff,0x27422,0x27422,0x27450,0x27450,0x27484,0x27484,0x27486,0x27486,0x27574,0x27574,0x275a3,0x275a3,0x275e0,0x275e0,0x275e4,0x275e4,0x275fd,0x275fe,0x27607,0x27607,0x2760c,0x2760c,0x27632,0x27632,0x27639,0x27639,0x27655,0x27657,0x27694,0x27694,0x2770f,0x2770f,0x27735,0x27736,0x27741,0x27741,0x2775e,0x2775e,0x27784,0x27785,0x277cc,0x277cc,0x27858,0x27858,0x27870,0x27870,0x2789d,0x2789d,0x278b2,0x278b2,0x278c8,0x278c8,0x27924,0x27924,0x27967,0x27967,0x2797a,0x2797a,0x279a0,0x279a0,0x279dd,0x279dd,0x279fd,0x279fd,0x27a0a,0x27a0a,0x27a0e,0x27a0e,0x27a3e,0x27a3e,0x27a53,0x27a53,0x27a59,0x27a59,0x27a79,0x27a79,0x27a84,0x27a84,0x27abd,0x27abe,0x27af4,0x27af4,0x27b06,0x27b06,0x27b0b,0x27b0b,0x27b18,0x27b18,0x27b38,0x27b3a,0x27b48,0x27b48,0x27b65,0x27b65,0x27bef,0x27bef,0x27bf4,0x27bf4,0x27c12,0x27c12,0x27c6c,0x27c6c,0x27cb1,0x27cb1,0x27cc5,0x27cc5,0x27d2f,0x27d2f,0x27d53,0x27d54,0x27d66,0x27d66,0x27d73,0x27d73,0x27d84,0x27d84,0x27d8f,0x27d8f,0x27d98,0x27d98,0x27dbd,0x27dbd,0x27ddc,0x27ddc,0x27e4d,0x27e4d,0x27e4f,0x27e4f,0x27f2e,0x27f2e,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28002,0x28002,0x28009,0x28009,0x2801e,0x2801e,0x28023,0x28024,0x28048,0x28048,0x28083,0x28083,0x28090,0x28090,0x280bd,0x280be,0x280e8,0x280e9,0x280f4,0x280f4,0x2812e,0x2812e,0x2814f,0x2814f,0x2815d,0x2815d,0x2816f,0x2816f,0x28189,0x28189,0x281af,0x281af,0x281bc,0x281bc,0x28207,0x28207,0x28218,0x28218,0x2821a,0x2821a,0x28256,0x28256,0x2827c,0x2827c,0x2829b,0x2829b,0x282cd,0x282cd,0x282e2,0x282e2,0x28306,0x28306,0x28318,0x28318,0x2832f,0x2832f,0x2833a,0x2833a,0x28365,0x28365,0x2836d,0x2836d,0x2837d,0x2837d,0x2838a,0x2838a,0x28412,0x28412,0x28468,0x28468,0x2846c,0x2846c,0x28473,0x28473,0x28482,0x28482,0x28501,0x28501,0x2853c,0x2853d,0x2856c,0x2856c,0x285e8,0x285e8,0x285f4,0x285f4,0x28600,0x28600,0x2860b,0x2860b,0x28625,0x28625,0x2863b,0x2863b,0x286aa,0x286ab,0x286b2,0x286b2,0x286bc,0x286bc,0x286d8,0x286d8,0x286e6,0x286e6,0x2870f,0x2870f,0x28713,0x28713,0x28804,0x28804,0x2882b,0x2882b,0x2890d,0x2890d,0x28933,0x28933,0x28948,0x28949,0x28956,0x28956,0x28964,0x28964,0x28968,0x28968,0x2896c,0x2896d,0x2897e,0x2897e,0x28989,0x28989,0x289a8,0x289a8,0x289aa,0x289ab,0x289b8,0x289b8,0x289bc,0x289bc,0x289c0,0x289c0,0x289dc,0x289dc,0x289de,0x289de,0x289e1,0x289e1,0x289e3,0x289e4,0x289e7,0x289e8,0x289f9,0x289fc,0x28a0f,0x28a0f,0x28a16,0x28a16,0x28a25,0x28a25,0x28a29,0x28a29,0x28a32,0x28a32,0x28a36,0x28a36,0x28a44,0x28a4b,0x28a59,0x28a5a,0x28a81,0x28a83,0x28a9a,0x28a9c,0x28ac0,0x28ac0,0x28ac6,0x28ac6,0x28acb,0x28acc,0x28ace,0x28ace,0x28ade,0x28ae3,0x28ae5,0x28ae5,0x28aea,0x28aea,0x28afc,0x28afc,0x28b0c,0x28b0c,0x28b13,0x28b13,0x28b21,0x28b22,0x28b2b,0x28b2d,0x28b2f,0x28b2f,0x28b46,0x28b46,0x28b4c,0x28b4c,0x28b4e,0x28b4e,0x28b50,0x28b50,0x28b63,0x28b66,0x28b6c,0x28b6c,0x28b8f,0x28b8f,0x28b99,0x28b99,0x28b9c,0x28b9d,0x28bb9,0x28bb9,0x28bc2,0x28bc2,0x28bc5,0x28bc5,0x28bd4,0x28bd4,0x28bd7,0x28bd7,0x28bd9,0x28bda,0x28be7,0x28bec,0x28bf5,0x28bf5,0x28bff,0x28bff,0x28c03,0x28c03,0x28c09,0x28c09,0x28c1c,0x28c1d,0x28c23,0x28c23,0x28c26,0x28c26,0x28c2b,0x28c2b,0x28c30,0x28c30,0x28c39,0x28c39,0x28c3b,0x28c3b,0x28cca,0x28cca,0x28ccd,0x28ccd,0x28cd2,0x28cd2,0x28d34,0x28d34,0x28d99,0x28d99,0x28db9,0x28db9,0x28e0f,0x28e0f,0x28e36,0x28e36,0x28e39,0x28e39,0x28e65,0x28e66,0x28e97,0x28e97,0x28eac,0x28eac,0x28eb2,0x28eb3,0x28ed9,0x28ed9,0x28ee7,0x28ee7,0x28fc5,0x28fc5,0x29079,0x29079,0x29088,0x29088,0x2908b,0x2908b,0x29093,0x29093,0x290af,0x290b1,0x290c0,0x290c0,0x290e4,0x290e5,0x290ec,0x290ed,0x2910d,0x2910d,0x29110,0x29110,0x2913c,0x2913c,0x2914d,0x2914d,0x2915b,0x2915b,0x2915e,0x2915e,0x29170,0x29170,0x2919c,0x2919c,0x291a8,0x291a8,0x291d5,0x291d5,0x291eb,0x291eb,0x2941d,0x2941d,0x29420,0x29420,0x29433,0x29433,0x2943f,0x2943f,0x29448,0x29448,0x294d0,0x294d0,0x294d9,0x294da,0x294e5,0x294e5,0x294e7,0x294e7,0x2959e,0x2959e,0x295b0,0x295b0,0x295b8,0x295b8,0x295d7,0x295d7,0x295e9,0x295e9,0x295f4,0x295f4,0x2967f,0x2967f,0x29720,0x29720,0x29732,0x29732,0x297d4,0x297d4,0x29810,0x29810,0x29857,0x29857,0x298a4,0x298a4,0x298d1,0x298d1,0x298ea,0x298ea,0x298f1,0x298f1,0x298fa,0x298fa,0x29903,0x29903,0x29905,0x29905,0x2992f,0x2992f,0x29945,0x29945,0x29947,0x29949,0x2995d,0x2995d,0x2996a,0x2996a,0x2999d,0x2999d,0x299c3,0x299c3,0x299c9,0x299c9,0x29a28,0x29a28,0x29a4d,0x29a4d,0x29b05,0x29b05,0x29b0e,0x29b0e,0x29bd5,0x29bd5,0x29c73,0x29c73,0x29cad,0x29cad,0x29d3e,0x29d3e,0x29d5a,0x29d5a,0x29d7c,0x29d7c,0x29d98,0x29d98,0x29d9b,0x29d9b,0x29df6,0x29df6,0x29e06,0x29e06,0x29e2d,0x29e2d,0x29e68,0x29e68,0x29eac,0x29eac,0x29eb0,0x29eb0,0x29ec3,0x29ec3,0x29ef8,0x29ef8,0x29f23,0x29f23,0x29f30,0x29f30,0x29fb7,0x29fb7,0x29fde,0x29fde,0x2a014,0x2a014,0x2a087,0x2a087,0x2a0b9,0x2a0b9,0x2a0e1,0x2a0e1,0x2a0ed,0x2a0ed,0x2a0f3,0x2a0f3,0x2a0f8,0x2a0f8,0x2a0fe,0x2a0fe,0x2a107,0x2a107,0x2a123,0x2a123,0x2a133,0x2a134,0x2a150,0x2a150,0x2a192,0x2a193,0x2a1ab,0x2a1ab,0x2a1b4,0x2a1b5,0x2a1df,0x2a1df,0x2a1f5,0x2a1f5,0x2a220,0x2a220,0x2a233,0x2a233,0x2a293,0x2a293,0x2a29f,0x2a29f,0x2a2b2,0x2a2b2,0x2a2b4,0x2a2b4,0x2a2b6,0x2a2b6,0x2a2ba,0x2a2ba,0x2a2bd,0x2a2bd,0x2a2df,0x2a2df,0x2a2ff,0x2a2ff,0x2a351,0x2a351,0x2a3a9,0x2a3a9,0x2a3ed,0x2a3ed,0x2a434,0x2a434,0x2a45b,0x2a45b,0x2a5c6,0x2a5c6,0x2a5cb,0x2a5cb,0x2a601,0x2a601,0x2a632,0x2a632,0x2a64a,0x2a64a,0x2a65b,0x2a65b,0x2a6a9,0x2a6a9,0x2adff,0x2adff,0x2d544,0x2d544,0x2f825,0x2f825,0x2f83b,0x2f83b,0x2f840,0x2f840,0x2f878,0x2f878,0x2f894,0x2f894,0x2f8a6,0x2f8a6,0x2f8cd,0x2f8cd,0x2f8db,0x2f8db,0x2f994,0x2f994,0x2f9b2,0x2f9b2,0x2f9bc,0x2f9bc,0x2f9d4,0x2f9d4,0x30ede,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatRanges('Noto Sans Hanunoo', 'http://fonts.gstatic.com/s/notosanshanunoo/v15/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf', [0x20,0x20,0xa0,0xa0,0x1720,0x1736,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Hatran', 'http://fonts.gstatic.com/s/notosanshatran/v15/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200c,0x108e0,0x108f2,0x108f4,0x108f5,0x108fb,0x108ff,]), + NotoFont.fromFlatRanges('Noto Sans Hebrew', 'http://fonts.gstatic.com/s/notosanshebrew/v38/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x34f,0x34f,0x591,0x5c7,0x5d0,0x5ea,0x5f0,0x5f4,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200c,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20aa,0x20aa,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xfb1d,0xfb36,0xfb38,0xfb3c,0xfb3e,0xfb3e,0xfb40,0xfb41,0xfb43,0xfb44,0xfb46,0xfb4f,]), + NotoFont.fromFlatRanges('Noto Sans Imperial Aramaic', 'http://fonts.gstatic.com/s/notosansimperialaramaic/v15/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf', [0x20,0x20,0xa0,0xa0,0x10840,0x10855,0x10857,0x1085f,]), + NotoFont.fromFlatRanges('Noto Sans Indic Siyaq Numbers', 'http://fonts.gstatic.com/s/notosansindicsiyaqnumbers/v15/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf', [0x20,0x20,0xa0,0xa0,0x627,0x627,0x660,0x669,0x6f0,0x6f9,0x1ec71,0x1ecb4,]), + NotoFont.fromFlatRanges('Noto Sans Inscriptional Pahlavi', 'http://fonts.gstatic.com/s/notosansinscriptionalpahlavi/v15/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf', [0x20,0x20,0xa0,0xa0,0x10b60,0x10b72,0x10b78,0x10b7f,]), + NotoFont.fromFlatRanges('Noto Sans Inscriptional Parthian', 'http://fonts.gstatic.com/s/notosansinscriptionalparthian/v15/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf', [0x20,0x20,0xa0,0xa0,0x10b40,0x10b55,0x10b58,0x10b5f,]), + NotoFont.fromFlatRanges('Noto Sans JP', 'http://fonts.gstatic.com/s/notosansjp/v42/-F62fjtqLzI2JPCgQBnw7HFowAIO2lZ9hg.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3402,0x3402,0x3405,0x3406,0x3427,0x3427,0x342c,0x342c,0x342e,0x342e,0x3468,0x3468,0x346a,0x346a,0x3488,0x3488,0x3492,0x3492,0x34b5,0x34b5,0x34bc,0x34bc,0x34c1,0x34c1,0x34c7,0x34c7,0x34db,0x34db,0x351f,0x351f,0x353e,0x353e,0x355d,0x355e,0x3563,0x3563,0x356e,0x356e,0x35a6,0x35a6,0x35a8,0x35a8,0x35c5,0x35c5,0x35da,0x35da,0x35de,0x35de,0x35f4,0x35f4,0x3605,0x3605,0x3614,0x3614,0x364a,0x364a,0x3691,0x3691,0x3696,0x3696,0x3699,0x3699,0x36cf,0x36cf,0x3761,0x3762,0x376b,0x376c,0x3775,0x3775,0x378d,0x378d,0x37c1,0x37c1,0x37e2,0x37e2,0x37e8,0x37e8,0x37f4,0x37f4,0x37fd,0x37fd,0x3800,0x3800,0x382f,0x382f,0x3836,0x3836,0x3840,0x3840,0x385c,0x385c,0x3861,0x3861,0x38a1,0x38a1,0x38ad,0x38ad,0x38fa,0x38fa,0x3917,0x3917,0x391a,0x391a,0x396f,0x396f,0x39a4,0x39a4,0x39b8,0x39b8,0x3a5c,0x3a5c,0x3a6e,0x3a6e,0x3a73,0x3a73,0x3a85,0x3a85,0x3ac4,0x3ac4,0x3acb,0x3acb,0x3ad6,0x3ad7,0x3aea,0x3aea,0x3af3,0x3af3,0x3b0e,0x3b0e,0x3b1a,0x3b1a,0x3b1c,0x3b1c,0x3b22,0x3b22,0x3b35,0x3b35,0x3b6d,0x3b6d,0x3b77,0x3b77,0x3b87,0x3b88,0x3b8d,0x3b8d,0x3ba4,0x3ba4,0x3bb6,0x3bb6,0x3bc3,0x3bc3,0x3bcd,0x3bcd,0x3bf0,0x3bf0,0x3bf3,0x3bf3,0x3c0f,0x3c0f,0x3c26,0x3c26,0x3cc3,0x3cc3,0x3cd2,0x3cd2,0x3d11,0x3d11,0x3d1e,0x3d1e,0x3d31,0x3d31,0x3d4e,0x3d4e,0x3d64,0x3d64,0x3d9a,0x3d9a,0x3dc0,0x3dc0,0x3dcc,0x3dcc,0x3dd4,0x3dd4,0x3e05,0x3e05,0x3e3f,0x3e40,0x3e60,0x3e60,0x3e66,0x3e66,0x3e68,0x3e68,0x3e83,0x3e83,0x3e8a,0x3e8a,0x3e94,0x3e94,0x3eda,0x3eda,0x3f57,0x3f57,0x3f72,0x3f72,0x3f75,0x3f75,0x3f77,0x3f77,0x3fae,0x3fae,0x3fb1,0x3fb1,0x3fc9,0x3fc9,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x4039,0x4039,0x4058,0x4058,0x4093,0x4093,0x4103,0x4103,0x4105,0x4105,0x4148,0x4148,0x414f,0x414f,0x4163,0x4163,0x41b4,0x41b4,0x41bf,0x41bf,0x41e6,0x41e6,0x41ee,0x41ee,0x41f3,0x41f3,0x4207,0x4207,0x420e,0x420e,0x4264,0x4264,0x4293,0x4293,0x42c6,0x42c6,0x42d6,0x42d6,0x42dd,0x42dd,0x4302,0x4302,0x432b,0x432b,0x4343,0x4343,0x43ee,0x43ee,0x43f0,0x43f0,0x4408,0x4408,0x440c,0x440c,0x4417,0x4417,0x441c,0x441c,0x4422,0x4422,0x4453,0x4453,0x445b,0x445b,0x4476,0x4476,0x447a,0x447a,0x4491,0x4491,0x44b3,0x44b3,0x44be,0x44be,0x44d4,0x44d4,0x4508,0x4508,0x450d,0x450d,0x4525,0x4525,0x4543,0x4543,0x457a,0x457a,0x459d,0x459d,0x45b8,0x45b8,0x45be,0x45be,0x45e5,0x45e5,0x45ea,0x45ea,0x460f,0x4610,0x4641,0x4641,0x4665,0x4665,0x46a1,0x46a1,0x46ae,0x46af,0x470c,0x470c,0x471f,0x471f,0x4764,0x4764,0x47e6,0x47e6,0x47fd,0x47fd,0x4816,0x4816,0x481e,0x481e,0x4844,0x4844,0x484e,0x484e,0x48b5,0x48b5,0x49b0,0x49b0,0x49e7,0x49e7,0x49fa,0x49fa,0x4a04,0x4a04,0x4a29,0x4a29,0x4abc,0x4abc,0x4b38,0x4b38,0x4b3b,0x4b3b,0x4b7e,0x4b7e,0x4bc2,0x4bc2,0x4bca,0x4bca,0x4bd2,0x4bd2,0x4be8,0x4be8,0x4c17,0x4c17,0x4c20,0x4c20,0x4c38,0x4c38,0x4cc4,0x4cc4,0x4cd1,0x4cd1,0x4ce1,0x4ce1,0x4d07,0x4d07,0x4d77,0x4d77,0x4e00,0x4e05,0x4e07,0x4e12,0x4e14,0x4e19,0x4e1e,0x4e1f,0x4e21,0x4e21,0x4e23,0x4e24,0x4e26,0x4e26,0x4e28,0x4e32,0x4e35,0x4e39,0x4e3b,0x4e3c,0x4e3f,0x4e45,0x4e47,0x4e48,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e51,0x4e51,0x4e55,0x4e5f,0x4e62,0x4e63,0x4e68,0x4e69,0x4e71,0x4e71,0x4e73,0x4e75,0x4e79,0x4e79,0x4e7e,0x4e80,0x4e82,0x4e82,0x4e85,0x4e86,0x4e88,0x4e8e,0x4e91,0x4e92,0x4e94,0x4e99,0x4e9b,0x4ea2,0x4ea4,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eb0,0x4eb3,0x4eb3,0x4eb6,0x4eb6,0x4eb9,0x4ebc,0x4ec0,0x4ec4,0x4ec6,0x4ec8,0x4eca,0x4ecb,0x4ecd,0x4ed0,0x4ed4,0x4edb,0x4edd,0x4ee5,0x4ee8,0x4ee8,0x4eeb,0x4eeb,0x4eed,0x4ef3,0x4ef5,0x4ef7,0x4efb,0x4f03,0x4f08,0x4f12,0x4f15,0x4f17,0x4f19,0x4f1a,0x4f1c,0x4f1d,0x4f2b,0x4f2b,0x4f2e,0x4f31,0x4f33,0x4f3e,0x4f40,0x4f40,0x4f42,0x4f43,0x4f46,0x4f49,0x4f4b,0x4f60,0x4f63,0x4f64,0x4f69,0x4f6a,0x4f6c,0x4f6c,0x4f6e,0x4f71,0x4f73,0x4f73,0x4f75,0x4f7f,0x4f81,0x4f86,0x4f88,0x4f94,0x4f96,0x4f9b,0x4f9d,0x4fa1,0x4fab,0x4fab,0x4fad,0x4faf,0x4fb2,0x4fb2,0x4fb5,0x4fb7,0x4fb9,0x4fb9,0x4fbb,0x4fc6,0x4fc8,0x4fd4,0x4fd7,0x4fd8,0x4fda,0x4fdd,0x4fdf,0x4fe6,0x4fee,0x4ff3,0x4ff5,0x4ff6,0x4ff8,0x4ff8,0x4ffa,0x4ffa,0x4ffc,0x5002,0x5004,0x5007,0x5009,0x5014,0x5016,0x501f,0x5021,0x502e,0x5030,0x5030,0x5032,0x5033,0x5035,0x5036,0x5039,0x5039,0x503b,0x503b,0x5040,0x5043,0x5045,0x504a,0x504c,0x504c,0x504e,0x5053,0x5055,0x5057,0x5059,0x505a,0x505c,0x505c,0x505f,0x5060,0x5062,0x5063,0x5065,0x5067,0x506a,0x506a,0x506c,0x506d,0x5070,0x5072,0x5074,0x5078,0x507d,0x507d,0x5080,0x5081,0x5083,0x5086,0x5088,0x5088,0x508a,0x508a,0x508d,0x5096,0x5098,0x509c,0x509e,0x50a3,0x50aa,0x50aa,0x50ac,0x50ad,0x50af,0x50b5,0x50b7,0x50b7,0x50b9,0x50bb,0x50bd,0x50be,0x50c0,0x50c0,0x50c2,0x50c5,0x50c7,0x50c7,0x50c9,0x50ca,0x50cc,0x50d1,0x50d3,0x50d6,0x50d8,0x50da,0x50dc,0x50df,0x50e1,0x50e9,0x50ed,0x50f6,0x50f9,0x50fb,0x50fe,0x50fe,0x5100,0x5104,0x5106,0x5109,0x510b,0x510e,0x5110,0x5110,0x5112,0x5112,0x5114,0x511f,0x5121,0x5121,0x5123,0x5123,0x5127,0x5128,0x512a,0x512a,0x512c,0x512d,0x512f,0x512f,0x5131,0x5135,0x5137,0x513c,0x513f,0x5150,0x5152,0x5155,0x5157,0x5158,0x515a,0x515a,0x515c,0x515c,0x515f,0x5160,0x5162,0x5162,0x5164,0x516e,0x5171,0x5171,0x5173,0x5179,0x517b,0x517c,0x517e,0x517e,0x5180,0x5180,0x5182,0x5186,0x5189,0x5193,0x5195,0x5199,0x519d,0x519d,0x51a0,0x51a6,0x51a8,0x51ad,0x51b0,0x51b8,0x51ba,0x51ba,0x51bc,0x51bf,0x51c2,0x51c6,0x51c8,0x51cd,0x51cf,0x51cf,0x51d1,0x51d6,0x51d8,0x51d8,0x51db,0x51e2,0x51e5,0x51e7,0x51e9,0x51ea,0x51ec,0x51ee,0x51f0,0x51fa,0x51fd,0x51fe,0x5200,0x5208,0x520a,0x520b,0x520e,0x520e,0x5211,0x5218,0x521d,0x521d,0x5222,0x5222,0x5224,0x522b,0x522e,0x522e,0x5230,0x5233,0x5235,0x523c,0x5243,0x5245,0x5247,0x5247,0x5249,0x524d,0x524f,0x524f,0x5254,0x5258,0x525a,0x5261,0x5263,0x5266,0x5269,0x526a,0x526c,0x526c,0x526e,0x5275,0x5277,0x5279,0x527d,0x527d,0x527f,0x5280,0x5282,0x5285,0x5287,0x528a,0x528c,0x528d,0x5291,0x5298,0x529a,0x529c,0x529f,0x52a0,0x52a3,0x52a7,0x52a9,0x52ad,0x52af,0x52b1,0x52b4,0x52be,0x52c0,0x52c1,0x52c3,0x52ca,0x52cc,0x52cd,0x52cf,0x52d2,0x52d4,0x52d9,0x52db,0x52ea,0x52ec,0x52ec,0x52f0,0x52fb,0x52fe,0x5303,0x5305,0x5308,0x530a,0x530d,0x530f,0x5311,0x5313,0x5313,0x5315,0x5321,0x5323,0x5325,0x5327,0x532d,0x532f,0x5333,0x5335,0x5335,0x5338,0x5343,0x5345,0x534d,0x5351,0x5354,0x5357,0x535c,0x535e,0x535e,0x5360,0x5361,0x5363,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x537b,0x537d,0x537f,0x5382,0x5384,0x5387,0x5389,0x538e,0x538e,0x5393,0x5394,0x5396,0x5396,0x5398,0x539a,0x539d,0x539d,0x539f,0x53a1,0x53a4,0x53a6,0x53a8,0x53ab,0x53ad,0x53b0,0x53b2,0x53b8,0x53ba,0x53bb,0x53bd,0x53bd,0x53c0,0x53c5,0x53c8,0x53cf,0x53d2,0x53d7,0x53d9,0x53db,0x53dd,0x53f8,0x53fa,0x53fa,0x5401,0x5404,0x5408,0x5413,0x541a,0x541b,0x541d,0x5421,0x5424,0x5424,0x5426,0x542f,0x5431,0x5431,0x5433,0x5436,0x5438,0x5439,0x543b,0x5440,0x5442,0x5444,0x5446,0x544a,0x544c,0x544f,0x5451,0x5451,0x5455,0x5455,0x545e,0x545f,0x5462,0x5462,0x5464,0x5464,0x5466,0x546e,0x5470,0x5471,0x5473,0x5477,0x547b,0x547d,0x547f,0x5481,0x5483,0x5486,0x5488,0x5492,0x5495,0x5496,0x549c,0x549c,0x549f,0x54a2,0x54a4,0x54af,0x54b1,0x54b3,0x54b7,0x54c4,0x54c6,0x54ca,0x54cd,0x54ce,0x54d8,0x54d8,0x54e0,0x54e2,0x54e5,0x54e6,0x54e8,0x54ea,0x54ec,0x54ef,0x54f1,0x54f3,0x54f6,0x54f6,0x54fa,0x54fa,0x54fc,0x5501,0x5504,0x5509,0x550c,0x5510,0x5514,0x5516,0x5527,0x5527,0x552a,0x552b,0x552e,0x552f,0x5531,0x5533,0x5535,0x5536,0x5538,0x5539,0x553b,0x553e,0x5540,0x5541,0x5544,0x5547,0x5549,0x554a,0x554c,0x554d,0x554f,0x5551,0x5553,0x5553,0x5556,0x5558,0x555a,0x555e,0x5560,0x5561,0x5563,0x5564,0x5566,0x5566,0x557b,0x5584,0x5586,0x558b,0x558e,0x558f,0x5591,0x5594,0x5597,0x559a,0x559c,0x559f,0x55a3,0x55a4,0x55a7,0x55ae,0x55b0,0x55b0,0x55b2,0x55b2,0x55b6,0x55b6,0x55bf,0x55bf,0x55c1,0x55c1,0x55c3,0x55c7,0x55c9,0x55c9,0x55cb,0x55cc,0x55ce,0x55ce,0x55d1,0x55d4,0x55d7,0x55d8,0x55da,0x55df,0x55e2,0x55e4,0x55e9,0x55e9,0x55ec,0x55ec,0x55ee,0x55ee,0x55f1,0x55f1,0x55f6,0x55f9,0x55fd,0x55ff,0x5605,0x560a,0x560d,0x5612,0x5614,0x5614,0x5616,0x5619,0x561b,0x561b,0x5620,0x5620,0x5628,0x5629,0x562c,0x562c,0x562f,0x5639,0x563b,0x563d,0x563f,0x5644,0x5646,0x5647,0x5649,0x5649,0x564b,0x5650,0x5653,0x5654,0x565b,0x565b,0x565e,0x565e,0x5660,0x5664,0x5666,0x5666,0x5668,0x566d,0x566f,0x566f,0x5671,0x5672,0x5674,0x5676,0x5678,0x5678,0x567a,0x567a,0x5680,0x5680,0x5684,0x5688,0x568a,0x568c,0x568f,0x568f,0x5694,0x5695,0x5699,0x569a,0x569d,0x56a0,0x56a2,0x56a2,0x56a5,0x56a9,0x56ab,0x56ae,0x56b1,0x56b4,0x56b6,0x56b7,0x56bc,0x56bc,0x56be,0x56be,0x56c0,0x56c3,0x56c5,0x56c5,0x56c8,0x56d1,0x56d3,0x56d3,0x56d7,0x56e1,0x56e3,0x56e8,0x56eb,0x56eb,0x56ed,0x56ee,0x56f0,0x56f3,0x56f6,0x56f7,0x56f9,0x56fa,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x570f,0x570f,0x5711,0x5713,0x5715,0x5716,0x5718,0x5718,0x571a,0x571d,0x571f,0x572a,0x572c,0x5730,0x5733,0x5734,0x5737,0x5738,0x573b,0x573b,0x573d,0x5740,0x5742,0x5742,0x5745,0x5747,0x574a,0x574a,0x574c,0x5752,0x5759,0x5759,0x575f,0x575f,0x5761,0x5762,0x5764,0x576b,0x576d,0x5771,0x5773,0x5775,0x5777,0x5777,0x5779,0x577c,0x577e,0x577f,0x5781,0x5783,0x5788,0x5789,0x578b,0x578c,0x5793,0x5795,0x5797,0x5797,0x5799,0x579a,0x579c,0x57a4,0x57a7,0x57aa,0x57ac,0x57ac,0x57ae,0x57ae,0x57b0,0x57b0,0x57b3,0x57b3,0x57b8,0x57b8,0x57bd,0x57bd,0x57c0,0x57c0,0x57c3,0x57c3,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57cf,0x57d2,0x57d7,0x57dc,0x57e1,0x57e3,0x57e4,0x57e6,0x57e7,0x57e9,0x57e9,0x57ed,0x57ed,0x57f0,0x57f0,0x57f4,0x5800,0x5802,0x5806,0x5808,0x580d,0x5815,0x5815,0x5819,0x5819,0x581b,0x581b,0x581d,0x5821,0x5824,0x5824,0x5826,0x5827,0x582a,0x582a,0x582d,0x582d,0x582f,0x5832,0x5834,0x5835,0x5839,0x583a,0x583d,0x583d,0x583f,0x5841,0x5849,0x584d,0x584f,0x5852,0x5854,0x5855,0x5857,0x585a,0x585e,0x585f,0x5861,0x5862,0x5864,0x5864,0x5867,0x5869,0x586b,0x586b,0x586d,0x586d,0x5870,0x5870,0x5872,0x5872,0x5875,0x5875,0x5878,0x5879,0x587c,0x587c,0x587e,0x5881,0x5883,0x5883,0x5885,0x5885,0x5887,0x588d,0x588f,0x5890,0x5893,0x5894,0x5896,0x5898,0x589c,0x58a2,0x58a6,0x58a6,0x58a8,0x58ab,0x58ae,0x58ae,0x58b1,0x58b3,0x58b8,0x58bc,0x58be,0x58be,0x58c1,0x58c5,0x58c7,0x58c8,0x58ca,0x58ca,0x58cc,0x58ce,0x58d0,0x58da,0x58dc,0x58e2,0x58e4,0x58e5,0x58e9,0x58e9,0x58eb,0x58ec,0x58ee,0x58f4,0x58f7,0x58f7,0x58f9,0x58fd,0x5902,0x5902,0x5905,0x5906,0x5909,0x590d,0x590f,0x5910,0x5912,0x5916,0x5918,0x591d,0x591f,0x591f,0x5921,0x5925,0x5927,0x5933,0x5935,0x5939,0x593d,0x593f,0x5943,0x5944,0x5946,0x5949,0x594e,0x5955,0x5957,0x595b,0x595d,0x5963,0x5965,0x5965,0x5967,0x596f,0x5972,0x5976,0x5978,0x5979,0x597b,0x597d,0x5981,0x5984,0x598a,0x598e,0x5992,0x5993,0x5995,0x5997,0x5999,0x5999,0x599b,0x599b,0x599d,0x599d,0x599f,0x599f,0x59a3,0x59a5,0x59a7,0x59a8,0x59ac,0x59b0,0x59b2,0x59b3,0x59b7,0x59b7,0x59b9,0x59bc,0x59be,0x59be,0x59c1,0x59c1,0x59c3,0x59c4,0x59c6,0x59c6,0x59c8,0x59cb,0x59cd,0x59cd,0x59d0,0x59d4,0x59d9,0x59da,0x59dc,0x59df,0x59e3,0x59e8,0x59ea,0x59ec,0x59ee,0x59ef,0x59f1,0x59f2,0x59f4,0x59f4,0x59f6,0x59f8,0x59fb,0x59fb,0x59ff,0x5a01,0x5a03,0x5a04,0x5a09,0x5a09,0x5a0c,0x5a0e,0x5a11,0x5a13,0x5a17,0x5a18,0x5a1a,0x5a1c,0x5a1e,0x5a20,0x5a23,0x5a25,0x5a27,0x5a2a,0x5a2d,0x5a2d,0x5a2f,0x5a30,0x5a35,0x5a36,0x5a3c,0x5a3c,0x5a40,0x5a41,0x5a44,0x5a49,0x5a4c,0x5a4c,0x5a50,0x5a50,0x5a55,0x5a55,0x5a5a,0x5a5a,0x5a5e,0x5a5e,0x5a62,0x5a63,0x5a65,0x5a67,0x5a6a,0x5a6a,0x5a6c,0x5a6d,0x5a77,0x5a77,0x5a7a,0x5a7b,0x5a7e,0x5a7f,0x5a84,0x5a84,0x5a8b,0x5a8b,0x5a90,0x5a90,0x5a92,0x5a93,0x5a96,0x5a96,0x5a99,0x5a9c,0x5a9e,0x5aa0,0x5aa2,0x5aa2,0x5aa7,0x5aa7,0x5aac,0x5aac,0x5ab1,0x5ab3,0x5ab5,0x5ab5,0x5ab8,0x5ab8,0x5aba,0x5abf,0x5ac1,0x5ac2,0x5ac4,0x5ac4,0x5ac6,0x5ac6,0x5ac8,0x5ac9,0x5acb,0x5acc,0x5acf,0x5ad0,0x5ad6,0x5ad7,0x5ada,0x5ada,0x5adc,0x5adc,0x5ae0,0x5ae1,0x5ae3,0x5ae3,0x5ae5,0x5ae6,0x5ae9,0x5aea,0x5aee,0x5aee,0x5af0,0x5af0,0x5af5,0x5af6,0x5afa,0x5afb,0x5afd,0x5afd,0x5b00,0x5b01,0x5b08,0x5b09,0x5b0b,0x5b0c,0x5b16,0x5b17,0x5b19,0x5b19,0x5b1b,0x5b1b,0x5b1d,0x5b1d,0x5b21,0x5b22,0x5b25,0x5b25,0x5b2a,0x5b2a,0x5b2c,0x5b2d,0x5b30,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b36,0x5b36,0x5b38,0x5b38,0x5b3e,0x5b3e,0x5b40,0x5b41,0x5b43,0x5b43,0x5b45,0x5b45,0x5b4b,0x5b4c,0x5b50,0x5b52,0x5b54,0x5b58,0x5b5a,0x5b5f,0x5b63,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6b,0x5b6e,0x5b71,0x5b73,0x5b73,0x5b75,0x5b76,0x5b78,0x5b78,0x5b7a,0x5b7a,0x5b7c,0x5b91,0x5b93,0x5b9d,0x5b9f,0x5b9f,0x5ba2,0x5ba6,0x5ba8,0x5ba9,0x5bac,0x5bba,0x5bbc,0x5bbc,0x5bbf,0x5bc7,0x5bc9,0x5bc9,0x5bcc,0x5bd0,0x5bd2,0x5bd4,0x5bd6,0x5bdb,0x5bdd,0x5be2,0x5be4,0x5be9,0x5beb,0x5bec,0x5bee,0x5bf1,0x5bf3,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bfd,0x5bff,0x5c01,0x5c0f,0x5c11,0x5c14,0x5c16,0x5c17,0x5c19,0x5c1a,0x5c1e,0x5c20,0x5c22,0x5c24,0x5c26,0x5c26,0x5c28,0x5c2e,0x5c30,0x5c32,0x5c35,0x5c36,0x5c38,0x5c41,0x5c45,0x5c46,0x5c48,0x5c48,0x5c4a,0x5c4b,0x5c4d,0x5c51,0x5c53,0x5c53,0x5c55,0x5c55,0x5c59,0x5c5c,0x5c5e,0x5c65,0x5c67,0x5c69,0x5c6c,0x5c71,0x5c74,0x5c76,0x5c79,0x5c7d,0x5c87,0x5c88,0x5c8a,0x5c8a,0x5c8c,0x5c8c,0x5c8f,0x5c92,0x5c94,0x5c94,0x5c9d,0x5c9d,0x5c9f,0x5ca3,0x5ca6,0x5cad,0x5cb1,0x5cb8,0x5cba,0x5cbc,0x5cbe,0x5cbe,0x5cc5,0x5cc5,0x5cc7,0x5cc7,0x5cc9,0x5cc9,0x5ccb,0x5ccb,0x5cd0,0x5cd0,0x5cd2,0x5cd2,0x5cd7,0x5cd7,0x5cd9,0x5cd9,0x5cdd,0x5cdd,0x5ce0,0x5ce1,0x5ce6,0x5ce6,0x5ce8,0x5cea,0x5ced,0x5cf2,0x5cf4,0x5cf6,0x5cfa,0x5cfb,0x5cfd,0x5cfd,0x5d01,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d0b,0x5d0d,0x5d0e,0x5d10,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d1d,0x5d1f,0x5d20,0x5d22,0x5d24,0x5d26,0x5d27,0x5d29,0x5d29,0x5d2b,0x5d2b,0x5d31,0x5d31,0x5d34,0x5d34,0x5d39,0x5d39,0x5d3d,0x5d3d,0x5d3f,0x5d3f,0x5d42,0x5d43,0x5d46,0x5d48,0x5d4a,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d53,0x5d55,0x5d55,0x5d59,0x5d59,0x5d5c,0x5d5c,0x5d5f,0x5d62,0x5d64,0x5d64,0x5d69,0x5d6a,0x5d6c,0x5d6d,0x5d6f,0x5d70,0x5d73,0x5d73,0x5d76,0x5d76,0x5d79,0x5d7a,0x5d7e,0x5d7f,0x5d81,0x5d84,0x5d87,0x5d88,0x5d8a,0x5d8c,0x5d90,0x5d90,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d99,0x5d9b,0x5d9b,0x5d9d,0x5d9d,0x5d9f,0x5da0,0x5da2,0x5da2,0x5da4,0x5da4,0x5da7,0x5da7,0x5dab,0x5dac,0x5dae,0x5dae,0x5db0,0x5db0,0x5db2,0x5db2,0x5db4,0x5db4,0x5db7,0x5dba,0x5dbc,0x5dbd,0x5dc3,0x5dc3,0x5dc7,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dce,0x5dd0,0x5dd3,0x5dd6,0x5dd9,0x5ddb,0x5ddb,0x5ddd,0x5dde,0x5de0,0x5de9,0x5deb,0x5deb,0x5dee,0x5dee,0x5df1,0x5df5,0x5df7,0x5df9,0x5dfb,0x5dfb,0x5dfd,0x5e00,0x5e02,0x5e03,0x5e06,0x5e07,0x5e0b,0x5e0d,0x5e11,0x5e12,0x5e14,0x5e16,0x5e18,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e20,0x5e25,0x5e25,0x5e28,0x5e28,0x5e2b,0x5e2b,0x5e2d,0x5e30,0x5e32,0x5e33,0x5e35,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e40,0x5e43,0x5e45,0x5e47,0x5e47,0x5e49,0x5e49,0x5e4b,0x5e4c,0x5e4e,0x5e4e,0x5e50,0x5e51,0x5e54,0x5e58,0x5e5b,0x5e5c,0x5e5e,0x5e5f,0x5e61,0x5e64,0x5e68,0x5e68,0x5e6a,0x5e6e,0x5e70,0x5e70,0x5e72,0x5e81,0x5e83,0x5e84,0x5e87,0x5e87,0x5e8a,0x5e8b,0x5e8e,0x5e8f,0x5e95,0x5e97,0x5e99,0x5e9a,0x5e9c,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea2,0x5ea4,0x5ea8,0x5eaa,0x5ead,0x5eb1,0x5eb1,0x5eb3,0x5eb3,0x5eb5,0x5eb9,0x5ebd,0x5ebf,0x5ec1,0x5ec3,0x5ec6,0x5ec6,0x5ec8,0x5ecc,0x5ece,0x5ed6,0x5ed9,0x5ee3,0x5ee5,0x5ee5,0x5ee8,0x5ee9,0x5eeb,0x5eec,0x5ef0,0x5ef1,0x5ef3,0x5ef4,0x5ef6,0x5f04,0x5f06,0x5f11,0x5f13,0x5f19,0x5f1b,0x5f1f,0x5f21,0x5f29,0x5f2b,0x5f31,0x5f34,0x5f38,0x5f3a,0x5f41,0x5f44,0x5f45,0x5f47,0x5f48,0x5f4a,0x5f4a,0x5f4c,0x5f4e,0x5f50,0x5f51,0x5f53,0x5f54,0x5f56,0x5f59,0x5f5b,0x5f5d,0x5f60,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f75,0x5f77,0x5f7a,0x5f7c,0x5f85,0x5f87,0x5f8d,0x5f8f,0x5f93,0x5f96,0x5f99,0x5f9c,0x5f9e,0x5fa0,0x5fa2,0x5fa4,0x5fa4,0x5fa7,0x5fb1,0x5fb3,0x5fb5,0x5fb7,0x5fb9,0x5fbc,0x5fbd,0x5fc3,0x5fc5,0x5fc7,0x5fc9,0x5fcb,0x5fcd,0x5fd0,0x5fd4,0x5fd6,0x5fd9,0x5fdc,0x5fde,0x5fe0,0x5fe2,0x5fe4,0x5fe4,0x5fe8,0x5ff3,0x5ff5,0x5ff6,0x5ff8,0x5ff8,0x5ffa,0x5ffd,0x5fff,0x5fff,0x6007,0x6007,0x600a,0x600a,0x600d,0x6010,0x6012,0x601d,0x601f,0x6022,0x6024,0x602b,0x602d,0x602d,0x602f,0x602f,0x6031,0x6031,0x6033,0x6033,0x6035,0x6035,0x603a,0x603a,0x6040,0x6043,0x6046,0x604d,0x6050,0x6052,0x6054,0x6057,0x6059,0x605a,0x605d,0x605d,0x605f,0x6065,0x6067,0x606d,0x606f,0x6071,0x6075,0x6075,0x6077,0x6077,0x607e,0x607f,0x6081,0x6086,0x6088,0x608e,0x6091,0x6098,0x609a,0x609b,0x609d,0x60a0,0x60a2,0x60aa,0x60b0,0x60b8,0x60bb,0x60be,0x60c2,0x60c2,0x60c4,0x60cb,0x60ce,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d8,0x60e3,0x60e5,0x60e5,0x60e7,0x60e8,0x60ee,0x60ee,0x60f0,0x60fd,0x6100,0x6103,0x6106,0x610a,0x610c,0x6117,0x6119,0x611c,0x611e,0x6122,0x6127,0x6128,0x612a,0x612c,0x6130,0x6131,0x6134,0x6137,0x6139,0x613a,0x613c,0x613f,0x6141,0x6142,0x6144,0x614e,0x6153,0x6153,0x6155,0x6155,0x6158,0x615a,0x615d,0x6160,0x6162,0x6165,0x6167,0x6168,0x616b,0x616c,0x616e,0x6178,0x617b,0x6184,0x6187,0x6187,0x618a,0x618b,0x618d,0x618e,0x6190,0x6194,0x6196,0x619a,0x619c,0x619d,0x619f,0x61a0,0x61a4,0x61a5,0x61a7,0x61ae,0x61b2,0x61b2,0x61b6,0x61b6,0x61b8,0x61ba,0x61bc,0x61bc,0x61be,0x61be,0x61c0,0x61c3,0x61c6,0x61d0,0x61d5,0x61d5,0x61dc,0x61df,0x61e1,0x61e3,0x61e5,0x61e9,0x61ec,0x61ed,0x61ef,0x61ef,0x61f2,0x61f2,0x61f4,0x61f8,0x61fa,0x61fa,0x61fc,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6216,0x621a,0x6223,0x6226,0x6227,0x6229,0x622b,0x622e,0x6234,0x6236,0x6236,0x6238,0x6239,0x623b,0x623b,0x623d,0x6244,0x6246,0x6249,0x624b,0x624e,0x6250,0x6256,0x6258,0x6258,0x625a,0x625c,0x625e,0x625e,0x6260,0x6261,0x6263,0x6264,0x6268,0x6268,0x626d,0x626f,0x6271,0x6271,0x6273,0x6273,0x6276,0x6276,0x6279,0x6280,0x6282,0x6285,0x6289,0x628a,0x628d,0x6299,0x629b,0x629c,0x629e,0x629e,0x62a6,0x62a6,0x62a8,0x62a8,0x62ab,0x62ac,0x62b1,0x62b1,0x62b3,0x62b3,0x62b5,0x62b7,0x62b9,0x62bf,0x62c2,0x62c2,0x62c4,0x62ca,0x62cc,0x62dd,0x62e0,0x62e1,0x62ea,0x62ea,0x62ec,0x62ef,0x62f1,0x62f7,0x62fc,0x62ff,0x6301,0x6304,0x6307,0x630d,0x6310,0x6311,0x6313,0x6313,0x6316,0x6316,0x6318,0x6319,0x631b,0x631b,0x631f,0x631f,0x6327,0x632b,0x632d,0x632d,0x632f,0x632f,0x6332,0x6332,0x6335,0x6336,0x6339,0x633f,0x6341,0x6344,0x6346,0x6346,0x6349,0x6350,0x6352,0x6355,0x6357,0x6359,0x635b,0x635c,0x6365,0x6369,0x636b,0x636e,0x6371,0x6372,0x6374,0x6378,0x637a,0x637d,0x637f,0x6380,0x6382,0x6384,0x6387,0x638a,0x638c,0x638c,0x638e,0x6390,0x6392,0x6392,0x6394,0x6396,0x6398,0x639b,0x639e,0x63af,0x63b2,0x63b2,0x63b4,0x63b5,0x63bb,0x63bb,0x63bd,0x63be,0x63c0,0x63c1,0x63c3,0x63c6,0x63c8,0x63c9,0x63ce,0x63d6,0x63da,0x63dc,0x63e0,0x63e1,0x63e3,0x63e3,0x63e5,0x63e5,0x63e9,0x63ee,0x63f2,0x63fa,0x6406,0x6406,0x6409,0x640a,0x640d,0x640d,0x640f,0x6410,0x6412,0x6414,0x6416,0x6418,0x641c,0x641c,0x641e,0x641e,0x6420,0x6420,0x6422,0x6422,0x6424,0x6426,0x6428,0x642a,0x642c,0x642d,0x642f,0x6430,0x6434,0x6436,0x643a,0x643a,0x643d,0x643f,0x6442,0x6442,0x644b,0x644b,0x644e,0x644f,0x6451,0x6454,0x6458,0x6458,0x645a,0x645d,0x645f,0x6461,0x6463,0x6463,0x6467,0x6467,0x6469,0x6469,0x646d,0x646d,0x646f,0x646f,0x6473,0x6474,0x6476,0x6476,0x6478,0x647b,0x647d,0x647d,0x6483,0x6483,0x6485,0x6485,0x6487,0x6488,0x648f,0x6493,0x6495,0x6495,0x6498,0x649b,0x649d,0x649f,0x64a1,0x64a1,0x64a3,0x64a6,0x64a8,0x64a9,0x64ab,0x64ae,0x64b0,0x64b0,0x64b2,0x64b3,0x64b9,0x64b9,0x64bb,0x64bf,0x64c1,0x64c2,0x64c4,0x64c5,0x64c7,0x64c7,0x64c9,0x64ce,0x64d0,0x64d2,0x64d4,0x64d5,0x64d7,0x64d8,0x64da,0x64da,0x64e0,0x64e7,0x64e9,0x64ea,0x64ec,0x64ed,0x64ef,0x64f2,0x64f4,0x64f7,0x64fa,0x64fb,0x64fd,0x6501,0x6504,0x6505,0x6508,0x650a,0x650f,0x650f,0x6513,0x6514,0x6516,0x6516,0x6518,0x6519,0x651b,0x651f,0x6522,0x6524,0x6526,0x6526,0x6529,0x652c,0x652e,0x652f,0x6531,0x6532,0x6534,0x653f,0x6543,0x6545,0x6547,0x6549,0x654d,0x6552,0x6554,0x6559,0x655d,0x6560,0x6562,0x6563,0x6566,0x6567,0x656b,0x656c,0x6570,0x6570,0x6572,0x6572,0x6574,0x6575,0x6577,0x6578,0x657a,0x657a,0x657d,0x657d,0x6581,0x6585,0x6587,0x658a,0x658c,0x658c,0x658e,0x658e,0x6590,0x6592,0x6595,0x6595,0x6597,0x6599,0x659b,0x659d,0x659f,0x65a1,0x65a3,0x65a7,0x65ab,0x65b0,0x65b2,0x65b5,0x65b7,0x65b9,0x65bc,0x65bf,0x65c1,0x65c6,0x65c8,0x65c9,0x65cb,0x65cc,0x65ce,0x65d0,0x65d2,0x65d2,0x65d4,0x65d4,0x65d6,0x65d9,0x65db,0x65db,0x65df,0x65e3,0x65e5,0x65e9,0x65ec,0x65ed,0x65f0,0x65f2,0x65f4,0x65f5,0x65f9,0x65fc,0x65fe,0x6600,0x6602,0x6604,0x6606,0x660a,0x660c,0x660f,0x6611,0x6616,0x661c,0x6631,0x6633,0x6637,0x6639,0x663c,0x663f,0x6646,0x6648,0x664c,0x664e,0x664f,0x6651,0x6652,0x6657,0x6670,0x6673,0x667c,0x667e,0x6681,0x6683,0x6684,0x6687,0x6689,0x668b,0x668e,0x6690,0x6692,0x6696,0x669d,0x669f,0x66a0,0x66a2,0x66a2,0x66a4,0x66a4,0x66a6,0x66a6,0x66ab,0x66ab,0x66ad,0x66ae,0x66b1,0x66b5,0x66b8,0x66b9,0x66bb,0x66bc,0x66be,0x66c4,0x66c6,0x66c9,0x66cc,0x66cc,0x66ce,0x66cf,0x66d4,0x66d4,0x66d6,0x66d6,0x66d9,0x66dd,0x66df,0x66e0,0x66e6,0x66e6,0x66e8,0x66e9,0x66eb,0x66ec,0x66ee,0x66ee,0x66f0,0x66f0,0x66f2,0x66f5,0x66f7,0x6701,0x6703,0x6703,0x6705,0x6705,0x6707,0x6709,0x670b,0x6710,0x6712,0x6717,0x6719,0x6719,0x671b,0x6720,0x6722,0x6722,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6738,0x673a,0x673a,0x673d,0x673f,0x6741,0x6741,0x6743,0x6743,0x6745,0x6749,0x674c,0x6751,0x6753,0x6756,0x6759,0x6759,0x675c,0x6766,0x676a,0x676a,0x676c,0x6777,0x677b,0x677c,0x677e,0x6781,0x6784,0x6785,0x6787,0x6787,0x6789,0x6789,0x678b,0x678c,0x678e,0x6793,0x6795,0x679d,0x67a0,0x67a2,0x67a4,0x67a4,0x67a6,0x67a6,0x67a9,0x67a9,0x67af,0x67b9,0x67bb,0x67be,0x67c0,0x67c6,0x67c8,0x67ca,0x67ce,0x67d4,0x67d7,0x67de,0x67e1,0x67e2,0x67e4,0x67e4,0x67e6,0x67e7,0x67e9,0x67e9,0x67ec,0x67ec,0x67ee,0x67f7,0x67f9,0x67fc,0x67fe,0x67ff,0x6801,0x6805,0x6810,0x6810,0x6813,0x6814,0x6816,0x6819,0x681d,0x681f,0x6821,0x6822,0x6827,0x682d,0x682f,0x6834,0x6838,0x6839,0x683b,0x6846,0x6848,0x684a,0x684c,0x684e,0x6850,0x6855,0x6857,0x6859,0x685b,0x685d,0x685f,0x685f,0x6863,0x6863,0x6867,0x6867,0x686b,0x686b,0x686e,0x6872,0x6874,0x6877,0x6879,0x687c,0x687e,0x687f,0x6881,0x6886,0x6888,0x6888,0x688d,0x6890,0x6893,0x6894,0x6896,0x689d,0x689f,0x68a3,0x68a5,0x68ab,0x68ad,0x68b6,0x68b9,0x68bc,0x68c3,0x68c6,0x68c8,0x68cd,0x68cf,0x68da,0x68dc,0x68dd,0x68df,0x68e1,0x68e3,0x68e5,0x68e7,0x68e8,0x68ea,0x68f2,0x68f5,0x68f7,0x68f9,0x68fd,0x6900,0x6901,0x6903,0x6913,0x6916,0x6917,0x6919,0x691c,0x6921,0x6923,0x6925,0x6926,0x6928,0x6928,0x692a,0x692a,0x6930,0x6931,0x6933,0x6936,0x6938,0x6939,0x693b,0x693b,0x693d,0x693d,0x693f,0x693f,0x6942,0x6942,0x6945,0x6946,0x6949,0x694a,0x694e,0x694e,0x6953,0x6955,0x6957,0x6957,0x6959,0x695e,0x6960,0x6966,0x6968,0x6975,0x6977,0x6982,0x6986,0x6986,0x698a,0x698a,0x698d,0x698e,0x6991,0x6992,0x6994,0x6996,0x6998,0x6998,0x699b,0x699c,0x69a0,0x69a1,0x69a5,0x69a8,0x69ab,0x69ab,0x69ad,0x69b2,0x69b4,0x69b4,0x69b7,0x69b8,0x69ba,0x69bc,0x69be,0x69c1,0x69c3,0x69c3,0x69c5,0x69c5,0x69c7,0x69c8,0x69ca,0x69d1,0x69d3,0x69d3,0x69d6,0x69d9,0x69dd,0x69de,0x69e2,0x69e3,0x69e5,0x69e5,0x69e7,0x69eb,0x69ed,0x69ef,0x69f1,0x69f6,0x69f9,0x69f9,0x69fb,0x69fb,0x69fd,0x6a03,0x6a05,0x6a05,0x6a0a,0x6a0c,0x6a0f,0x6a0f,0x6a11,0x6a15,0x6a17,0x6a17,0x6a19,0x6a1b,0x6a1d,0x6a24,0x6a28,0x6a2b,0x6a2e,0x6a2e,0x6a30,0x6a30,0x6a32,0x6a3b,0x6a3d,0x6a3f,0x6a44,0x6a4b,0x6a4e,0x6a4e,0x6a50,0x6a52,0x6a54,0x6a56,0x6a58,0x6a59,0x6a5b,0x6a5b,0x6a5f,0x6a5f,0x6a61,0x6a62,0x6a64,0x6a64,0x6a66,0x6a67,0x6a6a,0x6a6b,0x6a71,0x6a73,0x6a78,0x6a78,0x6a7a,0x6a7a,0x6a7e,0x6a81,0x6a83,0x6a84,0x6a86,0x6a87,0x6a89,0x6a89,0x6a8b,0x6a8b,0x6a8d,0x6a8e,0x6a90,0x6a91,0x6a94,0x6a94,0x6a97,0x6a97,0x6a9b,0x6aa3,0x6aa5,0x6aa5,0x6aaa,0x6aac,0x6aae,0x6ab1,0x6ab3,0x6ab4,0x6ab8,0x6ab8,0x6abb,0x6abb,0x6abd,0x6abf,0x6ac1,0x6ac3,0x6ac6,0x6ac6,0x6ac8,0x6ac9,0x6acc,0x6acc,0x6ad0,0x6ad1,0x6ad3,0x6ad6,0x6ada,0x6adf,0x6ae2,0x6ae2,0x6ae4,0x6ae4,0x6ae7,0x6ae8,0x6aea,0x6aea,0x6aec,0x6aec,0x6af0,0x6af3,0x6af8,0x6af8,0x6afa,0x6afd,0x6b02,0x6b07,0x6b09,0x6b0b,0x6b0f,0x6b12,0x6b16,0x6b17,0x6b1b,0x6b1b,0x6b1d,0x6b21,0x6b23,0x6b24,0x6b27,0x6b28,0x6b2b,0x6b2c,0x6b2f,0x6b2f,0x6b32,0x6b32,0x6b35,0x6b3b,0x6b3d,0x6b3f,0x6b43,0x6b43,0x6b46,0x6b47,0x6b49,0x6b4a,0x6b4c,0x6b4e,0x6b50,0x6b50,0x6b52,0x6b54,0x6b56,0x6b56,0x6b58,0x6b59,0x6b5b,0x6b5b,0x6b5d,0x6b5d,0x6b5f,0x6b67,0x6b69,0x6b6c,0x6b6e,0x6b70,0x6b72,0x6b75,0x6b77,0x6b7b,0x6b7d,0x6b86,0x6b89,0x6b8b,0x6b8d,0x6b8d,0x6b95,0x6b98,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba4,0x6ba8,0x6bb5,0x6bb7,0x6bc0,0x6bc3,0x6bc9,0x6bcb,0x6bcf,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdb,0x6bdf,0x6bdf,0x6be1,0x6be1,0x6be3,0x6be3,0x6be6,0x6be7,0x6beb,0x6bec,0x6bee,0x6bef,0x6bf1,0x6bf1,0x6bf3,0x6bf3,0x6bf7,0x6bf7,0x6bf9,0x6bf9,0x6bff,0x6bff,0x6c02,0x6c02,0x6c04,0x6c05,0x6c08,0x6c0a,0x6c0d,0x6c14,0x6c17,0x6c17,0x6c19,0x6c19,0x6c1b,0x6c1b,0x6c1f,0x6c1f,0x6c23,0x6c24,0x6c26,0x6c28,0x6c2c,0x6c2c,0x6c2e,0x6c2e,0x6c33,0x6c38,0x6c3a,0x6c3b,0x6c3e,0x6c42,0x6c4a,0x6c4b,0x6c4d,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c57,0x6c59,0x6c60,0x6c62,0x6c62,0x6c67,0x6c68,0x6c6a,0x6c6b,0x6c6d,0x6c6d,0x6c6f,0x6c70,0x6c72,0x6c74,0x6c76,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c7e,0x6c81,0x6c89,0x6c8c,0x6c8d,0x6c90,0x6c90,0x6c92,0x6c9c,0x6c9f,0x6c9f,0x6ca1,0x6ca2,0x6caa,0x6cae,0x6cb0,0x6cb4,0x6cb8,0x6cbf,0x6cc1,0x6cc2,0x6cc4,0x6cc6,0x6cc9,0x6cca,0x6ccc,0x6ccd,0x6ccf,0x6cd7,0x6cd9,0x6cdd,0x6ce0,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf4,0x6cfb,0x6cfb,0x6d00,0x6d01,0x6d04,0x6d04,0x6d07,0x6d07,0x6d0a,0x6d0c,0x6d0e,0x6d0f,0x6d11,0x6d13,0x6d17,0x6d17,0x6d19,0x6d1b,0x6d1e,0x6d1f,0x6d24,0x6d2b,0x6d2e,0x6d2f,0x6d31,0x6d36,0x6d38,0x6d39,0x6d3b,0x6d3f,0x6d41,0x6d41,0x6d44,0x6d45,0x6d57,0x6d5c,0x6d5e,0x6d61,0x6d63,0x6d67,0x6d69,0x6d6a,0x6d6c,0x6d6c,0x6d6e,0x6d70,0x6d74,0x6d74,0x6d77,0x6d79,0x6d7c,0x6d7c,0x6d80,0x6d82,0x6d85,0x6d85,0x6d87,0x6d8a,0x6d8c,0x6d8e,0x6d91,0x6d99,0x6d9b,0x6d9c,0x6daa,0x6dac,0x6dae,0x6daf,0x6db2,0x6db2,0x6db4,0x6db5,0x6db7,0x6db9,0x6dbc,0x6dbd,0x6dbf,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dc8,0x6dca,0x6dcc,0x6dce,0x6dd2,0x6dd5,0x6dd6,0x6dd8,0x6ddb,0x6ddd,0x6de2,0x6de4,0x6de6,0x6de8,0x6dec,0x6dee,0x6dfc,0x6e00,0x6e00,0x6e04,0x6e05,0x6e07,0x6e0b,0x6e13,0x6e13,0x6e15,0x6e15,0x6e17,0x6e17,0x6e19,0x6e1b,0x6e1d,0x6e27,0x6e29,0x6e29,0x6e2b,0x6e2f,0x6e32,0x6e32,0x6e34,0x6e34,0x6e36,0x6e36,0x6e38,0x6e3c,0x6e3e,0x6e3e,0x6e42,0x6e45,0x6e48,0x6e4f,0x6e51,0x6e54,0x6e56,0x6e58,0x6e5b,0x6e5f,0x6e62,0x6e63,0x6e67,0x6e68,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e72,0x6e73,0x6e76,0x6e76,0x6e7b,0x6e7b,0x6e7d,0x6e80,0x6e82,0x6e82,0x6e89,0x6e89,0x6e8c,0x6e8d,0x6e8f,0x6e90,0x6e93,0x6e93,0x6e96,0x6e96,0x6e98,0x6e99,0x6e9c,0x6e9d,0x6e9f,0x6ea0,0x6ea2,0x6ea2,0x6ea5,0x6ea5,0x6ea7,0x6ea7,0x6eaa,0x6eab,0x6ead,0x6eaf,0x6eb1,0x6eb4,0x6eb6,0x6eb7,0x6eba,0x6ebd,0x6ebf,0x6ec5,0x6ec7,0x6ecf,0x6ed1,0x6ed1,0x6ed3,0x6ed5,0x6ed9,0x6edb,0x6edd,0x6ede,0x6ee6,0x6ee6,0x6eeb,0x6eef,0x6ef2,0x6ef2,0x6ef4,0x6ef4,0x6ef7,0x6ef9,0x6efb,0x6efb,0x6efd,0x6eff,0x6f01,0x6f02,0x6f04,0x6f04,0x6f06,0x6f06,0x6f08,0x6f0a,0x6f0c,0x6f0d,0x6f0f,0x6f11,0x6f13,0x6f16,0x6f18,0x6f18,0x6f1a,0x6f1b,0x6f20,0x6f20,0x6f22,0x6f23,0x6f25,0x6f26,0x6f29,0x6f2d,0x6f2f,0x6f33,0x6f35,0x6f36,0x6f38,0x6f38,0x6f3b,0x6f3c,0x6f3e,0x6f3f,0x6f41,0x6f41,0x6f45,0x6f45,0x6f4f,0x6f4f,0x6f51,0x6f54,0x6f57,0x6f62,0x6f64,0x6f64,0x6f66,0x6f66,0x6f68,0x6f68,0x6f6c,0x6f70,0x6f74,0x6f74,0x6f78,0x6f78,0x6f7a,0x6f7a,0x6f7c,0x6f7e,0x6f80,0x6f84,0x6f86,0x6f88,0x6f8b,0x6f8e,0x6f90,0x6f94,0x6f96,0x6f98,0x6f9a,0x6f9a,0x6f9d,0x6f9d,0x6f9f,0x6fa1,0x6fa3,0x6fa8,0x6faa,0x6faa,0x6fae,0x6fb1,0x6fb3,0x6fb3,0x6fb5,0x6fb7,0x6fb9,0x6fb9,0x6fbc,0x6fbc,0x6fbe,0x6fbe,0x6fc0,0x6fc3,0x6fc5,0x6fca,0x6fd4,0x6fd5,0x6fd8,0x6fd8,0x6fda,0x6fdb,0x6fde,0x6fe1,0x6fe4,0x6fe4,0x6fe8,0x6fe9,0x6feb,0x6fec,0x6fee,0x6ff1,0x6ff3,0x6ff3,0x6ff5,0x6ff6,0x6ff9,0x6ffa,0x6ffc,0x6ffe,0x7000,0x7001,0x7005,0x7007,0x7009,0x700b,0x700d,0x700d,0x700f,0x700f,0x7011,0x7011,0x7015,0x7015,0x7017,0x7018,0x701a,0x701b,0x701d,0x7020,0x7023,0x7023,0x7026,0x7028,0x702c,0x702c,0x702f,0x7030,0x7032,0x7032,0x7034,0x7034,0x7037,0x7037,0x7039,0x703a,0x703c,0x703c,0x703e,0x703e,0x7043,0x7044,0x7047,0x704c,0x704e,0x704e,0x7051,0x7051,0x7054,0x7055,0x7058,0x7058,0x705d,0x705e,0x7063,0x7065,0x7069,0x7069,0x706b,0x706c,0x706e,0x7070,0x7075,0x7076,0x7078,0x7078,0x707c,0x707e,0x7081,0x7081,0x7085,0x7086,0x7089,0x708a,0x708e,0x708e,0x7092,0x7092,0x7094,0x7099,0x709b,0x709b,0x709f,0x709f,0x70a4,0x70a4,0x70ab,0x70b1,0x70b3,0x70b4,0x70b7,0x70bb,0x70c8,0x70c8,0x70ca,0x70cb,0x70cf,0x70cf,0x70d1,0x70d1,0x70d3,0x70d6,0x70d8,0x70d9,0x70dc,0x70dd,0x70df,0x70df,0x70e4,0x70e4,0x70ec,0x70ec,0x70f1,0x70f1,0x70f9,0x70fa,0x70fd,0x70fd,0x7103,0x7109,0x710b,0x710c,0x710f,0x710f,0x7114,0x7114,0x7119,0x711a,0x711c,0x711c,0x711e,0x711e,0x7120,0x7121,0x7126,0x7126,0x712b,0x712b,0x712d,0x7131,0x7136,0x7136,0x7138,0x7138,0x713c,0x713c,0x7141,0x7141,0x7145,0x7147,0x7149,0x714c,0x714e,0x714e,0x7150,0x7153,0x7155,0x7157,0x7159,0x715a,0x715c,0x715c,0x715e,0x715e,0x7160,0x7160,0x7162,0x7162,0x7164,0x7169,0x716c,0x716c,0x716e,0x716e,0x7179,0x7179,0x717d,0x717d,0x7180,0x7180,0x7184,0x7185,0x7187,0x7188,0x718a,0x718a,0x718c,0x718c,0x718f,0x718f,0x7192,0x7192,0x7194,0x7196,0x7199,0x719b,0x719f,0x71a0,0x71a2,0x71a2,0x71a8,0x71a8,0x71ac,0x71ac,0x71ae,0x71b3,0x71b9,0x71ba,0x71be,0x71c1,0x71c3,0x71c4,0x71c8,0x71c9,0x71cb,0x71cc,0x71ce,0x71ce,0x71d0,0x71d0,0x71d2,0x71d7,0x71d9,0x71da,0x71dc,0x71dc,0x71df,0x71e0,0x71e5,0x71e7,0x71ec,0x71ee,0x71f4,0x71f5,0x71f8,0x71f9,0x71fb,0x71fc,0x71fe,0x7200,0x7206,0x7209,0x720d,0x720d,0x7210,0x7210,0x7213,0x7213,0x7215,0x7215,0x7217,0x7217,0x721a,0x721b,0x721d,0x721d,0x721f,0x721f,0x7224,0x7224,0x7228,0x7228,0x722a,0x722d,0x722f,0x7230,0x7232,0x7232,0x7234,0x7236,0x7238,0x7243,0x7245,0x7248,0x724b,0x724c,0x724e,0x7250,0x7252,0x7253,0x7255,0x7263,0x7267,0x7269,0x726b,0x726b,0x726e,0x726f,0x7271,0x7272,0x7274,0x7274,0x7277,0x7279,0x727b,0x7282,0x7284,0x7284,0x7287,0x7287,0x7289,0x7289,0x728d,0x728e,0x7292,0x7293,0x7296,0x7296,0x729b,0x729b,0x72a0,0x72a0,0x72a2,0x72a2,0x72a7,0x72a8,0x72ac,0x72b2,0x72b4,0x72b4,0x72b6,0x72b6,0x72b9,0x72b9,0x72be,0x72be,0x72c0,0x72c4,0x72c6,0x72c7,0x72c9,0x72c9,0x72cc,0x72cc,0x72ce,0x72ce,0x72d0,0x72d0,0x72d2,0x72d2,0x72d5,0x72d9,0x72db,0x72db,0x72df,0x72e2,0x72e5,0x72e5,0x72e9,0x72e9,0x72ec,0x72ed,0x72f3,0x72f4,0x72f7,0x72fe,0x7302,0x7302,0x7304,0x7305,0x7307,0x7307,0x730a,0x730b,0x730d,0x730d,0x7312,0x7313,0x7316,0x7319,0x731b,0x731f,0x7322,0x7322,0x7324,0x7325,0x7327,0x732c,0x732e,0x732f,0x7331,0x7337,0x7339,0x733b,0x733d,0x733f,0x7343,0x7345,0x734d,0x7350,0x7352,0x7352,0x7356,0x7358,0x735d,0x7360,0x7363,0x7363,0x7366,0x736c,0x736e,0x7372,0x7375,0x7375,0x7377,0x737c,0x7380,0x7381,0x7383,0x7387,0x7389,0x738b,0x738e,0x738e,0x7390,0x7390,0x7393,0x7398,0x739c,0x739c,0x739e,0x73a0,0x73a2,0x73a2,0x73a5,0x73a6,0x73a8,0x73ab,0x73ad,0x73ad,0x73b2,0x73b3,0x73b5,0x73b5,0x73b7,0x73b7,0x73b9,0x73bd,0x73bf,0x73c0,0x73c2,0x73c2,0x73c5,0x73c6,0x73c8,0x73cf,0x73d2,0x73d3,0x73d6,0x73d6,0x73d9,0x73d9,0x73dd,0x73de,0x73e0,0x73e1,0x73e3,0x73e7,0x73e9,0x73ea,0x73ed,0x73ee,0x73f1,0x73f1,0x73f4,0x73f5,0x73f7,0x73fb,0x73fd,0x7401,0x7403,0x7407,0x7409,0x740a,0x7411,0x7411,0x7413,0x7413,0x741a,0x741b,0x7421,0x7422,0x7424,0x7426,0x7428,0x7436,0x7439,0x743a,0x743f,0x7441,0x7443,0x7444,0x7446,0x7447,0x744b,0x744b,0x744d,0x744d,0x7451,0x7453,0x7455,0x7455,0x7457,0x7457,0x7459,0x7460,0x7462,0x7464,0x7466,0x746b,0x746d,0x7473,0x7476,0x7476,0x747e,0x747e,0x7480,0x7481,0x7483,0x7483,0x7485,0x7489,0x748b,0x748b,0x748f,0x7492,0x7497,0x749a,0x749c,0x749c,0x749e,0x74a3,0x74a5,0x74ab,0x74ae,0x74b2,0x74b5,0x74b5,0x74b9,0x74bb,0x74bd,0x74bd,0x74bf,0x74bf,0x74c8,0x74ca,0x74cc,0x74cc,0x74cf,0x74d0,0x74d3,0x74d4,0x74d6,0x74d6,0x74d8,0x74d8,0x74da,0x74dc,0x74de,0x74e0,0x74e2,0x74e4,0x74e6,0x74eb,0x74ee,0x74f2,0x74f4,0x74f4,0x74f6,0x74f8,0x74fa,0x74fc,0x74ff,0x74ff,0x7501,0x7501,0x7503,0x7506,0x750c,0x750e,0x7511,0x7513,0x7515,0x7518,0x751a,0x751a,0x751c,0x751c,0x751e,0x752c,0x752f,0x7533,0x7536,0x7540,0x7543,0x7544,0x7546,0x7552,0x7554,0x7554,0x7557,0x7557,0x7559,0x7562,0x7564,0x7567,0x7569,0x756d,0x756f,0x757f,0x7581,0x7582,0x7585,0x7587,0x7589,0x758c,0x758e,0x7595,0x7599,0x759a,0x759c,0x759d,0x75a2,0x75a5,0x75ab,0x75ab,0x75b0,0x75b5,0x75b7,0x75ba,0x75bc,0x75c7,0x75ca,0x75ca,0x75cc,0x75cf,0x75d2,0x75d5,0x75d7,0x75d9,0x75db,0x75e4,0x75e7,0x75e7,0x75e9,0x75e9,0x75ec,0x75ec,0x75ee,0x75f4,0x75f9,0x75fa,0x75fc,0x75fc,0x75fe,0x7604,0x7607,0x760d,0x760f,0x760f,0x7612,0x7613,0x7615,0x7616,0x7618,0x7619,0x761b,0x7629,0x762d,0x762d,0x7630,0x7630,0x7632,0x7635,0x7638,0x763c,0x7640,0x764c,0x764e,0x764e,0x7652,0x7652,0x7655,0x7656,0x7658,0x7659,0x765c,0x765c,0x765f,0x765f,0x7661,0x7662,0x7664,0x7665,0x7667,0x766a,0x766c,0x7672,0x7674,0x7674,0x7676,0x7676,0x7678,0x7678,0x767a,0x767e,0x7680,0x7688,0x768b,0x768e,0x7690,0x7690,0x7693,0x7693,0x7695,0x7696,0x7699,0x76a8,0x76aa,0x76aa,0x76ad,0x76b0,0x76b4,0x76b4,0x76b6,0x76ba,0x76bd,0x76bd,0x76bf,0x76bf,0x76c1,0x76c3,0x76c5,0x76c6,0x76c8,0x76ce,0x76d2,0x76d2,0x76d4,0x76d4,0x76d6,0x76d7,0x76d9,0x76d9,0x76db,0x76dc,0x76de,0x76e1,0x76e3,0x76e8,0x76ea,0x76ec,0x76ee,0x76ee,0x76f0,0x76f2,0x76f4,0x76f4,0x76f6,0x76f6,0x76f8,0x76f9,0x76fb,0x76fc,0x76fe,0x76fe,0x7700,0x7701,0x7704,0x7704,0x7706,0x770c,0x770e,0x770e,0x7712,0x7712,0x7714,0x7715,0x7717,0x7717,0x7719,0x771c,0x771e,0x7720,0x7722,0x7722,0x7724,0x7726,0x7728,0x7729,0x772d,0x772f,0x7734,0x773a,0x773c,0x773e,0x7740,0x7740,0x7742,0x7742,0x7745,0x7747,0x774a,0x774a,0x774d,0x774f,0x7752,0x7752,0x7756,0x7758,0x775a,0x775c,0x775e,0x7768,0x776a,0x776c,0x7770,0x7770,0x7772,0x7774,0x7779,0x777a,0x777c,0x7780,0x7784,0x7784,0x778b,0x778e,0x7791,0x7791,0x7794,0x7796,0x779a,0x779a,0x779e,0x77a0,0x77a2,0x77a2,0x77a4,0x77a5,0x77a7,0x77a7,0x77a9,0x77aa,0x77ac,0x77b1,0x77b3,0x77b3,0x77b5,0x77b7,0x77b9,0x77b9,0x77bb,0x77bf,0x77c3,0x77c3,0x77c7,0x77c7,0x77c9,0x77c9,0x77cd,0x77cd,0x77d1,0x77d2,0x77d5,0x77d5,0x77d7,0x77d7,0x77d9,0x77dc,0x77de,0x77e0,0x77e2,0x77e7,0x77e9,0x77ea,0x77ec,0x77f1,0x77f3,0x77f4,0x77f8,0x77f8,0x77fb,0x77fc,0x7802,0x7802,0x7805,0x7806,0x7809,0x7809,0x780c,0x780e,0x7811,0x7812,0x7814,0x7815,0x7819,0x7819,0x781d,0x781d,0x7820,0x7823,0x7825,0x7827,0x782c,0x782e,0x7830,0x7830,0x7832,0x7832,0x7834,0x7835,0x7837,0x7837,0x783a,0x783a,0x783f,0x783f,0x7843,0x7845,0x7847,0x7848,0x784c,0x784c,0x784e,0x784f,0x7851,0x7852,0x785c,0x785e,0x7860,0x7861,0x7863,0x7864,0x7868,0x7868,0x786a,0x786c,0x786e,0x786f,0x7872,0x7872,0x7874,0x7874,0x787a,0x787a,0x787c,0x787c,0x787e,0x787e,0x7881,0x7881,0x7886,0x7887,0x788a,0x788a,0x788c,0x788f,0x7891,0x7891,0x7893,0x7895,0x7897,0x7898,0x789a,0x789a,0x789d,0x789f,0x78a1,0x78a1,0x78a3,0x78a4,0x78a7,0x78aa,0x78ac,0x78ad,0x78af,0x78b3,0x78b5,0x78b5,0x78ba,0x78bf,0x78c1,0x78c1,0x78c5,0x78cc,0x78ce,0x78ce,0x78d0,0x78d6,0x78da,0x78db,0x78df,0x78e1,0x78e4,0x78e4,0x78e6,0x78e8,0x78ea,0x78ea,0x78ec,0x78ec,0x78ef,0x78ef,0x78f2,0x78f4,0x78f6,0x78f7,0x78f9,0x78fb,0x78fd,0x7901,0x7906,0x7907,0x790c,0x790c,0x790e,0x790e,0x7910,0x7912,0x7919,0x791c,0x791e,0x7920,0x7925,0x792e,0x7930,0x7931,0x7934,0x7935,0x793a,0x7942,0x7944,0x794b,0x794f,0x7951,0x7953,0x7958,0x795a,0x7960,0x7962,0x7962,0x7965,0x7965,0x7967,0x7969,0x796b,0x796b,0x796d,0x796d,0x7972,0x7972,0x7977,0x7977,0x7979,0x797c,0x797e,0x7981,0x7984,0x7985,0x798a,0x798f,0x7991,0x7991,0x7993,0x7996,0x7998,0x7998,0x799b,0x799d,0x79a1,0x79a1,0x79a6,0x79ab,0x79ae,0x79b1,0x79b3,0x79b4,0x79b8,0x79bb,0x79bd,0x79c2,0x79c4,0x79c4,0x79c7,0x79cd,0x79cf,0x79cf,0x79d1,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79da,0x79da,0x79dd,0x79e7,0x79e9,0x79ed,0x79f0,0x79f1,0x79f8,0x79f8,0x79fb,0x79fc,0x7a00,0x7a00,0x7a02,0x7a03,0x7a05,0x7a05,0x7a07,0x7a0e,0x7a11,0x7a11,0x7a14,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a21,0x7a27,0x7a27,0x7a2b,0x7a2b,0x7a2d,0x7a32,0x7a34,0x7a35,0x7a37,0x7a40,0x7a42,0x7a49,0x7a4c,0x7a50,0x7a55,0x7a57,0x7a59,0x7a59,0x7a5c,0x7a5d,0x7a5f,0x7a63,0x7a65,0x7a65,0x7a67,0x7a67,0x7a69,0x7a6b,0x7a6d,0x7a6d,0x7a70,0x7a70,0x7a74,0x7a76,0x7a78,0x7a7a,0x7a7d,0x7a86,0x7a88,0x7a88,0x7a8a,0x7a8b,0x7a90,0x7a98,0x7a9e,0x7aa0,0x7aa3,0x7aa3,0x7aa9,0x7aaa,0x7aac,0x7aac,0x7aae,0x7ab0,0x7ab3,0x7ab3,0x7ab5,0x7ab6,0x7ab9,0x7abf,0x7ac3,0x7acf,0x7ad1,0x7ad3,0x7ad5,0x7ad5,0x7ad9,0x7add,0x7adf,0x7ae3,0x7ae5,0x7aed,0x7aef,0x7af1,0x7af4,0x7af4,0x7af6,0x7af6,0x7af8,0x7afb,0x7afd,0x7aff,0x7b02,0x7b02,0x7b04,0x7b04,0x7b06,0x7b08,0x7b0a,0x7b0b,0x7b0f,0x7b0f,0x7b11,0x7b12,0x7b14,0x7b14,0x7b18,0x7b19,0x7b1b,0x7b1b,0x7b1e,0x7b20,0x7b23,0x7b23,0x7b25,0x7b31,0x7b33,0x7b36,0x7b39,0x7b39,0x7b3b,0x7b3b,0x7b3d,0x7b3d,0x7b3f,0x7b41,0x7b45,0x7b49,0x7b4b,0x7b56,0x7b5d,0x7b5d,0x7b60,0x7b60,0x7b64,0x7b67,0x7b69,0x7b6a,0x7b6c,0x7b75,0x7b77,0x7b77,0x7b79,0x7b7a,0x7b7f,0x7b7f,0x7b84,0x7b84,0x7b86,0x7b87,0x7b89,0x7b89,0x7b8b,0x7b8b,0x7b8d,0x7b92,0x7b94,0x7ba1,0x7ba5,0x7ba5,0x7baa,0x7baa,0x7bac,0x7bad,0x7baf,0x7bb2,0x7bb4,0x7bb6,0x7bb8,0x7bb8,0x7bba,0x7bbd,0x7bc0,0x7bc2,0x7bc4,0x7bcc,0x7bcf,0x7bcf,0x7bd4,0x7bd4,0x7bd6,0x7bd7,0x7bd9,0x7bdb,0x7bdd,0x7bdd,0x7be0,0x7be0,0x7be4,0x7be6,0x7be8,0x7bea,0x7bed,0x7bed,0x7bf0,0x7bf0,0x7bf2,0x7bfa,0x7bfc,0x7bfc,0x7bfe,0x7bfe,0x7c00,0x7c04,0x7c06,0x7c07,0x7c09,0x7c09,0x7c0b,0x7c0f,0x7c11,0x7c14,0x7c17,0x7c17,0x7c19,0x7c19,0x7c1b,0x7c1b,0x7c1e,0x7c21,0x7c23,0x7c23,0x7c25,0x7c28,0x7c2a,0x7c2c,0x7c2f,0x7c2f,0x7c31,0x7c31,0x7c33,0x7c34,0x7c36,0x7c3a,0x7c3d,0x7c40,0x7c42,0x7c43,0x7c45,0x7c46,0x7c4a,0x7c4a,0x7c4c,0x7c4d,0x7c4f,0x7c61,0x7c63,0x7c65,0x7c67,0x7c67,0x7c69,0x7c69,0x7c6c,0x7c70,0x7c72,0x7c73,0x7c75,0x7c75,0x7c79,0x7c79,0x7c7b,0x7c7e,0x7c81,0x7c83,0x7c86,0x7c87,0x7c89,0x7c89,0x7c8b,0x7c8b,0x7c8d,0x7c8d,0x7c8f,0x7c90,0x7c92,0x7c92,0x7c94,0x7c95,0x7c97,0x7c98,0x7c9b,0x7c9b,0x7c9e,0x7ca2,0x7ca4,0x7ca8,0x7cab,0x7cab,0x7cad,0x7cae,0x7cb0,0x7cb3,0x7cb6,0x7cb7,0x7cb9,0x7cc0,0x7cc2,0x7cc2,0x7cc4,0x7cc5,0x7cc7,0x7cca,0x7ccd,0x7ccf,0x7cd2,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce7,0x7ce9,0x7ce9,0x7ceb,0x7ceb,0x7cef,0x7cef,0x7cf2,0x7cf2,0x7cf4,0x7cf6,0x7cf8,0x7cfb,0x7cfe,0x7cfe,0x7d00,0x7d00,0x7d02,0x7d0b,0x7d0d,0x7d0d,0x7d0f,0x7d1e,0x7d20,0x7d23,0x7d26,0x7d26,0x7d2a,0x7d33,0x7d35,0x7d35,0x7d39,0x7d3a,0x7d3c,0x7d48,0x7d4b,0x7d51,0x7d53,0x7d53,0x7d55,0x7d57,0x7d59,0x7d5e,0x7d61,0x7d63,0x7d65,0x7d68,0x7d6a,0x7d6a,0x7d6e,0x7d6e,0x7d70,0x7d73,0x7d75,0x7d76,0x7d78,0x7d7b,0x7d7d,0x7d7d,0x7d7f,0x7d7f,0x7d81,0x7d83,0x7d85,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8d,0x7d8f,0x7d8f,0x7d91,0x7d91,0x7d93,0x7d93,0x7d96,0x7d97,0x7d99,0x7da0,0x7da2,0x7da3,0x7da6,0x7da7,0x7daa,0x7dbb,0x7dbd,0x7dc0,0x7dc2,0x7dc7,0x7dca,0x7dd2,0x7dd5,0x7dda,0x7ddc,0x7dde,0x7de0,0x7de6,0x7de8,0x7ded,0x7def,0x7def,0x7df1,0x7df2,0x7df4,0x7df6,0x7df9,0x7dfb,0x7e00,0x7e01,0x7e04,0x7e05,0x7e08,0x7e0b,0x7e10,0x7e12,0x7e15,0x7e15,0x7e17,0x7e17,0x7e1b,0x7e23,0x7e26,0x7e28,0x7e2b,0x7e2f,0x7e31,0x7e33,0x7e35,0x7e37,0x7e39,0x7e3b,0x7e3d,0x7e3f,0x7e41,0x7e41,0x7e43,0x7e48,0x7e4a,0x7e4b,0x7e4d,0x7e4e,0x7e50,0x7e50,0x7e52,0x7e52,0x7e54,0x7e56,0x7e58,0x7e5a,0x7e5d,0x7e5f,0x7e61,0x7e62,0x7e65,0x7e67,0x7e69,0x7e6b,0x7e6d,0x7e70,0x7e73,0x7e73,0x7e75,0x7e75,0x7e78,0x7e79,0x7e7b,0x7e7f,0x7e81,0x7e83,0x7e86,0x7e8a,0x7e8c,0x7e96,0x7e98,0x7e98,0x7e9a,0x7e9f,0x7f36,0x7f36,0x7f38,0x7f38,0x7f3a,0x7f3f,0x7f43,0x7f45,0x7f47,0x7f47,0x7f4c,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f5d,0x7f5f,0x7f61,0x7f63,0x7f6b,0x7f6d,0x7f6e,0x7f70,0x7f72,0x7f75,0x7f75,0x7f77,0x7f79,0x7f7d,0x7f80,0x7f82,0x7f83,0x7f85,0x7f88,0x7f8a,0x7f91,0x7f94,0x7f94,0x7f96,0x7f97,0x7f9a,0x7f9a,0x7f9c,0x7f9e,0x7fa1,0x7fa4,0x7fa6,0x7fa6,0x7fa8,0x7faa,0x7fad,0x7faf,0x7fb2,0x7fb2,0x7fb4,0x7fb4,0x7fb6,0x7fb6,0x7fb8,0x7fb9,0x7fbc,0x7fbd,0x7fbf,0x7fc1,0x7fc3,0x7fc3,0x7fc5,0x7fc6,0x7fc8,0x7fc8,0x7fca,0x7fca,0x7fcc,0x7fcc,0x7fce,0x7fcf,0x7fd2,0x7fd2,0x7fd4,0x7fd5,0x7fdb,0x7fdb,0x7fdf,0x7fe1,0x7fe3,0x7fe3,0x7fe5,0x7fe6,0x7fe8,0x7fe9,0x7feb,0x7fec,0x7fee,0x7ff0,0x7ff2,0x7ff3,0x7ff9,0x8008,0x800a,0x8019,0x801c,0x8021,0x8024,0x8024,0x8026,0x8026,0x8028,0x8028,0x802c,0x802c,0x802e,0x802e,0x8030,0x8030,0x8033,0x8037,0x8039,0x8040,0x8043,0x8044,0x8046,0x8046,0x804a,0x804a,0x8052,0x8052,0x8056,0x8056,0x8058,0x8058,0x805a,0x805a,0x805e,0x8062,0x8064,0x8064,0x8066,0x8066,0x8068,0x8068,0x806d,0x806d,0x806f,0x8077,0x8079,0x8079,0x807b,0x807b,0x807d,0x8081,0x8084,0x8089,0x808b,0x808c,0x808e,0x808e,0x8093,0x8093,0x8096,0x8096,0x8098,0x809e,0x80a1,0x80a2,0x80a4,0x80a7,0x80a9,0x80ad,0x80af,0x80af,0x80b1,0x80b2,0x80b4,0x80b4,0x80b8,0x80ba,0x80c3,0x80c6,0x80c8,0x80c8,0x80ca,0x80ca,0x80cc,0x80cf,0x80d2,0x80d2,0x80d4,0x80db,0x80dd,0x80de,0x80e0,0x80e1,0x80e4,0x80e6,0x80ed,0x80fe,0x8101,0x8103,0x8105,0x810b,0x810d,0x810d,0x8116,0x8118,0x811a,0x811c,0x811e,0x811e,0x8120,0x8120,0x8123,0x8124,0x8127,0x8127,0x8129,0x8129,0x812b,0x812c,0x812f,0x8131,0x8133,0x8133,0x8135,0x8135,0x8139,0x813a,0x813c,0x813e,0x8141,0x8141,0x8145,0x8147,0x814a,0x814c,0x814e,0x814e,0x8150,0x8155,0x8157,0x8157,0x815f,0x8161,0x8165,0x8169,0x816b,0x816b,0x816d,0x8171,0x8173,0x8174,0x8177,0x817a,0x817f,0x8186,0x8188,0x8188,0x818a,0x818b,0x818e,0x8190,0x8193,0x8193,0x8195,0x8196,0x8198,0x8198,0x819a,0x819e,0x81a0,0x81a0,0x81a2,0x81a4,0x81a8,0x81a9,0x81ae,0x81ae,0x81b0,0x81b0,0x81b2,0x81b5,0x81b8,0x81b8,0x81ba,0x81bb,0x81bd,0x81c3,0x81c5,0x81c6,0x81c8,0x81cb,0x81cd,0x81cf,0x81d1,0x81d1,0x81d3,0x81d3,0x81d5,0x81db,0x81dd,0x81e1,0x81e3,0x81e5,0x81e7,0x81e8,0x81ea,0x81ed,0x81ef,0x81f6,0x81f8,0x8205,0x8207,0x8210,0x8212,0x8214,0x8216,0x821f,0x8221,0x8222,0x8228,0x822c,0x822e,0x822e,0x8232,0x823a,0x823c,0x823c,0x8240,0x8240,0x8243,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x824f,0x8251,0x8251,0x8256,0x825a,0x825c,0x825d,0x825f,0x8260,0x8262,0x8264,0x8266,0x8268,0x826a,0x826b,0x826d,0x826f,0x8271,0x8272,0x8274,0x8274,0x8276,0x8279,0x827b,0x827b,0x827d,0x8281,0x8283,0x8284,0x8287,0x8287,0x8289,0x828b,0x828d,0x828e,0x8291,0x8294,0x8296,0x8296,0x8298,0x829b,0x829d,0x829d,0x829f,0x82a1,0x82a3,0x82b4,0x82b7,0x82bf,0x82c5,0x82c6,0x82d0,0x82d5,0x82d7,0x82d7,0x82d9,0x82dc,0x82de,0x82e8,0x82ea,0x82eb,0x82ed,0x82ed,0x82ef,0x82ef,0x82f1,0x82f1,0x82f3,0x82f4,0x82f6,0x82f7,0x82f9,0x82fb,0x82fd,0x82fe,0x8300,0x830c,0x830e,0x830e,0x8316,0x8318,0x831b,0x831f,0x8321,0x8323,0x8328,0x8328,0x832b,0x833a,0x833c,0x833d,0x8340,0x8340,0x8342,0x8347,0x8349,0x834a,0x834d,0x8358,0x835a,0x835a,0x8362,0x8363,0x8370,0x8370,0x8373,0x8373,0x8375,0x8375,0x8377,0x8378,0x837b,0x837d,0x837f,0x8380,0x8382,0x8382,0x8384,0x8387,0x8389,0x838a,0x838d,0x838e,0x8392,0x8396,0x8398,0x83a0,0x83a2,0x83a2,0x83a6,0x83ad,0x83b1,0x83b1,0x83b5,0x83b5,0x83bd,0x83c1,0x83c5,0x83c5,0x83c7,0x83c7,0x83c9,0x83ca,0x83cc,0x83cc,0x83ce,0x83d1,0x83d3,0x83d4,0x83d6,0x83d6,0x83d8,0x83d8,0x83dc,0x83dd,0x83df,0x83e1,0x83e5,0x83e5,0x83e8,0x83eb,0x83ef,0x83f2,0x83f4,0x83f4,0x83f6,0x83f9,0x83fb,0x83fd,0x8401,0x8401,0x8403,0x8404,0x8406,0x8407,0x840a,0x840f,0x8411,0x8411,0x8413,0x8413,0x8415,0x8415,0x8417,0x8417,0x8419,0x8419,0x8420,0x8420,0x8422,0x8422,0x8429,0x842a,0x842c,0x842c,0x842f,0x842f,0x8431,0x8431,0x8435,0x8435,0x8438,0x8439,0x843c,0x843d,0x8445,0x844a,0x844d,0x844f,0x8451,0x8452,0x8456,0x845c,0x845f,0x8467,0x8469,0x8471,0x8473,0x847a,0x847c,0x847d,0x8481,0x8482,0x8484,0x8485,0x848b,0x848b,0x8490,0x8490,0x8492,0x8495,0x8497,0x8497,0x8499,0x8499,0x849c,0x849c,0x849e,0x849f,0x84a1,0x84a1,0x84a6,0x84a6,0x84a8,0x84aa,0x84ad,0x84ad,0x84af,0x84af,0x84b1,0x84b2,0x84b4,0x84b4,0x84b8,0x84c2,0x84c4,0x84c4,0x84c6,0x84d1,0x84d3,0x84d3,0x84d6,0x84d6,0x84d9,0x84da,0x84dc,0x84dc,0x84e7,0x84e7,0x84ea,0x84ea,0x84ec,0x84ec,0x84ee,0x84f2,0x84f4,0x84f4,0x84f7,0x84f7,0x84fa,0x84fd,0x84ff,0x8500,0x8502,0x8503,0x8506,0x8507,0x850c,0x850c,0x850e,0x850e,0x8510,0x8511,0x8513,0x8515,0x8517,0x8518,0x851a,0x851c,0x851e,0x851f,0x8521,0x8527,0x852a,0x852d,0x852f,0x852f,0x8532,0x8536,0x853d,0x8541,0x8543,0x8543,0x8546,0x8546,0x8548,0x854b,0x854e,0x8553,0x8555,0x855a,0x855c,0x8564,0x8568,0x856b,0x856d,0x856d,0x856f,0x856f,0x8577,0x8577,0x8579,0x857b,0x857d,0x8581,0x8584,0x858c,0x858f,0x8591,0x8593,0x8594,0x8597,0x8599,0x859b,0x859d,0x859f,0x85a0,0x85a2,0x85a2,0x85a4,0x85b0,0x85b4,0x85b4,0x85b6,0x85ba,0x85bc,0x85bf,0x85c1,0x85c2,0x85c7,0x85c7,0x85c9,0x85cb,0x85cd,0x85d0,0x85d5,0x85d5,0x85d8,0x85da,0x85dc,0x85dd,0x85df,0x85e1,0x85e4,0x85e6,0x85e8,0x85ea,0x85ed,0x85ed,0x85f3,0x85f4,0x85f6,0x85f7,0x85f9,0x85fc,0x85fe,0x8600,0x8602,0x8602,0x8604,0x8607,0x860a,0x860b,0x860d,0x860e,0x8610,0x8613,0x8616,0x861b,0x861e,0x861e,0x8621,0x8622,0x8624,0x8624,0x8627,0x8627,0x8629,0x8629,0x862d,0x862d,0x862f,0x8630,0x8636,0x8636,0x8638,0x863a,0x863c,0x863d,0x863f,0x8642,0x8646,0x8646,0x864d,0x864e,0x8650,0x8650,0x8652,0x8664,0x8667,0x8667,0x8669,0x8669,0x866b,0x866c,0x866f,0x866f,0x8671,0x8671,0x8675,0x8677,0x8679,0x867b,0x867d,0x867d,0x8687,0x868d,0x8691,0x8691,0x8693,0x8693,0x8695,0x8696,0x8698,0x8698,0x869a,0x869a,0x869c,0x869d,0x86a1,0x86a1,0x86a3,0x86a4,0x86a6,0x86ab,0x86ad,0x86ad,0x86af,0x86b1,0x86b3,0x86b9,0x86bf,0x86c1,0x86c3,0x86c7,0x86c9,0x86c9,0x86cb,0x86cb,0x86cd,0x86ce,0x86d1,0x86d2,0x86d4,0x86d5,0x86d7,0x86d7,0x86d9,0x86dc,0x86de,0x86e0,0x86e3,0x86e7,0x86e9,0x86e9,0x86ec,0x86ef,0x86f8,0x86fe,0x8700,0x8700,0x8702,0x870b,0x870d,0x8714,0x8718,0x871a,0x871c,0x871c,0x871e,0x871f,0x8721,0x8723,0x8725,0x8725,0x8728,0x8729,0x872e,0x872f,0x8731,0x8732,0x8734,0x8734,0x8737,0x8737,0x8739,0x8740,0x8743,0x8743,0x8745,0x8745,0x8749,0x8749,0x874b,0x874e,0x8751,0x8751,0x8753,0x8753,0x8755,0x8755,0x8757,0x8759,0x875d,0x875d,0x875f,0x8761,0x8763,0x8766,0x8768,0x8768,0x876a,0x876a,0x876e,0x876f,0x8771,0x8772,0x8774,0x8774,0x8776,0x8776,0x8778,0x8778,0x877b,0x877c,0x877f,0x877f,0x8782,0x8789,0x878b,0x878e,0x8790,0x8790,0x8793,0x8793,0x8795,0x8795,0x8797,0x8799,0x879e,0x87a0,0x87a2,0x87a3,0x87a7,0x87a7,0x87ab,0x87af,0x87b1,0x87b1,0x87b3,0x87b3,0x87b5,0x87b5,0x87ba,0x87bb,0x87bd,0x87c1,0x87c4,0x87c4,0x87c6,0x87cb,0x87ce,0x87ce,0x87d0,0x87d0,0x87d2,0x87d2,0x87d5,0x87d6,0x87d9,0x87da,0x87dc,0x87dc,0x87df,0x87e0,0x87e2,0x87e6,0x87ea,0x87ed,0x87ef,0x87ef,0x87f1,0x87f3,0x87f5,0x87fb,0x87fe,0x87ff,0x8801,0x8801,0x8803,0x8803,0x8805,0x8807,0x8809,0x880b,0x880d,0x8816,0x8818,0x881c,0x881e,0x881f,0x8821,0x8823,0x8827,0x8828,0x882d,0x882e,0x8830,0x8832,0x8835,0x8836,0x8839,0x883c,0x8840,0x8846,0x8848,0x884e,0x8851,0x8853,0x8855,0x8864,0x8868,0x8869,0x886b,0x886b,0x886e,0x8872,0x8875,0x8875,0x8877,0x8877,0x8879,0x8879,0x887b,0x887b,0x887d,0x8882,0x8888,0x8888,0x888b,0x888b,0x888d,0x888d,0x8892,0x8892,0x8896,0x889c,0x889e,0x88a0,0x88a2,0x88a2,0x88a4,0x88a4,0x88a8,0x88a8,0x88aa,0x88ab,0x88ae,0x88ae,0x88b0,0x88b1,0x88b4,0x88b5,0x88b7,0x88b7,0x88ba,0x88ba,0x88bc,0x88c6,0x88ca,0x88cf,0x88d1,0x88d5,0x88d8,0x88d9,0x88db,0x88e1,0x88e7,0x88e8,0x88ef,0x88f5,0x88f7,0x88f9,0x88fc,0x88fe,0x8901,0x8902,0x8904,0x8904,0x8906,0x8907,0x890a,0x890a,0x890c,0x8910,0x8912,0x8913,0x8915,0x8916,0x8918,0x891a,0x891c,0x891e,0x8920,0x8920,0x8925,0x8928,0x892a,0x892b,0x8930,0x8932,0x8935,0x893b,0x893e,0x893e,0x8940,0x8946,0x8949,0x8949,0x894c,0x894d,0x894f,0x894f,0x8952,0x8952,0x8956,0x8957,0x895a,0x895c,0x895e,0x8964,0x8966,0x8966,0x896a,0x896b,0x896d,0x8970,0x8972,0x8975,0x8977,0x8977,0x897a,0x8981,0x8983,0x8983,0x8986,0x898b,0x898d,0x898d,0x898f,0x8990,0x8993,0x8998,0x899a,0x899c,0x899f,0x89a1,0x89a5,0x89a7,0x89a9,0x89aa,0x89ac,0x89ac,0x89af,0x89b0,0x89b2,0x89b7,0x89ba,0x89ba,0x89bc,0x89bd,0x89bf,0x89c1,0x89d2,0x89d2,0x89d4,0x89d8,0x89da,0x89da,0x89dc,0x89dd,0x89e3,0x89e3,0x89e5,0x89e7,0x89e9,0x89e9,0x89eb,0x89eb,0x89ed,0x89ed,0x89f1,0x89f1,0x89f3,0x89f4,0x89f6,0x89f6,0x89f8,0x89f9,0x89fd,0x89fd,0x89ff,0x8a05,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a18,0x8a1b,0x8a1b,0x8a1d,0x8a26,0x8a2a,0x8a2d,0x8a2f,0x8a2f,0x8a31,0x8a31,0x8a33,0x8a37,0x8a3a,0x8a3e,0x8a40,0x8a41,0x8a43,0x8a43,0x8a45,0x8a49,0x8a4d,0x8a4e,0x8a50,0x8a58,0x8a5b,0x8a5e,0x8a60,0x8a63,0x8a65,0x8a67,0x8a69,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a73,0x8a75,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a80,0x8a82,0x8a87,0x8a89,0x8a89,0x8a8b,0x8a8d,0x8a8f,0x8a93,0x8a95,0x8a9a,0x8a9e,0x8aa1,0x8aa3,0x8aaa,0x8aac,0x8ab0,0x8ab2,0x8ab3,0x8ab6,0x8ab7,0x8ab9,0x8ab9,0x8abb,0x8abc,0x8abe,0x8abf,0x8ac2,0x8ac4,0x8ac6,0x8acd,0x8acf,0x8ad7,0x8ada,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae7,0x8aeb,0x8aee,0x8af0,0x8af1,0x8af3,0x8af8,0x8afa,0x8afa,0x8afc,0x8afc,0x8afe,0x8b02,0x8b04,0x8b07,0x8b0a,0x8b11,0x8b14,0x8b14,0x8b16,0x8b17,0x8b19,0x8b21,0x8b26,0x8b26,0x8b28,0x8b28,0x8b2b,0x8b2d,0x8b30,0x8b30,0x8b33,0x8b33,0x8b37,0x8b37,0x8b39,0x8b39,0x8b3c,0x8b3c,0x8b3e,0x8b3e,0x8b41,0x8b46,0x8b48,0x8b49,0x8b4c,0x8b4f,0x8b51,0x8b54,0x8b56,0x8b56,0x8b58,0x8b5c,0x8b5e,0x8b5f,0x8b63,0x8b63,0x8b66,0x8b66,0x8b69,0x8b69,0x8b6b,0x8b6d,0x8b6f,0x8b72,0x8b74,0x8b74,0x8b76,0x8b79,0x8b7c,0x8b81,0x8b83,0x8b85,0x8b8a,0x8b90,0x8b92,0x8b96,0x8b99,0x8b9a,0x8b9c,0x8ba0,0x8c37,0x8c3a,0x8c3d,0x8c3f,0x8c41,0x8c41,0x8c45,0x8c4c,0x8c4e,0x8c51,0x8c53,0x8c55,0x8c57,0x8c5b,0x8c5d,0x8c5d,0x8c61,0x8c64,0x8c66,0x8c66,0x8c68,0x8c6d,0x8c73,0x8c73,0x8c75,0x8c76,0x8c78,0x8c7c,0x8c7e,0x8c7e,0x8c82,0x8c82,0x8c85,0x8c87,0x8c89,0x8c8e,0x8c90,0x8c90,0x8c92,0x8c94,0x8c98,0x8c99,0x8c9b,0x8ca2,0x8ca4,0x8ca4,0x8ca7,0x8cb0,0x8cb2,0x8cb4,0x8cb6,0x8cbd,0x8cbf,0x8ccb,0x8ccd,0x8ccf,0x8cd1,0x8cd3,0x8cd5,0x8cd6,0x8cd9,0x8cde,0x8ce0,0x8ce4,0x8ce6,0x8ce6,0x8ce8,0x8ce8,0x8cea,0x8cea,0x8cec,0x8ced,0x8cef,0x8cf2,0x8cf4,0x8cf5,0x8cf7,0x8cf8,0x8cfa,0x8cff,0x8d01,0x8d01,0x8d03,0x8d05,0x8d07,0x8d0b,0x8d0d,0x8d10,0x8d12,0x8d14,0x8d16,0x8d17,0x8d1b,0x8d1d,0x8d64,0x8d67,0x8d69,0x8d69,0x8d6b,0x8d6e,0x8d70,0x8d71,0x8d73,0x8d74,0x8d76,0x8d77,0x8d7f,0x8d7f,0x8d81,0x8d82,0x8d84,0x8d85,0x8d88,0x8d88,0x8d8a,0x8d8a,0x8d8d,0x8d8d,0x8d90,0x8d91,0x8d95,0x8d95,0x8d99,0x8d99,0x8d9e,0x8da0,0x8da3,0x8da3,0x8da6,0x8da6,0x8da8,0x8da8,0x8dab,0x8dac,0x8daf,0x8daf,0x8db2,0x8db3,0x8db5,0x8db5,0x8db7,0x8db7,0x8db9,0x8dbc,0x8dbe,0x8dbe,0x8dc0,0x8dc0,0x8dc2,0x8dc2,0x8dc5,0x8dc8,0x8dca,0x8dcc,0x8dce,0x8dcf,0x8dd1,0x8dd1,0x8dd4,0x8dd7,0x8dd9,0x8ddb,0x8ddd,0x8ddd,0x8ddf,0x8ddf,0x8de1,0x8de1,0x8de3,0x8de5,0x8de7,0x8de8,0x8dea,0x8dec,0x8def,0x8df5,0x8dfc,0x8dfd,0x8dff,0x8dff,0x8e01,0x8e01,0x8e04,0x8e06,0x8e08,0x8e0c,0x8e0f,0x8e11,0x8e14,0x8e14,0x8e16,0x8e16,0x8e1d,0x8e23,0x8e26,0x8e27,0x8e2a,0x8e2a,0x8e30,0x8e31,0x8e33,0x8e39,0x8e3d,0x8e3d,0x8e40,0x8e42,0x8e44,0x8e44,0x8e47,0x8e50,0x8e54,0x8e55,0x8e59,0x8e59,0x8e5b,0x8e64,0x8e69,0x8e69,0x8e6c,0x8e6d,0x8e6f,0x8e72,0x8e74,0x8e77,0x8e79,0x8e7c,0x8e81,0x8e85,0x8e87,0x8e87,0x8e89,0x8e8b,0x8e8d,0x8e8d,0x8e90,0x8e95,0x8e98,0x8e9b,0x8e9d,0x8e9e,0x8ea1,0x8ea2,0x8ea7,0x8ea7,0x8ea9,0x8eb1,0x8eb3,0x8eb3,0x8eb5,0x8eb6,0x8eba,0x8ebb,0x8ebe,0x8ebe,0x8ec0,0x8ec1,0x8ec3,0x8ec8,0x8eca,0x8ecd,0x8ecf,0x8ecf,0x8ed1,0x8ed2,0x8ed4,0x8ed4,0x8edb,0x8edc,0x8edf,0x8edf,0x8ee2,0x8ee3,0x8ee8,0x8ee8,0x8eeb,0x8eeb,0x8eed,0x8eee,0x8ef0,0x8ef1,0x8ef7,0x8efe,0x8f00,0x8f00,0x8f02,0x8f03,0x8f05,0x8f05,0x8f07,0x8f0a,0x8f0c,0x8f0c,0x8f0f,0x8f10,0x8f12,0x8f19,0x8f1b,0x8f21,0x8f23,0x8f23,0x8f25,0x8f2f,0x8f33,0x8f3b,0x8f3e,0x8f47,0x8f49,0x8f4a,0x8f4c,0x8f4f,0x8f51,0x8f55,0x8f57,0x8f58,0x8f5c,0x8f5f,0x8f61,0x8f66,0x8f9b,0x8fa8,0x8fad,0x8fb2,0x8fb4,0x8fb8,0x8fba,0x8fbc,0x8fbe,0x8fc2,0x8fc4,0x8fc6,0x8fc8,0x8fc8,0x8fca,0x8fcb,0x8fcd,0x8fce,0x8fd0,0x8fd5,0x8fda,0x8fda,0x8fe0,0x8fe0,0x8fe2,0x8fe6,0x8fe8,0x8feb,0x8fed,0x8ff1,0x8ff4,0x8ffb,0x8ffd,0x8ffe,0x9000,0x9006,0x9008,0x9008,0x900b,0x9011,0x9013,0x901b,0x901d,0x9023,0x9027,0x902a,0x902c,0x902f,0x9031,0x9039,0x903c,0x903c,0x903e,0x903f,0x9041,0x9045,0x9047,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9063,0x9065,0x9069,0x906c,0x9070,0x9072,0x9072,0x9074,0x907a,0x907c,0x907d,0x907f,0x9085,0x9087,0x908c,0x908e,0x9091,0x9095,0x9095,0x9097,0x9099,0x909b,0x909b,0x90a0,0x90a3,0x90a5,0x90a6,0x90a8,0x90a8,0x90aa,0x90aa,0x90af,0x90b6,0x90b8,0x90b8,0x90bd,0x90be,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90ca,0x90cc,0x90cc,0x90ce,0x90ce,0x90d2,0x90d2,0x90d5,0x90d5,0x90d7,0x90d9,0x90db,0x90df,0x90e1,0x90e2,0x90e4,0x90e5,0x90e8,0x90e8,0x90eb,0x90eb,0x90ed,0x90ed,0x90ef,0x90f0,0x90f2,0x90f2,0x90f4,0x90f7,0x90fd,0x9100,0x9102,0x9102,0x9104,0x9106,0x9108,0x9108,0x910d,0x910d,0x9110,0x9110,0x9112,0x9112,0x9114,0x911a,0x911c,0x911c,0x911e,0x911e,0x9120,0x9120,0x9122,0x9123,0x9125,0x9125,0x9127,0x9127,0x9129,0x9129,0x912d,0x9132,0x9134,0x9134,0x9136,0x9137,0x9139,0x913a,0x913c,0x913d,0x9143,0x9143,0x9146,0x914f,0x9152,0x9154,0x9156,0x915b,0x9161,0x9165,0x9167,0x9167,0x9169,0x916a,0x916c,0x916d,0x9172,0x9175,0x9177,0x917b,0x9181,0x9183,0x9185,0x9187,0x9189,0x918b,0x918d,0x918e,0x9190,0x9195,0x9197,0x9198,0x919c,0x919c,0x919e,0x919e,0x91a1,0x91a2,0x91a4,0x91a4,0x91a6,0x91a6,0x91a8,0x91a8,0x91aa,0x91b6,0x91b8,0x91b8,0x91ba,0x91bd,0x91bf,0x91c9,0x91cb,0x91d1,0x91d3,0x91d4,0x91d6,0x91df,0x91e1,0x91e1,0x91e3,0x91e7,0x91e9,0x91ea,0x91ec,0x91f1,0x91f5,0x91f7,0x91f9,0x91f9,0x91fb,0x91fd,0x91ff,0x9201,0x9204,0x9207,0x9209,0x920a,0x920c,0x920e,0x9210,0x9218,0x921c,0x921e,0x9223,0x9226,0x9228,0x9229,0x922c,0x922c,0x922e,0x9230,0x9233,0x923a,0x923c,0x923c,0x923e,0x9240,0x9242,0x924b,0x924d,0x9251,0x9256,0x925e,0x9260,0x9262,0x9264,0x9269,0x926e,0x9271,0x9275,0x9279,0x927b,0x9280,0x9283,0x9283,0x9285,0x9285,0x9288,0x928a,0x928d,0x928e,0x9291,0x9293,0x9295,0x929c,0x929f,0x92a0,0x92a4,0x92a5,0x92a7,0x92a8,0x92ab,0x92ab,0x92ad,0x92ad,0x92af,0x92af,0x92b2,0x92b3,0x92b6,0x92bd,0x92bf,0x92c3,0x92c5,0x92c8,0x92cb,0x92d0,0x92d2,0x92d3,0x92d5,0x92d5,0x92d7,0x92d9,0x92dc,0x92dd,0x92df,0x92e1,0x92e3,0x92e5,0x92e7,0x92ea,0x92ec,0x92ee,0x92f0,0x92f0,0x92f2,0x92f3,0x92f7,0x92fc,0x92ff,0x9300,0x9302,0x9302,0x9304,0x9304,0x9306,0x9306,0x9308,0x9308,0x930d,0x930d,0x930f,0x9311,0x9314,0x9315,0x9318,0x931a,0x931c,0x932c,0x932e,0x932f,0x9332,0x9337,0x933a,0x933b,0x9344,0x9344,0x9347,0x934b,0x934d,0x934d,0x9350,0x9352,0x9354,0x9358,0x935a,0x935c,0x935e,0x935e,0x9360,0x9360,0x9364,0x9365,0x9367,0x9367,0x9369,0x9371,0x9373,0x9376,0x937a,0x937a,0x937c,0x9382,0x9388,0x9388,0x938a,0x938d,0x938f,0x938f,0x9392,0x9392,0x9394,0x9398,0x939a,0x939b,0x939e,0x939e,0x93a1,0x93a1,0x93a3,0x93a4,0x93a6,0x93a9,0x93ab,0x93ae,0x93b0,0x93b0,0x93b4,0x93b6,0x93b9,0x93bb,0x93c1,0x93c1,0x93c3,0x93cd,0x93d0,0x93d1,0x93d3,0x93d3,0x93d6,0x93d9,0x93dc,0x93df,0x93e1,0x93e2,0x93e4,0x93e8,0x93f1,0x93f1,0x93f5,0x93f5,0x93f7,0x93fb,0x93fd,0x93fd,0x9401,0x9404,0x9407,0x9409,0x940d,0x9410,0x9413,0x941a,0x941f,0x941f,0x9421,0x9421,0x942b,0x942b,0x942e,0x942f,0x9431,0x9436,0x9438,0x9438,0x943a,0x943b,0x943d,0x943d,0x943f,0x943f,0x9441,0x9441,0x9443,0x9445,0x9448,0x9448,0x944a,0x944a,0x944c,0x944c,0x9451,0x9453,0x9455,0x9455,0x9459,0x945c,0x945e,0x9463,0x9468,0x9468,0x946a,0x946b,0x946d,0x9472,0x9475,0x9475,0x9477,0x9477,0x947c,0x947f,0x9481,0x9481,0x9483,0x9485,0x9577,0x9579,0x957e,0x9580,0x9582,0x9584,0x9586,0x958f,0x9591,0x9594,0x9596,0x9596,0x9598,0x9599,0x959d,0x95a9,0x95ab,0x95ad,0x95b1,0x95b2,0x95b4,0x95b4,0x95b6,0x95b6,0x95b9,0x95bf,0x95c3,0x95c3,0x95c6,0x95cd,0x95d0,0x95d6,0x95d8,0x95da,0x95dc,0x95e2,0x95e4,0x95e6,0x95e8,0x95e8,0x961c,0x961e,0x9621,0x9622,0x9624,0x9626,0x9628,0x9628,0x962a,0x962a,0x962c,0x962c,0x962e,0x962f,0x9631,0x9634,0x9637,0x963d,0x963f,0x9642,0x9644,0x9644,0x964b,0x964d,0x964f,0x9650,0x9652,0x9652,0x9654,0x9654,0x9656,0x9658,0x965b,0x965f,0x9661,0x9666,0x966a,0x966a,0x966c,0x966c,0x966e,0x966e,0x9670,0x9670,0x9672,0x9678,0x967a,0x967f,0x9681,0x9686,0x9688,0x968b,0x968d,0x968f,0x9691,0x9691,0x9694,0x969d,0x969f,0x96a0,0x96a3,0x96aa,0x96ae,0x96b4,0x96b6,0x96bd,0x96c0,0x96c1,0x96c4,0x96c7,0x96c9,0x96ce,0x96d1,0x96d2,0x96d5,0x96d6,0x96d8,0x96df,0x96e2,0x96e3,0x96e8,0x96eb,0x96ef,0x96f2,0x96f6,0x96f7,0x96f9,0x96fb,0x9700,0x9700,0x9702,0x970a,0x970d,0x970f,0x9711,0x9711,0x9713,0x9714,0x9716,0x9716,0x9719,0x971e,0x9721,0x9724,0x9727,0x9728,0x972a,0x972a,0x9730,0x9733,0x9736,0x9736,0x9738,0x9739,0x973b,0x973b,0x973d,0x973e,0x9741,0x9744,0x9746,0x974a,0x974d,0x974f,0x9751,0x9752,0x9755,0x975c,0x975e,0x975e,0x9760,0x9764,0x9766,0x976b,0x976d,0x976e,0x9771,0x9771,0x9773,0x9774,0x9776,0x977d,0x977f,0x9781,0x9784,0x9786,0x9789,0x9789,0x978b,0x978b,0x978d,0x978d,0x978f,0x9790,0x9795,0x979a,0x979c,0x979c,0x979e,0x97a0,0x97a2,0x97a3,0x97a6,0x97a6,0x97a8,0x97a8,0x97ab,0x97ae,0x97b1,0x97b6,0x97b8,0x97ba,0x97bc,0x97bc,0x97be,0x97bf,0x97c1,0x97c1,0x97c3,0x97ce,0x97d0,0x97d1,0x97d3,0x97d4,0x97d7,0x97d9,0x97db,0x97de,0x97e0,0x97e1,0x97e4,0x97e4,0x97e6,0x97e6,0x97ed,0x97ef,0x97f1,0x97f8,0x97fa,0x97fb,0x97ff,0x97ff,0x9801,0x9808,0x980a,0x980a,0x980c,0x9814,0x9816,0x981a,0x981c,0x981c,0x981e,0x981e,0x9820,0x9821,0x9823,0x9826,0x982b,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983e,0x9844,0x9844,0x9846,0x9847,0x984a,0x984f,0x9851,0x985b,0x985e,0x985e,0x9862,0x9863,0x9865,0x9867,0x986a,0x986c,0x986f,0x9871,0x9873,0x9875,0x98a8,0x98a8,0x98aa,0x98ab,0x98ad,0x98b1,0x98b4,0x98b4,0x98b6,0x98b8,0x98ba,0x98bc,0x98bf,0x98bf,0x98c2,0x98c8,0x98cb,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98eb,0x98ed,0x98f4,0x98f6,0x98f6,0x98fc,0x98fe,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x9910,0x9918,0x991a,0x9922,0x9924,0x9924,0x9926,0x9928,0x992b,0x992c,0x992e,0x992e,0x9931,0x9935,0x9939,0x993e,0x9940,0x9942,0x9945,0x9949,0x994b,0x994e,0x9950,0x9952,0x9954,0x9955,0x9957,0x9959,0x995b,0x995c,0x995e,0x9960,0x9963,0x9963,0x9996,0x9999,0x999b,0x999b,0x999d,0x999f,0x99a3,0x99a3,0x99a5,0x99a6,0x99a8,0x99a8,0x99ac,0x99ae,0x99b0,0x99b5,0x99b9,0x99ba,0x99bc,0x99bd,0x99bf,0x99bf,0x99c1,0x99c1,0x99c3,0x99c6,0x99c8,0x99c9,0x99d0,0x99d5,0x99d8,0x99df,0x99e1,0x99e2,0x99e7,0x99e7,0x99ea,0x99ee,0x99f0,0x99f2,0x99f4,0x99f5,0x99f8,0x99f9,0x99fb,0x99ff,0x9a01,0x9a05,0x9a08,0x9a08,0x9a0a,0x9a0c,0x9a0e,0x9a13,0x9a16,0x9a16,0x9a19,0x9a1a,0x9a1e,0x9a1e,0x9a20,0x9a20,0x9a22,0x9a24,0x9a27,0x9a28,0x9a2b,0x9a2b,0x9a2d,0x9a2e,0x9a30,0x9a31,0x9a33,0x9a33,0x9a35,0x9a38,0x9a3e,0x9a3e,0x9a40,0x9a45,0x9a47,0x9a47,0x9a4a,0x9a4e,0x9a51,0x9a52,0x9a54,0x9a58,0x9a5a,0x9a5b,0x9a5d,0x9a5d,0x9a5f,0x9a5f,0x9a62,0x9a62,0x9a64,0x9a65,0x9a69,0x9a6c,0x9aa8,0x9aa8,0x9aaa,0x9aaa,0x9aac,0x9ab0,0x9ab2,0x9ab2,0x9ab4,0x9ab9,0x9abb,0x9ac1,0x9ac3,0x9ac4,0x9ac6,0x9ac6,0x9ac8,0x9ac8,0x9ace,0x9ad9,0x9adb,0x9adc,0x9ade,0x9ae0,0x9ae2,0x9ae7,0x9ae9,0x9aef,0x9af1,0x9af5,0x9af7,0x9af7,0x9af9,0x9afb,0x9afd,0x9afd,0x9aff,0x9b06,0x9b08,0x9b09,0x9b0b,0x9b0e,0x9b10,0x9b10,0x9b12,0x9b12,0x9b16,0x9b16,0x9b18,0x9b1d,0x9b1f,0x9b20,0x9b22,0x9b23,0x9b25,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3d,0x9b41,0x9b45,0x9b48,0x9b48,0x9b4b,0x9b4f,0x9b51,0x9b51,0x9b54,0x9b58,0x9b5a,0x9b5b,0x9b5e,0x9b5e,0x9b61,0x9b61,0x9b63,0x9b63,0x9b65,0x9b66,0x9b68,0x9b68,0x9b6a,0x9b6f,0x9b72,0x9b79,0x9b7f,0x9b80,0x9b83,0x9b87,0x9b89,0x9b8b,0x9b8d,0x9b94,0x9b96,0x9b97,0x9b9a,0x9b9a,0x9b9d,0x9ba0,0x9ba6,0x9bae,0x9bb0,0x9bb2,0x9bb4,0x9bb4,0x9bb7,0x9bb9,0x9bbb,0x9bbc,0x9bbe,0x9bc1,0x9bc6,0x9bca,0x9bce,0x9bd2,0x9bd4,0x9bd4,0x9bd6,0x9bd8,0x9bdb,0x9bdb,0x9bdd,0x9bdd,0x9bdf,0x9bdf,0x9be1,0x9be5,0x9be7,0x9be8,0x9bea,0x9beb,0x9bee,0x9bf3,0x9bf5,0x9bf5,0x9bf7,0x9bfa,0x9bfd,0x9bfd,0x9bff,0x9c00,0x9c02,0x9c02,0x9c04,0x9c04,0x9c06,0x9c06,0x9c08,0x9c0d,0x9c0f,0x9c16,0x9c18,0x9c1e,0x9c21,0x9c2a,0x9c2d,0x9c32,0x9c35,0x9c37,0x9c39,0x9c3b,0x9c3d,0x9c3e,0x9c41,0x9c41,0x9c43,0x9c4a,0x9c4e,0x9c50,0x9c52,0x9c54,0x9c56,0x9c58,0x9c5a,0x9c61,0x9c63,0x9c63,0x9c65,0x9c65,0x9c67,0x9c6b,0x9c6d,0x9c6e,0x9c70,0x9c70,0x9c72,0x9c72,0x9c75,0x9c78,0x9c7a,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9ce9,0x9ceb,0x9cec,0x9cf0,0x9cf0,0x9cf2,0x9cf4,0x9cf6,0x9cf7,0x9cf9,0x9cf9,0x9d02,0x9d03,0x9d06,0x9d09,0x9d0b,0x9d0b,0x9d0e,0x9d0e,0x9d11,0x9d12,0x9d15,0x9d15,0x9d17,0x9d18,0x9d1b,0x9d1f,0x9d23,0x9d23,0x9d26,0x9d26,0x9d28,0x9d28,0x9d2a,0x9d2c,0x9d2f,0x9d30,0x9d32,0x9d34,0x9d3a,0x9d3f,0x9d41,0x9d48,0x9d4a,0x9d4a,0x9d50,0x9d54,0x9d59,0x9d59,0x9d5c,0x9d65,0x9d69,0x9d6c,0x9d6f,0x9d70,0x9d72,0x9d73,0x9d76,0x9d77,0x9d7a,0x9d7c,0x9d7e,0x9d7e,0x9d83,0x9d84,0x9d86,0x9d87,0x9d89,0x9d8a,0x9d8d,0x9d8f,0x9d92,0x9d93,0x9d95,0x9d9a,0x9da1,0x9da1,0x9da4,0x9da4,0x9da9,0x9dac,0x9dae,0x9daf,0x9db1,0x9db2,0x9db4,0x9db5,0x9db8,0x9dbd,0x9dbf,0x9dc4,0x9dc6,0x9dc7,0x9dc9,0x9dca,0x9dcf,0x9dcf,0x9dd3,0x9dd7,0x9dd9,0x9dda,0x9dde,0x9de0,0x9de3,0x9de3,0x9de5,0x9de7,0x9de9,0x9de9,0x9deb,0x9deb,0x9ded,0x9df0,0x9df2,0x9df4,0x9df8,0x9dfa,0x9dfd,0x9dfe,0x9e02,0x9e02,0x9e07,0x9e07,0x9e0a,0x9e0a,0x9e0d,0x9e0e,0x9e10,0x9e12,0x9e15,0x9e16,0x9e19,0x9e1f,0x9e75,0x9e75,0x9e78,0x9e7d,0x9e7f,0x9e85,0x9e87,0x9e88,0x9e8b,0x9e8c,0x9e8e,0x9e8f,0x9e91,0x9e93,0x9e95,0x9e98,0x9e9b,0x9e9b,0x9e9d,0x9e9f,0x9ea4,0x9ea6,0x9ea8,0x9eaa,0x9eac,0x9eb0,0x9eb3,0x9eb5,0x9eb8,0x9ebf,0x9ec3,0x9ec4,0x9ec6,0x9ec6,0x9ec8,0x9ec8,0x9ecb,0x9ed2,0x9ed4,0x9ed5,0x9ed8,0x9ed9,0x9edb,0x9ee0,0x9ee4,0x9ee5,0x9ee7,0x9ee8,0x9eec,0x9ef2,0x9ef4,0x9ef9,0x9efb,0x9eff,0x9f02,0x9f03,0x9f07,0x9f09,0x9f0e,0x9f17,0x9f19,0x9f1b,0x9f1f,0x9f22,0x9f26,0x9f26,0x9f2a,0x9f2c,0x9f2f,0x9f2f,0x9f31,0x9f32,0x9f34,0x9f34,0x9f37,0x9f37,0x9f39,0x9f3f,0x9f41,0x9f41,0x9f43,0x9f47,0x9f4a,0x9f4b,0x9f4e,0x9f50,0x9f52,0x9f58,0x9f5a,0x9f5a,0x9f5d,0x9f63,0x9f66,0x9f6a,0x9f6c,0x9f73,0x9f75,0x9f77,0x9f7a,0x9f7a,0x9f7d,0x9f7d,0x9f7f,0x9f7f,0x9f8d,0x9f8d,0x9f8f,0x9f92,0x9f94,0x9f97,0x9f99,0x9f99,0x9f9c,0x9fa3,0x9fa5,0x9fa5,0x9fb4,0x9fb4,0x9fbc,0x9fc2,0x9fc4,0x9fc4,0x9fc6,0x9fc6,0x9fcc,0x9fcc,0xf900,0xf959,0xf95b,0xf9f2,0xf9f4,0xfa0b,0xfa0e,0xfa6d,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x2000b,0x2000b,0x20089,0x2008a,0x200a2,0x200a2,0x200a4,0x200a4,0x200b0,0x200b0,0x200f5,0x200f5,0x20158,0x20158,0x201a2,0x201a2,0x20213,0x20213,0x2032b,0x2032b,0x20371,0x20371,0x20381,0x20381,0x203f9,0x203f9,0x2044a,0x2044a,0x20509,0x20509,0x2053f,0x2053f,0x205b1,0x205b1,0x205d6,0x205d6,0x20611,0x20611,0x20628,0x20628,0x206ec,0x206ec,0x2074f,0x2074f,0x207c8,0x207c8,0x20807,0x20807,0x2083a,0x2083a,0x208b9,0x208b9,0x2090e,0x2090e,0x2097c,0x2097c,0x20984,0x20984,0x2099d,0x2099d,0x20a64,0x20a64,0x20ad3,0x20ad3,0x20b1d,0x20b1d,0x20b9f,0x20b9f,0x20bb7,0x20bb7,0x20d45,0x20d45,0x20d58,0x20d58,0x20de1,0x20de1,0x20e64,0x20e64,0x20e6d,0x20e6d,0x20e95,0x20e95,0x20f5f,0x20f5f,0x21201,0x21201,0x2123d,0x2123d,0x21255,0x21255,0x21274,0x21274,0x2127b,0x2127b,0x212d7,0x212d7,0x212e4,0x212e4,0x212fd,0x212fd,0x2131b,0x2131b,0x21336,0x21336,0x21344,0x21344,0x213c4,0x213c4,0x2146d,0x2146e,0x215d7,0x215d7,0x21647,0x21647,0x216b4,0x216b4,0x21706,0x21706,0x21742,0x21742,0x218bd,0x218bd,0x219c3,0x219c3,0x21a1a,0x21a1a,0x21c56,0x21c56,0x21d2d,0x21d2d,0x21d45,0x21d45,0x21d62,0x21d62,0x21d78,0x21d78,0x21d92,0x21d92,0x21d9c,0x21d9c,0x21da1,0x21da1,0x21db7,0x21db7,0x21de0,0x21de0,0x21e33,0x21e34,0x21f1e,0x21f1e,0x21f76,0x21f76,0x21ffa,0x21ffa,0x2217b,0x2217b,0x22218,0x22218,0x2231e,0x2231e,0x223ad,0x223ad,0x22609,0x22609,0x226f3,0x226f3,0x2285b,0x2285b,0x228ab,0x228ab,0x2298f,0x2298f,0x22ab8,0x22ab8,0x22b46,0x22b46,0x22b4f,0x22b50,0x22ba6,0x22ba6,0x22c1d,0x22c1d,0x22c24,0x22c24,0x22de1,0x22de1,0x22e42,0x22e42,0x22feb,0x22feb,0x231b6,0x231b6,0x231c3,0x231c4,0x231f5,0x231f5,0x23372,0x23372,0x233cc,0x233cc,0x233d0,0x233d0,0x233d2,0x233d3,0x233d5,0x233d5,0x233da,0x233da,0x233df,0x233df,0x233e4,0x233e4,0x233fe,0x233fe,0x2344a,0x2344b,0x23451,0x23451,0x23465,0x23465,0x234e4,0x234e4,0x2355a,0x2355a,0x23594,0x23594,0x235c4,0x235c4,0x23638,0x2363a,0x23647,0x23647,0x2370c,0x2370c,0x2371c,0x2371c,0x2373f,0x2373f,0x23763,0x23764,0x237e7,0x237e7,0x237f1,0x237f1,0x237ff,0x237ff,0x23824,0x23824,0x2383d,0x2383d,0x23a98,0x23a98,0x23c7f,0x23c7f,0x23cbe,0x23cbe,0x23cfe,0x23cfe,0x23d00,0x23d00,0x23d0e,0x23d0e,0x23d40,0x23d40,0x23dd3,0x23dd3,0x23df9,0x23dfa,0x23f7e,0x23f7e,0x2404b,0x2404b,0x24096,0x24096,0x24103,0x24103,0x241c6,0x241c6,0x241fe,0x241fe,0x242ee,0x242ee,0x243bc,0x243bc,0x243d0,0x243d0,0x24629,0x24629,0x246a5,0x246a5,0x247f1,0x247f1,0x24896,0x24896,0x248e9,0x248e9,0x24a4d,0x24a4d,0x24b56,0x24b56,0x24b6f,0x24b6f,0x24c16,0x24c16,0x24d14,0x24d14,0x24e04,0x24e04,0x24e0e,0x24e0e,0x24e37,0x24e37,0x24e6a,0x24e6a,0x24e8b,0x24e8b,0x24ff2,0x24ff2,0x2504a,0x2504a,0x25055,0x25055,0x25122,0x25122,0x251a9,0x251a9,0x251cd,0x251cd,0x251e5,0x251e5,0x2521e,0x2521e,0x2524c,0x2524c,0x2542e,0x2542e,0x2548e,0x2548e,0x254d9,0x254d9,0x2550e,0x2550e,0x255a7,0x255a7,0x2567f,0x2567f,0x25771,0x25771,0x257a9,0x257a9,0x257b4,0x257b4,0x25874,0x25874,0x259c4,0x259c4,0x259cc,0x259cc,0x259d4,0x259d4,0x25ad7,0x25ad7,0x25ae3,0x25ae4,0x25af1,0x25af1,0x25bb2,0x25bb2,0x25c4b,0x25c4b,0x25c64,0x25c64,0x25da1,0x25da1,0x25e2e,0x25e2e,0x25e56,0x25e56,0x25e62,0x25e62,0x25e65,0x25e65,0x25ec2,0x25ec2,0x25ed8,0x25ed8,0x25ee8,0x25ee8,0x25f23,0x25f23,0x25f5c,0x25f5c,0x25fd4,0x25fd4,0x25fe0,0x25fe0,0x25ffb,0x25ffb,0x2600c,0x2600c,0x26017,0x26017,0x26060,0x26060,0x260ed,0x260ed,0x26222,0x26222,0x2626a,0x2626a,0x26270,0x26270,0x26286,0x26286,0x2634c,0x2634c,0x26402,0x26402,0x2667e,0x2667e,0x266b0,0x266b0,0x2671d,0x2671d,0x268dd,0x268dd,0x268ea,0x268ea,0x26951,0x26951,0x2696f,0x2696f,0x26999,0x26999,0x269dd,0x269dd,0x26a1e,0x26a1e,0x26a58,0x26a58,0x26a8c,0x26a8c,0x26ab7,0x26ab7,0x26aff,0x26aff,0x26c29,0x26c29,0x26c73,0x26c73,0x26c9e,0x26c9e,0x26cdd,0x26cdd,0x26e40,0x26e40,0x26e65,0x26e65,0x26f94,0x26f94,0x26ff6,0x26ff8,0x270f4,0x270f4,0x2710d,0x2710d,0x27139,0x27139,0x273da,0x273db,0x273fe,0x273fe,0x27410,0x27410,0x27449,0x27449,0x27614,0x27615,0x27631,0x27631,0x27684,0x27684,0x27693,0x27693,0x2770e,0x2770e,0x27723,0x27723,0x27752,0x27752,0x278b2,0x278b2,0x27985,0x27985,0x279b4,0x279b4,0x27a84,0x27a84,0x27bb3,0x27bb3,0x27bbe,0x27bbe,0x27bc7,0x27bc7,0x27c3c,0x27c3c,0x27cb8,0x27cb8,0x27d73,0x27d73,0x27da0,0x27da0,0x27e10,0x27e10,0x27eaf,0x27eaf,0x27fb7,0x27fb7,0x2808a,0x2808a,0x280bb,0x280bb,0x28277,0x28277,0x28282,0x28282,0x282f3,0x282f3,0x283cd,0x283cd,0x2840c,0x2840c,0x28455,0x28455,0x284dc,0x284dc,0x2856b,0x2856b,0x285c8,0x285c9,0x286d7,0x286d7,0x286fa,0x286fa,0x28946,0x28946,0x28949,0x28949,0x2896b,0x2896b,0x28987,0x28988,0x289ba,0x289bb,0x28a1e,0x28a1e,0x28a29,0x28a29,0x28a43,0x28a43,0x28a71,0x28a71,0x28a99,0x28a99,0x28acd,0x28acd,0x28add,0x28add,0x28ae4,0x28ae4,0x28bc1,0x28bc1,0x28bef,0x28bef,0x28cdd,0x28cdd,0x28d10,0x28d10,0x28d71,0x28d71,0x28dfb,0x28dfb,0x28e0f,0x28e0f,0x28e17,0x28e17,0x28e1f,0x28e1f,0x28e36,0x28e36,0x28e89,0x28e89,0x28eeb,0x28eeb,0x28ef6,0x28ef6,0x28f32,0x28f32,0x28ff8,0x28ff8,0x292a0,0x292a0,0x292b1,0x292b1,0x29490,0x29490,0x295cf,0x295cf,0x2967f,0x2967f,0x296f0,0x296f0,0x29719,0x29719,0x29750,0x29750,0x29810,0x29810,0x298c6,0x298c6,0x29a72,0x29a72,0x29d4b,0x29d4b,0x29ddb,0x29ddb,0x29e15,0x29e15,0x29e3d,0x29e3d,0x29e49,0x29e49,0x29e8a,0x29e8a,0x29ec4,0x29ec4,0x29edb,0x29edb,0x29ee9,0x29ee9,0x29fce,0x29fce,0x29fd7,0x29fd7,0x2a01a,0x2a01a,0x2a02f,0x2a02f,0x2a082,0x2a082,0x2a0f9,0x2a0f9,0x2a190,0x2a190,0x2a2b2,0x2a2b2,0x2a38c,0x2a38c,0x2a437,0x2a437,0x2a5f1,0x2a5f1,0x2a602,0x2a602,0x2a61a,0x2a61a,0x2a6b2,0x2a6b2,0x2a9e6,0x2a9e6,0x2b746,0x2b746,0x2b751,0x2b751,0x2b753,0x2b753,0x2b75a,0x2b75a,0x2b75c,0x2b75c,0x2b765,0x2b765,0x2b776,0x2b777,0x2b77c,0x2b77c,0x2b782,0x2b782,0x2b789,0x2b789,0x2b78b,0x2b78b,0x2b78e,0x2b78e,0x2b794,0x2b794,0x2b7ac,0x2b7ac,0x2b7af,0x2b7af,0x2b7bd,0x2b7bd,0x2b7c9,0x2b7c9,0x2b7cf,0x2b7cf,0x2b7d2,0x2b7d2,0x2b7d8,0x2b7d8,0x2b7f0,0x2b7f0,0x2b80d,0x2b80d,0x2b817,0x2b817,0x2b81a,0x2b81a,0x2d544,0x2d544,0x2e278,0x2e278,0x2e569,0x2e569,0x2e6ea,0x2e6ea,0x2f804,0x2f804,0x2f80f,0x2f80f,0x2f815,0x2f815,0x2f818,0x2f818,0x2f81a,0x2f81a,0x2f822,0x2f822,0x2f828,0x2f828,0x2f82c,0x2f82c,0x2f833,0x2f833,0x2f83f,0x2f83f,0x2f846,0x2f846,0x2f852,0x2f852,0x2f862,0x2f862,0x2f86d,0x2f86d,0x2f873,0x2f873,0x2f877,0x2f877,0x2f884,0x2f884,0x2f899,0x2f89a,0x2f8a6,0x2f8a6,0x2f8ac,0x2f8ac,0x2f8b2,0x2f8b2,0x2f8b6,0x2f8b6,0x2f8d3,0x2f8d3,0x2f8db,0x2f8dc,0x2f8e1,0x2f8e1,0x2f8e5,0x2f8e5,0x2f8ea,0x2f8ea,0x2f8ed,0x2f8ed,0x2f8fc,0x2f8fc,0x2f903,0x2f903,0x2f90b,0x2f90b,0x2f90f,0x2f90f,0x2f91a,0x2f91a,0x2f920,0x2f921,0x2f945,0x2f945,0x2f947,0x2f947,0x2f96c,0x2f96c,0x2f995,0x2f995,0x2f9d0,0x2f9d0,0x2f9de,0x2f9df,0x2f9f4,0x2f9f4,0x30ede,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatRanges('Noto Sans Javanese', 'http://fonts.gstatic.com/s/notosansjavanese/v15/2V0AKJkDAIA6Hp4zoSScDjV0Y-eoHAHJ8r88Rp29eA.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa980,0xa9cd,0xa9cf,0xa9d9,0xa9de,0xa9df,]), + NotoFont.fromFlatRanges('Noto Sans KR', 'http://fonts.gstatic.com/s/notosanskr/v27/PbykFmXiEBPT4ITbgNA5Cgm20HTs4JMMuA.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1100,0x11ff,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x349a,0x349a,0x34d7,0x34d7,0x3515,0x3515,0x3521,0x3521,0x353e,0x353e,0x35ff,0x35ff,0x366f,0x366f,0x36c3,0x36c5,0x36e6,0x36e6,0x3723,0x3723,0x372f,0x372f,0x373a,0x373a,0x37bc,0x37bc,0x380c,0x380c,0x3818,0x3818,0x3883,0x3883,0x38ba,0x38ba,0x38e7,0x38e7,0x38fd,0x38fd,0x3960,0x3960,0x3965,0x3965,0x3983,0x3983,0x3990,0x3990,0x39a5,0x39a5,0x39b6,0x39b6,0x3a39,0x3a39,0x3aa4,0x3aa4,0x3adc,0x3adc,0x3af6,0x3af6,0x3b03,0x3b03,0x3b23,0x3b23,0x3b79,0x3b79,0x3bf3,0x3bf3,0x3c14,0x3c14,0x3c24,0x3c24,0x3c2d,0x3c2d,0x3cbd,0x3cbe,0x3cfc,0x3cfc,0x3d17,0x3d17,0x3d5f,0x3d5f,0x3dbc,0x3dbc,0x3dc2,0x3dc2,0x3ec4,0x3ec4,0x3eed,0x3eed,0x3efd,0x3efd,0x3f04,0x3f04,0x402f,0x402f,0x4034,0x4034,0x4062,0x4062,0x40a9,0x40a9,0x40c9,0x40c9,0x4137,0x4137,0x41ac,0x41ac,0x4259,0x4259,0x43bb,0x43bb,0x43c7,0x43c7,0x43e7,0x43e7,0x43ea,0x43ea,0x4450,0x4450,0x4512,0x4512,0x45f2,0x45f2,0x4618,0x4618,0x46b7,0x46b7,0x46be,0x46be,0x46d4,0x46d4,0x46d8,0x46d8,0x46dd,0x46dd,0x472d,0x472d,0x476c,0x476c,0x477d,0x477d,0x479f,0x479f,0x4863,0x4863,0x4883,0x4883,0x4896,0x4896,0x48a6,0x48a6,0x4925,0x4925,0x499e,0x499e,0x49a5,0x49a5,0x49cb,0x49cb,0x4a12,0x4a12,0x4a2d,0x4a2d,0x4ab8,0x4ab8,0x4adf,0x4adf,0x4ae8,0x4ae8,0x4afb,0x4afb,0x4b53,0x4b53,0x4b71,0x4b71,0x4cdf,0x4ce0,0x4d1b,0x4d1b,0x4e00,0x4e01,0x4e03,0x4e03,0x4e07,0x4e0b,0x4e0d,0x4e0e,0x4e11,0x4e11,0x4e14,0x4e16,0x4e18,0x4e19,0x4e1e,0x4e1f,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2b,0x4e2d,0x4e30,0x4e32,0x4e36,0x4e36,0x4e38,0x4e39,0x4e3b,0x4e3b,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e56,0x4e5b,0x4e5d,0x4e5f,0x4e67,0x4e67,0x4e6b,0x4e6d,0x4e71,0x4e71,0x4e73,0x4e73,0x4e76,0x4e77,0x4e7a,0x4e7c,0x4e7e,0x4e7e,0x4e80,0x4e80,0x4e82,0x4e82,0x4e85,0x4e86,0x4e88,0x4e89,0x4e8b,0x4e8c,0x4e8e,0x4e92,0x4e94,0x4e95,0x4e98,0x4e99,0x4e9b,0x4e9c,0x4e9e,0x4ea2,0x4ea4,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb0,0x4eb0,0x4eb3,0x4eb4,0x4eb6,0x4eb6,0x4eb9,0x4ebb,0x4ec0,0x4ec1,0x4ec4,0x4ec4,0x4ec6,0x4ec7,0x4eca,0x4ecb,0x4ecd,0x4ecd,0x4ed4,0x4ed9,0x4edd,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4eee,0x4eee,0x4ef0,0x4ef0,0x4ef2,0x4ef3,0x4ef5,0x4ef7,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f01,0x4f09,0x4f0b,0x4f0d,0x4f11,0x4f1a,0x4f1a,0x4f1d,0x4f1d,0x4f2f,0x4f30,0x4f34,0x4f34,0x4f36,0x4f36,0x4f38,0x4f38,0x4f3a,0x4f3a,0x4f3c,0x4f3e,0x4f42,0x4f43,0x4f46,0x4f49,0x4f4b,0x4f4b,0x4f4d,0x4f51,0x4f53,0x4f57,0x4f59,0x4f5f,0x4f69,0x4f6a,0x4f6f,0x4f70,0x4f73,0x4f74,0x4f76,0x4f76,0x4f78,0x4f81,0x4f83,0x4f84,0x4f86,0x4f86,0x4f88,0x4f8b,0x4f8d,0x4f92,0x4f94,0x4f94,0x4f96,0x4f98,0x4f9a,0x4f9d,0x4fae,0x4faf,0x4fb2,0x4fb2,0x4fb5,0x4fb6,0x4fb9,0x4fb9,0x4fbb,0x4fbb,0x4fbf,0x4fbf,0x4fc1,0x4fc5,0x4fc9,0x4fca,0x4fcc,0x4fd4,0x4fd7,0x4fdb,0x4fdd,0x4fe1,0x4fe3,0x4fe3,0x4fee,0x4ff1,0x4ff3,0x4ff6,0x4ff8,0x4ff8,0x4ffa,0x4ffa,0x4ffe,0x4ffe,0x5000,0x5000,0x5002,0x5002,0x5005,0x5007,0x5009,0x5009,0x500b,0x500b,0x500d,0x500d,0x500f,0x500f,0x5011,0x5014,0x5016,0x5016,0x5018,0x501a,0x501c,0x501c,0x501e,0x501f,0x5021,0x502e,0x5030,0x5030,0x503b,0x503b,0x5043,0x5044,0x5047,0x504a,0x504e,0x504f,0x5053,0x5053,0x5055,0x5056,0x5058,0x505a,0x505c,0x505c,0x5060,0x5060,0x5062,0x5062,0x5065,0x5066,0x506a,0x506a,0x5070,0x5070,0x5072,0x5072,0x5074,0x5076,0x5078,0x5078,0x5080,0x5080,0x5083,0x5083,0x5085,0x5085,0x508b,0x508b,0x508d,0x508d,0x5091,0x5092,0x5094,0x5094,0x5096,0x5096,0x5098,0x509b,0x509d,0x509e,0x50a2,0x50a2,0x50ac,0x50ae,0x50b2,0x50b5,0x50b7,0x50b7,0x50bd,0x50bf,0x50c2,0x50c2,0x50c4,0x50c5,0x50c9,0x50ca,0x50cf,0x50cf,0x50d1,0x50d1,0x50d4,0x50d6,0x50da,0x50db,0x50de,0x50de,0x50e2,0x50e2,0x50e5,0x50e7,0x50e9,0x50e9,0x50ec,0x50ee,0x50f5,0x50f5,0x50f9,0x50f9,0x50fb,0x50fb,0x50fe,0x5104,0x5106,0x5107,0x5109,0x5109,0x510b,0x510c,0x5110,0x5110,0x5112,0x5115,0x5117,0x5118,0x511a,0x511c,0x511f,0x511f,0x5121,0x5122,0x5124,0x5125,0x5127,0x5127,0x512a,0x512b,0x5131,0x5133,0x5135,0x5135,0x5137,0x513c,0x513f,0x5141,0x5143,0x5149,0x514b,0x514e,0x5150,0x5150,0x5152,0x5152,0x5154,0x5157,0x515a,0x515a,0x515c,0x515c,0x5162,0x5162,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5175,0x5178,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x5186,0x5189,0x518a,0x518c,0x518d,0x518f,0x518f,0x5191,0x5193,0x5195,0x5199,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a5,0x51aa,0x51ac,0x51b0,0x51b2,0x51b6,0x51b7,0x51bd,0x51be,0x51c4,0x51c6,0x51c9,0x51cd,0x51d2,0x51d2,0x51d4,0x51d4,0x51d6,0x51d6,0x51db,0x51de,0x51e0,0x51e1,0x51e9,0x51e9,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fd,0x51fd,0x5200,0x5203,0x5206,0x5208,0x520a,0x520a,0x520e,0x520e,0x5211,0x5211,0x5213,0x5213,0x5216,0x5217,0x521d,0x521d,0x5224,0x5227,0x5229,0x522a,0x522e,0x522e,0x5230,0x5233,0x5236,0x523b,0x5243,0x5244,0x5246,0x5247,0x5249,0x524d,0x5254,0x5257,0x525a,0x525b,0x525d,0x525f,0x5261,0x5261,0x5269,0x526a,0x526f,0x526f,0x5272,0x5272,0x5274,0x5275,0x5277,0x5277,0x527a,0x527a,0x527d,0x527d,0x527f,0x527f,0x5282,0x5283,0x5287,0x5289,0x528d,0x528d,0x5291,0x5293,0x5297,0x5298,0x529b,0x529b,0x529f,0x52a0,0x52a3,0x52a4,0x52a7,0x52a7,0x52a9,0x52ae,0x52b9,0x52b9,0x52be,0x52be,0x52c1,0x52c1,0x52c3,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d2,0x52d2,0x52d5,0x52d6,0x52d8,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52ed,0x52ed,0x52f2,0x52f3,0x52f5,0x52f5,0x52f8,0x52fb,0x52fe,0x5303,0x5305,0x5305,0x5308,0x5308,0x530a,0x530a,0x530c,0x530d,0x530f,0x5310,0x5315,0x5317,0x5319,0x531a,0x5320,0x5321,0x5323,0x5323,0x5327,0x5327,0x532a,0x532a,0x532f,0x532f,0x5331,0x5331,0x5336,0x5336,0x5338,0x533b,0x533d,0x5341,0x5343,0x5345,0x5347,0x534a,0x534d,0x534d,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x535c,0x535e,0x535e,0x5360,0x5361,0x5364,0x5364,0x5366,0x5366,0x5368,0x5369,0x536c,0x536c,0x536e,0x5375,0x5377,0x537b,0x537d,0x537f,0x5382,0x5382,0x5384,0x5384,0x538e,0x538e,0x5393,0x5393,0x5396,0x5396,0x5398,0x5398,0x539a,0x539a,0x539d,0x539d,0x539f,0x53a0,0x53a5,0x53a6,0x53aa,0x53aa,0x53ad,0x53ae,0x53b2,0x53b3,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c2,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d4,0x53d4,0x53d6,0x53d7,0x53d9,0x53d9,0x53db,0x53db,0x53df,0x53df,0x53e1,0x53e6,0x53e8,0x53f8,0x5401,0x5401,0x5403,0x5404,0x5408,0x5411,0x541b,0x541b,0x541d,0x541d,0x541f,0x5420,0x5426,0x5426,0x5429,0x5429,0x542b,0x542c,0x542e,0x542e,0x5431,0x5431,0x5433,0x5433,0x5436,0x5436,0x5438,0x5439,0x543b,0x543e,0x5440,0x5440,0x5442,0x5442,0x5446,0x5446,0x5448,0x5448,0x544a,0x544a,0x544e,0x544e,0x5451,0x5451,0x545d,0x545d,0x545f,0x545f,0x5462,0x5462,0x5464,0x5464,0x5466,0x5466,0x5468,0x5468,0x546a,0x546b,0x5470,0x5471,0x5473,0x5473,0x5475,0x5476,0x547b,0x547d,0x547f,0x5480,0x5484,0x5484,0x5486,0x5487,0x548b,0x5490,0x5496,0x5496,0x54a0,0x54a0,0x54a2,0x54a2,0x54a4,0x54a5,0x54a8,0x54a8,0x54ab,0x54ac,0x54af,0x54af,0x54b2,0x54b3,0x54b8,0x54b8,0x54bb,0x54bd,0x54bf,0x54c4,0x54c6,0x54c9,0x54e1,0x54e1,0x54e5,0x54e6,0x54e8,0x54e9,0x54ed,0x54ee,0x54f1,0x54f2,0x54fa,0x54fa,0x54fd,0x54fd,0x54ff,0x54ff,0x5504,0x5504,0x5506,0x5507,0x5509,0x5509,0x550e,0x5510,0x5514,0x5514,0x551c,0x551c,0x552b,0x552b,0x552e,0x552f,0x5531,0x5531,0x5533,0x5533,0x5535,0x5535,0x5539,0x5539,0x553c,0x553c,0x553e,0x553e,0x5540,0x5540,0x5542,0x5542,0x5544,0x5544,0x5546,0x5546,0x554a,0x554a,0x554f,0x554f,0x5553,0x5553,0x5556,0x5557,0x555c,0x555c,0x555e,0x555e,0x5563,0x5563,0x557b,0x5581,0x5583,0x5584,0x5586,0x5587,0x5589,0x558b,0x5591,0x5591,0x5593,0x5594,0x5598,0x559a,0x559c,0x559f,0x55a3,0x55a4,0x55a7,0x55ac,0x55ae,0x55ae,0x55b0,0x55b0,0x55c3,0x55c3,0x55c5,0x55c5,0x55c7,0x55c7,0x55c9,0x55c9,0x55d1,0x55d1,0x55d4,0x55d4,0x55da,0x55dc,0x55df,0x55e0,0x55e2,0x55e4,0x55f7,0x55f7,0x55fd,0x55ff,0x5604,0x5604,0x5606,0x5606,0x5608,0x5609,0x560c,0x5610,0x5612,0x5612,0x5614,0x5614,0x5616,0x5617,0x5629,0x5629,0x562c,0x562c,0x562f,0x562f,0x5632,0x5632,0x5634,0x5634,0x5636,0x5639,0x563b,0x563b,0x563f,0x563f,0x5641,0x5642,0x5649,0x5649,0x564b,0x564b,0x564d,0x564f,0x5653,0x5653,0x5664,0x5665,0x5668,0x566d,0x566f,0x566f,0x5672,0x5672,0x5674,0x5674,0x5676,0x5676,0x5678,0x5678,0x567a,0x567a,0x5680,0x5680,0x5684,0x5684,0x5686,0x5687,0x568f,0x568f,0x5699,0x569a,0x56a5,0x56a5,0x56a7,0x56a7,0x56ac,0x56ac,0x56ae,0x56ae,0x56b3,0x56b4,0x56b6,0x56b6,0x56bc,0x56bc,0x56c0,0x56c3,0x56c8,0x56ca,0x56cd,0x56cd,0x56d1,0x56d1,0x56d7,0x56d7,0x56da,0x56db,0x56de,0x56e0,0x56e3,0x56e3,0x56e6,0x56e7,0x56eb,0x56eb,0x56ed,0x56ee,0x56f0,0x56f0,0x56f3,0x56f3,0x56f7,0x56f7,0x56f9,0x56fa,0x56fd,0x56fd,0x56ff,0x56ff,0x5701,0x5704,0x5707,0x570b,0x570d,0x570d,0x5712,0x5713,0x5716,0x5716,0x5718,0x5718,0x571c,0x571c,0x571f,0x571f,0x5725,0x5725,0x5728,0x572a,0x572c,0x572e,0x5730,0x5730,0x573b,0x573b,0x573e,0x573e,0x5740,0x5742,0x5747,0x5747,0x574a,0x574a,0x574c,0x5751,0x5761,0x5761,0x5764,0x5764,0x5766,0x576a,0x576e,0x5771,0x5773,0x5773,0x5775,0x5775,0x5777,0x5778,0x577b,0x577c,0x5782,0x5782,0x5788,0x5788,0x578b,0x578c,0x5793,0x5793,0x5795,0x5795,0x579e,0x579e,0x57a0,0x57a0,0x57a2,0x57a4,0x57b8,0x57b8,0x57bd,0x57bd,0x57c3,0x57c3,0x57c6,0x57c9,0x57cb,0x57cb,0x57ce,0x57cf,0x57d1,0x57d2,0x57dc,0x57dc,0x57df,0x57e0,0x57e4,0x57e4,0x57e9,0x57e9,0x57ed,0x57ee,0x57f0,0x57f0,0x57f3,0x57f4,0x57f6,0x57f7,0x57f9,0x57fd,0x5800,0x5800,0x5802,0x5806,0x5808,0x580b,0x5817,0x5817,0x5819,0x5819,0x581d,0x581e,0x5820,0x5821,0x5823,0x5824,0x5826,0x5827,0x582a,0x582a,0x582d,0x582d,0x582f,0x5831,0x5834,0x5835,0x583a,0x583a,0x5840,0x5840,0x5849,0x584d,0x584f,0x5852,0x5854,0x5854,0x5857,0x585a,0x585e,0x585e,0x5861,0x5862,0x5864,0x5864,0x5869,0x5869,0x5875,0x5875,0x5879,0x5879,0x587c,0x587e,0x5880,0x5881,0x5883,0x5883,0x5885,0x5885,0x5889,0x588a,0x588c,0x588d,0x5890,0x5890,0x5893,0x5893,0x589c,0x589f,0x58a1,0x58a1,0x58a3,0x58a3,0x58a8,0x58a9,0x58ab,0x58ab,0x58ae,0x58ae,0x58b0,0x58b1,0x58b3,0x58b3,0x58ba,0x58bb,0x58be,0x58be,0x58c1,0x58c1,0x58c3,0x58c3,0x58c5,0x58c5,0x58c7,0x58c7,0x58ce,0x58ce,0x58d1,0x58d1,0x58d3,0x58d5,0x58d8,0x58da,0x58dc,0x58df,0x58e1,0x58e1,0x58e4,0x58e4,0x58eb,0x58ec,0x58ee,0x58f0,0x58f2,0x58f2,0x58f9,0x58fb,0x58fd,0x58fd,0x5902,0x5902,0x5906,0x5906,0x5908,0x5908,0x590a,0x590a,0x590f,0x5910,0x5914,0x5916,0x5919,0x591c,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5937,0x5938,0x593d,0x593e,0x5944,0x5944,0x5947,0x5949,0x594c,0x594c,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5960,0x5962,0x5962,0x5967,0x5967,0x5969,0x596e,0x5972,0x5974,0x5976,0x5976,0x5978,0x5978,0x597d,0x597d,0x5982,0x5984,0x598a,0x598a,0x598c,0x598d,0x5991,0x5993,0x5996,0x5997,0x5999,0x5999,0x599d,0x599d,0x59a3,0x59a5,0x59a7,0x59a8,0x59ac,0x59ac,0x59af,0x59af,0x59b2,0x59b2,0x59b5,0x59b6,0x59b8,0x59b9,0x59bb,0x59bb,0x59be,0x59bf,0x59c1,0x59c1,0x59c3,0x59c3,0x59c6,0x59c6,0x59c8,0x59cb,0x59cd,0x59cd,0x59d0,0x59d4,0x59d9,0x59da,0x59dc,0x59de,0x59e2,0x59e6,0x59e8,0x59e8,0x59ea,0x59ec,0x59ee,0x59ee,0x59f0,0x59f0,0x59f2,0x59f2,0x59f7,0x59fc,0x59ff,0x59ff,0x5a01,0x5a01,0x5a03,0x5a03,0x5a09,0x5a0a,0x5a0d,0x5a0d,0x5a11,0x5a11,0x5a13,0x5a13,0x5a18,0x5a19,0x5a1b,0x5a1c,0x5a1f,0x5a20,0x5a23,0x5a23,0x5a25,0x5a25,0x5a27,0x5a27,0x5a29,0x5a29,0x5a2b,0x5a2b,0x5a2d,0x5a2d,0x5a35,0x5a36,0x5a3c,0x5a3c,0x5a3f,0x5a41,0x5a46,0x5a47,0x5a49,0x5a49,0x5a4b,0x5a4c,0x5a50,0x5a51,0x5a5a,0x5a5a,0x5a60,0x5a60,0x5a62,0x5a63,0x5a66,0x5a67,0x5a69,0x5a6a,0x5a6d,0x5a6d,0x5a72,0x5a72,0x5a77,0x5a77,0x5a7f,0x5a7f,0x5a84,0x5a84,0x5a8d,0x5a8d,0x5a90,0x5a90,0x5a92,0x5a93,0x5a95,0x5a95,0x5a9a,0x5a9b,0x5a9e,0x5a9f,0x5aa2,0x5aa2,0x5aa4,0x5aa4,0x5aa7,0x5aa7,0x5aaa,0x5aaa,0x5ab3,0x5ab3,0x5ab5,0x5ab5,0x5aba,0x5abf,0x5ac1,0x5ac2,0x5ac4,0x5ac4,0x5ac8,0x5ac9,0x5acb,0x5acc,0x5ad5,0x5ad7,0x5ad9,0x5adb,0x5add,0x5add,0x5ae0,0x5ae6,0x5ae9,0x5ae9,0x5aeb,0x5aeb,0x5aed,0x5aef,0x5af6,0x5af6,0x5afa,0x5afb,0x5afd,0x5afd,0x5b00,0x5b00,0x5b05,0x5b05,0x5b08,0x5b09,0x5b0b,0x5b0c,0x5b16,0x5b16,0x5b19,0x5b19,0x5b1b,0x5b1b,0x5b25,0x5b25,0x5b28,0x5b28,0x5b2a,0x5b2a,0x5b2d,0x5b2d,0x5b30,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b3e,0x5b40,0x5b43,0x5b43,0x5b45,0x5b45,0x5b4c,0x5b4c,0x5b50,0x5b51,0x5b54,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b61,0x5b61,0x5b63,0x5b66,0x5b69,0x5b69,0x5b6b,0x5b6b,0x5b70,0x5b71,0x5b75,0x5b76,0x5b78,0x5b78,0x5b7a,0x5b7a,0x5b7c,0x5b7c,0x5b7f,0x5b82,0x5b85,0x5b85,0x5b87,0x5b8c,0x5b8f,0x5b8f,0x5b93,0x5b93,0x5b95,0x5b9d,0x5b9f,0x5b9f,0x5ba2,0x5ba6,0x5bac,0x5bac,0x5bae,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb6,0x5bb8,0x5bb9,0x5bbf,0x5bc0,0x5bc2,0x5bc7,0x5bcc,0x5bcc,0x5bd0,0x5bd0,0x5bd2,0x5bd4,0x5bd6,0x5bd8,0x5bdb,0x5bdb,0x5bde,0x5bdf,0x5be1,0x5be2,0x5be4,0x5be9,0x5beb,0x5bf0,0x5bf5,0x5bf6,0x5bf8,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c04,0x5c0f,0x5c11,0x5c11,0x5c14,0x5c14,0x5c16,0x5c16,0x5c19,0x5c19,0x5c1f,0x5c20,0x5c22,0x5c24,0x5c28,0x5c28,0x5c2b,0x5c2b,0x5c31,0x5c31,0x5c38,0x5c41,0x5c45,0x5c48,0x5c4b,0x5c4b,0x5c4d,0x5c4e,0x5c50,0x5c51,0x5c55,0x5c55,0x5c5b,0x5c5b,0x5c60,0x5c60,0x5c62,0x5c62,0x5c64,0x5c65,0x5c68,0x5c68,0x5c6c,0x5c6c,0x5c6f,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c73,0x5c79,0x5c7a,0x5c88,0x5c88,0x5c8a,0x5c8a,0x5c8c,0x5c8c,0x5c8f,0x5c92,0x5c94,0x5c94,0x5c9d,0x5c9d,0x5ca1,0x5ca1,0x5ca3,0x5ca3,0x5ca5,0x5cad,0x5cb1,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb5,0x5cb7,0x5cb8,0x5cba,0x5cba,0x5cbe,0x5cbe,0x5cc0,0x5cc0,0x5ccb,0x5ccb,0x5cd2,0x5cd2,0x5cd9,0x5cd9,0x5ce0,0x5ce0,0x5ce8,0x5ce9,0x5ced,0x5ced,0x5cef,0x5cf1,0x5cf4,0x5cf4,0x5cf6,0x5cf6,0x5cfb,0x5cfb,0x5cfd,0x5cfd,0x5d06,0x5d07,0x5d0d,0x5d0e,0x5d10,0x5d11,0x5d14,0x5d19,0x5d1b,0x5d1b,0x5d1f,0x5d1f,0x5d22,0x5d22,0x5d24,0x5d24,0x5d26,0x5d27,0x5d29,0x5d29,0x5d34,0x5d34,0x5d3d,0x5d3d,0x5d41,0x5d42,0x5d44,0x5d44,0x5d4b,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d50,0x5d53,0x5d54,0x5d69,0x5d69,0x5d6c,0x5d6c,0x5d6f,0x5d6f,0x5d71,0x5d71,0x5d81,0x5d82,0x5d84,0x5d84,0x5d86,0x5d87,0x5d8b,0x5d8b,0x5d92,0x5d92,0x5d94,0x5d95,0x5d99,0x5d99,0x5d9d,0x5d9d,0x5da0,0x5da0,0x5da2,0x5da2,0x5da7,0x5da7,0x5daa,0x5dab,0x5dae,0x5dae,0x5db0,0x5db0,0x5db7,0x5db8,0x5dba,0x5dba,0x5dbc,0x5dbe,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dd1,0x5dd3,0x5dd6,0x5dd6,0x5dda,0x5ddb,0x5ddd,0x5dde,0x5de0,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df1,0x5df5,0x5df7,0x5df9,0x5dfb,0x5dfb,0x5dfd,0x5dfe,0x5e02,0x5e03,0x5e06,0x5e06,0x5e09,0x5e09,0x5e0c,0x5e0c,0x5e11,0x5e11,0x5e15,0x5e16,0x5e19,0x5e1b,0x5e1d,0x5e1d,0x5e20,0x5e20,0x5e25,0x5e25,0x5e28,0x5e28,0x5e2b,0x5e2b,0x5e2d,0x5e2d,0x5e33,0x5e33,0x5e36,0x5e38,0x5e3d,0x5e3d,0x5e3f,0x5e40,0x5e43,0x5e45,0x5e47,0x5e47,0x5e4c,0x5e4c,0x5e4e,0x5e4e,0x5e54,0x5e55,0x5e58,0x5e58,0x5e5e,0x5e5f,0x5e61,0x5e63,0x5e68,0x5e68,0x5e6a,0x5e6c,0x5e70,0x5e74,0x5e76,0x5e80,0x5e83,0x5e84,0x5e87,0x5e87,0x5e8a,0x5e8b,0x5e8f,0x5e8f,0x5e95,0x5e97,0x5e9a,0x5e9a,0x5e9c,0x5e9c,0x5ea0,0x5ea0,0x5ea5,0x5ea8,0x5eab,0x5eab,0x5ead,0x5ead,0x5eb3,0x5eb3,0x5eb5,0x5eb8,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec8,0x5ecb,0x5ecf,0x5ed1,0x5ed3,0x5ed3,0x5ed5,0x5ed6,0x5ed9,0x5edb,0x5edd,0x5ee3,0x5ee5,0x5ee5,0x5ee7,0x5ee9,0x5eec,0x5eec,0x5ef1,0x5ef1,0x5ef3,0x5ef4,0x5ef6,0x5ef7,0x5efa,0x5efb,0x5efe,0x5eff,0x5f01,0x5f01,0x5f03,0x5f04,0x5f07,0x5f08,0x5f0a,0x5f0b,0x5f0f,0x5f0f,0x5f11,0x5f15,0x5f17,0x5f18,0x5f1b,0x5f1b,0x5f1f,0x5f1f,0x5f22,0x5f22,0x5f25,0x5f27,0x5f29,0x5f29,0x5f2d,0x5f2d,0x5f31,0x5f31,0x5f34,0x5f35,0x5f37,0x5f37,0x5f3a,0x5f3a,0x5f3c,0x5f3c,0x5f3e,0x5f3e,0x5f40,0x5f40,0x5f46,0x5f46,0x5f48,0x5f48,0x5f4a,0x5f4a,0x5f4c,0x5f4c,0x5f4e,0x5f4e,0x5f50,0x5f51,0x5f53,0x5f54,0x5f56,0x5f59,0x5f5b,0x5f5b,0x5f5d,0x5f5d,0x5f61,0x5f62,0x5f64,0x5f67,0x5f69,0x5f6d,0x5f70,0x5f71,0x5f73,0x5f73,0x5f77,0x5f77,0x5f79,0x5f79,0x5f7c,0x5f7c,0x5f7f,0x5f82,0x5f85,0x5f85,0x5f87,0x5f8c,0x5f90,0x5f92,0x5f97,0x5f99,0x5f9c,0x5f9c,0x5f9e,0x5f9e,0x5fa0,0x5fa1,0x5fa3,0x5fa3,0x5fa7,0x5faa,0x5fac,0x5faf,0x5fb3,0x5fb3,0x5fb5,0x5fb5,0x5fb7,0x5fb7,0x5fb9,0x5fb9,0x5fbc,0x5fbd,0x5fc3,0x5fc5,0x5fc8,0x5fc9,0x5fcc,0x5fce,0x5fd0,0x5fd0,0x5fd2,0x5fd3,0x5fd5,0x5fd9,0x5fdc,0x5fe1,0x5fe4,0x5fe4,0x5fe8,0x5fe8,0x5feb,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff5,0x5ff5,0x5ff8,0x5ff8,0x5ffb,0x5ffd,0x5fff,0x5fff,0x600a,0x600a,0x600d,0x600d,0x600f,0x600f,0x6012,0x6012,0x6014,0x6017,0x6019,0x6019,0x601b,0x601d,0x6020,0x6021,0x6025,0x602a,0x602f,0x6030,0x6033,0x6033,0x6041,0x6043,0x6046,0x6048,0x604a,0x604b,0x604d,0x604d,0x6050,0x6050,0x6052,0x6052,0x6055,0x6055,0x6059,0x605a,0x605d,0x605d,0x605f,0x6060,0x6062,0x6065,0x6068,0x606d,0x606f,0x6070,0x6075,0x6075,0x6081,0x6081,0x6083,0x6086,0x6089,0x608d,0x608f,0x608f,0x6092,0x6092,0x6094,0x6097,0x609a,0x609b,0x609f,0x60a0,0x60a2,0x60a4,0x60a7,0x60a7,0x60aa,0x60aa,0x60b0,0x60b6,0x60b8,0x60b8,0x60bb,0x60be,0x60c4,0x60c7,0x60c9,0x60c9,0x60cb,0x60cb,0x60cf,0x60cf,0x60d1,0x60d1,0x60d3,0x60d3,0x60d5,0x60d5,0x60d7,0x60e2,0x60f0,0x60f4,0x60f6,0x60fc,0x6100,0x6101,0x6103,0x6103,0x6106,0x6106,0x6108,0x6109,0x610d,0x610f,0x6114,0x6115,0x611a,0x611c,0x611e,0x611f,0x6122,0x6122,0x6127,0x6128,0x612b,0x612d,0x6130,0x6130,0x6134,0x6134,0x6137,0x6137,0x613c,0x613c,0x613e,0x613f,0x6142,0x6142,0x6144,0x6144,0x6146,0x6148,0x614a,0x614d,0x614f,0x614f,0x6152,0x6155,0x6158,0x615a,0x615c,0x615d,0x615f,0x6164,0x6167,0x6168,0x616a,0x616b,0x616e,0x616e,0x6170,0x6171,0x6173,0x6177,0x617a,0x617a,0x617c,0x617e,0x6181,0x6183,0x618a,0x618a,0x618d,0x618e,0x6190,0x6194,0x6196,0x6196,0x6198,0x619a,0x61a4,0x61a4,0x61a7,0x61a9,0x61ab,0x61ac,0x61ae,0x61af,0x61b2,0x61b2,0x61b6,0x61b6,0x61b8,0x61b8,0x61ba,0x61be,0x61c3,0x61c3,0x61c6,0x61cc,0x61cf,0x61cf,0x61d5,0x61d5,0x61d7,0x61d7,0x61de,0x61df,0x61e3,0x61e3,0x61e6,0x61e6,0x61f2,0x61f2,0x61f6,0x61f8,0x61fa,0x61fa,0x61fc,0x6200,0x6207,0x6208,0x620a,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6218,0x6218,0x621a,0x621a,0x621e,0x621f,0x6221,0x6222,0x6226,0x6227,0x6229,0x622a,0x622d,0x622e,0x6230,0x6236,0x6239,0x6239,0x623e,0x6241,0x6243,0x6243,0x6247,0x624e,0x6251,0x6253,0x6257,0x6258,0x625b,0x625c,0x625e,0x625e,0x6263,0x6263,0x6268,0x6268,0x626e,0x626e,0x6271,0x6271,0x6273,0x6273,0x6276,0x6276,0x6279,0x627a,0x627c,0x627c,0x627e,0x6280,0x6283,0x6284,0x6286,0x6286,0x6289,0x628a,0x628f,0x628f,0x6291,0x6292,0x6294,0x6298,0x629b,0x629b,0x62a6,0x62a6,0x62a8,0x62a8,0x62ab,0x62ac,0x62ae,0x62ae,0x62b1,0x62b2,0x62b5,0x62b5,0x62b9,0x62b9,0x62bc,0x62bd,0x62c2,0x62c2,0x62c4,0x62cd,0x62cf,0x62d9,0x62db,0x62dc,0x62e1,0x62e1,0x62ec,0x62ef,0x62f1,0x62f1,0x62f3,0x62f3,0x62f5,0x62f7,0x62fd,0x62ff,0x6301,0x6302,0x6307,0x6307,0x6309,0x6309,0x630c,0x630c,0x6310,0x6312,0x6328,0x6328,0x632a,0x632b,0x632f,0x632f,0x6339,0x633b,0x633d,0x633e,0x6342,0x6344,0x6346,0x6346,0x6349,0x6349,0x634c,0x6350,0x6353,0x6353,0x6355,0x6355,0x6357,0x6357,0x635a,0x635a,0x6367,0x6369,0x636b,0x636b,0x636e,0x636e,0x6371,0x6372,0x6376,0x6377,0x637a,0x637b,0x637f,0x6380,0x6383,0x6384,0x6387,0x638a,0x638c,0x638c,0x638e,0x638f,0x6392,0x6392,0x6396,0x6396,0x6398,0x6398,0x639b,0x639c,0x639f,0x63a2,0x63a5,0x63a5,0x63a7,0x63aa,0x63ac,0x63ac,0x63be,0x63be,0x63c0,0x63c0,0x63c3,0x63c4,0x63c6,0x63c6,0x63c9,0x63c9,0x63cf,0x63d0,0x63d2,0x63d2,0x63d6,0x63d6,0x63da,0x63db,0x63df,0x63e1,0x63e3,0x63e3,0x63e9,0x63e9,0x63eb,0x63eb,0x63ed,0x63ee,0x63f2,0x63f2,0x63f4,0x63f7,0x6406,0x6406,0x6409,0x6409,0x640d,0x640d,0x640f,0x640f,0x6412,0x6412,0x6414,0x6414,0x6416,0x6418,0x641c,0x641c,0x6420,0x6420,0x6422,0x6422,0x6424,0x6425,0x6428,0x6428,0x642a,0x642d,0x642f,0x6430,0x6434,0x6434,0x6436,0x6436,0x643a,0x643a,0x643e,0x643e,0x6458,0x6458,0x645b,0x645b,0x645e,0x645e,0x6460,0x6460,0x6467,0x6467,0x6469,0x6469,0x646d,0x646d,0x646f,0x646f,0x6473,0x6473,0x6478,0x647b,0x647d,0x647d,0x6485,0x6485,0x6488,0x6488,0x6490,0x6493,0x6495,0x6495,0x6499,0x649b,0x649d,0x649f,0x64a4,0x64a5,0x64a9,0x64a9,0x64ab,0x64ab,0x64ad,0x64ae,0x64b0,0x64b0,0x64b2,0x64b2,0x64bb,0x64bc,0x64be,0x64bf,0x64c1,0x64c1,0x64c4,0x64c5,0x64c7,0x64c7,0x64c9,0x64ca,0x64cd,0x64ce,0x64d0,0x64d0,0x64d2,0x64d2,0x64d4,0x64d5,0x64d7,0x64d8,0x64da,0x64da,0x64e0,0x64e3,0x64e5,0x64e7,0x64ec,0x64ed,0x64ef,0x64ef,0x64f1,0x64f2,0x64f4,0x64f4,0x64fa,0x64fa,0x64fe,0x64fe,0x6500,0x6500,0x6502,0x6502,0x6504,0x6504,0x6507,0x6507,0x650a,0x650a,0x650f,0x650f,0x6514,0x6514,0x6518,0x6519,0x651d,0x651d,0x6522,0x6524,0x652a,0x652c,0x652f,0x652f,0x6532,0x6532,0x6534,0x6539,0x653b,0x653b,0x653d,0x653f,0x6543,0x6543,0x6545,0x6545,0x6548,0x6549,0x654d,0x654f,0x6551,0x6552,0x6554,0x6559,0x655d,0x655e,0x6562,0x6563,0x6566,0x6566,0x656c,0x656d,0x6572,0x6572,0x6574,0x6575,0x6577,0x6578,0x657e,0x657e,0x6581,0x6583,0x6585,0x6585,0x6587,0x6587,0x6589,0x6589,0x658c,0x658c,0x6590,0x6591,0x6597,0x6597,0x6599,0x6599,0x659b,0x659d,0x659f,0x659f,0x65a1,0x65a1,0x65a4,0x65a5,0x65a7,0x65a7,0x65ab,0x65ad,0x65af,0x65b2,0x65b7,0x65b7,0x65b9,0x65b9,0x65bc,0x65bd,0x65bf,0x65bf,0x65c1,0x65c6,0x65ca,0x65cc,0x65cf,0x65cf,0x65d2,0x65d2,0x65d7,0x65d7,0x65e0,0x65e1,0x65e3,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65ed,0x65f1,0x65f2,0x65f4,0x65f4,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6603,0x6606,0x6607,0x6609,0x660a,0x660c,0x6611,0x6613,0x6615,0x661b,0x661c,0x661e,0x6621,0x6623,0x6625,0x6627,0x6628,0x662b,0x662b,0x662d,0x662d,0x662f,0x6631,0x6634,0x6637,0x663a,0x663b,0x6641,0x6644,0x6648,0x6649,0x664b,0x664c,0x664e,0x6651,0x6659,0x665b,0x665d,0x6662,0x6664,0x6669,0x666b,0x6670,0x6673,0x6674,0x6676,0x667b,0x667d,0x667d,0x667f,0x667f,0x6684,0x6684,0x6687,0x6689,0x668b,0x668c,0x668e,0x668e,0x6690,0x6691,0x6696,0x6698,0x669a,0x669a,0x669d,0x669e,0x66a0,0x66a0,0x66a2,0x66a3,0x66ab,0x66ac,0x66ae,0x66ae,0x66b1,0x66b5,0x66b8,0x66bb,0x66be,0x66c1,0x66c4,0x66c9,0x66d3,0x66d4,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e3,0x66e6,0x66e6,0x66e8,0x66ea,0x66ec,0x66ec,0x66ee,0x66f0,0x66f2,0x66f4,0x66f7,0x66fa,0x66fc,0x66fc,0x66fe,0x6700,0x6703,0x6705,0x6708,0x670d,0x6710,0x6710,0x6714,0x6715,0x6717,0x6717,0x671b,0x671b,0x671d,0x6720,0x6722,0x6723,0x6726,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6734,0x6736,0x6736,0x673a,0x673a,0x673d,0x673e,0x6745,0x6746,0x6749,0x6749,0x674b,0x674c,0x674e,0x6751,0x6753,0x6753,0x6756,0x6756,0x675c,0x6760,0x6765,0x6765,0x676a,0x676a,0x676c,0x676d,0x676f,0x6773,0x6775,0x6775,0x6777,0x6777,0x677b,0x677c,0x677e,0x677f,0x6783,0x6783,0x6787,0x6787,0x6789,0x6789,0x678b,0x678c,0x678f,0x6790,0x6792,0x6793,0x6795,0x6795,0x6797,0x679a,0x679c,0x679d,0x67af,0x67b0,0x67b2,0x67b3,0x67b6,0x67b8,0x67be,0x67be,0x67c1,0x67c1,0x67c4,0x67c5,0x67ca,0x67ca,0x67cf,0x67d4,0x67d6,0x67da,0x67dd,0x67df,0x67e2,0x67e2,0x67e9,0x67e9,0x67ec,0x67ec,0x67ef,0x67f1,0x67f3,0x67f6,0x67f9,0x67f9,0x67fb,0x67fb,0x67fe,0x67ff,0x6803,0x6804,0x6810,0x6810,0x6812,0x6813,0x6816,0x6817,0x681d,0x681e,0x6821,0x6822,0x682a,0x682a,0x682e,0x682f,0x6831,0x6832,0x6834,0x6834,0x6838,0x6839,0x683b,0x683d,0x6840,0x6844,0x6846,0x6846,0x6848,0x6849,0x684e,0x684e,0x6850,0x6851,0x6853,0x6854,0x686d,0x686d,0x686f,0x686f,0x6874,0x6874,0x6876,0x6877,0x687e,0x687f,0x6881,0x6881,0x6883,0x6883,0x6885,0x6886,0x688f,0x688f,0x6893,0x6894,0x6897,0x6897,0x689b,0x689b,0x689d,0x689d,0x689f,0x68a3,0x68a7,0x68a8,0x68ad,0x68ad,0x68af,0x68b1,0x68b3,0x68b3,0x68b5,0x68b6,0x68c4,0x68c5,0x68c9,0x68cd,0x68d0,0x68d0,0x68d2,0x68d2,0x68d5,0x68d8,0x68da,0x68da,0x68df,0x68e0,0x68e3,0x68e3,0x68e7,0x68e8,0x68ec,0x68ec,0x68ee,0x68ee,0x68f2,0x68f2,0x68f9,0x68fd,0x6900,0x6901,0x6904,0x6906,0x690b,0x690b,0x690d,0x690f,0x6911,0x6912,0x6919,0x6919,0x691c,0x691c,0x6927,0x6927,0x6930,0x6930,0x6934,0x6934,0x6936,0x6936,0x6939,0x6939,0x693d,0x693d,0x693f,0x693f,0x6942,0x6942,0x694a,0x694a,0x694f,0x694f,0x6953,0x6955,0x6957,0x6957,0x6959,0x695a,0x695d,0x695e,0x6960,0x6963,0x6965,0x6965,0x6968,0x6968,0x696a,0x696f,0x6973,0x6973,0x6975,0x6975,0x6977,0x6979,0x697b,0x697b,0x697d,0x697d,0x698e,0x698e,0x6991,0x6991,0x6994,0x6995,0x6998,0x6998,0x699b,0x699c,0x699f,0x699f,0x69a4,0x69a7,0x69ad,0x69ae,0x69b0,0x69b2,0x69b4,0x69b4,0x69b7,0x69b7,0x69ba,0x69bc,0x69be,0x69c1,0x69c3,0x69c3,0x69c7,0x69c7,0x69ca,0x69d0,0x69d3,0x69d3,0x69d6,0x69d6,0x69e2,0x69e2,0x69e5,0x69ea,0x69ed,0x69ed,0x69f2,0x69f2,0x69f9,0x69f9,0x69fb,0x69fb,0x69fd,0x69fd,0x69ff,0x6a00,0x6a02,0x6a02,0x6a05,0x6a05,0x6a0a,0x6a0b,0x6a11,0x6a14,0x6a17,0x6a17,0x6a19,0x6a19,0x6a1b,0x6a1b,0x6a1e,0x6a1f,0x6a21,0x6a21,0x6a23,0x6a23,0x6a29,0x6a29,0x6a2b,0x6a2b,0x6a35,0x6a35,0x6a38,0x6a3b,0x6a3d,0x6a3d,0x6a43,0x6a45,0x6a47,0x6a4d,0x6a50,0x6a50,0x6a52,0x6a53,0x6a58,0x6a5a,0x6a5f,0x6a5f,0x6a61,0x6a62,0x6a64,0x6a64,0x6a66,0x6a66,0x6a6b,0x6a6b,0x6a72,0x6a72,0x6a75,0x6a75,0x6a7f,0x6a80,0x6a83,0x6a84,0x6a89,0x6a89,0x6a8d,0x6a8e,0x6a90,0x6a90,0x6a94,0x6a94,0x6a97,0x6a97,0x6a9c,0x6a9d,0x6a9f,0x6aa0,0x6aa2,0x6aa3,0x6aae,0x6aae,0x6ab3,0x6ab3,0x6ab6,0x6ab6,0x6abb,0x6abc,0x6abf,0x6abf,0x6ac2,0x6ac3,0x6ad3,0x6ad3,0x6ada,0x6adf,0x6ae8,0x6ae8,0x6aea,0x6aea,0x6aec,0x6aec,0x6af6,0x6af6,0x6afb,0x6afc,0x6b02,0x6b04,0x6b0a,0x6b0a,0x6b0c,0x6b0c,0x6b11,0x6b12,0x6b16,0x6b16,0x6b1e,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b2c,0x6b2c,0x6b32,0x6b32,0x6b37,0x6b3b,0x6b3d,0x6b3f,0x6b43,0x6b43,0x6b46,0x6b47,0x6b49,0x6b4a,0x6b4c,0x6b4c,0x6b4e,0x6b4e,0x6b50,0x6b50,0x6b54,0x6b54,0x6b59,0x6b5b,0x6b5f,0x6b67,0x6b69,0x6b6a,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b77,0x6b7b,0x6b7f,0x6b80,0x6b82,0x6b84,0x6b86,0x6b86,0x6b89,0x6b8a,0x6b8d,0x6b8d,0x6b91,0x6b91,0x6b96,0x6b96,0x6b98,0x6b98,0x6b9e,0x6b9e,0x6ba2,0x6ba2,0x6ba4,0x6ba4,0x6bab,0x6bab,0x6bad,0x6baf,0x6bb2,0x6bb3,0x6bb5,0x6bb5,0x6bb7,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc4,0x6bc6,0x6bcb,0x6bcb,0x6bcd,0x6bcd,0x6bcf,0x6bcf,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdb,0x6beb,0x6bec,0x6bef,0x6bef,0x6bf3,0x6bf3,0x6bf8,0x6bf8,0x6bff,0x6bff,0x6c05,0x6c05,0x6c08,0x6c08,0x6c0f,0x6c11,0x6c13,0x6c14,0x6c17,0x6c17,0x6c1b,0x6c1b,0x6c23,0x6c24,0x6c33,0x6c38,0x6c3e,0x6c43,0x6c4b,0x6c4b,0x6c4e,0x6c50,0x6c52,0x6c55,0x6c57,0x6c57,0x6c59,0x6c60,0x6c66,0x6c66,0x6c68,0x6c6a,0x6c6d,0x6c6d,0x6c70,0x6c70,0x6c72,0x6c72,0x6c74,0x6c74,0x6c76,0x6c76,0x6c7a,0x6c7a,0x6c7d,0x6c7e,0x6c81,0x6c89,0x6c8c,0x6c8d,0x6c90,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9b,0x6ca2,0x6ca2,0x6cab,0x6cac,0x6cae,0x6cae,0x6cb0,0x6cb1,0x6cb3,0x6cb3,0x6cb6,0x6cb6,0x6cb8,0x6cb9,0x6cbb,0x6cbf,0x6cc1,0x6cc2,0x6cc4,0x6cc6,0x6cc9,0x6cca,0x6ccc,0x6ccc,0x6cd0,0x6cd1,0x6cd3,0x6cd5,0x6cd7,0x6cd7,0x6cd9,0x6cdd,0x6ce0,0x6ce3,0x6ce5,0x6ce5,0x6ce8,0x6ce8,0x6ceb,0x6ceb,0x6cee,0x6cf1,0x6cf3,0x6cf3,0x6cff,0x6cff,0x6d04,0x6d04,0x6d07,0x6d07,0x6d0a,0x6d0c,0x6d11,0x6d12,0x6d14,0x6d14,0x6d17,0x6d17,0x6d19,0x6d19,0x6d1b,0x6d1b,0x6d1e,0x6d1f,0x6d23,0x6d23,0x6d25,0x6d25,0x6d27,0x6d2c,0x6d2e,0x6d2e,0x6d32,0x6d32,0x6d35,0x6d36,0x6d38,0x6d3e,0x6d41,0x6d41,0x6d59,0x6d5a,0x6d5c,0x6d5c,0x6d61,0x6d61,0x6d63,0x6d67,0x6d69,0x6d6a,0x6d6c,0x6d6c,0x6d6e,0x6d6f,0x6d72,0x6d72,0x6d74,0x6d74,0x6d77,0x6d79,0x6d7f,0x6d7f,0x6d82,0x6d82,0x6d85,0x6d85,0x6d87,0x6d89,0x6d8c,0x6d8f,0x6d91,0x6d91,0x6d93,0x6d97,0x6daa,0x6dac,0x6daf,0x6daf,0x6db2,0x6db2,0x6db4,0x6db5,0x6db7,0x6db8,0x6dbc,0x6dbc,0x6dbf,0x6dc0,0x6dc3,0x6dc8,0x6dcb,0x6dcc,0x6dcf,0x6dd2,0x6dd6,0x6dd6,0x6dd8,0x6dda,0x6ddd,0x6dde,0x6de0,0x6de6,0x6de8,0x6de8,0x6dea,0x6dec,0x6dee,0x6dee,0x6df1,0x6df1,0x6df3,0x6df3,0x6df5,0x6dfc,0x6e05,0x6e05,0x6e08,0x6e08,0x6e0a,0x6e0a,0x6e17,0x6e17,0x6e19,0x6e1b,0x6e1d,0x6e1d,0x6e1f,0x6e26,0x6e28,0x6e28,0x6e2b,0x6e2d,0x6e2f,0x6e2f,0x6e32,0x6e32,0x6e34,0x6e34,0x6e36,0x6e38,0x6e3a,0x6e3a,0x6e3c,0x6e3e,0x6e40,0x6e40,0x6e43,0x6e45,0x6e4a,0x6e4a,0x6e4d,0x6e4e,0x6e51,0x6e51,0x6e53,0x6e56,0x6e58,0x6e58,0x6e5b,0x6e5c,0x6e5e,0x6e5f,0x6e63,0x6e63,0x6e67,0x6e67,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e72,0x6e73,0x6e75,0x6e75,0x6e7a,0x6e7a,0x6e8f,0x6e90,0x6e95,0x6e96,0x6e98,0x6e98,0x6e9c,0x6e9d,0x6e9f,0x6e9f,0x6ea2,0x6ea2,0x6ea5,0x6ea5,0x6ea7,0x6ea8,0x6eaa,0x6eab,0x6eaf,0x6eaf,0x6eb1,0x6eb2,0x6eb5,0x6eb7,0x6eba,0x6eba,0x6ebd,0x6ebd,0x6ec2,0x6ec5,0x6ec8,0x6ec9,0x6ecb,0x6ecc,0x6ece,0x6ece,0x6ed1,0x6ed1,0x6ed3,0x6ed5,0x6ed9,0x6ed9,0x6eec,0x6eed,0x6eef,0x6eef,0x6ef2,0x6ef2,0x6ef4,0x6ef5,0x6ef7,0x6ef8,0x6efc,0x6efc,0x6efe,0x6eff,0x6f01,0x6f02,0x6f04,0x6f04,0x6f06,0x6f06,0x6f09,0x6f09,0x6f0c,0x6f0c,0x6f0f,0x6f0f,0x6f11,0x6f11,0x6f13,0x6f15,0x6f19,0x6f1a,0x6f20,0x6f20,0x6f22,0x6f24,0x6f26,0x6f28,0x6f2a,0x6f2d,0x6f30,0x6f33,0x6f38,0x6f38,0x6f3c,0x6f3c,0x6f3e,0x6f3f,0x6f41,0x6f41,0x6f4f,0x6f4f,0x6f51,0x6f52,0x6f54,0x6f54,0x6f57,0x6f5f,0x6f61,0x6f64,0x6f66,0x6f66,0x6f6d,0x6f71,0x6f74,0x6f74,0x6f78,0x6f78,0x6f7a,0x6f7a,0x6f7c,0x6f7e,0x6f81,0x6f82,0x6f84,0x6f84,0x6f86,0x6f89,0x6f8b,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f92,0x6f94,0x6f98,0x6f9f,0x6f9f,0x6fa1,0x6fa1,0x6fa3,0x6fa5,0x6fa7,0x6fa8,0x6faa,0x6faa,0x6fae,0x6faf,0x6fb1,0x6fb1,0x6fb3,0x6fb3,0x6fb6,0x6fb6,0x6fb9,0x6fb9,0x6fbe,0x6fbe,0x6fc0,0x6fc3,0x6fc6,0x6fc7,0x6fc9,0x6fca,0x6fd4,0x6fd5,0x6fd8,0x6fd8,0x6fda,0x6fdb,0x6fde,0x6fe1,0x6fe4,0x6fe6,0x6fe9,0x6fe9,0x6feb,0x6fec,0x6fee,0x6fef,0x6ff1,0x6ff1,0x6ff3,0x6ff4,0x6ff6,0x6ff6,0x6ffa,0x6ffa,0x6ffe,0x6ffe,0x7001,0x7001,0x7005,0x7007,0x7009,0x7009,0x700b,0x700b,0x700f,0x700f,0x7011,0x7013,0x7015,0x7015,0x7018,0x7018,0x701a,0x701f,0x7023,0x7023,0x7026,0x7028,0x702f,0x7030,0x7032,0x7032,0x7037,0x7038,0x703c,0x703c,0x703e,0x703e,0x7044,0x7044,0x7046,0x7046,0x704c,0x704c,0x704e,0x704e,0x7050,0x7051,0x7053,0x7053,0x7058,0x7058,0x705d,0x705e,0x7063,0x7063,0x7066,0x7066,0x7069,0x7069,0x706b,0x706c,0x706f,0x7070,0x7078,0x7078,0x707c,0x707e,0x7081,0x7081,0x7085,0x7086,0x708a,0x708a,0x708e,0x708e,0x7092,0x7092,0x7095,0x7095,0x7098,0x709b,0x70a1,0x70a1,0x70a4,0x70a4,0x70a6,0x70a6,0x70ab,0x70b0,0x70b3,0x70b3,0x70b7,0x70ba,0x70c8,0x70c8,0x70ca,0x70cb,0x70cf,0x70cf,0x70d3,0x70d4,0x70d8,0x70d9,0x70dc,0x70dd,0x70df,0x70df,0x70ef,0x70ef,0x70f1,0x70f1,0x70f9,0x70fa,0x70fd,0x70fd,0x7103,0x7104,0x7106,0x7106,0x7109,0x7109,0x710c,0x710c,0x7119,0x711a,0x711c,0x711c,0x711e,0x711e,0x7120,0x7121,0x7126,0x7126,0x712d,0x7131,0x7136,0x7136,0x7143,0x7143,0x7146,0x7147,0x7149,0x714a,0x714c,0x714c,0x714e,0x714e,0x7150,0x7150,0x7152,0x7153,0x7155,0x7157,0x7159,0x7159,0x715c,0x715e,0x7162,0x7162,0x7164,0x7169,0x716c,0x716c,0x716e,0x716e,0x717d,0x717d,0x7180,0x7180,0x7184,0x7185,0x7187,0x718a,0x718f,0x718f,0x7192,0x7192,0x7194,0x7194,0x7199,0x7199,0x719b,0x719b,0x719f,0x71a2,0x71a4,0x71a4,0x71a8,0x71a9,0x71ac,0x71ac,0x71af,0x71af,0x71b1,0x71b2,0x71b9,0x71ba,0x71be,0x71be,0x71c1,0x71c1,0x71c3,0x71c3,0x71c8,0x71c9,0x71cb,0x71cb,0x71ce,0x71d0,0x71d2,0x71d2,0x71d4,0x71d6,0x71d9,0x71d9,0x71db,0x71db,0x71df,0x71e0,0x71e5,0x71e7,0x71ec,0x71ee,0x71f9,0x71f9,0x71fb,0x7201,0x7206,0x7207,0x720b,0x720d,0x7210,0x7210,0x7214,0x7214,0x7217,0x7217,0x721a,0x721b,0x721f,0x721f,0x7225,0x7225,0x7228,0x7228,0x722a,0x722a,0x722c,0x722d,0x7230,0x7230,0x7232,0x7232,0x7235,0x7236,0x7238,0x723b,0x723d,0x7240,0x7242,0x7242,0x7246,0x7248,0x724b,0x724c,0x7252,0x7254,0x7256,0x7256,0x7258,0x725b,0x725d,0x725d,0x725f,0x725f,0x7261,0x7263,0x7267,0x7267,0x7269,0x7269,0x726f,0x726f,0x7272,0x7272,0x7274,0x7274,0x7278,0x7279,0x727d,0x727d,0x7280,0x7282,0x7287,0x7287,0x728d,0x728d,0x7292,0x7292,0x7296,0x7296,0x72a2,0x72a2,0x72a7,0x72a7,0x72ac,0x72ad,0x72af,0x72af,0x72b3,0x72b5,0x72c0,0x72c0,0x72c2,0x72c2,0x72c4,0x72c4,0x72c9,0x72c9,0x72ce,0x72ce,0x72d0,0x72d0,0x72d2,0x72d2,0x72d7,0x72d7,0x72d9,0x72d9,0x72e1,0x72e2,0x72e5,0x72e5,0x72e8,0x72e9,0x72ec,0x72ec,0x72f4,0x72f4,0x72f7,0x72fd,0x7309,0x730a,0x7313,0x7313,0x7316,0x7319,0x731b,0x731d,0x7322,0x7322,0x7325,0x7325,0x7327,0x732b,0x7331,0x7331,0x7334,0x7334,0x7336,0x7337,0x733e,0x733f,0x7343,0x7345,0x734e,0x734e,0x7350,0x7350,0x7352,0x7352,0x7357,0x7358,0x735c,0x735c,0x7360,0x7360,0x7368,0x736c,0x736f,0x7370,0x7372,0x7372,0x7375,0x7375,0x7377,0x7378,0x737a,0x737c,0x7381,0x7381,0x7384,0x7384,0x7386,0x7389,0x738b,0x738b,0x738e,0x738e,0x7392,0x7392,0x7394,0x7398,0x739e,0x73a0,0x73a6,0x73a7,0x73a9,0x73ab,0x73ad,0x73ad,0x73b2,0x73b4,0x73b7,0x73b7,0x73b9,0x73b9,0x73bb,0x73bd,0x73bf,0x73c0,0x73c2,0x73c2,0x73c6,0x73c6,0x73c8,0x73ca,0x73cc,0x73cd,0x73cf,0x73cf,0x73d2,0x73d2,0x73d6,0x73d9,0x73dd,0x73de,0x73e0,0x73e0,0x73e2,0x73e6,0x73e9,0x73eb,0x73ed,0x73ee,0x73f5,0x73f5,0x73f7,0x73f9,0x73fd,0x73fe,0x7401,0x7401,0x7403,0x7407,0x7409,0x7409,0x7413,0x7413,0x7417,0x7418,0x741b,0x741b,0x741d,0x741d,0x741f,0x7422,0x7424,0x7426,0x7428,0x7428,0x742a,0x742c,0x742e,0x7436,0x7438,0x7438,0x743a,0x743a,0x743f,0x7446,0x7448,0x7449,0x744b,0x744c,0x744e,0x744e,0x7455,0x7455,0x7457,0x7457,0x7459,0x7460,0x7462,0x7465,0x7468,0x746a,0x746d,0x7473,0x747d,0x747e,0x7480,0x7480,0x7482,0x7487,0x7489,0x748c,0x7490,0x7490,0x7498,0x7498,0x749c,0x749f,0x74a1,0x74a1,0x74a3,0x74a3,0x74a5,0x74a5,0x74a7,0x74a8,0x74aa,0x74ab,0x74b0,0x74b2,0x74b5,0x74b6,0x74b8,0x74b9,0x74bc,0x74bd,0x74bf,0x74c0,0x74c6,0x74c6,0x74ca,0x74ca,0x74cd,0x74cd,0x74cf,0x74d0,0x74d3,0x74d4,0x74d8,0x74d8,0x74da,0x74dc,0x74e0,0x74e0,0x74e2,0x74e3,0x74e6,0x74e6,0x74e9,0x74e9,0x74ee,0x74ee,0x74f2,0x74f3,0x74f7,0x74f7,0x7501,0x7501,0x7503,0x7504,0x750c,0x750e,0x7511,0x7511,0x7513,0x7513,0x7515,0x7515,0x7518,0x7518,0x751a,0x751c,0x751e,0x751f,0x7522,0x7526,0x7528,0x7528,0x752b,0x752c,0x7530,0x7533,0x7537,0x7538,0x753a,0x753b,0x753f,0x753f,0x7543,0x7543,0x7547,0x7547,0x754a,0x754c,0x754e,0x754f,0x7551,0x7551,0x7553,0x7554,0x7559,0x755d,0x7560,0x7560,0x7562,0x7562,0x7564,0x7567,0x756a,0x756b,0x756f,0x7570,0x7575,0x7576,0x7578,0x7578,0x757a,0x757a,0x757f,0x757f,0x7586,0x7588,0x758a,0x758b,0x758e,0x758f,0x7591,0x7592,0x7594,0x7594,0x7599,0x759a,0x759d,0x759d,0x75a3,0x75a3,0x75a5,0x75a5,0x75a9,0x75a9,0x75ab,0x75ab,0x75b1,0x75b5,0x75b8,0x75b9,0x75bc,0x75be,0x75c0,0x75c0,0x75c2,0x75c3,0x75c5,0x75c5,0x75c7,0x75c7,0x75ca,0x75ca,0x75cd,0x75ce,0x75d2,0x75d5,0x75d8,0x75d9,0x75db,0x75db,0x75de,0x75de,0x75e2,0x75e4,0x75e7,0x75e7,0x75f0,0x75f0,0x75f2,0x75f4,0x75f9,0x75fa,0x75fc,0x75fc,0x75ff,0x7601,0x7607,0x7609,0x760b,0x760b,0x760d,0x760d,0x7610,0x7610,0x7615,0x7615,0x7619,0x7619,0x761f,0x7622,0x7624,0x7624,0x7626,0x7627,0x762f,0x7631,0x7633,0x7634,0x763b,0x763b,0x7642,0x7643,0x7646,0x7649,0x764c,0x764c,0x764e,0x764e,0x7652,0x7652,0x7655,0x7656,0x7658,0x7658,0x765c,0x765c,0x7661,0x7662,0x7664,0x7665,0x7667,0x7669,0x766c,0x7672,0x7676,0x7676,0x7678,0x7678,0x767a,0x767e,0x7680,0x7681,0x7683,0x7684,0x7686,0x7687,0x768b,0x768b,0x768e,0x768e,0x7690,0x7690,0x7692,0x7693,0x7696,0x7697,0x769a,0x769c,0x769e,0x769e,0x76a4,0x76a4,0x76ac,0x76ac,0x76ae,0x76ae,0x76b4,0x76b4,0x76b6,0x76b6,0x76b8,0x76b8,0x76ba,0x76ba,0x76bf,0x76bf,0x76c2,0x76c3,0x76c6,0x76c6,0x76c8,0x76c8,0x76ca,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76d9,0x76db,0x76dc,0x76de,0x76df,0x76e1,0x76e1,0x76e3,0x76e5,0x76e7,0x76e7,0x76ea,0x76ea,0x76ec,0x76ec,0x76ee,0x76ee,0x76f1,0x76f2,0x76f4,0x76f4,0x76f8,0x76f9,0x76fb,0x76fc,0x76fe,0x7702,0x7704,0x7704,0x7707,0x770c,0x7710,0x7710,0x771a,0x771b,0x771e,0x7720,0x7725,0x7726,0x7728,0x7729,0x7734,0x7734,0x7737,0x773c,0x773e,0x773e,0x7740,0x7740,0x7743,0x7743,0x7746,0x7747,0x774d,0x774d,0x7752,0x7752,0x775a,0x775b,0x775f,0x7763,0x7765,0x7766,0x7768,0x7768,0x776b,0x776c,0x7777,0x7777,0x7779,0x7779,0x777d,0x777f,0x778b,0x778b,0x778d,0x778e,0x7791,0x7791,0x7796,0x7796,0x7799,0x7799,0x779e,0x779e,0x77a0,0x77a0,0x77a2,0x77a2,0x77a5,0x77a5,0x77aa,0x77aa,0x77ac,0x77ae,0x77b0,0x77b0,0x77b3,0x77b3,0x77b9,0x77b9,0x77bb,0x77bd,0x77bf,0x77bf,0x77c7,0x77c7,0x77c9,0x77c9,0x77cd,0x77cd,0x77d7,0x77d7,0x77d9,0x77dc,0x77de,0x77de,0x77e1,0x77e3,0x77e5,0x77e5,0x77e7,0x77e7,0x77e9,0x77e9,0x77ed,0x77f0,0x77f3,0x77f3,0x77f8,0x77f8,0x77fa,0x77fd,0x7802,0x7802,0x7807,0x7807,0x780c,0x780c,0x780f,0x780f,0x7811,0x7812,0x7814,0x7814,0x7822,0x7822,0x7825,0x7827,0x782c,0x782d,0x7830,0x7830,0x7832,0x7832,0x7834,0x7834,0x7843,0x7843,0x7845,0x7845,0x784f,0x784f,0x785c,0x785d,0x7860,0x7860,0x7867,0x7868,0x786a,0x786c,0x786e,0x786f,0x787c,0x787c,0x7881,0x7881,0x7884,0x7884,0x7887,0x7887,0x788c,0x788f,0x7891,0x7891,0x7893,0x7893,0x7897,0x7897,0x789f,0x789f,0x78a3,0x78a4,0x78a7,0x78a9,0x78ac,0x78ad,0x78ba,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c5,0x78c5,0x78c8,0x78c8,0x78ca,0x78cb,0x78ce,0x78d1,0x78d4,0x78d5,0x78da,0x78da,0x78e0,0x78e0,0x78e7,0x78e8,0x78ea,0x78ea,0x78ec,0x78ec,0x78ef,0x78ef,0x78f4,0x78f5,0x78f7,0x78f7,0x78fa,0x78fd,0x7901,0x7901,0x790c,0x790c,0x790e,0x790f,0x7911,0x7912,0x7916,0x7916,0x7919,0x7919,0x7927,0x7927,0x792a,0x792d,0x7931,0x7931,0x793a,0x793c,0x793e,0x793e,0x7940,0x7941,0x7944,0x794a,0x7950,0x7950,0x7953,0x7958,0x795a,0x7960,0x7962,0x7962,0x7965,0x7965,0x7967,0x7968,0x796d,0x796d,0x7979,0x797a,0x797c,0x797c,0x797f,0x7981,0x798a,0x798b,0x798d,0x798f,0x7991,0x7991,0x7994,0x7994,0x799b,0x799b,0x799d,0x799d,0x79a6,0x79a8,0x79aa,0x79ab,0x79ae,0x79ae,0x79b0,0x79b1,0x79b3,0x79b4,0x79b8,0x79c1,0x79c4,0x79c4,0x79c6,0x79c6,0x79c9,0x79cb,0x79d1,0x79d2,0x79d5,0x79d5,0x79d8,0x79d8,0x79de,0x79df,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ec,0x79f5,0x79f5,0x79f8,0x79f8,0x79fb,0x79fb,0x7a00,0x7a02,0x7a05,0x7a05,0x7a08,0x7a08,0x7a0a,0x7a0d,0x7a14,0x7a14,0x7a17,0x7a1a,0x7a1c,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a27,0x7a27,0x7a2e,0x7a2e,0x7a30,0x7a31,0x7a33,0x7a33,0x7a36,0x7a37,0x7a39,0x7a39,0x7a3b,0x7a3d,0x7a3f,0x7a40,0x7a42,0x7a42,0x7a45,0x7a46,0x7a49,0x7a49,0x7a4c,0x7a4e,0x7a57,0x7a57,0x7a60,0x7a62,0x7a66,0x7a66,0x7a69,0x7a69,0x7a6b,0x7a6b,0x7a70,0x7a70,0x7a74,0x7a76,0x7a79,0x7a7a,0x7a7d,0x7a86,0x7a88,0x7a88,0x7a8a,0x7a8a,0x7a92,0x7a93,0x7a95,0x7a99,0x7a9b,0x7a9b,0x7a9f,0x7aa0,0x7aa3,0x7aa3,0x7aa9,0x7aaa,0x7aac,0x7aac,0x7aae,0x7aaf,0x7ab3,0x7ab3,0x7ab6,0x7ab6,0x7ab9,0x7abb,0x7abe,0x7abf,0x7ac4,0x7ac5,0x7ac7,0x7ac8,0x7aca,0x7acb,0x7ad7,0x7ad7,0x7ad9,0x7ad9,0x7adc,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae3,0x7ae5,0x7ae6,0x7aea,0x7aea,0x7aed,0x7aed,0x7aef,0x7aef,0x7af4,0x7af4,0x7af6,0x7af6,0x7af8,0x7afa,0x7afd,0x7afd,0x7aff,0x7aff,0x7b06,0x7b06,0x7b08,0x7b08,0x7b0a,0x7b0a,0x7b0c,0x7b0c,0x7b0e,0x7b0f,0x7b11,0x7b12,0x7b18,0x7b19,0x7b1b,0x7b1b,0x7b1e,0x7b1e,0x7b20,0x7b20,0x7b25,0x7b28,0x7b2c,0x7b2d,0x7b2f,0x7b2f,0x7b33,0x7b33,0x7b35,0x7b35,0x7b39,0x7b39,0x7b45,0x7b46,0x7b48,0x7b49,0x7b4b,0x7b4d,0x7b4f,0x7b54,0x7b56,0x7b56,0x7b5f,0x7b60,0x7b65,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b6c,0x7b6e,0x7b6e,0x7b71,0x7b71,0x7b73,0x7b73,0x7b75,0x7b75,0x7b7d,0x7b7d,0x7b87,0x7b87,0x7b8b,0x7b8b,0x7b8d,0x7b8f,0x7b92,0x7b92,0x7b94,0x7b95,0x7b97,0x7b97,0x7b99,0x7b9a,0x7b9c,0x7b9d,0x7ba0,0x7ba1,0x7bad,0x7bad,0x7bb1,0x7bb1,0x7bb4,0x7bb4,0x7bb8,0x7bb8,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc4,0x7bc6,0x7bc7,0x7bc9,0x7bcc,0x7bd2,0x7bd2,0x7bd4,0x7bd4,0x7bd9,0x7bd9,0x7bdb,0x7bdb,0x7bdd,0x7bdd,0x7be0,0x7be1,0x7be4,0x7be4,0x7be6,0x7be6,0x7be9,0x7bea,0x7bf3,0x7bf3,0x7bf7,0x7bf7,0x7bfe,0x7bfe,0x7c00,0x7c00,0x7c07,0x7c07,0x7c09,0x7c09,0x7c0b,0x7c0b,0x7c0f,0x7c0f,0x7c12,0x7c12,0x7c1e,0x7c21,0x7c27,0x7c27,0x7c2a,0x7c2b,0x7c37,0x7c38,0x7c3d,0x7c3f,0x7c43,0x7c43,0x7c4c,0x7c4d,0x7c50,0x7c50,0x7c52,0x7c52,0x7c54,0x7c54,0x7c5b,0x7c5c,0x7c5f,0x7c60,0x7c64,0x7c65,0x7c67,0x7c67,0x7c69,0x7c69,0x7c6c,0x7c6c,0x7c72,0x7c73,0x7c7e,0x7c7e,0x7c81,0x7c81,0x7c83,0x7c83,0x7c89,0x7c89,0x7c8d,0x7c8d,0x7c92,0x7c92,0x7c95,0x7c95,0x7c97,0x7c98,0x7c9f,0x7c9f,0x7ca2,0x7ca2,0x7ca4,0x7ca8,0x7cae,0x7cae,0x7cb1,0x7cb3,0x7cb9,0x7cb9,0x7cbc,0x7cbe,0x7cc5,0x7cc6,0x7cca,0x7cca,0x7cd5,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce5,0x7ce5,0x7ce7,0x7ce7,0x7cef,0x7cef,0x7cf1,0x7cf2,0x7cf4,0x7cf6,0x7cf8,0x7cfb,0x7cfe,0x7cfe,0x7d00,0x7d00,0x7d02,0x7d08,0x7d0a,0x7d0b,0x7d0d,0x7d0d,0x7d10,0x7d10,0x7d13,0x7d15,0x7d17,0x7d1c,0x7d20,0x7d22,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d35,0x7d38,0x7d3a,0x7d41,0x7d46,0x7d49,0x7d49,0x7d4c,0x7d4d,0x7d50,0x7d51,0x7d55,0x7d56,0x7d59,0x7d59,0x7d5b,0x7d5c,0x7d5e,0x7d5e,0x7d61,0x7d63,0x7d66,0x7d66,0x7d68,0x7d6a,0x7d6e,0x7d6e,0x7d70,0x7d73,0x7d75,0x7d76,0x7d79,0x7d7a,0x7d7f,0x7d7f,0x7d83,0x7d83,0x7d86,0x7d86,0x7d8e,0x7d8f,0x7d93,0x7d93,0x7d98,0x7d98,0x7d9a,0x7d9a,0x7d9c,0x7d9c,0x7da0,0x7da0,0x7da2,0x7da3,0x7da5,0x7da7,0x7da9,0x7da9,0x7dab,0x7dae,0x7db0,0x7db2,0x7db4,0x7db5,0x7db8,0x7db8,0x7dba,0x7dbb,0x7dbd,0x7dbf,0x7dc4,0x7dc4,0x7dc7,0x7dc7,0x7dca,0x7dcd,0x7dcf,0x7dcf,0x7dd6,0x7dd8,0x7dda,0x7dda,0x7ddc,0x7dde,0x7de0,0x7de1,0x7de3,0x7de3,0x7de6,0x7de6,0x7de8,0x7de9,0x7dec,0x7dec,0x7def,0x7def,0x7df4,0x7df4,0x7df6,0x7df6,0x7df9,0x7df9,0x7dfb,0x7dfb,0x7e03,0x7e03,0x7e08,0x7e0b,0x7e10,0x7e11,0x7e15,0x7e15,0x7e17,0x7e18,0x7e1b,0x7e1b,0x7e1d,0x7e23,0x7e2b,0x7e2b,0x7e2e,0x7e2f,0x7e31,0x7e33,0x7e35,0x7e35,0x7e37,0x7e37,0x7e39,0x7e39,0x7e3b,0x7e3b,0x7e3d,0x7e3e,0x7e41,0x7e41,0x7e43,0x7e48,0x7e50,0x7e50,0x7e52,0x7e52,0x7e54,0x7e57,0x7e59,0x7e5a,0x7e5e,0x7e5e,0x7e61,0x7e62,0x7e69,0x7e6b,0x7e6d,0x7e6d,0x7e6f,0x7e70,0x7e76,0x7e76,0x7e79,0x7e79,0x7e7c,0x7e7e,0x7e81,0x7e82,0x7e87,0x7e88,0x7e8a,0x7e8a,0x7e8c,0x7e8d,0x7e8f,0x7e8f,0x7e93,0x7e94,0x7e96,0x7e96,0x7e98,0x7e98,0x7e9b,0x7e9c,0x7e9f,0x7e9f,0x7f36,0x7f38,0x7f3a,0x7f3a,0x7f3e,0x7f3f,0x7f43,0x7f45,0x7f47,0x7f47,0x7f4b,0x7f4e,0x7f50,0x7f55,0x7f58,0x7f58,0x7f5d,0x7f5d,0x7f5f,0x7f61,0x7f63,0x7f63,0x7f66,0x7f66,0x7f68,0x7f68,0x7f6a,0x7f6b,0x7f6e,0x7f6e,0x7f70,0x7f70,0x7f72,0x7f72,0x7f75,0x7f75,0x7f77,0x7f79,0x7f7c,0x7f7e,0x7f82,0x7f82,0x7f85,0x7f88,0x7f8a,0x7f8a,0x7f8c,0x7f8c,0x7f8e,0x7f8e,0x7f94,0x7f94,0x7f96,0x7f98,0x7f9a,0x7f9a,0x7f9d,0x7f9e,0x7fa1,0x7fa1,0x7fa4,0x7fa4,0x7fa8,0x7fa9,0x7fab,0x7fab,0x7faf,0x7faf,0x7fb2,0x7fb2,0x7fb6,0x7fb6,0x7fb8,0x7fb9,0x7fbd,0x7fbd,0x7fbf,0x7fbf,0x7fc1,0x7fc1,0x7fc5,0x7fc5,0x7fca,0x7fca,0x7fcc,0x7fcc,0x7fce,0x7fce,0x7fd2,0x7fd2,0x7fd4,0x7fd6,0x7fdb,0x7fdb,0x7fdf,0x7fe1,0x7fe3,0x7fe4,0x7fe6,0x7fe6,0x7fe9,0x7fe9,0x7feb,0x7fec,0x7fee,0x7fee,0x7ff0,0x7ff0,0x7ff3,0x7ff3,0x7ff9,0x7ffc,0x7ffe,0x7ffe,0x8000,0x8009,0x800c,0x800c,0x8010,0x8012,0x8014,0x8019,0x801e,0x801e,0x8021,0x8021,0x8026,0x8026,0x8028,0x8028,0x802c,0x802d,0x8030,0x8030,0x8033,0x8033,0x8036,0x8036,0x803d,0x803d,0x803f,0x803f,0x8043,0x8043,0x8046,0x8046,0x8048,0x8048,0x804a,0x804a,0x8052,0x8052,0x8055,0x8056,0x8058,0x8058,0x805a,0x805a,0x805e,0x805e,0x8061,0x8061,0x806f,0x8073,0x8075,0x8077,0x807d,0x8080,0x8084,0x8087,0x8089,0x8089,0x808b,0x808c,0x8093,0x8093,0x8096,0x8096,0x8098,0x8098,0x809a,0x809b,0x809d,0x809d,0x80a1,0x80a2,0x80a5,0x80a6,0x80a9,0x80ab,0x80ad,0x80ad,0x80af,0x80af,0x80b1,0x80b2,0x80b4,0x80b5,0x80ba,0x80ba,0x80c3,0x80c4,0x80c6,0x80c6,0x80ca,0x80ca,0x80cc,0x80cc,0x80ce,0x80ce,0x80d5,0x80d6,0x80d9,0x80dc,0x80de,0x80de,0x80e0,0x80e1,0x80e4,0x80e5,0x80ef,0x80ef,0x80f1,0x80f1,0x80f4,0x80f4,0x80f7,0x80f8,0x80fd,0x80fe,0x8102,0x8102,0x8105,0x810a,0x8116,0x8118,0x811a,0x811b,0x8123,0x8124,0x8127,0x8127,0x8129,0x8129,0x812b,0x812b,0x812f,0x8130,0x8139,0x813a,0x813e,0x813e,0x8141,0x8141,0x8146,0x8146,0x814a,0x814b,0x814e,0x814e,0x8150,0x8155,0x8160,0x8160,0x8164,0x8166,0x816b,0x816b,0x816d,0x816d,0x8170,0x8171,0x8174,0x8174,0x8176,0x817a,0x817f,0x8180,0x8182,0x8184,0x8186,0x8186,0x8188,0x8188,0x818a,0x818b,0x818f,0x818f,0x819a,0x819a,0x819c,0x819e,0x81a0,0x81a0,0x81a3,0x81a3,0x81a8,0x81a9,0x81b0,0x81b0,0x81b3,0x81b5,0x81b8,0x81ba,0x81bd,0x81c0,0x81c2,0x81c2,0x81c6,0x81c6,0x81ca,0x81ca,0x81cd,0x81cd,0x81cf,0x81cf,0x81d1,0x81d1,0x81d8,0x81da,0x81dd,0x81dd,0x81df,0x81e0,0x81e3,0x81e3,0x81e5,0x81e5,0x81e7,0x81e8,0x81ea,0x81ea,0x81ec,0x81ed,0x81f3,0x81f4,0x81f6,0x81f6,0x81fa,0x81fc,0x81fe,0x81fe,0x8201,0x8203,0x8205,0x8205,0x8207,0x8208,0x820a,0x820a,0x820c,0x820d,0x8210,0x8210,0x8212,0x8212,0x8216,0x8216,0x8218,0x8218,0x821b,0x821c,0x821e,0x821f,0x8221,0x8221,0x822a,0x822c,0x8233,0x8233,0x8235,0x8239,0x823d,0x823d,0x8240,0x8240,0x8245,0x8245,0x8247,0x8247,0x8251,0x8251,0x8258,0x825a,0x825f,0x825f,0x8264,0x8264,0x8266,0x8266,0x8268,0x8268,0x826a,0x826b,0x826e,0x826f,0x8271,0x8272,0x8274,0x8274,0x8276,0x8279,0x827d,0x827e,0x8283,0x8283,0x828a,0x828b,0x828d,0x828e,0x8290,0x8290,0x8292,0x8292,0x8294,0x8294,0x8298,0x829a,0x829d,0x829d,0x829f,0x829f,0x82a1,0x82a3,0x82a5,0x82b1,0x82b3,0x82b3,0x82b7,0x82b9,0x82bb,0x82bf,0x82c5,0x82c5,0x82d1,0x82d5,0x82d7,0x82d7,0x82db,0x82dc,0x82de,0x82e1,0x82e3,0x82e3,0x82e5,0x82e7,0x82e9,0x82e9,0x82eb,0x82eb,0x82f1,0x82f1,0x82f3,0x82f4,0x82f9,0x82fb,0x82fd,0x8305,0x8308,0x8309,0x8317,0x8317,0x831b,0x831d,0x8323,0x8325,0x8328,0x8328,0x832a,0x832b,0x832f,0x832f,0x8331,0x8336,0x8338,0x8339,0x833c,0x833c,0x8340,0x8340,0x8343,0x8343,0x8347,0x8347,0x8349,0x834a,0x834f,0x8352,0x8363,0x8363,0x8373,0x8373,0x8377,0x8377,0x837a,0x837b,0x8382,0x8382,0x8385,0x8385,0x8389,0x838a,0x838e,0x838e,0x8392,0x8393,0x8396,0x8396,0x8398,0x8398,0x839a,0x839b,0x839d,0x83a0,0x83a2,0x83a2,0x83a8,0x83ab,0x83bd,0x83c2,0x83c5,0x83c5,0x83c9,0x83ca,0x83cc,0x83cc,0x83d1,0x83d1,0x83d3,0x83d4,0x83d6,0x83d6,0x83d8,0x83d8,0x83dc,0x83dc,0x83df,0x83e1,0x83e9,0x83e9,0x83eb,0x83eb,0x83ef,0x83f2,0x83f4,0x83f4,0x83f6,0x83f6,0x83f9,0x83f9,0x83fb,0x83fb,0x83fd,0x83fd,0x8403,0x8404,0x8406,0x8407,0x840a,0x840e,0x8429,0x8429,0x842c,0x842c,0x8431,0x8431,0x8435,0x8435,0x8438,0x8439,0x843c,0x843d,0x8446,0x8446,0x8449,0x844a,0x8451,0x8451,0x8457,0x8457,0x845a,0x845b,0x8461,0x8461,0x8463,0x8463,0x8466,0x8466,0x8469,0x846d,0x846f,0x8471,0x8473,0x8473,0x8475,0x8475,0x8477,0x8477,0x847a,0x847a,0x8482,0x8482,0x8490,0x8491,0x8494,0x8494,0x8499,0x8499,0x849c,0x849c,0x849f,0x849f,0x84a1,0x84a1,0x84a8,0x84a8,0x84ad,0x84ad,0x84af,0x84af,0x84b2,0x84b2,0x84b4,0x84b4,0x84b8,0x84bd,0x84bf,0x84c2,0x84c4,0x84c4,0x84c6,0x84c6,0x84c9,0x84cb,0x84cd,0x84cd,0x84cf,0x84d1,0x84d3,0x84d3,0x84d6,0x84d6,0x84da,0x84da,0x84ec,0x84ef,0x84f1,0x84f1,0x84f4,0x84f4,0x84fa,0x84fa,0x84fc,0x84fd,0x8500,0x8500,0x8506,0x8506,0x850e,0x850e,0x8511,0x8511,0x8513,0x8515,0x8517,0x8518,0x851a,0x851a,0x851e,0x851f,0x8521,0x8521,0x8523,0x8523,0x8525,0x8526,0x852a,0x852a,0x852c,0x852d,0x852f,0x8530,0x853d,0x853d,0x853f,0x853f,0x8541,0x8541,0x8543,0x8543,0x8546,0x8546,0x8549,0x854b,0x854e,0x854e,0x8553,0x8553,0x8555,0x8559,0x855e,0x855e,0x8561,0x8561,0x8563,0x8564,0x8568,0x856b,0x856d,0x856d,0x8578,0x8578,0x857a,0x857a,0x857e,0x857e,0x8580,0x8580,0x8584,0x8584,0x8586,0x8587,0x8589,0x858a,0x858c,0x858c,0x858f,0x858f,0x8591,0x8591,0x8594,0x8594,0x8597,0x8597,0x8599,0x8599,0x859b,0x859b,0x859d,0x859d,0x85a4,0x85a6,0x85a8,0x85ab,0x85af,0x85b0,0x85ba,0x85ba,0x85c1,0x85c1,0x85c7,0x85c7,0x85c9,0x85c9,0x85cd,0x85d0,0x85d5,0x85d5,0x85dc,0x85dd,0x85e4,0x85e5,0x85e9,0x85ea,0x85f7,0x85f7,0x85f9,0x85fb,0x85fd,0x85fd,0x85ff,0x8600,0x8602,0x8602,0x8604,0x8604,0x8606,0x8607,0x860a,0x860b,0x8616,0x8618,0x861a,0x861a,0x861f,0x861f,0x8622,0x8622,0x8627,0x8627,0x8629,0x862a,0x862d,0x862d,0x862f,0x862f,0x863c,0x863c,0x863f,0x863f,0x8641,0x8641,0x864d,0x864e,0x8650,0x8650,0x8653,0x8655,0x865b,0x865c,0x865e,0x865f,0x8667,0x8667,0x866b,0x866c,0x866f,0x866f,0x8671,0x8671,0x8678,0x867b,0x868a,0x868d,0x8693,0x8693,0x8695,0x8695,0x86a3,0x86a4,0x86a8,0x86aa,0x86af,0x86b1,0x86b4,0x86b4,0x86c0,0x86c0,0x86c5,0x86c7,0x86c9,0x86c9,0x86cb,0x86cb,0x86d4,0x86d4,0x86d9,0x86d9,0x86db,0x86db,0x86de,0x86df,0x86e3,0x86e4,0x86e9,0x86e9,0x86ec,0x86ed,0x86f8,0x86f9,0x86fb,0x86fb,0x86fe,0x86fe,0x8700,0x8700,0x8702,0x8703,0x8706,0x8706,0x8708,0x870b,0x8711,0x8711,0x8718,0x8718,0x871a,0x871a,0x871c,0x871d,0x8721,0x8721,0x8725,0x8725,0x8728,0x8729,0x8734,0x8735,0x8737,0x8737,0x873a,0x873b,0x873f,0x8740,0x874c,0x874c,0x874e,0x874e,0x8755,0x8755,0x8757,0x8757,0x8759,0x8759,0x875f,0x8760,0x8764,0x8766,0x8768,0x8768,0x876e,0x876e,0x8774,0x8774,0x8776,0x8776,0x8778,0x8778,0x8782,0x8783,0x878c,0x878d,0x8798,0x8798,0x879e,0x879f,0x87a2,0x87a3,0x87ad,0x87ad,0x87b3,0x87b4,0x87ba,0x87bb,0x87bd,0x87bd,0x87c0,0x87c0,0x87c4,0x87c4,0x87c7,0x87c7,0x87ca,0x87cb,0x87d2,0x87d2,0x87da,0x87db,0x87e0,0x87e0,0x87e3,0x87e3,0x87ec,0x87ec,0x87ef,0x87ef,0x87f2,0x87f2,0x87f7,0x87f7,0x87f9,0x87f9,0x87fb,0x87fb,0x87fe,0x87fe,0x8805,0x8805,0x880d,0x880d,0x8811,0x8811,0x8815,0x8815,0x881f,0x881f,0x8821,0x8823,0x8831,0x8832,0x8836,0x8836,0x8839,0x8839,0x883b,0x883b,0x8840,0x8840,0x8844,0x8844,0x8846,0x8846,0x884a,0x884a,0x884c,0x884e,0x8852,0x8853,0x8857,0x8857,0x8859,0x8859,0x885b,0x885b,0x885d,0x885e,0x8861,0x8864,0x8868,0x8868,0x886b,0x886b,0x886e,0x886e,0x8870,0x8870,0x8872,0x8872,0x8877,0x8877,0x887d,0x887f,0x8881,0x8882,0x8888,0x8888,0x888b,0x888b,0x888d,0x888d,0x8892,0x8892,0x8896,0x8897,0x889b,0x889b,0x889d,0x889e,0x88a2,0x88a2,0x88aa,0x88ab,0x88b4,0x88b4,0x88c0,0x88c2,0x88c5,0x88c5,0x88ca,0x88ca,0x88cd,0x88cd,0x88cf,0x88cf,0x88d2,0x88d2,0x88d4,0x88d5,0x88d8,0x88d9,0x88dc,0x88dd,0x88df,0x88df,0x88e1,0x88e1,0x88e8,0x88e8,0x88ef,0x88ef,0x88f1,0x88f1,0x88f3,0x88f5,0x88f8,0x88f9,0x88fd,0x88fe,0x8904,0x8904,0x8907,0x8907,0x890a,0x890a,0x890c,0x890c,0x8910,0x8913,0x8915,0x8915,0x8918,0x891a,0x8925,0x8925,0x8927,0x8927,0x892a,0x892b,0x892f,0x8930,0x8936,0x8936,0x8938,0x8938,0x893a,0x893b,0x8941,0x8941,0x8944,0x8944,0x894d,0x894d,0x8952,0x8952,0x8956,0x8956,0x8958,0x8958,0x895c,0x895c,0x895e,0x8960,0x8964,0x8964,0x896a,0x896a,0x896d,0x896d,0x896f,0x896f,0x8972,0x8972,0x8974,0x8974,0x897e,0x8981,0x8983,0x8983,0x8986,0x8989,0x898b,0x898b,0x898f,0x898f,0x8993,0x8993,0x8996,0x8998,0x899a,0x899a,0x89a0,0x89a1,0x89a8,0x89aa,0x89ac,0x89ac,0x89af,0x89af,0x89b2,0x89b3,0x89b6,0x89b7,0x89ba,0x89ba,0x89bd,0x89bd,0x89bf,0x89c1,0x89d2,0x89d2,0x89d4,0x89d4,0x89d6,0x89d7,0x89da,0x89da,0x89dc,0x89dd,0x89e3,0x89e3,0x89e5,0x89e7,0x89f0,0x89f1,0x89f3,0x89f4,0x89f6,0x89f6,0x89f8,0x89f8,0x8a00,0x8a00,0x8a02,0x8a03,0x8a07,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a0e,0x8a10,0x8a18,0x8a1b,0x8a1b,0x8a1d,0x8a1d,0x8a1f,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a2a,0x8a2a,0x8a2d,0x8a2d,0x8a31,0x8a31,0x8a33,0x8a34,0x8a36,0x8a36,0x8a3a,0x8a3c,0x8a3e,0x8a3e,0x8a41,0x8a41,0x8a46,0x8a46,0x8a4b,0x8a4b,0x8a50,0x8a51,0x8a54,0x8a58,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a66,0x8a69,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a73,0x8a75,0x8a75,0x8a79,0x8a79,0x8a7c,0x8a7c,0x8a7f,0x8a7f,0x8a82,0x8a82,0x8a84,0x8a87,0x8a8c,0x8a8d,0x8a91,0x8a91,0x8a93,0x8a93,0x8a95,0x8a95,0x8a98,0x8a98,0x8a9a,0x8a9a,0x8a9e,0x8a9e,0x8aa0,0x8aa8,0x8aaa,0x8aaa,0x8ab0,0x8ab0,0x8ab2,0x8ab2,0x8ab9,0x8ab9,0x8abc,0x8abc,0x8abe,0x8abf,0x8ac2,0x8ac2,0x8ac4,0x8ac4,0x8ac7,0x8ac7,0x8ac9,0x8ac9,0x8acb,0x8acb,0x8acd,0x8acd,0x8acf,0x8acf,0x8ad2,0x8ad2,0x8ad6,0x8ad7,0x8adb,0x8ae1,0x8ae4,0x8ae4,0x8ae6,0x8ae7,0x8aea,0x8aeb,0x8aed,0x8aee,0x8af0,0x8af4,0x8af6,0x8af8,0x8afa,0x8afa,0x8afc,0x8afc,0x8afe,0x8afe,0x8b00,0x8b02,0x8b04,0x8b04,0x8b07,0x8b07,0x8b0c,0x8b0c,0x8b0e,0x8b0e,0x8b10,0x8b11,0x8b14,0x8b14,0x8b16,0x8b17,0x8b19,0x8b1d,0x8b20,0x8b20,0x8b23,0x8b23,0x8b26,0x8b26,0x8b28,0x8b28,0x8b2b,0x8b2c,0x8b33,0x8b33,0x8b37,0x8b37,0x8b39,0x8b39,0x8b3c,0x8b3c,0x8b3e,0x8b3e,0x8b41,0x8b41,0x8b43,0x8b43,0x8b46,0x8b46,0x8b49,0x8b49,0x8b4c,0x8b4c,0x8b4e,0x8b4f,0x8b53,0x8b54,0x8b56,0x8b56,0x8b58,0x8b5a,0x8b5c,0x8b5c,0x8b5e,0x8b5f,0x8b66,0x8b66,0x8b6b,0x8b6c,0x8b6f,0x8b71,0x8b74,0x8b74,0x8b77,0x8b77,0x8b7d,0x8b7d,0x8b7f,0x8b80,0x8b83,0x8b83,0x8b89,0x8b8a,0x8b8c,0x8b8c,0x8b8e,0x8b8e,0x8b90,0x8b90,0x8b92,0x8b93,0x8b96,0x8b96,0x8b9a,0x8b9a,0x8b9c,0x8b9c,0x8b9e,0x8b9e,0x8ba0,0x8ba0,0x8c37,0x8c37,0x8c3f,0x8c3f,0x8c41,0x8c41,0x8c46,0x8c4a,0x8c4c,0x8c4c,0x8c4e,0x8c4e,0x8c50,0x8c50,0x8c55,0x8c56,0x8c5a,0x8c5a,0x8c61,0x8c62,0x8c68,0x8c68,0x8c6a,0x8c6c,0x8c73,0x8c73,0x8c78,0x8c7a,0x8c82,0x8c83,0x8c8a,0x8c8a,0x8c8c,0x8c8d,0x8c93,0x8c94,0x8c98,0x8c98,0x8c9d,0x8ca2,0x8ca7,0x8cac,0x8caf,0x8cb0,0x8cb2,0x8cb4,0x8cb6,0x8cbd,0x8cbf,0x8cc4,0x8cc6,0x8cc8,0x8cca,0x8cca,0x8cd1,0x8cd1,0x8cd3,0x8cd3,0x8cd9,0x8cdc,0x8cde,0x8cde,0x8ce0,0x8ce6,0x8cea,0x8cea,0x8cec,0x8ced,0x8cf0,0x8cf1,0x8cf3,0x8cf4,0x8cfb,0x8cfd,0x8d04,0x8d05,0x8d07,0x8d08,0x8d0a,0x8d0b,0x8d0d,0x8d0d,0x8d0f,0x8d10,0x8d13,0x8d14,0x8d16,0x8d16,0x8d1b,0x8d1b,0x8d1d,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d67,0x8d6b,0x8d6b,0x8d6d,0x8d6e,0x8d70,0x8d70,0x8d73,0x8d74,0x8d76,0x8d77,0x8d81,0x8d81,0x8d85,0x8d85,0x8d8a,0x8d8a,0x8d8e,0x8d8e,0x8d90,0x8d90,0x8d99,0x8d99,0x8da0,0x8da0,0x8da3,0x8da3,0x8da8,0x8da8,0x8dab,0x8dab,0x8db2,0x8db3,0x8dba,0x8dba,0x8dbe,0x8dbe,0x8dc2,0x8dc2,0x8dc6,0x8dc6,0x8dcb,0x8dcc,0x8dce,0x8dcf,0x8dd5,0x8dd7,0x8ddb,0x8ddb,0x8ddd,0x8ddd,0x8ddf,0x8ddf,0x8de1,0x8de1,0x8de3,0x8de3,0x8de8,0x8de8,0x8dea,0x8ded,0x8def,0x8def,0x8df1,0x8df1,0x8df3,0x8df3,0x8dfc,0x8dfc,0x8e06,0x8e06,0x8e08,0x8e0a,0x8e0f,0x8e10,0x8e14,0x8e14,0x8e1d,0x8e1f,0x8e2a,0x8e2a,0x8e30,0x8e30,0x8e34,0x8e36,0x8e3a,0x8e3a,0x8e3d,0x8e3d,0x8e40,0x8e40,0x8e42,0x8e42,0x8e44,0x8e44,0x8e47,0x8e4a,0x8e4c,0x8e4c,0x8e4f,0x8e4f,0x8e55,0x8e55,0x8e59,0x8e59,0x8e5c,0x8e5c,0x8e5f,0x8e60,0x8e63,0x8e64,0x8e72,0x8e72,0x8e74,0x8e74,0x8e76,0x8e76,0x8e7b,0x8e7b,0x8e81,0x8e81,0x8e85,0x8e85,0x8e87,0x8e87,0x8e89,0x8e8b,0x8e8d,0x8e8d,0x8e90,0x8e91,0x8e93,0x8e94,0x8e99,0x8e99,0x8e9e,0x8e9e,0x8ea1,0x8ea1,0x8ea9,0x8eac,0x8eb1,0x8eb1,0x8eb3,0x8eb3,0x8ebe,0x8ebe,0x8ec0,0x8ec0,0x8ec6,0x8ec6,0x8eca,0x8ecd,0x8ed2,0x8ed2,0x8ede,0x8edf,0x8ee2,0x8ee2,0x8ee8,0x8ee8,0x8eeb,0x8eeb,0x8ef8,0x8efc,0x8efe,0x8efe,0x8f03,0x8f03,0x8f05,0x8f05,0x8f07,0x8f09,0x8f12,0x8f15,0x8f1b,0x8f1f,0x8f26,0x8f2a,0x8f2d,0x8f2d,0x8f2f,0x8f30,0x8f33,0x8f33,0x8f38,0x8f39,0x8f3b,0x8f3b,0x8f3e,0x8f40,0x8f42,0x8f42,0x8f44,0x8f46,0x8f49,0x8f49,0x8f4d,0x8f4e,0x8f52,0x8f52,0x8f54,0x8f54,0x8f57,0x8f58,0x8f5d,0x8f5f,0x8f61,0x8f64,0x8f66,0x8f66,0x8f9b,0x8f9c,0x8f9f,0x8f9f,0x8fa2,0x8fa3,0x8fa6,0x8fa6,0x8fa8,0x8fa8,0x8fad,0x8fb2,0x8fb5,0x8fb6,0x8fbb,0x8fbb,0x8fbf,0x8fc0,0x8fc2,0x8fc5,0x8fcd,0x8fce,0x8fd0,0x8fd1,0x8fd3,0x8fd5,0x8fe2,0x8fe2,0x8fe4,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8fed,0x8ff0,0x8ff0,0x8ff2,0x8ff2,0x8ff4,0x8ff4,0x8ff7,0x8ffa,0x8ffc,0x8ffd,0x8fff,0x9003,0x9005,0x9006,0x9008,0x9008,0x900b,0x9011,0x9014,0x9017,0x9019,0x901a,0x901d,0x9023,0x902e,0x902e,0x9031,0x9032,0x9034,0x9036,0x9038,0x9038,0x903c,0x903c,0x903e,0x903e,0x9041,0x9042,0x9047,0x9047,0x9049,0x904b,0x904d,0x9055,0x9058,0x9059,0x905b,0x905e,0x9060,0x9061,0x9063,0x9063,0x9068,0x9069,0x906c,0x906f,0x9072,0x9072,0x9075,0x9078,0x907a,0x907a,0x907c,0x9085,0x9087,0x9088,0x908a,0x908a,0x908c,0x908d,0x908f,0x9091,0x9095,0x9095,0x9097,0x9099,0x90a0,0x90a0,0x90a2,0x90a3,0x90a6,0x90a6,0x90a8,0x90a8,0x90aa,0x90aa,0x90af,0x90b1,0x90b3,0x90b3,0x90b5,0x90b5,0x90b8,0x90b8,0x90bd,0x90be,0x90c1,0x90c1,0x90c3,0x90c5,0x90ca,0x90ca,0x90ce,0x90ce,0x90dc,0x90de,0x90e1,0x90e2,0x90e8,0x90e8,0x90ea,0x90eb,0x90ed,0x90ed,0x90ef,0x90ef,0x90f3,0x90f5,0x90fd,0x90fd,0x9102,0x9102,0x9112,0x9112,0x9115,0x9117,0x9119,0x9119,0x911e,0x911e,0x9122,0x9123,0x9127,0x9127,0x912d,0x912d,0x9130,0x9132,0x9134,0x9134,0x913d,0x913d,0x9148,0x914e,0x9152,0x9152,0x9156,0x9157,0x9162,0x9165,0x9169,0x916a,0x916c,0x916c,0x9172,0x9172,0x9174,0x9179,0x9183,0x9183,0x9187,0x9187,0x9189,0x9189,0x918b,0x918b,0x918d,0x918d,0x9190,0x9190,0x9192,0x9192,0x919c,0x919c,0x919e,0x919e,0x91a2,0x91a2,0x91aa,0x91ac,0x91ae,0x91af,0x91b1,0x91b2,0x91b4,0x91b5,0x91bc,0x91bc,0x91c0,0x91c1,0x91c3,0x91c3,0x91c5,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d7,0x91d8,0x91dc,0x91dd,0x91e3,0x91e7,0x91e9,0x91ea,0x91ed,0x91ed,0x91f5,0x91f5,0x91ff,0x91ff,0x9207,0x9207,0x920d,0x920d,0x9210,0x9212,0x9214,0x9215,0x9217,0x9217,0x921c,0x921c,0x921e,0x921f,0x9226,0x9226,0x9231,0x9231,0x9234,0x9235,0x9237,0x9238,0x923a,0x923a,0x923f,0x9241,0x9244,0x9245,0x9249,0x9249,0x924b,0x924b,0x924d,0x9252,0x9257,0x9257,0x925b,0x925b,0x925e,0x925e,0x9262,0x9262,0x9264,0x9266,0x9277,0x9278,0x927c,0x927c,0x927e,0x927e,0x9280,0x9280,0x9283,0x9283,0x9285,0x9285,0x928b,0x928b,0x9291,0x9291,0x9293,0x9293,0x9295,0x9296,0x9298,0x929c,0x92b3,0x92b4,0x92b6,0x92b7,0x92b9,0x92b9,0x92c6,0x92c6,0x92cc,0x92cc,0x92cf,0x92cf,0x92d1,0x92d2,0x92d5,0x92d5,0x92d7,0x92d7,0x92df,0x92df,0x92e4,0x92e5,0x92ea,0x92ea,0x92f2,0x92f2,0x92f8,0x92fa,0x92fc,0x92fe,0x9300,0x9300,0x9304,0x9304,0x9306,0x9306,0x930f,0x9310,0x9315,0x9315,0x9318,0x931a,0x931e,0x9324,0x9326,0x9328,0x932a,0x932c,0x932e,0x932f,0x9348,0x934b,0x934d,0x934d,0x9351,0x9351,0x9354,0x9354,0x9357,0x9357,0x935b,0x935d,0x9364,0x9365,0x936b,0x936c,0x936e,0x936e,0x9370,0x9370,0x9372,0x9372,0x9375,0x9375,0x937c,0x937c,0x937e,0x937e,0x938a,0x938a,0x938c,0x938c,0x9394,0x9394,0x9396,0x9397,0x939a,0x939b,0x939f,0x93a1,0x93a3,0x93a4,0x93a7,0x93a7,0x93ac,0x93ad,0x93b0,0x93b0,0x93bb,0x93bb,0x93c3,0x93c3,0x93c7,0x93c8,0x93ca,0x93cc,0x93d1,0x93d1,0x93d6,0x93d8,0x93dc,0x93df,0x93e1,0x93e2,0x93e4,0x93e4,0x93e6,0x93e6,0x93e8,0x93e8,0x93f6,0x93f6,0x93f8,0x93f9,0x93fb,0x93fb,0x9403,0x9404,0x940f,0x9410,0x9413,0x9414,0x9418,0x9419,0x9425,0x9425,0x942a,0x942b,0x9435,0x9436,0x9438,0x9438,0x943a,0x943a,0x9442,0x9442,0x9444,0x9444,0x944a,0x944a,0x944c,0x944c,0x9451,0x9452,0x9455,0x9455,0x945b,0x945b,0x945e,0x945e,0x9460,0x9460,0x9462,0x9463,0x946a,0x946b,0x9470,0x9472,0x9475,0x9475,0x9477,0x9477,0x947c,0x947f,0x9485,0x9485,0x9577,0x9578,0x957f,0x9580,0x9583,0x9583,0x9588,0x958b,0x958e,0x958f,0x9591,0x9594,0x9598,0x9598,0x959c,0x959c,0x959f,0x95a0,0x95a2,0x95a5,0x95a8,0x95a9,0x95ab,0x95ad,0x95b1,0x95b1,0x95b6,0x95b6,0x95b9,0x95b9,0x95bb,0x95be,0x95c3,0x95c3,0x95c7,0x95c8,0x95ca,0x95cd,0x95d3,0x95d6,0x95da,0x95da,0x95dc,0x95dc,0x95de,0x95de,0x95e0,0x95e2,0x95e5,0x95e5,0x95e8,0x95e8,0x961c,0x961d,0x9621,0x9621,0x9624,0x9624,0x9627,0x962a,0x962d,0x962f,0x9632,0x9632,0x963b,0x963b,0x963f,0x9640,0x9642,0x9642,0x9644,0x9644,0x964b,0x964d,0x9650,0x9650,0x9654,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x966a,0x966a,0x966c,0x966c,0x9670,0x9670,0x9672,0x9679,0x967c,0x967d,0x9684,0x9686,0x968a,0x968b,0x968d,0x968f,0x9691,0x9691,0x9694,0x9695,0x9697,0x9698,0x969b,0x969c,0x96a3,0x96a4,0x96a7,0x96aa,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b9,0x96bb,0x96bc,0x96c0,0x96c1,0x96c4,0x96c7,0x96c9,0x96c9,0x96cb,0x96ce,0x96d5,0x96d6,0x96d9,0x96de,0x96e2,0x96e3,0x96e8,0x96ea,0x96ef,0x96f0,0x96f2,0x96f2,0x96f6,0x96f7,0x96f9,0x96fb,0x9700,0x9700,0x9704,0x9709,0x970c,0x970f,0x9711,0x9711,0x9713,0x9714,0x9716,0x9716,0x9719,0x9719,0x971c,0x971c,0x971e,0x971e,0x9723,0x9723,0x9726,0x9727,0x972a,0x972a,0x9730,0x9730,0x9732,0x9732,0x9738,0x9739,0x973d,0x973d,0x9742,0x9742,0x9744,0x9744,0x9746,0x9746,0x9748,0x9749,0x974c,0x974c,0x9751,0x9752,0x9755,0x9756,0x9758,0x975e,0x9760,0x9762,0x9766,0x9766,0x9768,0x9769,0x976d,0x976d,0x9773,0x9775,0x9777,0x9777,0x977a,0x977a,0x977c,0x977c,0x9780,0x9781,0x9784,0x9785,0x978b,0x978b,0x978d,0x978d,0x978f,0x978f,0x9798,0x9798,0x97a0,0x97a0,0x97a3,0x97a3,0x97a6,0x97a6,0x97a8,0x97a8,0x97ab,0x97ad,0x97b1,0x97b1,0x97b4,0x97b4,0x97b8,0x97b9,0x97c1,0x97c1,0x97c3,0x97c3,0x97c6,0x97c6,0x97cb,0x97cd,0x97d0,0x97d0,0x97d3,0x97d3,0x97d9,0x97d9,0x97dc,0x97de,0x97e0,0x97e1,0x97e6,0x97e6,0x97ed,0x97ee,0x97f1,0x97f3,0x97f5,0x97f6,0x97fa,0x97fb,0x97fe,0x9803,0x9805,0x9806,0x9808,0x9808,0x980a,0x980a,0x980c,0x9813,0x9816,0x9818,0x981e,0x981e,0x9821,0x9821,0x9823,0x9824,0x9826,0x9826,0x982b,0x982b,0x982d,0x982e,0x9830,0x9830,0x9832,0x9832,0x9837,0x9839,0x983b,0x983c,0x983f,0x983f,0x9842,0x9842,0x9846,0x9848,0x984b,0x984e,0x9852,0x9855,0x9858,0x985a,0x985c,0x985c,0x985e,0x985e,0x9865,0x9867,0x986b,0x986b,0x986f,0x9871,0x9873,0x9875,0x98a8,0x98a8,0x98ad,0x98ad,0x98af,0x98af,0x98b1,0x98b2,0x98b6,0x98b6,0x98ba,0x98ba,0x98bc,0x98bc,0x98bf,0x98bf,0x98c2,0x98c2,0x98c4,0x98c4,0x98c6,0x98c7,0x98c9,0x98c9,0x98cb,0x98cb,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e2,0x98e6,0x98e7,0x98ea,0x98eb,0x98ed,0x98ef,0x98f1,0x98f1,0x98f4,0x98f4,0x98fb,0x98fe,0x9903,0x9903,0x9909,0x990a,0x990c,0x990c,0x9910,0x9910,0x9912,0x9915,0x9918,0x9918,0x991a,0x991a,0x991e,0x991e,0x9920,0x9920,0x9926,0x9928,0x992a,0x992a,0x992c,0x992c,0x992e,0x992e,0x9930,0x9931,0x9933,0x9933,0x9939,0x9939,0x993c,0x993d,0x9942,0x9942,0x9945,0x9945,0x9948,0x9949,0x994b,0x994d,0x9950,0x9952,0x9954,0x9955,0x9957,0x9957,0x995c,0x995c,0x995e,0x995e,0x9963,0x9963,0x9996,0x9999,0x999c,0x999d,0x999f,0x999f,0x99a1,0x99a1,0x99a3,0x99a3,0x99a5,0x99a5,0x99a7,0x99a8,0x99aa,0x99aa,0x99ac,0x99ae,0x99b0,0x99b1,0x99b3,0x99b4,0x99b6,0x99b6,0x99b9,0x99b9,0x99c1,0x99c1,0x99c4,0x99c5,0x99c8,0x99c9,0x99cf,0x99d2,0x99d5,0x99d5,0x99d8,0x99d9,0x99db,0x99df,0x99e2,0x99e2,0x99e8,0x99e8,0x99ea,0x99ea,0x99ed,0x99ee,0x99f1,0x99f1,0x99f8,0x99f8,0x99fa,0x99fb,0x99fd,0x99fd,0x99ff,0x99ff,0x9a01,0x9a05,0x9a08,0x9a08,0x9a0b,0x9a0b,0x9a0d,0x9a0f,0x9a11,0x9a11,0x9a16,0x9a16,0x9a18,0x9a19,0x9a1b,0x9a1b,0x9a2b,0x9a2b,0x9a2d,0x9a2d,0x9a30,0x9a30,0x9a35,0x9a38,0x9a3e,0x9a3e,0x9a40,0x9a45,0x9a4a,0x9a4a,0x9a4c,0x9a4f,0x9a52,0x9a52,0x9a55,0x9a55,0x9a57,0x9a58,0x9a5a,0x9a5b,0x9a5f,0x9a5f,0x9a62,0x9a62,0x9a64,0x9a65,0x9a69,0x9a6a,0x9a6c,0x9a6c,0x9aa8,0x9aa8,0x9aaa,0x9aaa,0x9ab0,0x9ab0,0x9ab8,0x9ab9,0x9abc,0x9abc,0x9abf,0x9ac0,0x9ac6,0x9ac6,0x9acf,0x9acf,0x9ad1,0x9ad1,0x9ad3,0x9ad4,0x9ad6,0x9ad8,0x9adf,0x9adf,0x9ae1,0x9ae1,0x9ae3,0x9ae3,0x9ae5,0x9ae6,0x9aeb,0x9aeb,0x9aed,0x9aee,0x9af0,0x9af0,0x9af2,0x9af2,0x9af4,0x9af4,0x9af9,0x9afb,0x9afd,0x9afd,0x9b02,0x9b02,0x9b05,0x9b06,0x9b0a,0x9b0b,0x9b0d,0x9b0d,0x9b10,0x9b10,0x9b12,0x9b12,0x9b16,0x9b16,0x9b18,0x9b1a,0x9b1f,0x9b1f,0x9b22,0x9b23,0x9b25,0x9b25,0x9b27,0x9b2a,0x9b2e,0x9b2f,0x9b31,0x9b32,0x9b3a,0x9b3a,0x9b3c,0x9b3c,0x9b41,0x9b45,0x9b48,0x9b48,0x9b4b,0x9b4b,0x9b4d,0x9b4f,0x9b51,0x9b51,0x9b54,0x9b54,0x9b58,0x9b58,0x9b5a,0x9b5a,0x9b66,0x9b66,0x9b6f,0x9b6f,0x9b74,0x9b74,0x9b80,0x9b80,0x9b83,0x9b83,0x9b8e,0x9b8e,0x9b90,0x9b93,0x9b97,0x9b97,0x9b9f,0x9b9f,0x9ba7,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bae,0x9bb9,0x9bb9,0x9bc1,0x9bc1,0x9bc6,0x9bc6,0x9bc9,0x9bca,0x9bd4,0x9bd4,0x9bd6,0x9bd6,0x9bdb,0x9bdb,0x9be2,0x9be2,0x9be4,0x9be4,0x9be8,0x9be8,0x9bf7,0x9bf7,0x9c08,0x9c08,0x9c0a,0x9c0a,0x9c0c,0x9c0d,0x9c10,0x9c10,0x9c12,0x9c13,0x9c15,0x9c15,0x9c24,0x9c25,0x9c2d,0x9c2f,0x9c31,0x9c32,0x9c35,0x9c35,0x9c39,0x9c3b,0x9c3e,0x9c3e,0x9c47,0x9c47,0x9c49,0x9c49,0x9c4f,0x9c4f,0x9c52,0x9c53,0x9c57,0x9c57,0x9c60,0x9c60,0x9c63,0x9c63,0x9c67,0x9c67,0x9c78,0x9c78,0x9c7b,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9ce9,0x9cf3,0x9cf4,0x9cf6,0x9cf6,0x9d03,0x9d03,0x9d06,0x9d09,0x9d0c,0x9d0c,0x9d12,0x9d12,0x9d15,0x9d15,0x9d18,0x9d19,0x9d1b,0x9d1b,0x9d1e,0x9d1f,0x9d23,0x9d23,0x9d25,0x9d26,0x9d28,0x9d28,0x9d2f,0x9d30,0x9d36,0x9d36,0x9d3b,0x9d3b,0x9d41,0x9d42,0x9d44,0x9d44,0x9d51,0x9d51,0x9d53,0x9d54,0x9d5d,0x9d5e,0x9d60,0x9d61,0x9d66,0x9d66,0x9d69,0x9d69,0x9d6c,0x9d6c,0x9d6f,0x9d70,0x9d72,0x9d72,0x9d77,0x9d77,0x9d7b,0x9d7b,0x9d7e,0x9d7e,0x9d84,0x9d84,0x9d89,0x9d8a,0x9d96,0x9d96,0x9d9a,0x9d9a,0x9da1,0x9da1,0x9da4,0x9da4,0x9da9,0x9da9,0x9dac,0x9dac,0x9daf,0x9daf,0x9db4,0x9db5,0x9db8,0x9db9,0x9dbb,0x9dbb,0x9dbf,0x9dbf,0x9dc1,0x9dc2,0x9dc4,0x9dc4,0x9dc7,0x9dc7,0x9dd3,0x9dd3,0x9dd6,0x9dd7,0x9dd9,0x9dd9,0x9de6,0x9de6,0x9de9,0x9deb,0x9df0,0x9df3,0x9df8,0x9dfa,0x9dfd,0x9dfd,0x9dff,0x9dff,0x9e07,0x9e07,0x9e0f,0x9e0f,0x9e15,0x9e15,0x9e1a,0x9e1f,0x9e75,0x9e75,0x9e77,0x9e77,0x9e79,0x9e7b,0x9e7d,0x9e7d,0x9e7f,0x9e80,0x9e82,0x9e82,0x9e84,0x9e84,0x9e8b,0x9e8c,0x9e8f,0x9e8f,0x9e91,0x9e93,0x9e97,0x9e98,0x9e9d,0x9e9f,0x9ea4,0x9ea6,0x9ea9,0x9eaa,0x9eaf,0x9eaf,0x9eb4,0x9eb5,0x9ebb,0x9ebb,0x9ebd,0x9ebf,0x9ec3,0x9ec5,0x9ecc,0x9ed1,0x9ed4,0x9ed4,0x9ed6,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ede,0x9ee0,0x9ee0,0x9ee5,0x9ee5,0x9ee8,0x9ee8,0x9eee,0x9eef,0x9ef2,0x9ef2,0x9ef4,0x9ef7,0x9ef9,0x9f00,0x9f02,0x9f02,0x9f04,0x9f04,0x9f07,0x9f0a,0x9f0e,0x9f0e,0x9f10,0x9f10,0x9f13,0x9f14,0x9f17,0x9f17,0x9f19,0x9f19,0x9f20,0x9f20,0x9f22,0x9f22,0x9f2b,0x9f2c,0x9f2f,0x9f2f,0x9f34,0x9f34,0x9f38,0x9f39,0x9f3b,0x9f3b,0x9f3e,0x9f3e,0x9f4a,0x9f4b,0x9f4e,0x9f4e,0x9f50,0x9f50,0x9f52,0x9f52,0x9f54,0x9f55,0x9f57,0x9f57,0x9f5f,0x9f61,0x9f66,0x9f67,0x9f69,0x9f6c,0x9f72,0x9f72,0x9f76,0x9f77,0x9f7f,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f95,0x9f99,0x9f99,0x9f9c,0x9f9d,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa5,0x9fa5,0xa960,0xa97c,0xac00,0xd7a3,0xd7b0,0xd7c6,0xd7cb,0xd7fb,0xf900,0xf95e,0xf960,0xf9a9,0xf9ab,0xfa0b,0xfa12,0xfa12,0xfa15,0xfa17,0xfa19,0xfa1e,0xfa22,0xfa22,0xfa26,0xfa26,0xfa2a,0xfa2c,0xfa2e,0xfa31,0xfa33,0xfa3d,0xfa3f,0xfa3f,0xfa41,0xfa41,0xfa43,0xfa55,0xfa57,0xfa57,0xfa59,0xfa68,0xfa6a,0xfa6a,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x200d7,0x200d7,0x2012c,0x2012c,0x205ca,0x205ca,0x20628,0x20628,0x20984,0x20984,0x21155,0x21155,0x2128d,0x2128d,0x21594,0x21594,0x21727,0x21727,0x21f5c,0x21f5c,0x224b0,0x224b0,0x224ed,0x224ed,0x2294f,0x2294f,0x22c6f,0x22c6f,0x22ee0,0x22ee0,0x230fd,0x230fd,0x23343,0x23343,0x2363b,0x2363b,0x23ad9,0x23ad9,0x242f1,0x242f1,0x2439d,0x2439d,0x248e9,0x248e9,0x248f0,0x248f0,0x24a01,0x24a01,0x24a12,0x24a12,0x25055,0x25055,0x2533e,0x2533e,0x253b5,0x253b5,0x253fe,0x253fe,0x25832,0x25832,0x2583a,0x2583a,0x25874,0x25874,0x25978,0x25978,0x25ad7,0x25ad7,0x25b97,0x25b97,0x25e44,0x25e44,0x26057,0x26057,0x265a4,0x265a4,0x267d8,0x267d8,0x26951,0x26951,0x27144,0x27144,0x275ff,0x275ff,0x27625,0x27625,0x278b2,0x278b2,0x27a51,0x27a51,0x27b02,0x27b02,0x27cef,0x27cef,0x27e7d,0x27e7d,0x27f1b,0x27f1b,0x27fb7,0x27fb7,0x283f6,0x283f6,0x284dc,0x284dc,0x28d8a,0x28d8a,0x28da1,0x28da1,0x28e0f,0x28e0f,0x291d5,0x291d5,0x291e3,0x291e3,0x294de,0x294de,0x29509,0x29509,0x2967f,0x2967f,0x29810,0x29810,0x2983b,0x2983b,0x2a2ad,0x2a2ad,0x2a4d0,0x2a4d0,0x2a664,0x2a664,0x2c115,0x2c115,0x2c7d3,0x2c7d3,0x2d544,0x2d544,0x2e569,0x2e569,0x2f815,0x2f815,0x2f818,0x2f818,0x2f81a,0x2f81a,0x2f82c,0x2f82c,0x2f833,0x2f833,0x2f852,0x2f852,0x2f862,0x2f862,0x2f877,0x2f877,0x2f884,0x2f884,0x2f8b2,0x2f8b2,0x2f8ed,0x2f8ed,0x2f8fc,0x2f8fc,0x2f920,0x2f920,0x2f96c,0x2f96c,0x2f9d0,0x2f9d0,0x2f9df,0x2f9df,0x30729,0x30729,0x30ede,0x30ede,]), + NotoFont.fromFlatRanges('Noto Sans Kaithi', 'http://fonts.gstatic.com/s/notosanskaithi/v15/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x966,0x96f,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xa830,0xa839,0x11080,0x110c1,0x110cd,0x110cd,]), + NotoFont.fromFlatRanges('Noto Sans Kannada', 'http://fonts.gstatic.com/s/notosanskannada/v21/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xc80,0xc8c,0xc8e,0xc90,0xc92,0xca8,0xcaa,0xcb3,0xcb5,0xcb9,0xcbc,0xcc4,0xcc6,0xcc8,0xcca,0xccd,0xcd5,0xcd6,0xcde,0xcde,0xce0,0xce3,0xce6,0xcef,0xcf1,0xcf2,0x1cd0,0x1cd0,0x1cd2,0x1cd2,0x1cda,0x1cda,0x1cf2,0x1cf2,0x1cf4,0x1cf5,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa835,]), + NotoFont.fromFlatRanges('Noto Sans Kayah Li', 'http://fonts.gstatic.com/s/notosanskayahli/v18/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x200c,0x200d,0x2010,0x2010,0x25cc,0x25cc,0xa900,0xa92f,]), + NotoFont.fromFlatRanges('Noto Sans Kharoshthi', 'http://fonts.gstatic.com/s/notosanskharoshthi/v15/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,0x10a00,0x10a03,0x10a05,0x10a06,0x10a0c,0x10a13,0x10a15,0x10a17,0x10a19,0x10a35,0x10a38,0x10a3a,0x10a3f,0x10a48,0x10a50,0x10a58,]), + NotoFont.fromFlatRanges('Noto Sans Khmer', 'http://fonts.gstatic.com/s/notosanskhmer/v18/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1780,0x17dd,0x17e0,0x17e9,0x17f0,0x17f9,0x19e0,0x19ff,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Khojki', 'http://fonts.gstatic.com/s/notosanskhojki/v15/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf', [0x20,0x20,0xa0,0xa0,0xae6,0xaef,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11200,0x11211,0x11213,0x1123e,]), + NotoFont.fromFlatRanges('Noto Sans Khudawadi', 'http://fonts.gstatic.com/s/notosanskhudawadi/v15/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x200c,0x200d,0x2013,0x2014,0x25cc,0x25cc,0xa830,0xa839,0x112b0,0x112ea,0x112f0,0x112f9,]), + NotoFont.fromFlatRanges('Noto Sans Lao', 'http://fonts.gstatic.com/s/notosanslao/v24/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0xe81,0xe82,0xe84,0xe84,0xe87,0xe88,0xe8a,0xe8a,0xe8d,0xe8d,0xe94,0xe97,0xe99,0xe9f,0xea1,0xea3,0xea5,0xea5,0xea7,0xea7,0xeaa,0xeab,0xead,0xeb9,0xebb,0xebd,0xec0,0xec4,0xec6,0xec6,0xec8,0xecd,0xed0,0xed9,0xedc,0xedf,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ad,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Lepcha', 'http://fonts.gstatic.com/s/notosanslepcha/v15/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf', [0x20,0x20,0xa0,0xa0,0x1c00,0x1c37,0x1c3b,0x1c49,0x1c4d,0x1c4f,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Limbu', 'http://fonts.gstatic.com/s/notosanslimbu/v15/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf', [0x20,0x20,0xa0,0xa0,0x965,0x965,0x1900,0x191e,0x1920,0x192b,0x1930,0x193b,0x1940,0x1940,0x1944,0x194f,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Linear A', 'http://fonts.gstatic.com/s/notosanslineara/v16/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf', [0x20,0x20,0xa0,0xa0,0x10600,0x10736,0x10740,0x10755,0x10760,0x10767,]), + NotoFont.fromFlatRanges('Noto Sans Linear B', 'http://fonts.gstatic.com/s/notosanslinearb/v15/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf', [0x20,0x20,0xa0,0xa0,0x10000,0x1000b,0x1000d,0x10026,0x10028,0x1003a,0x1003c,0x1003d,0x1003f,0x1004d,0x10050,0x1005d,0x10080,0x100fa,0x10100,0x10102,0x10107,0x10133,0x10137,0x1013f,]), + NotoFont.fromFlatRanges('Noto Sans Lisu', 'http://fonts.gstatic.com/s/notosanslisu/v21/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2cd,0x2cd,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0x300a,0x300b,0xa4d0,0xa4ff,0x11fb0,0x11fb0,]), + NotoFont.fromFlatRanges('Noto Sans Lycian', 'http://fonts.gstatic.com/s/notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf', [0x20,0x20,0xa0,0xa0,0x10280,0x1029c,]), + NotoFont.fromFlatRanges('Noto Sans Lydian', 'http://fonts.gstatic.com/s/notosanslydian/v15/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf', [0x20,0x20,0xa0,0xa0,0x10920,0x10939,0x1093f,0x1093f,]), + NotoFont.fromFlatRanges('Noto Sans Mahajani', 'http://fonts.gstatic.com/s/notosansmahajani/v15/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x96f,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11150,0x11176,]), + NotoFont.fromFlatRanges('Noto Sans Malayalam', 'http://fonts.gstatic.com/s/notosansmalayalam/v21/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x323,0x323,0x326,0x328,0x951,0x952,0x964,0x965,0xd00,0xd0c,0xd0e,0xd10,0xd12,0xd44,0xd46,0xd48,0xd4a,0xd4f,0xd54,0xd63,0xd66,0xd7f,0x1cda,0x1cda,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa830,0xa832,]), + NotoFont.fromFlatRanges('Noto Sans Mandaic', 'http://fonts.gstatic.com/s/notosansmandaic/v15/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x840,0x85b,0x85e,0x85e,0x200c,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Manichaean', 'http://fonts.gstatic.com/s/notosansmanichaean/v15/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200d,0x25cc,0x25cc,0xfe00,0xfe00,0x10ac0,0x10ae6,0x10aeb,0x10af6,]), + NotoFont.fromFlatRanges('Noto Sans Marchen', 'http://fonts.gstatic.com/s/notosansmarchen/v15/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11c70,0x11c8f,0x11c92,0x11ca7,0x11ca9,0x11cb6,]), + NotoFont.fromFlatRanges('Noto Sans Masaram Gondi', 'http://fonts.gstatic.com/s/notosansmasaramgondi/v15/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf', [0x20,0x22,0x25,0x25,0x27,0x2f,0x3a,0x3f,0xa0,0xa0,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x11d00,0x11d06,0x11d08,0x11d09,0x11d0b,0x11d36,0x11d3a,0x11d3a,0x11d3c,0x11d3d,0x11d3f,0x11d47,0x11d50,0x11d59,]), + NotoFont.fromFlatRanges('Noto Sans Math', 'http://fonts.gstatic.com/s/notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf', [0x20,0x7e,0xa0,0xa0,0xa7,0xa7,0xac,0xac,0xb1,0xb1,0xd7,0xd7,0xf7,0xf7,0x302,0x303,0x305,0x305,0x307,0x308,0x330,0x330,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x3d1,0x3d1,0x3d5,0x3d6,0x3f0,0x3f1,0x3f4,0x3f5,0x2032,0x2037,0x2057,0x2057,0x20d0,0x20dc,0x20e1,0x20e1,0x20e5,0x20ef,0x2102,0x2102,0x210a,0x210e,0x2110,0x2112,0x2115,0x2115,0x2119,0x211d,0x2124,0x2124,0x2128,0x2128,0x212c,0x212d,0x212f,0x2131,0x2133,0x2138,0x213c,0x2140,0x2145,0x2149,0x2190,0x21ae,0x21b0,0x21e5,0x21f1,0x21f2,0x21f4,0x22ff,0x2308,0x230b,0x2310,0x2310,0x2319,0x2319,0x231c,0x2321,0x2336,0x237a,0x237c,0x237c,0x2395,0x2395,0x239b,0x23b6,0x23d0,0x23d0,0x23dc,0x23e1,0x2474,0x2475,0x25af,0x25af,0x25b3,0x25b3,0x25b7,0x25b7,0x25bd,0x25bd,0x25c1,0x25c1,0x25ca,0x25ca,0x25cc,0x25cc,0x25fb,0x25fb,0x266d,0x266f,0x27c0,0x27ff,0x2900,0x2aff,0x2b0e,0x2b11,0x2b30,0x2b4c,0x2bfe,0x2bfe,0xff5b,0xff5b,0xff5d,0xff5d,0x1d400,0x1d454,0x1d456,0x1d49c,0x1d49e,0x1d49f,0x1d4a2,0x1d4a2,0x1d4a5,0x1d4a6,0x1d4a9,0x1d4ac,0x1d4ae,0x1d4b9,0x1d4bb,0x1d4bb,0x1d4bd,0x1d4c3,0x1d4c5,0x1d505,0x1d507,0x1d50a,0x1d50d,0x1d514,0x1d516,0x1d51c,0x1d51e,0x1d539,0x1d53b,0x1d53e,0x1d540,0x1d544,0x1d546,0x1d546,0x1d54a,0x1d550,0x1d552,0x1d6a5,0x1d6a8,0x1d7cb,0x1d7ce,0x1d7ff,0x1ee00,0x1ee03,0x1ee05,0x1ee1f,0x1ee21,0x1ee22,0x1ee24,0x1ee24,0x1ee27,0x1ee27,0x1ee29,0x1ee32,0x1ee34,0x1ee37,0x1ee39,0x1ee39,0x1ee3b,0x1ee3b,0x1ee42,0x1ee42,0x1ee47,0x1ee47,0x1ee49,0x1ee49,0x1ee4b,0x1ee4b,0x1ee4d,0x1ee4f,0x1ee51,0x1ee52,0x1ee54,0x1ee54,0x1ee57,0x1ee57,0x1ee59,0x1ee59,0x1ee5b,0x1ee5b,0x1ee5d,0x1ee5d,0x1ee5f,0x1ee5f,0x1ee61,0x1ee62,0x1ee64,0x1ee64,0x1ee67,0x1ee6a,0x1ee6c,0x1ee72,0x1ee74,0x1ee77,0x1ee79,0x1ee7c,0x1ee7e,0x1ee7e,0x1ee80,0x1ee89,0x1ee8b,0x1ee9b,0x1eea1,0x1eea3,0x1eea5,0x1eea9,0x1eeab,0x1eebb,0x1eef0,0x1eef1,]), + NotoFont.fromFlatRanges('Noto Sans Mayan Numerals', 'http://fonts.gstatic.com/s/notosansmayannumerals/v15/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf', [0x20,0x20,0xa0,0xa0,0x1d2e0,0x1d2f3,]), + NotoFont.fromFlatRanges('Noto Sans Medefaidrin', 'http://fonts.gstatic.com/s/notosansmedefaidrin/v19/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf', [0x20,0x20,0xa0,0xa0,0x16e40,0x16e9a,]), + NotoFont.fromFlatRanges('Noto Sans Meetei Mayek', 'http://fonts.gstatic.com/s/notosansmeeteimayek/v10/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xaae0,0xaaf6,0xabc0,0xabed,0xabf0,0xabf9,]), + NotoFont.fromFlatRanges('Noto Sans Meroitic', 'http://fonts.gstatic.com/s/notosansmeroitic/v16/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf', [0x20,0x20,0x3a,0x3a,0xa0,0xa0,0x2026,0x2026,0x205d,0x205d,0x10980,0x109b7,0x109bc,0x109cf,0x109d2,0x109ff,]), + NotoFont.fromFlatRanges('Noto Sans Miao', 'http://fonts.gstatic.com/s/notosansmiao/v15/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x16f00,0x16f4a,0x16f4f,0x16f87,0x16f8f,0x16f9f,]), + NotoFont.fromFlatRanges('Noto Sans Modi', 'http://fonts.gstatic.com/s/notosansmodi/v15/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11600,0x11644,0x11650,0x11659,]), + NotoFont.fromFlatRanges('Noto Sans Mongolian', 'http://fonts.gstatic.com/s/notosansmongolian/v15/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf', [0x20,0x22,0x28,0x29,0x2d,0x2d,0x3f,0x3f,0xa0,0xa0,0x1800,0x180e,0x1810,0x1819,0x1820,0x1878,0x1880,0x18aa,0x200c,0x200d,0x2013,0x2014,0x201c,0x201d,0x202f,0x202f,0x2048,0x2049,0x2460,0x2473,0x25cc,0x25cc,0x3001,0x3002,0x300a,0x300f,0xfe3d,0xfe3e,0xfe41,0xfe44,0x11660,0x1166c,]), + NotoFont.fromFlatRanges('Noto Sans Mro', 'http://fonts.gstatic.com/s/notosansmro/v15/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf', [0x20,0x20,0xa0,0xa0,0x16a40,0x16a5e,0x16a60,0x16a69,0x16a6e,0x16a6f,]), + NotoFont.fromFlatRanges('Noto Sans Multani', 'http://fonts.gstatic.com/s/notosansmultani/v15/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf', [0x20,0x20,0xa0,0xa0,0xa66,0xa6f,0x11280,0x11286,0x11288,0x11288,0x1128a,0x1128d,0x1128f,0x1129d,0x1129f,0x112a9,]), + NotoFont.fromFlatRanges('Noto Sans Myanmar', 'http://fonts.gstatic.com/s/notosansmyanmar/v19/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf', [0x20,0x20,0x3f,0x3f,0xa0,0xa0,0x1000,0x109f,0x200b,0x200d,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x25cc,0x25cc,0xa92e,0xa92e,0xa9e0,0xa9fe,0xaa60,0xaa7f,0xfe00,0xfe00,]), + NotoFont.fromFlatRanges('Noto Sans N Ko', 'http://fonts.gstatic.com/s/notosansnko/v17/6NUP8FqDKBaKKjnr6P8v-sxPpvVBVNmme3gf.ttf', [0x20,0x20,0xa0,0xa0,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x66a,0x66a,0x7c0,0x7fa,0x7fd,0x7ff,0x200c,0x200f,0x25cc,0x25cc,0x2e1c,0x2e1d,0xfd3e,0xfd3f,]), + NotoFont.fromFlatRanges('Noto Sans Nabataean', 'http://fonts.gstatic.com/s/notosansnabataean/v15/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf', [0x20,0x20,0xa0,0xa0,0x10880,0x1089e,0x108a7,0x108af,]), + NotoFont.fromFlatRanges('Noto Sans New Tai Lue', 'http://fonts.gstatic.com/s/notosansnewtailue/v15/H4c5BW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wwY55O4AS32A.ttf', [0x20,0x20,0xa0,0xa0,0x1980,0x19ab,0x19b0,0x19c9,0x19d0,0x19da,0x19de,0x19df,0x200c,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Newa', 'http://fonts.gstatic.com/s/notosansnewa/v15/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf', [0x20,0x20,0xa0,0xa0,0xb7,0xb7,0x1dfb,0x1dfb,0x200c,0x200d,0x25cc,0x25cc,0x11400,0x1145b,0x1145d,0x11461,]), + NotoFont.fromFlatRanges('Noto Sans Nushu', 'http://fonts.gstatic.com/s/notosansnushu/v18/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf', [0x20,0x20,0xa0,0xa0,0x16fe1,0x16fe1,0x1b170,0x1b2fb,]), + NotoFont.fromFlatRanges('Noto Sans Ogham', 'http://fonts.gstatic.com/s/notosansogham/v15/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf', [0x20,0x20,0xa0,0xa0,0x1680,0x169c,]), + NotoFont.fromFlatRanges('Noto Sans Ol Chiki', 'http://fonts.gstatic.com/s/notosansolchiki/v17/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf', [0x20,0x20,0xa0,0xa0,0x1c50,0x1c7f,0x20b9,0x20b9,]), + NotoFont.fromFlatRanges('Noto Sans Old Hungarian', 'http://fonts.gstatic.com/s/notosansoldhungarian/v15/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf', [0x20,0x20,0xa0,0xa0,0x200d,0x200d,0x10c80,0x10cb2,0x10cc0,0x10cf2,0x10cfa,0x10cff,]), + NotoFont.fromFlatRanges('Noto Sans Old Italic', 'http://fonts.gstatic.com/s/notosansolditalic/v15/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf', [0x20,0x20,0xa0,0xa0,0x10300,0x10323,0x1032d,0x1032f,]), + NotoFont.fromFlatRanges('Noto Sans Old North Arabian', 'http://fonts.gstatic.com/s/notosansoldnortharabian/v15/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf', [0x20,0x20,0xa0,0xa0,0x10a80,0x10a9f,]), + NotoFont.fromFlatRanges('Noto Sans Old Permic', 'http://fonts.gstatic.com/s/notosansoldpermic/v16/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x300,0x306,0x308,0x313,0x313,0x483,0x483,0x20db,0x20db,0x25cc,0x25cc,0x10350,0x1037a,]), + NotoFont.fromFlatRanges('Noto Sans Old Persian', 'http://fonts.gstatic.com/s/notosansoldpersian/v15/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf', [0x20,0x20,0xa0,0xa0,0x103a0,0x103c3,0x103c8,0x103d5,]), + NotoFont.fromFlatRanges('Noto Sans Old Sogdian', 'http://fonts.gstatic.com/s/notosansoldsogdian/v15/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf', [0x20,0x20,0xa0,0xa0,0x10f00,0x10f27,]), + NotoFont.fromFlatRanges('Noto Sans Old South Arabian', 'http://fonts.gstatic.com/s/notosansoldsoutharabian/v15/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf', [0x20,0x20,0xa0,0xa0,0x10a60,0x10a7f,]), + NotoFont.fromFlatRanges('Noto Sans Old Turkic', 'http://fonts.gstatic.com/s/notosansoldturkic/v15/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf', [0x20,0x20,0xa0,0xa0,0x10c00,0x10c48,]), + NotoFont.fromFlatRanges('Noto Sans Oriya', 'http://fonts.gstatic.com/s/notosansoriya/v16/AYCTpXfzfccDCstK_hrjDyADv5en5K3DZq1hIg.ttf', [0x20,0x23,0x25,0x25,0x27,0x2c,0x2e,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0xb01,0xb03,0xb05,0xb0c,0xb0f,0xb10,0xb13,0xb28,0xb2a,0xb30,0xb32,0xb33,0xb35,0xb39,0xb3c,0xb44,0xb47,0xb48,0xb4b,0xb4d,0xb56,0xb57,0xb5c,0xb5d,0xb5f,0xb63,0xb66,0xb77,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x20b9,0x20b9,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Osage', 'http://fonts.gstatic.com/s/notosansosage/v15/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf', [0x20,0x20,0xa0,0xa0,0x301,0x301,0x304,0x304,0x30b,0x30b,0x358,0x358,0x25cc,0x25cc,0x104b0,0x104d3,0x104d8,0x104fb,]), + NotoFont.fromFlatRanges('Noto Sans Osmanya', 'http://fonts.gstatic.com/s/notosansosmanya/v15/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf', [0x20,0x20,0xa0,0xa0,0x10480,0x1049d,0x104a0,0x104a9,]), + NotoFont.fromFlatRanges('Noto Sans Pahawh Hmong', 'http://fonts.gstatic.com/s/notosanspahawhhmong/v15/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x16b00,0x16b45,0x16b50,0x16b59,0x16b5b,0x16b61,0x16b63,0x16b77,0x16b7d,0x16b8f,]), + NotoFont.fromFlatRanges('Noto Sans Palmyrene', 'http://fonts.gstatic.com/s/notosanspalmyrene/v15/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf', [0x20,0x20,0xa0,0xa0,0x10860,0x1087f,]), + NotoFont.fromFlatRanges('Noto Sans Pau Cin Hau', 'http://fonts.gstatic.com/s/notosanspaucinhau/v16/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf', [0x20,0x20,0xa0,0xa0,0x11ac0,0x11af8,]), + NotoFont.fromFlatRanges('Noto Sans Phags Pa', 'http://fonts.gstatic.com/s/notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf', [0x20,0x20,0xa0,0xa0,0x1801,0x1803,0x1805,0x1805,0x200b,0x200f,0x2025,0x2026,0x25cc,0x25cc,0x3001,0x3002,0x3007,0x3011,0x3014,0x301b,0xa840,0xa877,0xfe00,0xfe00,]), + NotoFont.fromFlatRanges('Noto Sans Phoenician', 'http://fonts.gstatic.com/s/notosansphoenician/v15/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf', [0x20,0x20,0xa0,0xa0,0x10900,0x1091b,0x1091f,0x1091f,]), + NotoFont.fromFlatRanges('Noto Sans Psalter Pahlavi', 'http://fonts.gstatic.com/s/notosanspsalterpahlavi/v15/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200d,0x25cc,0x25cc,0x10b80,0x10b91,0x10b99,0x10b9c,0x10ba9,0x10baf,]), + NotoFont.fromFlatRanges('Noto Sans Rejang', 'http://fonts.gstatic.com/s/notosansrejang/v15/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa930,0xa953,0xa95f,0xa95f,]), + NotoFont.fromFlatRanges('Noto Sans Runic', 'http://fonts.gstatic.com/s/notosansrunic/v15/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf', [0x20,0x20,0xa0,0xa0,0x16a0,0x16f8,]), + NotoFont.fromFlatRanges('Noto Sans SC', 'http://fonts.gstatic.com/s/notosanssc/v26/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x4db5,0x4e00,0x9fef,0xf900,0xf903,0xf905,0xf906,0xf90b,0xf90c,0xf915,0xf915,0xf917,0xf91a,0xf921,0xf921,0xf92c,0xf92d,0xf92f,0xf92f,0xf931,0xf935,0xf937,0xf93a,0xf943,0xf943,0xf947,0xf94a,0xf94e,0xf94e,0xf952,0xf953,0xf95e,0xf95e,0xf962,0xf967,0xf96e,0xf96e,0xf972,0xf972,0xf974,0xf974,0xf976,0xf976,0xf979,0xf97b,0xf97e,0xf980,0xf984,0xf985,0xf98a,0xf98c,0xf98e,0xf98e,0xf993,0xf993,0xf995,0xf995,0xf998,0xf998,0xf9ae,0xf9ae,0xf9b3,0xf9b3,0xf9b7,0xf9b7,0xf9bb,0xf9bb,0xf9bd,0xf9be,0xf9c0,0xf9c0,0xf9c5,0xf9c6,0xf9d0,0xf9d0,0xf9d8,0xf9d9,0xf9dc,0xf9e0,0xf9e2,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f1,0xf9f1,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0f,0xfa11,0xfa11,0xfa13,0xfa14,0xfa18,0xfa18,0xfa1f,0xfa21,0xfa23,0xfa24,0xfa27,0xfa29,0xfa2f,0xfa2f,0xfa33,0xfa35,0xfa37,0xfa38,0xfa3a,0xfa3a,0xfa47,0xfa47,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20087,0x20087,0x20089,0x20089,0x200cc,0x200cc,0x20164,0x20164,0x20628,0x20628,0x20676,0x20676,0x20cd0,0x20cd0,0x2139a,0x2139a,0x21413,0x21413,0x215d7,0x215d7,0x2298f,0x2298f,0x235cb,0x235cb,0x23c97,0x23c98,0x23e23,0x23e23,0x241fe,0x241fe,0x2420e,0x2420e,0x248e9,0x248e9,0x249db,0x249db,0x24a01,0x24a01,0x24a7d,0x24a7d,0x24ac9,0x24ac9,0x25532,0x25532,0x25562,0x25562,0x255a8,0x255a8,0x25ad7,0x25ad7,0x25ed7,0x25ed7,0x26221,0x26221,0x2648d,0x2648d,0x26676,0x26676,0x2677c,0x2677c,0x26951,0x26951,0x26b5c,0x26b5c,0x26c21,0x26c21,0x278b2,0x278b2,0x27eaf,0x27eaf,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28408,0x28408,0x28678,0x28678,0x28695,0x28695,0x287e0,0x287e0,0x28b49,0x28b49,0x28c47,0x28c47,0x28c4f,0x28c4f,0x28c51,0x28c51,0x28c54,0x28c54,0x28e0f,0x28e0f,0x28e99,0x28e99,0x2967f,0x2967f,0x29810,0x29810,0x29f7e,0x29f7e,0x29f83,0x29f83,0x29f8c,0x29f8c,0x2a7dd,0x2a7dd,0x2a8fb,0x2a8fb,0x2a917,0x2a917,0x2aa30,0x2aa30,0x2aa36,0x2aa36,0x2aa58,0x2aa58,0x2afa2,0x2afa2,0x2b127,0x2b128,0x2b137,0x2b138,0x2b1ed,0x2b1ed,0x2b300,0x2b300,0x2b363,0x2b363,0x2b36f,0x2b36f,0x2b372,0x2b372,0x2b37d,0x2b37d,0x2b404,0x2b404,0x2b410,0x2b410,0x2b413,0x2b413,0x2b461,0x2b461,0x2b4e7,0x2b4e7,0x2b4ef,0x2b4ef,0x2b4f6,0x2b4f6,0x2b4f9,0x2b4f9,0x2b50d,0x2b50e,0x2b536,0x2b536,0x2b5ae,0x2b5af,0x2b5b3,0x2b5b3,0x2b5e7,0x2b5e7,0x2b5f4,0x2b5f4,0x2b61c,0x2b61d,0x2b626,0x2b628,0x2b62a,0x2b62a,0x2b62c,0x2b62c,0x2b695,0x2b696,0x2b6ad,0x2b6ad,0x2b6ed,0x2b6ed,0x2b7a9,0x2b7a9,0x2b7c5,0x2b7c5,0x2b7e6,0x2b7e6,0x2b7f9,0x2b7f9,0x2b7fc,0x2b7fc,0x2b806,0x2b806,0x2b80a,0x2b80a,0x2b81c,0x2b81c,0x2b8b8,0x2b8b8,0x2bac7,0x2bac7,0x2bb5f,0x2bb5f,0x2bb62,0x2bb62,0x2bb7c,0x2bb7c,0x2bb83,0x2bb83,0x2bc1b,0x2bc1b,0x2bd77,0x2bd77,0x2bd87,0x2bd87,0x2bdf7,0x2bdf7,0x2be29,0x2be29,0x2c029,0x2c02a,0x2c0a9,0x2c0a9,0x2c0ca,0x2c0ca,0x2c1d5,0x2c1d5,0x2c1d9,0x2c1d9,0x2c1f9,0x2c1f9,0x2c27c,0x2c27c,0x2c288,0x2c288,0x2c2a4,0x2c2a4,0x2c317,0x2c317,0x2c35b,0x2c35b,0x2c361,0x2c361,0x2c364,0x2c364,0x2c488,0x2c488,0x2c494,0x2c494,0x2c497,0x2c497,0x2c542,0x2c542,0x2c613,0x2c613,0x2c618,0x2c618,0x2c621,0x2c621,0x2c629,0x2c629,0x2c62b,0x2c62d,0x2c62f,0x2c62f,0x2c642,0x2c642,0x2c64a,0x2c64b,0x2c72c,0x2c72c,0x2c72f,0x2c72f,0x2c79f,0x2c79f,0x2c7c1,0x2c7c1,0x2c7fd,0x2c7fd,0x2c8d9,0x2c8d9,0x2c8de,0x2c8de,0x2c8e1,0x2c8e1,0x2c8f3,0x2c8f3,0x2c907,0x2c907,0x2c90a,0x2c90a,0x2c91d,0x2c91d,0x2ca02,0x2ca02,0x2ca0e,0x2ca0e,0x2ca7d,0x2ca7d,0x2caa9,0x2caa9,0x2cb29,0x2cb29,0x2cb2d,0x2cb2e,0x2cb31,0x2cb31,0x2cb38,0x2cb39,0x2cb3b,0x2cb3b,0x2cb3f,0x2cb3f,0x2cb41,0x2cb41,0x2cb4a,0x2cb4a,0x2cb4e,0x2cb4e,0x2cb5a,0x2cb5b,0x2cb64,0x2cb64,0x2cb69,0x2cb69,0x2cb6c,0x2cb6c,0x2cb6f,0x2cb6f,0x2cb73,0x2cb73,0x2cb76,0x2cb76,0x2cb78,0x2cb78,0x2cb7c,0x2cb7c,0x2cbb1,0x2cbb1,0x2cbbf,0x2cbc0,0x2cbce,0x2cbce,0x2cc56,0x2cc56,0x2cc5f,0x2cc5f,0x2ccf5,0x2ccf6,0x2ccfd,0x2ccfd,0x2ccff,0x2ccff,0x2cd02,0x2cd03,0x2cd0a,0x2cd0a,0x2cd8b,0x2cd8b,0x2cd8d,0x2cd8d,0x2cd8f,0x2cd90,0x2cd9f,0x2cda0,0x2cda8,0x2cda8,0x2cdad,0x2cdae,0x2cdd5,0x2cdd5,0x2ce18,0x2ce18,0x2ce1a,0x2ce1a,0x2ce23,0x2ce23,0x2ce26,0x2ce26,0x2ce2a,0x2ce2a,0x2ce7c,0x2ce7c,0x2ce88,0x2ce88,0x2ce93,0x2ce93,0x2d544,0x2d544,0x2f884,0x2f884,0x2f8b6,0x2f8b6,0x30edd,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatRanges('Noto Sans Saurashtra', 'http://fonts.gstatic.com/s/notosanssaurashtra/v15/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa880,0xa8c5,0xa8ce,0xa8d9,]), + NotoFont.fromFlatRanges('Noto Sans Sharada', 'http://fonts.gstatic.com/s/notosanssharada/v15/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x951,0x1cd7,0x1cd7,0x1cd9,0x1cd9,0x1cdc,0x1cdd,0x1ce0,0x1ce0,0x200c,0x200d,0x25cc,0x25cc,0x11180,0x111df,]), + NotoFont.fromFlatRanges('Noto Sans Shavian', 'http://fonts.gstatic.com/s/notosansshavian/v15/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf', [0x20,0x20,0xa0,0xa0,0x10450,0x1047f,]), + NotoFont.fromFlatRanges('Noto Sans Siddham', 'http://fonts.gstatic.com/s/notosanssiddham/v15/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf', [0x20,0x20,0xa0,0xa0,0x200c,0x200d,0x25cc,0x25cc,0x11580,0x115b5,0x115b8,0x115dd,]), + NotoFont.fromFlatRanges('Noto Sans Sinhala', 'http://fonts.gstatic.com/s/notosanssinhala/v25/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf', [0x20,0x23,0x25,0x25,0x27,0x3f,0x5b,0x5f,0x7b,0x7e,0xa0,0xa0,0xad,0xad,0xd7,0xd7,0xf7,0xf7,0x964,0x965,0xd81,0xd83,0xd85,0xd96,0xd9a,0xdb1,0xdb3,0xdbb,0xdbd,0xdbd,0xdc0,0xdc6,0xdca,0xdca,0xdcf,0xdd4,0xdd6,0xdd6,0xdd8,0xddf,0xde6,0xdef,0xdf2,0xdf4,0x200b,0x200d,0x2013,0x2014,0x2018,0x2019,0x201c,0x201d,0x2026,0x2026,0x2212,0x2212,0x25cc,0x25cc,0x111e1,0x111f4,]), + NotoFont.fromFlatRanges('Noto Sans Sogdian', 'http://fonts.gstatic.com/s/notosanssogdian/v15/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf', [0x20,0x20,0xa0,0xa0,0x640,0x640,0x200c,0x200c,0x25cc,0x25cc,0x10f30,0x10f59,]), + NotoFont.fromFlatRanges('Noto Sans Sora Sompeng', 'http://fonts.gstatic.com/s/notosanssorasompeng/v17/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x2010,0x2010,0x110d0,0x110e8,0x110f0,0x110f9,]), + NotoFont.fromFlatRanges('Noto Sans Soyombo', 'http://fonts.gstatic.com/s/notosanssoyombo/v15/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11a50,0x11aa2,]), + NotoFont.fromFlatRanges('Noto Sans Sundanese', 'http://fonts.gstatic.com/s/notosanssundanese/v17/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf', [0x20,0x20,0x2d,0x2d,0xa0,0xa0,0x1b80,0x1bbf,0x1cc0,0x1cc7,0x200b,0x200d,0x2010,0x2010,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Syloti Nagri', 'http://fonts.gstatic.com/s/notosanssylotinagri/v15/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x9e6,0x9ef,0x200b,0x200d,0x2010,0x2011,0x2055,0x2055,0x25cc,0x25cc,0xa800,0xa82c,]), + NotoFont.fromFlatRanges('Noto Sans Syriac', 'http://fonts.gstatic.com/s/notosanssyriac/v15/Ktk2AKuMeZjqPnXgyqribqzQqgW0N4O3WYZB_sU.ttf', [0x20,0x21,0x28,0x2b,0x2d,0x2f,0x3a,0x3a,0x3d,0x3d,0x5b,0x5d,0xa0,0xa0,0xab,0xab,0xb0,0xb0,0xbb,0xbb,0x303,0x304,0x307,0x308,0x30a,0x30a,0x320,0x320,0x323,0x325,0x32d,0x32e,0x330,0x331,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x621,0x621,0x640,0x640,0x64b,0x655,0x660,0x66c,0x670,0x670,0x700,0x70d,0x70f,0x74a,0x74d,0x74f,0x200c,0x200f,0x2026,0x2026,0x2044,0x2044,0x2212,0x2212,0x25cc,0x25cc,0x2670,0x2671,]), + NotoFont.fromFlatRanges('Noto Sans TC', 'http://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf', [0x20,0x7e,0xa0,0x103,0x110,0x113,0x11a,0x11b,0x128,0x12b,0x143,0x144,0x147,0x148,0x14c,0x14f,0x152,0x153,0x168,0x16d,0x192,0x192,0x1a0,0x1a1,0x1af,0x1b0,0x1cd,0x1dc,0x1f8,0x1f9,0x251,0x251,0x261,0x261,0x2bb,0x2bb,0x2c7,0x2c7,0x2c9,0x2cb,0x2d9,0x2d9,0x2ea,0x2eb,0x300,0x301,0x304,0x304,0x307,0x307,0x30c,0x30c,0x391,0x3a1,0x3a3,0x3a9,0x3b1,0x3c9,0x401,0x401,0x410,0x44f,0x451,0x451,0x1e3e,0x1e3f,0x1ea0,0x1ef9,0x2002,0x2003,0x2010,0x2016,0x2018,0x201a,0x201c,0x201e,0x2020,0x2022,0x2025,0x2027,0x2030,0x2030,0x2032,0x2033,0x2035,0x2035,0x2039,0x203c,0x2042,0x2042,0x2047,0x2049,0x2051,0x2051,0x2074,0x2074,0x20a9,0x20a9,0x20ab,0x20ac,0x20dd,0x20de,0x2100,0x2100,0x2103,0x2103,0x2105,0x2105,0x2109,0x210a,0x210f,0x210f,0x2113,0x2113,0x2116,0x2116,0x2121,0x2122,0x2126,0x2127,0x212b,0x212b,0x212e,0x212e,0x2135,0x2135,0x213b,0x213b,0x2160,0x216b,0x2170,0x217b,0x2190,0x2199,0x21b8,0x21b9,0x21c4,0x21c6,0x21cb,0x21cc,0x21d0,0x21d0,0x21d2,0x21d2,0x21d4,0x21d4,0x21e6,0x21e9,0x21f5,0x21f5,0x2200,0x2200,0x2202,0x2203,0x2205,0x220b,0x220f,0x220f,0x2211,0x2213,0x2215,0x2215,0x221a,0x221a,0x221d,0x2220,0x2223,0x2223,0x2225,0x222e,0x2234,0x2237,0x223d,0x223d,0x2243,0x2243,0x2245,0x2245,0x2248,0x2248,0x224c,0x224c,0x2252,0x2252,0x2260,0x2262,0x2264,0x2267,0x226a,0x226b,0x226e,0x226f,0x2272,0x2273,0x2276,0x2277,0x2282,0x2287,0x228a,0x228b,0x2295,0x2299,0x22a0,0x22a0,0x22a5,0x22a5,0x22bf,0x22bf,0x22da,0x22db,0x22ef,0x22ef,0x2305,0x2307,0x2312,0x2312,0x2318,0x2318,0x2329,0x232a,0x23b0,0x23b1,0x23be,0x23cc,0x23ce,0x23ce,0x23da,0x23db,0x2423,0x2423,0x2460,0x25ab,0x25b1,0x25b3,0x25b6,0x25b7,0x25bc,0x25bd,0x25c0,0x25c1,0x25c6,0x25cc,0x25ce,0x25d3,0x25e2,0x25e6,0x25ef,0x25ef,0x2600,0x2603,0x2605,0x2606,0x2609,0x2609,0x260e,0x260f,0x2616,0x2617,0x261c,0x261f,0x262f,0x262f,0x2640,0x2642,0x2660,0x266f,0x2672,0x267d,0x26a0,0x26a0,0x26bd,0x26be,0x2702,0x2702,0x2713,0x2713,0x271a,0x271a,0x273d,0x273d,0x273f,0x2740,0x2756,0x2756,0x2776,0x2793,0x27a1,0x27a1,0x2934,0x2935,0x29bf,0x29bf,0x29fa,0x29fb,0x2b05,0x2b07,0x2b1a,0x2b1a,0x2b95,0x2b95,0x2e3a,0x2e3b,0x2e80,0x2e99,0x2e9b,0x2ef3,0x2f00,0x2fd5,0x2ff0,0x2ffb,0x3000,0x303f,0x3041,0x3096,0x3099,0x30ff,0x3105,0x312f,0x3131,0x3163,0x3165,0x318e,0x3190,0x31bb,0x31c0,0x31e3,0x31f0,0x321e,0x3220,0x332b,0x332d,0x33ff,0x3435,0x3435,0x3440,0x3440,0x344a,0x344a,0x344c,0x344c,0x3464,0x3464,0x3473,0x3473,0x347a,0x347a,0x347d,0x347e,0x3493,0x3493,0x3496,0x3496,0x34a5,0x34a5,0x34af,0x34af,0x34bc,0x34bc,0x34c1,0x34c1,0x34c8,0x34c8,0x34df,0x34df,0x34e4,0x34e4,0x34e6,0x34e6,0x34fb,0x34fb,0x3506,0x3506,0x353e,0x353e,0x3551,0x3551,0x3553,0x3553,0x3559,0x3559,0x3561,0x3561,0x356d,0x356d,0x3570,0x3570,0x3572,0x3572,0x3577,0x3578,0x3584,0x3584,0x3597,0x3598,0x35a1,0x35a1,0x35a5,0x35a5,0x35ad,0x35ad,0x35bf,0x35bf,0x35c1,0x35c1,0x35c5,0x35c5,0x35c7,0x35c7,0x35ca,0x35ca,0x35ce,0x35ce,0x35d2,0x35d2,0x35d6,0x35d6,0x35db,0x35db,0x35dd,0x35dd,0x35f1,0x35f3,0x35fb,0x35fb,0x35fe,0x35fe,0x3609,0x3609,0x3618,0x3618,0x361a,0x361a,0x3623,0x3623,0x3625,0x3625,0x362d,0x362d,0x3635,0x3635,0x3639,0x3639,0x363e,0x363e,0x3647,0x3649,0x364e,0x364e,0x365f,0x365f,0x3661,0x3661,0x367a,0x367a,0x3681,0x3681,0x369a,0x369a,0x36a5,0x36a5,0x36aa,0x36aa,0x36ac,0x36ac,0x36b0,0x36b1,0x36b5,0x36b5,0x36b9,0x36b9,0x36bc,0x36bc,0x36c1,0x36c1,0x36c3,0x36c5,0x36c7,0x36c8,0x36d3,0x36d4,0x36d6,0x36d6,0x36dd,0x36dd,0x36e1,0x36e2,0x36e5,0x36e6,0x36f5,0x36f5,0x3701,0x3701,0x3703,0x3703,0x3708,0x3708,0x370a,0x370a,0x370d,0x370d,0x371c,0x371c,0x3722,0x3723,0x3725,0x3725,0x372c,0x372d,0x3730,0x3730,0x3732,0x3733,0x373a,0x373a,0x3740,0x3740,0x3743,0x3743,0x3762,0x3762,0x376f,0x376f,0x3797,0x3797,0x37a0,0x37a0,0x37b9,0x37b9,0x37be,0x37be,0x37d6,0x37d6,0x37f2,0x37f2,0x37f8,0x37f8,0x37fb,0x37fb,0x380f,0x380f,0x3819,0x3819,0x3820,0x3820,0x382d,0x382d,0x3836,0x3836,0x3838,0x3838,0x3863,0x3863,0x3875,0x3875,0x38a0,0x38a0,0x38c3,0x38c3,0x38cc,0x38cc,0x38d1,0x38d1,0x38d4,0x38d4,0x38fa,0x38fa,0x3908,0x3908,0x3914,0x3914,0x3927,0x3927,0x3932,0x3932,0x393f,0x393f,0x394d,0x394d,0x3963,0x3963,0x3978,0x3978,0x3980,0x3980,0x3989,0x398a,0x3992,0x3992,0x3999,0x3999,0x399b,0x399b,0x39a1,0x39a1,0x39a4,0x39a4,0x39b8,0x39b8,0x39dc,0x39dc,0x39e2,0x39e2,0x39e5,0x39e5,0x39ec,0x39ec,0x39f8,0x39f8,0x39fb,0x39fb,0x39fe,0x39fe,0x3a01,0x3a01,0x3a03,0x3a03,0x3a06,0x3a06,0x3a17,0x3a18,0x3a29,0x3a2a,0x3a34,0x3a34,0x3a4b,0x3a4b,0x3a52,0x3a52,0x3a57,0x3a57,0x3a5c,0x3a5c,0x3a5e,0x3a5e,0x3a66,0x3a67,0x3a97,0x3a97,0x3aab,0x3aab,0x3abd,0x3abd,0x3ada,0x3ada,0x3ade,0x3ade,0x3ae0,0x3ae0,0x3af0,0x3af0,0x3af2,0x3af2,0x3af5,0x3af5,0x3afb,0x3afb,0x3b0e,0x3b0e,0x3b19,0x3b19,0x3b22,0x3b22,0x3b2b,0x3b2b,0x3b39,0x3b39,0x3b42,0x3b42,0x3b58,0x3b58,0x3b60,0x3b60,0x3b71,0x3b72,0x3b7b,0x3b7c,0x3b80,0x3b80,0x3b95,0x3b96,0x3b99,0x3b99,0x3ba1,0x3ba1,0x3bbc,0x3bbc,0x3bbe,0x3bbe,0x3bc2,0x3bc2,0x3bc4,0x3bc4,0x3bd7,0x3bd7,0x3bdd,0x3bdd,0x3bec,0x3bec,0x3bf2,0x3bf4,0x3c0d,0x3c0d,0x3c11,0x3c11,0x3c15,0x3c15,0x3c18,0x3c18,0x3c54,0x3c54,0x3c8b,0x3c8b,0x3ccb,0x3ccb,0x3ccd,0x3ccd,0x3cd1,0x3cd1,0x3cd6,0x3cd6,0x3cdc,0x3cdc,0x3ceb,0x3ceb,0x3cef,0x3cef,0x3d12,0x3d13,0x3d1d,0x3d1d,0x3d32,0x3d32,0x3d3b,0x3d3b,0x3d46,0x3d46,0x3d4c,0x3d4c,0x3d4e,0x3d4e,0x3d51,0x3d51,0x3d5f,0x3d5f,0x3d62,0x3d62,0x3d69,0x3d6a,0x3d6f,0x3d6f,0x3d75,0x3d75,0x3d7d,0x3d7d,0x3d85,0x3d85,0x3d88,0x3d88,0x3d8a,0x3d8a,0x3d8f,0x3d8f,0x3d91,0x3d91,0x3da5,0x3da5,0x3dad,0x3dad,0x3db4,0x3db4,0x3dbf,0x3dbf,0x3dc6,0x3dc7,0x3dc9,0x3dc9,0x3dcc,0x3dcd,0x3dd3,0x3dd3,0x3ddb,0x3ddb,0x3de7,0x3de8,0x3deb,0x3deb,0x3df3,0x3df4,0x3df7,0x3df7,0x3dfc,0x3dfd,0x3e06,0x3e06,0x3e40,0x3e40,0x3e43,0x3e43,0x3e48,0x3e48,0x3e55,0x3e55,0x3e74,0x3e74,0x3ea8,0x3eaa,0x3ead,0x3ead,0x3eb1,0x3eb1,0x3eb8,0x3eb8,0x3ebf,0x3ebf,0x3ec2,0x3ec2,0x3ec7,0x3ec7,0x3eca,0x3eca,0x3ecc,0x3ecc,0x3ed0,0x3ed1,0x3ed6,0x3ed7,0x3eda,0x3edb,0x3ede,0x3ede,0x3ee1,0x3ee2,0x3ee7,0x3ee7,0x3ee9,0x3ee9,0x3eeb,0x3eec,0x3ef0,0x3ef0,0x3ef3,0x3ef4,0x3efa,0x3efa,0x3efc,0x3efc,0x3eff,0x3f00,0x3f04,0x3f04,0x3f06,0x3f07,0x3f0e,0x3f0e,0x3f53,0x3f53,0x3f58,0x3f59,0x3f63,0x3f63,0x3f7c,0x3f7c,0x3f93,0x3f93,0x3fc0,0x3fc0,0x3fc8,0x3fc8,0x3fd7,0x3fd7,0x3fdc,0x3fdc,0x3fe5,0x3fe5,0x3fed,0x3fed,0x3ff9,0x3ffa,0x4004,0x4004,0x4009,0x4009,0x401d,0x401d,0x4039,0x4039,0x4045,0x4045,0x4053,0x4053,0x4057,0x4057,0x4062,0x4062,0x4065,0x4065,0x406a,0x406a,0x406f,0x406f,0x4071,0x4071,0x40a8,0x40a8,0x40b4,0x40b4,0x40bb,0x40bb,0x40bf,0x40bf,0x40c8,0x40c8,0x40d8,0x40d8,0x40df,0x40df,0x40f8,0x40f8,0x40fa,0x40fa,0x4102,0x4104,0x4109,0x4109,0x410e,0x410e,0x4131,0x4132,0x4167,0x4167,0x416c,0x416c,0x416e,0x416e,0x417c,0x417c,0x417f,0x417f,0x4181,0x4181,0x4190,0x4190,0x41b2,0x41b2,0x41c4,0x41c4,0x41ca,0x41ca,0x41cf,0x41cf,0x41db,0x41db,0x41ed,0x41ed,0x41ef,0x41ef,0x41f9,0x41f9,0x4211,0x4211,0x4223,0x4223,0x4240,0x4240,0x4260,0x4260,0x426a,0x426a,0x4276,0x4276,0x427a,0x427a,0x428c,0x428c,0x4294,0x4294,0x42a2,0x42a2,0x42b5,0x42b5,0x42b9,0x42b9,0x42bc,0x42bc,0x42f4,0x42f4,0x42fb,0x42fc,0x430a,0x430a,0x432b,0x432b,0x436e,0x436e,0x4397,0x4397,0x439a,0x439a,0x43ba,0x43ba,0x43c1,0x43c1,0x43d9,0x43d9,0x43df,0x43df,0x43ed,0x43ed,0x43f0,0x43f0,0x43f2,0x43f2,0x4401,0x4402,0x4413,0x4413,0x4425,0x4425,0x442d,0x442d,0x447a,0x447a,0x448f,0x448f,0x4491,0x4491,0x449f,0x44a0,0x44a2,0x44a2,0x44b0,0x44b0,0x44b7,0x44b7,0x44bd,0x44bd,0x44c0,0x44c0,0x44c3,0x44c3,0x44c5,0x44c5,0x44ce,0x44ce,0x44dd,0x44df,0x44e1,0x44e1,0x44e4,0x44e4,0x44e9,0x44ec,0x44f4,0x44f4,0x4503,0x4504,0x4509,0x4509,0x450b,0x450b,0x4516,0x4516,0x451b,0x451b,0x451d,0x451d,0x4527,0x4527,0x452e,0x452e,0x4533,0x4533,0x4536,0x4536,0x453b,0x453b,0x453d,0x453d,0x453f,0x453f,0x4543,0x4543,0x4551,0x4552,0x4555,0x4555,0x4558,0x4558,0x455c,0x455c,0x4561,0x4562,0x456a,0x456a,0x456d,0x456d,0x4577,0x4578,0x4585,0x4585,0x45a6,0x45a6,0x45b3,0x45b3,0x45da,0x45da,0x45e9,0x45ea,0x4603,0x4603,0x4606,0x4606,0x460f,0x460f,0x4615,0x4615,0x4617,0x4617,0x465b,0x465b,0x467a,0x467a,0x4680,0x4680,0x46a1,0x46a1,0x46ae,0x46ae,0x46bb,0x46bb,0x46cf,0x46d0,0x46f5,0x46f5,0x46f7,0x46f7,0x4713,0x4713,0x4718,0x4718,0x4736,0x4736,0x4744,0x4744,0x474e,0x474f,0x477c,0x477c,0x4798,0x4798,0x47a6,0x47a6,0x47d5,0x47d5,0x47ed,0x47ed,0x47f4,0x47f4,0x4800,0x4800,0x480b,0x480b,0x4837,0x4837,0x485d,0x485d,0x4871,0x4871,0x489b,0x489b,0x48ad,0x48ae,0x48d0,0x48d0,0x48dd,0x48dd,0x48ed,0x48ed,0x48f3,0x48f3,0x48fa,0x48fa,0x4906,0x4906,0x4911,0x4911,0x491e,0x491e,0x4925,0x4925,0x492a,0x492a,0x492d,0x492d,0x492f,0x4930,0x4935,0x4935,0x493c,0x493c,0x493e,0x493e,0x4945,0x4945,0x4951,0x4951,0x4953,0x4953,0x4965,0x4965,0x496a,0x496a,0x4972,0x4972,0x4989,0x4989,0x49a1,0x49a1,0x49a7,0x49a7,0x49df,0x49df,0x49e5,0x49e5,0x49e7,0x49e7,0x4a0f,0x4a0f,0x4a1d,0x4a1d,0x4a24,0x4a24,0x4a35,0x4a35,0x4a96,0x4a96,0x4aa4,0x4aa4,0x4ab4,0x4ab4,0x4ab8,0x4ab8,0x4ad1,0x4ad1,0x4ae4,0x4ae4,0x4aff,0x4aff,0x4b10,0x4b10,0x4b19,0x4b19,0x4b20,0x4b20,0x4b2c,0x4b2c,0x4b37,0x4b37,0x4b6f,0x4b70,0x4b72,0x4b72,0x4b7b,0x4b7b,0x4b7e,0x4b7e,0x4b8e,0x4b8e,0x4b90,0x4b90,0x4b93,0x4b93,0x4b96,0x4b97,0x4b9d,0x4b9d,0x4bbd,0x4bbe,0x4bc0,0x4bc0,0x4c04,0x4c04,0x4c07,0x4c07,0x4c0e,0x4c0e,0x4c32,0x4c32,0x4c3b,0x4c3b,0x4c3e,0x4c3e,0x4c40,0x4c40,0x4c47,0x4c47,0x4c57,0x4c57,0x4c5b,0x4c5b,0x4c6d,0x4c6d,0x4c77,0x4c77,0x4c7b,0x4c7b,0x4c7d,0x4c7d,0x4c81,0x4c81,0x4c85,0x4c85,0x4ca4,0x4ca4,0x4cae,0x4cae,0x4cb0,0x4cb0,0x4cb7,0x4cb7,0x4ccd,0x4ccd,0x4ce1,0x4ce2,0x4ced,0x4ced,0x4d07,0x4d07,0x4d09,0x4d09,0x4d10,0x4d10,0x4d34,0x4d34,0x4d76,0x4d77,0x4d89,0x4d89,0x4d91,0x4d91,0x4d9c,0x4d9c,0x4e00,0x4e01,0x4e03,0x4e04,0x4e07,0x4e11,0x4e14,0x4e16,0x4e18,0x4e1a,0x4e1c,0x4e1c,0x4e1e,0x4e1f,0x4e21,0x4e22,0x4e24,0x4e24,0x4e26,0x4e26,0x4e28,0x4e28,0x4e2a,0x4e33,0x4e36,0x4e39,0x4e3b,0x4e3d,0x4e3f,0x4e3f,0x4e42,0x4e43,0x4e45,0x4e45,0x4e47,0x4e49,0x4e4b,0x4e4b,0x4e4d,0x4e4f,0x4e52,0x4e53,0x4e56,0x4e56,0x4e58,0x4e5f,0x4e69,0x4e6a,0x4e73,0x4e73,0x4e78,0x4e78,0x4e7e,0x4e89,0x4e8b,0x4e8e,0x4e91,0x4e95,0x4e98,0x4e9b,0x4e9e,0x4ea6,0x4ea8,0x4ea8,0x4eab,0x4eae,0x4eb3,0x4eb3,0x4eb6,0x4eb7,0x4eb9,0x4ebc,0x4ebf,0x4ec4,0x4ec6,0x4ecb,0x4ecd,0x4ece,0x4ed4,0x4eda,0x4edc,0x4edf,0x4ee1,0x4ee1,0x4ee3,0x4ee5,0x4ee8,0x4eeb,0x4eee,0x4eee,0x4ef0,0x4ef8,0x4efb,0x4efb,0x4efd,0x4efd,0x4eff,0x4f05,0x4f08,0x4f0b,0x4f0d,0x4f15,0x4f17,0x4f1a,0x4f1d,0x4f1d,0x4f22,0x4f22,0x4f28,0x4f29,0x4f2c,0x4f2d,0x4f2f,0x4f30,0x4f32,0x4f34,0x4f36,0x4f3f,0x4f41,0x4f43,0x4f45,0x4f49,0x4f4b,0x4f64,0x4f67,0x4f67,0x4f69,0x4f6c,0x4f6e,0x4f70,0x4f72,0x4f8b,0x4f8d,0x4f8d,0x4f8f,0x4f92,0x4f94,0x4f98,0x4f9a,0x4f9e,0x4fa2,0x4fa2,0x4fa8,0x4fa8,0x4fab,0x4fab,0x4fae,0x4fb0,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbd,0x4fbd,0x4fbf,0x4fc5,0x4fc7,0x4fd1,0x4fd3,0x4fd4,0x4fd6,0x4fe1,0x4fe4,0x4fe5,0x4fec,0x4fec,0x4fee,0x4ffa,0x4ffd,0x4ffe,0x5000,0x5000,0x5003,0x5003,0x5005,0x5009,0x500b,0x500f,0x5011,0x501c,0x501e,0x5023,0x5025,0x5031,0x5033,0x5035,0x5037,0x5037,0x503b,0x503c,0x5040,0x5041,0x5043,0x5043,0x5045,0x504f,0x5051,0x5051,0x5053,0x5053,0x5055,0x5058,0x505a,0x5066,0x5068,0x5070,0x5072,0x5077,0x507a,0x507a,0x507d,0x507d,0x5080,0x5083,0x5085,0x5085,0x5087,0x5088,0x508b,0x508e,0x5090,0x5092,0x5094,0x5096,0x5098,0x509e,0x50a2,0x50a3,0x50a6,0x50a6,0x50ac,0x50b8,0x50ba,0x50bf,0x50c1,0x50c2,0x50c4,0x50cb,0x50cd,0x50d1,0x50d3,0x50d7,0x50d9,0x50db,0x50dd,0x50dd,0x50df,0x50e1,0x50e3,0x50ea,0x50ec,0x50f1,0x50f3,0x50f6,0x50f8,0x50f9,0x50fb,0x510e,0x5110,0x5115,0x5117,0x5118,0x511a,0x511a,0x511c,0x511c,0x511f,0x5122,0x5124,0x5126,0x5129,0x512b,0x512d,0x512e,0x5130,0x5135,0x5137,0x513d,0x513f,0x5141,0x5143,0x5149,0x514b,0x514d,0x5151,0x5152,0x5154,0x5157,0x5159,0x5163,0x5165,0x5165,0x5167,0x516e,0x5171,0x5171,0x5174,0x5179,0x517c,0x517c,0x5180,0x5180,0x5182,0x5182,0x5186,0x518a,0x518d,0x518d,0x518f,0x518f,0x5191,0x5198,0x519a,0x519a,0x519c,0x519c,0x519e,0x519e,0x51a0,0x51a0,0x51a2,0x51a2,0x51a4,0x51a5,0x51a7,0x51a8,0x51aa,0x51ac,0x51ae,0x51ae,0x51b0,0x51b9,0x51bc,0x51be,0x51c3,0x51d4,0x51d7,0x51d8,0x51db,0x51e2,0x51e4,0x51e4,0x51ed,0x51ed,0x51f0,0x51f1,0x51f3,0x51f6,0x51f8,0x51fa,0x51fc,0x51fe,0x5200,0x5203,0x5205,0x520c,0x520e,0x520e,0x5210,0x5213,0x5216,0x5217,0x521c,0x5221,0x5224,0x522a,0x522e,0x522e,0x5230,0x5238,0x523a,0x523c,0x5241,0x5241,0x5243,0x5244,0x5246,0x5247,0x5249,0x524f,0x5252,0x5252,0x5254,0x5257,0x5259,0x5262,0x5268,0x526f,0x5272,0x5275,0x5277,0x527d,0x527f,0x5284,0x5287,0x528d,0x528f,0x5291,0x5293,0x5294,0x5296,0x529b,0x529f,0x52a1,0x52a3,0x52a4,0x52a6,0x52a6,0x52a8,0x52ae,0x52b5,0x52b5,0x52b9,0x52b9,0x52bb,0x52bc,0x52be,0x52be,0x52c0,0x52c3,0x52c5,0x52c5,0x52c7,0x52c7,0x52c9,0x52c9,0x52cc,0x52cd,0x52d0,0x52d3,0x52d5,0x52d9,0x52db,0x52db,0x52dd,0x52e4,0x52e6,0x52e6,0x52e9,0x52e9,0x52eb,0x52eb,0x52ef,0x52f1,0x52f3,0x52f5,0x52f7,0x52fc,0x52fe,0x52ff,0x5301,0x5301,0x5305,0x5306,0x5308,0x530b,0x530d,0x5312,0x5315,0x5317,0x5319,0x531a,0x531c,0x531d,0x531f,0x5324,0x5327,0x5327,0x532a,0x532a,0x532c,0x532d,0x532f,0x5334,0x5337,0x5339,0x533b,0x5345,0x5347,0x534a,0x534c,0x534e,0x5351,0x5354,0x5357,0x5357,0x535a,0x535a,0x535c,0x5361,0x5363,0x5364,0x5366,0x5367,0x5369,0x5369,0x536c,0x5375,0x5377,0x5379,0x537b,0x537f,0x5382,0x5382,0x5384,0x5384,0x538a,0x538a,0x538e,0x538f,0x5392,0x5394,0x5396,0x539a,0x539c,0x53a0,0x53a2,0x53a2,0x53a4,0x53ae,0x53b0,0x53b0,0x53b2,0x53b2,0x53b4,0x53b4,0x53b6,0x53b6,0x53b9,0x53b9,0x53bb,0x53bb,0x53c1,0x53c3,0x53c5,0x53c5,0x53c8,0x53cd,0x53d0,0x53d2,0x53d4,0x53d4,0x53d6,0x53db,0x53df,0x53e6,0x53e8,0x53f3,0x53f5,0x53f8,0x53fb,0x53fc,0x53fe,0x53fe,0x5401,0x5401,0x5403,0x5404,0x5406,0x5414,0x5416,0x5416,0x5418,0x5421,0x5423,0x5439,0x543b,0x5443,0x5445,0x5448,0x544a,0x544f,0x5454,0x5454,0x5460,0x546d,0x546f,0x5478,0x547a,0x5482,0x5484,0x5488,0x548b,0x5498,0x549a,0x549a,0x549c,0x549c,0x549e,0x549e,0x54a0,0x54b4,0x54b6,0x54c9,0x54cb,0x54d0,0x54d6,0x54d6,0x54da,0x54da,0x54de,0x54de,0x54e0,0x54eb,0x54ed,0x54ef,0x54f1,0x54f3,0x54f7,0x54f8,0x54fa,0x54fd,0x54ff,0x54ff,0x5501,0x5514,0x5517,0x5518,0x551a,0x551a,0x551e,0x551e,0x5523,0x5523,0x5525,0x5528,0x552a,0x5539,0x553b,0x553c,0x553e,0x5541,0x5543,0x554b,0x554d,0x5553,0x5555,0x5557,0x555c,0x555f,0x5561,0x5566,0x5569,0x556b,0x5571,0x5573,0x5575,0x5577,0x5579,0x5579,0x557b,0x5584,0x5586,0x5595,0x5598,0x559a,0x559c,0x559d,0x559f,0x559f,0x55a1,0x55ae,0x55b0,0x55b5,0x55b9,0x55bc,0x55bf,0x55df,0x55e1,0x55ea,0x55ec,0x55ec,0x55ee,0x55f2,0x55f5,0x55f7,0x55f9,0x5602,0x5604,0x5606,0x5608,0x5609,0x560c,0x5617,0x561b,0x5623,0x5625,0x5625,0x5627,0x5627,0x5629,0x562a,0x562c,0x5630,0x5632,0x563b,0x563d,0x5643,0x5645,0x5646,0x5648,0x564a,0x564c,0x5650,0x5652,0x5654,0x5657,0x565a,0x565d,0x565e,0x5660,0x5666,0x5668,0x5674,0x5676,0x567c,0x567e,0x5687,0x5689,0x5690,0x5692,0x5693,0x5695,0x5695,0x5697,0x569a,0x569c,0x569f,0x56a1,0x56a1,0x56a4,0x56a8,0x56aa,0x56af,0x56b1,0x56b7,0x56b9,0x56b9,0x56bc,0x56c3,0x56c5,0x56c6,0x56c8,0x56cd,0x56d1,0x56d1,0x56d3,0x56d4,0x56d6,0x56d7,0x56da,0x56db,0x56dd,0x56e2,0x56e4,0x56e5,0x56e7,0x56e7,0x56ea,0x56eb,0x56ed,0x56f1,0x56f7,0x56f7,0x56f9,0x56fb,0x56fd,0x56fd,0x56ff,0x5704,0x5707,0x570d,0x5712,0x5716,0x5718,0x5718,0x571a,0x5720,0x5722,0x5723,0x5728,0x572a,0x572c,0x5730,0x5732,0x5734,0x573b,0x573b,0x573d,0x5743,0x5745,0x5747,0x5749,0x5752,0x5754,0x5754,0x5757,0x5757,0x575b,0x575b,0x575f,0x575f,0x5761,0x5762,0x5764,0x5764,0x5766,0x576b,0x576d,0x576d,0x576f,0x5777,0x577a,0x5780,0x5782,0x5783,0x5788,0x5788,0x578a,0x578d,0x578f,0x5790,0x5793,0x5795,0x5797,0x57a5,0x57a7,0x57a7,0x57aa,0x57aa,0x57ae,0x57ae,0x57b3,0x57b6,0x57b8,0x57bf,0x57c1,0x57c4,0x57c6,0x57c8,0x57cb,0x57cc,0x57ce,0x57d0,0x57d2,0x57d2,0x57d4,0x57d5,0x57d7,0x57d7,0x57dc,0x57e7,0x57e9,0x57e9,0x57ec,0x57fe,0x5800,0x580e,0x5810,0x5810,0x5812,0x5812,0x5814,0x5814,0x5818,0x5819,0x581b,0x581e,0x5820,0x582a,0x582c,0x583b,0x583d,0x583d,0x583f,0x5840,0x5844,0x5844,0x5847,0x584f,0x5851,0x5855,0x5857,0x585f,0x5862,0x5865,0x5868,0x5869,0x586b,0x586d,0x586f,0x586f,0x5871,0x5876,0x5879,0x5883,0x5885,0x588b,0x588e,0x5894,0x5896,0x5896,0x5898,0x589a,0x589c,0x58a1,0x58a3,0x58a3,0x58a5,0x58ac,0x58ae,0x58b1,0x58b3,0x58b3,0x58b5,0x58b6,0x58ba,0x58bf,0x58c1,0x58c2,0x58c5,0x58c9,0x58cb,0x58cb,0x58ce,0x58d6,0x58d8,0x58e0,0x58e2,0x58e4,0x58e7,0x58e9,0x58eb,0x58ec,0x58ef,0x58f0,0x58f2,0x58f4,0x58f9,0x58ff,0x5902,0x5907,0x590a,0x590a,0x590c,0x590f,0x5911,0x5912,0x5914,0x5917,0x5919,0x591a,0x591c,0x591d,0x591f,0x5920,0x5922,0x5922,0x5924,0x5925,0x5927,0x5927,0x5929,0x592f,0x5931,0x5932,0x5934,0x5934,0x5937,0x5938,0x593c,0x593c,0x593e,0x593e,0x5940,0x5940,0x5944,0x5945,0x5947,0x594a,0x594e,0x5951,0x5953,0x5955,0x5957,0x5958,0x595a,0x595a,0x595c,0x595c,0x5960,0x5962,0x5965,0x5965,0x5967,0x5967,0x5969,0x596e,0x5970,0x5979,0x597b,0x5985,0x5989,0x598a,0x598d,0x5990,0x5992,0x5994,0x5996,0x599a,0x599d,0x59a8,0x59ac,0x59ac,0x59ae,0x59c1,0x59c3,0x59d4,0x59d6,0x59d6,0x59d8,0x59de,0x59e0,0x59e1,0x59e3,0x59e6,0x59e8,0x5a03,0x5a09,0x5a0d,0x5a0f,0x5a0f,0x5a11,0x5a13,0x5a15,0x5a1c,0x5a1e,0x5a21,0x5a23,0x5a25,0x5a27,0x5a27,0x5a29,0x5a2e,0x5a33,0x5a33,0x5a35,0x5a39,0x5a3c,0x5a3e,0x5a40,0x5a4a,0x5a4c,0x5a4d,0x5a50,0x5a6e,0x5a70,0x5a71,0x5a77,0x5a7f,0x5a81,0x5a84,0x5a86,0x5a86,0x5a88,0x5a88,0x5a8a,0x5a8c,0x5a8e,0x5a97,0x5a99,0x5aa2,0x5aa4,0x5aa7,0x5aa9,0x5aac,0x5aae,0x5ac4,0x5ac6,0x5acf,0x5ad1,0x5ad1,0x5ad3,0x5ad3,0x5ad5,0x5ae6,0x5ae8,0x5aee,0x5af0,0x5af0,0x5af2,0x5afb,0x5afd,0x5aff,0x5b01,0x5b03,0x5b05,0x5b05,0x5b07,0x5b09,0x5b0b,0x5b0d,0x5b0f,0x5b11,0x5b13,0x5b17,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b23,0x5b28,0x5b2a,0x5b30,0x5b32,0x5b32,0x5b34,0x5b34,0x5b38,0x5b38,0x5b3c,0x5b41,0x5b43,0x5b48,0x5b4a,0x5b51,0x5b53,0x5b58,0x5b5a,0x5b5d,0x5b5f,0x5b5f,0x5b62,0x5b66,0x5b68,0x5b69,0x5b6b,0x5b6e,0x5b70,0x5b78,0x5b7a,0x5b7d,0x5b7f,0x5b85,0x5b87,0x5b89,0x5b8b,0x5b8c,0x5b8e,0x5b90,0x5b92,0x5b93,0x5b95,0x5b9f,0x5ba2,0x5ba8,0x5baa,0x5baa,0x5bac,0x5bae,0x5bb0,0x5bb0,0x5bb3,0x5bb9,0x5bbf,0x5bc7,0x5bca,0x5bce,0x5bd0,0x5bd9,0x5bdb,0x5bdb,0x5bde,0x5bec,0x5bee,0x5bf3,0x5bf5,0x5bf6,0x5bf8,0x5bf8,0x5bfa,0x5bfa,0x5bff,0x5bff,0x5c01,0x5c01,0x5c03,0x5c05,0x5c07,0x5c16,0x5c1a,0x5c1a,0x5c1c,0x5c1c,0x5c1e,0x5c20,0x5c22,0x5c25,0x5c28,0x5c28,0x5c2a,0x5c2a,0x5c2c,0x5c2c,0x5c30,0x5c31,0x5c33,0x5c33,0x5c37,0x5c3c,0x5c3e,0x5c41,0x5c44,0x5c51,0x5c53,0x5c56,0x5c58,0x5c59,0x5c5c,0x5c5e,0x5c60,0x5c60,0x5c62,0x5c65,0x5c67,0x5c6a,0x5c6c,0x5c6f,0x5c71,0x5c71,0x5c73,0x5c74,0x5c78,0x5c7c,0x5c7e,0x5c7e,0x5c85,0x5c86,0x5c88,0x5c8d,0x5c8f,0x5c95,0x5c99,0x5c9a,0x5c9c,0x5cb1,0x5cb3,0x5cb3,0x5cb5,0x5cb8,0x5cba,0x5cba,0x5cc1,0x5cc2,0x5cc6,0x5ccc,0x5cce,0x5cdb,0x5cde,0x5cdf,0x5ce5,0x5ce5,0x5ce8,0x5cea,0x5cec,0x5cf1,0x5cf4,0x5cf9,0x5cfb,0x5cfd,0x5cff,0x5d01,0x5d06,0x5d07,0x5d0b,0x5d12,0x5d14,0x5d1b,0x5d1d,0x5d20,0x5d22,0x5d29,0x5d2c,0x5d2c,0x5d2e,0x5d3a,0x5d3c,0x5d43,0x5d45,0x5d4c,0x5d4e,0x5d4e,0x5d50,0x5d52,0x5d55,0x5d57,0x5d59,0x5d59,0x5d5b,0x5d5b,0x5d5e,0x5d5e,0x5d62,0x5d63,0x5d65,0x5d65,0x5d67,0x5d69,0x5d6b,0x5d6c,0x5d6f,0x5d72,0x5d74,0x5d74,0x5d77,0x5d82,0x5d84,0x5d8b,0x5d8d,0x5d8e,0x5d92,0x5d95,0x5d97,0x5d97,0x5d99,0x5d9a,0x5d9c,0x5da2,0x5da4,0x5da4,0x5da7,0x5db2,0x5db4,0x5dba,0x5dbc,0x5dbd,0x5dc0,0x5dc3,0x5dc6,0x5dc7,0x5dc9,0x5dc9,0x5dcb,0x5dcb,0x5dcd,0x5dcd,0x5dcf,0x5dcf,0x5dd1,0x5dd2,0x5dd4,0x5dd8,0x5ddb,0x5ddb,0x5ddd,0x5de2,0x5de5,0x5de8,0x5deb,0x5deb,0x5dee,0x5dee,0x5df0,0x5df5,0x5df7,0x5df7,0x5df9,0x5df9,0x5dfd,0x5dff,0x5e02,0x5e04,0x5e06,0x5e06,0x5e09,0x5e0c,0x5e0e,0x5e0e,0x5e11,0x5e12,0x5e14,0x5e1b,0x5e1d,0x5e1d,0x5e1f,0x5e25,0x5e28,0x5e29,0x5e2b,0x5e2b,0x5e2d,0x5e2e,0x5e33,0x5e34,0x5e36,0x5e38,0x5e3d,0x5e3e,0x5e40,0x5e45,0x5e48,0x5e48,0x5e4a,0x5e4f,0x5e53,0x5e55,0x5e57,0x5e59,0x5e5b,0x5e63,0x5e66,0x5e70,0x5e72,0x5e76,0x5e78,0x5e80,0x5e82,0x5e84,0x5e86,0x5e8d,0x5e8f,0x5e8f,0x5e92,0x5e92,0x5e95,0x5e97,0x5e99,0x5e9c,0x5ea0,0x5ea0,0x5ea2,0x5ea8,0x5eaa,0x5eae,0x5eb0,0x5eb9,0x5ebd,0x5ebe,0x5ec1,0x5ec2,0x5ec4,0x5ece,0x5ed0,0x5ee3,0x5ee5,0x5ee9,0x5eec,0x5eec,0x5eee,0x5eef,0x5ef1,0x5ef4,0x5ef6,0x5efc,0x5efe,0x5eff,0x5f01,0x5f02,0x5f04,0x5f05,0x5f07,0x5f08,0x5f0a,0x5f0f,0x5f12,0x5f15,0x5f17,0x5f18,0x5f1a,0x5f1b,0x5f1d,0x5f1d,0x5f1f,0x5f1f,0x5f22,0x5f29,0x5f2d,0x5f2e,0x5f30,0x5f31,0x5f33,0x5f33,0x5f35,0x5f38,0x5f3a,0x5f3c,0x5f40,0x5f40,0x5f43,0x5f46,0x5f48,0x5f51,0x5f54,0x5f54,0x5f56,0x5f59,0x5f5c,0x5f5e,0x5f61,0x5f65,0x5f67,0x5f67,0x5f69,0x5f6d,0x5f6f,0x5f74,0x5f76,0x5f79,0x5f7b,0x5f83,0x5f85,0x5f8c,0x5f90,0x5f92,0x5f96,0x5f99,0x5f9b,0x5f9c,0x5f9e,0x5fa1,0x5fa4,0x5faf,0x5fb1,0x5fb2,0x5fb5,0x5fb7,0x5fb9,0x5fc5,0x5fc9,0x5fc9,0x5fcc,0x5fcd,0x5fcf,0x5fd2,0x5fd4,0x5fd9,0x5fdb,0x5fdb,0x5fdd,0x5fe1,0x5fe3,0x5fe5,0x5fe8,0x5fe8,0x5fea,0x5feb,0x5fed,0x5fef,0x5ff1,0x5ff1,0x5ff3,0x5ff5,0x5ff7,0x5ff8,0x5ffa,0x5ffb,0x5ffd,0x5ffd,0x5fff,0x6000,0x6009,0x6017,0x6019,0x601e,0x6020,0x602f,0x6031,0x6035,0x6037,0x6037,0x6039,0x6039,0x603b,0x603b,0x6040,0x6047,0x6049,0x604d,0x6050,0x6050,0x6052,0x6055,0x6058,0x605b,0x605d,0x605f,0x6062,0x6070,0x6072,0x6072,0x6075,0x6075,0x6077,0x6077,0x607e,0x6081,0x6083,0x608a,0x608c,0x608e,0x6090,0x6090,0x6092,0x6092,0x6094,0x6097,0x609a,0x60a0,0x60a2,0x60a4,0x60a6,0x60a8,0x60b0,0x60c1,0x60c3,0x60cf,0x60d1,0x60d1,0x60d3,0x60d5,0x60d7,0x60e4,0x60e6,0x60e9,0x60f0,0x6101,0x6103,0x6110,0x6112,0x6116,0x6118,0x611d,0x611f,0x6120,0x6122,0x6123,0x6127,0x6129,0x612b,0x612c,0x612e,0x6130,0x6132,0x6132,0x6134,0x6134,0x6136,0x6137,0x613b,0x613b,0x613d,0x6142,0x6144,0x6150,0x6152,0x6156,0x6158,0x6168,0x616a,0x616c,0x616e,0x6177,0x6179,0x617a,0x617c,0x617e,0x6180,0x6183,0x6187,0x6187,0x6189,0x618e,0x6190,0x6196,0x6198,0x619d,0x619f,0x619f,0x61a1,0x61a2,0x61a4,0x61a4,0x61a7,0x61ba,0x61bc,0x61bc,0x61be,0x61c3,0x61c5,0x61cd,0x61cf,0x61d0,0x61d3,0x61d3,0x61d6,0x61d6,0x61d8,0x61d8,0x61da,0x61da,0x61de,0x61e0,0x61e2,0x61eb,0x61ed,0x61ee,0x61f0,0x61f2,0x61f5,0x6201,0x6203,0x6204,0x6207,0x620a,0x620c,0x620e,0x6210,0x6212,0x6214,0x6216,0x6219,0x621b,0x621f,0x6225,0x6227,0x6227,0x6229,0x622e,0x6230,0x6230,0x6232,0x6234,0x6236,0x6237,0x6239,0x623a,0x623d,0x6243,0x6246,0x624e,0x6250,0x6254,0x6258,0x625c,0x625e,0x625e,0x6260,0x6266,0x6268,0x6268,0x626d,0x6274,0x6276,0x6277,0x6279,0x628a,0x628c,0x628c,0x628e,0x6298,0x629d,0x629d,0x62a4,0x62a4,0x62a6,0x62a6,0x62a8,0x62b1,0x62b3,0x62b6,0x62b8,0x62b9,0x62bb,0x62bf,0x62c1,0x62dc,0x62df,0x62df,0x62e5,0x62e5,0x62eb,0x6303,0x6307,0x6309,0x630b,0x6311,0x6313,0x6316,0x6318,0x6318,0x6328,0x632f,0x6331,0x633e,0x6340,0x6351,0x6354,0x635a,0x635d,0x635d,0x6364,0x6365,0x6367,0x6369,0x636b,0x6372,0x6375,0x637d,0x637f,0x6385,0x6387,0x6392,0x6394,0x6394,0x6396,0x6399,0x639b,0x63a5,0x63a7,0x63b1,0x63b9,0x63b9,0x63bd,0x63be,0x63c0,0x63d3,0x63d5,0x63eb,0x63ed,0x63f6,0x63f8,0x63f9,0x63fb,0x63fc,0x63fe,0x63fe,0x6406,0x6407,0x6409,0x6410,0x6412,0x6418,0x641a,0x641c,0x641e,0x6428,0x642a,0x6430,0x6432,0x643b,0x643d,0x6441,0x6443,0x6443,0x644b,0x644b,0x644d,0x644e,0x6450,0x6454,0x6458,0x6461,0x6465,0x6469,0x646b,0x647d,0x647f,0x647f,0x6482,0x6482,0x6485,0x6485,0x6487,0x648d,0x648f,0x6493,0x6495,0x649a,0x649c,0x64a0,0x64a2,0x64a6,0x64a9,0x64a9,0x64ab,0x64b4,0x64b6,0x64b6,0x64bb,0x64c5,0x64c7,0x64c7,0x64c9,0x64cb,0x64cd,0x64d0,0x64d2,0x64d4,0x64d6,0x64db,0x64dd,0x64dd,0x64e0,0x64ed,0x64ef,0x64f4,0x64f7,0x64f8,0x64fa,0x6501,0x6503,0x6504,0x6506,0x6507,0x6509,0x650a,0x650c,0x6511,0x6513,0x6519,0x651b,0x6526,0x6529,0x6530,0x6532,0x6539,0x653b,0x653b,0x653d,0x653f,0x6541,0x6541,0x6543,0x6543,0x6545,0x6546,0x6548,0x654a,0x654d,0x654d,0x654f,0x654f,0x6551,0x6551,0x6553,0x655a,0x655c,0x655f,0x6562,0x6568,0x656a,0x656d,0x656f,0x656f,0x6572,0x657c,0x657f,0x6589,0x658b,0x658c,0x6590,0x6592,0x6594,0x6597,0x6599,0x6599,0x659b,0x65a2,0x65a4,0x65a5,0x65a7,0x65a8,0x65aa,0x65ac,0x65ae,0x65b0,0x65b2,0x65b3,0x65b5,0x65b9,0x65bb,0x65bf,0x65c1,0x65c6,0x65cb,0x65d4,0x65d6,0x65d7,0x65da,0x65db,0x65dd,0x65e3,0x65e5,0x65e6,0x65e8,0x65e9,0x65ec,0x65f5,0x65fa,0x65fd,0x65ff,0x6600,0x6602,0x6615,0x6618,0x6618,0x661c,0x6628,0x662b,0x662b,0x662d,0x6636,0x6639,0x663a,0x6641,0x6645,0x6647,0x664d,0x664f,0x664f,0x6651,0x6653,0x6657,0x6657,0x6659,0x6668,0x666a,0x666c,0x666e,0x6674,0x6676,0x667e,0x6680,0x6680,0x6684,0x668e,0x6690,0x6692,0x6694,0x669a,0x669d,0x669d,0x669f,0x66a2,0x66a4,0x66a4,0x66a8,0x66ab,0x66ad,0x66bb,0x66bd,0x66c0,0x66c4,0x66c4,0x66c6,0x66cf,0x66d2,0x66d2,0x66d6,0x66d6,0x66d8,0x66de,0x66e0,0x66e0,0x66e3,0x66e4,0x66e6,0x66e9,0x66eb,0x66ee,0x66f0,0x66f4,0x66f6,0x66f9,0x66fc,0x66fc,0x66fe,0x6705,0x6708,0x6710,0x6712,0x6719,0x671b,0x671b,0x671d,0x6723,0x6725,0x6728,0x672a,0x672e,0x6731,0x6731,0x6733,0x6736,0x6738,0x673f,0x6744,0x6749,0x674b,0x6751,0x6753,0x6753,0x6755,0x6757,0x6759,0x675a,0x675c,0x6762,0x6767,0x6767,0x676a,0x677f,0x6781,0x6787,0x6789,0x6789,0x678b,0x6795,0x6797,0x679a,0x679c,0x679d,0x679f,0x67a0,0x67a4,0x67a4,0x67ac,0x67ac,0x67ae,0x67bb,0x67bf,0x67c6,0x67c8,0x67d4,0x67d6,0x67df,0x67e2,0x67e7,0x67e9,0x67fa,0x67fc,0x67fc,0x67fe,0x6804,0x680d,0x680d,0x6810,0x6810,0x6812,0x6814,0x6816,0x6818,0x681a,0x6822,0x6825,0x6826,0x6828,0x682b,0x682d,0x682f,0x6831,0x683e,0x6840,0x6851,0x6853,0x6856,0x685d,0x685d,0x6865,0x6865,0x686b,0x686b,0x686d,0x686f,0x6871,0x6872,0x6874,0x6879,0x687b,0x688c,0x688f,0x6894,0x6896,0x6898,0x689b,0x689d,0x689f,0x68a4,0x68a6,0x68b6,0x68b9,0x68b9,0x68bd,0x68bd,0x68c1,0x68c1,0x68c3,0x68ce,0x68d0,0x68d8,0x68da,0x68da,0x68dc,0x68e1,0x68e3,0x68e4,0x68e6,0x68ec,0x68ee,0x68fd,0x6900,0x6915,0x6917,0x691b,0x6925,0x6925,0x692a,0x692a,0x692c,0x692c,0x692f,0x6930,0x6932,0x6939,0x693b,0x6946,0x6948,0x694c,0x694e,0x694f,0x6951,0x697b,0x6980,0x6980,0x6982,0x6983,0x6985,0x6986,0x698a,0x698a,0x698d,0x698e,0x6990,0x6991,0x6993,0x699c,0x699e,0x69b7,0x69b9,0x69b9,0x69bb,0x69c4,0x69c6,0x69c6,0x69c9,0x69d1,0x69d3,0x69d6,0x69d9,0x69d9,0x69e1,0x69e2,0x69e4,0x69e9,0x69eb,0x69ee,0x69f1,0x69f4,0x69f6,0x6a0d,0x6a0f,0x6a0f,0x6a11,0x6a11,0x6a13,0x6a21,0x6a23,0x6a23,0x6a25,0x6a29,0x6a2b,0x6a2d,0x6a32,0x6a35,0x6a38,0x6a41,0x6a43,0x6a49,0x6a4b,0x6a5b,0x6a5d,0x6a6b,0x6a6d,0x6a6d,0x6a6f,0x6a6f,0x6a71,0x6a71,0x6a74,0x6a74,0x6a76,0x6a76,0x6a7a,0x6a7a,0x6a7e,0x6a85,0x6a87,0x6a87,0x6a89,0x6a8a,0x6a8c,0x6a97,0x6a99,0x6aa8,0x6aab,0x6aaf,0x6ab1,0x6abb,0x6abd,0x6abe,0x6ac2,0x6ac3,0x6ac5,0x6acd,0x6acf,0x6ad1,0x6ad3,0x6ad4,0x6ad8,0x6ae1,0x6ae5,0x6ae5,0x6ae7,0x6ae8,0x6aea,0x6aec,0x6aee,0x6af1,0x6af3,0x6af3,0x6af6,0x6af6,0x6af8,0x6afc,0x6b00,0x6b00,0x6b02,0x6b05,0x6b08,0x6b0b,0x6b0f,0x6b13,0x6b16,0x6b1a,0x6b1d,0x6b1e,0x6b20,0x6b21,0x6b23,0x6b23,0x6b25,0x6b25,0x6b28,0x6b28,0x6b2c,0x6b2d,0x6b2f,0x6b2f,0x6b31,0x6b3f,0x6b41,0x6b43,0x6b45,0x6b4e,0x6b50,0x6b52,0x6b54,0x6b57,0x6b59,0x6b59,0x6b5b,0x6b5c,0x6b5e,0x6b67,0x6b6a,0x6b6a,0x6b6d,0x6b6d,0x6b6f,0x6b6f,0x6b72,0x6b72,0x6b74,0x6b74,0x6b76,0x6b7b,0x6b7e,0x6b84,0x6b86,0x6b86,0x6b88,0x6b8a,0x6b8c,0x6b8f,0x6b91,0x6b91,0x6b94,0x6b99,0x6b9b,0x6b9b,0x6b9e,0x6ba0,0x6ba2,0x6ba7,0x6baa,0x6bab,0x6bad,0x6bb0,0x6bb2,0x6bb3,0x6bb5,0x6bb7,0x6bba,0x6bba,0x6bbc,0x6bbd,0x6bbf,0x6bc1,0x6bc3,0x6bcd,0x6bcf,0x6bd0,0x6bd2,0x6bd4,0x6bd6,0x6bd8,0x6bda,0x6bdc,0x6bde,0x6bde,0x6be0,0x6be4,0x6be6,0x6be8,0x6bea,0x6bec,0x6bef,0x6bf0,0x6bf2,0x6bf3,0x6bf7,0x6c06,0x6c08,0x6c09,0x6c0b,0x6c0d,0x6c0f,0x6c11,0x6c13,0x6c16,0x6c18,0x6c1d,0x6c1f,0x6c21,0x6c23,0x6c28,0x6c2a,0x6c2c,0x6c2e,0x6c3b,0x6c3d,0x6c43,0x6c46,0x6c46,0x6c49,0x6c50,0x6c52,0x6c52,0x6c54,0x6c55,0x6c57,0x6c61,0x6c65,0x6c6b,0x6c6d,0x6c76,0x6c78,0x6c7b,0x6c7d,0x6c90,0x6c92,0x6c96,0x6c98,0x6c9d,0x6c9f,0x6c9f,0x6ca2,0x6ca2,0x6caa,0x6cb4,0x6cb6,0x6cc7,0x6cc9,0x6cd7,0x6cd9,0x6ce3,0x6ce5,0x6ce5,0x6ce7,0x6cf3,0x6cf5,0x6cf5,0x6cf9,0x6cf9,0x6cff,0x6d12,0x6d16,0x6d1b,0x6d1d,0x6d20,0x6d22,0x6d22,0x6d24,0x6d42,0x6d4e,0x6d4e,0x6d57,0x6d5c,0x6d5e,0x6d6a,0x6d6c,0x6d72,0x6d74,0x6d98,0x6d9a,0x6d9a,0x6da4,0x6da5,0x6daa,0x6dac,0x6dae,0x6daf,0x6db1,0x6db5,0x6db7,0x6dc0,0x6dc2,0x6dc2,0x6dc4,0x6dcd,0x6dcf,0x6de6,0x6de8,0x6df7,0x6df9,0x6dfe,0x6e00,0x6e00,0x6e02,0x6e05,0x6e0a,0x6e0a,0x6e0f,0x6e0f,0x6e15,0x6e15,0x6e18,0x6e1d,0x6e1f,0x6e36,0x6e38,0x6e41,0x6e43,0x6e47,0x6e49,0x6e4b,0x6e4d,0x6e69,0x6e6b,0x6e6b,0x6e6e,0x6e6f,0x6e71,0x6e74,0x6e76,0x6e79,0x6e7c,0x6e7c,0x6e86,0x6e86,0x6e88,0x6e89,0x6e8b,0x6e8b,0x6e8d,0x6e90,0x6e92,0x6e94,0x6e96,0x6ea7,0x6eaa,0x6eab,0x6eae,0x6ed6,0x6ed8,0x6edd,0x6ee2,0x6ee2,0x6ee8,0x6ee9,0x6eeb,0x6eef,0x6ef1,0x6ef2,0x6ef4,0x6f0f,0x6f12,0x6f1a,0x6f1c,0x6f1c,0x6f1e,0x6f27,0x6f29,0x6f41,0x6f43,0x6f44,0x6f4e,0x6f58,0x6f5a,0x6f64,0x6f66,0x6f67,0x6f69,0x6f70,0x6f72,0x6f74,0x6f76,0x6f82,0x6f84,0x6f8e,0x6f90,0x6f90,0x6f92,0x6f97,0x6f9d,0x6fb6,0x6fb8,0x6fc4,0x6fc6,0x6fcf,0x6fd3,0x6fd5,0x6fd8,0x6fe4,0x6fe6,0x6fe9,0x6feb,0x6ff2,0x6ff4,0x6ff4,0x6ff6,0x6ff8,0x6ffa,0x6ffc,0x6ffe,0x7001,0x7003,0x7007,0x7009,0x700f,0x7011,0x7011,0x7014,0x7024,0x7026,0x702c,0x702f,0x7035,0x7037,0x703c,0x703e,0x7046,0x7048,0x704d,0x7050,0x7052,0x7054,0x7058,0x705a,0x706c,0x706e,0x7071,0x7074,0x707a,0x707c,0x707f,0x7081,0x7086,0x7089,0x708b,0x708e,0x708f,0x7091,0x7096,0x7098,0x709a,0x709f,0x70a1,0x70a3,0x70a7,0x70a9,0x70a9,0x70ab,0x70b1,0x70b3,0x70b5,0x70b7,0x70be,0x70c0,0x70c0,0x70c4,0x70c8,0x70ca,0x70da,0x70dc,0x70e2,0x70e4,0x70e4,0x70ef,0x70f1,0x70f3,0x7100,0x7102,0x7102,0x7104,0x7106,0x7109,0x710e,0x7110,0x7110,0x7113,0x7113,0x7117,0x7117,0x7119,0x7123,0x7125,0x7126,0x7128,0x7129,0x712b,0x712c,0x712e,0x7136,0x713a,0x713b,0x713e,0x713e,0x7140,0x7147,0x7149,0x7154,0x7156,0x715a,0x715c,0x716c,0x716e,0x716e,0x7170,0x7178,0x717a,0x717e,0x7180,0x7182,0x7184,0x718a,0x718c,0x718c,0x718e,0x7192,0x7194,0x7194,0x7196,0x71a5,0x71a7,0x71aa,0x71ac,0x71ad,0x71af,0x71b5,0x71b7,0x71ba,0x71bc,0x71cb,0x71ce,0x71d2,0x71d4,0x71d6,0x71d8,0x71dd,0x71df,0x71e2,0x71e4,0x71e8,0x71eb,0x71ee,0x71f0,0x71f2,0x71f4,0x71f6,0x71f8,0x71f9,0x71fb,0x7203,0x7205,0x7207,0x7209,0x720a,0x720c,0x7210,0x7213,0x7217,0x7219,0x721b,0x721d,0x721f,0x7222,0x722e,0x7230,0x7230,0x7235,0x7236,0x7238,0x723b,0x723d,0x7242,0x7244,0x7244,0x7246,0x724c,0x724f,0x7250,0x7252,0x7253,0x7255,0x7263,0x7266,0x7267,0x7269,0x726a,0x726c,0x726c,0x726e,0x7270,0x7272,0x7274,0x7276,0x7279,0x727b,0x7282,0x7284,0x7289,0x728b,0x7298,0x729a,0x729b,0x729d,0x729f,0x72a1,0x72aa,0x72ac,0x72b0,0x72b2,0x72b2,0x72b4,0x72b5,0x72ba,0x72ba,0x72bd,0x72bd,0x72bf,0x72c6,0x72c9,0x72ce,0x72d0,0x72d2,0x72d4,0x72d4,0x72d6,0x72da,0x72dc,0x72dc,0x72df,0x72e4,0x72e6,0x72e6,0x72e8,0x72eb,0x72f3,0x72f4,0x72f6,0x7302,0x7304,0x7304,0x7307,0x7308,0x730a,0x730c,0x730f,0x7313,0x7316,0x7319,0x731b,0x731e,0x7322,0x7323,0x7325,0x732e,0x7330,0x733c,0x733e,0x7345,0x7348,0x734a,0x734c,0x7352,0x7357,0x735b,0x735d,0x7362,0x7365,0x736c,0x736e,0x7378,0x737a,0x738c,0x738e,0x738f,0x7392,0x7398,0x739c,0x73a2,0x73a4,0x73ad,0x73b2,0x73bc,0x73be,0x73c0,0x73c2,0x73d0,0x73d2,0x73de,0x73e0,0x73eb,0x73ed,0x73ef,0x73f3,0x740d,0x7411,0x7412,0x7414,0x7417,0x7419,0x7426,0x7428,0x743a,0x743c,0x743c,0x743f,0x7457,0x7459,0x7465,0x7467,0x7476,0x7479,0x747a,0x747c,0x7483,0x7485,0x748d,0x7490,0x7490,0x7492,0x7492,0x7494,0x7495,0x7497,0x74a1,0x74a3,0x74ab,0x74ad,0x74ad,0x74af,0x74b2,0x74b4,0x74bb,0x74bd,0x74c3,0x74c5,0x74c6,0x74c8,0x74c8,0x74ca,0x74cc,0x74cf,0x74d0,0x74d3,0x74e9,0x74ec,0x74ec,0x74ee,0x74ee,0x74f0,0x74f2,0x74f4,0x74f8,0x74fb,0x74fb,0x74fd,0x7500,0x7502,0x7505,0x7507,0x7508,0x750b,0x751a,0x751c,0x751f,0x7521,0x7522,0x7525,0x7526,0x7528,0x7535,0x7537,0x753b,0x753d,0x7540,0x7542,0x7542,0x7546,0x7548,0x754a,0x754f,0x7551,0x7551,0x7553,0x7555,0x7559,0x755d,0x755f,0x7560,0x7562,0x7567,0x756a,0x7570,0x7572,0x7572,0x7576,0x757a,0x757d,0x7580,0x7583,0x7584,0x7586,0x7587,0x758a,0x7592,0x7594,0x7595,0x7598,0x759a,0x759d,0x759e,0x75a2,0x75a5,0x75a7,0x75a7,0x75aa,0x75ab,0x75b0,0x75b6,0x75b8,0x75c5,0x75c7,0x75c8,0x75ca,0x75d2,0x75d4,0x75d5,0x75d7,0x75e4,0x75e6,0x75e7,0x75ed,0x75ed,0x75ef,0x7603,0x7607,0x760d,0x760f,0x7611,0x7613,0x7616,0x7619,0x7629,0x762c,0x762d,0x762f,0x7635,0x7638,0x7638,0x763a,0x763d,0x7640,0x7640,0x7642,0x7643,0x7646,0x7649,0x764c,0x7654,0x7656,0x765a,0x765c,0x765c,0x765f,0x7662,0x7664,0x7667,0x7669,0x766a,0x766c,0x7676,0x7678,0x767f,0x7681,0x7682,0x7684,0x7684,0x7686,0x768b,0x768e,0x7690,0x7692,0x7693,0x7695,0x7696,0x7699,0x769e,0x76a1,0x76a1,0x76a4,0x76a6,0x76aa,0x76ab,0x76ad,0x76b0,0x76b4,0x76b5,0x76b7,0x76b8,0x76ba,0x76bb,0x76bd,0x76bf,0x76c2,0x76c6,0x76c8,0x76ca,0x76cc,0x76ce,0x76d2,0x76d4,0x76d6,0x76d6,0x76d9,0x76df,0x76e1,0x76e1,0x76e3,0x76e7,0x76e9,0x76ea,0x76ec,0x76f5,0x76f7,0x76fc,0x76fe,0x76fe,0x7701,0x7701,0x7703,0x7705,0x7707,0x770c,0x770e,0x7713,0x7715,0x7715,0x7719,0x771b,0x771d,0x7720,0x7722,0x7729,0x772b,0x772b,0x772d,0x772d,0x772f,0x772f,0x7731,0x773e,0x7740,0x7740,0x7743,0x7747,0x774a,0x774f,0x7752,0x7752,0x7754,0x7756,0x7758,0x775c,0x775e,0x7763,0x7765,0x776f,0x7772,0x7772,0x7777,0x7785,0x7787,0x7789,0x778b,0x778f,0x7791,0x7791,0x7793,0x7793,0x7795,0x7795,0x7797,0x77a3,0x77a5,0x77a5,0x77a7,0x77a8,0x77aa,0x77ad,0x77af,0x77b7,0x77b9,0x77bf,0x77c2,0x77c5,0x77c7,0x77c7,0x77c9,0x77d0,0x77d3,0x77d5,0x77d7,0x77de,0x77e0,0x77e0,0x77e2,0x77e3,0x77e5,0x77e9,0x77ec,0x77f4,0x77f7,0x77fe,0x7802,0x7803,0x7805,0x7806,0x7808,0x7809,0x780c,0x7814,0x7818,0x7818,0x781c,0x7823,0x7825,0x7835,0x7837,0x7839,0x783c,0x783d,0x7842,0x7845,0x7847,0x784e,0x7850,0x7854,0x785c,0x785e,0x7860,0x7860,0x7862,0x7862,0x7864,0x7866,0x7868,0x7871,0x7879,0x787c,0x787e,0x7881,0x7883,0x7889,0x788c,0x788f,0x7891,0x7891,0x7893,0x789a,0x789e,0x78a5,0x78a7,0x78ad,0x78af,0x78b4,0x78b6,0x78b6,0x78b8,0x78bc,0x78be,0x78be,0x78c1,0x78c1,0x78c3,0x78c5,0x78c7,0x78d5,0x78d7,0x78d8,0x78da,0x78db,0x78dd,0x78e5,0x78e7,0x78ea,0x78ec,0x78f5,0x78f7,0x78f7,0x78f9,0x78ff,0x7901,0x7902,0x7904,0x7906,0x7909,0x7909,0x790c,0x790c,0x790e,0x790e,0x7910,0x7914,0x7917,0x7917,0x7919,0x7919,0x791b,0x791e,0x7921,0x7921,0x7923,0x792f,0x7931,0x7936,0x7938,0x7942,0x7944,0x794c,0x794f,0x7965,0x7967,0x796b,0x796d,0x796d,0x7970,0x7974,0x7979,0x797a,0x797c,0x7983,0x7986,0x7988,0x798a,0x798b,0x798d,0x799d,0x799f,0x79a2,0x79a4,0x79ae,0x79b0,0x79b4,0x79b6,0x79bb,0x79bd,0x79c1,0x79c4,0x79c6,0x79c8,0x79d2,0x79d4,0x79d6,0x79d8,0x79d8,0x79dc,0x79e0,0x79e2,0x79e4,0x79e6,0x79e7,0x79e9,0x79ee,0x79f1,0x79f1,0x79f4,0x79f4,0x79f6,0x79f8,0x79fa,0x79fb,0x7a00,0x7a00,0x7a02,0x7a06,0x7a08,0x7a08,0x7a0a,0x7a0e,0x7a10,0x7a15,0x7a17,0x7a1c,0x7a1e,0x7a20,0x7a22,0x7a22,0x7a26,0x7a26,0x7a28,0x7a28,0x7a2a,0x7a32,0x7a37,0x7a37,0x7a39,0x7a40,0x7a43,0x7a4e,0x7a54,0x7a54,0x7a56,0x7a58,0x7a5a,0x7a5c,0x7a5f,0x7a62,0x7a65,0x7a65,0x7a67,0x7a69,0x7a6b,0x7a6e,0x7a70,0x7a72,0x7a74,0x7a76,0x7a78,0x7a7b,0x7a7d,0x7a81,0x7a83,0x7a8c,0x7a8f,0x7a99,0x7a9e,0x7aa0,0x7aa2,0x7aa3,0x7aa8,0x7aac,0x7aae,0x7ab8,0x7aba,0x7abc,0x7abe,0x7ac5,0x7ac7,0x7acb,0x7acf,0x7acf,0x7ad1,0x7ad1,0x7ad3,0x7ad3,0x7ad8,0x7add,0x7adf,0x7ae0,0x7ae2,0x7ae7,0x7ae9,0x7aeb,0x7aed,0x7aef,0x7af6,0x7af7,0x7af9,0x7b01,0x7b04,0x7b06,0x7b08,0x7b0c,0x7b0e,0x7b14,0x7b18,0x7b1b,0x7b1d,0x7b20,0x7b22,0x7b35,0x7b38,0x7b39,0x7b3b,0x7b3b,0x7b40,0x7b40,0x7b42,0x7b52,0x7b54,0x7b56,0x7b58,0x7b58,0x7b60,0x7b67,0x7b69,0x7b69,0x7b6c,0x7b78,0x7b7b,0x7b7b,0x7b82,0x7b82,0x7b84,0x7b85,0x7b87,0x7b88,0x7b8a,0x7b92,0x7b94,0x7b9d,0x7ba0,0x7ba4,0x7bac,0x7baf,0x7bb1,0x7bb2,0x7bb4,0x7bb5,0x7bb7,0x7bb9,0x7bbe,0x7bbe,0x7bc0,0x7bc1,0x7bc4,0x7bc7,0x7bc9,0x7bcc,0x7bce,0x7bd0,0x7bd4,0x7bd5,0x7bd8,0x7bec,0x7bf0,0x7bf4,0x7bf7,0x7c03,0x7c05,0x7c07,0x7c09,0x7c12,0x7c15,0x7c15,0x7c19,0x7c19,0x7c1b,0x7c23,0x7c25,0x7c2d,0x7c30,0x7c30,0x7c33,0x7c33,0x7c35,0x7c35,0x7c37,0x7c39,0x7c3b,0x7c40,0x7c42,0x7c45,0x7c47,0x7c4a,0x7c4c,0x7c4d,0x7c50,0x7c51,0x7c53,0x7c54,0x7c56,0x7c57,0x7c59,0x7c5d,0x7c5f,0x7c60,0x7c63,0x7c67,0x7c69,0x7c70,0x7c72,0x7c75,0x7c78,0x7c81,0x7c83,0x7c86,0x7c88,0x7c8a,0x7c8c,0x7c8e,0x7c91,0x7c92,0x7c94,0x7c98,0x7c9c,0x7c9c,0x7c9e,0x7c9f,0x7ca1,0x7ca3,0x7ca5,0x7ca8,0x7cac,0x7cac,0x7cae,0x7caf,0x7cb1,0x7cb5,0x7cb8,0x7cbf,0x7cc2,0x7cc3,0x7cc5,0x7cc5,0x7cc7,0x7cce,0x7cd0,0x7cd7,0x7cd9,0x7cda,0x7cdc,0x7ce0,0x7ce2,0x7ce2,0x7ce6,0x7ce8,0x7cea,0x7cea,0x7cec,0x7cf9,0x7cfb,0x7cfe,0x7d00,0x7d22,0x7d25,0x7d25,0x7d28,0x7d29,0x7d2b,0x7d2c,0x7d2e,0x7d33,0x7d35,0x7d36,0x7d38,0x7d47,0x7d4a,0x7d4a,0x7d4d,0x7d56,0x7d58,0x7d58,0x7d5a,0x7d5f,0x7d61,0x7d63,0x7d66,0x7d6b,0x7d6d,0x7d73,0x7d79,0x7d7d,0x7d7f,0x7d81,0x7d83,0x7d86,0x7d88,0x7d89,0x7d8b,0x7d8f,0x7d91,0x7d97,0x7d9c,0x7da4,0x7da6,0x7db5,0x7db7,0x7dc2,0x7dc4,0x7dc7,0x7dc9,0x7dd0,0x7dd2,0x7dd4,0x7dd7,0x7de1,0x7de3,0x7dea,0x7dec,0x7dec,0x7dee,0x7df7,0x7df9,0x7dfe,0x7e03,0x7e03,0x7e07,0x7e17,0x7e1a,0x7e25,0x7e27,0x7e27,0x7e29,0x7e2b,0x7e2d,0x7e49,0x7e4c,0x7e4c,0x7e50,0x7e5c,0x7e5e,0x7e63,0x7e65,0x7e65,0x7e67,0x7e70,0x7e72,0x7e82,0x7e86,0x7e88,0x7e8a,0x7e8f,0x7e91,0x7e9c,0x7e9f,0x7e9f,0x7ea4,0x7ea4,0x7eac,0x7eac,0x7eba,0x7eba,0x7ec7,0x7ec7,0x7ecf,0x7ecf,0x7edf,0x7edf,0x7f06,0x7f06,0x7f36,0x7f3a,0x7f3d,0x7f41,0x7f43,0x7f45,0x7f47,0x7f55,0x7f58,0x7f58,0x7f5b,0x7f61,0x7f63,0x7f63,0x7f65,0x7f6e,0x7f70,0x7f73,0x7f75,0x7f7f,0x7f83,0x7f83,0x7f85,0x7f8f,0x7f91,0x7f97,0x7f9a,0x7f9e,0x7fa0,0x7fa9,0x7fac,0x7fc3,0x7fc5,0x7fc5,0x7fc7,0x7fc7,0x7fc9,0x7fd2,0x7fd4,0x7fd5,0x7fd7,0x7fd7,0x7fdb,0x7fe3,0x7fe5,0x7ff5,0x7ff7,0x8008,0x800b,0x8012,0x8014,0x8019,0x801b,0x8021,0x8024,0x8026,0x8028,0x802a,0x802c,0x802c,0x802e,0x8031,0x8033,0x8037,0x8039,0x8039,0x803b,0x803f,0x8043,0x8043,0x8046,0x8048,0x804a,0x804a,0x804f,0x8052,0x8054,0x8054,0x8056,0x8056,0x8058,0x8058,0x805a,0x805e,0x8061,0x8064,0x8066,0x8067,0x806c,0x806c,0x806f,0x8073,0x8075,0x8079,0x807d,0x8080,0x8082,0x8082,0x8084,0x8087,0x8089,0x808c,0x808f,0x8090,0x8092,0x8093,0x8095,0x8096,0x8098,0x809d,0x809f,0x809f,0x80a1,0x80a3,0x80a5,0x80a5,0x80a7,0x80a7,0x80a9,0x80ab,0x80ad,0x80af,0x80b1,0x80b2,0x80b4,0x80b8,0x80ba,0x80ba,0x80bc,0x80bd,0x80c2,0x80ca,0x80cc,0x80d1,0x80d4,0x80de,0x80e0,0x80e1,0x80e3,0x80e6,0x80e9,0x80e9,0x80ec,0x80ed,0x80ef,0x80f6,0x80f8,0x80fe,0x8100,0x8103,0x8105,0x810a,0x810c,0x810c,0x810e,0x810e,0x8112,0x8112,0x8114,0x811b,0x811d,0x811f,0x8121,0x8125,0x8127,0x8127,0x8129,0x812d,0x812f,0x8132,0x8134,0x8134,0x8137,0x8137,0x8139,0x813a,0x813d,0x813e,0x8142,0x8144,0x8146,0x8148,0x814a,0x8156,0x8159,0x815c,0x815e,0x815e,0x8160,0x8162,0x8164,0x8167,0x8169,0x8169,0x816b,0x8174,0x8176,0x817a,0x817c,0x817d,0x817f,0x8180,0x8182,0x8184,0x8186,0x818d,0x818f,0x818f,0x8193,0x8193,0x8195,0x8195,0x8197,0x81a0,0x81a2,0x81a3,0x81a5,0x81ac,0x81ae,0x81ae,0x81b0,0x81b7,0x81b9,0x81ca,0x81cc,0x81cd,0x81cf,0x81d2,0x81d5,0x81d5,0x81d7,0x81db,0x81dd,0x81ea,0x81ec,0x81ef,0x81f2,0x81f4,0x81f6,0x81fc,0x81fe,0x8202,0x8204,0x8205,0x8207,0x820d,0x8210,0x8212,0x8214,0x8216,0x8218,0x8218,0x821a,0x8222,0x8225,0x8226,0x8228,0x822d,0x822f,0x822f,0x8232,0x823a,0x823c,0x8240,0x8242,0x8242,0x8244,0x8245,0x8247,0x8247,0x8249,0x8249,0x824b,0x824b,0x824e,0x825c,0x825e,0x825f,0x8261,0x8266,0x8268,0x8269,0x826b,0x826f,0x8271,0x8272,0x8274,0x8280,0x8283,0x8285,0x8287,0x8287,0x828a,0x828b,0x828d,0x8294,0x8298,0x829b,0x829d,0x82b1,0x82b3,0x82c0,0x82c2,0x82c4,0x82ca,0x82ca,0x82cf,0x82d9,0x82db,0x82dc,0x82de,0x82e8,0x82ea,0x8309,0x830b,0x830d,0x8316,0x831e,0x8320,0x8320,0x8322,0x8322,0x8324,0x832d,0x832f,0x832f,0x8331,0x833d,0x833f,0x8345,0x8347,0x8354,0x8356,0x8357,0x8362,0x8363,0x8366,0x8366,0x836f,0x836f,0x8373,0x8378,0x837a,0x837f,0x8381,0x8381,0x8383,0x8383,0x8385,0x839e,0x83a0,0x83a0,0x83a2,0x83ac,0x83ae,0x83b0,0x83b9,0x83b9,0x83bd,0x83cf,0x83d1,0x83d1,0x83d3,0x83d9,0x83db,0x83e5,0x83e7,0x83f6,0x83f8,0x83ff,0x8401,0x8401,0x8403,0x8407,0x8409,0x8414,0x8416,0x8416,0x8418,0x8418,0x841b,0x841c,0x8420,0x8421,0x8423,0x8424,0x8426,0x8426,0x8429,0x8429,0x842b,0x8440,0x8442,0x844e,0x8450,0x8469,0x846b,0x847a,0x847d,0x8480,0x8482,0x8482,0x8484,0x8484,0x8486,0x8486,0x8488,0x8488,0x848d,0x8494,0x8496,0x84a4,0x84a7,0x84b2,0x84b4,0x84b4,0x84b6,0x84b6,0x84b8,0x84c2,0x84c4,0x84c7,0x84c9,0x84d4,0x84d6,0x84d7,0x84da,0x84db,0x84de,0x84de,0x84e1,0x84e2,0x84e4,0x84e5,0x84e7,0x84ec,0x84ee,0x84f4,0x84f6,0x8500,0x8502,0x851a,0x851c,0x8521,0x8523,0x8531,0x8533,0x8534,0x8538,0x8538,0x853b,0x853b,0x853d,0x853e,0x8540,0x854e,0x8551,0x855b,0x855d,0x8571,0x8573,0x8573,0x8575,0x857c,0x857e,0x857e,0x8580,0x8591,0x8593,0x85a4,0x85a6,0x85aa,0x85af,0x85b1,0x85b3,0x85ba,0x85bd,0x85c9,0x85cb,0x85cb,0x85cd,0x85d2,0x85d5,0x85da,0x85dc,0x85e6,0x85e8,0x85f2,0x85f4,0x85f4,0x85f6,0x8602,0x8604,0x8607,0x8609,0x860d,0x860f,0x8611,0x8613,0x8614,0x8616,0x861c,0x861e,0x862a,0x862c,0x862f,0x8631,0x8636,0x8638,0x863c,0x863e,0x8640,0x8642,0x8643,0x8645,0x8648,0x864b,0x864e,0x8650,0x8650,0x8652,0x8656,0x8659,0x8659,0x865b,0x865c,0x865e,0x865f,0x8661,0x8665,0x8667,0x8674,0x8677,0x8677,0x8679,0x867c,0x867e,0x867e,0x8685,0x8687,0x868a,0x868e,0x8690,0x869a,0x869c,0x869e,0x86a0,0x86a5,0x86a7,0x86aa,0x86ad,0x86ad,0x86af,0x86c9,0x86cb,0x86cc,0x86d0,0x86d1,0x86d3,0x86d4,0x86d6,0x86df,0x86e2,0x86e4,0x86e6,0x86e6,0x86e8,0x86ed,0x86ef,0x86ef,0x86f5,0x86fb,0x86fe,0x86fe,0x8700,0x870e,0x8711,0x8713,0x8715,0x8715,0x8718,0x871c,0x871e,0x871e,0x8720,0x872a,0x872c,0x872e,0x8730,0x8735,0x8737,0x8738,0x873a,0x873c,0x873e,0x8743,0x8746,0x8746,0x874c,0x8771,0x8773,0x877b,0x877d,0x877d,0x8781,0x8789,0x878b,0x878d,0x878f,0x8794,0x8796,0x8798,0x879a,0x879f,0x87a2,0x87a5,0x87a9,0x87c6,0x87c8,0x87cc,0x87ce,0x87ce,0x87d1,0x87d4,0x87d6,0x87e8,0x87ea,0x87ef,0x87f2,0x87f7,0x87f9,0x87fc,0x87fe,0x8806,0x8808,0x880d,0x880f,0x8811,0x8813,0x8819,0x881b,0x881d,0x881f,0x8833,0x8835,0x8839,0x883b,0x8846,0x8848,0x8848,0x884a,0x884f,0x8852,0x8853,0x8855,0x8857,0x8859,0x885b,0x885d,0x885e,0x8860,0x8865,0x8867,0x886b,0x886d,0x8872,0x8874,0x8877,0x8879,0x8879,0x887c,0x8884,0x8887,0x8889,0x888b,0x8893,0x8895,0x88a2,0x88a4,0x88a4,0x88a7,0x88a8,0x88aa,0x88ac,0x88ae,0x88ae,0x88b1,0x88b2,0x88b4,0x88ba,0x88bc,0x88c2,0x88c5,0x88c5,0x88c7,0x88c7,0x88c9,0x88d0,0x88d2,0x88d2,0x88d4,0x88df,0x88e1,0x88e1,0x88e6,0x88e8,0x88eb,0x88ec,0x88ee,0x8902,0x8905,0x8907,0x8909,0x890c,0x890e,0x890e,0x8910,0x891a,0x891e,0x891f,0x8921,0x8927,0x8929,0x8933,0x8935,0x8938,0x893b,0x893e,0x8941,0x8944,0x8946,0x8947,0x8949,0x8949,0x894b,0x894d,0x894f,0x8954,0x8956,0x8966,0x8969,0x896f,0x8971,0x8974,0x8976,0x8977,0x8979,0x897c,0x897e,0x8983,0x8985,0x898b,0x898f,0x898f,0x8991,0x8991,0x8993,0x8998,0x899b,0x899f,0x89a1,0x89a7,0x89a9,0x89aa,0x89ac,0x89af,0x89b2,0x89b2,0x89b6,0x89b7,0x89b9,0x89ba,0x89bc,0x89c1,0x89c6,0x89c6,0x89d2,0x89d6,0x89d9,0x89dd,0x89df,0x89e9,0x89eb,0x89ed,0x89f0,0x89f4,0x89f6,0x89f8,0x89fa,0x89fc,0x89fe,0x8a00,0x8a02,0x8a04,0x8a07,0x8a08,0x8a0a,0x8a0a,0x8a0c,0x8a0c,0x8a0e,0x8a13,0x8a15,0x8a18,0x8a1b,0x8a1f,0x8a22,0x8a23,0x8a25,0x8a25,0x8a27,0x8a27,0x8a29,0x8a2d,0x8a30,0x8a31,0x8a34,0x8a34,0x8a36,0x8a36,0x8a38,0x8a41,0x8a44,0x8a46,0x8a48,0x8a4a,0x8a4c,0x8a52,0x8a54,0x8a59,0x8a5b,0x8a5b,0x8a5e,0x8a5e,0x8a60,0x8a63,0x8a66,0x8a69,0x8a6b,0x8a6e,0x8a70,0x8a77,0x8a79,0x8a7c,0x8a7e,0x8a7f,0x8a81,0x8a87,0x8a8b,0x8a8d,0x8a8f,0x8a96,0x8a98,0x8a9a,0x8a9c,0x8a9c,0x8a9e,0x8a9e,0x8aa0,0x8aa1,0x8aa3,0x8aac,0x8aaf,0x8ab0,0x8ab2,0x8ab2,0x8ab4,0x8ab4,0x8ab6,0x8ab6,0x8ab8,0x8ac0,0x8ac2,0x8ac9,0x8acb,0x8acd,0x8acf,0x8acf,0x8ad1,0x8ae2,0x8ae4,0x8ae4,0x8ae6,0x8ae8,0x8aea,0x8aeb,0x8aed,0x8afc,0x8afe,0x8b02,0x8b04,0x8b08,0x8b0a,0x8b20,0x8b22,0x8b28,0x8b2a,0x8b31,0x8b33,0x8b33,0x8b35,0x8b37,0x8b39,0x8b43,0x8b45,0x8b5a,0x8b5c,0x8b60,0x8b62,0x8b63,0x8b65,0x8b6d,0x8b6f,0x8b70,0x8b74,0x8b74,0x8b77,0x8b7b,0x8b7d,0x8b86,0x8b88,0x8b88,0x8b8a,0x8b8c,0x8b8e,0x8b90,0x8b92,0x8b96,0x8b98,0x8b9c,0x8b9e,0x8ba0,0x8bbe,0x8bbe,0x8be2,0x8be2,0x8c37,0x8c37,0x8c39,0x8c39,0x8c3b,0x8c3f,0x8c41,0x8c43,0x8c45,0x8c51,0x8c54,0x8c57,0x8c5a,0x8c5a,0x8c5c,0x8c5d,0x8c5f,0x8c5f,0x8c61,0x8c62,0x8c64,0x8c66,0x8c68,0x8c6d,0x8c6f,0x8c73,0x8c75,0x8c7b,0x8c7d,0x8c7d,0x8c80,0x8c82,0x8c84,0x8c86,0x8c89,0x8c8a,0x8c8c,0x8c8d,0x8c8f,0x8c95,0x8c97,0x8ca5,0x8ca7,0x8cad,0x8caf,0x8cb0,0x8cb2,0x8cc5,0x8cc7,0x8cc8,0x8cca,0x8cca,0x8ccc,0x8ccd,0x8ccf,0x8ccf,0x8cd1,0x8cd7,0x8cd9,0x8cee,0x8cf0,0x8cf5,0x8cf7,0x8cfe,0x8d00,0x8d00,0x8d02,0x8d0d,0x8d0f,0x8d19,0x8d1b,0x8d1d,0x8d64,0x8d64,0x8d66,0x8d69,0x8d6b,0x8d70,0x8d72,0x8d74,0x8d76,0x8d7b,0x8d7d,0x8d7d,0x8d80,0x8d82,0x8d84,0x8d85,0x8d89,0x8d8a,0x8d8c,0x8d96,0x8d99,0x8d99,0x8d9b,0x8d9c,0x8d9f,0x8da1,0x8da3,0x8da3,0x8da5,0x8daf,0x8db2,0x8db7,0x8db9,0x8dba,0x8dbc,0x8dbc,0x8dbe,0x8dc3,0x8dc5,0x8dc8,0x8dcb,0x8dd1,0x8dd3,0x8ddd,0x8ddf,0x8de4,0x8de6,0x8dec,0x8dee,0x8df4,0x8dfa,0x8dfa,0x8dfc,0x8e07,0x8e09,0x8e0a,0x8e0d,0x8e2b,0x8e2d,0x8e2e,0x8e30,0x8e31,0x8e33,0x8e36,0x8e38,0x8e3a,0x8e3c,0x8e42,0x8e44,0x8e50,0x8e53,0x8e57,0x8e59,0x8e6a,0x8e6c,0x8e6d,0x8e6f,0x8e6f,0x8e71,0x8e78,0x8e7a,0x8e7c,0x8e7e,0x8e7e,0x8e80,0x8e82,0x8e84,0x8e8e,0x8e90,0x8e98,0x8e9a,0x8e9a,0x8e9d,0x8ea1,0x8ea3,0x8ead,0x8eb0,0x8eb0,0x8eb2,0x8eb2,0x8eb6,0x8eb6,0x8eb9,0x8eba,0x8ebc,0x8ebd,0x8ec0,0x8ec0,0x8ec2,0x8ec3,0x8ec9,0x8ecf,0x8ed1,0x8ed4,0x8ed7,0x8ed8,0x8eda,0x8ee2,0x8ee4,0x8ee9,0x8eeb,0x8eef,0x8ef1,0x8ef2,0x8ef4,0x8efc,0x8efe,0x8f03,0x8f05,0x8f0b,0x8f0d,0x8f0e,0x8f10,0x8f20,0x8f23,0x8f26,0x8f29,0x8f2a,0x8f2c,0x8f30,0x8f32,0x8f39,0x8f3b,0x8f3c,0x8f3e,0x8f4b,0x8f4d,0x8f64,0x8f66,0x8f67,0x8f6e,0x8f6e,0x8f93,0x8f93,0x8f9b,0x8f9c,0x8f9f,0x8fa0,0x8fa3,0x8fa3,0x8fa5,0x8fa8,0x8fad,0x8fbc,0x8fbe,0x8fbf,0x8fc1,0x8fc2,0x8fc4,0x8fc6,0x8fc9,0x8fd7,0x8fda,0x8fda,0x8fe0,0x8fe6,0x8fe8,0x8fe8,0x8fea,0x8feb,0x8fed,0x8fee,0x8ff0,0x8ff0,0x8ff4,0x9006,0x9008,0x9008,0x900b,0x900d,0x900f,0x9012,0x9014,0x9017,0x9019,0x9024,0x902d,0x902f,0x9031,0x9038,0x903c,0x903f,0x9041,0x9042,0x9044,0x9044,0x9046,0x9047,0x9049,0x9056,0x9058,0x9059,0x905b,0x905e,0x9060,0x9064,0x9067,0x9069,0x906b,0x9070,0x9072,0x9088,0x908a,0x908b,0x908d,0x908d,0x908f,0x9091,0x9094,0x9095,0x9097,0x9099,0x909b,0x909b,0x909e,0x90a3,0x90a5,0x90a8,0x90aa,0x90aa,0x90ae,0x90b6,0x90b8,0x90b8,0x90bb,0x90bb,0x90bd,0x90bf,0x90c1,0x90c1,0x90c3,0x90c5,0x90c7,0x90c8,0x90ca,0x90cb,0x90ce,0x90ce,0x90d4,0x90dd,0x90df,0x90e5,0x90e8,0x90ed,0x90ef,0x90f5,0x90f9,0x9109,0x910b,0x910b,0x910d,0x9112,0x9114,0x9114,0x9116,0x9124,0x9126,0x9136,0x9138,0x913b,0x913e,0x9141,0x9143,0x9153,0x9155,0x915a,0x915c,0x915c,0x915e,0x9165,0x9167,0x916a,0x916c,0x916c,0x916e,0x9170,0x9172,0x917a,0x917c,0x917c,0x9180,0x9187,0x9189,0x9193,0x9196,0x9196,0x9199,0x91a3,0x91a5,0x91a5,0x91a7,0x91b7,0x91b9,0x91be,0x91c0,0x91c7,0x91c9,0x91c9,0x91cb,0x91d1,0x91d3,0x91da,0x91dc,0x91dd,0x91df,0x91df,0x91e2,0x91ee,0x91f1,0x91f1,0x91f3,0x91fa,0x91fd,0x920a,0x920c,0x921a,0x921c,0x921c,0x921e,0x921e,0x9221,0x9221,0x9223,0x9228,0x922a,0x922b,0x922d,0x922e,0x9230,0x923a,0x923c,0x9241,0x9244,0x9246,0x9248,0x9258,0x925a,0x925b,0x925d,0x9267,0x926b,0x9270,0x9272,0x9272,0x9276,0x928f,0x9291,0x9291,0x9293,0x929d,0x92a0,0x92ac,0x92ae,0x92ae,0x92b1,0x92b7,0x92b9,0x92bc,0x92be,0x92d5,0x92d7,0x92d9,0x92db,0x92db,0x92dd,0x92e1,0x92e3,0x92f4,0x92f6,0x9304,0x9306,0x9309,0x930b,0x9310,0x9312,0x9316,0x9318,0x931b,0x931d,0x9331,0x9333,0x9336,0x9338,0x9339,0x933c,0x933c,0x9340,0x9352,0x9354,0x935c,0x935e,0x936e,0x9370,0x9371,0x9373,0x937e,0x9380,0x938a,0x938c,0x9392,0x9394,0x93aa,0x93ac,0x93b5,0x93b7,0x93b8,0x93bb,0x93bb,0x93bd,0x93bd,0x93bf,0x93c0,0x93c2,0x93c4,0x93c6,0x93c8,0x93ca,0x93e4,0x93e6,0x93e8,0x93ec,0x93ec,0x93ee,0x93ee,0x93f0,0x93f1,0x93f3,0x9401,0x9403,0x9404,0x9406,0x9419,0x941b,0x941b,0x941d,0x941d,0x9420,0x9420,0x9424,0x9433,0x9435,0x9440,0x9442,0x944d,0x944f,0x9452,0x9454,0x9455,0x9457,0x9458,0x945b,0x945b,0x945d,0x945e,0x9460,0x9460,0x9462,0x9465,0x9467,0x9479,0x947b,0x9483,0x9485,0x9485,0x949f,0x949f,0x94a2,0x94a2,0x94c1,0x94c1,0x94c3,0x94c3,0x94dc,0x94dc,0x94f6,0x94f6,0x952d,0x952d,0x9547,0x9547,0x9577,0x9578,0x957a,0x957d,0x957f,0x9580,0x9582,0x9583,0x9585,0x9586,0x9588,0x9589,0x958b,0x9594,0x9596,0x9599,0x959b,0x959c,0x959e,0x95ae,0x95b0,0x95b2,0x95b5,0x95b7,0x95b9,0x95c0,0x95c3,0x95c3,0x95c5,0x95cd,0x95d0,0x95d6,0x95da,0x95dc,0x95de,0x95e5,0x95e8,0x95e8,0x95f4,0x95f4,0x961c,0x961e,0x9620,0x9624,0x9628,0x9628,0x962a,0x962a,0x962c,0x9633,0x9638,0x963d,0x963f,0x9645,0x964a,0x9651,0x9653,0x9654,0x9656,0x9656,0x9658,0x9658,0x965b,0x965f,0x9661,0x9664,0x9669,0x966d,0x966f,0x9678,0x967b,0x967e,0x9680,0x9681,0x9683,0x968b,0x968d,0x968f,0x9691,0x9699,0x969b,0x969c,0x969e,0x969e,0x96a1,0x96a5,0x96a7,0x96aa,0x96ac,0x96ac,0x96ae,0x96ae,0x96b0,0x96b1,0x96b3,0x96b4,0x96b6,0x96b6,0x96b8,0x96b9,0x96bb,0x96bd,0x96bf,0x96ce,0x96d2,0x96df,0x96e1,0x96e3,0x96e5,0x96e5,0x96e8,0x96ea,0x96ef,0x96f2,0x96f4,0x96fb,0x96fd,0x96fd,0x96ff,0x9700,0x9702,0x9709,0x970b,0x970b,0x970d,0x9713,0x9716,0x9716,0x9718,0x9719,0x971b,0x972c,0x972e,0x9732,0x9734,0x9736,0x9738,0x973a,0x973d,0x9744,0x9746,0x974b,0x9751,0x9752,0x9755,0x9758,0x975a,0x9762,0x9766,0x9766,0x9768,0x976a,0x976c,0x976e,0x9770,0x9774,0x9776,0x9778,0x977a,0x9785,0x9787,0x978b,0x978d,0x978f,0x9794,0x9794,0x9797,0x97a6,0x97a8,0x97a8,0x97aa,0x97ae,0x97b1,0x97b4,0x97b6,0x97bb,0x97bd,0x97c9,0x97cb,0x97d0,0x97d2,0x97d9,0x97dc,0x97e1,0x97e3,0x97e3,0x97e5,0x97e6,0x97ed,0x97ee,0x97f0,0x97f3,0x97f5,0x97f6,0x97f8,0x97fb,0x97fd,0x9808,0x980a,0x980a,0x980c,0x9818,0x981b,0x9821,0x9823,0x9824,0x9826,0x9829,0x982b,0x982b,0x982d,0x9830,0x9832,0x9835,0x9837,0x9839,0x983b,0x983b,0x9841,0x9841,0x9843,0x9853,0x9856,0x9859,0x985b,0x9860,0x9862,0x986c,0x986f,0x9875,0x98a8,0x98a9,0x98ac,0x98af,0x98b1,0x98b4,0x98b6,0x98c4,0x98c6,0x98cc,0x98ce,0x98ce,0x98db,0x98dc,0x98de,0x98e3,0x98e5,0x98e7,0x98e9,0x98ed,0x98ef,0x98ef,0x98f1,0x98f2,0x98f4,0x98f6,0x98f9,0x98fa,0x98fc,0x98fe,0x9900,0x9900,0x9902,0x9903,0x9905,0x9905,0x9907,0x990a,0x990c,0x990c,0x990e,0x990e,0x9910,0x991c,0x991e,0x991f,0x9921,0x9921,0x9924,0x9925,0x9927,0x9933,0x9935,0x9935,0x9937,0x9943,0x9945,0x9945,0x9947,0x994e,0x9950,0x9959,0x995b,0x995f,0x9961,0x9963,0x9996,0x9999,0x999b,0x999e,0x99a1,0x99a1,0x99a3,0x99a8,0x99aa,0x99b5,0x99b8,0x99bd,0x99c1,0x99c5,0x99c7,0x99c7,0x99c9,0x99c9,0x99cb,0x99dd,0x99df,0x99e7,0x99e9,0x99ea,0x99ec,0x99ee,0x99f0,0x99f1,0x99f4,0x99ff,0x9a01,0x9a07,0x9a09,0x9a11,0x9a14,0x9a16,0x9a19,0x9a27,0x9a29,0x9a32,0x9a34,0x9a46,0x9a48,0x9a4a,0x9a4c,0x9a50,0x9a52,0x9a5c,0x9a5e,0x9a60,0x9a62,0x9a6c,0x9a8f,0x9a8f,0x9aa8,0x9aa8,0x9aab,0x9aab,0x9aad,0x9aad,0x9aaf,0x9ab4,0x9ab6,0x9ac2,0x9ac6,0x9ac7,0x9aca,0x9aca,0x9acd,0x9acd,0x9acf,0x9ad8,0x9adc,0x9adc,0x9adf,0x9ae3,0x9ae6,0x9ae7,0x9aeb,0x9aef,0x9af1,0x9af4,0x9af6,0x9af7,0x9af9,0x9aff,0x9b01,0x9b06,0x9b08,0x9b12,0x9b14,0x9b1a,0x9b1e,0x9b20,0x9b22,0x9b25,0x9b27,0x9b2b,0x9b2d,0x9b2f,0x9b31,0x9b35,0x9b37,0x9b37,0x9b39,0x9b3c,0x9b3e,0x9b46,0x9b48,0x9b48,0x9b4a,0x9b52,0x9b54,0x9b56,0x9b58,0x9b5b,0x9b5f,0x9b61,0x9b64,0x9b64,0x9b66,0x9b69,0x9b6c,0x9b6c,0x9b6f,0x9b71,0x9b74,0x9b77,0x9b7a,0x9b83,0x9b85,0x9b88,0x9b8b,0x9b8b,0x9b8d,0x9b93,0x9b95,0x9b95,0x9b97,0x9b97,0x9b9a,0x9b9b,0x9b9d,0x9ba2,0x9ba4,0x9ba6,0x9ba8,0x9ba8,0x9baa,0x9bab,0x9bad,0x9bb0,0x9bb5,0x9bb6,0x9bb8,0x9bb9,0x9bbd,0x9bbd,0x9bbf,0x9bc1,0x9bc3,0x9bc4,0x9bc6,0x9bca,0x9bcf,0x9bcf,0x9bd3,0x9bd7,0x9bd9,0x9bde,0x9be0,0x9be2,0x9be4,0x9bed,0x9bf0,0x9bf1,0x9bf4,0x9bf4,0x9bf7,0x9bf8,0x9bfd,0x9bfd,0x9bff,0x9bff,0x9c02,0x9c02,0x9c05,0x9c0e,0x9c10,0x9c10,0x9c12,0x9c15,0x9c17,0x9c17,0x9c1b,0x9c1d,0x9c1f,0x9c21,0x9c23,0x9c26,0x9c28,0x9c29,0x9c2b,0x9c2d,0x9c2f,0x9c2f,0x9c31,0x9c37,0x9c39,0x9c41,0x9c44,0x9c50,0x9c52,0x9c59,0x9c5d,0x9c60,0x9c62,0x9c63,0x9c66,0x9c68,0x9c6d,0x9c6e,0x9c71,0x9c75,0x9c77,0x9c7c,0x9ce5,0x9ce7,0x9ce9,0x9cea,0x9ced,0x9ced,0x9cf1,0x9cf7,0x9cf9,0x9cfd,0x9cff,0x9d00,0x9d02,0x9d09,0x9d0c,0x9d0c,0x9d10,0x9d10,0x9d12,0x9d12,0x9d14,0x9d19,0x9d1b,0x9d1b,0x9d1d,0x9d23,0x9d25,0x9d26,0x9d28,0x9d29,0x9d2d,0x9d31,0x9d33,0x9d34,0x9d36,0x9d39,0x9d3b,0x9d3b,0x9d3d,0x9d45,0x9d49,0x9d4c,0x9d4e,0x9d54,0x9d56,0x9d61,0x9d67,0x9d75,0x9d77,0x9d79,0x9d7b,0x9d8c,0x9d90,0x9d90,0x9d92,0x9d94,0x9d96,0x9dad,0x9daf,0x9daf,0x9db1,0x9dc5,0x9dc7,0x9ddf,0x9de1,0x9de6,0x9de8,0x9de9,0x9deb,0x9df0,0x9df2,0x9e07,0x9e09,0x9e15,0x9e17,0x9e1f,0x9e75,0x9e75,0x9e79,0x9e7d,0x9e7f,0x9e8e,0x9e90,0x9ea2,0x9ea4,0x9eb1,0x9eb4,0x9eb7,0x9ebb,0x9ec4,0x9ec6,0x9ec8,0x9ecc,0x9ed1,0x9ed3,0x9ed6,0x9ed8,0x9ed8,0x9eda,0x9ee0,0x9ee2,0x9ee2,0x9ee4,0x9ee8,0x9eeb,0x9eeb,0x9eed,0x9f02,0x9f06,0x9f0a,0x9f0e,0x9f10,0x9f12,0x9f13,0x9f15,0x9f1c,0x9f1e,0x9f1e,0x9f20,0x9f20,0x9f22,0x9f39,0x9f3b,0x9f3b,0x9f3d,0x9f3e,0x9f40,0x9f50,0x9f52,0x9f67,0x9f69,0x9f6c,0x9f6e,0x9f72,0x9f74,0x9f7b,0x9f7e,0x9f7f,0x9f8d,0x9f8e,0x9f90,0x9f92,0x9f94,0x9f99,0x9f9c,0x9f9c,0x9f9f,0x9fa0,0x9fa2,0x9fa2,0x9fa4,0x9fb3,0x9fc7,0x9fcb,0x9fd0,0x9fd0,0xf900,0xf903,0xf905,0xf907,0xf90b,0xf90b,0xf90d,0xf90d,0xf915,0xf915,0xf917,0xf917,0xf91a,0xf91a,0xf922,0xf922,0xf92d,0xf92d,0xf931,0xf931,0xf937,0xf937,0xf939,0xf93a,0xf943,0xf943,0xf947,0xf948,0xf94a,0xf94a,0xf952,0xf952,0xf95e,0xf95e,0xf962,0xf962,0xf965,0xf965,0xf967,0xf967,0xf972,0xf972,0xf976,0xf976,0xf978,0xf979,0xf97e,0xf97e,0xf980,0xf980,0xf986,0xf986,0xf98a,0xf98a,0xf98e,0xf98e,0xf995,0xf995,0xf99c,0xf99c,0xf99f,0xf99f,0xf9b5,0xf9b5,0xf9bb,0xf9bb,0xf9bd,0xf9bd,0xf9c5,0xf9c6,0xf9c8,0xf9c8,0xf9d8,0xf9d8,0xf9dc,0xf9de,0xf9e0,0xf9e0,0xf9e4,0xf9e4,0xf9e7,0xf9e7,0xf9e9,0xf9e9,0xf9f4,0xf9f5,0xf9fa,0xf9fa,0xf9fd,0xf9fd,0xf9ff,0xf9ff,0xfa02,0xfa02,0xfa05,0xfa08,0xfa0a,0xfa0a,0xfa0c,0xfa0d,0xfa33,0xfa35,0xfa3a,0xfa3a,0xfa49,0xfa49,0xfa4b,0xfa4b,0xfa5d,0xfa5e,0xfb00,0xfb04,0xfe10,0xfe19,0xfe30,0xfe52,0xfe54,0xfe66,0xfe68,0xfe6b,0xff01,0xff9f,0xffa1,0xffbe,0xffc2,0xffc7,0xffca,0xffcf,0xffd2,0xffd7,0xffda,0xffdc,0xffe0,0xffe6,0xffe8,0xffee,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f1ac,0x1f200,0x1f202,0x1f210,0x1f23b,0x1f240,0x1f248,0x1f250,0x1f251,0x20021,0x20021,0x2003e,0x2003e,0x20046,0x20046,0x2004e,0x2004e,0x20068,0x20068,0x20086,0x20087,0x2008a,0x2008a,0x20094,0x20094,0x200ca,0x200cd,0x200d1,0x200d1,0x200ee,0x200ee,0x2010c,0x2010c,0x2010e,0x2010e,0x20118,0x20118,0x201a4,0x201a4,0x201a9,0x201a9,0x201ab,0x201ab,0x201c1,0x201c1,0x201d4,0x201d4,0x201f2,0x201f2,0x20204,0x20204,0x2020c,0x2020c,0x20214,0x20214,0x20239,0x20239,0x2025b,0x2025b,0x20274,0x20275,0x20299,0x20299,0x2029e,0x2029e,0x202a0,0x202a0,0x202b7,0x202b7,0x202bf,0x202c0,0x202e5,0x202e5,0x2030a,0x2030a,0x20325,0x20325,0x20341,0x20341,0x20345,0x20347,0x2037e,0x20380,0x203a0,0x203a0,0x203a7,0x203a7,0x203b5,0x203b5,0x203c9,0x203c9,0x203cb,0x203cb,0x203f5,0x203f5,0x203fc,0x203fc,0x20413,0x20414,0x2041f,0x2041f,0x20465,0x20465,0x20487,0x20487,0x2048e,0x2048e,0x20491,0x20492,0x204a3,0x204a3,0x204d7,0x204d7,0x204fc,0x204fc,0x204fe,0x204fe,0x20547,0x20547,0x2058e,0x2058e,0x205a5,0x205a5,0x205b3,0x205b3,0x205c3,0x205c3,0x205ca,0x205ca,0x205d0,0x205d0,0x205d5,0x205d5,0x205df,0x205e0,0x205eb,0x205eb,0x20611,0x20611,0x20615,0x20615,0x20619,0x2061a,0x20628,0x20628,0x20630,0x20630,0x20656,0x20656,0x20676,0x20676,0x2070e,0x2070e,0x20731,0x20731,0x20779,0x20779,0x2082c,0x2082c,0x20873,0x20873,0x208d5,0x208d5,0x20916,0x20916,0x20923,0x20923,0x20954,0x20954,0x20979,0x20979,0x209e7,0x209e7,0x20a11,0x20a11,0x20a50,0x20a50,0x20a6f,0x20a6f,0x20a8a,0x20a8a,0x20ab4,0x20ab4,0x20ac2,0x20ac2,0x20acd,0x20acd,0x20b0d,0x20b0d,0x20b8f,0x20b8f,0x20b9f,0x20b9f,0x20ba8,0x20ba9,0x20bbf,0x20bbf,0x20bc6,0x20bc6,0x20bcb,0x20bcb,0x20be2,0x20be2,0x20beb,0x20beb,0x20bfb,0x20bfb,0x20bff,0x20bff,0x20c0b,0x20c0b,0x20c0d,0x20c0d,0x20c20,0x20c20,0x20c34,0x20c34,0x20c3a,0x20c3b,0x20c41,0x20c43,0x20c53,0x20c53,0x20c65,0x20c65,0x20c77,0x20c78,0x20c7c,0x20c7c,0x20c8d,0x20c8d,0x20c96,0x20c96,0x20c9c,0x20c9c,0x20cb5,0x20cb5,0x20cb8,0x20cb8,0x20ccf,0x20ccf,0x20cd3,0x20cd6,0x20cdd,0x20cdd,0x20ced,0x20ced,0x20cff,0x20cff,0x20d15,0x20d15,0x20d28,0x20d28,0x20d31,0x20d32,0x20d46,0x20d49,0x20d4c,0x20d4e,0x20d6f,0x20d6f,0x20d71,0x20d71,0x20d74,0x20d74,0x20d7c,0x20d7c,0x20d7e,0x20d7f,0x20d96,0x20d96,0x20d9c,0x20d9c,0x20da7,0x20da7,0x20db2,0x20db2,0x20dc8,0x20dc8,0x20e04,0x20e04,0x20e09,0x20e0a,0x20e0d,0x20e11,0x20e16,0x20e16,0x20e1d,0x20e1d,0x20e4c,0x20e4c,0x20e6d,0x20e6d,0x20e73,0x20e73,0x20e75,0x20e7b,0x20e8c,0x20e8c,0x20e96,0x20e96,0x20e98,0x20e98,0x20e9d,0x20e9d,0x20ea2,0x20ea2,0x20eaa,0x20eac,0x20eb6,0x20eb6,0x20ed7,0x20ed8,0x20edd,0x20edd,0x20ef8,0x20efb,0x20f1d,0x20f1d,0x20f26,0x20f26,0x20f2d,0x20f2e,0x20f30,0x20f31,0x20f3b,0x20f3b,0x20f4c,0x20f4c,0x20f64,0x20f64,0x20f8d,0x20f8d,0x20f90,0x20f90,0x20fad,0x20fad,0x20fb4,0x20fb6,0x20fbc,0x20fbc,0x20fdf,0x20fdf,0x20fea,0x20fed,0x21014,0x21014,0x2101d,0x2101e,0x2104f,0x2104f,0x2105c,0x2105c,0x2106f,0x2106f,0x21075,0x21078,0x2107b,0x2107b,0x21088,0x21088,0x21096,0x21096,0x2109d,0x2109d,0x210b4,0x210b4,0x210bf,0x210c1,0x210c7,0x210c9,0x210cf,0x210cf,0x210d3,0x210d3,0x210e4,0x210e4,0x210f4,0x210f6,0x2112f,0x2112f,0x2113b,0x2113b,0x2113d,0x2113d,0x21145,0x21145,0x21148,0x21148,0x2114f,0x2114f,0x21180,0x21180,0x21187,0x21187,0x211d9,0x211d9,0x2123c,0x2123c,0x2124f,0x2124f,0x2127c,0x2127c,0x212a8,0x212a9,0x212b0,0x212b0,0x212e3,0x212e3,0x212fe,0x212fe,0x21302,0x21305,0x21336,0x21336,0x2133a,0x2133a,0x21375,0x21376,0x2138e,0x2138e,0x21398,0x21398,0x2139c,0x2139c,0x213c5,0x213c6,0x213ed,0x213ed,0x213fe,0x213fe,0x21413,0x21413,0x21416,0x21416,0x21424,0x21424,0x2143f,0x2143f,0x21452,0x21452,0x21454,0x21455,0x2148a,0x2148a,0x21497,0x21497,0x214b6,0x214b6,0x214e8,0x214e8,0x214fd,0x214fd,0x21577,0x21577,0x21582,0x21582,0x21596,0x21596,0x2160a,0x2160a,0x21613,0x21613,0x21619,0x21619,0x2163e,0x2163e,0x21661,0x21661,0x21692,0x21692,0x216b8,0x216b8,0x216ba,0x216ba,0x216c0,0x216c2,0x216d3,0x216d3,0x216d5,0x216d5,0x216df,0x216df,0x216e6,0x216e8,0x216fa,0x216fc,0x216fe,0x216fe,0x2170d,0x2170d,0x21710,0x21710,0x21726,0x21726,0x2173a,0x2173c,0x21757,0x21757,0x2176c,0x21771,0x21773,0x21774,0x217ab,0x217ab,0x217b0,0x217b5,0x217c3,0x217c3,0x217c7,0x217c7,0x217d9,0x217dc,0x217df,0x217df,0x217ef,0x217ef,0x217f5,0x217f6,0x217f8,0x217fc,0x21820,0x21820,0x21828,0x2182a,0x2182d,0x2182d,0x21839,0x2183b,0x21840,0x21840,0x21845,0x21845,0x21852,0x21852,0x2185e,0x2185e,0x21861,0x21864,0x21877,0x21877,0x2187b,0x2187b,0x21883,0x21885,0x2189e,0x218a2,0x218be,0x218bf,0x218d1,0x218d1,0x218d6,0x218d9,0x218fa,0x218fa,0x21903,0x21905,0x21910,0x21912,0x21915,0x21915,0x2191c,0x2191c,0x21922,0x21922,0x21927,0x21927,0x2193b,0x2193b,0x21944,0x21944,0x21958,0x21958,0x2196a,0x2196a,0x2197c,0x2197c,0x21980,0x21980,0x21983,0x21983,0x21988,0x21988,0x21996,0x21996,0x219db,0x219db,0x219f3,0x219f3,0x21a2d,0x21a2d,0x21a34,0x21a34,0x21a45,0x21a45,0x21a4b,0x21a4b,0x21a63,0x21a63,0x21b44,0x21b44,0x21bc1,0x21bc2,0x21c2a,0x21c2a,0x21c70,0x21c70,0x21ca2,0x21ca2,0x21ca5,0x21ca5,0x21cac,0x21cac,0x21d46,0x21d46,0x21d53,0x21d53,0x21d5e,0x21d5e,0x21d90,0x21d90,0x21db6,0x21db6,0x21dba,0x21dba,0x21dca,0x21dca,0x21dd1,0x21dd1,0x21deb,0x21deb,0x21df9,0x21df9,0x21e1c,0x21e1c,0x21e23,0x21e23,0x21e37,0x21e37,0x21e3d,0x21e3d,0x21e89,0x21e89,0x21ea4,0x21ea4,0x21ea8,0x21ea8,0x21ec8,0x21ec8,0x21ed5,0x21ed5,0x21f0f,0x21f0f,0x21f15,0x21f15,0x21f6a,0x21f6a,0x21f9e,0x21f9e,0x21fa1,0x21fa1,0x21fe8,0x21fe8,0x22045,0x22045,0x22049,0x22049,0x2207e,0x2207e,0x2209a,0x2209a,0x220c7,0x220c7,0x220fc,0x220fc,0x2212a,0x2212a,0x2215b,0x2215b,0x22173,0x22173,0x2217a,0x2217a,0x221a1,0x221a1,0x221c1,0x221c1,0x221c3,0x221c3,0x22208,0x22208,0x2227c,0x2227c,0x22321,0x22321,0x22325,0x22325,0x223bd,0x223bd,0x223d0,0x223d0,0x223d7,0x223d7,0x223fa,0x223fa,0x22465,0x22465,0x22471,0x22471,0x2248b,0x2248b,0x22491,0x22491,0x224b0,0x224b0,0x224bc,0x224bc,0x224c1,0x224c1,0x224c9,0x224c9,0x224cc,0x224cc,0x224ed,0x224ed,0x22513,0x22513,0x2251b,0x2251b,0x22530,0x22530,0x22554,0x22554,0x2258d,0x2258d,0x225af,0x225af,0x225be,0x225be,0x2261b,0x2261c,0x2262b,0x2262b,0x22668,0x22668,0x2267a,0x2267a,0x22696,0x22696,0x22698,0x22698,0x226f4,0x226f6,0x22712,0x22712,0x22714,0x22714,0x2271b,0x2271b,0x2271f,0x2271f,0x2272a,0x2272a,0x22775,0x22775,0x22781,0x22781,0x22796,0x22796,0x227b4,0x227b5,0x227cd,0x227cd,0x22803,0x22803,0x2285f,0x22860,0x22871,0x22871,0x228ad,0x228ad,0x228c1,0x228c1,0x228f7,0x228f7,0x22926,0x22926,0x22939,0x22939,0x2294f,0x2294f,0x22967,0x22967,0x2296b,0x2296b,0x22980,0x22980,0x22993,0x22993,0x22a66,0x22a66,0x22acf,0x22acf,0x22ad5,0x22ad5,0x22ae6,0x22ae6,0x22ae8,0x22ae8,0x22b0e,0x22b0e,0x22b22,0x22b22,0x22b3f,0x22b3f,0x22b43,0x22b43,0x22b6a,0x22b6a,0x22bca,0x22bca,0x22bce,0x22bce,0x22c26,0x22c27,0x22c38,0x22c38,0x22c4c,0x22c4c,0x22c51,0x22c51,0x22c55,0x22c55,0x22c62,0x22c62,0x22c88,0x22c88,0x22c9b,0x22c9b,0x22ca1,0x22ca1,0x22ca9,0x22ca9,0x22cb2,0x22cb2,0x22cb7,0x22cb7,0x22cc2,0x22cc2,0x22cc6,0x22cc6,0x22cc9,0x22cc9,0x22d07,0x22d08,0x22d12,0x22d12,0x22d44,0x22d44,0x22d4c,0x22d4c,0x22d67,0x22d67,0x22d8d,0x22d8d,0x22d95,0x22d95,0x22da0,0x22da0,0x22da3,0x22da4,0x22db7,0x22db7,0x22dee,0x22dee,0x22e0d,0x22e0d,0x22e36,0x22e36,0x22e42,0x22e42,0x22e78,0x22e78,0x22e8b,0x22e8b,0x22eb3,0x22eb3,0x22eef,0x22eef,0x22f74,0x22f74,0x22fcc,0x22fcc,0x22fe3,0x22fe3,0x23033,0x23033,0x23044,0x23044,0x2304b,0x2304b,0x23066,0x23066,0x2307d,0x2307e,0x2308e,0x2308e,0x230b7,0x230b7,0x230bc,0x230bc,0x230da,0x230da,0x23103,0x23103,0x2313d,0x2313d,0x2317d,0x2317d,0x23182,0x23182,0x231a4,0x231a5,0x231b3,0x231b3,0x231c8,0x231c9,0x231ea,0x231ea,0x231f7,0x231f9,0x2320f,0x2320f,0x23225,0x23225,0x2322f,0x2322f,0x23231,0x23234,0x23256,0x23256,0x2325e,0x2325e,0x23262,0x23262,0x23281,0x23281,0x23289,0x2328a,0x232ab,0x232ad,0x232d2,0x232d2,0x232e0,0x232e1,0x23300,0x23300,0x2330a,0x2330a,0x2331f,0x2331f,0x233b4,0x233b4,0x233cc,0x233cc,0x233de,0x233de,0x233e6,0x233e6,0x233f4,0x233f5,0x233f9,0x233fa,0x233fe,0x233fe,0x23400,0x23400,0x2343f,0x2343f,0x23450,0x23450,0x2346f,0x2346f,0x23472,0x23472,0x234e5,0x234e5,0x23519,0x23519,0x23530,0x23530,0x23551,0x23551,0x2355a,0x2355a,0x23567,0x23567,0x23595,0x23595,0x23599,0x23599,0x2359c,0x2359c,0x235bb,0x235bb,0x235cd,0x235cf,0x235f3,0x235f3,0x23600,0x23600,0x23617,0x23617,0x2361a,0x2361a,0x2363c,0x2363c,0x23640,0x23640,0x23659,0x23659,0x2365f,0x2365f,0x23677,0x23677,0x2368e,0x2368e,0x2369e,0x2369e,0x236a6,0x236a6,0x236ad,0x236ad,0x236ba,0x236ba,0x236df,0x236df,0x236ee,0x236ee,0x23703,0x23703,0x23716,0x23716,0x23720,0x23720,0x2372d,0x2372d,0x2372f,0x2372f,0x2373f,0x2373f,0x23766,0x23766,0x23781,0x23781,0x237a2,0x237a2,0x237bc,0x237bc,0x237c2,0x237c2,0x237d5,0x237d7,0x2383a,0x2383a,0x239c2,0x239c2,0x23aa7,0x23aa7,0x23adb,0x23adb,0x23aee,0x23aee,0x23afa,0x23afa,0x23b1a,0x23b1a,0x23b5a,0x23b5a,0x23c63,0x23c63,0x23c99,0x23c9b,0x23cb5,0x23cb5,0x23cb7,0x23cb7,0x23cc7,0x23cc9,0x23cfc,0x23cff,0x23d40,0x23d40,0x23d5b,0x23d5b,0x23d7e,0x23d7e,0x23d8f,0x23d8f,0x23db6,0x23dbd,0x23de3,0x23de3,0x23df8,0x23df8,0x23e06,0x23e06,0x23e11,0x23e11,0x23e2c,0x23e31,0x23e39,0x23e39,0x23e88,0x23e8b,0x23eb9,0x23eb9,0x23ebf,0x23ebf,0x23ed7,0x23ed7,0x23ef7,0x23efc,0x23f35,0x23f35,0x23f41,0x23f41,0x23f4a,0x23f4a,0x23f61,0x23f61,0x23f7f,0x23f82,0x23f8f,0x23f8f,0x23fb4,0x23fb4,0x23fb7,0x23fb7,0x23fc0,0x23fc0,0x23fc5,0x23fc5,0x23feb,0x23ff0,0x24011,0x24011,0x24039,0x2403d,0x24057,0x24057,0x24085,0x24085,0x2408b,0x2408d,0x24091,0x24091,0x240c9,0x240c9,0x240e1,0x240e1,0x240ec,0x240ec,0x24104,0x24104,0x2410f,0x2410f,0x24119,0x24119,0x2413f,0x24140,0x24144,0x24144,0x2414e,0x2414e,0x24155,0x24157,0x2415c,0x2415c,0x2415f,0x2415f,0x24161,0x24161,0x24177,0x24177,0x2417a,0x2417a,0x241a3,0x241a5,0x241ac,0x241ac,0x241b5,0x241b5,0x241cd,0x241cd,0x241e2,0x241e2,0x241fc,0x241fc,0x2421b,0x2421b,0x2424b,0x2424b,0x24256,0x24256,0x24259,0x24259,0x24276,0x24278,0x24284,0x24284,0x24293,0x24293,0x24295,0x24295,0x242a5,0x242a5,0x242bf,0x242bf,0x242c1,0x242c1,0x242c9,0x242ca,0x242ee,0x242ee,0x242fa,0x242fa,0x2430d,0x2430d,0x2431a,0x2431a,0x24334,0x24334,0x24348,0x24348,0x24362,0x24365,0x2438c,0x2438c,0x24396,0x24396,0x2439c,0x2439c,0x243bd,0x243bd,0x243c1,0x243c1,0x243e9,0x243ea,0x243f2,0x243f2,0x243f8,0x243f8,0x24404,0x24404,0x24435,0x24436,0x2445a,0x2445b,0x24473,0x24473,0x24487,0x24488,0x244b9,0x244b9,0x244bc,0x244bc,0x244ce,0x244ce,0x244d3,0x244d3,0x244d6,0x244d6,0x24505,0x24505,0x24521,0x24521,0x24578,0x24578,0x245c8,0x245c8,0x24618,0x24618,0x2462a,0x2462a,0x24665,0x24665,0x24674,0x24674,0x24697,0x24697,0x246d4,0x246d4,0x24706,0x24706,0x24725,0x24725,0x2472f,0x2472f,0x2478f,0x2478f,0x247e0,0x247e0,0x24812,0x24812,0x24823,0x24823,0x24882,0x24882,0x248e9,0x248e9,0x248f0,0x248f3,0x248fb,0x248fb,0x248ff,0x24901,0x2490c,0x2490c,0x24916,0x24917,0x24919,0x24919,0x2492f,0x2492f,0x24933,0x24934,0x2493e,0x24943,0x24962,0x24963,0x24974,0x24976,0x2497b,0x2497b,0x2497f,0x2497f,0x24982,0x24982,0x24988,0x2498f,0x24994,0x24994,0x249a4,0x249a4,0x249a7,0x249a7,0x249a9,0x249a9,0x249ab,0x249ad,0x249b7,0x249bb,0x249c5,0x249c5,0x249d0,0x249d0,0x249da,0x249da,0x249de,0x249df,0x249e3,0x249e3,0x249e5,0x249e5,0x249ec,0x249ed,0x249f6,0x249f9,0x249fb,0x249fb,0x24a0e,0x24a0e,0x24a12,0x24a13,0x24a15,0x24a15,0x24a21,0x24a2a,0x24a3e,0x24a3e,0x24a42,0x24a42,0x24a45,0x24a45,0x24a4a,0x24a4a,0x24a4e,0x24a51,0x24a5d,0x24a5d,0x24a65,0x24a67,0x24a71,0x24a71,0x24a77,0x24a7a,0x24a8c,0x24a8c,0x24a93,0x24a96,0x24aa4,0x24aa7,0x24ab1,0x24ab3,0x24aba,0x24abc,0x24ac0,0x24ac0,0x24ac7,0x24ac7,0x24aca,0x24aca,0x24ad1,0x24ad1,0x24adf,0x24adf,0x24ae2,0x24ae2,0x24ae9,0x24ae9,0x24b0f,0x24b0f,0x24b6e,0x24b6e,0x24bf5,0x24bf5,0x24c09,0x24c09,0x24c9e,0x24c9f,0x24cc9,0x24cc9,0x24cd9,0x24cd9,0x24d06,0x24d06,0x24d13,0x24d13,0x24db8,0x24db8,0x24dea,0x24deb,0x24e3b,0x24e3b,0x24e50,0x24e50,0x24ea5,0x24ea5,0x24ea7,0x24ea7,0x24f0e,0x24f0e,0x24f5c,0x24f5c,0x24f82,0x24f82,0x24f86,0x24f86,0x24f97,0x24f97,0x24f9a,0x24f9a,0x24fa9,0x24fa9,0x24fb8,0x24fb8,0x24fc2,0x24fc2,0x2502c,0x2502c,0x25052,0x25052,0x2509d,0x2509d,0x2512b,0x2512b,0x25148,0x25148,0x2517d,0x2517e,0x251cd,0x251cd,0x251e3,0x251e3,0x251e6,0x251e7,0x25220,0x25221,0x25250,0x25250,0x25299,0x25299,0x252c7,0x252c7,0x252d8,0x252d8,0x2530e,0x2530e,0x25311,0x25311,0x25313,0x25313,0x25419,0x25419,0x25425,0x25425,0x2542f,0x25430,0x25446,0x25446,0x2546c,0x2546c,0x2546e,0x2546e,0x2549a,0x2549a,0x25531,0x25531,0x25535,0x25535,0x2553f,0x2553f,0x2555b,0x2555e,0x25562,0x25562,0x25565,0x25566,0x25581,0x25581,0x25584,0x25584,0x2558f,0x2558f,0x255b9,0x255b9,0x255d5,0x255d5,0x255db,0x255db,0x255e0,0x255e0,0x25605,0x25605,0x25635,0x25635,0x25651,0x25651,0x25683,0x25683,0x25695,0x25695,0x256e3,0x256e3,0x256f6,0x256f6,0x25706,0x25706,0x2571d,0x2571d,0x25725,0x25725,0x2573d,0x2573d,0x25772,0x25772,0x257c7,0x257c7,0x257df,0x257e1,0x25857,0x25857,0x2585d,0x2585d,0x25872,0x25872,0x258c8,0x258c8,0x258de,0x258de,0x258e1,0x258e1,0x25903,0x25903,0x25946,0x25946,0x25956,0x25956,0x259ac,0x259ac,0x259cc,0x259cc,0x25a54,0x25a54,0x25a95,0x25a95,0x25a9c,0x25a9c,0x25aae,0x25aaf,0x25ad7,0x25ad7,0x25ae9,0x25ae9,0x25b74,0x25b74,0x25b89,0x25b89,0x25bb3,0x25bb4,0x25bc6,0x25bc6,0x25be4,0x25be4,0x25be8,0x25be8,0x25c01,0x25c01,0x25c06,0x25c06,0x25c21,0x25c21,0x25c4a,0x25c4a,0x25c65,0x25c65,0x25c91,0x25c91,0x25ca4,0x25ca4,0x25cc0,0x25cc1,0x25cfe,0x25cfe,0x25d20,0x25d20,0x25d30,0x25d30,0x25d43,0x25d43,0x25d99,0x25d99,0x25db9,0x25db9,0x25e0e,0x25e0e,0x25e49,0x25e49,0x25e81,0x25e83,0x25ea6,0x25ea6,0x25ebc,0x25ebc,0x25ed7,0x25ed8,0x25f1a,0x25f1a,0x25f4b,0x25f4b,0x25fe1,0x25fe2,0x26021,0x26021,0x26029,0x26029,0x26048,0x26048,0x26064,0x26064,0x26083,0x26083,0x26097,0x26097,0x260a4,0x260a5,0x26102,0x26102,0x26121,0x26121,0x26159,0x2615c,0x261ad,0x261ae,0x261b2,0x261b2,0x261dd,0x261dd,0x26258,0x26258,0x26261,0x26261,0x2626a,0x2626b,0x262d0,0x262d0,0x26335,0x26335,0x2634b,0x2634c,0x26351,0x26351,0x263be,0x263be,0x263f5,0x263f5,0x263f8,0x263f8,0x26402,0x26402,0x26410,0x26412,0x2644a,0x2644a,0x26469,0x26469,0x26484,0x26484,0x26488,0x26489,0x2648d,0x2648d,0x26498,0x26498,0x26512,0x26512,0x26572,0x26572,0x265a0,0x265a0,0x265ad,0x265ad,0x265bf,0x265bf,0x26612,0x26612,0x26626,0x26626,0x266af,0x266af,0x266b1,0x266b1,0x266b5,0x266b5,0x266da,0x266da,0x266e8,0x266e8,0x266fc,0x266fc,0x26716,0x26716,0x26741,0x26741,0x26799,0x26799,0x267b3,0x267b4,0x267cc,0x267cc,0x2681c,0x2681c,0x26846,0x26846,0x2685e,0x2685e,0x2686e,0x2686e,0x26888,0x26888,0x2688a,0x2688a,0x26893,0x26893,0x268c7,0x268c7,0x2690e,0x2690e,0x26911,0x26911,0x26926,0x26926,0x26939,0x26939,0x26951,0x26951,0x269a8,0x269a8,0x269b5,0x269b5,0x269f2,0x269f2,0x269fa,0x269fa,0x26a2d,0x26a2e,0x26a34,0x26a34,0x26a42,0x26a42,0x26a51,0x26a52,0x26b05,0x26b05,0x26b0a,0x26b0a,0x26b13,0x26b13,0x26b15,0x26b15,0x26b23,0x26b23,0x26b28,0x26b28,0x26b50,0x26b53,0x26b5b,0x26b5b,0x26b75,0x26b75,0x26b82,0x26b82,0x26b96,0x26b97,0x26b9d,0x26b9d,0x26bb3,0x26bb3,0x26bc0,0x26bc0,0x26bf7,0x26bf7,0x26c21,0x26c21,0x26c40,0x26c41,0x26c46,0x26c46,0x26c7e,0x26c82,0x26ca4,0x26ca4,0x26cb7,0x26cb8,0x26cbd,0x26cbd,0x26cc0,0x26cc0,0x26cc3,0x26cc3,0x26cd1,0x26cd1,0x26d22,0x26d2a,0x26d51,0x26d51,0x26d74,0x26d74,0x26da0,0x26da7,0x26dae,0x26dae,0x26ddc,0x26ddc,0x26dea,0x26deb,0x26df0,0x26df0,0x26e00,0x26e00,0x26e05,0x26e05,0x26e07,0x26e07,0x26e12,0x26e12,0x26e42,0x26e45,0x26e6e,0x26e6e,0x26e72,0x26e72,0x26e77,0x26e77,0x26e84,0x26e84,0x26e88,0x26e88,0x26e8b,0x26e8b,0x26e99,0x26e99,0x26ed0,0x26ed7,0x26f26,0x26f26,0x26f73,0x26f74,0x26f9f,0x26f9f,0x26fa1,0x26fa1,0x26fbe,0x26fbe,0x26fde,0x26fdf,0x2700e,0x2700e,0x2704b,0x2704b,0x27052,0x27053,0x27088,0x27088,0x270ad,0x270af,0x270cd,0x270cd,0x270d2,0x270d2,0x270f0,0x270f0,0x270f8,0x270f8,0x27109,0x27109,0x2710c,0x2710d,0x27126,0x27127,0x27164,0x27165,0x27175,0x27175,0x271cd,0x271cd,0x2721b,0x2721b,0x27267,0x27267,0x27280,0x27280,0x27285,0x27285,0x2728b,0x2728b,0x272b2,0x272b2,0x272b6,0x272b6,0x272e6,0x272e6,0x27352,0x27352,0x2739a,0x2739a,0x273ff,0x273ff,0x27422,0x27422,0x27450,0x27450,0x27484,0x27484,0x27486,0x27486,0x27574,0x27574,0x275a3,0x275a3,0x275e0,0x275e0,0x275e4,0x275e4,0x275fd,0x275fe,0x27607,0x27607,0x2760c,0x2760c,0x27632,0x27632,0x27639,0x27639,0x27655,0x27657,0x27694,0x27694,0x2770f,0x2770f,0x27735,0x27736,0x27741,0x27741,0x2775e,0x2775e,0x27784,0x27785,0x277cc,0x277cc,0x27858,0x27858,0x27870,0x27870,0x2789d,0x2789d,0x278b2,0x278b2,0x278c8,0x278c8,0x27924,0x27924,0x27967,0x27967,0x2797a,0x2797a,0x279a0,0x279a0,0x279dd,0x279dd,0x279fd,0x279fd,0x27a0a,0x27a0a,0x27a0e,0x27a0e,0x27a3e,0x27a3e,0x27a53,0x27a53,0x27a59,0x27a59,0x27a79,0x27a79,0x27a84,0x27a84,0x27abd,0x27abe,0x27af4,0x27af4,0x27b06,0x27b06,0x27b0b,0x27b0b,0x27b18,0x27b18,0x27b38,0x27b3a,0x27b48,0x27b48,0x27b65,0x27b65,0x27bef,0x27bef,0x27bf4,0x27bf4,0x27c12,0x27c12,0x27c6c,0x27c6c,0x27cb1,0x27cb1,0x27cc5,0x27cc5,0x27d2f,0x27d2f,0x27d53,0x27d54,0x27d66,0x27d66,0x27d73,0x27d73,0x27d84,0x27d84,0x27d8f,0x27d8f,0x27d98,0x27d98,0x27dbd,0x27dbd,0x27ddc,0x27ddc,0x27e4d,0x27e4d,0x27e4f,0x27e4f,0x27f2e,0x27f2e,0x27fb7,0x27fb7,0x27ff9,0x27ff9,0x28002,0x28002,0x28009,0x28009,0x2801e,0x2801e,0x28023,0x28024,0x28048,0x28048,0x28083,0x28083,0x28090,0x28090,0x280bd,0x280be,0x280e8,0x280e9,0x280f4,0x280f4,0x2812e,0x2812e,0x2814f,0x2814f,0x2815d,0x2815d,0x2816f,0x2816f,0x28189,0x28189,0x281af,0x281af,0x281bc,0x281bc,0x28207,0x28207,0x28218,0x28218,0x2821a,0x2821a,0x28256,0x28256,0x2827c,0x2827c,0x2829b,0x2829b,0x282cd,0x282cd,0x282e2,0x282e2,0x28306,0x28306,0x28318,0x28318,0x2832f,0x2832f,0x2833a,0x2833a,0x28365,0x28365,0x2836d,0x2836d,0x2837d,0x2837d,0x2838a,0x2838a,0x28412,0x28412,0x28468,0x28468,0x2846c,0x2846c,0x28473,0x28473,0x28482,0x28482,0x28501,0x28501,0x2853c,0x2853d,0x2856c,0x2856c,0x285e8,0x285e8,0x285f4,0x285f4,0x28600,0x28600,0x2860b,0x2860b,0x28625,0x28625,0x2863b,0x2863b,0x286aa,0x286ab,0x286b2,0x286b2,0x286bc,0x286bc,0x286d8,0x286d8,0x286e6,0x286e6,0x2870f,0x2870f,0x28713,0x28713,0x28804,0x28804,0x2882b,0x2882b,0x2890d,0x2890d,0x28933,0x28933,0x28948,0x28949,0x28956,0x28956,0x28964,0x28964,0x28968,0x28968,0x2896c,0x2896d,0x2897e,0x2897e,0x28989,0x28989,0x289a8,0x289a8,0x289aa,0x289ab,0x289b8,0x289b8,0x289bc,0x289bc,0x289c0,0x289c0,0x289dc,0x289dc,0x289de,0x289de,0x289e1,0x289e1,0x289e3,0x289e4,0x289e7,0x289e8,0x289f9,0x289fc,0x28a0f,0x28a0f,0x28a16,0x28a16,0x28a25,0x28a25,0x28a29,0x28a29,0x28a32,0x28a32,0x28a36,0x28a36,0x28a44,0x28a4b,0x28a59,0x28a5a,0x28a81,0x28a83,0x28a9a,0x28a9c,0x28ac0,0x28ac0,0x28ac6,0x28ac6,0x28acb,0x28acc,0x28ace,0x28ace,0x28ade,0x28ae3,0x28ae5,0x28ae5,0x28aea,0x28aea,0x28afc,0x28afc,0x28b0c,0x28b0c,0x28b13,0x28b13,0x28b21,0x28b22,0x28b2b,0x28b2d,0x28b2f,0x28b2f,0x28b46,0x28b46,0x28b4c,0x28b4c,0x28b4e,0x28b4e,0x28b50,0x28b50,0x28b63,0x28b66,0x28b6c,0x28b6c,0x28b8f,0x28b8f,0x28b99,0x28b99,0x28b9c,0x28b9d,0x28bb9,0x28bb9,0x28bc2,0x28bc2,0x28bc5,0x28bc5,0x28bd4,0x28bd4,0x28bd7,0x28bd7,0x28bd9,0x28bda,0x28be7,0x28bec,0x28bf5,0x28bf5,0x28bff,0x28bff,0x28c03,0x28c03,0x28c09,0x28c09,0x28c1c,0x28c1d,0x28c23,0x28c23,0x28c26,0x28c26,0x28c2b,0x28c2b,0x28c30,0x28c30,0x28c39,0x28c39,0x28c3b,0x28c3b,0x28cca,0x28cca,0x28ccd,0x28ccd,0x28cd2,0x28cd2,0x28d34,0x28d34,0x28d99,0x28d99,0x28db9,0x28db9,0x28e0f,0x28e0f,0x28e36,0x28e36,0x28e39,0x28e39,0x28e65,0x28e66,0x28e97,0x28e97,0x28eac,0x28eac,0x28eb2,0x28eb3,0x28ed9,0x28ed9,0x28ee7,0x28ee7,0x28fc5,0x28fc5,0x29079,0x29079,0x29088,0x29088,0x2908b,0x2908b,0x29093,0x29093,0x290af,0x290b1,0x290c0,0x290c0,0x290e4,0x290e5,0x290ec,0x290ed,0x2910d,0x2910d,0x29110,0x29110,0x2913c,0x2913c,0x2914d,0x2914d,0x2915b,0x2915b,0x2915e,0x2915e,0x29170,0x29170,0x2919c,0x2919c,0x291a8,0x291a8,0x291d5,0x291d5,0x291eb,0x291eb,0x2941d,0x2941d,0x29420,0x29420,0x29433,0x29433,0x2943f,0x2943f,0x29448,0x29448,0x294d0,0x294d0,0x294d9,0x294da,0x294e5,0x294e5,0x294e7,0x294e7,0x2959e,0x2959e,0x295b0,0x295b0,0x295b8,0x295b8,0x295d7,0x295d7,0x295e9,0x295e9,0x295f4,0x295f4,0x2967f,0x2967f,0x29720,0x29720,0x29732,0x29732,0x297d4,0x297d4,0x29810,0x29810,0x29857,0x29857,0x298a4,0x298a4,0x298d1,0x298d1,0x298ea,0x298ea,0x298f1,0x298f1,0x298fa,0x298fa,0x29903,0x29903,0x29905,0x29905,0x2992f,0x2992f,0x29945,0x29945,0x29947,0x29949,0x2995d,0x2995d,0x2996a,0x2996a,0x2999d,0x2999d,0x299c3,0x299c3,0x299c9,0x299c9,0x29a28,0x29a28,0x29a4d,0x29a4d,0x29b05,0x29b05,0x29b0e,0x29b0e,0x29bd5,0x29bd5,0x29c73,0x29c73,0x29cad,0x29cad,0x29d3e,0x29d3e,0x29d5a,0x29d5a,0x29d7c,0x29d7c,0x29d98,0x29d98,0x29d9b,0x29d9b,0x29df6,0x29df6,0x29e06,0x29e06,0x29e2d,0x29e2d,0x29e68,0x29e68,0x29eac,0x29eac,0x29eb0,0x29eb0,0x29ec3,0x29ec3,0x29ef8,0x29ef8,0x29f23,0x29f23,0x29f30,0x29f30,0x29fb7,0x29fb7,0x29fde,0x29fde,0x2a014,0x2a014,0x2a087,0x2a087,0x2a0b9,0x2a0b9,0x2a0e1,0x2a0e1,0x2a0ed,0x2a0ed,0x2a0f3,0x2a0f3,0x2a0f8,0x2a0f8,0x2a0fe,0x2a0fe,0x2a107,0x2a107,0x2a123,0x2a123,0x2a133,0x2a134,0x2a150,0x2a150,0x2a192,0x2a193,0x2a1ab,0x2a1ab,0x2a1b4,0x2a1b5,0x2a1df,0x2a1df,0x2a1f5,0x2a1f5,0x2a220,0x2a220,0x2a233,0x2a233,0x2a293,0x2a293,0x2a29f,0x2a29f,0x2a2b2,0x2a2b2,0x2a2b4,0x2a2b4,0x2a2b6,0x2a2b6,0x2a2ba,0x2a2ba,0x2a2bd,0x2a2bd,0x2a2df,0x2a2df,0x2a2ff,0x2a2ff,0x2a351,0x2a351,0x2a3a9,0x2a3a9,0x2a3ed,0x2a3ed,0x2a434,0x2a434,0x2a45b,0x2a45b,0x2a5c6,0x2a5c6,0x2a5cb,0x2a5cb,0x2a601,0x2a601,0x2a632,0x2a632,0x2a64a,0x2a64a,0x2a65b,0x2a65b,0x2a6a9,0x2a6a9,0x2adff,0x2adff,0x2d544,0x2d544,0x2f825,0x2f825,0x2f83b,0x2f83b,0x2f840,0x2f840,0x2f878,0x2f878,0x2f894,0x2f894,0x2f8a6,0x2f8a6,0x2f8cd,0x2f8cd,0x2f8db,0x2f8db,0x2f994,0x2f994,0x2f9b2,0x2f9b2,0x2f9bc,0x2f9bc,0x2f9d4,0x2f9d4,0x30edd,0x30ede,0x3106c,0x3106c,]), + NotoFont.fromFlatRanges('Noto Sans Tagalog', 'http://fonts.gstatic.com/s/notosanstagalog/v15/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf', [0x20,0x20,0xa0,0xa0,0x1700,0x170c,0x170e,0x1714,0x1735,0x1736,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Tagbanwa', 'http://fonts.gstatic.com/s/notosanstagbanwa/v15/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf', [0x20,0x20,0xa0,0xa0,0x1735,0x1736,0x1760,0x176c,0x176e,0x1770,0x1772,0x1773,0x200b,0x200d,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Tai Le', 'http://fonts.gstatic.com/s/notosanstaile/v15/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf', [0x20,0x20,0xa0,0xa0,0x300,0x301,0x307,0x308,0x30c,0x30c,0x1040,0x1049,0x1950,0x196d,0x1970,0x1974,0x200b,0x200d,0x25cc,0x25cc,0x3001,0x3002,0x3008,0x300b,]), + NotoFont.fromFlatRanges('Noto Sans Tai Tham', 'http://fonts.gstatic.com/s/notosanstaitham/v17/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf', [0x20,0x20,0xa0,0xa0,0x1a20,0x1a5e,0x1a60,0x1a7c,0x1a7f,0x1a89,0x1a90,0x1a99,0x1aa0,0x1aad,0x200b,0x200d,0x2219,0x2219,]), + NotoFont.fromFlatRanges('Noto Sans Tai Viet', 'http://fonts.gstatic.com/s/notosanstaiviet/v15/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf', [0x20,0x20,0xa0,0xa0,0x200b,0x200d,0x25cc,0x25cc,0xa78b,0xa78c,0xaa80,0xaac2,0xaadb,0xaadf,]), + NotoFont.fromFlatRanges('Noto Sans Takri', 'http://fonts.gstatic.com/s/notosanstakri/v15/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf', [0x20,0x20,0xa0,0xa0,0x964,0x965,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11680,0x116b8,0x116c0,0x116c9,]), + NotoFont.fromFlatRanges('Noto Sans Tamil', 'http://fonts.gstatic.com/s/notosanstamil/v21/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xb82,0xb83,0xb85,0xb8a,0xb8e,0xb90,0xb92,0xb95,0xb99,0xb9a,0xb9c,0xb9c,0xb9e,0xb9f,0xba3,0xba4,0xba8,0xbaa,0xbae,0xbb9,0xbbe,0xbc2,0xbc6,0xbc8,0xbca,0xbcd,0xbd0,0xbd0,0xbd7,0xbd7,0xbe6,0xbfa,0x1cda,0x1cda,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x2074,0x2074,0x2082,0x2084,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,0xa8f3,0xa8f3,0x11301,0x11301,0x11303,0x11303,0x1133b,0x1133c,]), + NotoFont.fromFlatRanges('Noto Sans Tamil Supplement', 'http://fonts.gstatic.com/s/notosanstamilsupplement/v19/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf', [0x11fc0,0x11ff1,0x11fff,0x11fff,]), + NotoFont.fromFlatRanges('Noto Sans Telugu', 'http://fonts.gstatic.com/s/notosanstelugu/v19/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xad,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2c6,0x2c7,0x2c9,0x2c9,0x2d8,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x951,0x952,0x964,0x965,0xc00,0xc0c,0xc0e,0xc10,0xc12,0xc28,0xc2a,0xc39,0xc3d,0xc44,0xc46,0xc48,0xc4a,0xc4d,0xc55,0xc56,0xc58,0xc5a,0xc60,0xc63,0xc66,0xc6f,0xc77,0xc7f,0x1cda,0x1cda,0x1cf2,0x1cf2,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x20b9,0x20b9,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Thaana', 'http://fonts.gstatic.com/s/notosansthaana/v16/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf', [0x20,0x21,0x28,0x29,0x2c,0x2c,0x2e,0x2e,0x3a,0x3b,0xa0,0xa0,0x60c,0x60c,0x61b,0x61b,0x61f,0x61f,0x660,0x66c,0x780,0x7b1,0x200b,0x200f,0x2018,0x2019,0x201c,0x201d,0x25cc,0x25cc,0xfdf2,0xfdf2,0xfdfd,0xfdfd,]), + NotoFont.fromFlatRanges('Noto Sans Thai', 'http://fonts.gstatic.com/s/notosansthai/v20/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf', [0x20,0x7e,0xa0,0xa3,0xa5,0xa5,0xa7,0xab,0xae,0xb0,0xb4,0xb4,0xb6,0xb8,0xba,0xbb,0xbf,0x107,0x10a,0x113,0x116,0x11b,0x11e,0x123,0x126,0x127,0x12a,0x12b,0x12e,0x133,0x136,0x137,0x139,0x13e,0x141,0x148,0x14a,0x14d,0x150,0x15b,0x15e,0x161,0x164,0x165,0x16a,0x17e,0x1cd,0x1ce,0x218,0x21b,0x237,0x237,0x2bc,0x2bc,0x2c6,0x2c7,0x2c9,0x2c9,0x2d7,0x2dd,0x300,0x304,0x306,0x308,0x30a,0x30c,0x312,0x312,0x326,0x328,0x331,0x331,0xe01,0xe3a,0xe3f,0xe5b,0x1e80,0x1e85,0x1e9e,0x1e9e,0x1ef2,0x1ef3,0x200b,0x200d,0x2010,0x2010,0x2013,0x2014,0x2018,0x201a,0x201c,0x201e,0x2022,0x2022,0x2026,0x2026,0x2039,0x203a,0x20ac,0x20ac,0x2122,0x2122,0x2212,0x2212,0x25cc,0x25cc,]), + NotoFont.fromFlatRanges('Noto Sans Tifinagh', 'http://fonts.gstatic.com/s/notosanstifinagh/v15/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf', [0x20,0x20,0xa0,0xa0,0x2c7,0x2c7,0x301,0x302,0x304,0x304,0x306,0x307,0x309,0x309,0x323,0x323,0x331,0x331,0x200c,0x200d,0x202e,0x202e,0x25cc,0x25cc,0x2d30,0x2d67,0x2d6f,0x2d70,0x2d7f,0x2d7f,]), + NotoFont.fromFlatRanges('Noto Sans Tirhuta', 'http://fonts.gstatic.com/s/notosanstirhuta/v15/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf', [0x20,0x20,0xa0,0xa0,0x951,0x952,0x964,0x965,0x9f4,0x9f7,0x1cf2,0x1cf2,0x200c,0x200d,0x25cc,0x25cc,0xa830,0xa839,0x11480,0x114c7,0x114d0,0x114d9,]), + NotoFont.fromFlatRanges('Noto Sans Ugaritic', 'http://fonts.gstatic.com/s/notosansugaritic/v15/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf', [0x20,0x20,0xa0,0xa0,0x10380,0x1039d,0x1039f,0x1039f,]), + NotoFont.fromFlatRanges('Noto Sans Vai', 'http://fonts.gstatic.com/s/notosansvai/v15/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf', [0x20,0x20,0xa0,0xa0,0xa500,0xa62b,]), + NotoFont.fromFlatRanges('Noto Sans Wancho', 'http://fonts.gstatic.com/s/notosanswancho/v15/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf', [0x20,0x20,0x22,0x22,0x27,0x29,0x2c,0x2f,0x5b,0x5d,0x7b,0x7b,0x7d,0x7d,0xa0,0xa0,0x201c,0x201d,0x25cc,0x25cc,0x1e2c0,0x1e2f9,0x1e2ff,0x1e2ff,]), + NotoFont.fromFlatRanges('Noto Sans Warang Citi', 'http://fonts.gstatic.com/s/notosanswarangciti/v15/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf', [0x20,0x20,0x27,0x27,0xa0,0xa0,0x200c,0x200d,0x118a0,0x118f2,0x118ff,0x118ff,]), + NotoFont.fromFlatRanges('Noto Sans Yi', 'http://fonts.gstatic.com/s/notosansyi/v15/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf', [0x20,0x20,0xa0,0xa0,0x3001,0x3002,0x3008,0x3011,0x3014,0x301b,0x30fb,0x30fb,0xa000,0xa48c,0xa490,0xa4c6,0xff61,0xff65,]), + NotoFont.fromFlatRanges('Noto Sans Zanabazar Square', 'http://fonts.gstatic.com/s/notosanszanabazarsquare/v15/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf', [0x20,0x20,0xa0,0xa0,0x25cc,0x25cc,0x11a00,0x11a47,]), ]; From 56970e69f47a500da3cb06ea8af47aa6743b3bdb Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 15:22:50 -0700 Subject: [PATCH 20/33] Fix generation --- lib/web_ui/dev/generate_fallback_font_data.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index faaf26cb86496..4b113abff1b84 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -111,7 +111,7 @@ class GenerateFallbackFontDataCommand extends Command sb.writeln('// dev/generate_fallback_font_data.dart'); sb.writeln("import 'noto_font.dart';"); sb.writeln(); - sb.writeln('const List fallbackFonts = ['); + sb.writeln('List fallbackFonts = ['); for (final String family in fallbackFonts) { sb.write(" NotoFont.fromFlatRanges('$family', '${urlForFamily[family]!}', " '['); From 19df75b91bfaba29fd9c2eda28103d6b740ca290 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 15:48:11 -0700 Subject: [PATCH 21/33] Generate font data --- lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index 816e2e0c346f8..cd0663f0bcbcf 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -6,7 +6,7 @@ // dev/generate_fallback_font_data.dart import 'noto_font.dart'; -const List fallbackFonts = [ +List fallbackFonts = [ NotoFont.fromFlatRanges('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [0x20,0x7e,0xa0,0x377,0x37a,0x37f,0x384,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3e1,0x3f0,0x52f,0x900,0x97f,0x1ab0,0x1ac0,0x1c80,0x1c88,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1d00,0x1df9,0x1dfb,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fc4,0x1fc6,0x1fd3,0x1fd6,0x1fdb,0x1fdd,0x1fef,0x1ff2,0x1ff4,0x1ff6,0x1ffe,0x2000,0x2064,0x2066,0x2071,0x2074,0x208e,0x2090,0x209c,0x20a0,0x20bf,0x20f0,0x20f0,0x2100,0x215f,0x2184,0x2184,0x2189,0x2189,0x2212,0x2212,0x2215,0x2215,0x25cc,0x25cc,0x2c60,0x2c7f,0x2de0,0x2e52,0xa640,0xa69f,0xa700,0xa7bf,0xa7c2,0xa7ca,0xa7f5,0xa7ff,0xa830,0xa839,0xa8e0,0xa8ff,0xa92e,0xa92e,0xab30,0xab6b,0xfb00,0xfb06,0xfe00,0xfe00,0xfe20,0xfe2f,0xfeff,0xfeff,0xfffc,0xfffd,]), NotoFont.fromFlatRanges('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0xa9,0xa9,0xae,0xae,0x200d,0x200d,0x203c,0x203c,0x2049,0x2049,0x20e3,0x20e3,0x2122,0x2122,0x2139,0x2139,0x2194,0x2199,0x21a9,0x21aa,0x231a,0x231b,0x2328,0x2328,0x23cf,0x23cf,0x23e9,0x23f3,0x23f8,0x23fa,0x24c2,0x24c2,0x25aa,0x25ab,0x25b6,0x25b6,0x25c0,0x25c0,0x25fb,0x25fe,0x2600,0x2604,0x260e,0x260e,0x2611,0x2611,0x2614,0x2615,0x2618,0x2618,0x261d,0x261d,0x2620,0x2620,0x2622,0x2623,0x2626,0x2626,0x262a,0x262a,0x262e,0x262f,0x2638,0x263a,0x2640,0x2640,0x2642,0x2642,0x2648,0x2653,0x265f,0x2660,0x2663,0x2663,0x2665,0x2666,0x2668,0x2668,0x267b,0x267b,0x267e,0x267f,0x2692,0x2697,0x2699,0x2699,0x269b,0x269c,0x26a0,0x26a1,0x26a7,0x26a7,0x26aa,0x26ab,0x26b0,0x26b1,0x26bd,0x26be,0x26c4,0x26c5,0x26c8,0x26c8,0x26ce,0x26cf,0x26d1,0x26d1,0x26d3,0x26d4,0x26e9,0x26ea,0x26f0,0x26f5,0x26f7,0x26fa,0x26fd,0x26fd,0x2702,0x2702,0x2705,0x2705,0x2708,0x270d,0x270f,0x270f,0x2712,0x2712,0x2714,0x2714,0x2716,0x2716,0x271d,0x271d,0x2721,0x2721,0x2728,0x2728,0x2733,0x2734,0x2744,0x2744,0x2747,0x2747,0x274c,0x274c,0x274e,0x274e,0x2753,0x2755,0x2757,0x2757,0x2763,0x2764,0x2795,0x2797,0x27a1,0x27a1,0x27b0,0x27b0,0x27bf,0x27bf,0x2934,0x2935,0x2b05,0x2b07,0x2b1b,0x2b1c,0x2b50,0x2b50,0x2b55,0x2b55,0x3030,0x3030,0x303d,0x303d,0x3297,0x3297,0x3299,0x3299,0xfe0e,0xfe0f,0x1f004,0x1f004,0x1f0cf,0x1f0cf,0x1f170,0x1f171,0x1f17e,0x1f17f,0x1f18e,0x1f18e,0x1f191,0x1f19a,0x1f1e6,0x1f1ff,0x1f201,0x1f202,0x1f21a,0x1f21a,0x1f22f,0x1f22f,0x1f232,0x1f23a,0x1f250,0x1f251,0x1f300,0x1f321,0x1f324,0x1f393,0x1f396,0x1f397,0x1f399,0x1f39b,0x1f39e,0x1f3f0,0x1f3f3,0x1f3f5,0x1f3f7,0x1f4fd,0x1f4ff,0x1f53d,0x1f549,0x1f54e,0x1f550,0x1f567,0x1f56f,0x1f570,0x1f573,0x1f57a,0x1f587,0x1f587,0x1f58a,0x1f58d,0x1f590,0x1f590,0x1f595,0x1f596,0x1f5a4,0x1f5a5,0x1f5a8,0x1f5a8,0x1f5b1,0x1f5b2,0x1f5bc,0x1f5bc,0x1f5c2,0x1f5c4,0x1f5d1,0x1f5d3,0x1f5dc,0x1f5de,0x1f5e1,0x1f5e1,0x1f5e3,0x1f5e3,0x1f5e8,0x1f5e8,0x1f5ef,0x1f5ef,0x1f5f3,0x1f5f3,0x1f5fa,0x1f64f,0x1f680,0x1f6c5,0x1f6cb,0x1f6d2,0x1f6d5,0x1f6d7,0x1f6dd,0x1f6e5,0x1f6e9,0x1f6e9,0x1f6eb,0x1f6ec,0x1f6f0,0x1f6f0,0x1f6f3,0x1f6fc,0x1f7e0,0x1f7eb,0x1f7f0,0x1f7f0,0x1f90c,0x1f93a,0x1f93c,0x1f945,0x1f947,0x1f9ff,0x1fa70,0x1fa74,0x1fa78,0x1fa7c,0x1fa80,0x1fa86,0x1fa90,0x1faac,0x1fab0,0x1faba,0x1fac0,0x1fac5,0x1fad0,0x1fad9,0x1fae0,0x1fae7,0x1faf0,0x1faf6,0xe0030,0xe0039,0xe0061,0xe007a,0xe007f,0xe007f,0xfe4e5,0xfe4ee,0xfe82c,0xfe82c,0xfe82e,0xfe837,]), NotoFont.fromFlatRanges('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [0x20,0x20,0x30,0x39,0x41,0x5a,0x61,0x7a,0xa0,0xa0,0x20dd,0x20e0,0x20e2,0x20e4,0x2160,0x2183,0x2185,0x2188,0x218a,0x218b,0x2190,0x2199,0x2300,0x230f,0x2311,0x2315,0x2317,0x2317,0x231c,0x231f,0x2322,0x2323,0x2329,0x232a,0x232c,0x2335,0x237c,0x237c,0x2380,0x2394,0x2396,0x239a,0x23af,0x23af,0x23be,0x23cd,0x23d0,0x23db,0x23e2,0x23e8,0x2460,0x24ff,0x25cc,0x25cc,0x260a,0x260d,0x2613,0x2613,0x2624,0x262f,0x2638,0x263b,0x263d,0x2653,0x2669,0x267e,0x2690,0x269d,0x26a2,0x26a9,0x26ad,0x26bc,0x26ce,0x26ce,0x26e2,0x26ff,0x271d,0x2721,0x2776,0x2793,0x2921,0x2922,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f190,0x1f19b,0x1f1ac,0x1f546,0x1f549,0x1f54f,0x1f54f,0x1f610,0x1f610,0x1f700,0x1f773,]), From cfd7b45638dd15fee55d32ece5f333ad9d1ea17e Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 16:32:31 -0700 Subject: [PATCH 22/33] Analysis warnings --- lib/web_ui/dev/generate_fallback_font_data.dart | 2 +- lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart | 2 +- lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/web_ui/dev/generate_fallback_font_data.dart b/lib/web_ui/dev/generate_fallback_font_data.dart index 4b113abff1b84..7ae4aae65eb8c 100644 --- a/lib/web_ui/dev/generate_fallback_font_data.dart +++ b/lib/web_ui/dev/generate_fallback_font_data.dart @@ -111,7 +111,7 @@ class GenerateFallbackFontDataCommand extends Command sb.writeln('// dev/generate_fallback_font_data.dart'); sb.writeln("import 'noto_font.dart';"); sb.writeln(); - sb.writeln('List fallbackFonts = ['); + sb.writeln('final List fallbackFonts = ['); for (final String family in fallbackFonts) { sb.write(" NotoFont.fromFlatRanges('$family', '${urlForFamily[family]!}', " '['); diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 7c54984758ff6..6c288a03048fe 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -405,7 +405,7 @@ class FallbackFontDownloadQueue { Future startDownloads() async { final Map> downloads = >{}; final Map downloadedData = {}; - AssetManager assetManager = AssetManager(); + const AssetManager assetManager = AssetManager(); for (final NotoFont font in pendingFonts.values) { downloads[font.url] = Future(() async { ByteBuffer buffer; diff --git a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index abfad3eff2328..7f1e505ab42a1 100644 --- a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -214,7 +214,7 @@ void testMain() { FontFallbackData.instance.notoTree; for (final NotoFont font in notoTree.root.enumerateAllElements()) { testedFonts.add(font.name); - for (final CodeunitRange range in font.unicodeRanges) { + for (final CodeunitRange range in font.computeUnicodeRanges()) { for (int codeUnit = range.start; codeUnit < range.end; codeUnit += 1) { From 9ca5ecd9b5fb879957e7019cf173c957c958aa43 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 16:35:21 -0700 Subject: [PATCH 23/33] Make font list final --- lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart index cd0663f0bcbcf..41c64cf61c7c6 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallback_data.dart @@ -6,7 +6,7 @@ // dev/generate_fallback_font_data.dart import 'noto_font.dart'; -List fallbackFonts = [ +final List fallbackFonts = [ NotoFont.fromFlatRanges('Noto Sans', 'http://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNb4j5Ba_2c7A.ttf', [0x20,0x7e,0xa0,0x377,0x37a,0x37f,0x384,0x38a,0x38c,0x38c,0x38e,0x3a1,0x3a3,0x3e1,0x3f0,0x52f,0x900,0x97f,0x1ab0,0x1ac0,0x1c80,0x1c88,0x1cd0,0x1cf6,0x1cf8,0x1cf9,0x1d00,0x1df9,0x1dfb,0x1f15,0x1f18,0x1f1d,0x1f20,0x1f45,0x1f48,0x1f4d,0x1f50,0x1f57,0x1f59,0x1f59,0x1f5b,0x1f5b,0x1f5d,0x1f5d,0x1f5f,0x1f7d,0x1f80,0x1fb4,0x1fb6,0x1fc4,0x1fc6,0x1fd3,0x1fd6,0x1fdb,0x1fdd,0x1fef,0x1ff2,0x1ff4,0x1ff6,0x1ffe,0x2000,0x2064,0x2066,0x2071,0x2074,0x208e,0x2090,0x209c,0x20a0,0x20bf,0x20f0,0x20f0,0x2100,0x215f,0x2184,0x2184,0x2189,0x2189,0x2212,0x2212,0x2215,0x2215,0x25cc,0x25cc,0x2c60,0x2c7f,0x2de0,0x2e52,0xa640,0xa69f,0xa700,0xa7bf,0xa7c2,0xa7ca,0xa7f5,0xa7ff,0xa830,0xa839,0xa8e0,0xa8ff,0xa92e,0xa92e,0xab30,0xab6b,0xfb00,0xfb06,0xfe00,0xfe00,0xfe20,0xfe2f,0xfeff,0xfeff,0xfffc,0xfffd,]), NotoFont.fromFlatRanges('Noto Emoji', 'http://fonts.gstatic.com/s/notoemoji/v26/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf', [0x20,0x20,0x23,0x23,0x2a,0x2a,0x30,0x39,0xa9,0xa9,0xae,0xae,0x200d,0x200d,0x203c,0x203c,0x2049,0x2049,0x20e3,0x20e3,0x2122,0x2122,0x2139,0x2139,0x2194,0x2199,0x21a9,0x21aa,0x231a,0x231b,0x2328,0x2328,0x23cf,0x23cf,0x23e9,0x23f3,0x23f8,0x23fa,0x24c2,0x24c2,0x25aa,0x25ab,0x25b6,0x25b6,0x25c0,0x25c0,0x25fb,0x25fe,0x2600,0x2604,0x260e,0x260e,0x2611,0x2611,0x2614,0x2615,0x2618,0x2618,0x261d,0x261d,0x2620,0x2620,0x2622,0x2623,0x2626,0x2626,0x262a,0x262a,0x262e,0x262f,0x2638,0x263a,0x2640,0x2640,0x2642,0x2642,0x2648,0x2653,0x265f,0x2660,0x2663,0x2663,0x2665,0x2666,0x2668,0x2668,0x267b,0x267b,0x267e,0x267f,0x2692,0x2697,0x2699,0x2699,0x269b,0x269c,0x26a0,0x26a1,0x26a7,0x26a7,0x26aa,0x26ab,0x26b0,0x26b1,0x26bd,0x26be,0x26c4,0x26c5,0x26c8,0x26c8,0x26ce,0x26cf,0x26d1,0x26d1,0x26d3,0x26d4,0x26e9,0x26ea,0x26f0,0x26f5,0x26f7,0x26fa,0x26fd,0x26fd,0x2702,0x2702,0x2705,0x2705,0x2708,0x270d,0x270f,0x270f,0x2712,0x2712,0x2714,0x2714,0x2716,0x2716,0x271d,0x271d,0x2721,0x2721,0x2728,0x2728,0x2733,0x2734,0x2744,0x2744,0x2747,0x2747,0x274c,0x274c,0x274e,0x274e,0x2753,0x2755,0x2757,0x2757,0x2763,0x2764,0x2795,0x2797,0x27a1,0x27a1,0x27b0,0x27b0,0x27bf,0x27bf,0x2934,0x2935,0x2b05,0x2b07,0x2b1b,0x2b1c,0x2b50,0x2b50,0x2b55,0x2b55,0x3030,0x3030,0x303d,0x303d,0x3297,0x3297,0x3299,0x3299,0xfe0e,0xfe0f,0x1f004,0x1f004,0x1f0cf,0x1f0cf,0x1f170,0x1f171,0x1f17e,0x1f17f,0x1f18e,0x1f18e,0x1f191,0x1f19a,0x1f1e6,0x1f1ff,0x1f201,0x1f202,0x1f21a,0x1f21a,0x1f22f,0x1f22f,0x1f232,0x1f23a,0x1f250,0x1f251,0x1f300,0x1f321,0x1f324,0x1f393,0x1f396,0x1f397,0x1f399,0x1f39b,0x1f39e,0x1f3f0,0x1f3f3,0x1f3f5,0x1f3f7,0x1f4fd,0x1f4ff,0x1f53d,0x1f549,0x1f54e,0x1f550,0x1f567,0x1f56f,0x1f570,0x1f573,0x1f57a,0x1f587,0x1f587,0x1f58a,0x1f58d,0x1f590,0x1f590,0x1f595,0x1f596,0x1f5a4,0x1f5a5,0x1f5a8,0x1f5a8,0x1f5b1,0x1f5b2,0x1f5bc,0x1f5bc,0x1f5c2,0x1f5c4,0x1f5d1,0x1f5d3,0x1f5dc,0x1f5de,0x1f5e1,0x1f5e1,0x1f5e3,0x1f5e3,0x1f5e8,0x1f5e8,0x1f5ef,0x1f5ef,0x1f5f3,0x1f5f3,0x1f5fa,0x1f64f,0x1f680,0x1f6c5,0x1f6cb,0x1f6d2,0x1f6d5,0x1f6d7,0x1f6dd,0x1f6e5,0x1f6e9,0x1f6e9,0x1f6eb,0x1f6ec,0x1f6f0,0x1f6f0,0x1f6f3,0x1f6fc,0x1f7e0,0x1f7eb,0x1f7f0,0x1f7f0,0x1f90c,0x1f93a,0x1f93c,0x1f945,0x1f947,0x1f9ff,0x1fa70,0x1fa74,0x1fa78,0x1fa7c,0x1fa80,0x1fa86,0x1fa90,0x1faac,0x1fab0,0x1faba,0x1fac0,0x1fac5,0x1fad0,0x1fad9,0x1fae0,0x1fae7,0x1faf0,0x1faf6,0xe0030,0xe0039,0xe0061,0xe007a,0xe007f,0xe007f,0xfe4e5,0xfe4ee,0xfe82c,0xfe82c,0xfe82e,0xfe837,]), NotoFont.fromFlatRanges('Noto Sans Symbols', 'http://fonts.gstatic.com/s/notosanssymbols/v34/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf', [0x20,0x20,0x30,0x39,0x41,0x5a,0x61,0x7a,0xa0,0xa0,0x20dd,0x20e0,0x20e2,0x20e4,0x2160,0x2183,0x2185,0x2188,0x218a,0x218b,0x2190,0x2199,0x2300,0x230f,0x2311,0x2315,0x2317,0x2317,0x231c,0x231f,0x2322,0x2323,0x2329,0x232a,0x232c,0x2335,0x237c,0x237c,0x2380,0x2394,0x2396,0x239a,0x23af,0x23af,0x23be,0x23cd,0x23d0,0x23db,0x23e2,0x23e8,0x2460,0x24ff,0x25cc,0x25cc,0x260a,0x260d,0x2613,0x2613,0x2624,0x262f,0x2638,0x263b,0x263d,0x2653,0x2669,0x267e,0x2690,0x269d,0x26a2,0x26a9,0x26ad,0x26bc,0x26ce,0x26ce,0x26e2,0x26ff,0x271d,0x2721,0x2776,0x2793,0x2921,0x2922,0x1f100,0x1f10c,0x1f110,0x1f16c,0x1f170,0x1f190,0x1f19b,0x1f1ac,0x1f546,0x1f549,0x1f54f,0x1f54f,0x1f610,0x1f610,0x1f700,0x1f773,]), From 2f1f7f8c7aa64288f9097cc7d3bc49cd3456830c Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 16:56:02 -0700 Subject: [PATCH 24/33] Don't download fonts locally --- .../lib/src/engine/canvaskit/font_fallbacks.dart | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 6c288a03048fe..3547f7bfebdd8 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -405,18 +405,12 @@ class FallbackFontDownloadQueue { Future startDownloads() async { final Map> downloads = >{}; final Map downloadedData = {}; - const AssetManager assetManager = AssetManager(); for (final NotoFont font in pendingFonts.values) { downloads[font.url] = Future(() async { ByteBuffer buffer; try { - if (ui.debugEmulateFlutterTesterEnvironment) { - final String fontBasename = font.url.substring(font.url.lastIndexOf('/')); - buffer = (await assetManager.load('noto/$fontBasename')).buffer; - } else { - buffer = await downloader.downloadAsBytes(font.url, - debugDescription: font.name); - } + buffer = await downloader.downloadAsBytes(font.url, + debugDescription: font.name); } catch (e) { pendingFonts.remove(font.url); printWarning('Failed to load font ${font.name} at ${font.url}'); From cdb770f5f8e7fad2b78a890203b3ca4ab8e9b1de Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 17 Aug 2022 17:12:51 -0700 Subject: [PATCH 25/33] unused imports --- lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 3547f7bfebdd8..2ff70820d1262 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -5,9 +5,6 @@ import 'dart:async'; import 'dart:typed_data'; -import 'package:ui/ui.dart' as ui; - -import '../assets.dart'; import '../dom.dart'; import '../font_change_util.dart'; import '../platform_dispatcher.dart'; From 63297d4323c0a635daf109e33b11db0521e42531 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 18 Aug 2022 10:18:58 -0700 Subject: [PATCH 26/33] Tweak README to kick the CI --- lib/web_ui/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/web_ui/README.md b/lib/web_ui/README.md index 1a940b0f92e1a..f4e87cb31c6eb 100644 --- a/lib/web_ui/README.md +++ b/lib/web_ui/README.md @@ -207,7 +207,8 @@ If you have questions, contact the Flutter Web team on Flutter Discord on the ### Rolling Noto Font Data -In order to generate new data for the Noto fallback fonts, run: +In order to generate new data for the Noto fallback fonts, you will need +a GoogleFonts API key. Once you have one, run: ``` ./dev/felt generate-fallback-font-data --key= From e6b8b2798ebbc548e2334d76639399f61a5fc480 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 18 Aug 2022 15:58:52 -0700 Subject: [PATCH 27/33] Fix binary search --- lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart | 3 +++ lib/web_ui/lib/src/engine/canvaskit/noto_font.dart | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 2ff70820d1262..5fba0c2490027 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -154,6 +154,9 @@ class FontFallbackData { _scheduledCodeUnitCheck = false; // We don't know if the remaining code units are covered by our fallback // fonts. Check them and update the cache. + if (_codeUnitsToCheckAgainstFallbackFonts.isEmpty) { + return; + } final List codeUnits = _codeUnitsToCheckAgainstFallbackFonts.toList(); _codeUnitsToCheckAgainstFallbackFonts.clear(); final List codeUnitsSupported = diff --git a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart index edefd348a0830..83964c6f4222c 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/noto_font.dart @@ -36,7 +36,7 @@ class NotoFont { // Binary search through the starts and ends to see if there // is a range that contains the codeunit. int min = 0; - int max = _rangeStarts.length; + int max = _rangeStarts.length - 1; // Search for the first rangeStart that is greater than codeunit. while (min < max) { final int mid = (min + max) ~/ 2; @@ -60,7 +60,10 @@ class NotoFont { final int rangeEnd = _rangeEnds[mid]; return rangeStart <= codeUnit && codeUnit <= rangeEnd; } - min = mid; + min = mid + 1; + } else { + // _rangeStarts[mid] == codeUnit + return true; } } return false; From 01f3d0b18a863b72afebb7ed4c957b988d5198cd Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 18 Aug 2022 16:50:43 -0700 Subject: [PATCH 28/33] Update test for alphabetical order --- lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index 7f1e505ab42a1..b36cf0eca5cd5 100644 --- a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -187,7 +187,7 @@ void testMain() { expect( loggingDownloader.log, [ - 'Noto Sans TC', + 'Noto Sans KR', 'Noto Sans Kannada', ], ); From 54d36470833665183a97a32656dfc3f5d7e629a5 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 18 Aug 2022 16:53:12 -0700 Subject: [PATCH 29/33] Make SC the default if all CJK languages match equally --- lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart | 2 ++ lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 5fba0c2490027..5e57614639460 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -342,6 +342,8 @@ Set findMinimumFontsForCodeUnits( if (bestFonts.contains(_notoSansKR)) { bestFont = _notoSansKR; } + } else if (bestFonts.contains(_notoSansSC)) { + bestFont = _notoSansSC; } } } diff --git a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index b36cf0eca5cd5..adfeef58d6f76 100644 --- a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -187,7 +187,7 @@ void testMain() { expect( loggingDownloader.log, [ - 'Noto Sans KR', + 'Noto Sans SC', 'Noto Sans Kannada', ], ); From 7af233085e5d2b516799c34a8d9f85c53c060bbb Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 18 Aug 2022 18:12:26 -0700 Subject: [PATCH 30/33] Choose SC for the best font if it's an option, for consistency --- lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 5e57614639460..9550db92c02fd 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -345,6 +345,12 @@ Set findMinimumFontsForCodeUnits( } else if (bestFonts.contains(_notoSansSC)) { bestFont = _notoSansSC; } + } else { + // To be predictable, if Simplified Chinese is one of the best fonts, + // choose that since it is the most common script. + if (bestFonts.contains(_notoSansSC)) { + bestFont = _notoSansSC; + } } } codeUnits.removeWhere((int codeUnit) { From 88960f797fe6d7dfb2cba92063258da9c3ff7d6f Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 23 Aug 2022 15:50:12 -0700 Subject: [PATCH 31/33] WIP figure out bug in framework tests w/ timer --- .../lib/src/engine/canvaskit/font_fallbacks.dart | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 9550db92c02fd..3dbc7d59b03c2 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -133,6 +133,7 @@ class FontFallbackData { } } _codeUnitsToCheckAgainstFallbackFonts.addAll(missingCodeUnits); + print('CURRENT STACKTRACE !!!!!!!!!\n${StackTrace.current}'); if (!_scheduledCodeUnitCheck) { _scheduledCodeUnitCheck = true; // ignore: invalid_use_of_visible_for_testing_member @@ -346,16 +347,22 @@ Set findMinimumFontsForCodeUnits( bestFont = _notoSansSC; } } else { - // To be predictable, if Simplified Chinese is one of the best fonts, - // choose that since it is the most common script. - if (bestFonts.contains(_notoSansSC)) { + // To be predictable, if there is a tie for best font, choose a font + // from this list first, then just choose the first font. + if (bestFonts.contains(_notoSymbols)) { + bestFont = _notoSymbols; + } else if (bestFonts.contains(_notoSansSC)) { bestFont = _notoSansSC; } } } + print('BEST FONTS: ${bestFonts.map((f) => f.name).toList()}'); + print('ADDING ${bestFont.name}'); + print('CODE UNITS BEFORE: $codeUnits'); codeUnits.removeWhere((int codeUnit) { return bestFont.contains(codeUnit); }); + print('CODE UNITS AFTER: $codeUnits'); minimumFonts.add(bestFont); } return minimumFonts; @@ -368,6 +375,8 @@ NotoFont _notoSansJP = fallbackFonts.singleWhere((NotoFont font) => font.name == NotoFont _notoSansKR = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans KR'); List _cjkFonts = [_notoSansSC, _notoSansTC, _notoSansHK, _notoSansJP, _notoSansKR]; +NotoFont _notoSymbols = fallbackFonts.singleWhere((NotoFont font) => font.name == 'Noto Sans Symbols'); + class FallbackFontDownloadQueue { NotoDownloader downloader = NotoDownloader(); @@ -405,6 +414,7 @@ class FallbackFontDownloadQueue { } final bool firstInBatch = pendingFonts.isEmpty; pendingFonts[font.url] = font; + print('ADDING ${font.name}'); if (firstInBatch) { Timer.run(startDownloads); } From cb3d1f32114fff4f2eec0565e0a973664e5f6bcc Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 24 Aug 2022 12:57:15 -0700 Subject: [PATCH 32/33] Disable font fallbacks in tests where it will cause errors --- lib/web_ui/lib/initialization.dart | 14 +++++++++++ .../src/engine/canvaskit/font_fallbacks.dart | 14 ++++------- lib/web_ui/test/canvaskit/common.dart | 1 + .../canvaskit/fallback_fonts_golden_test.dart | 24 ------------------- 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/lib/web_ui/lib/initialization.dart b/lib/web_ui/lib/initialization.dart index 8ee067b5ef8cf..37b45ee801186 100644 --- a/lib/web_ui/lib/initialization.dart +++ b/lib/web_ui/lib/initialization.dart @@ -112,10 +112,24 @@ set debugEmulateFlutterTesterEnvironment(bool value) { engine.window.webOnlyDebugPhysicalSizeOverride = logicalSize * window.devicePixelRatio; } + debugDisableFontFallbacks = value; } bool _debugEmulateFlutterTesterEnvironment = false; +/// Whether to disable the font fallback system. +/// +/// We need to disable font fallbacks for some framework tests because +/// Flutter error messages may contain an arrow symbol which is not +/// covered by ASCII fonts. This causes us to try to download the +/// Noto Sans Symbols font, which kicks off a `Timer` which doesn't +/// complete before the Widget tree is disposed (this is by design). +bool get debugDisableFontFallbacks => _debugDisableFontFallbacks; +set debugDisableFontFallbacks(bool value) { + _debugDisableFontFallbacks = value; +} +bool _debugDisableFontFallbacks = false; + /// Provides the asset manager. // TODO(yjbanov): this function should not return a private type. Instead, we // should create a public interface for the returned value that's diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index f30c8145608d6..2057f5b1a9480 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -6,6 +6,7 @@ import 'dart:async'; import 'dart:typed_data'; import 'package:ui/src/engine/canvaskit/renderer.dart'; +import 'package:ui/ui.dart' as ui; import '../dom.dart'; import '../font_change_util.dart'; @@ -74,6 +75,9 @@ class FontFallbackData { void ensureFontsSupportText(String text, List fontFamilies) { // TODO(hterkelsen): Make this faster for the common case where the text // is supported by the given fonts. + if (ui.debugDisableFontFallbacks) { + return; + } // If the text is ASCII, then skip this check. bool isAscii = true; @@ -134,7 +138,6 @@ class FontFallbackData { } } _codeUnitsToCheckAgainstFallbackFonts.addAll(missingCodeUnits); - print('CURRENT STACKTRACE !!!!!!!!!\n${StackTrace.current}'); if (!_scheduledCodeUnitCheck) { _scheduledCodeUnitCheck = true; CanvasKitRenderer.instance.rasterizer.addPostFrameCallback(_ensureFallbackFonts); @@ -258,9 +261,7 @@ Future findFontsForMissingCodeunits(List codeUnits) async { fonts.forEach(notoDownloadQueue.add); // We looked through the Noto font tree and didn't find any font families - // covering some code units, or we did find a font family, but when we - // downloaded the fonts we found that they actually didn't cover them. So - // we try looking them up in the symbols and emojis fonts. + // covering some code units. if (missingCodeUnits.isNotEmpty || unmatchedCodeUnits.isNotEmpty) { if (!notoDownloadQueue.isPending) { printWarning('Could not find a set of Noto fonts to display all missing ' @@ -355,13 +356,9 @@ Set findMinimumFontsForCodeUnits( } } } - print('BEST FONTS: ${bestFonts.map((f) => f.name).toList()}'); - print('ADDING ${bestFont.name}'); - print('CODE UNITS BEFORE: $codeUnits'); codeUnits.removeWhere((int codeUnit) { return bestFont.contains(codeUnit); }); - print('CODE UNITS AFTER: $codeUnits'); minimumFonts.add(bestFont); } return minimumFonts; @@ -413,7 +410,6 @@ class FallbackFontDownloadQueue { } final bool firstInBatch = pendingFonts.isEmpty; pendingFonts[font.url] = font; - print('ADDING ${font.name}'); if (firstInBatch) { Timer.run(startDownloads); } diff --git a/lib/web_ui/test/canvaskit/common.dart b/lib/web_ui/test/canvaskit/common.dart index bbf0db785858b..831cab5cbbaa9 100644 --- a/lib/web_ui/test/canvaskit/common.dart +++ b/lib/web_ui/test/canvaskit/common.dart @@ -23,6 +23,7 @@ void setUpCanvasKitTest() { setUpAll(() async { expect(renderer, isA(), reason: 'This test must run in CanvasKit mode.'); debugResetBrowserSupportsFinalizationRegistry(); + ui.debugDisableFontFallbacks = false; await initializeEngine(assetManager: WebOnlyMockAssetManager()); }); diff --git a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index 03a7e20468c71..66ba97d7eb9fa 100644 --- a/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -168,30 +168,6 @@ void testMain() { // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 }, skip: isSafari || isFirefox); - test('will gracefully fail if we cannot parse the Google Fonts CSS', - () async { - final Rasterizer rasterizer = CanvasKitRenderer.instance.rasterizer; - TestDownloader.mockDownloads[ - 'https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic+UI'] = - 'invalid CSS... this should cause our parser to fail'; - - expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); - - // Creating this paragraph should cause us to start to download the - // fallback font. - final CkParagraphBuilder pb = CkParagraphBuilder( - CkParagraphStyle(), - ); - pb.addText('مرحبا'); - - // Flush microtasks and test that we didn't start any downloads. - rasterizer.debugRunPostFrameCallbacks(); - await Future.delayed(Duration.zero); - - expect(notoDownloadQueue.isPending, isFalse); - expect(FontFallbackData.instance.globalFontFallbacks, ['Roboto']); - }); - // Regression test for https://github.com/flutter/flutter/issues/75836 // When we had this bug our font fallback resolution logic would end up in an // infinite loop and this test would freeze and time out. From ec017696bb780ca7b7be5b146ed1a8829dc5c072 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 24 Aug 2022 14:56:58 -0700 Subject: [PATCH 33/33] Move debugDisableFontFallbacks to engine.dart --- lib/web_ui/lib/initialization.dart | 15 +-------------- .../lib/src/engine/canvaskit/font_fallbacks.dart | 4 ++-- lib/web_ui/lib/src/engine/initialization.dart | 13 +++++++++++++ lib/web_ui/test/canvaskit/common.dart | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/web_ui/lib/initialization.dart b/lib/web_ui/lib/initialization.dart index 37b45ee801186..e19f24103cdf4 100644 --- a/lib/web_ui/lib/initialization.dart +++ b/lib/web_ui/lib/initialization.dart @@ -112,24 +112,11 @@ set debugEmulateFlutterTesterEnvironment(bool value) { engine.window.webOnlyDebugPhysicalSizeOverride = logicalSize * window.devicePixelRatio; } - debugDisableFontFallbacks = value; + engine.debugDisableFontFallbacks = value; } bool _debugEmulateFlutterTesterEnvironment = false; -/// Whether to disable the font fallback system. -/// -/// We need to disable font fallbacks for some framework tests because -/// Flutter error messages may contain an arrow symbol which is not -/// covered by ASCII fonts. This causes us to try to download the -/// Noto Sans Symbols font, which kicks off a `Timer` which doesn't -/// complete before the Widget tree is disposed (this is by design). -bool get debugDisableFontFallbacks => _debugDisableFontFallbacks; -set debugDisableFontFallbacks(bool value) { - _debugDisableFontFallbacks = value; -} -bool _debugDisableFontFallbacks = false; - /// Provides the asset manager. // TODO(yjbanov): this function should not return a private type. Instead, we // should create a public interface for the returned value that's diff --git a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index 2057f5b1a9480..0cbc7ea3a790c 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -6,10 +6,10 @@ import 'dart:async'; import 'dart:typed_data'; import 'package:ui/src/engine/canvaskit/renderer.dart'; -import 'package:ui/ui.dart' as ui; import '../dom.dart'; import '../font_change_util.dart'; +import '../initialization.dart'; import '../renderer.dart'; import '../util.dart'; import 'canvaskit_api.dart'; @@ -75,7 +75,7 @@ class FontFallbackData { void ensureFontsSupportText(String text, List fontFamilies) { // TODO(hterkelsen): Make this faster for the common case where the text // is supported by the given fonts. - if (ui.debugDisableFontFallbacks) { + if (debugDisableFontFallbacks) { return; } diff --git a/lib/web_ui/lib/src/engine/initialization.dart b/lib/web_ui/lib/src/engine/initialization.dart index 682f1e13c9b75..025b1399f78b1 100644 --- a/lib/web_ui/lib/src/engine/initialization.dart +++ b/lib/web_ui/lib/src/engine/initialization.dart @@ -272,6 +272,19 @@ void _addUrlStrategyListener() { }); } +/// Whether to disable the font fallback system. +/// +/// We need to disable font fallbacks for some framework tests because +/// Flutter error messages may contain an arrow symbol which is not +/// covered by ASCII fonts. This causes us to try to download the +/// Noto Sans Symbols font, which kicks off a `Timer` which doesn't +/// complete before the Widget tree is disposed (this is by design). +bool get debugDisableFontFallbacks => _debugDisableFontFallbacks; +set debugDisableFontFallbacks(bool value) { + _debugDisableFontFallbacks = value; +} +bool _debugDisableFontFallbacks = false; + /// The shared instance of PlatformViewManager shared across the engine to handle /// rendering of PlatformViews into the web app. // TODO(dit): How to make this overridable from tests? diff --git a/lib/web_ui/test/canvaskit/common.dart b/lib/web_ui/test/canvaskit/common.dart index 831cab5cbbaa9..149a8bc9df6ee 100644 --- a/lib/web_ui/test/canvaskit/common.dart +++ b/lib/web_ui/test/canvaskit/common.dart @@ -23,7 +23,7 @@ void setUpCanvasKitTest() { setUpAll(() async { expect(renderer, isA(), reason: 'This test must run in CanvasKit mode.'); debugResetBrowserSupportsFinalizationRegistry(); - ui.debugDisableFontFallbacks = false; + debugDisableFontFallbacks = false; await initializeEngine(assetManager: WebOnlyMockAssetManager()); });