From dd0be47bba1676d7df039ee08d775927df508fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hana=20Dusi=CC=81kova=CC=81?= Date: Sun, 23 Jan 2022 17:41:14 +0100 Subject: [PATCH] sync unicode-14 PR --- single-header/unicode-db.hpp | 7046 ++++++++++++++++++---------------- 1 file changed, 3632 insertions(+), 3414 deletions(-) diff --git a/single-header/unicode-db.hpp b/single-header/unicode-db.hpp index 25fb962b..0c01f399 100644 --- a/single-header/unicode-db.hpp +++ b/single-header/unicode-db.hpp @@ -423,7 +423,8 @@ enum class version : uint8_t { v12_0, v12_1, v13_0, - latest_version = v13_0 + v14_0, + latest_version = v14_0 }; enum class category { c, @@ -538,405 +539,424 @@ enum class block { mandaic, // 19 syriac_supplement, // 20 syriac_sup = syriac_supplement, - arabic_extended_a, // 21 + arabic_extended_b, // 21 + arabic_ext_b = arabic_extended_b, + arabic_extended_a, // 22 arabic_ext_a = arabic_extended_a, - devanagari, // 22 - bengali, // 23 - gurmukhi, // 24 - gujarati, // 25 - oriya, // 26 - tamil, // 27 - telugu, // 28 - kannada, // 29 - malayalam, // 30 - sinhala, // 31 - thai, // 32 - lao, // 33 - tibetan, // 34 - myanmar, // 35 - georgian, // 36 - hangul_jamo, // 37 + devanagari, // 23 + bengali, // 24 + gurmukhi, // 25 + gujarati, // 26 + oriya, // 27 + tamil, // 28 + telugu, // 29 + kannada, // 30 + malayalam, // 31 + sinhala, // 32 + thai, // 33 + lao, // 34 + tibetan, // 35 + myanmar, // 36 + georgian, // 37 + hangul_jamo, // 38 jamo = hangul_jamo, - ethiopic, // 38 - ethiopic_supplement, // 39 + ethiopic, // 39 + ethiopic_supplement, // 40 ethiopic_sup = ethiopic_supplement, - cherokee, // 40 - unified_canadian_aboriginal_syllabics, // 41 + cherokee, // 41 + unified_canadian_aboriginal_syllabics, // 42 ucas = unified_canadian_aboriginal_syllabics, - ogham, // 42 - runic, // 43 - tagalog, // 44 - hanunoo, // 45 - buhid, // 46 - tagbanwa, // 47 - khmer, // 48 - mongolian, // 49 - unified_canadian_aboriginal_syllabics_extended, // 50 + ogham, // 43 + runic, // 44 + tagalog, // 45 + hanunoo, // 46 + buhid, // 47 + tagbanwa, // 48 + khmer, // 49 + mongolian, // 50 + unified_canadian_aboriginal_syllabics_extended, // 51 ucas_ext = unified_canadian_aboriginal_syllabics_extended, - limbu, // 51 - tai_le, // 52 - new_tai_lue, // 53 - khmer_symbols, // 54 - buginese, // 55 - tai_tham, // 56 - combining_diacritical_marks_extended, // 57 + limbu, // 52 + tai_le, // 53 + new_tai_lue, // 54 + khmer_symbols, // 55 + buginese, // 56 + tai_tham, // 57 + combining_diacritical_marks_extended, // 58 diacriticals_ext = combining_diacritical_marks_extended, - balinese, // 58 - sundanese, // 59 - batak, // 60 - lepcha, // 61 - ol_chiki, // 62 - cyrillic_extended_c, // 63 + balinese, // 59 + sundanese, // 60 + batak, // 61 + lepcha, // 62 + ol_chiki, // 63 + cyrillic_extended_c, // 64 cyrillic_ext_c = cyrillic_extended_c, - georgian_extended, // 64 + georgian_extended, // 65 georgian_ext = georgian_extended, - sundanese_supplement, // 65 + sundanese_supplement, // 66 sundanese_sup = sundanese_supplement, - vedic_extensions, // 66 + vedic_extensions, // 67 vedic_ext = vedic_extensions, - phonetic_extensions, // 67 + phonetic_extensions, // 68 phonetic_ext = phonetic_extensions, - phonetic_extensions_supplement, // 68 + phonetic_extensions_supplement, // 69 phonetic_ext_sup = phonetic_extensions_supplement, - combining_diacritical_marks_supplement, // 69 + combining_diacritical_marks_supplement, // 70 diacriticals_sup = combining_diacritical_marks_supplement, - latin_extended_additional, // 70 + latin_extended_additional, // 71 latin_ext_additional = latin_extended_additional, - greek_extended, // 71 + greek_extended, // 72 greek_ext = greek_extended, - general_punctuation, // 72 + general_punctuation, // 73 punctuation = general_punctuation, - superscripts_and_subscripts, // 73 + superscripts_and_subscripts, // 74 super_and_sub = superscripts_and_subscripts, - currency_symbols, // 74 - combining_diacritical_marks_for_symbols, // 75 + currency_symbols, // 75 + combining_diacritical_marks_for_symbols, // 76 diacriticals_for_symbols = combining_diacritical_marks_for_symbols, - letterlike_symbols, // 76 - number_forms, // 77 - arrows, // 78 - mathematical_operators, // 79 + letterlike_symbols, // 77 + number_forms, // 78 + arrows, // 79 + mathematical_operators, // 80 math_operators = mathematical_operators, - miscellaneous_technical, // 80 + miscellaneous_technical, // 81 misc_technical = miscellaneous_technical, - control_pictures, // 81 - optical_character_recognition, // 82 + control_pictures, // 82 + optical_character_recognition, // 83 ocr = optical_character_recognition, - enclosed_alphanumerics, // 83 + enclosed_alphanumerics, // 84 enclosed_alphanum = enclosed_alphanumerics, - box_drawing, // 84 - block_elements, // 85 - geometric_shapes, // 86 - miscellaneous_symbols, // 87 + box_drawing, // 85 + block_elements, // 86 + geometric_shapes, // 87 + miscellaneous_symbols, // 88 misc_symbols = miscellaneous_symbols, - dingbats, // 88 - miscellaneous_mathematical_symbols_a, // 89 + dingbats, // 89 + miscellaneous_mathematical_symbols_a, // 90 misc_math_symbols_a = miscellaneous_mathematical_symbols_a, - supplemental_arrows_a, // 90 + supplemental_arrows_a, // 91 sup_arrows_a = supplemental_arrows_a, - braille_patterns, // 91 + braille_patterns, // 92 braille = braille_patterns, - supplemental_arrows_b, // 92 + supplemental_arrows_b, // 93 sup_arrows_b = supplemental_arrows_b, - miscellaneous_mathematical_symbols_b, // 93 + miscellaneous_mathematical_symbols_b, // 94 misc_math_symbols_b = miscellaneous_mathematical_symbols_b, - supplemental_mathematical_operators, // 94 + supplemental_mathematical_operators, // 95 sup_math_operators = supplemental_mathematical_operators, - miscellaneous_symbols_and_arrows, // 95 + miscellaneous_symbols_and_arrows, // 96 misc_arrows = miscellaneous_symbols_and_arrows, - glagolitic, // 96 - latin_extended_c, // 97 + glagolitic, // 97 + latin_extended_c, // 98 latin_ext_c = latin_extended_c, - coptic, // 98 - georgian_supplement, // 99 + coptic, // 99 + georgian_supplement, // 100 georgian_sup = georgian_supplement, - tifinagh, // 100 - ethiopic_extended, // 101 + tifinagh, // 101 + ethiopic_extended, // 102 ethiopic_ext = ethiopic_extended, - cyrillic_extended_a, // 102 + cyrillic_extended_a, // 103 cyrillic_ext_a = cyrillic_extended_a, - supplemental_punctuation, // 103 + supplemental_punctuation, // 104 sup_punctuation = supplemental_punctuation, - cjk_radicals_supplement, // 104 + cjk_radicals_supplement, // 105 cjk_radicals_sup = cjk_radicals_supplement, - kangxi_radicals, // 105 + kangxi_radicals, // 106 kangxi = kangxi_radicals, - ideographic_description_characters, // 106 + ideographic_description_characters, // 107 idc = ideographic_description_characters, - cjk_symbols_and_punctuation, // 107 + cjk_symbols_and_punctuation, // 108 cjk_symbols = cjk_symbols_and_punctuation, - hiragana, // 108 - katakana, // 109 - bopomofo, // 110 - hangul_compatibility_jamo, // 111 + hiragana, // 109 + katakana, // 110 + bopomofo, // 111 + hangul_compatibility_jamo, // 112 compat_jamo = hangul_compatibility_jamo, - kanbun, // 112 - bopomofo_extended, // 113 + kanbun, // 113 + bopomofo_extended, // 114 bopomofo_ext = bopomofo_extended, - cjk_strokes, // 114 - katakana_phonetic_extensions, // 115 + cjk_strokes, // 115 + katakana_phonetic_extensions, // 116 katakana_ext = katakana_phonetic_extensions, - enclosed_cjk_letters_and_months, // 116 + enclosed_cjk_letters_and_months, // 117 enclosed_cjk = enclosed_cjk_letters_and_months, - cjk_compatibility, // 117 + cjk_compatibility, // 118 cjk_compat = cjk_compatibility, - cjk_unified_ideographs_extension_a, // 118 + cjk_unified_ideographs_extension_a, // 119 cjk_ext_a = cjk_unified_ideographs_extension_a, - yijing_hexagram_symbols, // 119 + yijing_hexagram_symbols, // 120 yijing = yijing_hexagram_symbols, - cjk_unified_ideographs, // 120 + cjk_unified_ideographs, // 121 cjk = cjk_unified_ideographs, - yi_syllables, // 121 - yi_radicals, // 122 - lisu, // 123 - vai, // 124 - cyrillic_extended_b, // 125 + yi_syllables, // 122 + yi_radicals, // 123 + lisu, // 124 + vai, // 125 + cyrillic_extended_b, // 126 cyrillic_ext_b = cyrillic_extended_b, - bamum, // 126 - modifier_tone_letters, // 127 - latin_extended_d, // 128 + bamum, // 127 + modifier_tone_letters, // 128 + latin_extended_d, // 129 latin_ext_d = latin_extended_d, - syloti_nagri, // 129 - common_indic_number_forms, // 130 + syloti_nagri, // 130 + common_indic_number_forms, // 131 indic_number_forms = common_indic_number_forms, - phags_pa, // 131 - saurashtra, // 132 - devanagari_extended, // 133 + phags_pa, // 132 + saurashtra, // 133 + devanagari_extended, // 134 devanagari_ext = devanagari_extended, - kayah_li, // 134 - rejang, // 135 - hangul_jamo_extended_a, // 136 + kayah_li, // 135 + rejang, // 136 + hangul_jamo_extended_a, // 137 jamo_ext_a = hangul_jamo_extended_a, - javanese, // 137 - myanmar_extended_b, // 138 + javanese, // 138 + myanmar_extended_b, // 139 myanmar_ext_b = myanmar_extended_b, - cham, // 139 - myanmar_extended_a, // 140 + cham, // 140 + myanmar_extended_a, // 141 myanmar_ext_a = myanmar_extended_a, - tai_viet, // 141 - meetei_mayek_extensions, // 142 + tai_viet, // 142 + meetei_mayek_extensions, // 143 meetei_mayek_ext = meetei_mayek_extensions, - ethiopic_extended_a, // 143 + ethiopic_extended_a, // 144 ethiopic_ext_a = ethiopic_extended_a, - latin_extended_e, // 144 + latin_extended_e, // 145 latin_ext_e = latin_extended_e, - cherokee_supplement, // 145 + cherokee_supplement, // 146 cherokee_sup = cherokee_supplement, - meetei_mayek, // 146 - hangul_syllables, // 147 + meetei_mayek, // 147 + hangul_syllables, // 148 hangul = hangul_syllables, - hangul_jamo_extended_b, // 148 + hangul_jamo_extended_b, // 149 jamo_ext_b = hangul_jamo_extended_b, - high_surrogates, // 149 - high_private_use_surrogates, // 150 + high_surrogates, // 150 + high_private_use_surrogates, // 151 high_pu_surrogates = high_private_use_surrogates, - low_surrogates, // 151 - private_use_area, // 152 + low_surrogates, // 152 + private_use_area, // 153 pua = private_use_area, - cjk_compatibility_ideographs, // 153 + cjk_compatibility_ideographs, // 154 cjk_compat_ideographs = cjk_compatibility_ideographs, - alphabetic_presentation_forms, // 154 + alphabetic_presentation_forms, // 155 alphabetic_pf = alphabetic_presentation_forms, - arabic_presentation_forms_a, // 155 + arabic_presentation_forms_a, // 156 arabic_pf_a = arabic_presentation_forms_a, - variation_selectors, // 156 + variation_selectors, // 157 vs = variation_selectors, - vertical_forms, // 157 - combining_half_marks, // 158 + vertical_forms, // 158 + combining_half_marks, // 159 half_marks = combining_half_marks, - cjk_compatibility_forms, // 159 + cjk_compatibility_forms, // 160 cjk_compat_forms = cjk_compatibility_forms, - small_form_variants, // 160 + small_form_variants, // 161 small_forms = small_form_variants, - arabic_presentation_forms_b, // 161 + arabic_presentation_forms_b, // 162 arabic_pf_b = arabic_presentation_forms_b, - halfwidth_and_fullwidth_forms, // 162 + halfwidth_and_fullwidth_forms, // 163 half_and_full_forms = halfwidth_and_fullwidth_forms, - specials, // 163 - linear_b_syllabary, // 164 - linear_b_ideograms, // 165 - aegean_numbers, // 166 - ancient_greek_numbers, // 167 - ancient_symbols, // 168 - phaistos_disc, // 169 + specials, // 164 + linear_b_syllabary, // 165 + linear_b_ideograms, // 166 + aegean_numbers, // 167 + ancient_greek_numbers, // 168 + ancient_symbols, // 169 + phaistos_disc, // 170 phaistos = phaistos_disc, - lycian, // 170 - carian, // 171 - coptic_epact_numbers, // 172 - old_italic, // 173 - gothic, // 174 - old_permic, // 175 - ugaritic, // 176 - old_persian, // 177 - deseret, // 178 - shavian, // 179 - osmanya, // 180 - osage, // 181 - elbasan, // 182 - caucasian_albanian, // 183 - linear_a, // 184 - cypriot_syllabary, // 185 - imperial_aramaic, // 186 - palmyrene, // 187 - nabataean, // 188 - hatran, // 189 - phoenician, // 190 - lydian, // 191 - meroitic_hieroglyphs, // 192 - meroitic_cursive, // 193 - kharoshthi, // 194 - old_south_arabian, // 195 - old_north_arabian, // 196 - manichaean, // 197 - avestan, // 198 - inscriptional_parthian, // 199 - inscriptional_pahlavi, // 200 - psalter_pahlavi, // 201 - old_turkic, // 202 - old_hungarian, // 203 - hanifi_rohingya, // 204 - rumi_numeral_symbols, // 205 + lycian, // 171 + carian, // 172 + coptic_epact_numbers, // 173 + old_italic, // 174 + gothic, // 175 + old_permic, // 176 + ugaritic, // 177 + old_persian, // 178 + deseret, // 179 + shavian, // 180 + osmanya, // 181 + osage, // 182 + elbasan, // 183 + caucasian_albanian, // 184 + vithkuqi, // 185 + linear_a, // 186 + latin_extended_f, // 187 + latin_ext_f = latin_extended_f, + cypriot_syllabary, // 188 + imperial_aramaic, // 189 + palmyrene, // 190 + nabataean, // 191 + hatran, // 192 + phoenician, // 193 + lydian, // 194 + meroitic_hieroglyphs, // 195 + meroitic_cursive, // 196 + kharoshthi, // 197 + old_south_arabian, // 198 + old_north_arabian, // 199 + manichaean, // 200 + avestan, // 201 + inscriptional_parthian, // 202 + inscriptional_pahlavi, // 203 + psalter_pahlavi, // 204 + old_turkic, // 205 + old_hungarian, // 206 + hanifi_rohingya, // 207 + rumi_numeral_symbols, // 208 rumi = rumi_numeral_symbols, - yezidi, // 206 - old_sogdian, // 207 - sogdian, // 208 - chorasmian, // 209 - elymaic, // 210 - brahmi, // 211 - kaithi, // 212 - sora_sompeng, // 213 - chakma, // 214 - mahajani, // 215 - sharada, // 216 - sinhala_archaic_numbers, // 217 - khojki, // 218 - multani, // 219 - khudawadi, // 220 - grantha, // 221 - newa, // 222 - tirhuta, // 223 - siddham, // 224 - modi, // 225 - mongolian_supplement, // 226 + yezidi, // 209 + old_sogdian, // 210 + sogdian, // 211 + old_uyghur, // 212 + chorasmian, // 213 + elymaic, // 214 + brahmi, // 215 + kaithi, // 216 + sora_sompeng, // 217 + chakma, // 218 + mahajani, // 219 + sharada, // 220 + sinhala_archaic_numbers, // 221 + khojki, // 222 + multani, // 223 + khudawadi, // 224 + grantha, // 225 + newa, // 226 + tirhuta, // 227 + siddham, // 228 + modi, // 229 + mongolian_supplement, // 230 mongolian_sup = mongolian_supplement, - takri, // 227 - ahom, // 228 - dogra, // 229 - warang_citi, // 230 - dives_akuru, // 231 - nandinagari, // 232 - zanabazar_square, // 233 - soyombo, // 234 - pau_cin_hau, // 235 - bhaiksuki, // 236 - marchen, // 237 - masaram_gondi, // 238 - gunjala_gondi, // 239 - makasar, // 240 - lisu_supplement, // 241 + takri, // 231 + ahom, // 232 + dogra, // 233 + warang_citi, // 234 + dives_akuru, // 235 + nandinagari, // 236 + zanabazar_square, // 237 + soyombo, // 238 + unified_canadian_aboriginal_syllabics_extended_a, // 239 + ucas_ext_a = unified_canadian_aboriginal_syllabics_extended_a, + pau_cin_hau, // 240 + bhaiksuki, // 241 + marchen, // 242 + masaram_gondi, // 243 + gunjala_gondi, // 244 + makasar, // 245 + lisu_supplement, // 246 lisu_sup = lisu_supplement, - tamil_supplement, // 242 + tamil_supplement, // 247 tamil_sup = tamil_supplement, - cuneiform, // 243 - cuneiform_numbers_and_punctuation, // 244 + cuneiform, // 248 + cuneiform_numbers_and_punctuation, // 249 cuneiform_numbers = cuneiform_numbers_and_punctuation, - early_dynastic_cuneiform, // 245 - egyptian_hieroglyphs, // 246 - egyptian_hieroglyph_format_controls, // 247 - anatolian_hieroglyphs, // 248 - bamum_supplement, // 249 + early_dynastic_cuneiform, // 250 + cypro_minoan, // 251 + egyptian_hieroglyphs, // 252 + egyptian_hieroglyph_format_controls, // 253 + anatolian_hieroglyphs, // 254 + bamum_supplement, // 255 bamum_sup = bamum_supplement, - mro, // 250 - bassa_vah, // 251 - pahawh_hmong, // 252 - medefaidrin, // 253 - miao, // 254 - ideographic_symbols_and_punctuation, // 255 + mro, // 256 + tangsa, // 257 + bassa_vah, // 258 + pahawh_hmong, // 259 + medefaidrin, // 260 + miao, // 261 + ideographic_symbols_and_punctuation, // 262 ideographic_symbols = ideographic_symbols_and_punctuation, - tangut, // 256 - tangut_components, // 257 - khitan_small_script, // 258 - tangut_supplement, // 259 + tangut, // 263 + tangut_components, // 264 + khitan_small_script, // 265 + tangut_supplement, // 266 tangut_sup = tangut_supplement, - kana_supplement, // 260 + kana_extended_b, // 267 + kana_ext_b = kana_extended_b, + kana_supplement, // 268 kana_sup = kana_supplement, - kana_extended_a, // 261 + kana_extended_a, // 269 kana_ext_a = kana_extended_a, - small_kana_extension, // 262 + small_kana_extension, // 270 small_kana_ext = small_kana_extension, - nushu, // 263 - duployan, // 264 - shorthand_format_controls, // 265 - byzantine_musical_symbols, // 266 + nushu, // 271 + duployan, // 272 + shorthand_format_controls, // 273 + znamenny_musical_notation, // 274 + znamenny_music = znamenny_musical_notation, + byzantine_musical_symbols, // 275 byzantine_music = byzantine_musical_symbols, - musical_symbols, // 267 + musical_symbols, // 276 music = musical_symbols, - ancient_greek_musical_notation, // 268 + ancient_greek_musical_notation, // 277 ancient_greek_music = ancient_greek_musical_notation, - mayan_numerals, // 269 - tai_xuan_jing_symbols, // 270 + mayan_numerals, // 278 + tai_xuan_jing_symbols, // 279 tai_xuan_jing = tai_xuan_jing_symbols, - counting_rod_numerals, // 271 + counting_rod_numerals, // 280 counting_rod = counting_rod_numerals, - mathematical_alphanumeric_symbols, // 272 + mathematical_alphanumeric_symbols, // 281 math_alphanum = mathematical_alphanumeric_symbols, - sutton_signwriting, // 273 - glagolitic_supplement, // 274 + sutton_signwriting, // 282 + latin_extended_g, // 283 + latin_ext_g = latin_extended_g, + glagolitic_supplement, // 284 glagolitic_sup = glagolitic_supplement, - nyiakeng_puachue_hmong, // 275 - wancho, // 276 - mende_kikakui, // 277 - adlam, // 278 - indic_siyaq_numbers, // 279 - ottoman_siyaq_numbers, // 280 - arabic_mathematical_alphabetic_symbols, // 281 + nyiakeng_puachue_hmong, // 285 + toto, // 286 + wancho, // 287 + ethiopic_extended_b, // 288 + ethiopic_ext_b = ethiopic_extended_b, + mende_kikakui, // 289 + adlam, // 290 + indic_siyaq_numbers, // 291 + ottoman_siyaq_numbers, // 292 + arabic_mathematical_alphabetic_symbols, // 293 arabic_math = arabic_mathematical_alphabetic_symbols, - mahjong_tiles, // 282 + mahjong_tiles, // 294 mahjong = mahjong_tiles, - domino_tiles, // 283 + domino_tiles, // 295 domino = domino_tiles, - playing_cards, // 284 - enclosed_alphanumeric_supplement, // 285 + playing_cards, // 296 + enclosed_alphanumeric_supplement, // 297 enclosed_alphanum_sup = enclosed_alphanumeric_supplement, - enclosed_ideographic_supplement, // 286 + enclosed_ideographic_supplement, // 298 enclosed_ideographic_sup = enclosed_ideographic_supplement, - miscellaneous_symbols_and_pictographs, // 287 + miscellaneous_symbols_and_pictographs, // 299 misc_pictographs = miscellaneous_symbols_and_pictographs, - emoticons, // 288 - ornamental_dingbats, // 289 - transport_and_map_symbols, // 290 + emoticons, // 300 + ornamental_dingbats, // 301 + transport_and_map_symbols, // 302 transport_and_map = transport_and_map_symbols, - alchemical_symbols, // 291 + alchemical_symbols, // 303 alchemical = alchemical_symbols, - geometric_shapes_extended, // 292 + geometric_shapes_extended, // 304 geometric_shapes_ext = geometric_shapes_extended, - supplemental_arrows_c, // 293 + supplemental_arrows_c, // 305 sup_arrows_c = supplemental_arrows_c, - supplemental_symbols_and_pictographs, // 294 + supplemental_symbols_and_pictographs, // 306 sup_symbols_and_pictographs = supplemental_symbols_and_pictographs, - chess_symbols, // 295 - symbols_and_pictographs_extended_a, // 296 + chess_symbols, // 307 + symbols_and_pictographs_extended_a, // 308 symbols_and_pictographs_ext_a = symbols_and_pictographs_extended_a, - symbols_for_legacy_computing, // 297 - cjk_unified_ideographs_extension_b, // 298 + symbols_for_legacy_computing, // 309 + cjk_unified_ideographs_extension_b, // 310 cjk_ext_b = cjk_unified_ideographs_extension_b, - cjk_unified_ideographs_extension_c, // 299 + cjk_unified_ideographs_extension_c, // 311 cjk_ext_c = cjk_unified_ideographs_extension_c, - cjk_unified_ideographs_extension_d, // 300 + cjk_unified_ideographs_extension_d, // 312 cjk_ext_d = cjk_unified_ideographs_extension_d, - cjk_unified_ideographs_extension_e, // 301 + cjk_unified_ideographs_extension_e, // 313 cjk_ext_e = cjk_unified_ideographs_extension_e, - cjk_unified_ideographs_extension_f, // 302 + cjk_unified_ideographs_extension_f, // 314 cjk_ext_f = cjk_unified_ideographs_extension_f, - cjk_compatibility_ideographs_supplement, // 303 + cjk_compatibility_ideographs_supplement, // 315 cjk_compat_ideographs_sup = cjk_compatibility_ideographs_supplement, - cjk_unified_ideographs_extension_g, // 304 + cjk_unified_ideographs_extension_g, // 316 cjk_ext_g = cjk_unified_ideographs_extension_g, - tags, // 305 - variation_selectors_supplement, // 306 + tags, // 317 + variation_selectors_supplement, // 318 vs_sup = variation_selectors_supplement, - supplementary_private_use_area_a, // 307 + supplementary_private_use_area_a, // 319 sup_pua_a = supplementary_private_use_area_a, - supplementary_private_use_area_b, // 308 + supplementary_private_use_area_b, // 320 sup_pua_b = supplementary_private_use_area_b, __max }; @@ -989,275 +1009,284 @@ enum class script { chorasmian = chrs, copt, // 24 coptic = copt, - cprt, // 25 + cpmn, // 25 + cypro_minoan = cpmn, + cprt, // 26 cypriot = cprt, - cyrl, // 26 + cyrl, // 27 cyrillic = cyrl, - deva, // 27 + deva, // 28 devanagari = deva, - diak, // 28 + diak, // 29 dives_akuru = diak, - dogr, // 29 + dogr, // 30 dogra = dogr, - dsrt, // 30 + dsrt, // 31 deseret = dsrt, - dupl, // 31 + dupl, // 32 duployan = dupl, - egyp, // 32 + egyp, // 33 egyptian_hieroglyphs = egyp, - elba, // 33 + elba, // 34 elbasan = elba, - elym, // 34 + elym, // 35 elymaic = elym, - ethi, // 35 + ethi, // 36 ethiopic = ethi, - geor, // 36 + geor, // 37 georgian = geor, - glag, // 37 + glag, // 38 glagolitic = glag, - gong, // 38 + gong, // 39 gunjala_gondi = gong, - gonm, // 39 + gonm, // 40 masaram_gondi = gonm, - goth, // 40 + goth, // 41 gothic = goth, - gran, // 41 + gran, // 42 grantha = gran, - grek, // 42 + grek, // 43 greek = grek, - gujr, // 43 + gujr, // 44 gujarati = gujr, - guru, // 44 + guru, // 45 gurmukhi = guru, - hang, // 45 + hang, // 46 hangul = hang, - hani, // 46 + hani, // 47 han = hani, - hano, // 47 + hano, // 48 hanunoo = hano, - hatr, // 48 + hatr, // 49 hatran = hatr, - hebr, // 49 + hebr, // 50 hebrew = hebr, - hira, // 50 + hira, // 51 hiragana = hira, - hluw, // 51 + hluw, // 52 anatolian_hieroglyphs = hluw, - hmng, // 52 + hmng, // 53 pahawh_hmong = hmng, - hmnp, // 53 + hmnp, // 54 nyiakeng_puachue_hmong = hmnp, - hrkt, // 54 + hrkt, // 55 katakana_or_hiragana = hrkt, - hung, // 55 + hung, // 56 old_hungarian = hung, - ital, // 56 + ital, // 57 old_italic = ital, - java, // 57 + java, // 58 javanese = java, - kali, // 58 + kali, // 59 kayah_li = kali, - kana, // 59 + kana, // 60 katakana = kana, - khar, // 60 + khar, // 61 kharoshthi = khar, - khmr, // 61 + khmr, // 62 khmer = khmr, - khoj, // 62 + khoj, // 63 khojki = khoj, - kits, // 63 + kits, // 64 khitan_small_script = kits, - knda, // 64 + knda, // 65 kannada = knda, - kthi, // 65 + kthi, // 66 kaithi = kthi, - lana, // 66 + lana, // 67 tai_tham = lana, - laoo, // 67 + laoo, // 68 lao = laoo, - latn, // 68 + latn, // 69 latin = latn, - lepc, // 69 + lepc, // 70 lepcha = lepc, - limb, // 70 + limb, // 71 limbu = limb, - lina, // 71 + lina, // 72 linear_a = lina, - linb, // 72 + linb, // 73 linear_b = linb, - lisu, // 73 - lyci, // 74 + lisu, // 74 + lyci, // 75 lycian = lyci, - lydi, // 75 + lydi, // 76 lydian = lydi, - mahj, // 76 + mahj, // 77 mahajani = mahj, - maka, // 77 + maka, // 78 makasar = maka, - mand, // 78 + mand, // 79 mandaic = mand, - mani, // 79 + mani, // 80 manichaean = mani, - marc, // 80 + marc, // 81 marchen = marc, - medf, // 81 + medf, // 82 medefaidrin = medf, - mend, // 82 + mend, // 83 mende_kikakui = mend, - merc, // 83 + merc, // 84 meroitic_cursive = merc, - mero, // 84 + mero, // 85 meroitic_hieroglyphs = mero, - mlym, // 85 + mlym, // 86 malayalam = mlym, - modi, // 86 - mong, // 87 + modi, // 87 + mong, // 88 mongolian = mong, - mroo, // 88 + mroo, // 89 mro = mroo, - mtei, // 89 + mtei, // 90 meetei_mayek = mtei, - mult, // 90 + mult, // 91 multani = mult, - mymr, // 91 + mymr, // 92 myanmar = mymr, - nand, // 92 + nand, // 93 nandinagari = nand, - narb, // 93 + narb, // 94 old_north_arabian = narb, - nbat, // 94 + nbat, // 95 nabataean = nbat, - newa, // 95 - nkoo, // 96 + newa, // 96 + nkoo, // 97 nko = nkoo, - nshu, // 97 + nshu, // 98 nushu = nshu, - ogam, // 98 + ogam, // 99 ogham = ogam, - olck, // 99 + olck, // 100 ol_chiki = olck, - orkh, // 100 + orkh, // 101 old_turkic = orkh, - orya, // 101 + orya, // 102 oriya = orya, - osge, // 102 + osge, // 103 osage = osge, - osma, // 103 + osma, // 104 osmanya = osma, - palm, // 104 + ougr, // 105 + old_uyghur = ougr, + palm, // 106 palmyrene = palm, - pauc, // 105 + pauc, // 107 pau_cin_hau = pauc, - perm, // 106 + perm, // 108 old_permic = perm, - phag, // 107 + phag, // 109 phags_pa = phag, - phli, // 108 + phli, // 110 inscriptional_pahlavi = phli, - phlp, // 109 + phlp, // 111 psalter_pahlavi = phlp, - phnx, // 110 + phnx, // 112 phoenician = phnx, - plrd, // 111 + plrd, // 113 miao = plrd, - prti, // 112 + prti, // 114 inscriptional_parthian = prti, - rjng, // 113 + rjng, // 115 rejang = rjng, - rohg, // 114 + rohg, // 116 hanifi_rohingya = rohg, - runr, // 115 + runr, // 117 runic = runr, - samr, // 116 + samr, // 118 samaritan = samr, - sarb, // 117 + sarb, // 119 old_south_arabian = sarb, - saur, // 118 + saur, // 120 saurashtra = saur, - sgnw, // 119 + sgnw, // 121 signwriting = sgnw, - shaw, // 120 + shaw, // 122 shavian = shaw, - shrd, // 121 + shrd, // 123 sharada = shrd, - sidd, // 122 + sidd, // 124 siddham = sidd, - sind, // 123 + sind, // 125 khudawadi = sind, - sinh, // 124 + sinh, // 126 sinhala = sinh, - sogd, // 125 + sogd, // 127 sogdian = sogd, - sogo, // 126 + sogo, // 128 old_sogdian = sogo, - sora, // 127 + sora, // 129 sora_sompeng = sora, - soyo, // 128 + soyo, // 130 soyombo = soyo, - sund, // 129 + sund, // 131 sundanese = sund, - sylo, // 130 + sylo, // 132 syloti_nagri = sylo, - syrc, // 131 + syrc, // 133 syriac = syrc, - tagb, // 132 + tagb, // 134 tagbanwa = tagb, - takr, // 133 + takr, // 135 takri = takr, - tale, // 134 + tale, // 136 tai_le = tale, - talu, // 135 + talu, // 137 new_tai_lue = talu, - taml, // 136 + taml, // 138 tamil = taml, - tang, // 137 + tang, // 139 tangut = tang, - tavt, // 138 + tavt, // 140 tai_viet = tavt, - telu, // 139 + telu, // 141 telugu = telu, - tfng, // 140 + tfng, // 142 tifinagh = tfng, - tglg, // 141 + tglg, // 143 tagalog = tglg, - thaa, // 142 + thaa, // 144 thaana = thaa, - thai, // 143 - tibt, // 144 + thai, // 145 + tibt, // 146 tibetan = tibt, - tirh, // 145 + tirh, // 147 tirhuta = tirh, - ugar, // 146 + tnsa, // 148 + tangsa = tnsa, + toto, // 149 + ugar, // 150 ugaritic = ugar, - vaii, // 147 + vaii, // 151 vai = vaii, - wara, // 148 + vith, // 152 + vithkuqi = vith, + wara, // 153 warang_citi = wara, - wcho, // 149 + wcho, // 154 wancho = wcho, - xpeo, // 150 + xpeo, // 155 old_persian = xpeo, - xsux, // 151 + xsux, // 156 cuneiform = xsux, - yezi, // 152 + yezi, // 157 yezidi = yezi, - yiii, // 153 + yiii, // 158 yi = yiii, - zanb, // 154 + zanb, // 159 zanabazar_square = zanb, - zinh, // 155 + zinh, // 160 inherited = zinh, - zyyy, // 156 + zyyy, // 161 common = zyyy, - zzzz, // 157 + zzzz, // 162 unknown = zzzz, max }; namespace detail::tables { static constexpr const char* age_strings[] = { - "unassigned", "1.1", "2.0", "2.1", "3.0", "3.1", "3.2", "4.0", - "4.1", "5.0", "5.1", "5.2", "6.0", "6.1", "6.2", "6.3", - "7.0", "8.0", "9.0", "10.0", "11.0", "12.0", "12.1", "13.0"}; + "unassigned", "1.1", "2.0", "2.1", "3.0", "3.1", "3.2", "4.0", "4.1", + "5.0", "5.1", "5.2", "6.0", "6.1", "6.2", "6.3", "7.0", "8.0", + "9.0", "10.0", "11.0", "12.0", "12.1", "13.0", "14.0"}; static constexpr compact_range age_data = { 0x00000001, 0x0001F604, 0x0001FA01, 0x00021804, 0x00022006, 0x00022107, 0x00022204, 0x00023407, 0x00023708, 0x00024209, 0x00025001, 0x0002A904, 0x0002AE07, 0x0002B001, @@ -1277,101 +1306,103 @@ namespace detail::tables { 0x0005A208, 0x0005A302, 0x0005B001, 0x0005BA09, 0x0005BB01, 0x0005C402, 0x0005C508, 0x0005C800, 0x0005D001, 0x0005EB00, 0x0005EF14, 0x0005F001, 0x0005F500, 0x00060007, 0x0006040D, 0x00060510, 0x0006060A, 0x00060B08, 0x00060C01, 0x00060D07, 0x0006160A, - 0x00061B01, 0x00061C0F, 0x00061D00, 0x00061E08, 0x00061F01, 0x0006200C, 0x00062101, + 0x00061B01, 0x00061C0F, 0x00061D18, 0x00061E08, 0x00061F01, 0x0006200C, 0x00062101, 0x00063B0A, 0x00064001, 0x00065304, 0x00065607, 0x00065908, 0x00065F0C, 0x00066001, 0x00066E06, 0x00067001, 0x0006B804, 0x0006BA01, 0x0006BF04, 0x0006C001, 0x0006CF04, 0x0006D001, 0x0006EE07, 0x0006F001, 0x0006FA04, 0x0006FF07, 0x00070004, 0x00070E00, 0x00070F04, 0x00072D07, 0x00073004, 0x00074B00, 0x00074D07, 0x00075008, 0x00076E0A, 0x00078004, 0x0007B106, 0x0007B200, 0x0007C009, 0x0007FB00, 0x0007FD14, 0x0008000B, 0x00082E00, 0x0008300B, 0x00083F00, 0x0008400C, 0x00085C00, 0x00085E0C, 0x00085F00, - 0x00086013, 0x00086B00, 0x0008A00D, 0x0008A110, 0x0008A20D, 0x0008AD10, 0x0008B311, - 0x0008B500, 0x0008B612, 0x0008BE17, 0x0008C800, 0x0008D314, 0x0008D412, 0x0008E311, - 0x0008E40D, 0x0008FF10, 0x0009000B, 0x00090101, 0x00090407, 0x00090501, 0x00093A0C, - 0x00093C01, 0x00094E0B, 0x00094F0C, 0x00095001, 0x0009550B, 0x0009560C, 0x00095801, - 0x0009710A, 0x0009730C, 0x00097810, 0x0009790B, 0x00097B09, 0x00097D08, 0x00097E09, - 0x00098010, 0x00098101, 0x00098400, 0x00098501, 0x00098D00, 0x00098F01, 0x00099100, - 0x00099301, 0x0009A900, 0x0009AA01, 0x0009B100, 0x0009B201, 0x0009B300, 0x0009B601, - 0x0009BA00, 0x0009BC01, 0x0009BD07, 0x0009BE01, 0x0009C500, 0x0009C701, 0x0009C900, - 0x0009CB01, 0x0009CE08, 0x0009CF00, 0x0009D701, 0x0009D800, 0x0009DC01, 0x0009DE00, - 0x0009DF01, 0x0009E400, 0x0009E601, 0x0009FB0B, 0x0009FC13, 0x0009FE14, 0x0009FF00, - 0x000A0107, 0x000A0201, 0x000A0307, 0x000A0400, 0x000A0501, 0x000A0B00, 0x000A0F01, - 0x000A1100, 0x000A1301, 0x000A2900, 0x000A2A01, 0x000A3100, 0x000A3201, 0x000A3400, - 0x000A3501, 0x000A3700, 0x000A3801, 0x000A3A00, 0x000A3C01, 0x000A3D00, 0x000A3E01, - 0x000A4300, 0x000A4701, 0x000A4900, 0x000A4B01, 0x000A4E00, 0x000A510A, 0x000A5200, - 0x000A5901, 0x000A5D00, 0x000A5E01, 0x000A5F00, 0x000A6601, 0x000A750A, 0x000A7614, - 0x000A7700, 0x000A8101, 0x000A8400, 0x000A8501, 0x000A8C07, 0x000A8D01, 0x000A8E00, - 0x000A8F01, 0x000A9200, 0x000A9301, 0x000AA900, 0x000AAA01, 0x000AB100, 0x000AB201, - 0x000AB400, 0x000AB501, 0x000ABA00, 0x000ABC01, 0x000AC600, 0x000AC701, 0x000ACA00, - 0x000ACB01, 0x000ACE00, 0x000AD001, 0x000AD100, 0x000AE001, 0x000AE107, 0x000AE400, - 0x000AE601, 0x000AF00D, 0x000AF107, 0x000AF200, 0x000AF911, 0x000AFA13, 0x000B0000, - 0x000B0101, 0x000B0400, 0x000B0501, 0x000B0D00, 0x000B0F01, 0x000B1100, 0x000B1301, - 0x000B2900, 0x000B2A01, 0x000B3100, 0x000B3201, 0x000B3400, 0x000B3507, 0x000B3601, - 0x000B3A00, 0x000B3C01, 0x000B440A, 0x000B4500, 0x000B4701, 0x000B4900, 0x000B4B01, - 0x000B4E00, 0x000B5517, 0x000B5601, 0x000B5800, 0x000B5C01, 0x000B5E00, 0x000B5F01, - 0x000B620A, 0x000B6400, 0x000B6601, 0x000B7107, 0x000B720C, 0x000B7800, 0x000B8201, - 0x000B8400, 0x000B8501, 0x000B8B00, 0x000B8E01, 0x000B9100, 0x000B9201, 0x000B9600, - 0x000B9901, 0x000B9B00, 0x000B9C01, 0x000B9D00, 0x000B9E01, 0x000BA000, 0x000BA301, - 0x000BA500, 0x000BA801, 0x000BAB00, 0x000BAE01, 0x000BB608, 0x000BB701, 0x000BBA00, - 0x000BBE01, 0x000BC300, 0x000BC601, 0x000BC900, 0x000BCA01, 0x000BCE00, 0x000BD00A, - 0x000BD100, 0x000BD701, 0x000BD800, 0x000BE608, 0x000BE701, 0x000BF307, 0x000BFB00, - 0x000C0010, 0x000C0101, 0x000C0414, 0x000C0501, 0x000C0D00, 0x000C0E01, 0x000C1100, - 0x000C1201, 0x000C2900, 0x000C2A01, 0x000C3410, 0x000C3501, 0x000C3A00, 0x000C3D0A, - 0x000C3E01, 0x000C4500, 0x000C4601, 0x000C4900, 0x000C4A01, 0x000C4E00, 0x000C5501, - 0x000C5700, 0x000C580A, 0x000C5A11, 0x000C5B00, 0x000C6001, 0x000C620A, 0x000C6400, - 0x000C6601, 0x000C7000, 0x000C7715, 0x000C780A, 0x000C8012, 0x000C8110, 0x000C8201, - 0x000C8414, 0x000C8501, 0x000C8D00, 0x000C8E01, 0x000C9100, 0x000C9201, 0x000CA900, - 0x000CAA01, 0x000CB400, 0x000CB501, 0x000CBA00, 0x000CBC07, 0x000CBE01, 0x000CC500, - 0x000CC601, 0x000CC900, 0x000CCA01, 0x000CCE00, 0x000CD501, 0x000CD700, 0x000CDE01, - 0x000CDF00, 0x000CE001, 0x000CE209, 0x000CE400, 0x000CE601, 0x000CF000, 0x000CF109, - 0x000CF300, 0x000D0013, 0x000D0110, 0x000D0201, 0x000D0417, 0x000D0501, 0x000D0D00, - 0x000D0E01, 0x000D1100, 0x000D1201, 0x000D290C, 0x000D2A01, 0x000D3A0C, 0x000D3B13, - 0x000D3D0A, 0x000D3E01, 0x000D440A, 0x000D4500, 0x000D4601, 0x000D4900, 0x000D4A01, - 0x000D4E0C, 0x000D4F12, 0x000D5000, 0x000D5412, 0x000D5701, 0x000D5812, 0x000D5F11, - 0x000D6001, 0x000D620A, 0x000D6400, 0x000D6601, 0x000D700A, 0x000D7612, 0x000D790A, - 0x000D8000, 0x000D8117, 0x000D8204, 0x000D8400, 0x000D8504, 0x000D9700, 0x000D9A04, - 0x000DB200, 0x000DB304, 0x000DBC00, 0x000DBD04, 0x000DBE00, 0x000DC004, 0x000DC700, - 0x000DCA04, 0x000DCB00, 0x000DCF04, 0x000DD500, 0x000DD604, 0x000DD700, 0x000DD804, - 0x000DE000, 0x000DE610, 0x000DF000, 0x000DF204, 0x000DF500, 0x000E0101, 0x000E3B00, - 0x000E3F01, 0x000E5C00, 0x000E8101, 0x000E8300, 0x000E8401, 0x000E8500, 0x000E8615, - 0x000E8701, 0x000E8915, 0x000E8A01, 0x000E8B00, 0x000E8C15, 0x000E8D01, 0x000E8E15, - 0x000E9401, 0x000E9815, 0x000E9901, 0x000EA015, 0x000EA101, 0x000EA400, 0x000EA501, - 0x000EA600, 0x000EA701, 0x000EA815, 0x000EAA01, 0x000EAC15, 0x000EAD01, 0x000EBA15, - 0x000EBB01, 0x000EBE00, 0x000EC001, 0x000EC500, 0x000EC601, 0x000EC700, 0x000EC801, - 0x000ECE00, 0x000ED001, 0x000EDA00, 0x000EDC01, 0x000EDE0D, 0x000EE000, 0x000F0002, - 0x000F4800, 0x000F4902, 0x000F6A04, 0x000F6B0A, 0x000F6D00, 0x000F7102, 0x000F8C0C, - 0x000F9002, 0x000F9604, 0x000F9702, 0x000F9800, 0x000F9902, 0x000FAE04, 0x000FB102, - 0x000FB804, 0x000FB902, 0x000FBA04, 0x000FBD00, 0x000FBE04, 0x000FCD00, 0x000FCE0A, - 0x000FCF04, 0x000FD008, 0x000FD20A, 0x000FD50B, 0x000FD90C, 0x000FDB00, 0x00100004, - 0x0010220A, 0x00102304, 0x0010280A, 0x00102904, 0x00102B0A, 0x00102C04, 0x0010330A, - 0x00103604, 0x00103A0A, 0x00104004, 0x00105A0A, 0x00109A0B, 0x00109E0A, 0x0010A001, - 0x0010C600, 0x0010C70D, 0x0010C800, 0x0010CD0D, 0x0010CE00, 0x0010D001, 0x0010F706, - 0x0010F908, 0x0010FB01, 0x0010FC08, 0x0010FD0D, 0x00110001, 0x00115A0B, 0x00115F01, - 0x0011A30B, 0x0011A801, 0x0011FA0B, 0x00120004, 0x00120708, 0x00120804, 0x00124708, - 0x00124804, 0x00124900, 0x00124A04, 0x00124E00, 0x00125004, 0x00125700, 0x00125804, - 0x00125900, 0x00125A04, 0x00125E00, 0x00126004, 0x00128708, 0x00128804, 0x00128900, - 0x00128A04, 0x00128E00, 0x00129004, 0x0012AF08, 0x0012B004, 0x0012B100, 0x0012B204, - 0x0012B600, 0x0012B804, 0x0012BF00, 0x0012C004, 0x0012C100, 0x0012C204, 0x0012C600, - 0x0012C804, 0x0012CF08, 0x0012D004, 0x0012D700, 0x0012D804, 0x0012EF08, 0x0012F004, - 0x00130F08, 0x00131004, 0x00131100, 0x00131204, 0x00131600, 0x00131804, 0x00131F08, - 0x00132004, 0x00134708, 0x00134804, 0x00135B00, 0x00135D0C, 0x00135F08, 0x00136104, - 0x00137D00, 0x00138008, 0x00139A00, 0x0013A004, 0x0013F511, 0x0013F600, 0x0013F811, - 0x0013FE00, 0x0014000B, 0x00140104, 0x0016770B, 0x00168004, 0x00169D00, 0x0016A004, - 0x0016F110, 0x0016F900, 0x00170006, 0x00170D00, 0x00170E06, 0x00171500, 0x00172006, - 0x00173700, 0x00174006, 0x00175400, 0x00176006, 0x00176D00, 0x00176E06, 0x00177100, - 0x00177206, 0x00177400, 0x00178004, 0x0017DD07, 0x0017DE00, 0x0017E004, 0x0017EA00, - 0x0017F007, 0x0017FA00, 0x00180004, 0x00180F00, 0x00181004, 0x00181A00, 0x00182004, - 0x00187814, 0x00187900, 0x00188004, 0x0018AA0A, 0x0018AB00, 0x0018B00B, 0x0018F600, - 0x00190007, 0x00191D10, 0x00191F00, 0x00192007, 0x00192C00, 0x00193007, 0x00193C00, - 0x00194007, 0x00194100, 0x00194407, 0x00196E00, 0x00197007, 0x00197500, 0x00198008, - 0x0019AA0B, 0x0019AC00, 0x0019B008, 0x0019CA00, 0x0019D008, 0x0019DA0B, 0x0019DB00, - 0x0019DE08, 0x0019E007, 0x001A0008, 0x001A1C00, 0x001A1E08, 0x001A200B, 0x001A5F00, - 0x001A600B, 0x001A7D00, 0x001A7F0B, 0x001A8A00, 0x001A900B, 0x001A9A00, 0x001AA00B, - 0x001AAE00, 0x001AB010, 0x001ABF17, 0x001AC100, 0x001B0009, 0x001B4C00, 0x001B5009, - 0x001B7D00, 0x001B800A, 0x001BAB0D, 0x001BAE0A, 0x001BBA0D, 0x001BC00C, 0x001BF400, + 0x00086013, 0x00086B00, 0x00087018, 0x00088F00, 0x00089018, 0x00089200, 0x00089818, + 0x0008A00D, 0x0008A110, 0x0008A20D, 0x0008AD10, 0x0008B311, 0x0008B518, 0x0008B612, + 0x0008BE17, 0x0008C818, 0x0008D314, 0x0008D412, 0x0008E311, 0x0008E40D, 0x0008FF10, + 0x0009000B, 0x00090101, 0x00090407, 0x00090501, 0x00093A0C, 0x00093C01, 0x00094E0B, + 0x00094F0C, 0x00095001, 0x0009550B, 0x0009560C, 0x00095801, 0x0009710A, 0x0009730C, + 0x00097810, 0x0009790B, 0x00097B09, 0x00097D08, 0x00097E09, 0x00098010, 0x00098101, + 0x00098400, 0x00098501, 0x00098D00, 0x00098F01, 0x00099100, 0x00099301, 0x0009A900, + 0x0009AA01, 0x0009B100, 0x0009B201, 0x0009B300, 0x0009B601, 0x0009BA00, 0x0009BC01, + 0x0009BD07, 0x0009BE01, 0x0009C500, 0x0009C701, 0x0009C900, 0x0009CB01, 0x0009CE08, + 0x0009CF00, 0x0009D701, 0x0009D800, 0x0009DC01, 0x0009DE00, 0x0009DF01, 0x0009E400, + 0x0009E601, 0x0009FB0B, 0x0009FC13, 0x0009FE14, 0x0009FF00, 0x000A0107, 0x000A0201, + 0x000A0307, 0x000A0400, 0x000A0501, 0x000A0B00, 0x000A0F01, 0x000A1100, 0x000A1301, + 0x000A2900, 0x000A2A01, 0x000A3100, 0x000A3201, 0x000A3400, 0x000A3501, 0x000A3700, + 0x000A3801, 0x000A3A00, 0x000A3C01, 0x000A3D00, 0x000A3E01, 0x000A4300, 0x000A4701, + 0x000A4900, 0x000A4B01, 0x000A4E00, 0x000A510A, 0x000A5200, 0x000A5901, 0x000A5D00, + 0x000A5E01, 0x000A5F00, 0x000A6601, 0x000A750A, 0x000A7614, 0x000A7700, 0x000A8101, + 0x000A8400, 0x000A8501, 0x000A8C07, 0x000A8D01, 0x000A8E00, 0x000A8F01, 0x000A9200, + 0x000A9301, 0x000AA900, 0x000AAA01, 0x000AB100, 0x000AB201, 0x000AB400, 0x000AB501, + 0x000ABA00, 0x000ABC01, 0x000AC600, 0x000AC701, 0x000ACA00, 0x000ACB01, 0x000ACE00, + 0x000AD001, 0x000AD100, 0x000AE001, 0x000AE107, 0x000AE400, 0x000AE601, 0x000AF00D, + 0x000AF107, 0x000AF200, 0x000AF911, 0x000AFA13, 0x000B0000, 0x000B0101, 0x000B0400, + 0x000B0501, 0x000B0D00, 0x000B0F01, 0x000B1100, 0x000B1301, 0x000B2900, 0x000B2A01, + 0x000B3100, 0x000B3201, 0x000B3400, 0x000B3507, 0x000B3601, 0x000B3A00, 0x000B3C01, + 0x000B440A, 0x000B4500, 0x000B4701, 0x000B4900, 0x000B4B01, 0x000B4E00, 0x000B5517, + 0x000B5601, 0x000B5800, 0x000B5C01, 0x000B5E00, 0x000B5F01, 0x000B620A, 0x000B6400, + 0x000B6601, 0x000B7107, 0x000B720C, 0x000B7800, 0x000B8201, 0x000B8400, 0x000B8501, + 0x000B8B00, 0x000B8E01, 0x000B9100, 0x000B9201, 0x000B9600, 0x000B9901, 0x000B9B00, + 0x000B9C01, 0x000B9D00, 0x000B9E01, 0x000BA000, 0x000BA301, 0x000BA500, 0x000BA801, + 0x000BAB00, 0x000BAE01, 0x000BB608, 0x000BB701, 0x000BBA00, 0x000BBE01, 0x000BC300, + 0x000BC601, 0x000BC900, 0x000BCA01, 0x000BCE00, 0x000BD00A, 0x000BD100, 0x000BD701, + 0x000BD800, 0x000BE608, 0x000BE701, 0x000BF307, 0x000BFB00, 0x000C0010, 0x000C0101, + 0x000C0414, 0x000C0501, 0x000C0D00, 0x000C0E01, 0x000C1100, 0x000C1201, 0x000C2900, + 0x000C2A01, 0x000C3410, 0x000C3501, 0x000C3A00, 0x000C3C18, 0x000C3D0A, 0x000C3E01, + 0x000C4500, 0x000C4601, 0x000C4900, 0x000C4A01, 0x000C4E00, 0x000C5501, 0x000C5700, + 0x000C580A, 0x000C5A11, 0x000C5B00, 0x000C5D18, 0x000C5E00, 0x000C6001, 0x000C620A, + 0x000C6400, 0x000C6601, 0x000C7000, 0x000C7715, 0x000C780A, 0x000C8012, 0x000C8110, + 0x000C8201, 0x000C8414, 0x000C8501, 0x000C8D00, 0x000C8E01, 0x000C9100, 0x000C9201, + 0x000CA900, 0x000CAA01, 0x000CB400, 0x000CB501, 0x000CBA00, 0x000CBC07, 0x000CBE01, + 0x000CC500, 0x000CC601, 0x000CC900, 0x000CCA01, 0x000CCE00, 0x000CD501, 0x000CD700, + 0x000CDD18, 0x000CDE01, 0x000CDF00, 0x000CE001, 0x000CE209, 0x000CE400, 0x000CE601, + 0x000CF000, 0x000CF109, 0x000CF300, 0x000D0013, 0x000D0110, 0x000D0201, 0x000D0417, + 0x000D0501, 0x000D0D00, 0x000D0E01, 0x000D1100, 0x000D1201, 0x000D290C, 0x000D2A01, + 0x000D3A0C, 0x000D3B13, 0x000D3D0A, 0x000D3E01, 0x000D440A, 0x000D4500, 0x000D4601, + 0x000D4900, 0x000D4A01, 0x000D4E0C, 0x000D4F12, 0x000D5000, 0x000D5412, 0x000D5701, + 0x000D5812, 0x000D5F11, 0x000D6001, 0x000D620A, 0x000D6400, 0x000D6601, 0x000D700A, + 0x000D7612, 0x000D790A, 0x000D8000, 0x000D8117, 0x000D8204, 0x000D8400, 0x000D8504, + 0x000D9700, 0x000D9A04, 0x000DB200, 0x000DB304, 0x000DBC00, 0x000DBD04, 0x000DBE00, + 0x000DC004, 0x000DC700, 0x000DCA04, 0x000DCB00, 0x000DCF04, 0x000DD500, 0x000DD604, + 0x000DD700, 0x000DD804, 0x000DE000, 0x000DE610, 0x000DF000, 0x000DF204, 0x000DF500, + 0x000E0101, 0x000E3B00, 0x000E3F01, 0x000E5C00, 0x000E8101, 0x000E8300, 0x000E8401, + 0x000E8500, 0x000E8615, 0x000E8701, 0x000E8915, 0x000E8A01, 0x000E8B00, 0x000E8C15, + 0x000E8D01, 0x000E8E15, 0x000E9401, 0x000E9815, 0x000E9901, 0x000EA015, 0x000EA101, + 0x000EA400, 0x000EA501, 0x000EA600, 0x000EA701, 0x000EA815, 0x000EAA01, 0x000EAC15, + 0x000EAD01, 0x000EBA15, 0x000EBB01, 0x000EBE00, 0x000EC001, 0x000EC500, 0x000EC601, + 0x000EC700, 0x000EC801, 0x000ECE00, 0x000ED001, 0x000EDA00, 0x000EDC01, 0x000EDE0D, + 0x000EE000, 0x000F0002, 0x000F4800, 0x000F4902, 0x000F6A04, 0x000F6B0A, 0x000F6D00, + 0x000F7102, 0x000F8C0C, 0x000F9002, 0x000F9604, 0x000F9702, 0x000F9800, 0x000F9902, + 0x000FAE04, 0x000FB102, 0x000FB804, 0x000FB902, 0x000FBA04, 0x000FBD00, 0x000FBE04, + 0x000FCD00, 0x000FCE0A, 0x000FCF04, 0x000FD008, 0x000FD20A, 0x000FD50B, 0x000FD90C, + 0x000FDB00, 0x00100004, 0x0010220A, 0x00102304, 0x0010280A, 0x00102904, 0x00102B0A, + 0x00102C04, 0x0010330A, 0x00103604, 0x00103A0A, 0x00104004, 0x00105A0A, 0x00109A0B, + 0x00109E0A, 0x0010A001, 0x0010C600, 0x0010C70D, 0x0010C800, 0x0010CD0D, 0x0010CE00, + 0x0010D001, 0x0010F706, 0x0010F908, 0x0010FB01, 0x0010FC08, 0x0010FD0D, 0x00110001, + 0x00115A0B, 0x00115F01, 0x0011A30B, 0x0011A801, 0x0011FA0B, 0x00120004, 0x00120708, + 0x00120804, 0x00124708, 0x00124804, 0x00124900, 0x00124A04, 0x00124E00, 0x00125004, + 0x00125700, 0x00125804, 0x00125900, 0x00125A04, 0x00125E00, 0x00126004, 0x00128708, + 0x00128804, 0x00128900, 0x00128A04, 0x00128E00, 0x00129004, 0x0012AF08, 0x0012B004, + 0x0012B100, 0x0012B204, 0x0012B600, 0x0012B804, 0x0012BF00, 0x0012C004, 0x0012C100, + 0x0012C204, 0x0012C600, 0x0012C804, 0x0012CF08, 0x0012D004, 0x0012D700, 0x0012D804, + 0x0012EF08, 0x0012F004, 0x00130F08, 0x00131004, 0x00131100, 0x00131204, 0x00131600, + 0x00131804, 0x00131F08, 0x00132004, 0x00134708, 0x00134804, 0x00135B00, 0x00135D0C, + 0x00135F08, 0x00136104, 0x00137D00, 0x00138008, 0x00139A00, 0x0013A004, 0x0013F511, + 0x0013F600, 0x0013F811, 0x0013FE00, 0x0014000B, 0x00140104, 0x0016770B, 0x00168004, + 0x00169D00, 0x0016A004, 0x0016F110, 0x0016F900, 0x00170006, 0x00170D18, 0x00170E06, + 0x00171518, 0x00171600, 0x00171F18, 0x00172006, 0x00173700, 0x00174006, 0x00175400, + 0x00176006, 0x00176D00, 0x00176E06, 0x00177100, 0x00177206, 0x00177400, 0x00178004, + 0x0017DD07, 0x0017DE00, 0x0017E004, 0x0017EA00, 0x0017F007, 0x0017FA00, 0x00180004, + 0x00180F18, 0x00181004, 0x00181A00, 0x00182004, 0x00187814, 0x00187900, 0x00188004, + 0x0018AA0A, 0x0018AB00, 0x0018B00B, 0x0018F600, 0x00190007, 0x00191D10, 0x00191F00, + 0x00192007, 0x00192C00, 0x00193007, 0x00193C00, 0x00194007, 0x00194100, 0x00194407, + 0x00196E00, 0x00197007, 0x00197500, 0x00198008, 0x0019AA0B, 0x0019AC00, 0x0019B008, + 0x0019CA00, 0x0019D008, 0x0019DA0B, 0x0019DB00, 0x0019DE08, 0x0019E007, 0x001A0008, + 0x001A1C00, 0x001A1E08, 0x001A200B, 0x001A5F00, 0x001A600B, 0x001A7D00, 0x001A7F0B, + 0x001A8A00, 0x001A900B, 0x001A9A00, 0x001AA00B, 0x001AAE00, 0x001AB010, 0x001ABF17, + 0x001AC118, 0x001ACF00, 0x001B0009, 0x001B4C18, 0x001B4D00, 0x001B5009, 0x001B7D18, + 0x001B7F00, 0x001B800A, 0x001BAB0D, 0x001BAE0A, 0x001BBA0D, 0x001BC00C, 0x001BF400, 0x001BFC0C, 0x001C000A, 0x001C3800, 0x001C3B0A, 0x001C4A00, 0x001C4D0A, 0x001C8012, 0x001C8900, 0x001C9014, 0x001CBB00, 0x001CBD14, 0x001CC00D, 0x001CC800, 0x001CD00B, 0x001CF30D, 0x001CF713, 0x001CF810, 0x001CFA15, 0x001CFB00, 0x001D0007, 0x001D6C08, - 0x001DC409, 0x001DCB0A, 0x001DE710, 0x001DF613, 0x001DFA00, 0x001DFB12, 0x001DFC0C, + 0x001DC409, 0x001DCB0A, 0x001DE710, 0x001DF613, 0x001DFA18, 0x001DFB12, 0x001DFC0C, 0x001DFD0B, 0x001DFE09, 0x001E0001, 0x001E9B02, 0x001E9C0A, 0x001EA001, 0x001EFA0A, 0x001F0001, 0x001F1600, 0x001F1801, 0x001F1E00, 0x001F2001, 0x001F4600, 0x001F4801, 0x001F4E00, 0x001F5001, 0x001F5800, 0x001F5901, 0x001F5A00, 0x001F5B01, 0x001F5C00, @@ -1382,204 +1413,216 @@ namespace detail::tables { 0x00205F06, 0x0020640A, 0x00206500, 0x0020660F, 0x00206A01, 0x00207106, 0x00207200, 0x00207401, 0x00208F00, 0x00209008, 0x0020950C, 0x00209D00, 0x0020A001, 0x0020AB02, 0x0020AC03, 0x0020AD04, 0x0020B006, 0x0020B208, 0x0020B60B, 0x0020B90C, 0x0020BA0E, - 0x0020BB10, 0x0020BE11, 0x0020BF13, 0x0020C000, 0x0020D001, 0x0020E204, 0x0020E406, - 0x0020EB08, 0x0020EC09, 0x0020F00A, 0x0020F100, 0x00210001, 0x00213904, 0x00213B07, - 0x00213C08, 0x00213D06, 0x00214C08, 0x00214D09, 0x00214F0A, 0x0021500B, 0x00215301, - 0x00218304, 0x00218409, 0x0021850A, 0x0021890B, 0x00218A11, 0x00218C00, 0x00219001, - 0x0021EB04, 0x0021F406, 0x00220001, 0x0022F206, 0x00230001, 0x00230104, 0x00230201, - 0x00237B04, 0x00237C06, 0x00237D04, 0x00239B06, 0x0023CF07, 0x0023D108, 0x0023DC09, - 0x0023E80B, 0x0023E90C, 0x0023F410, 0x0023FB12, 0x0023FF13, 0x00240001, 0x00242504, - 0x00242700, 0x00244001, 0x00244B00, 0x00246001, 0x0024EB06, 0x0024FF07, 0x00250001, - 0x00259606, 0x0025A001, 0x0025F004, 0x0025F806, 0x00260001, 0x00261407, 0x00261606, - 0x00261808, 0x00261904, 0x00261A01, 0x00267004, 0x00267206, 0x00267E08, 0x00268006, - 0x00268A07, 0x00269208, 0x00269D0A, 0x00269E0B, 0x0026A007, 0x0026A208, 0x0026B209, - 0x0026B30A, 0x0026BD0B, 0x0026C00A, 0x0026C40B, 0x0026CE0C, 0x0026CF0B, 0x0026E20C, - 0x0026E30B, 0x0026E40C, 0x0026E80B, 0x00270010, 0x00270101, 0x0027050C, 0x00270601, - 0x00270A0C, 0x00270C01, 0x0027280C, 0x00272901, 0x00274C0C, 0x00274D01, 0x00274E0C, - 0x00274F01, 0x0027530C, 0x00275601, 0x0027570B, 0x00275801, 0x00275F0C, 0x00276101, - 0x00276806, 0x00277601, 0x0027950C, 0x00279801, 0x0027B00C, 0x0027B101, 0x0027BF0C, - 0x0027C008, 0x0027C709, 0x0027CB0D, 0x0027CC0A, 0x0027CD0D, 0x0027CE0C, 0x0027D006, - 0x0027EC0A, 0x0027F006, 0x00280004, 0x00290006, 0x002B0007, 0x002B0E08, 0x002B1409, - 0x002B1B0A, 0x002B2009, 0x002B240A, 0x002B4D10, 0x002B500A, 0x002B550B, 0x002B5A10, - 0x002B7400, 0x002B7610, 0x002B9600, 0x002B9717, 0x002B9810, 0x002BBA14, 0x002BBD10, - 0x002BC915, 0x002BCA10, 0x002BD213, 0x002BD314, 0x002BEC11, 0x002BF014, 0x002BFF15, - 0x002C0008, 0x002C2F00, 0x002C3008, 0x002C5F00, 0x002C6009, 0x002C6D0A, 0x002C700B, - 0x002C710A, 0x002C7409, 0x002C780A, 0x002C7E0B, 0x002C8008, 0x002CEB0B, 0x002CF20D, - 0x002CF400, 0x002CF908, 0x002D2600, 0x002D270D, 0x002D2800, 0x002D2D0D, 0x002D2E00, - 0x002D3008, 0x002D660D, 0x002D6800, 0x002D6F08, 0x002D700C, 0x002D7100, 0x002D7F0C, - 0x002D8008, 0x002D9700, 0x002DA008, 0x002DA700, 0x002DA808, 0x002DAF00, 0x002DB008, - 0x002DB700, 0x002DB808, 0x002DBF00, 0x002DC008, 0x002DC700, 0x002DC808, 0x002DCF00, - 0x002DD008, 0x002DD700, 0x002DD808, 0x002DDF00, 0x002DE00A, 0x002E0008, 0x002E180A, - 0x002E1C08, 0x002E1E0A, 0x002E310B, 0x002E320D, 0x002E3C10, 0x002E4312, 0x002E4513, - 0x002E4A14, 0x002E4F15, 0x002E5017, 0x002E5300, 0x002E8004, 0x002E9A00, 0x002E9B04, - 0x002EF400, 0x002F0004, 0x002FD600, 0x002FF004, 0x002FFC00, 0x00300001, 0x00303804, - 0x00303B06, 0x00303E04, 0x00303F01, 0x00304000, 0x00304101, 0x00309506, 0x00309700, - 0x00309901, 0x00309F06, 0x0030A101, 0x0030FF06, 0x00310000, 0x00310501, 0x00312D0A, - 0x00312E13, 0x00312F14, 0x00313000, 0x00313101, 0x00318F00, 0x00319001, 0x0031A004, - 0x0031B80C, 0x0031BB17, 0x0031C008, 0x0031D00A, 0x0031E400, 0x0031F006, 0x00320001, - 0x00321D07, 0x00321F00, 0x00322001, 0x0032440B, 0x00325007, 0x00325106, 0x00326001, - 0x00327C07, 0x00327E08, 0x00327F01, 0x0032B106, 0x0032C001, 0x0032CC07, 0x0032D001, - 0x0032FF16, 0x00330001, 0x00337707, 0x00337B01, 0x0033DE07, 0x0033E001, 0x0033FF07, - 0x00340004, 0x004DB617, 0x004DC007, 0x004E0001, 0x009FA608, 0x009FBC0A, 0x009FC40B, - 0x009FCC0D, 0x009FCD11, 0x009FD613, 0x009FEB14, 0x009FF017, 0x009FFD00, 0x00A00004, - 0x00A48D00, 0x00A49004, 0x00A4A206, 0x00A4A404, 0x00A4B406, 0x00A4B504, 0x00A4C106, - 0x00A4C204, 0x00A4C506, 0x00A4C604, 0x00A4C700, 0x00A4D00B, 0x00A5000A, 0x00A62C00, - 0x00A6400A, 0x00A6600C, 0x00A6620A, 0x00A6740D, 0x00A67C0A, 0x00A69810, 0x00A69E11, - 0x00A69F0D, 0x00A6A00B, 0x00A6F800, 0x00A70008, 0x00A71709, 0x00A71B0A, 0x00A72009, - 0x00A7220A, 0x00A78D0C, 0x00A78F11, 0x00A7900C, 0x00A7920D, 0x00A79410, 0x00A7A00C, - 0x00A7AA0D, 0x00A7AB10, 0x00A7AE12, 0x00A7AF14, 0x00A7B010, 0x00A7B211, 0x00A7B814, - 0x00A7BA15, 0x00A7C000, 0x00A7C215, 0x00A7C717, 0x00A7CB00, 0x00A7F517, 0x00A7F710, - 0x00A7F80D, 0x00A7FA0C, 0x00A7FB0A, 0x00A80008, 0x00A82C17, 0x00A82D00, 0x00A8300B, - 0x00A83A00, 0x00A84009, 0x00A87800, 0x00A8800A, 0x00A8C512, 0x00A8C600, 0x00A8CE0A, - 0x00A8DA00, 0x00A8E00B, 0x00A8FC11, 0x00A8FE14, 0x00A9000A, 0x00A95400, 0x00A95F0A, - 0x00A9600B, 0x00A97D00, 0x00A9800B, 0x00A9CE00, 0x00A9CF0B, 0x00A9DA00, 0x00A9DE0B, - 0x00A9E010, 0x00A9FF00, 0x00AA000A, 0x00AA3700, 0x00AA400A, 0x00AA4E00, 0x00AA500A, - 0x00AA5A00, 0x00AA5C0A, 0x00AA600B, 0x00AA7C10, 0x00AA800B, 0x00AAC300, 0x00AADB0B, - 0x00AAE00D, 0x00AAF700, 0x00AB010C, 0x00AB0700, 0x00AB090C, 0x00AB0F00, 0x00AB110C, - 0x00AB1700, 0x00AB200C, 0x00AB2700, 0x00AB280C, 0x00AB2F00, 0x00AB3010, 0x00AB6011, - 0x00AB6410, 0x00AB6615, 0x00AB6817, 0x00AB6C00, 0x00AB7011, 0x00ABC00B, 0x00ABEE00, - 0x00ABF00B, 0x00ABFA00, 0x00AC0002, 0x00D7A400, 0x00D7B00B, 0x00D7C700, 0x00D7CB0B, - 0x00D7FC00, 0x00D80002, 0x00E00001, 0x00FA2E0D, 0x00FA3006, 0x00FA6B0B, 0x00FA6E00, - 0x00FA7008, 0x00FADA00, 0x00FB0001, 0x00FB0700, 0x00FB1301, 0x00FB1800, 0x00FB1D04, - 0x00FB1E01, 0x00FB3700, 0x00FB3801, 0x00FB3D00, 0x00FB3E01, 0x00FB3F00, 0x00FB4001, - 0x00FB4200, 0x00FB4301, 0x00FB4500, 0x00FB4601, 0x00FBB20C, 0x00FBC200, 0x00FBD301, - 0x00FD4000, 0x00FD5001, 0x00FD9000, 0x00FD9201, 0x00FDC800, 0x00FDF001, 0x00FDFC06, - 0x00FDFD07, 0x00FDFE00, 0x00FE0006, 0x00FE1008, 0x00FE1A00, 0x00FE2001, 0x00FE240A, - 0x00FE2710, 0x00FE2E11, 0x00FE3001, 0x00FE4506, 0x00FE4707, 0x00FE4901, 0x00FE5300, - 0x00FE5401, 0x00FE6700, 0x00FE6801, 0x00FE6C00, 0x00FE7001, 0x00FE7306, 0x00FE7401, - 0x00FE7500, 0x00FE7601, 0x00FEFD00, 0x00FEFF01, 0x00FF0000, 0x00FF0101, 0x00FF5F06, - 0x00FF6101, 0x00FFBF00, 0x00FFC201, 0x00FFC800, 0x00FFCA01, 0x00FFD000, 0x00FFD201, - 0x00FFD800, 0x00FFDA01, 0x00FFDD00, 0x00FFE001, 0x00FFE700, 0x00FFE801, 0x00FFEF00, - 0x00FFF904, 0x00FFFC03, 0x00FFFD01, 0x00FFFE00, 0x01000007, 0x01000C00, 0x01000D07, - 0x01002700, 0x01002807, 0x01003B00, 0x01003C07, 0x01003E00, 0x01003F07, 0x01004E00, - 0x01005007, 0x01005E00, 0x01008007, 0x0100FB00, 0x01010007, 0x01010300, 0x01010707, - 0x01013400, 0x01013707, 0x01014008, 0x01018B10, 0x01018D12, 0x01018F00, 0x0101900A, - 0x01019C17, 0x01019D00, 0x0101A010, 0x0101A100, 0x0101D00A, 0x0101FE00, 0x0102800A, - 0x01029D00, 0x0102A00A, 0x0102D100, 0x0102E010, 0x0102FC00, 0x01030005, 0x01031F10, - 0x01032005, 0x01032400, 0x01032D13, 0x01033005, 0x01034B00, 0x01035010, 0x01037B00, - 0x01038007, 0x01039E00, 0x01039F07, 0x0103A008, 0x0103C400, 0x0103C808, 0x0103D600, - 0x01040005, 0x01042607, 0x01042805, 0x01044E07, 0x01049E00, 0x0104A007, 0x0104AA00, - 0x0104B012, 0x0104D400, 0x0104D812, 0x0104FC00, 0x01050010, 0x01052800, 0x01053010, - 0x01056400, 0x01056F10, 0x01057000, 0x01060010, 0x01073700, 0x01074010, 0x01075600, - 0x01076010, 0x01076800, 0x01080007, 0x01080600, 0x01080807, 0x01080900, 0x01080A07, - 0x01083600, 0x01083707, 0x01083900, 0x01083C07, 0x01083D00, 0x01083F07, 0x0108400B, - 0x01085600, 0x0108570B, 0x01086010, 0x01089F00, 0x0108A710, 0x0108B000, 0x0108E011, - 0x0108F300, 0x0108F411, 0x0108F600, 0x0108FB11, 0x01090009, 0x01091A0B, 0x01091C00, - 0x01091F09, 0x0109200A, 0x01093A00, 0x01093F0A, 0x01094000, 0x0109800D, 0x0109B800, - 0x0109BC11, 0x0109BE0D, 0x0109C011, 0x0109D000, 0x0109D211, 0x010A0008, 0x010A0400, - 0x010A0508, 0x010A0700, 0x010A0C08, 0x010A1400, 0x010A1508, 0x010A1800, 0x010A1908, - 0x010A3414, 0x010A3600, 0x010A3808, 0x010A3B00, 0x010A3F08, 0x010A4814, 0x010A4900, - 0x010A5008, 0x010A5900, 0x010A600B, 0x010A8010, 0x010AA000, 0x010AC010, 0x010AE700, - 0x010AEB10, 0x010AF700, 0x010B000B, 0x010B3600, 0x010B390B, 0x010B5600, 0x010B580B, - 0x010B7300, 0x010B780B, 0x010B8010, 0x010B9200, 0x010B9910, 0x010B9D00, 0x010BA910, - 0x010BB000, 0x010C000B, 0x010C4900, 0x010C8011, 0x010CB300, 0x010CC011, 0x010CF300, - 0x010CFA11, 0x010D0014, 0x010D2800, 0x010D3014, 0x010D3A00, 0x010E600B, 0x010E7F00, - 0x010E8017, 0x010EAA00, 0x010EAB17, 0x010EAE00, 0x010EB017, 0x010EB200, 0x010F0014, - 0x010F2800, 0x010F3014, 0x010F5A00, 0x010FB017, 0x010FCC00, 0x010FE015, 0x010FF700, - 0x0110000C, 0x01104E00, 0x0110520C, 0x01107000, 0x01107F10, 0x0110800B, 0x0110C200, - 0x0110CD14, 0x0110CE00, 0x0110D00D, 0x0110E900, 0x0110F00D, 0x0110FA00, 0x0111000D, - 0x01113500, 0x0111360D, 0x01114414, 0x01114717, 0x01114800, 0x01115010, 0x01117700, - 0x0111800D, 0x0111C911, 0x0111CD10, 0x0111CE17, 0x0111D00D, 0x0111DA10, 0x0111DB11, - 0x0111E000, 0x0111E110, 0x0111F500, 0x01120010, 0x01121200, 0x01121310, 0x01123E12, - 0x01123F00, 0x01128011, 0x01128700, 0x01128811, 0x01128900, 0x01128A11, 0x01128E00, - 0x01128F11, 0x01129E00, 0x01129F11, 0x0112AA00, 0x0112B010, 0x0112EB00, 0x0112F010, - 0x0112FA00, 0x01130011, 0x01130110, 0x01130400, 0x01130510, 0x01130D00, 0x01130F10, - 0x01131100, 0x01131310, 0x01132900, 0x01132A10, 0x01133100, 0x01133210, 0x01133400, - 0x01133510, 0x01133A00, 0x01133B14, 0x01133C10, 0x01134500, 0x01134710, 0x01134900, - 0x01134B10, 0x01134E00, 0x01135011, 0x01135100, 0x01135710, 0x01135800, 0x01135D10, - 0x01136400, 0x01136610, 0x01136D00, 0x01137010, 0x01137500, 0x01140012, 0x01145A17, - 0x01145B12, 0x01145C00, 0x01145D12, 0x01145E14, 0x01145F15, 0x01146017, 0x01146200, - 0x01148010, 0x0114C800, 0x0114D010, 0x0114DA00, 0x01158010, 0x0115B600, 0x0115B810, - 0x0115CA11, 0x0115DE00, 0x01160010, 0x01164500, 0x01165010, 0x01165A00, 0x01166012, - 0x01166D00, 0x0116800D, 0x0116B815, 0x0116B900, 0x0116C00D, 0x0116CA00, 0x01170011, - 0x01171A14, 0x01171B00, 0x01171D11, 0x01172C00, 0x01173011, 0x01174000, 0x01180014, - 0x01183C00, 0x0118A010, 0x0118F300, 0x0118FF10, 0x01190017, 0x01190700, 0x01190917, - 0x01190A00, 0x01190C17, 0x01191400, 0x01191517, 0x01191700, 0x01191817, 0x01193600, - 0x01193717, 0x01193900, 0x01193B17, 0x01194700, 0x01195017, 0x01195A00, 0x0119A015, - 0x0119A800, 0x0119AA15, 0x0119D800, 0x0119DA15, 0x0119E500, 0x011A0013, 0x011A4800, - 0x011A5013, 0x011A8415, 0x011A8613, 0x011A9D14, 0x011A9E13, 0x011AA300, 0x011AC010, - 0x011AF900, 0x011C0012, 0x011C0900, 0x011C0A12, 0x011C3700, 0x011C3812, 0x011C4600, - 0x011C5012, 0x011C6D00, 0x011C7012, 0x011C9000, 0x011C9212, 0x011CA800, 0x011CA912, - 0x011CB700, 0x011D0013, 0x011D0700, 0x011D0813, 0x011D0A00, 0x011D0B13, 0x011D3700, - 0x011D3A13, 0x011D3B00, 0x011D3C13, 0x011D3E00, 0x011D3F13, 0x011D4800, 0x011D5013, - 0x011D5A00, 0x011D6014, 0x011D6600, 0x011D6714, 0x011D6900, 0x011D6A14, 0x011D8F00, - 0x011D9014, 0x011D9200, 0x011D9314, 0x011D9900, 0x011DA014, 0x011DAA00, 0x011EE014, - 0x011EF900, 0x011FB017, 0x011FB100, 0x011FC015, 0x011FF200, 0x011FFF15, 0x01200009, - 0x01236F10, 0x01239911, 0x01239A00, 0x01240009, 0x01246310, 0x01246F00, 0x01247009, - 0x01247410, 0x01247500, 0x01248011, 0x01254400, 0x0130000B, 0x01342F00, 0x01343015, + 0x0020BB10, 0x0020BE11, 0x0020BF13, 0x0020C018, 0x0020C100, 0x0020D001, 0x0020E204, + 0x0020E406, 0x0020EB08, 0x0020EC09, 0x0020F00A, 0x0020F100, 0x00210001, 0x00213904, + 0x00213B07, 0x00213C08, 0x00213D06, 0x00214C08, 0x00214D09, 0x00214F0A, 0x0021500B, + 0x00215301, 0x00218304, 0x00218409, 0x0021850A, 0x0021890B, 0x00218A11, 0x00218C00, + 0x00219001, 0x0021EB04, 0x0021F406, 0x00220001, 0x0022F206, 0x00230001, 0x00230104, + 0x00230201, 0x00237B04, 0x00237C06, 0x00237D04, 0x00239B06, 0x0023CF07, 0x0023D108, + 0x0023DC09, 0x0023E80B, 0x0023E90C, 0x0023F410, 0x0023FB12, 0x0023FF13, 0x00240001, + 0x00242504, 0x00242700, 0x00244001, 0x00244B00, 0x00246001, 0x0024EB06, 0x0024FF07, + 0x00250001, 0x00259606, 0x0025A001, 0x0025F004, 0x0025F806, 0x00260001, 0x00261407, + 0x00261606, 0x00261808, 0x00261904, 0x00261A01, 0x00267004, 0x00267206, 0x00267E08, + 0x00268006, 0x00268A07, 0x00269208, 0x00269D0A, 0x00269E0B, 0x0026A007, 0x0026A208, + 0x0026B209, 0x0026B30A, 0x0026BD0B, 0x0026C00A, 0x0026C40B, 0x0026CE0C, 0x0026CF0B, + 0x0026E20C, 0x0026E30B, 0x0026E40C, 0x0026E80B, 0x00270010, 0x00270101, 0x0027050C, + 0x00270601, 0x00270A0C, 0x00270C01, 0x0027280C, 0x00272901, 0x00274C0C, 0x00274D01, + 0x00274E0C, 0x00274F01, 0x0027530C, 0x00275601, 0x0027570B, 0x00275801, 0x00275F0C, + 0x00276101, 0x00276806, 0x00277601, 0x0027950C, 0x00279801, 0x0027B00C, 0x0027B101, + 0x0027BF0C, 0x0027C008, 0x0027C709, 0x0027CB0D, 0x0027CC0A, 0x0027CD0D, 0x0027CE0C, + 0x0027D006, 0x0027EC0A, 0x0027F006, 0x00280004, 0x00290006, 0x002B0007, 0x002B0E08, + 0x002B1409, 0x002B1B0A, 0x002B2009, 0x002B240A, 0x002B4D10, 0x002B500A, 0x002B550B, + 0x002B5A10, 0x002B7400, 0x002B7610, 0x002B9600, 0x002B9717, 0x002B9810, 0x002BBA14, + 0x002BBD10, 0x002BC915, 0x002BCA10, 0x002BD213, 0x002BD314, 0x002BEC11, 0x002BF014, + 0x002BFF15, 0x002C0008, 0x002C2F18, 0x002C3008, 0x002C5F18, 0x002C6009, 0x002C6D0A, + 0x002C700B, 0x002C710A, 0x002C7409, 0x002C780A, 0x002C7E0B, 0x002C8008, 0x002CEB0B, + 0x002CF20D, 0x002CF400, 0x002CF908, 0x002D2600, 0x002D270D, 0x002D2800, 0x002D2D0D, + 0x002D2E00, 0x002D3008, 0x002D660D, 0x002D6800, 0x002D6F08, 0x002D700C, 0x002D7100, + 0x002D7F0C, 0x002D8008, 0x002D9700, 0x002DA008, 0x002DA700, 0x002DA808, 0x002DAF00, + 0x002DB008, 0x002DB700, 0x002DB808, 0x002DBF00, 0x002DC008, 0x002DC700, 0x002DC808, + 0x002DCF00, 0x002DD008, 0x002DD700, 0x002DD808, 0x002DDF00, 0x002DE00A, 0x002E0008, + 0x002E180A, 0x002E1C08, 0x002E1E0A, 0x002E310B, 0x002E320D, 0x002E3C10, 0x002E4312, + 0x002E4513, 0x002E4A14, 0x002E4F15, 0x002E5017, 0x002E5318, 0x002E5E00, 0x002E8004, + 0x002E9A00, 0x002E9B04, 0x002EF400, 0x002F0004, 0x002FD600, 0x002FF004, 0x002FFC00, + 0x00300001, 0x00303804, 0x00303B06, 0x00303E04, 0x00303F01, 0x00304000, 0x00304101, + 0x00309506, 0x00309700, 0x00309901, 0x00309F06, 0x0030A101, 0x0030FF06, 0x00310000, + 0x00310501, 0x00312D0A, 0x00312E13, 0x00312F14, 0x00313000, 0x00313101, 0x00318F00, + 0x00319001, 0x0031A004, 0x0031B80C, 0x0031BB17, 0x0031C008, 0x0031D00A, 0x0031E400, + 0x0031F006, 0x00320001, 0x00321D07, 0x00321F00, 0x00322001, 0x0032440B, 0x00325007, + 0x00325106, 0x00326001, 0x00327C07, 0x00327E08, 0x00327F01, 0x0032B106, 0x0032C001, + 0x0032CC07, 0x0032D001, 0x0032FF16, 0x00330001, 0x00337707, 0x00337B01, 0x0033DE07, + 0x0033E001, 0x0033FF07, 0x00340004, 0x004DB617, 0x004DC007, 0x004E0001, 0x009FA608, + 0x009FBC0A, 0x009FC40B, 0x009FCC0D, 0x009FCD11, 0x009FD613, 0x009FEB14, 0x009FF017, + 0x009FFD18, 0x00A00004, 0x00A48D00, 0x00A49004, 0x00A4A206, 0x00A4A404, 0x00A4B406, + 0x00A4B504, 0x00A4C106, 0x00A4C204, 0x00A4C506, 0x00A4C604, 0x00A4C700, 0x00A4D00B, + 0x00A5000A, 0x00A62C00, 0x00A6400A, 0x00A6600C, 0x00A6620A, 0x00A6740D, 0x00A67C0A, + 0x00A69810, 0x00A69E11, 0x00A69F0D, 0x00A6A00B, 0x00A6F800, 0x00A70008, 0x00A71709, + 0x00A71B0A, 0x00A72009, 0x00A7220A, 0x00A78D0C, 0x00A78F11, 0x00A7900C, 0x00A7920D, + 0x00A79410, 0x00A7A00C, 0x00A7AA0D, 0x00A7AB10, 0x00A7AE12, 0x00A7AF14, 0x00A7B010, + 0x00A7B211, 0x00A7B814, 0x00A7BA15, 0x00A7C018, 0x00A7C215, 0x00A7C717, 0x00A7CB00, + 0x00A7D018, 0x00A7D200, 0x00A7D318, 0x00A7D400, 0x00A7D518, 0x00A7DA00, 0x00A7F218, + 0x00A7F517, 0x00A7F710, 0x00A7F80D, 0x00A7FA0C, 0x00A7FB0A, 0x00A80008, 0x00A82C17, + 0x00A82D00, 0x00A8300B, 0x00A83A00, 0x00A84009, 0x00A87800, 0x00A8800A, 0x00A8C512, + 0x00A8C600, 0x00A8CE0A, 0x00A8DA00, 0x00A8E00B, 0x00A8FC11, 0x00A8FE14, 0x00A9000A, + 0x00A95400, 0x00A95F0A, 0x00A9600B, 0x00A97D00, 0x00A9800B, 0x00A9CE00, 0x00A9CF0B, + 0x00A9DA00, 0x00A9DE0B, 0x00A9E010, 0x00A9FF00, 0x00AA000A, 0x00AA3700, 0x00AA400A, + 0x00AA4E00, 0x00AA500A, 0x00AA5A00, 0x00AA5C0A, 0x00AA600B, 0x00AA7C10, 0x00AA800B, + 0x00AAC300, 0x00AADB0B, 0x00AAE00D, 0x00AAF700, 0x00AB010C, 0x00AB0700, 0x00AB090C, + 0x00AB0F00, 0x00AB110C, 0x00AB1700, 0x00AB200C, 0x00AB2700, 0x00AB280C, 0x00AB2F00, + 0x00AB3010, 0x00AB6011, 0x00AB6410, 0x00AB6615, 0x00AB6817, 0x00AB6C00, 0x00AB7011, + 0x00ABC00B, 0x00ABEE00, 0x00ABF00B, 0x00ABFA00, 0x00AC0002, 0x00D7A400, 0x00D7B00B, + 0x00D7C700, 0x00D7CB0B, 0x00D7FC00, 0x00D80002, 0x00E00001, 0x00FA2E0D, 0x00FA3006, + 0x00FA6B0B, 0x00FA6E00, 0x00FA7008, 0x00FADA00, 0x00FB0001, 0x00FB0700, 0x00FB1301, + 0x00FB1800, 0x00FB1D04, 0x00FB1E01, 0x00FB3700, 0x00FB3801, 0x00FB3D00, 0x00FB3E01, + 0x00FB3F00, 0x00FB4001, 0x00FB4200, 0x00FB4301, 0x00FB4500, 0x00FB4601, 0x00FBB20C, + 0x00FBC218, 0x00FBC300, 0x00FBD301, 0x00FD4018, 0x00FD5001, 0x00FD9000, 0x00FD9201, + 0x00FDC800, 0x00FDCF18, 0x00FDD000, 0x00FDF001, 0x00FDFC06, 0x00FDFD07, 0x00FDFE18, + 0x00FE0006, 0x00FE1008, 0x00FE1A00, 0x00FE2001, 0x00FE240A, 0x00FE2710, 0x00FE2E11, + 0x00FE3001, 0x00FE4506, 0x00FE4707, 0x00FE4901, 0x00FE5300, 0x00FE5401, 0x00FE6700, + 0x00FE6801, 0x00FE6C00, 0x00FE7001, 0x00FE7306, 0x00FE7401, 0x00FE7500, 0x00FE7601, + 0x00FEFD00, 0x00FEFF01, 0x00FF0000, 0x00FF0101, 0x00FF5F06, 0x00FF6101, 0x00FFBF00, + 0x00FFC201, 0x00FFC800, 0x00FFCA01, 0x00FFD000, 0x00FFD201, 0x00FFD800, 0x00FFDA01, + 0x00FFDD00, 0x00FFE001, 0x00FFE700, 0x00FFE801, 0x00FFEF00, 0x00FFF904, 0x00FFFC03, + 0x00FFFD01, 0x00FFFE00, 0x01000007, 0x01000C00, 0x01000D07, 0x01002700, 0x01002807, + 0x01003B00, 0x01003C07, 0x01003E00, 0x01003F07, 0x01004E00, 0x01005007, 0x01005E00, + 0x01008007, 0x0100FB00, 0x01010007, 0x01010300, 0x01010707, 0x01013400, 0x01013707, + 0x01014008, 0x01018B10, 0x01018D12, 0x01018F00, 0x0101900A, 0x01019C17, 0x01019D00, + 0x0101A010, 0x0101A100, 0x0101D00A, 0x0101FE00, 0x0102800A, 0x01029D00, 0x0102A00A, + 0x0102D100, 0x0102E010, 0x0102FC00, 0x01030005, 0x01031F10, 0x01032005, 0x01032400, + 0x01032D13, 0x01033005, 0x01034B00, 0x01035010, 0x01037B00, 0x01038007, 0x01039E00, + 0x01039F07, 0x0103A008, 0x0103C400, 0x0103C808, 0x0103D600, 0x01040005, 0x01042607, + 0x01042805, 0x01044E07, 0x01049E00, 0x0104A007, 0x0104AA00, 0x0104B012, 0x0104D400, + 0x0104D812, 0x0104FC00, 0x01050010, 0x01052800, 0x01053010, 0x01056400, 0x01056F10, + 0x01057018, 0x01057B00, 0x01057C18, 0x01058B00, 0x01058C18, 0x01059300, 0x01059418, + 0x01059600, 0x01059718, 0x0105A200, 0x0105A318, 0x0105B200, 0x0105B318, 0x0105BA00, + 0x0105BB18, 0x0105BD00, 0x01060010, 0x01073700, 0x01074010, 0x01075600, 0x01076010, + 0x01076800, 0x01078018, 0x01078600, 0x01078718, 0x0107B100, 0x0107B218, 0x0107BB00, + 0x01080007, 0x01080600, 0x01080807, 0x01080900, 0x01080A07, 0x01083600, 0x01083707, + 0x01083900, 0x01083C07, 0x01083D00, 0x01083F07, 0x0108400B, 0x01085600, 0x0108570B, + 0x01086010, 0x01089F00, 0x0108A710, 0x0108B000, 0x0108E011, 0x0108F300, 0x0108F411, + 0x0108F600, 0x0108FB11, 0x01090009, 0x01091A0B, 0x01091C00, 0x01091F09, 0x0109200A, + 0x01093A00, 0x01093F0A, 0x01094000, 0x0109800D, 0x0109B800, 0x0109BC11, 0x0109BE0D, + 0x0109C011, 0x0109D000, 0x0109D211, 0x010A0008, 0x010A0400, 0x010A0508, 0x010A0700, + 0x010A0C08, 0x010A1400, 0x010A1508, 0x010A1800, 0x010A1908, 0x010A3414, 0x010A3600, + 0x010A3808, 0x010A3B00, 0x010A3F08, 0x010A4814, 0x010A4900, 0x010A5008, 0x010A5900, + 0x010A600B, 0x010A8010, 0x010AA000, 0x010AC010, 0x010AE700, 0x010AEB10, 0x010AF700, + 0x010B000B, 0x010B3600, 0x010B390B, 0x010B5600, 0x010B580B, 0x010B7300, 0x010B780B, + 0x010B8010, 0x010B9200, 0x010B9910, 0x010B9D00, 0x010BA910, 0x010BB000, 0x010C000B, + 0x010C4900, 0x010C8011, 0x010CB300, 0x010CC011, 0x010CF300, 0x010CFA11, 0x010D0014, + 0x010D2800, 0x010D3014, 0x010D3A00, 0x010E600B, 0x010E7F00, 0x010E8017, 0x010EAA00, + 0x010EAB17, 0x010EAE00, 0x010EB017, 0x010EB200, 0x010F0014, 0x010F2800, 0x010F3014, + 0x010F5A00, 0x010F7018, 0x010F8A00, 0x010FB017, 0x010FCC00, 0x010FE015, 0x010FF700, + 0x0110000C, 0x01104E00, 0x0110520C, 0x01107018, 0x01107600, 0x01107F10, 0x0110800B, + 0x0110C218, 0x0110C300, 0x0110CD14, 0x0110CE00, 0x0110D00D, 0x0110E900, 0x0110F00D, + 0x0110FA00, 0x0111000D, 0x01113500, 0x0111360D, 0x01114414, 0x01114717, 0x01114800, + 0x01115010, 0x01117700, 0x0111800D, 0x0111C911, 0x0111CD10, 0x0111CE17, 0x0111D00D, + 0x0111DA10, 0x0111DB11, 0x0111E000, 0x0111E110, 0x0111F500, 0x01120010, 0x01121200, + 0x01121310, 0x01123E12, 0x01123F00, 0x01128011, 0x01128700, 0x01128811, 0x01128900, + 0x01128A11, 0x01128E00, 0x01128F11, 0x01129E00, 0x01129F11, 0x0112AA00, 0x0112B010, + 0x0112EB00, 0x0112F010, 0x0112FA00, 0x01130011, 0x01130110, 0x01130400, 0x01130510, + 0x01130D00, 0x01130F10, 0x01131100, 0x01131310, 0x01132900, 0x01132A10, 0x01133100, + 0x01133210, 0x01133400, 0x01133510, 0x01133A00, 0x01133B14, 0x01133C10, 0x01134500, + 0x01134710, 0x01134900, 0x01134B10, 0x01134E00, 0x01135011, 0x01135100, 0x01135710, + 0x01135800, 0x01135D10, 0x01136400, 0x01136610, 0x01136D00, 0x01137010, 0x01137500, + 0x01140012, 0x01145A17, 0x01145B12, 0x01145C00, 0x01145D12, 0x01145E14, 0x01145F15, + 0x01146017, 0x01146200, 0x01148010, 0x0114C800, 0x0114D010, 0x0114DA00, 0x01158010, + 0x0115B600, 0x0115B810, 0x0115CA11, 0x0115DE00, 0x01160010, 0x01164500, 0x01165010, + 0x01165A00, 0x01166012, 0x01166D00, 0x0116800D, 0x0116B815, 0x0116B918, 0x0116BA00, + 0x0116C00D, 0x0116CA00, 0x01170011, 0x01171A14, 0x01171B00, 0x01171D11, 0x01172C00, + 0x01173011, 0x01174018, 0x01174700, 0x01180014, 0x01183C00, 0x0118A010, 0x0118F300, + 0x0118FF10, 0x01190017, 0x01190700, 0x01190917, 0x01190A00, 0x01190C17, 0x01191400, + 0x01191517, 0x01191700, 0x01191817, 0x01193600, 0x01193717, 0x01193900, 0x01193B17, + 0x01194700, 0x01195017, 0x01195A00, 0x0119A015, 0x0119A800, 0x0119AA15, 0x0119D800, + 0x0119DA15, 0x0119E500, 0x011A0013, 0x011A4800, 0x011A5013, 0x011A8415, 0x011A8613, + 0x011A9D14, 0x011A9E13, 0x011AA300, 0x011AB018, 0x011AC010, 0x011AF900, 0x011C0012, + 0x011C0900, 0x011C0A12, 0x011C3700, 0x011C3812, 0x011C4600, 0x011C5012, 0x011C6D00, + 0x011C7012, 0x011C9000, 0x011C9212, 0x011CA800, 0x011CA912, 0x011CB700, 0x011D0013, + 0x011D0700, 0x011D0813, 0x011D0A00, 0x011D0B13, 0x011D3700, 0x011D3A13, 0x011D3B00, + 0x011D3C13, 0x011D3E00, 0x011D3F13, 0x011D4800, 0x011D5013, 0x011D5A00, 0x011D6014, + 0x011D6600, 0x011D6714, 0x011D6900, 0x011D6A14, 0x011D8F00, 0x011D9014, 0x011D9200, + 0x011D9314, 0x011D9900, 0x011DA014, 0x011DAA00, 0x011EE014, 0x011EF900, 0x011FB017, + 0x011FB100, 0x011FC015, 0x011FF200, 0x011FFF15, 0x01200009, 0x01236F10, 0x01239911, + 0x01239A00, 0x01240009, 0x01246310, 0x01246F00, 0x01247009, 0x01247410, 0x01247500, + 0x01248011, 0x01254400, 0x012F9018, 0x012FF300, 0x0130000B, 0x01342F00, 0x01343015, 0x01343900, 0x01440011, 0x01464700, 0x0168000C, 0x016A3900, 0x016A4010, 0x016A5F00, - 0x016A6010, 0x016A6A00, 0x016A6E10, 0x016A7000, 0x016AD010, 0x016AEE00, 0x016AF010, - 0x016AF600, 0x016B0010, 0x016B4600, 0x016B5010, 0x016B5A00, 0x016B5B10, 0x016B6200, - 0x016B6310, 0x016B7800, 0x016B7D10, 0x016B9000, 0x016E4014, 0x016E9B00, 0x016F000D, - 0x016F4515, 0x016F4B00, 0x016F4F15, 0x016F500D, 0x016F7F15, 0x016F8800, 0x016F8F0D, - 0x016FA000, 0x016FE012, 0x016FE113, 0x016FE215, 0x016FE417, 0x016FE500, 0x016FF017, - 0x016FF200, 0x01700012, 0x0187ED14, 0x0187F215, 0x0187F800, 0x01880012, 0x018AF317, - 0x018CD600, 0x018D0017, 0x018D0900, 0x01B0000C, 0x01B00213, 0x01B11F00, 0x01B15015, - 0x01B15300, 0x01B16415, 0x01B16800, 0x01B17013, 0x01B2FC00, 0x01BC0010, 0x01BC6B00, - 0x01BC7010, 0x01BC7D00, 0x01BC8010, 0x01BC8900, 0x01BC9010, 0x01BC9A00, 0x01BC9C10, - 0x01BCA400, 0x01D00005, 0x01D0F600, 0x01D10005, 0x01D12700, 0x01D1290A, 0x01D12A05, - 0x01D1DE11, 0x01D1E900, 0x01D20008, 0x01D24600, 0x01D2E014, 0x01D2F400, 0x01D30007, - 0x01D35700, 0x01D36009, 0x01D37214, 0x01D37900, 0x01D40005, 0x01D45500, 0x01D45605, - 0x01D49D00, 0x01D49E05, 0x01D4A000, 0x01D4A205, 0x01D4A300, 0x01D4A505, 0x01D4A700, - 0x01D4A905, 0x01D4AD00, 0x01D4AE05, 0x01D4BA00, 0x01D4BB05, 0x01D4BC00, 0x01D4BD05, - 0x01D4C107, 0x01D4C205, 0x01D4C400, 0x01D4C505, 0x01D50600, 0x01D50705, 0x01D50B00, - 0x01D50D05, 0x01D51500, 0x01D51605, 0x01D51D00, 0x01D51E05, 0x01D53A00, 0x01D53B05, - 0x01D53F00, 0x01D54005, 0x01D54500, 0x01D54605, 0x01D54700, 0x01D54A05, 0x01D55100, - 0x01D55205, 0x01D6A408, 0x01D6A600, 0x01D6A805, 0x01D7CA09, 0x01D7CC00, 0x01D7CE05, - 0x01D80011, 0x01DA8C00, 0x01DA9B11, 0x01DAA000, 0x01DAA111, 0x01DAB000, 0x01E00012, - 0x01E00700, 0x01E00812, 0x01E01900, 0x01E01B12, 0x01E02200, 0x01E02312, 0x01E02500, - 0x01E02612, 0x01E02B00, 0x01E10015, 0x01E12D00, 0x01E13015, 0x01E13E00, 0x01E14015, - 0x01E14A00, 0x01E14E15, 0x01E15000, 0x01E2C015, 0x01E2FA00, 0x01E2FF15, 0x01E30000, - 0x01E80010, 0x01E8C500, 0x01E8C710, 0x01E8D700, 0x01E90012, 0x01E94B15, 0x01E94C00, - 0x01E95012, 0x01E95A00, 0x01E95E12, 0x01E96000, 0x01EC7114, 0x01ECB500, 0x01ED0115, - 0x01ED3E00, 0x01EE000D, 0x01EE0400, 0x01EE050D, 0x01EE2000, 0x01EE210D, 0x01EE2300, - 0x01EE240D, 0x01EE2500, 0x01EE270D, 0x01EE2800, 0x01EE290D, 0x01EE3300, 0x01EE340D, - 0x01EE3800, 0x01EE390D, 0x01EE3A00, 0x01EE3B0D, 0x01EE3C00, 0x01EE420D, 0x01EE4300, - 0x01EE470D, 0x01EE4800, 0x01EE490D, 0x01EE4A00, 0x01EE4B0D, 0x01EE4C00, 0x01EE4D0D, - 0x01EE5000, 0x01EE510D, 0x01EE5300, 0x01EE540D, 0x01EE5500, 0x01EE570D, 0x01EE5800, - 0x01EE590D, 0x01EE5A00, 0x01EE5B0D, 0x01EE5C00, 0x01EE5D0D, 0x01EE5E00, 0x01EE5F0D, - 0x01EE6000, 0x01EE610D, 0x01EE6300, 0x01EE640D, 0x01EE6500, 0x01EE670D, 0x01EE6B00, - 0x01EE6C0D, 0x01EE7300, 0x01EE740D, 0x01EE7800, 0x01EE790D, 0x01EE7D00, 0x01EE7E0D, - 0x01EE7F00, 0x01EE800D, 0x01EE8A00, 0x01EE8B0D, 0x01EE9C00, 0x01EEA10D, 0x01EEA400, - 0x01EEA50D, 0x01EEAA00, 0x01EEAB0D, 0x01EEBC00, 0x01EEF00D, 0x01EEF200, 0x01F0000A, - 0x01F02C00, 0x01F0300A, 0x01F09400, 0x01F0A00C, 0x01F0AF00, 0x01F0B10C, 0x01F0BF10, - 0x01F0C000, 0x01F0C10C, 0x01F0D000, 0x01F0D10C, 0x01F0E010, 0x01F0F600, 0x01F1000B, - 0x01F10B10, 0x01F10D17, 0x01F1100B, 0x01F12F14, 0x01F1300C, 0x01F1310B, 0x01F1320C, - 0x01F13D0B, 0x01F13E0C, 0x01F13F0B, 0x01F1400C, 0x01F1420B, 0x01F1430C, 0x01F1460B, - 0x01F1470C, 0x01F14A0B, 0x01F14F0C, 0x01F1570B, 0x01F1580C, 0x01F15F0B, 0x01F1600C, - 0x01F16A0D, 0x01F16C15, 0x01F16D17, 0x01F1700C, 0x01F1790B, 0x01F17A0C, 0x01F17B0B, - 0x01F17D0C, 0x01F17F0B, 0x01F1800C, 0x01F18A0B, 0x01F18E0C, 0x01F1900B, 0x01F1910C, - 0x01F19B12, 0x01F1AD17, 0x01F1AE00, 0x01F1E60C, 0x01F2000B, 0x01F2010C, 0x01F20300, - 0x01F2100B, 0x01F2320C, 0x01F23B12, 0x01F23C00, 0x01F2400B, 0x01F24900, 0x01F2500C, - 0x01F25200, 0x01F26013, 0x01F26600, 0x01F3000C, 0x01F32110, 0x01F32D11, 0x01F3300C, - 0x01F33610, 0x01F3370C, 0x01F37D10, 0x01F37E11, 0x01F3800C, 0x01F39410, 0x01F3A00C, - 0x01F3C510, 0x01F3C60C, 0x01F3CB10, 0x01F3CF11, 0x01F3D410, 0x01F3E00C, 0x01F3F110, - 0x01F3F811, 0x01F4000C, 0x01F43F10, 0x01F4400C, 0x01F44110, 0x01F4420C, 0x01F4F810, - 0x01F4F90C, 0x01F4FD10, 0x01F4FF11, 0x01F5000C, 0x01F53E10, 0x01F5400D, 0x01F54410, - 0x01F54B11, 0x01F5500C, 0x01F56810, 0x01F57A12, 0x01F57B10, 0x01F5A412, 0x01F5A510, - 0x01F5FB0C, 0x01F6000D, 0x01F6010C, 0x01F6110D, 0x01F6120C, 0x01F6150D, 0x01F6160C, - 0x01F6170D, 0x01F6180C, 0x01F6190D, 0x01F61A0C, 0x01F61B0D, 0x01F61C0C, 0x01F61F0D, - 0x01F6200C, 0x01F6260D, 0x01F6280C, 0x01F62C0D, 0x01F62D0C, 0x01F62E0D, 0x01F6300C, - 0x01F6340D, 0x01F6350C, 0x01F64110, 0x01F64311, 0x01F6450C, 0x01F65010, 0x01F6800C, - 0x01F6C610, 0x01F6D011, 0x01F6D112, 0x01F6D313, 0x01F6D515, 0x01F6D617, 0x01F6D800, - 0x01F6E010, 0x01F6ED00, 0x01F6F010, 0x01F6F412, 0x01F6F713, 0x01F6F914, 0x01F6FA15, - 0x01F6FB17, 0x01F6FD00, 0x01F7000C, 0x01F77400, 0x01F78010, 0x01F7D514, 0x01F7D900, - 0x01F7E015, 0x01F7EC00, 0x01F80010, 0x01F80C00, 0x01F81010, 0x01F84800, 0x01F85010, - 0x01F85A00, 0x01F86010, 0x01F88800, 0x01F89010, 0x01F8AE00, 0x01F8B017, 0x01F8B200, - 0x01F90013, 0x01F90C17, 0x01F90D15, 0x01F91011, 0x01F91912, 0x01F91F13, 0x01F92012, - 0x01F92813, 0x01F93012, 0x01F93113, 0x01F93312, 0x01F93F15, 0x01F94012, 0x01F94C13, - 0x01F94D14, 0x01F95012, 0x01F95F13, 0x01F96C14, 0x01F97115, 0x01F97217, 0x01F97314, - 0x01F97717, 0x01F97900, 0x01F97A14, 0x01F97B15, 0x01F97C14, 0x01F98011, 0x01F98512, - 0x01F99213, 0x01F99814, 0x01F9A317, 0x01F9A515, 0x01F9AB17, 0x01F9AE15, 0x01F9B014, - 0x01F9BA15, 0x01F9C011, 0x01F9C114, 0x01F9C315, 0x01F9CB17, 0x01F9CC00, 0x01F9CD15, - 0x01F9D013, 0x01F9E714, 0x01FA0015, 0x01FA5400, 0x01FA6014, 0x01FA6E00, 0x01FA7015, - 0x01FA7417, 0x01FA7500, 0x01FA7815, 0x01FA7B00, 0x01FA8015, 0x01FA8317, 0x01FA8700, - 0x01FA9015, 0x01FA9617, 0x01FAA900, 0x01FAB017, 0x01FAB700, 0x01FAC017, 0x01FAC300, - 0x01FAD017, 0x01FAD700, 0x01FB0017, 0x01FB9300, 0x01FB9417, 0x01FBCB00, 0x01FBF017, - 0x01FBFA00, 0x02000005, 0x02A6D717, 0x02A6DE00, 0x02A7000B, 0x02B73500, 0x02B7400C, - 0x02B81E00, 0x02B82011, 0x02CEA200, 0x02CEB013, 0x02EBE100, 0x02F80005, 0x02FA1E00, - 0x03000017, 0x03134B00, 0x0E000105, 0x0E000200, 0x0E002005, 0x0E008000, 0x0E010007, - 0x0E01F000, 0x0F000002, 0x0FFFFE00, 0x10000002, 0x10FFFE00, 0xFFFFFFFF}; + 0x016A6010, 0x016A6A00, 0x016A6E10, 0x016A7018, 0x016ABF00, 0x016AC018, 0x016ACA00, + 0x016AD010, 0x016AEE00, 0x016AF010, 0x016AF600, 0x016B0010, 0x016B4600, 0x016B5010, + 0x016B5A00, 0x016B5B10, 0x016B6200, 0x016B6310, 0x016B7800, 0x016B7D10, 0x016B9000, + 0x016E4014, 0x016E9B00, 0x016F000D, 0x016F4515, 0x016F4B00, 0x016F4F15, 0x016F500D, + 0x016F7F15, 0x016F8800, 0x016F8F0D, 0x016FA000, 0x016FE012, 0x016FE113, 0x016FE215, + 0x016FE417, 0x016FE500, 0x016FF017, 0x016FF200, 0x01700012, 0x0187ED14, 0x0187F215, + 0x0187F800, 0x01880012, 0x018AF317, 0x018CD600, 0x018D0017, 0x018D0900, 0x01AFF018, + 0x01AFF400, 0x01AFF518, 0x01AFFC00, 0x01AFFD18, 0x01AFFF00, 0x01B0000C, 0x01B00213, + 0x01B11F18, 0x01B12300, 0x01B15015, 0x01B15300, 0x01B16415, 0x01B16800, 0x01B17013, + 0x01B2FC00, 0x01BC0010, 0x01BC6B00, 0x01BC7010, 0x01BC7D00, 0x01BC8010, 0x01BC8900, + 0x01BC9010, 0x01BC9A00, 0x01BC9C10, 0x01BCA400, 0x01CF0018, 0x01CF2E00, 0x01CF3018, + 0x01CF4700, 0x01CF5018, 0x01CFC400, 0x01D00005, 0x01D0F600, 0x01D10005, 0x01D12700, + 0x01D1290A, 0x01D12A05, 0x01D1DE11, 0x01D1E918, 0x01D1EB00, 0x01D20008, 0x01D24600, + 0x01D2E014, 0x01D2F400, 0x01D30007, 0x01D35700, 0x01D36009, 0x01D37214, 0x01D37900, + 0x01D40005, 0x01D45500, 0x01D45605, 0x01D49D00, 0x01D49E05, 0x01D4A000, 0x01D4A205, + 0x01D4A300, 0x01D4A505, 0x01D4A700, 0x01D4A905, 0x01D4AD00, 0x01D4AE05, 0x01D4BA00, + 0x01D4BB05, 0x01D4BC00, 0x01D4BD05, 0x01D4C107, 0x01D4C205, 0x01D4C400, 0x01D4C505, + 0x01D50600, 0x01D50705, 0x01D50B00, 0x01D50D05, 0x01D51500, 0x01D51605, 0x01D51D00, + 0x01D51E05, 0x01D53A00, 0x01D53B05, 0x01D53F00, 0x01D54005, 0x01D54500, 0x01D54605, + 0x01D54700, 0x01D54A05, 0x01D55100, 0x01D55205, 0x01D6A408, 0x01D6A600, 0x01D6A805, + 0x01D7CA09, 0x01D7CC00, 0x01D7CE05, 0x01D80011, 0x01DA8C00, 0x01DA9B11, 0x01DAA000, + 0x01DAA111, 0x01DAB000, 0x01DF0018, 0x01DF1F00, 0x01E00012, 0x01E00700, 0x01E00812, + 0x01E01900, 0x01E01B12, 0x01E02200, 0x01E02312, 0x01E02500, 0x01E02612, 0x01E02B00, + 0x01E10015, 0x01E12D00, 0x01E13015, 0x01E13E00, 0x01E14015, 0x01E14A00, 0x01E14E15, + 0x01E15000, 0x01E29018, 0x01E2AF00, 0x01E2C015, 0x01E2FA00, 0x01E2FF15, 0x01E30000, + 0x01E7E018, 0x01E7E700, 0x01E7E818, 0x01E7EC00, 0x01E7ED18, 0x01E7EF00, 0x01E7F018, + 0x01E7FF00, 0x01E80010, 0x01E8C500, 0x01E8C710, 0x01E8D700, 0x01E90012, 0x01E94B15, + 0x01E94C00, 0x01E95012, 0x01E95A00, 0x01E95E12, 0x01E96000, 0x01EC7114, 0x01ECB500, + 0x01ED0115, 0x01ED3E00, 0x01EE000D, 0x01EE0400, 0x01EE050D, 0x01EE2000, 0x01EE210D, + 0x01EE2300, 0x01EE240D, 0x01EE2500, 0x01EE270D, 0x01EE2800, 0x01EE290D, 0x01EE3300, + 0x01EE340D, 0x01EE3800, 0x01EE390D, 0x01EE3A00, 0x01EE3B0D, 0x01EE3C00, 0x01EE420D, + 0x01EE4300, 0x01EE470D, 0x01EE4800, 0x01EE490D, 0x01EE4A00, 0x01EE4B0D, 0x01EE4C00, + 0x01EE4D0D, 0x01EE5000, 0x01EE510D, 0x01EE5300, 0x01EE540D, 0x01EE5500, 0x01EE570D, + 0x01EE5800, 0x01EE590D, 0x01EE5A00, 0x01EE5B0D, 0x01EE5C00, 0x01EE5D0D, 0x01EE5E00, + 0x01EE5F0D, 0x01EE6000, 0x01EE610D, 0x01EE6300, 0x01EE640D, 0x01EE6500, 0x01EE670D, + 0x01EE6B00, 0x01EE6C0D, 0x01EE7300, 0x01EE740D, 0x01EE7800, 0x01EE790D, 0x01EE7D00, + 0x01EE7E0D, 0x01EE7F00, 0x01EE800D, 0x01EE8A00, 0x01EE8B0D, 0x01EE9C00, 0x01EEA10D, + 0x01EEA400, 0x01EEA50D, 0x01EEAA00, 0x01EEAB0D, 0x01EEBC00, 0x01EEF00D, 0x01EEF200, + 0x01F0000A, 0x01F02C00, 0x01F0300A, 0x01F09400, 0x01F0A00C, 0x01F0AF00, 0x01F0B10C, + 0x01F0BF10, 0x01F0C000, 0x01F0C10C, 0x01F0D000, 0x01F0D10C, 0x01F0E010, 0x01F0F600, + 0x01F1000B, 0x01F10B10, 0x01F10D17, 0x01F1100B, 0x01F12F14, 0x01F1300C, 0x01F1310B, + 0x01F1320C, 0x01F13D0B, 0x01F13E0C, 0x01F13F0B, 0x01F1400C, 0x01F1420B, 0x01F1430C, + 0x01F1460B, 0x01F1470C, 0x01F14A0B, 0x01F14F0C, 0x01F1570B, 0x01F1580C, 0x01F15F0B, + 0x01F1600C, 0x01F16A0D, 0x01F16C15, 0x01F16D17, 0x01F1700C, 0x01F1790B, 0x01F17A0C, + 0x01F17B0B, 0x01F17D0C, 0x01F17F0B, 0x01F1800C, 0x01F18A0B, 0x01F18E0C, 0x01F1900B, + 0x01F1910C, 0x01F19B12, 0x01F1AD17, 0x01F1AE00, 0x01F1E60C, 0x01F2000B, 0x01F2010C, + 0x01F20300, 0x01F2100B, 0x01F2320C, 0x01F23B12, 0x01F23C00, 0x01F2400B, 0x01F24900, + 0x01F2500C, 0x01F25200, 0x01F26013, 0x01F26600, 0x01F3000C, 0x01F32110, 0x01F32D11, + 0x01F3300C, 0x01F33610, 0x01F3370C, 0x01F37D10, 0x01F37E11, 0x01F3800C, 0x01F39410, + 0x01F3A00C, 0x01F3C510, 0x01F3C60C, 0x01F3CB10, 0x01F3CF11, 0x01F3D410, 0x01F3E00C, + 0x01F3F110, 0x01F3F811, 0x01F4000C, 0x01F43F10, 0x01F4400C, 0x01F44110, 0x01F4420C, + 0x01F4F810, 0x01F4F90C, 0x01F4FD10, 0x01F4FF11, 0x01F5000C, 0x01F53E10, 0x01F5400D, + 0x01F54410, 0x01F54B11, 0x01F5500C, 0x01F56810, 0x01F57A12, 0x01F57B10, 0x01F5A412, + 0x01F5A510, 0x01F5FB0C, 0x01F6000D, 0x01F6010C, 0x01F6110D, 0x01F6120C, 0x01F6150D, + 0x01F6160C, 0x01F6170D, 0x01F6180C, 0x01F6190D, 0x01F61A0C, 0x01F61B0D, 0x01F61C0C, + 0x01F61F0D, 0x01F6200C, 0x01F6260D, 0x01F6280C, 0x01F62C0D, 0x01F62D0C, 0x01F62E0D, + 0x01F6300C, 0x01F6340D, 0x01F6350C, 0x01F64110, 0x01F64311, 0x01F6450C, 0x01F65010, + 0x01F6800C, 0x01F6C610, 0x01F6D011, 0x01F6D112, 0x01F6D313, 0x01F6D515, 0x01F6D617, + 0x01F6D800, 0x01F6DD18, 0x01F6E010, 0x01F6ED00, 0x01F6F010, 0x01F6F412, 0x01F6F713, + 0x01F6F914, 0x01F6FA15, 0x01F6FB17, 0x01F6FD00, 0x01F7000C, 0x01F77400, 0x01F78010, + 0x01F7D514, 0x01F7D900, 0x01F7E015, 0x01F7EC00, 0x01F7F018, 0x01F7F100, 0x01F80010, + 0x01F80C00, 0x01F81010, 0x01F84800, 0x01F85010, 0x01F85A00, 0x01F86010, 0x01F88800, + 0x01F89010, 0x01F8AE00, 0x01F8B017, 0x01F8B200, 0x01F90013, 0x01F90C17, 0x01F90D15, + 0x01F91011, 0x01F91912, 0x01F91F13, 0x01F92012, 0x01F92813, 0x01F93012, 0x01F93113, + 0x01F93312, 0x01F93F15, 0x01F94012, 0x01F94C13, 0x01F94D14, 0x01F95012, 0x01F95F13, + 0x01F96C14, 0x01F97115, 0x01F97217, 0x01F97314, 0x01F97717, 0x01F97918, 0x01F97A14, + 0x01F97B15, 0x01F97C14, 0x01F98011, 0x01F98512, 0x01F99213, 0x01F99814, 0x01F9A317, + 0x01F9A515, 0x01F9AB17, 0x01F9AE15, 0x01F9B014, 0x01F9BA15, 0x01F9C011, 0x01F9C114, + 0x01F9C315, 0x01F9CB17, 0x01F9CC18, 0x01F9CD15, 0x01F9D013, 0x01F9E714, 0x01FA0015, + 0x01FA5400, 0x01FA6014, 0x01FA6E00, 0x01FA7015, 0x01FA7417, 0x01FA7500, 0x01FA7815, + 0x01FA7B18, 0x01FA7D00, 0x01FA8015, 0x01FA8317, 0x01FA8700, 0x01FA9015, 0x01FA9617, + 0x01FAA918, 0x01FAAD00, 0x01FAB017, 0x01FAB718, 0x01FABB00, 0x01FAC017, 0x01FAC318, + 0x01FAC600, 0x01FAD017, 0x01FAD718, 0x01FADA00, 0x01FAE018, 0x01FAE800, 0x01FAF018, + 0x01FAF700, 0x01FB0017, 0x01FB9300, 0x01FB9417, 0x01FBCB00, 0x01FBF017, 0x01FBFA00, + 0x02000005, 0x02A6D717, 0x02A6DE18, 0x02A6E000, 0x02A7000B, 0x02B73518, 0x02B73900, + 0x02B7400C, 0x02B81E00, 0x02B82011, 0x02CEA200, 0x02CEB013, 0x02EBE100, 0x02F80005, + 0x02FA1E00, 0x03000017, 0x03134B00, 0x0E000105, 0x0E000200, 0x0E002005, 0x0E008000, + 0x0E010007, 0x0E01F000, 0x0F000002, 0x0FFFFE00, 0x10000002, 0x10FFFE00, 0xFFFFFFFF}; static constexpr string_with_idx categories_names[] = { string_with_idx{"c", 0}, string_with_idx{"cased_letter", 7}, @@ -1662,14 +1705,14 @@ namespace detail::tables { 0x0000A100, 0x00168001, 0x00168100, 0x00200001, 0x00200B00, 0x00202F01, 0x00203000, 0x00205F01, 0x00206000, 0x00300001, 0x00300100}; - static constexpr bool_trie<32, 991, 1, 0, 51, 255, 1, 0, 482, 4, 26, 40> cat_po{ + static constexpr bool_trie<32, 991, 1, 0, 51, 255, 1, 0, 482, 4, 26, 43> cat_po{ {0x8c00d4ee00000000, 0x0000000010000001, 0x80c0008200000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x4000000000000000, 0x0000000000000080, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00000000fc000000, 0x0000000000000200, 0x0018000000000049, - 0x00000000c8003600, 0x00003c0000000000, 0x0000000000000000, 0x0000000000100000, + 0x00000000e8003600, 0x00003c0000000000, 0x0000000000000000, 0x0000000000100000, 0x0000000000003fff, 0x0000000000000000, 0x0000000000000000, 0x0380000000000000}, {1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 2, 2, 2, 2, 7, 8, 2, 2, 2, 2, 9, 2, 10, 2, 2, 11, 2, 12, 13, 2, 14, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 2, 2, 2, @@ -1719,9 +1762,9 @@ namespace detail::tables { 0x0000000000000020, 0x00000000061f0000, 0x000000000000fc00, 0x0800000000000000, 0x000001ff00000000, 0x0000400000000000, 0x0000380000000000, 0x0060000000000000, 0x0000000007700000, 0x00000000000007bf, 0x0000000000000030, 0x00000000c0000000, - 0x00003f7f00000000, 0x00000001fc000000, 0xf000000000000000, 0xf800000000000000, + 0x00003f7f00000000, 0x60000001fc000000, 0xf000000000000000, 0xf800000000000000, 0xc000000000000000, 0x00000000000800ff, 0x79ff00ff00c00000, 0x000000007febff8e, - 0xde00000000000000, 0xf3ff7c00cb7fc9c3, 0x000000000004fffa, 0x200000000000000e, + 0xde00000000000000, 0xf3ff7c00cb7fc9c3, 0x00000000001cfffa, 0x200000000000000e, 0x000000000000e000, 0x4008000000000000, 0x00fc000000000000, 0x00f0000000000000, 0x170000000000c000, 0x0000c00000000000, 0x0000000080000000, 0x00000000c0003ffe, 0x00000000f0000000, 0x00030000c0000000, 0x0000080000000000, 0x00010000027f0000, @@ -1735,42 +1778,43 @@ namespace detail::tables { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}, - {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 0, 0, 0, 0, 7, 0, 8, 9, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 13, 14, 0, 15, 0, 16, 17, - 0, 18, 0, 0, 0, 0, 0, 0, 19, 0, 20, 0, 0, 0, 21, 0, 22, 0, 0, 23, 0, 0, 0, - 24, 0, 0, 0, 0, 25, 0, 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 35, 36, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 0, 0, 0, 0, 7, 0, 8, 9, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, 13, 14, 15, 0, 16, 0, 17, 18, + 0, 19, 0, 0, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 22, 0, 23, 24, 0, 25, 0, 0, 0, + 26, 0, 0, 0, 0, 27, 0, 28, 29, 30, 31, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 38, 39, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42}, {0x0000000000000000, 0x0000000000000007, 0x0000000080000000, 0x0000000000010000, 0x0000800000000000, 0x0000000000800000, 0x8000000080000000, 0x8000000001ff0000, 0x007f000000000000, 0xfe00000000000000, 0x000000001e000000, 0x0000000003e00000, - 0x0000000000003f80, 0xd800000000000000, 0x0000000000000003, 0x003000000000000f, - 0x00000000e80021e0, 0x3f00000000000000, 0x0000020000000000, 0x000000002c00f800, - 0x0000000000000040, 0x0000000000fffffe, 0x00001fff0000000e, 0x7000000000000000, - 0x0800000000000000, 0x0000000000000070, 0x0000000400000000, 0x8000000000000000, - 0x000000000000007f, 0x00000007dc000000, 0x000300000000003e, 0x0180000000000000, - 0x001f000000000000, 0x0000c00000000000, 0x0020000000000000, 0x0f80000000000000, - 0x0000000000000010, 0x0000000007800000, 0x0000000000000f80, 0x00000000c0000000}}; + 0x00000000000003c0, 0x0000000000003f80, 0xd800000000000000, 0x0000000000000003, + 0x003000000000000f, 0x00000000e80021e0, 0x3f00000000000000, 0x0000020000000000, + 0x000000002c00f800, 0x0000000000000040, 0x0000000000fffffe, 0x00001fff0000000e, + 0x0200000000000000, 0x7000000000000000, 0x0800000000000000, 0x0000000000000070, + 0x0000000400000000, 0x8000000000000000, 0x000000000000007f, 0x00000007dc000000, + 0x000300000000003e, 0x0180000000000000, 0x001f000000000000, 0x0006000000000000, + 0x0000c00000000000, 0x0020000000000000, 0x0f80000000000000, 0x0000000000000010, + 0x0000000007800000, 0x0000000000000f80, 0x00000000c0000000}}; static constexpr range_array cat_sc = { 0x00000000, 0x00002401, 0x00002500, 0x0000A201, 0x0000A600, 0x00058F01, 0x00059000, 0x00060B01, 0x00060C00, 0x0007FE01, 0x00080000, 0x0009F201, 0x0009F400, 0x0009FB01, 0x0009FC00, 0x000AF101, 0x000AF200, 0x000BF901, 0x000BFA00, 0x000E3F01, 0x000E4000, - 0x0017DB01, 0x0017DC00, 0x0020A001, 0x0020C000, 0x00A83801, 0x00A83900, 0x00FDFC01, + 0x0017DB01, 0x0017DC00, 0x0020A001, 0x0020C100, 0x00A83801, 0x00A83900, 0x00FDFC01, 0x00FDFD00, 0x00FE6901, 0x00FE6A00, 0x00FF0401, 0x00FF0500, 0x00FFE001, 0x00FFE200, 0x00FFE501, 0x00FFE700, 0x011FDD01, 0x011FE100, 0x01E2FF01, 0x01E30000, 0x01ECB001, 0x01ECB100}; @@ -1821,12 +1865,12 @@ namespace detail::tables { {0x0000000000000000, 0x1400000000000000, 0x0000000008000000, 0x0000000044000000, 0x2000000000000020, 0x0000000000002000, 0x0000020000000500, 0x0015550000000000, 0x0000554000000020, 0x0000000000aaaaa8, 0x1000000005000000, 0x0000015400000000, - 0x0000000000000004, 0x0000000025515500, 0x8000000000000000, 0xaaa0000000800000, + 0x000000000aa00004, 0x0000000025515500, 0x8000000000000000, 0xaaa0000000800000, 0x000000002a00008a, 0x0800000000000100, 0x0000000488000000}, {}, {}, {}}; - static constexpr bool_trie<32, 962, 28, 2, 17, 0, 0, 0, 0, 0, 0, 0> cat_pe{ + static constexpr bool_trie<32, 962, 28, 2, 18, 0, 0, 0, 0, 0, 0, 0> cat_pe{ {0x0000020000000000, 0x2000000020000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -1835,46 +1879,46 @@ namespace detail::tables { 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000}, - {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 13, 14, 0, 0, 15, 16}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 14, 15, 0, 0, 16, 17}, {0x0000000000000000, 0x2800000000000000, 0x0000000010000000, 0x4000000000000040, 0x0000000000004000, 0x0000040000000a00, 0x002aaa0000000000, 0x0000aa8000000040, - 0x0000000001555550, 0x200000000a000000, 0x000002a800000000, 0x00000000caa2aa00, - 0x4000000000000000, 0x5540000001000000, 0x0000000054000115, 0x2000000000000200, - 0x0000000920000000}, + 0x0000000001555550, 0x200000000a000000, 0x000002a800000000, 0x0000000015400000, + 0x00000000caa2aa00, 0x4000000000000000, 0x5540000001000000, 0x0000000054000115, + 0x2000000000000200, 0x0000000920000000}, {}, {}, {}}; @@ -1936,10 +1980,10 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6}, {0x0000000000000000, 0x0800000008000002, 0x0020000000200000, 0x0000800000008000, 0x0000020000000200, 0x0000000000000008, 0x0003000000000000}}; - static constexpr flat_array<25> cat_pd{{0x002D, 0x058A, 0x05BE, 0x1400, 0x1806, 0x2010, 0x2011, + static constexpr flat_array<26> cat_pd{{0x002D, 0x058A, 0x05BE, 0x1400, 0x1806, 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2E17, 0x2E1A, 0x2E3A, - 0x2E3B, 0x2E40, 0x301C, 0x3030, 0x30A0, 0xFE31, 0xFE32, - 0xFE58, 0xFE63, 0xFF0D, 0x10EAD}}; + 0x2E3B, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE31, + 0xFE32, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD}}; static constexpr bool_trie<32, 984, 5, 3, 9, 255, 1, 0, 414, 18, 16, 8> cat_nd{ {0x03ff000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -2001,7 +2045,7 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 6, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2010,7 +2054,7 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2}, {0x0000000000000000, 0x000003ff00000000, 0x03ff000000000000, 0x0000ffc000000000, 0xffc0000000000000, 0x0000000003ff0000, 0x00000000000003ff, 0xffffffffffffc000}}; - static constexpr bool_trie<32, 955, 34, 3, 24, 255, 1, 0, 341, 16, 27, 24> cat_lu{ + static constexpr bool_trie<32, 955, 34, 3, 24, 255, 1, 0, 341, 16, 27, 26> cat_lu{ {0x0000000000000000, 0x0000000007fffffe, 0x0000000000000000, 0x000000007f7fffff, 0xaa55555555555555, 0x2b555555555554aa, 0x11aed2d5b1dbced6, 0x55d255554aaaa490, 0x6c05555555555555, 0x000000000000557a, 0x0000000000000000, 0x0000000000000000, @@ -2059,9 +2103,9 @@ namespace detail::tables { {0x0000000000000000, 0xffffffff00000000, 0x00000000000020bf, 0x003fffffffffffff, 0xe7ffffffffff0000, 0x5555555555555555, 0x5555555540155555, 0xff00ff003f00ff00, 0x0000ff00aa003f00, 0x0f00000000000000, 0x0f001f000f000f00, 0xc00f3d503e273884, - 0x0000000000000020, 0x0000000000000008, 0x00007fffffffffff, 0xc025ea9d00000000, + 0x0000000000000020, 0x0000000000000008, 0x0000ffffffffffff, 0xc025ea9d00000000, 0x0004280555555555, 0x0000155555555555, 0x0000000005555555, 0x5554555400000000, - 0x6a00555555555555, 0x555f7d5555452855, 0x00200000000002f4, 0x07fffffe00000000}, + 0x6a00555555555555, 0x555f7d5555452855, 0x00200000014102f5, 0x07fffffe00000000}, {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 4, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -2071,27 +2115,28 @@ namespace detail::tables { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, - {1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23}, + {1, 0, 2, 3, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25}, {0x0000000000000000, 0x000000ffffffffff, 0xffff000000000000, 0x00000000000fffff, - 0x0007ffffffffffff, 0xffffffff00000000, 0x00000000ffffffff, 0xfff0000003ffffff, - 0xffffff0000003fff, 0x003fde64d0000003, 0x000003ffffff0000, 0x7b0000001fdfe7b0, - 0xfffff0000001fc5f, 0x03ffffff0000003f, 0x00003ffffff00000, 0xf0000003ffffff00, - 0xffff0000003fffff, 0xffffff00000003ff, 0x07fffffc00000001, 0x001ffffff0000000, - 0x00007fffffc00000, 0x000001ffffff0000, 0x0000000000000400, 0x00000003ffffffff}}; - static constexpr bool_trie<32, 898, 94, 0, 12, 1, 15, 240, 1, 79, 48, 2> cat_sk{ + 0xf7ff000000000000, 0x000000000037f7ff, 0x0007ffffffffffff, 0xffffffff00000000, + 0x00000000ffffffff, 0xfff0000003ffffff, 0xffffff0000003fff, 0x003fde64d0000003, + 0x000003ffffff0000, 0x7b0000001fdfe7b0, 0xfffff0000001fc5f, 0x03ffffff0000003f, + 0x00003ffffff00000, 0xf0000003ffffff00, 0xffff0000003fffff, 0xffffff00000003ff, + 0x07fffffc00000001, 0x001ffffff0000000, 0x00007fffffc00000, 0x000001ffffff0000, + 0x0000000000000400, 0x00000003ffffffff}}; + static constexpr bool_trie<32, 990, 2, 0, 13, 1, 15, 240, 1, 79, 48, 2> cat_sk{ {0x0000000000000000, 0x0000000140000000, 0x0110810000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xffffafe0fffc003c, @@ -2100,45 +2145,51 @@ namespace detail::tables { 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000}, - {1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 0, 11}, - {0x0000000000000000, 0xa000000000000000, 0x6000e000e000e003, 0x0000000018000000, - 0x00000003007fffff, 0x0000000000000600, 0x00000c0008000000, 0xfffc000000000000, - 0x0000000000000003, 0x4000000000000000, 0x0000000000000001, 0x0000000800000000}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 11, 0, 12}, + {0x0000000000000000, 0x0000000000000100, 0xa000000000000000, 0x6000e000e000e003, + 0x0000000018000000, 0x00000003007fffff, 0x0000000000000600, 0x00000c0008000000, + 0xfffc000000000000, 0x0000000000000007, 0x4000000000000000, 0x0000000000000001, + 0x0000000800000000}, {1}, {1}, {0x0000000000000000, 0xf800000000000000}}; static constexpr flat_array<10> cat_pc{ {0x005F, 0x203F, 0x2040, 0x2054, 0xFE33, 0xFE34, 0xFE4D, 0xFE4E, 0xFE4F, 0xFF3F}}; - static constexpr bool_trie<32, 955, 35, 2, 30, 255, 1, 0, 342, 16, 26, 25> cat_ll{ + static constexpr bool_trie<32, 955, 35, 2, 30, 255, 1, 0, 342, 16, 26, 27> cat_ll{ {0x0000000000000000, 0x07fffffe00000000, 0x0020000000000000, 0xff7fffff80000000, 0x55aaaaaaaaaaaaaa, 0xd4aaaaaaaaaaab55, 0xe6512d2a4e243129, 0xaa29aaaab5555240, 0x93faaaaaaaaaaaaa, 0xffffffffffffaa85, 0x0000ffffffefffff, 0x0000000000000000, @@ -2190,9 +2241,9 @@ namespace detail::tables { 0x00000fffffffffff, 0xfefff80000000000, 0x0000000007ffffff, 0xaaaaaaaaaaaaaaaa, 0xaaaaaaaabfeaaaaa, 0x00ff00ff003f00ff, 0x3fff00ff00ff003f, 0x40df00ff00ff00ff, 0x00dc00ff00cf00dc, 0x321080000008c400, 0x00000000000043c0, 0x0000000000000010, - 0xffff000000000000, 0x0fda15627fffffff, 0x0008501aaaaaaaaa, 0x000020bfffffffff, + 0xffff000000000000, 0x0fda1562ffffffff, 0x0008501aaaaaaaaa, 0x000020bfffffffff, 0x00002aaaaaaaaaaa, 0x000000000aaaaaaa, 0xaaabaaa800000000, 0x95feaaaaaaaaaaaa, - 0xaaa082aaaaba50aa, 0x0440000000000508, 0xffff01ff07ffffff, 0xffffffffffffffff, + 0xaaa082aaaaba50aa, 0x0440000002aa050a, 0xffff01ff07ffffff, 0xffffffffffffffff, 0x0000000000f8007f, 0x0000000007fffffe}, {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 4, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -2203,28 +2254,28 @@ namespace detail::tables { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, - {1, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 24}, + {1, 2, 0, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26}, {0x0000000000000000, 0xffffff0000000000, 0x000000000000ffff, 0x0fffffffff000000, - 0x0007ffffffffffff, 0x00000000ffffffff, 0xffffffff00000000, 0x000ffffffc000000, - 0x000000ffffdfc000, 0xebc000000ffffffc, 0xfffffc000000ffef, 0x00ffffffc000000f, - 0x00000ffffffc0000, 0xfc000000ffffffc0, 0xffffc000000fffff, 0x0ffffffc000000ff, - 0x0000ffffffc00000, 0x0000003ffffffc00, 0xf0000003f7fffffc, 0xffc000000fdfffff, - 0xffff0000003f7fff, 0xfffffc000000fdff, 0x0000000000000bf7, 0xfffffffc00000000, - 0x000000000000000f}}; - static constexpr bool_trie<32, 985, 7, 0, 53, 255, 1, 0, 492, 4, 16, 48> cat_so{ + 0x1bfbfffbff800000, 0x0007ffffffffffff, 0x00000000ffffffff, 0xffffffff00000000, + 0x000ffffffc000000, 0x000000ffffdfc000, 0xebc000000ffffffc, 0xfffffc000000ffef, + 0x00ffffffc000000f, 0x00000ffffffc0000, 0xfc000000ffffffc0, 0xffffc000000fffff, + 0x0ffffffc000000ff, 0x0000ffffffc00000, 0x0000003ffffffc00, 0xf0000003f7fffffc, + 0xffc000000fdfffff, 0xffff0000003f7fff, 0xfffffc000000fdff, 0x0000000000000bf7, + 0x000000007ffffbff, 0xfffffffc00000000, 0x000000000000000f}}; + static constexpr bool_trie<32, 985, 7, 0, 54, 255, 1, 0, 556, 4, 16, 48> cat_so{ {0x0000000000000000, 0x0000000000000000, 0x0001424000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -2275,7 +2326,7 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 52}, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 52, 0, 0, 0, 0, 0, 0, 0, 53}, {0x0000000000000000, 0x0400000000000000, 0x0001000000000000, 0x05f8000000000000, 0x8000000000000000, 0x0200000000008000, 0x01500000fce8000e, 0xc000000000000000, 0x0000000001e0dfbf, 0x00000000c0000000, 0x0000000003ff0000, 0x0000200000000000, @@ -2288,9 +2339,9 @@ namespace detail::tables { 0x000007e000000000, 0x0000000000030000, 0xfffffffffbffffff, 0x000fffffffffffff, 0x0fff0000003fffff, 0xc0c00001000c0010, 0x00000000ffc30000, 0x0000000fffffffff, 0xfffffc007fffffff, 0xffffffff000100ff, 0x0001fffffffffc00, 0xffffffffffff0000, - 0x000000000000007f, 0x02c00f0000000000, 0x0380000000000000, 0x2000000000000000, - 0x3000611000000000}, - {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4, 2, 5, 6, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0x000000000000007f, 0x02c00f0000000000, 0x0380000000000000, 0x000000000000ffff, + 0xe000000000008000, 0x3000611000000000}, + {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4, 5, 6, 7, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -2312,28 +2363,31 @@ namespace detail::tables { 0, 0, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 13, 14, 15, - 16, 17, 12, 18, 0, 0, 12, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 13, 13, 13, 15, 16, 17, 18, 19, 13, 20, 0, + 0, 13, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, + 13, 13, 13, 13, 13, 13, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 12, 27, 28, 29, 12, 30, 31, 32, 33, 0, 0, 12, 12, 12, 34, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 35, 12, 36, 12, 37, 38, 39, 40, 0, 12, 41, 12, - 42, 12, 43, 44, 45, 12, 12, 46, 47}, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 13, 29, 30, 31, 13, 32, 33, 34, 35, 0, 0, 13, 13, 13, 36, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 37, 13, 38, 13, 39, 40, 41, 42, 0, 13, 13, 13, 13, 13, 43, 44, 45, + 13, 13, 46, 47}, {0x0000000000000000, 0xff80000000000000, 0xfe00000000000000, 0x000000011fff73ff, 0x1fffffffffff0000, 0x0180000000000000, 0x0000000000000100, 0x8000000000000000, 0x0003fffe1fe00000, 0xf000000000000000, 0x0000000000000020, 0x0000000010000000, - 0xffffffffffffffff, 0x003fffffffffffff, 0xfffffe7fffffffff, 0x00001c1fffffffff, - 0xffffc3fffffff018, 0x000001ffffffffff, 0x0000000000000023, 0x00000000007fffff, - 0x0780000000000000, 0xffdfe00000000000, 0x000000000000006f, 0x0000000000008000, - 0x0000100000000000, 0x0000400000000000, 0xffff0fffffffffff, 0xfffe7fff000fffff, - 0x003ffffffffefffe, 0xffffffffffffe000, 0x00003fffffffffff, 0xffffffc000000000, - 0x0fffffffffff0007, 0x0000003f000301ff, 0x07ffffffffffffff, 0x1fff1fff00ffffff, - 0x000fffffffffffff, 0x00000fff01ffffff, 0xffffffffffff0fff, 0xffffffff03ff00ff, - 0x00033fffffff00ff, 0xfdffffffffffffff, 0xffffffffffffefff, 0x071f3fff000fffff, - 0x007f01ffffff007f, 0x00000000007f0007, 0xfffffffffff7ffff, 0x00000000000007ff}}; - static constexpr bool_trie<32, 991, 1, 0, 114, 255, 1, 0, 1087, 1, 0, 95> cat_lo{ + 0xffffffffffff0000, 0xffffffffffffffff, 0x000000000000000f, 0x003fffffffffffff, + 0xfffffe7fffffffff, 0x00001c1fffffffff, 0xffffc3fffffff018, 0x000007ffffffffff, + 0x0000000000000023, 0x00000000007fffff, 0x0780000000000000, 0xffdfe00000000000, + 0x000000000000006f, 0x0000000000008000, 0x0000100000000000, 0x0000400000000000, + 0xffff0fffffffffff, 0xfffe7fff000fffff, 0x003ffffffffefffe, 0xffffffffffffe000, + 0x00003fffffffffff, 0xffffffc000000000, 0x0fffffffffff0007, 0x0000003f000301ff, + 0x07ffffffffffffff, 0x1fff1fffe0ffffff, 0x000fffffffffffff, 0x00010fff01ffffff, + 0xffffffffffff0fff, 0xffffffff03ff00ff, 0x00033fffffff00ff, 0x1f1f3fff000fffff, + 0x07ff1fffffff007f, 0x007f00ff03ff003f, 0xfffffffffff7ffff, 0x00000000000007ff}}; + static constexpr bool_trie<32, 991, 1, 0, 114, 255, 1, 0, 1151, 1, 0, 103> cat_lo{ {0x0000000000000000, 0x0000000000000000, 0x0400040000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0800000000000000, 0x000000000000000f, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000, 0x0000000000000000, @@ -2342,143 +2396,151 @@ namespace detail::tables { 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x000787ffffff0000, 0xffffffff00000000, 0xfffec000000007fe, 0xffffffffffffffff, 0x9c00c000002fffff, 0x0000fffffffd0000, 0xffffffffffffe000, 0x0002003fffffffff, 0x000007fffffffc00}, - {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 31, 35, 35, 35, 35, 35, - 36, 37, 38, 39, 40, 41, 31, 42, 35, 35, 35, 35, 35, 35, 35, 35, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 31, 31, 60, 61, 62, 63, 64, - 65, 31, 66, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 67, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 68, 69, 70, 71, 31, 31, 31, 31, 31, 31, 31, 31, 72, - 42, 73, 74, 75, 35, 76, 68, 31, 31, 31, 31, 31, 31, 31, 31, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 31, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 77, 78, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 79, 80, 35, 35, 35, 35, 81, 82, 50, 63, 31, 31, 83, 84, 85, - 48, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 31, 31, 97, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 98, 99, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 35, 35, 35, 35, 35, 100, 35, 101, 102, 103, 104, 105, 35, 35, 35, 35, 106, - 107, 108, 109, 31, 110, 35, 77, 31, 111, 112, 113}, - {0x00000000003fffff, 0x000007ff01ffffff, 0xffdfffff00000000, 0x00000000000000ff, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 31, 35, 35, 35, + 35, 35, 36, 37, 38, 39, 40, 41, 31, 42, 35, 35, 35, 35, 35, 35, 35, 35, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 31, 31, 60, + 61, 62, 63, 64, 65, 31, 66, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 67, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 68, 69, 70, 71, 31, + 31, 31, 31, 31, 31, 31, 31, 72, 42, 73, 74, 75, 35, 76, 68, 31, 31, 31, 31, + 31, 31, 31, 31, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 31, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 77, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 78, 79, + 35, 35, 35, 35, 80, 81, 50, 63, 31, 31, 82, 83, 84, 48, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 31, 31, 96, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 97, 98, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 35, 35, 35, 35, 35, 99, + 35, 100, 101, 102, 103, 104, 35, 35, 35, 35, 105, 106, 107, 108, 31, 109, 35, 110, 31, + 111, 112, 113}, + {0x00000000003fffff, 0xffff07ff01ffffff, 0xffffffff00007eff, 0x00000000000001ff, 0x23fffffffffffff0, 0xfffc0003ff010000, 0x23c5fdfffff99fe1, 0x10030003b0004000, 0x036dfdfffff987e0, 0x001c00005e000000, 0x23edfdfffffbbfe0, 0x0200000300010000, 0x23edfdfffff99fe0, 0x00020003b0000000, 0x03ffc718d63dc7e8, 0x0000000000010000, - 0x23fffdfffffddfe0, 0x0000000307000000, 0x23effdfffffddfe1, 0x0006000340000000, + 0x23fffdfffffddfe0, 0x0000000327000000, 0x23effdfffffddfe1, 0x0006000360000000, 0x27fffffffffddff0, 0xfc00000380704000, 0x2ffbfffffc7fffe0, 0x000000000000007f, 0x000dfffffffffffe, 0x000000000000003f, 0x200dffaffffff7d6, 0x00000000f000001f, 0x0000000000000001, 0x00001ffffffffeff, 0x0000000000001f00, 0x0000000000000000, 0x800007ffffffffff, 0xffe1c0623c3f0000, 0x0000000000004003, 0xffffffffffffffff, 0xffffffff3d7f3dff, 0x7f3dffffffff3dff, 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x0000000007ffffff, 0x000000000000ffff, 0xfffffffffffffffe, 0xffff9fffffffffff, - 0xffffffff07fffffe, 0x01fe07ffffffffff, 0x0003ffff0003dfff, 0x0001dfff0003ffff, + 0xffffffff07fffffe, 0x01fe07ffffffffff, 0x0003ffff8003ffff, 0x0001dfff0003ffff, 0x000fffffffffffff, 0x0000000010000000, 0xffffffff00000000, 0x01fffffffffffff7, 0xffff05ffffffff9f, 0x003fffffffffffff, 0x000000007fffffff, 0x001f3fffffff0000, 0xffff0fffffffffff, 0x00000000000003ff, 0xffffffff007fffff, 0x00000000001fffff, - 0x000fffffffffffe0, 0x0000000000000fe0, 0xfc00c001fffffff8, 0x0000003fffffffff, + 0x000fffffffffffe0, 0x0000000000001fe0, 0xfc00c001fffffff8, 0x0000003fffffffff, 0x0000000fffffffff, 0x00fffffffc00e000, 0x046fde0000000000, 0x01e0000000000000, 0xffff000000000000, 0x000000ffffffffff, 0x7f7f7f7f007fffff, 0x000000007f7f7f7f, 0x1000000000000040, 0xfffffffe807fffff, 0x87ffffffffffffff, 0xfffeffffffffffe0, - 0xffffffff00007fff, 0x1fffffffffffffff, 0xffffffffffdfffff, 0x0000000000001fff, - 0x00ffffffffff0000, 0x00000c00ffff0fff, 0x0000400000000000, 0x0000000000008000, - 0xf880000000000000, 0x00000007fffff7bb, 0x000ffffffffffffc, 0x68fc000000000000, - 0xffff003ffffffc00, 0x1fffffff0000007f, 0x0007fffffffffff0, 0x7c00ff9f00000000, - 0x000001ffffffffff, 0xc47effff00000ff7, 0x3e62ffffffffffff, 0x000407ff18000005, - 0x00007f7f007e7e7e, 0x00000007ffffffff, 0xffff000fffffffff, 0x0ffffffffffff87f, - 0xffff3fffffffffff, 0x0000000003ffffff, 0x5f7ffdffa0000000, 0xffffffffffffffdb, - 0x0003ffffffffffff, 0xfffffffffff80000, 0x3fffffffffffffff, 0xffffffffffff0000, - 0xfffffffffffcffff, 0x0fff0000000000ff, 0xffdf000000000000, 0xfffeffc000000000, + 0xffffffff00007fff, 0xffffffffffdfffff, 0x0000000000001fff, 0x00ffffffffff0000, + 0x00000c00ffff0fff, 0x0000400000000000, 0x0000000000008000, 0xf880000000000000, + 0x00000007fffff7bb, 0x000ffffffffffffc, 0x68fc000000000000, 0xffff003ffffffc00, + 0x1fffffff0000007f, 0x0007fffffffffff0, 0x7c00ff9f00000000, 0x000001ffffffffff, + 0xc47effff00000ff7, 0x3e62ffffffffffff, 0x000407ff18000005, 0x00007f7f007e7e7e, + 0x00000007ffffffff, 0xffff000fffffffff, 0x0ffffffffffff87f, 0xffff3fffffffffff, + 0x0000000003ffffff, 0x5f7ffdffa0000000, 0xffffffffffffffdb, 0x0003ffffffffffff, + 0xfffffffffff80000, 0x3fffffffffffffff, 0xffffffffffff0000, 0xfffffffffffcffff, + 0x0fff0000000000ff, 0xffdf000000000000, 0x1fffffffffffffff, 0xfffeffc000000000, 0x7fffffff3fffffff, 0x000000001cfcfcfc}, - {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 5, 10, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, - 12, 13, 7, 14, 15, 7, 16, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, - {1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9, 10, 4, 11, 12, 4, 13, 14, 4, 4, - 2, 2, 2, 2, 15, 16, 4, 4, 17, 18, 19, 20, 21, 4, 22, 4, 23, 24, 25, 26, 27, 28, 29, - 4, 2, 30, 4, 4, 14, 4, 4, 4, 4, 4, 31, 4, 32, 33, 34, 35, 36, 4, 37, 38, 39, 40, - 41, 42, 43, 4, 44, 19, 45, 46, 4, 4, 47, 48, 49, 50, 4, 4, 51, 52, 49, 53, 54, 4, 55, - 4, 4, 4, 56, 4, 4, 57, 58, 59, 60, 61, 62, 63, 64, 65, 4, 4, 4, 4, 66, 67, 68, 4, - 69, 70, 71, 4, 4, 4, 4, 72, 4, 4, 73, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 74, 4, 4, 4, 2, 2, 2, 75, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 51, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 76, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 2, 2, 2, 2, 2, 2, 2, 2, 65, 19, 4, 77, 49, 78, 68, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 2, 79, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 80, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 81, 30, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 2, 2, 2, 19, 82, 2, 2, 2, 2, 2, 83, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 2, 84, 85, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 86, - 87, 4, 4, 4, 4, 4, 56, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 2, 2, 2, 88, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 89, 90, 91, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 47, 2, 2, 2, 9, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 92, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 93, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 94, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4}, + {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 10, 11, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, + 13, 14, 7, 15, 16, 7, 17, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, + {1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9, 10, 4, 11, 12, 4, 13, 14, 4, + 4, 2, 2, 2, 2, 15, 16, 4, 4, 17, 18, 19, 20, 21, 4, 22, 4, 23, 24, 25, 26, 27, + 28, 29, 4, 2, 30, 4, 4, 14, 4, 4, 4, 4, 4, 31, 4, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 4, 45, 19, 46, 47, 4, 4, 48, 49, 50, 51, 4, 4, 52, 53, 50, + 54, 55, 4, 56, 57, 4, 4, 58, 4, 4, 59, 60, 61, 62, 63, 64, 65, 66, 67, 4, 4, 4, + 4, 68, 69, 70, 4, 71, 72, 73, 4, 4, 4, 4, 74, 4, 4, 75, 4, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 76, 4, 4, 4, 2, 2, 2, 77, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 78, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 52, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 57, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, + 2, 2, 2, 2, 2, 67, 79, 80, 81, 50, 82, 70, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 83, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 84, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 85, 30, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 2, 2, 2, 86, 87, 2, 2, 2, 2, 2, 88, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 2, 89, 90, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 91, 4, 4, 4, 4, + 4, 4, 4, 92, 93, 4, 4, 4, 4, 81, 58, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 94, 2, 2, 2, 95, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 96, 97, 98, 4, 4, 4, 4, 4, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 67, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 100, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 101, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, + 2, 2, 2, 2, 2, 2, 2, 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 102, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4}, {0xb7ffff7fffffefff, 0x000000003fff3fff, 0xffffffffffffffff, 0x07ffffffffffffff, 0x0000000000000000, 0xffffffff1fffffff, 0x000000000001ffff, 0xffffe000ffffffff, 0x003fffffffff03fd, 0xffffffff3fffffff, 0x000000000000ff0f, 0xffffffffffff0000, @@ -2487,31 +2549,34 @@ namespace detail::tables { 0x0037ffff00000000, 0x03ffffff003fffff, 0xc0ffffffffffffff, 0x003ffffffeef0001, 0x1fffffff00000000, 0x000000001fffffff, 0x0000001ffffffeff, 0x003fffffffffffff, 0x0007ffff003fffff, 0x000000000003ffff, 0x00000000000001ff, 0x000303ffffffffff, - 0xffff00801fffffff, 0x000000000000003f, 0xffff000000000000, 0x007fffff0000001f, - 0x00fffffffffffff8, 0x0000fffffffffff8, 0x000001ffffff0000, 0x0000007ffffffff8, - 0x0047ffffffff0090, 0x0007fffffffffff8, 0x000000001400001e, 0x00000ffffffbffff, - 0xffff01ffbfffbd7f, 0x23edfdfffff99fe0, 0x00000003e0010000, 0x001fffffffffffff, - 0x0000000380000780, 0x0000ffffffffffff, 0x00000000000000b0, 0x00007fffffffffff, - 0x000000000f000000, 0x0000000000000010, 0x010007ffffffffff, 0x0000000007ffffff, - 0x00000fffffffffff, 0x8000000000000000, 0x8000ffffff6ff27f, 0x0000000000000002, - 0xfffffcff00000000, 0x0000000a0001ffff, 0x0407fffffffff801, 0xfffffffff0010000, - 0x00000000200003ff, 0x01ffffffffffffff, 0x00007ffffffffdff, 0xfffc000000000001, - 0x000000000000ffff, 0x0001fffffffffb7f, 0xfffffdbf00000040, 0x00000000010003ff, - 0x0007ffff00000000, 0x0001000000000000, 0x0000000003ffffff, 0x000000000000000f, - 0x000000000000007f, 0x00003fffffff0000, 0xe0fffff800000000, 0x00000000000107ff, - 0x00ffffffffffffff, 0x00000000003fffff, 0xffff00f000070000, 0x0fffffffffffffff, - 0x1fff07ffffffffff, 0x0000000003ff01ff, 0x00001fffffffffff, 0x0000000000004000, - 0x000000000000001f, 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, + 0xffff00801fffffff, 0xffff00000000003f, 0xffff000000000003, 0x007fffff0000001f, + 0x00fffffffffffff8, 0x0026000000000000, 0x0000fffffffffff8, 0x000001ffffff0000, + 0x0000007ffffffff8, 0x0047ffffffff0090, 0x0007fffffffffff8, 0x000000001400001e, + 0x00000ffffffbffff, 0xffff01ffbfffbd7f, 0x23edfdfffff99fe0, 0x00000003e0010000, + 0x001fffffffffffff, 0x0000000380000780, 0x0000ffffffffffff, 0x00000000000000b0, + 0x00007fffffffffff, 0x000000000f000000, 0x0000000000000010, 0x010007ffffffffff, + 0x0000000007ffffff, 0x000000000000007f, 0x00000fffffffffff, 0x8000000000000000, + 0x8000ffffff6ff27f, 0x0000000000000002, 0xfffffcff00000000, 0x0000000a0001ffff, + 0x0407fffffffff801, 0xfffffffff0010000, 0xffff0000200003ff, 0x01ffffffffffffff, + 0x00007ffffffffdff, 0xfffc000000000001, 0x000000000000ffff, 0x0001fffffffffb7f, + 0xfffffdbf00000040, 0x00000000010003ff, 0x0007ffff00000000, 0x0001000000000000, + 0x0000000003ffffff, 0x000000000000000f, 0x0001ffffffffffff, 0xffff00007fffffff, + 0x7fffffffffffffff, 0x00003fffffff0000, 0xe0fffff800000000, 0x00000000000107ff, + 0x00ffffffffffffff, 0x00000000003fffff, 0x00000007ffffffff, 0xffff00f000070000, + 0x0fffffffffffffff, 0x1fff07ffffffffff, 0x0000000003ff01ff, 0x0000000000000400, + 0x00001fffffffffff, 0x0000000000004000, 0x7fff6f7f00000000, 0x000000000000001f, + 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0x00000000ffffffff, 0xffff0003ffffffff, 0x00000001ffffffff, 0x00000000000007ff}}; static constexpr flat_array<12> cat_pi{{0x00AB, 0x2018, 0x201B, 0x201C, 0x201F, 0x2039, 0x2E02, 0x2E04, 0x2E09, 0x2E0C, 0x2E1C, 0x2E20}}; static constexpr range_array cat_cf = { 0x00000000, 0x0000AD01, 0x0000AE00, 0x00060001, 0x00060600, 0x00061C01, 0x00061D00, - 0x0006DD01, 0x0006DE00, 0x00070F01, 0x00071000, 0x0008E201, 0x0008E300, 0x00180E01, - 0x00180F00, 0x00200B01, 0x00201000, 0x00202A01, 0x00202F00, 0x00206001, 0x00206500, - 0x00206601, 0x00207000, 0x00FEFF01, 0x00FF0000, 0x00FFF901, 0x00FFFC00, 0x0110BD01, - 0x0110BE00, 0x0110CD01, 0x0110CE00, 0x01343001, 0x01343900, 0x01BCA001, 0x01BCA400, - 0x01D17301, 0x01D17B00, 0x0E000101, 0x0E000200, 0x0E002001, 0x0E008000}; + 0x0006DD01, 0x0006DE00, 0x00070F01, 0x00071000, 0x00089001, 0x00089200, 0x0008E201, + 0x0008E300, 0x00180E01, 0x00180F00, 0x00200B01, 0x00201000, 0x00202A01, 0x00202F00, + 0x00206001, 0x00206500, 0x00206601, 0x00207000, 0x00FEFF01, 0x00FF0000, 0x00FFF901, + 0x00FFFC00, 0x0110BD01, 0x0110BE00, 0x0110CD01, 0x0110CE00, 0x01343001, 0x01343900, + 0x01BCA001, 0x01BCA400, 0x01D17301, 0x01D17B00, 0x0E000101, 0x0E000200, 0x0E002001, + 0x0E008000}; static constexpr bool_trie<32, 634, 7, 351, 25, 255, 1, 0, 385, 4, 59, 37> cat_no{ {0x0000000000000000, 0x0000000000000000, 0x720c000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -2594,7 +2659,7 @@ namespace detail::tables { 0x00000000, 0x0001C501, 0x0001C600, 0x0001C801, 0x0001C900, 0x0001CB01, 0x0001CC00, 0x0001F201, 0x0001F300, 0x001F8801, 0x001F9000, 0x001F9801, 0x001FA000, 0x001FA801, 0x001FB000, 0x001FBC01, 0x001FBD00, 0x001FCC01, 0x001FCD00, 0x001FFC01, 0x001FFD00}; - static constexpr bool_trie<32, 991, 1, 0, 31, 9, 6, 241, 57, 109, 26, 6> cat_lm{ + static constexpr bool_trie<32, 991, 1, 0, 32, 255, 1, 0, 264, 30, 26, 8> cat_lm{ {0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xffff000000000000, 0x0000501f0003ffc3, @@ -2603,13 +2668,13 @@ namespace detail::tables { 0x0000000000000000, 0x0000000002000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000001, 0x0000000000000000, 0x0000006000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0430000000000000}, - {1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, - 1, 1, 1, 1, 1, 8, 1, 1, 9, 10, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 13, 1, 1, + {1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 1, 4, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, + 1, 1, 1, 1, 1, 9, 1, 1, 10, 11, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 1, 1, 1, 15, 1, - 1, 15, 1, 1, 1, 1, 1, 1, 1, 16, 1, 17, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 1, 1, 1, 16, 1, + 1, 16, 1, 1, 1, 1, 1, 1, 1, 17, 1, 18, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -2627,9 +2692,9 @@ namespace detail::tables { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 8, 1, 1, 1, 1, 20, 21, 22, 1, 23, 24, 25, 26, 1, 1, 1, 1, 1, 1, 1, 27, 1, 24, 1, - 28, 1, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 9, 1, 1, 1, 1, 21, 22, 23, 1, 24, 25, 26, 27, 1, 1, 1, 1, 1, 1, 1, 28, 1, 25, 1, + 29, 1, 30, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -2642,21 +2707,36 @@ namespace detail::tables { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 24, 30, 1}, - {0x0000011004000000, 0x0000000000000000, 0x0002000000000000, 0x0000000000000040, - 0x1000000000000000, 0x0000000000800000, 0x0000000000000008, 0x0000008000000000, - 0x3f00000000000000, 0xfffff00000000000, 0x010007ffffffffff, 0xfffffffff8000000, - 0x8002000000000000, 0x000000001fff0000, 0x3000000000000000, 0x0000800000000000, - 0x083e000000000020, 0x0000000060000000, 0x7000000000000000, 0x0000000000200000, - 0x0000000000001000, 0x8000000000000000, 0x0000000030000000, 0x00000000ff800000, - 0x0001000000000000, 0x0000000000000100, 0x0300000000000000, 0x0000004000008000, - 0x0018000020000000, 0x00000200f0000000, 0x00000000c0000000}, - {1, 0, 0, 0, 0, 0, 0, 0, 2}, - {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5}, - {0x0000000000000000, 0x000000000000000f, 0x00000000fff80000, 0x0000000b00000000, - 0x3f80000000000000, 0x0000000000000800}}; - static constexpr bool_trie<32, 991, 1, 0, 74, 255, 1, 0, 449, 7, 56, 61> cat_mn{ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 25, 31, 1}, + {0x0000011004000000, 0x0000000000000000, 0x0000000000000200, 0x0002000000000000, + 0x0000000000000040, 0x1000000000000000, 0x0000000000800000, 0x0000000000000008, + 0x0000008000000000, 0x3f00000000000000, 0xfffff00000000000, 0x010007ffffffffff, + 0xfffffffff8000000, 0x8002000000000000, 0x000000001fff0000, 0x3000000000000000, + 0x0000800000000000, 0x083e000000000020, 0x0000000060000000, 0x7000000000000000, + 0x0000000000200000, 0x0000000000001000, 0x8000000000000000, 0x0000000030000000, + 0x00000000ff800000, 0x0001000000000000, 0x0000000000000100, 0x031c000000000000, + 0x0000004000008000, 0x0018000020000000, 0x00000200f0000000, 0x00000000c0000000}, + {1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7}, + {0x0000000000000000, 0x07fdffffffffffbf, 0x000000000000000f, 0x00000000fff80000, + 0x0000000b00000000, 0x6fef000000000000, 0x3f80000000000000, 0x0000000000000800}}; + static constexpr bool_trie<32, 991, 1, 0, 75, 255, 1, 0, 513, 7, 56, 66> cat_mn{ {0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -2666,125 +2746,129 @@ namespace detail::tables { 0x0000000007ff0000, 0x00010000fffff800, 0x0000000000000000, 0x00003d9f9fc00000, 0xffff000000020000, 0x00000000000007ff, 0x0001ffc000000000, 0x200ff80000000000}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 10, 11, 12, 13, 14, 15, 16, 11, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 33, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 34, 35, 36, 37, 38, 2, 39, 2, 40, 2, - 2, 2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 2, 2, 50, 2, 2, 2, 51, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 52, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 53, 2, 54, 2, 55, 2, 2, 2, 2, 2, 2, 2, 2, 56, 2, - 57, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 58, 59, 60, 2, 2, 2, 2, 61, 2, 2, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 2, 2, 2, 71, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 72, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 73, 2, 2, 2, 2, 2, - 2, 2}, - {0x00003eeffbc00000, 0x000000000e000000, 0x0000000000000000, 0xfffffffbfff80000, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 35, 36, 37, 38, 39, 33, 40, 33, 41, 33, + 33, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 33, 33, 51, 33, 33, 33, 52, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 53, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 54, 33, 55, 33, 56, 33, 33, 33, 33, 33, 33, 33, 33, 57, 33, + 58, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 59, 60, 61, 33, 33, 33, 33, 62, 33, 33, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 33, 33, 33, 72, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 73, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 74, 33, 33, 33, 33, 33, + 33, 33}, + {0x00003eeffbc00000, 0x000000000e000000, 0x00000000ff000000, 0xfffffffbfffffc00, 0x1400000000000007, 0x0000000c00fe21fe, 0x1000000000000002, 0x4000000c0000201e, 0x1000000000000006, 0x0023000000023986, 0xfc00000c000021be, 0x9000000000000002, - 0x0000000c0060201e, 0x0000000000000004, 0x0000000000002001, 0xc000000000000011, + 0x0000000c0060201e, 0x0000000000000004, 0x0000000000002001, 0xd000000000000011, 0x0000000c00603dc1, 0x0000000c00003040, 0x1800000000000003, 0x0000000c0000201e, 0x0000000000000002, 0x00000000005c0400, 0x07f2000000000000, 0x0000000000007f80, 0x1ff2000000000000, 0x0000000000003f00, 0x02a0000003000000, 0x7ffe000000000000, 0x1ffffffffeffe0df, 0x0000000000000040, 0x66fde00000000000, 0x001e0001c3000000, - 0x0000000020002064, 0x00000000e0000000, 0x001c0000001c0000, 0x000c0000000c0000, - 0x3fb0000000000000, 0x00000000200ffe40, 0x0000000000003800, 0x0000020000000060, - 0x0e04018700000000, 0x0000000009800000, 0x9ff81fe57f400000, 0xbfff000000000000, - 0x0000000000000001, 0x17d000000000000f, 0x000ff80000000004, 0x00003b3c00000003, - 0x0003a34000000000, 0x00cff00000000000, 0x031021fdfff70000, 0xfbffffffffffffff, - 0x0001ffe21fff0000, 0x0003800000000000, 0x8000000000000000, 0xffffffff00000000, - 0x00003c0000000000, 0x0000000006000000, 0x3ff0800000000000, 0x00000000c0000000, - 0x0003000000000000, 0x0000106000000844, 0x8003ffff00000030, 0x00003fc000000000, - 0x000000000003ff80, 0x33c8000000000007, 0x0000002000000000, 0x00667e0000000000, - 0x1000000000001008, 0xc19d000000000000, 0x0040300000000002, 0x0000212000000000, - 0x0000000040000000, 0x0000ffff0000ffff}, - {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4, 2, 5, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0x0000000020002064, 0x0000000000000000, 0x00000000e0000000, 0x000c0000001c0000, + 0x000c0000000c0000, 0x3fb0000000000000, 0x00000000200ffe40, 0x000000000000b800, + 0x0000020000000060, 0x0e04018700000000, 0x0000000009800000, 0x9ff81fe57f400000, + 0xbfff000000000000, 0x0000000000007fff, 0x17d000000000000f, 0x000ff80000000004, + 0x00003b3c00000003, 0x0003a34000000000, 0x00cff00000000000, 0x031021fdfff70000, + 0xffffffffffffffff, 0x0001ffe21fff0000, 0x0003800000000000, 0x8000000000000000, + 0xffffffff00000000, 0x00003c0000000000, 0x0000000006000000, 0x3ff0800000000000, + 0x00000000c0000000, 0x0003000000000000, 0x0000106000000844, 0x8003ffff00000030, + 0x00003fc000000000, 0x000000000003ff80, 0x33c8000000000007, 0x0000002000000000, + 0x00667e0000000000, 0x1000000000001008, 0xc19d000000000000, 0x0040300000000002, + 0x0000212000000000, 0x0000000040000000, 0x0000ffff0000ffff}, + {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4, 5, 6, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, - {1, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 7, 0, 0, 8, 0, 0, 9, 10, 11, 0, 12, 13, 14, 15, 16, 0, 0, 17, - 18, 19, 0, 0, 20, 21, 22, 23, 0, 0, 24, 25, 26, 27, 28, 0, 29, 0, 0, 0, 30, 0, 0, - 0, 31, 32, 0, 33, 34, 35, 36, 0, 0, 0, 0, 0, 37, 0, 38, 0, 39, 40, 41, 0, 0, 0, - 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 56, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, - 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 59, 60}, + {1, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 7, 0, 0, 8, 9, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 19, + 20, 21, 0, 0, 22, 23, 24, 25, 0, 0, 26, 27, 28, 29, 30, 0, 31, 0, 0, 0, 32, 0, 0, + 0, 33, 34, 0, 35, 36, 37, 38, 0, 0, 0, 0, 0, 39, 0, 40, 0, 41, 42, 43, 0, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 46, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 52, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 0, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 0, 46, 0, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 64, 64, 65}, {0x0000000000000000, 0x2000000000000000, 0x0000000100000000, 0x07c0000000000000, 0x870000000000f06e, 0x0000006000000000, 0x000000f000000000, 0x0000180000000000, - 0x000000000001ffc0, 0xff00000000000002, 0x800000000000007f, 0x0678000000000003, - 0x001fef8000000007, 0x0008000000000000, 0x7fc0000000000003, 0x0000000000009e00, - 0x40d3800000000000, 0x000007f880000000, 0x1800000000000003, 0x001f1fc000000001, - 0xff00000000000000, 0x000000004000005c, 0x85f8000000000000, 0x000000000000000d, - 0xb03c000000000000, 0x0000000030000001, 0xa7f8000000000000, 0x0000000000000001, - 0x00bf280000000000, 0x00000fbce0000000, 0x06ff800000000000, 0x5800000000000000, - 0x0000000000000008, 0x000000010cf00000, 0x79f80000000007fe, 0x000000000e7e0080, - 0x00000000037ffc00, 0xbf7f000000000000, 0x006dfcfffffc0000, 0xb47e000000000000, - 0x00000000000000bf, 0x0000000000a30000, 0x0018000000000000, 0x001f000000000000, - 0x007f000000000000, 0x0000000000008000, 0x0000000000078000, 0x0000001000000000, - 0x0000000060000000, 0xf800038000000000, 0x00003c0000000fe7, 0x000000000000001c, + 0x000000000001ffc0, 0x000000000000003c, 0xff00000000000002, 0x801900000000007f, + 0x0678000000000003, 0x0000000000000004, 0x001fef8000000007, 0x0008000000000000, + 0x7fc0000000000003, 0x0000000000009e00, 0x40d3800000000000, 0x000007f880000000, + 0x1800000000000003, 0x001f1fc000000001, 0xff00000000000000, 0x000000004000005c, + 0x85f8000000000000, 0x000000000000000d, 0xb03c000000000000, 0x0000000030000001, + 0xa7f8000000000000, 0x0000000000000001, 0x00bf280000000000, 0x00000fbce0000000, + 0x06ff800000000000, 0x5800000000000000, 0x0000000000000008, 0x000000010cf00000, + 0x79f80000000007fe, 0x000000000e7e0080, 0x00000000037ffc00, 0xbf7f000000000000, + 0x006dfcfffffc0000, 0xb47e000000000000, 0x00000000000000bf, 0x0000000000a30000, + 0x0018000000000000, 0x001f000000000000, 0x007f000000000000, 0x0000000000008000, + 0x0000000000078000, 0x0000001000000000, 0x0000000060000000, 0xffff3fffffffffff, + 0x000000000000007f, 0xf800038000000000, 0x00003c0000000fe7, 0x000000000000001c, 0xf87fffffffffffff, 0x00201fffffffffff, 0x0000fffef8000010, 0x000007dbf9ffff7f, - 0x0000f00000000000, 0x00000000007f0000, 0x00000000000007f0, 0xffffffffffffffff, - 0x0000ffffffffffff}}; + 0x0000400000000000, 0x0000f00000000000, 0x00000000007f0000, 0x00000000000007f0, + 0xffffffffffffffff, 0x0000ffffffffffff}}; static constexpr range_array cat_me = {0x00000000, 0x00048801, 0x00048A00, 0x001ABE01, 0x001ABF00, 0x0020DD01, 0x0020E100, 0x0020E201, 0x0020E500, 0x00A67001, 0x00A67300}; - static constexpr bool_trie<0, 652, 4, 336, 42, 13, 1, 242, 134, 64, 58, 33> cat_mc{ + static constexpr bool_trie<0, 652, 4, 336, 43, 13, 1, 242, 134, 64, 58, 33> cat_mc{ {}, {1, 2, 3, 4, 5, 6, 5, 7, 8, 4, 9, 10, 11, 12, 8, 13, 3, 14, 15, 16, 0, 0, 0, 0, 9, 17, 0, 0, 18, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, 0, 23, 0, 0, 0, 24, - 25, 0, 0, 26, 27, 28, 29, 30, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 22, 23, 0, 0, 0, 0, 24, 0, 0, 0, 25, + 26, 0, 0, 27, 28, 29, 30, 31, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2805,19 +2889,19 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 35, 0, 36, 37, 6, - 38, 39, 0, 40, 0, 0, 0, 41}, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 36, 0, 37, 38, 6, + 39, 40, 0, 41, 0, 0, 0, 42}, {0x0000000000000000, 0xc800000000000008, 0x000000000000de01, 0xc00000000000000c, 0x0000000000801981, 0xc000000000000008, 0x0000000000000001, 0x0000000000001a01, 0x400000000000000c, 0xc000000000000000, 0x0000000000801dc6, 0x000000000000000e, 0x000000000000001e, 0x0000000000600d9f, 0x0000000000801dc1, 0x000000000000000c, 0x000c0000ff038000, 0x8000000000000000, 0x1902180000000000, 0x00003f9c00c00000, - 0x000000001c009f98, 0xc040000000000000, 0x00000000000001bf, 0x01fb0e7800000000, - 0x0000000006000000, 0x0007e01a00a00000, 0xe820000000000010, 0x000000000000001b, - 0x000004c200000004, 0x000c5c8000000000, 0x00300ff000000000, 0x0080000200000000, - 0x0000c00000000000, 0x0000009800000000, 0xfff0000000000003, 0x000000000000000f, - 0x00000000000c0000, 0xcc30000000000008, 0x0019800000000000, 0x2800000000002000, - 0x0020c80000000000, 0x000016d800000000}, + 0x000000001c009f98, 0x0010000000200000, 0xc040000000000000, 0x00000000000001bf, + 0x01fb0e7800000000, 0x0000000006000000, 0x0007e01a00a00000, 0xe820000000000010, + 0x000000000000001b, 0x000004c200000004, 0x000c5c8000000000, 0x00300ff000000000, + 0x0080000200000000, 0x0000c00000000000, 0x0000009800000000, 0xfff0000000000003, + 0x000000000000000f, 0x00000000000c0000, 0xcc30000000000008, 0x0019800000000000, + 0x2800000000002000, 0x0020c80000000000, 0x000016d800000000}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3}, {1, 0, 2, 0, 3, 4, 5, 6, 7, 0, 0, 8, 9, 10, 0, 0, 11, 12, 13, 14, 0, 0, 15, 0, 16, 0, 17, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 1, 0, 21, 22, 23, 24, 0, 0, 0, @@ -3124,498 +3208,519 @@ constexpr bool cp_is(char32_t c) { } namespace detail::tables { static constexpr string_with_idx blocks_names[] = { - string_with_idx{"adlam", 278}, - string_with_idx{"aegean_numbers", 166}, - string_with_idx{"ahom", 228}, - string_with_idx{"alchemical", 291}, - string_with_idx{"alchemical_symbols", 291}, - string_with_idx{"alphabetic_pf", 154}, - string_with_idx{"alphabetic_presentation_forms", 154}, - string_with_idx{"anatolian_hieroglyphs", 248}, - string_with_idx{"ancient_greek_music", 268}, - string_with_idx{"ancient_greek_musical_notation", 268}, - string_with_idx{"ancient_greek_numbers", 167}, - string_with_idx{"ancient_symbols", 168}, + string_with_idx{"adlam", 290}, + string_with_idx{"aegean_numbers", 167}, + string_with_idx{"ahom", 232}, + string_with_idx{"alchemical", 303}, + string_with_idx{"alchemical_symbols", 303}, + string_with_idx{"alphabetic_pf", 155}, + string_with_idx{"alphabetic_presentation_forms", 155}, + string_with_idx{"anatolian_hieroglyphs", 254}, + string_with_idx{"ancient_greek_music", 277}, + string_with_idx{"ancient_greek_musical_notation", 277}, + string_with_idx{"ancient_greek_numbers", 168}, + string_with_idx{"ancient_symbols", 169}, string_with_idx{"arabic", 13}, - string_with_idx{"arabic_ext_a", 21}, - string_with_idx{"arabic_extended_a", 21}, - string_with_idx{"arabic_math", 281}, - string_with_idx{"arabic_mathematical_alphabetic_symbols", 281}, - string_with_idx{"arabic_pf_a", 155}, - string_with_idx{"arabic_pf_b", 161}, - string_with_idx{"arabic_presentation_forms_a", 155}, - string_with_idx{"arabic_presentation_forms_b", 161}, + string_with_idx{"arabic_ext_a", 22}, + string_with_idx{"arabic_ext_b", 21}, + string_with_idx{"arabic_extended_a", 22}, + string_with_idx{"arabic_extended_b", 21}, + string_with_idx{"arabic_math", 293}, + string_with_idx{"arabic_mathematical_alphabetic_symbols", 293}, + string_with_idx{"arabic_pf_a", 156}, + string_with_idx{"arabic_pf_b", 162}, + string_with_idx{"arabic_presentation_forms_a", 156}, + string_with_idx{"arabic_presentation_forms_b", 162}, string_with_idx{"arabic_sup", 15}, string_with_idx{"arabic_supplement", 15}, string_with_idx{"armenian", 11}, - string_with_idx{"arrows", 78}, + string_with_idx{"arrows", 79}, string_with_idx{"ascii", 1}, - string_with_idx{"avestan", 198}, - string_with_idx{"balinese", 58}, - string_with_idx{"bamum", 126}, - string_with_idx{"bamum_sup", 249}, - string_with_idx{"bamum_supplement", 249}, + string_with_idx{"avestan", 201}, + string_with_idx{"balinese", 59}, + string_with_idx{"bamum", 127}, + string_with_idx{"bamum_sup", 255}, + string_with_idx{"bamum_supplement", 255}, string_with_idx{"basic_latin", 1}, - string_with_idx{"bassa_vah", 251}, - string_with_idx{"batak", 60}, - string_with_idx{"bengali", 23}, - string_with_idx{"bhaiksuki", 236}, - string_with_idx{"block_elements", 85}, - string_with_idx{"bopomofo", 110}, - string_with_idx{"bopomofo_ext", 113}, - string_with_idx{"bopomofo_extended", 113}, - string_with_idx{"box_drawing", 84}, - string_with_idx{"brahmi", 211}, - string_with_idx{"braille", 91}, - string_with_idx{"braille_patterns", 91}, - string_with_idx{"buginese", 55}, - string_with_idx{"buhid", 46}, - string_with_idx{"byzantine_music", 266}, - string_with_idx{"byzantine_musical_symbols", 266}, - string_with_idx{"carian", 171}, - string_with_idx{"caucasian_albanian", 183}, - string_with_idx{"chakma", 214}, - string_with_idx{"cham", 139}, - string_with_idx{"cherokee", 40}, - string_with_idx{"cherokee_sup", 145}, - string_with_idx{"cherokee_supplement", 145}, - string_with_idx{"chess_symbols", 295}, - string_with_idx{"chorasmian", 209}, - string_with_idx{"cjk", 120}, - string_with_idx{"cjk_compat", 117}, - string_with_idx{"cjk_compat_forms", 159}, - string_with_idx{"cjk_compat_ideographs", 153}, - string_with_idx{"cjk_compat_ideographs_sup", 303}, - string_with_idx{"cjk_compatibility", 117}, - string_with_idx{"cjk_compatibility_forms", 159}, - string_with_idx{"cjk_compatibility_ideographs", 153}, - string_with_idx{"cjk_compatibility_ideographs_supplement", 303}, - string_with_idx{"cjk_ext_a", 118}, - string_with_idx{"cjk_ext_b", 298}, - string_with_idx{"cjk_ext_c", 299}, - string_with_idx{"cjk_ext_d", 300}, - string_with_idx{"cjk_ext_e", 301}, - string_with_idx{"cjk_ext_f", 302}, - string_with_idx{"cjk_ext_g", 304}, - string_with_idx{"cjk_radicals_sup", 104}, - string_with_idx{"cjk_radicals_supplement", 104}, - string_with_idx{"cjk_strokes", 114}, - string_with_idx{"cjk_symbols", 107}, - string_with_idx{"cjk_symbols_and_punctuation", 107}, - string_with_idx{"cjk_unified_ideographs", 120}, - string_with_idx{"cjk_unified_ideographs_extension_a", 118}, - string_with_idx{"cjk_unified_ideographs_extension_b", 298}, - string_with_idx{"cjk_unified_ideographs_extension_c", 299}, - string_with_idx{"cjk_unified_ideographs_extension_d", 300}, - string_with_idx{"cjk_unified_ideographs_extension_e", 301}, - string_with_idx{"cjk_unified_ideographs_extension_f", 302}, - string_with_idx{"cjk_unified_ideographs_extension_g", 304}, + string_with_idx{"bassa_vah", 258}, + string_with_idx{"batak", 61}, + string_with_idx{"bengali", 24}, + string_with_idx{"bhaiksuki", 241}, + string_with_idx{"block_elements", 86}, + string_with_idx{"bopomofo", 111}, + string_with_idx{"bopomofo_ext", 114}, + string_with_idx{"bopomofo_extended", 114}, + string_with_idx{"box_drawing", 85}, + string_with_idx{"brahmi", 215}, + string_with_idx{"braille", 92}, + string_with_idx{"braille_patterns", 92}, + string_with_idx{"buginese", 56}, + string_with_idx{"buhid", 47}, + string_with_idx{"byzantine_music", 275}, + string_with_idx{"byzantine_musical_symbols", 275}, + string_with_idx{"carian", 172}, + string_with_idx{"caucasian_albanian", 184}, + string_with_idx{"chakma", 218}, + string_with_idx{"cham", 140}, + string_with_idx{"cherokee", 41}, + string_with_idx{"cherokee_sup", 146}, + string_with_idx{"cherokee_supplement", 146}, + string_with_idx{"chess_symbols", 307}, + string_with_idx{"chorasmian", 213}, + string_with_idx{"cjk", 121}, + string_with_idx{"cjk_compat", 118}, + string_with_idx{"cjk_compat_forms", 160}, + string_with_idx{"cjk_compat_ideographs", 154}, + string_with_idx{"cjk_compat_ideographs_sup", 315}, + string_with_idx{"cjk_compatibility", 118}, + string_with_idx{"cjk_compatibility_forms", 160}, + string_with_idx{"cjk_compatibility_ideographs", 154}, + string_with_idx{"cjk_compatibility_ideographs_supplement", 315}, + string_with_idx{"cjk_ext_a", 119}, + string_with_idx{"cjk_ext_b", 310}, + string_with_idx{"cjk_ext_c", 311}, + string_with_idx{"cjk_ext_d", 312}, + string_with_idx{"cjk_ext_e", 313}, + string_with_idx{"cjk_ext_f", 314}, + string_with_idx{"cjk_ext_g", 316}, + string_with_idx{"cjk_radicals_sup", 105}, + string_with_idx{"cjk_radicals_supplement", 105}, + string_with_idx{"cjk_strokes", 115}, + string_with_idx{"cjk_symbols", 108}, + string_with_idx{"cjk_symbols_and_punctuation", 108}, + string_with_idx{"cjk_unified_ideographs", 121}, + string_with_idx{"cjk_unified_ideographs_extension_a", 119}, + string_with_idx{"cjk_unified_ideographs_extension_b", 310}, + string_with_idx{"cjk_unified_ideographs_extension_c", 311}, + string_with_idx{"cjk_unified_ideographs_extension_d", 312}, + string_with_idx{"cjk_unified_ideographs_extension_e", 313}, + string_with_idx{"cjk_unified_ideographs_extension_f", 314}, + string_with_idx{"cjk_unified_ideographs_extension_g", 316}, string_with_idx{"combining_diacritical_marks", 7}, - string_with_idx{"combining_diacritical_marks_extended", 57}, - string_with_idx{"combining_diacritical_marks_for_symbols", 75}, - string_with_idx{"combining_diacritical_marks_supplement", 69}, - string_with_idx{"combining_half_marks", 158}, - string_with_idx{"common_indic_number_forms", 130}, - string_with_idx{"compat_jamo", 111}, - string_with_idx{"control_pictures", 81}, - string_with_idx{"coptic", 98}, - string_with_idx{"coptic_epact_numbers", 172}, - string_with_idx{"counting_rod", 271}, - string_with_idx{"counting_rod_numerals", 271}, - string_with_idx{"cuneiform", 243}, - string_with_idx{"cuneiform_numbers", 244}, - string_with_idx{"cuneiform_numbers_and_punctuation", 244}, - string_with_idx{"currency_symbols", 74}, - string_with_idx{"cypriot_syllabary", 185}, + string_with_idx{"combining_diacritical_marks_extended", 58}, + string_with_idx{"combining_diacritical_marks_for_symbols", 76}, + string_with_idx{"combining_diacritical_marks_supplement", 70}, + string_with_idx{"combining_half_marks", 159}, + string_with_idx{"common_indic_number_forms", 131}, + string_with_idx{"compat_jamo", 112}, + string_with_idx{"control_pictures", 82}, + string_with_idx{"coptic", 99}, + string_with_idx{"coptic_epact_numbers", 173}, + string_with_idx{"counting_rod", 280}, + string_with_idx{"counting_rod_numerals", 280}, + string_with_idx{"cuneiform", 248}, + string_with_idx{"cuneiform_numbers", 249}, + string_with_idx{"cuneiform_numbers_and_punctuation", 249}, + string_with_idx{"currency_symbols", 75}, + string_with_idx{"cypriot_syllabary", 188}, + string_with_idx{"cypro_minoan", 251}, string_with_idx{"cyrillic", 9}, - string_with_idx{"cyrillic_ext_a", 102}, - string_with_idx{"cyrillic_ext_b", 125}, - string_with_idx{"cyrillic_ext_c", 63}, - string_with_idx{"cyrillic_extended_a", 102}, - string_with_idx{"cyrillic_extended_b", 125}, - string_with_idx{"cyrillic_extended_c", 63}, + string_with_idx{"cyrillic_ext_a", 103}, + string_with_idx{"cyrillic_ext_b", 126}, + string_with_idx{"cyrillic_ext_c", 64}, + string_with_idx{"cyrillic_extended_a", 103}, + string_with_idx{"cyrillic_extended_b", 126}, + string_with_idx{"cyrillic_extended_c", 64}, string_with_idx{"cyrillic_sup", 10}, string_with_idx{"cyrillic_supplement", 10}, - string_with_idx{"deseret", 178}, - string_with_idx{"devanagari", 22}, - string_with_idx{"devanagari_ext", 133}, - string_with_idx{"devanagari_extended", 133}, + string_with_idx{"deseret", 179}, + string_with_idx{"devanagari", 23}, + string_with_idx{"devanagari_ext", 134}, + string_with_idx{"devanagari_extended", 134}, string_with_idx{"diacriticals", 7}, - string_with_idx{"diacriticals_ext", 57}, - string_with_idx{"diacriticals_for_symbols", 75}, - string_with_idx{"diacriticals_sup", 69}, - string_with_idx{"dingbats", 88}, - string_with_idx{"dives_akuru", 231}, - string_with_idx{"dogra", 229}, - string_with_idx{"domino", 283}, - string_with_idx{"domino_tiles", 283}, - string_with_idx{"duployan", 264}, - string_with_idx{"early_dynastic_cuneiform", 245}, - string_with_idx{"egyptian_hieroglyph_format_controls", 247}, - string_with_idx{"egyptian_hieroglyphs", 246}, - string_with_idx{"elbasan", 182}, - string_with_idx{"elymaic", 210}, - string_with_idx{"emoticons", 288}, - string_with_idx{"enclosed_alphanum", 83}, - string_with_idx{"enclosed_alphanum_sup", 285}, - string_with_idx{"enclosed_alphanumeric_supplement", 285}, - string_with_idx{"enclosed_alphanumerics", 83}, - string_with_idx{"enclosed_cjk", 116}, - string_with_idx{"enclosed_cjk_letters_and_months", 116}, - string_with_idx{"enclosed_ideographic_sup", 286}, - string_with_idx{"enclosed_ideographic_supplement", 286}, - string_with_idx{"ethiopic", 38}, - string_with_idx{"ethiopic_ext", 101}, - string_with_idx{"ethiopic_ext_a", 143}, - string_with_idx{"ethiopic_extended", 101}, - string_with_idx{"ethiopic_extended_a", 143}, - string_with_idx{"ethiopic_sup", 39}, - string_with_idx{"ethiopic_supplement", 39}, - string_with_idx{"general_punctuation", 72}, - string_with_idx{"geometric_shapes", 86}, - string_with_idx{"geometric_shapes_ext", 292}, - string_with_idx{"geometric_shapes_extended", 292}, - string_with_idx{"georgian", 36}, - string_with_idx{"georgian_ext", 64}, - string_with_idx{"georgian_extended", 64}, - string_with_idx{"georgian_sup", 99}, - string_with_idx{"georgian_supplement", 99}, - string_with_idx{"glagolitic", 96}, - string_with_idx{"glagolitic_sup", 274}, - string_with_idx{"glagolitic_supplement", 274}, - string_with_idx{"gothic", 174}, - string_with_idx{"grantha", 221}, + string_with_idx{"diacriticals_ext", 58}, + string_with_idx{"diacriticals_for_symbols", 76}, + string_with_idx{"diacriticals_sup", 70}, + string_with_idx{"dingbats", 89}, + string_with_idx{"dives_akuru", 235}, + string_with_idx{"dogra", 233}, + string_with_idx{"domino", 295}, + string_with_idx{"domino_tiles", 295}, + string_with_idx{"duployan", 272}, + string_with_idx{"early_dynastic_cuneiform", 250}, + string_with_idx{"egyptian_hieroglyph_format_controls", 253}, + string_with_idx{"egyptian_hieroglyphs", 252}, + string_with_idx{"elbasan", 183}, + string_with_idx{"elymaic", 214}, + string_with_idx{"emoticons", 300}, + string_with_idx{"enclosed_alphanum", 84}, + string_with_idx{"enclosed_alphanum_sup", 297}, + string_with_idx{"enclosed_alphanumeric_supplement", 297}, + string_with_idx{"enclosed_alphanumerics", 84}, + string_with_idx{"enclosed_cjk", 117}, + string_with_idx{"enclosed_cjk_letters_and_months", 117}, + string_with_idx{"enclosed_ideographic_sup", 298}, + string_with_idx{"enclosed_ideographic_supplement", 298}, + string_with_idx{"ethiopic", 39}, + string_with_idx{"ethiopic_ext", 102}, + string_with_idx{"ethiopic_ext_a", 144}, + string_with_idx{"ethiopic_ext_b", 288}, + string_with_idx{"ethiopic_extended", 102}, + string_with_idx{"ethiopic_extended_a", 144}, + string_with_idx{"ethiopic_extended_b", 288}, + string_with_idx{"ethiopic_sup", 40}, + string_with_idx{"ethiopic_supplement", 40}, + string_with_idx{"general_punctuation", 73}, + string_with_idx{"geometric_shapes", 87}, + string_with_idx{"geometric_shapes_ext", 304}, + string_with_idx{"geometric_shapes_extended", 304}, + string_with_idx{"georgian", 37}, + string_with_idx{"georgian_ext", 65}, + string_with_idx{"georgian_extended", 65}, + string_with_idx{"georgian_sup", 100}, + string_with_idx{"georgian_supplement", 100}, + string_with_idx{"glagolitic", 97}, + string_with_idx{"glagolitic_sup", 284}, + string_with_idx{"glagolitic_supplement", 284}, + string_with_idx{"gothic", 175}, + string_with_idx{"grantha", 225}, string_with_idx{"greek", 8}, string_with_idx{"greek_and_coptic", 8}, - string_with_idx{"greek_ext", 71}, - string_with_idx{"greek_extended", 71}, - string_with_idx{"gujarati", 25}, - string_with_idx{"gunjala_gondi", 239}, - string_with_idx{"gurmukhi", 24}, - string_with_idx{"half_and_full_forms", 162}, - string_with_idx{"half_marks", 158}, - string_with_idx{"halfwidth_and_fullwidth_forms", 162}, - string_with_idx{"hangul", 147}, - string_with_idx{"hangul_compatibility_jamo", 111}, - string_with_idx{"hangul_jamo", 37}, - string_with_idx{"hangul_jamo_extended_a", 136}, - string_with_idx{"hangul_jamo_extended_b", 148}, - string_with_idx{"hangul_syllables", 147}, - string_with_idx{"hanifi_rohingya", 204}, - string_with_idx{"hanunoo", 45}, - string_with_idx{"hatran", 189}, + string_with_idx{"greek_ext", 72}, + string_with_idx{"greek_extended", 72}, + string_with_idx{"gujarati", 26}, + string_with_idx{"gunjala_gondi", 244}, + string_with_idx{"gurmukhi", 25}, + string_with_idx{"half_and_full_forms", 163}, + string_with_idx{"half_marks", 159}, + string_with_idx{"halfwidth_and_fullwidth_forms", 163}, + string_with_idx{"hangul", 148}, + string_with_idx{"hangul_compatibility_jamo", 112}, + string_with_idx{"hangul_jamo", 38}, + string_with_idx{"hangul_jamo_extended_a", 137}, + string_with_idx{"hangul_jamo_extended_b", 149}, + string_with_idx{"hangul_syllables", 148}, + string_with_idx{"hanifi_rohingya", 207}, + string_with_idx{"hanunoo", 46}, + string_with_idx{"hatran", 192}, string_with_idx{"hebrew", 12}, - string_with_idx{"high_private_use_surrogates", 150}, - string_with_idx{"high_pu_surrogates", 150}, - string_with_idx{"high_surrogates", 149}, - string_with_idx{"hiragana", 108}, - string_with_idx{"idc", 106}, - string_with_idx{"ideographic_description_characters", 106}, - string_with_idx{"ideographic_symbols", 255}, - string_with_idx{"ideographic_symbols_and_punctuation", 255}, - string_with_idx{"imperial_aramaic", 186}, - string_with_idx{"indic_number_forms", 130}, - string_with_idx{"indic_siyaq_numbers", 279}, - string_with_idx{"inscriptional_pahlavi", 200}, - string_with_idx{"inscriptional_parthian", 199}, + string_with_idx{"high_private_use_surrogates", 151}, + string_with_idx{"high_pu_surrogates", 151}, + string_with_idx{"high_surrogates", 150}, + string_with_idx{"hiragana", 109}, + string_with_idx{"idc", 107}, + string_with_idx{"ideographic_description_characters", 107}, + string_with_idx{"ideographic_symbols", 262}, + string_with_idx{"ideographic_symbols_and_punctuation", 262}, + string_with_idx{"imperial_aramaic", 189}, + string_with_idx{"indic_number_forms", 131}, + string_with_idx{"indic_siyaq_numbers", 291}, + string_with_idx{"inscriptional_pahlavi", 203}, + string_with_idx{"inscriptional_parthian", 202}, string_with_idx{"ipa_ext", 5}, string_with_idx{"ipa_extensions", 5}, - string_with_idx{"jamo", 37}, - string_with_idx{"jamo_ext_a", 136}, - string_with_idx{"jamo_ext_b", 148}, - string_with_idx{"javanese", 137}, - string_with_idx{"kaithi", 212}, - string_with_idx{"kana_ext_a", 261}, - string_with_idx{"kana_extended_a", 261}, - string_with_idx{"kana_sup", 260}, - string_with_idx{"kana_supplement", 260}, - string_with_idx{"kanbun", 112}, - string_with_idx{"kangxi", 105}, - string_with_idx{"kangxi_radicals", 105}, - string_with_idx{"kannada", 29}, - string_with_idx{"katakana", 109}, - string_with_idx{"katakana_ext", 115}, - string_with_idx{"katakana_phonetic_extensions", 115}, - string_with_idx{"kayah_li", 134}, - string_with_idx{"kharoshthi", 194}, - string_with_idx{"khitan_small_script", 258}, - string_with_idx{"khmer", 48}, - string_with_idx{"khmer_symbols", 54}, - string_with_idx{"khojki", 218}, - string_with_idx{"khudawadi", 220}, - string_with_idx{"lao", 33}, + string_with_idx{"jamo", 38}, + string_with_idx{"jamo_ext_a", 137}, + string_with_idx{"jamo_ext_b", 149}, + string_with_idx{"javanese", 138}, + string_with_idx{"kaithi", 216}, + string_with_idx{"kana_ext_a", 269}, + string_with_idx{"kana_ext_b", 267}, + string_with_idx{"kana_extended_a", 269}, + string_with_idx{"kana_extended_b", 267}, + string_with_idx{"kana_sup", 268}, + string_with_idx{"kana_supplement", 268}, + string_with_idx{"kanbun", 113}, + string_with_idx{"kangxi", 106}, + string_with_idx{"kangxi_radicals", 106}, + string_with_idx{"kannada", 30}, + string_with_idx{"katakana", 110}, + string_with_idx{"katakana_ext", 116}, + string_with_idx{"katakana_phonetic_extensions", 116}, + string_with_idx{"kayah_li", 135}, + string_with_idx{"kharoshthi", 197}, + string_with_idx{"khitan_small_script", 265}, + string_with_idx{"khmer", 49}, + string_with_idx{"khmer_symbols", 55}, + string_with_idx{"khojki", 222}, + string_with_idx{"khudawadi", 224}, + string_with_idx{"lao", 34}, string_with_idx{"latin_1_sup", 2}, string_with_idx{"latin_1_supplement", 2}, string_with_idx{"latin_ext_a", 3}, - string_with_idx{"latin_ext_additional", 70}, + string_with_idx{"latin_ext_additional", 71}, string_with_idx{"latin_ext_b", 4}, - string_with_idx{"latin_ext_c", 97}, - string_with_idx{"latin_ext_d", 128}, - string_with_idx{"latin_ext_e", 144}, + string_with_idx{"latin_ext_c", 98}, + string_with_idx{"latin_ext_d", 129}, + string_with_idx{"latin_ext_e", 145}, + string_with_idx{"latin_ext_f", 187}, + string_with_idx{"latin_ext_g", 283}, string_with_idx{"latin_extended_a", 3}, - string_with_idx{"latin_extended_additional", 70}, + string_with_idx{"latin_extended_additional", 71}, string_with_idx{"latin_extended_b", 4}, - string_with_idx{"latin_extended_c", 97}, - string_with_idx{"latin_extended_d", 128}, - string_with_idx{"latin_extended_e", 144}, - string_with_idx{"lepcha", 61}, - string_with_idx{"letterlike_symbols", 76}, - string_with_idx{"limbu", 51}, - string_with_idx{"linear_a", 184}, - string_with_idx{"linear_b_ideograms", 165}, - string_with_idx{"linear_b_syllabary", 164}, - string_with_idx{"lisu", 123}, - string_with_idx{"lisu_sup", 241}, - string_with_idx{"lisu_supplement", 241}, - string_with_idx{"low_surrogates", 151}, - string_with_idx{"lycian", 170}, - string_with_idx{"lydian", 191}, - string_with_idx{"mahajani", 215}, - string_with_idx{"mahjong", 282}, - string_with_idx{"mahjong_tiles", 282}, - string_with_idx{"makasar", 240}, - string_with_idx{"malayalam", 30}, + string_with_idx{"latin_extended_c", 98}, + string_with_idx{"latin_extended_d", 129}, + string_with_idx{"latin_extended_e", 145}, + string_with_idx{"latin_extended_f", 187}, + string_with_idx{"latin_extended_g", 283}, + string_with_idx{"lepcha", 62}, + string_with_idx{"letterlike_symbols", 77}, + string_with_idx{"limbu", 52}, + string_with_idx{"linear_a", 186}, + string_with_idx{"linear_b_ideograms", 166}, + string_with_idx{"linear_b_syllabary", 165}, + string_with_idx{"lisu", 124}, + string_with_idx{"lisu_sup", 246}, + string_with_idx{"lisu_supplement", 246}, + string_with_idx{"low_surrogates", 152}, + string_with_idx{"lycian", 171}, + string_with_idx{"lydian", 194}, + string_with_idx{"mahajani", 219}, + string_with_idx{"mahjong", 294}, + string_with_idx{"mahjong_tiles", 294}, + string_with_idx{"makasar", 245}, + string_with_idx{"malayalam", 31}, string_with_idx{"mandaic", 19}, - string_with_idx{"manichaean", 197}, - string_with_idx{"marchen", 237}, - string_with_idx{"masaram_gondi", 238}, - string_with_idx{"math_alphanum", 272}, - string_with_idx{"math_operators", 79}, - string_with_idx{"mathematical_alphanumeric_symbols", 272}, - string_with_idx{"mathematical_operators", 79}, - string_with_idx{"mayan_numerals", 269}, - string_with_idx{"medefaidrin", 253}, - string_with_idx{"meetei_mayek", 146}, - string_with_idx{"meetei_mayek_ext", 142}, - string_with_idx{"meetei_mayek_extensions", 142}, - string_with_idx{"mende_kikakui", 277}, - string_with_idx{"meroitic_cursive", 193}, - string_with_idx{"meroitic_hieroglyphs", 192}, - string_with_idx{"miao", 254}, - string_with_idx{"misc_arrows", 95}, - string_with_idx{"misc_math_symbols_a", 89}, - string_with_idx{"misc_math_symbols_b", 93}, - string_with_idx{"misc_pictographs", 287}, - string_with_idx{"misc_symbols", 87}, - string_with_idx{"misc_technical", 80}, - string_with_idx{"miscellaneous_mathematical_symbols_a", 89}, - string_with_idx{"miscellaneous_mathematical_symbols_b", 93}, - string_with_idx{"miscellaneous_symbols", 87}, - string_with_idx{"miscellaneous_symbols_and_arrows", 95}, - string_with_idx{"miscellaneous_symbols_and_pictographs", 287}, - string_with_idx{"miscellaneous_technical", 80}, - string_with_idx{"modi", 225}, + string_with_idx{"manichaean", 200}, + string_with_idx{"marchen", 242}, + string_with_idx{"masaram_gondi", 243}, + string_with_idx{"math_alphanum", 281}, + string_with_idx{"math_operators", 80}, + string_with_idx{"mathematical_alphanumeric_symbols", 281}, + string_with_idx{"mathematical_operators", 80}, + string_with_idx{"mayan_numerals", 278}, + string_with_idx{"medefaidrin", 260}, + string_with_idx{"meetei_mayek", 147}, + string_with_idx{"meetei_mayek_ext", 143}, + string_with_idx{"meetei_mayek_extensions", 143}, + string_with_idx{"mende_kikakui", 289}, + string_with_idx{"meroitic_cursive", 196}, + string_with_idx{"meroitic_hieroglyphs", 195}, + string_with_idx{"miao", 261}, + string_with_idx{"misc_arrows", 96}, + string_with_idx{"misc_math_symbols_a", 90}, + string_with_idx{"misc_math_symbols_b", 94}, + string_with_idx{"misc_pictographs", 299}, + string_with_idx{"misc_symbols", 88}, + string_with_idx{"misc_technical", 81}, + string_with_idx{"miscellaneous_mathematical_symbols_a", 90}, + string_with_idx{"miscellaneous_mathematical_symbols_b", 94}, + string_with_idx{"miscellaneous_symbols", 88}, + string_with_idx{"miscellaneous_symbols_and_arrows", 96}, + string_with_idx{"miscellaneous_symbols_and_pictographs", 299}, + string_with_idx{"miscellaneous_technical", 81}, + string_with_idx{"modi", 229}, string_with_idx{"modifier_letters", 6}, - string_with_idx{"modifier_tone_letters", 127}, - string_with_idx{"mongolian", 49}, - string_with_idx{"mongolian_sup", 226}, - string_with_idx{"mongolian_supplement", 226}, - string_with_idx{"mro", 250}, - string_with_idx{"multani", 219}, - string_with_idx{"music", 267}, - string_with_idx{"musical_symbols", 267}, - string_with_idx{"myanmar", 35}, - string_with_idx{"myanmar_ext_a", 140}, - string_with_idx{"myanmar_ext_b", 138}, - string_with_idx{"myanmar_extended_a", 140}, - string_with_idx{"myanmar_extended_b", 138}, - string_with_idx{"nabataean", 188}, - string_with_idx{"nandinagari", 232}, + string_with_idx{"modifier_tone_letters", 128}, + string_with_idx{"mongolian", 50}, + string_with_idx{"mongolian_sup", 230}, + string_with_idx{"mongolian_supplement", 230}, + string_with_idx{"mro", 256}, + string_with_idx{"multani", 223}, + string_with_idx{"music", 276}, + string_with_idx{"musical_symbols", 276}, + string_with_idx{"myanmar", 36}, + string_with_idx{"myanmar_ext_a", 141}, + string_with_idx{"myanmar_ext_b", 139}, + string_with_idx{"myanmar_extended_a", 141}, + string_with_idx{"myanmar_extended_b", 139}, + string_with_idx{"nabataean", 191}, + string_with_idx{"nandinagari", 236}, string_with_idx{"nb", 0}, - string_with_idx{"new_tai_lue", 53}, - string_with_idx{"newa", 222}, + string_with_idx{"new_tai_lue", 54}, + string_with_idx{"newa", 226}, string_with_idx{"nko", 17}, string_with_idx{"no_block", 0}, - string_with_idx{"number_forms", 77}, - string_with_idx{"nushu", 263}, - string_with_idx{"nyiakeng_puachue_hmong", 275}, - string_with_idx{"ocr", 82}, - string_with_idx{"ogham", 42}, - string_with_idx{"ol_chiki", 62}, - string_with_idx{"old_hungarian", 203}, - string_with_idx{"old_italic", 173}, - string_with_idx{"old_north_arabian", 196}, - string_with_idx{"old_permic", 175}, - string_with_idx{"old_persian", 177}, - string_with_idx{"old_sogdian", 207}, - string_with_idx{"old_south_arabian", 195}, - string_with_idx{"old_turkic", 202}, - string_with_idx{"optical_character_recognition", 82}, - string_with_idx{"oriya", 26}, - string_with_idx{"ornamental_dingbats", 289}, - string_with_idx{"osage", 181}, - string_with_idx{"osmanya", 180}, - string_with_idx{"ottoman_siyaq_numbers", 280}, - string_with_idx{"pahawh_hmong", 252}, - string_with_idx{"palmyrene", 187}, - string_with_idx{"pau_cin_hau", 235}, - string_with_idx{"phags_pa", 131}, - string_with_idx{"phaistos", 169}, - string_with_idx{"phaistos_disc", 169}, - string_with_idx{"phoenician", 190}, - string_with_idx{"phonetic_ext", 67}, - string_with_idx{"phonetic_ext_sup", 68}, - string_with_idx{"phonetic_extensions", 67}, - string_with_idx{"phonetic_extensions_supplement", 68}, - string_with_idx{"playing_cards", 284}, - string_with_idx{"private_use_area", 152}, - string_with_idx{"psalter_pahlavi", 201}, - string_with_idx{"pua", 152}, - string_with_idx{"punctuation", 72}, - string_with_idx{"rejang", 135}, - string_with_idx{"rumi", 205}, - string_with_idx{"rumi_numeral_symbols", 205}, - string_with_idx{"runic", 43}, + string_with_idx{"number_forms", 78}, + string_with_idx{"nushu", 271}, + string_with_idx{"nyiakeng_puachue_hmong", 285}, + string_with_idx{"ocr", 83}, + string_with_idx{"ogham", 43}, + string_with_idx{"ol_chiki", 63}, + string_with_idx{"old_hungarian", 206}, + string_with_idx{"old_italic", 174}, + string_with_idx{"old_north_arabian", 199}, + string_with_idx{"old_permic", 176}, + string_with_idx{"old_persian", 178}, + string_with_idx{"old_sogdian", 210}, + string_with_idx{"old_south_arabian", 198}, + string_with_idx{"old_turkic", 205}, + string_with_idx{"old_uyghur", 212}, + string_with_idx{"optical_character_recognition", 83}, + string_with_idx{"oriya", 27}, + string_with_idx{"ornamental_dingbats", 301}, + string_with_idx{"osage", 182}, + string_with_idx{"osmanya", 181}, + string_with_idx{"ottoman_siyaq_numbers", 292}, + string_with_idx{"pahawh_hmong", 259}, + string_with_idx{"palmyrene", 190}, + string_with_idx{"pau_cin_hau", 240}, + string_with_idx{"phags_pa", 132}, + string_with_idx{"phaistos", 170}, + string_with_idx{"phaistos_disc", 170}, + string_with_idx{"phoenician", 193}, + string_with_idx{"phonetic_ext", 68}, + string_with_idx{"phonetic_ext_sup", 69}, + string_with_idx{"phonetic_extensions", 68}, + string_with_idx{"phonetic_extensions_supplement", 69}, + string_with_idx{"playing_cards", 296}, + string_with_idx{"private_use_area", 153}, + string_with_idx{"psalter_pahlavi", 204}, + string_with_idx{"pua", 153}, + string_with_idx{"punctuation", 73}, + string_with_idx{"rejang", 136}, + string_with_idx{"rumi", 208}, + string_with_idx{"rumi_numeral_symbols", 208}, + string_with_idx{"runic", 44}, string_with_idx{"samaritan", 18}, - string_with_idx{"saurashtra", 132}, - string_with_idx{"sharada", 216}, - string_with_idx{"shavian", 179}, - string_with_idx{"shorthand_format_controls", 265}, - string_with_idx{"siddham", 224}, - string_with_idx{"sinhala", 31}, - string_with_idx{"sinhala_archaic_numbers", 217}, - string_with_idx{"small_form_variants", 160}, - string_with_idx{"small_forms", 160}, - string_with_idx{"small_kana_ext", 262}, - string_with_idx{"small_kana_extension", 262}, - string_with_idx{"sogdian", 208}, - string_with_idx{"sora_sompeng", 213}, - string_with_idx{"soyombo", 234}, + string_with_idx{"saurashtra", 133}, + string_with_idx{"sharada", 220}, + string_with_idx{"shavian", 180}, + string_with_idx{"shorthand_format_controls", 273}, + string_with_idx{"siddham", 228}, + string_with_idx{"sinhala", 32}, + string_with_idx{"sinhala_archaic_numbers", 221}, + string_with_idx{"small_form_variants", 161}, + string_with_idx{"small_forms", 161}, + string_with_idx{"small_kana_ext", 270}, + string_with_idx{"small_kana_extension", 270}, + string_with_idx{"sogdian", 211}, + string_with_idx{"sora_sompeng", 217}, + string_with_idx{"soyombo", 238}, string_with_idx{"spacing_modifier_letters", 6}, - string_with_idx{"specials", 163}, - string_with_idx{"sundanese", 59}, - string_with_idx{"sundanese_sup", 65}, - string_with_idx{"sundanese_supplement", 65}, - string_with_idx{"sup_arrows_a", 90}, - string_with_idx{"sup_arrows_b", 92}, - string_with_idx{"sup_arrows_c", 293}, - string_with_idx{"sup_math_operators", 94}, - string_with_idx{"sup_pua_a", 307}, - string_with_idx{"sup_pua_b", 308}, - string_with_idx{"sup_punctuation", 103}, - string_with_idx{"sup_symbols_and_pictographs", 294}, - string_with_idx{"super_and_sub", 73}, - string_with_idx{"superscripts_and_subscripts", 73}, - string_with_idx{"supplemental_arrows_a", 90}, - string_with_idx{"supplemental_arrows_b", 92}, - string_with_idx{"supplemental_arrows_c", 293}, - string_with_idx{"supplemental_mathematical_operators", 94}, - string_with_idx{"supplemental_punctuation", 103}, - string_with_idx{"supplemental_symbols_and_pictographs", 294}, - string_with_idx{"supplementary_private_use_area_a", 307}, - string_with_idx{"supplementary_private_use_area_b", 308}, - string_with_idx{"sutton_signwriting", 273}, - string_with_idx{"syloti_nagri", 129}, - string_with_idx{"symbols_and_pictographs_ext_a", 296}, - string_with_idx{"symbols_and_pictographs_extended_a", 296}, - string_with_idx{"symbols_for_legacy_computing", 297}, + string_with_idx{"specials", 164}, + string_with_idx{"sundanese", 60}, + string_with_idx{"sundanese_sup", 66}, + string_with_idx{"sundanese_supplement", 66}, + string_with_idx{"sup_arrows_a", 91}, + string_with_idx{"sup_arrows_b", 93}, + string_with_idx{"sup_arrows_c", 305}, + string_with_idx{"sup_math_operators", 95}, + string_with_idx{"sup_pua_a", 319}, + string_with_idx{"sup_pua_b", 320}, + string_with_idx{"sup_punctuation", 104}, + string_with_idx{"sup_symbols_and_pictographs", 306}, + string_with_idx{"super_and_sub", 74}, + string_with_idx{"superscripts_and_subscripts", 74}, + string_with_idx{"supplemental_arrows_a", 91}, + string_with_idx{"supplemental_arrows_b", 93}, + string_with_idx{"supplemental_arrows_c", 305}, + string_with_idx{"supplemental_mathematical_operators", 95}, + string_with_idx{"supplemental_punctuation", 104}, + string_with_idx{"supplemental_symbols_and_pictographs", 306}, + string_with_idx{"supplementary_private_use_area_a", 319}, + string_with_idx{"supplementary_private_use_area_b", 320}, + string_with_idx{"sutton_signwriting", 282}, + string_with_idx{"syloti_nagri", 130}, + string_with_idx{"symbols_and_pictographs_ext_a", 308}, + string_with_idx{"symbols_and_pictographs_extended_a", 308}, + string_with_idx{"symbols_for_legacy_computing", 309}, string_with_idx{"syriac", 14}, string_with_idx{"syriac_sup", 20}, string_with_idx{"syriac_supplement", 20}, - string_with_idx{"tagalog", 44}, - string_with_idx{"tagbanwa", 47}, - string_with_idx{"tags", 305}, - string_with_idx{"tai_le", 52}, - string_with_idx{"tai_tham", 56}, - string_with_idx{"tai_viet", 141}, - string_with_idx{"tai_xuan_jing", 270}, - string_with_idx{"tai_xuan_jing_symbols", 270}, - string_with_idx{"takri", 227}, - string_with_idx{"tamil", 27}, - string_with_idx{"tamil_sup", 242}, - string_with_idx{"tamil_supplement", 242}, - string_with_idx{"tangut", 256}, - string_with_idx{"tangut_components", 257}, - string_with_idx{"tangut_sup", 259}, - string_with_idx{"tangut_supplement", 259}, - string_with_idx{"telugu", 28}, + string_with_idx{"tagalog", 45}, + string_with_idx{"tagbanwa", 48}, + string_with_idx{"tags", 317}, + string_with_idx{"tai_le", 53}, + string_with_idx{"tai_tham", 57}, + string_with_idx{"tai_viet", 142}, + string_with_idx{"tai_xuan_jing", 279}, + string_with_idx{"tai_xuan_jing_symbols", 279}, + string_with_idx{"takri", 231}, + string_with_idx{"tamil", 28}, + string_with_idx{"tamil_sup", 247}, + string_with_idx{"tamil_supplement", 247}, + string_with_idx{"tangsa", 257}, + string_with_idx{"tangut", 263}, + string_with_idx{"tangut_components", 264}, + string_with_idx{"tangut_sup", 266}, + string_with_idx{"tangut_supplement", 266}, + string_with_idx{"telugu", 29}, string_with_idx{"thaana", 16}, - string_with_idx{"thai", 32}, - string_with_idx{"tibetan", 34}, - string_with_idx{"tifinagh", 100}, - string_with_idx{"tirhuta", 223}, - string_with_idx{"transport_and_map", 290}, - string_with_idx{"transport_and_map_symbols", 290}, - string_with_idx{"ucas", 41}, - string_with_idx{"ucas_ext", 50}, - string_with_idx{"ugaritic", 176}, - string_with_idx{"unified_canadian_aboriginal_syllabics", 41}, - string_with_idx{"unified_canadian_aboriginal_syllabics_extended", 50}, - string_with_idx{"vai", 124}, - string_with_idx{"variation_selectors", 156}, - string_with_idx{"variation_selectors_supplement", 306}, - string_with_idx{"vedic_ext", 66}, - string_with_idx{"vedic_extensions", 66}, - string_with_idx{"vertical_forms", 157}, - string_with_idx{"vs", 156}, - string_with_idx{"vs_sup", 306}, - string_with_idx{"wancho", 276}, - string_with_idx{"warang_citi", 230}, - string_with_idx{"yezidi", 206}, - string_with_idx{"yi_radicals", 122}, - string_with_idx{"yi_syllables", 121}, - string_with_idx{"yijing", 119}, - string_with_idx{"yijing_hexagram_symbols", 119}, - string_with_idx{"zanabazar_square", 233}}; + string_with_idx{"thai", 33}, + string_with_idx{"tibetan", 35}, + string_with_idx{"tifinagh", 101}, + string_with_idx{"tirhuta", 227}, + string_with_idx{"toto", 286}, + string_with_idx{"transport_and_map", 302}, + string_with_idx{"transport_and_map_symbols", 302}, + string_with_idx{"ucas", 42}, + string_with_idx{"ucas_ext", 51}, + string_with_idx{"ucas_ext_a", 239}, + string_with_idx{"ugaritic", 177}, + string_with_idx{"unified_canadian_aboriginal_syllabics", 42}, + string_with_idx{"unified_canadian_aboriginal_syllabics_extended", 51}, + string_with_idx{"unified_canadian_aboriginal_syllabics_extended_a", 239}, + string_with_idx{"vai", 125}, + string_with_idx{"variation_selectors", 157}, + string_with_idx{"variation_selectors_supplement", 318}, + string_with_idx{"vedic_ext", 67}, + string_with_idx{"vedic_extensions", 67}, + string_with_idx{"vertical_forms", 158}, + string_with_idx{"vithkuqi", 185}, + string_with_idx{"vs", 157}, + string_with_idx{"vs_sup", 318}, + string_with_idx{"wancho", 287}, + string_with_idx{"warang_citi", 234}, + string_with_idx{"yezidi", 209}, + string_with_idx{"yi_radicals", 123}, + string_with_idx{"yi_syllables", 122}, + string_with_idx{"yijing", 120}, + string_with_idx{"yijing_hexagram_symbols", 120}, + string_with_idx{"zanabazar_square", 237}, + string_with_idx{"znamenny_music", 274}, + string_with_idx{"znamenny_musical_notation", 274}}; static constexpr const compact_range block_data = { 0x00000001, 0x00008001, 0x00010001, 0x00018001, 0x00025001, 0x0002B001, 0x00030001, 0x00037001, 0x00040001, 0x00050001, 0x00053001, 0x00059001, 0x00060001, 0x00070001, - 0x00075001, 0x00078001, 0x0007C001, 0x00080001, 0x00084001, 0x00086001, 0x00087000, - 0x0008A002, 0x00090002, 0x00098002, 0x000A0002, 0x000A8002, 0x000B0002, 0x000B8002, - 0x000C0002, 0x000C8002, 0x000D0002, 0x000D8002, 0x000E0002, 0x000E8002, 0x000F0002, - 0x00100002, 0x0010A002, 0x00110002, 0x00120002, 0x00138002, 0x0013A002, 0x00140002, - 0x00168002, 0x0016A002, 0x00170002, 0x00172002, 0x00174002, 0x00176002, 0x00178002, - 0x00180002, 0x0018B002, 0x00190002, 0x00195002, 0x00198002, 0x0019E002, 0x001A0002, - 0x001A2002, 0x001AB002, 0x001B0002, 0x001B8002, 0x001BC002, 0x001C0002, 0x001C5002, - 0x001C8002, 0x001C9002, 0x001CC002, 0x001CD002, 0x001D0002, 0x001D8002, 0x001DC002, - 0x001E0002, 0x001F0002, 0x00200002, 0x00207002, 0x0020A002, 0x0020D002, 0x00210002, - 0x00215002, 0x00219002, 0x00220002, 0x00230002, 0x00240002, 0x00244002, 0x00246002, - 0x00250002, 0x00258002, 0x0025A002, 0x00260002, 0x00270002, 0x0027C002, 0x0027F002, - 0x00280002, 0x00290002, 0x00298002, 0x002A0002, 0x002B0002, 0x002C0002, 0x002C6002, - 0x002C8002, 0x002D0002, 0x002D3002, 0x002D8002, 0x002DE002, 0x002E0002, 0x002E8002, - 0x002F0002, 0x002FE000, 0x002FF003, 0x00300003, 0x00304003, 0x0030A003, 0x00310003, - 0x00313003, 0x00319003, 0x0031A003, 0x0031C003, 0x0031F003, 0x00320003, 0x00330003, - 0x00340003, 0x004DC003, 0x004E0003, 0x00A00003, 0x00A49003, 0x00A4D003, 0x00A50003, - 0x00A64003, 0x00A6A003, 0x00A70003, 0x00A72003, 0x00A80003, 0x00A83003, 0x00A84003, - 0x00A88003, 0x00A8E003, 0x00A90003, 0x00A93003, 0x00A96003, 0x00A98003, 0x00A9E003, - 0x00AA0003, 0x00AA6003, 0x00AA8003, 0x00AAE003, 0x00AB0003, 0x00AB3003, 0x00AB7003, - 0x00ABC003, 0x00AC0003, 0x00D7B003, 0x00D80003, 0x00DB8003, 0x00DC0003, 0x00E00003, - 0x00F90003, 0x00FB0003, 0x00FB5003, 0x00FE0003, 0x00FE1003, 0x00FE2003, 0x00FE3003, - 0x00FE5003, 0x00FE7003, 0x00FF0003, 0x00FFF003, 0x01000003, 0x01008003, 0x01010003, - 0x01014003, 0x01019003, 0x0101D003, 0x01020000, 0x01028004, 0x0102A004, 0x0102E004, - 0x01030004, 0x01033004, 0x01035004, 0x01038004, 0x0103A004, 0x0103E000, 0x01040005, - 0x01045005, 0x01048005, 0x0104B005, 0x01050005, 0x01053005, 0x01057000, 0x01060006, - 0x01078000, 0x01080007, 0x01084007, 0x01086007, 0x01088007, 0x0108B000, 0x0108E008, - 0x01090008, 0x01092008, 0x01094000, 0x01098009, 0x0109A009, 0x010A0009, 0x010A6009, - 0x010A8009, 0x010AA000, 0x010AC00A, 0x010B000A, 0x010B400A, 0x010B600A, 0x010B800A, - 0x010BB000, 0x010C000B, 0x010C5000, 0x010C800C, 0x010D000C, 0x010D4000, 0x010E600D, - 0x010E800D, 0x010EC000, 0x010F000E, 0x010F300E, 0x010F7000, 0x010FB00F, 0x010FE00F, - 0x0110000F, 0x0110800F, 0x0110D00F, 0x0111000F, 0x0111500F, 0x0111800F, 0x0111E00F, - 0x0112000F, 0x01125000, 0x01128010, 0x0112B010, 0x01130010, 0x01138000, 0x01140011, - 0x01148011, 0x0114E000, 0x01158012, 0x01160012, 0x01166012, 0x01168012, 0x0116D000, - 0x01170013, 0x01174000, 0x01180014, 0x01185000, 0x0118A015, 0x01190015, 0x01196000, - 0x0119A016, 0x011A0016, 0x011A5016, 0x011AB000, 0x011AC017, 0x011B0000, 0x011C0018, - 0x011C7018, 0x011CC000, 0x011D0019, 0x011D6019, 0x011DB000, 0x011EE01A, 0x011F0000, - 0x011FB01B, 0x011FC01B, 0x0120001B, 0x0124001B, 0x0124801B, 0x01255000, 0x0130001C, - 0x0134301C, 0x01344000, 0x0144001D, 0x01468000, 0x0168001E, 0x016A401E, 0x016A7000, - 0x016AD01F, 0x016B001F, 0x016B9000, 0x016E4020, 0x016EA000, 0x016F0021, 0x016FA000, - 0x016FE022, 0x01700022, 0x01880022, 0x018B0022, 0x018D0022, 0x018D9000, 0x01B00023, - 0x01B10023, 0x01B13023, 0x01B17023, 0x01B30000, 0x01BC0024, 0x01BCA024, 0x01BCB000, - 0x01D00025, 0x01D10025, 0x01D20025, 0x01D25000, 0x01D2E026, 0x01D30026, 0x01D36026, - 0x01D38000, 0x01D40027, 0x01D80027, 0x01DAB000, 0x01E00028, 0x01E03000, 0x01E10029, - 0x01E15000, 0x01E2C02A, 0x01E30000, 0x01E8002B, 0x01E8E000, 0x01E9002C, 0x01E96000, - 0x01EC702D, 0x01ECC000, 0x01ED002E, 0x01ED5000, 0x01EE002F, 0x01EF0000, 0x01F00030, - 0x01F03030, 0x01F0A030, 0x01F10030, 0x01F20030, 0x01F30030, 0x01F60030, 0x01F65030, - 0x01F68030, 0x01F70030, 0x01F78030, 0x01F80030, 0x01F90030, 0x01FA0030, 0x01FA7030, - 0x01FB0030, 0x01FC0000, 0x02000031, 0x02A6E000, 0x02A70032, 0x02B74032, 0x02B82032, - 0x02CEB032, 0x02EBF000, 0x02F80033, 0x02FA2000, 0x03000034, 0x03135000, 0x0E000035, - 0x0E008000, 0x0E010036, 0x0E01F000, 0x0F000037, 0x10000037, 0xFFFFFFFF}; + 0x00075001, 0x00078001, 0x0007C001, 0x00080001, 0x00084001, 0x00086001, 0x00087001, + 0x0008A001, 0x00090001, 0x00098001, 0x000A0001, 0x000A8001, 0x000B0001, 0x000B8001, + 0x000C0001, 0x000C8001, 0x000D0001, 0x000D8001, 0x000E0001, 0x000E8001, 0x000F0001, + 0x00100001, 0x0010A001, 0x00110001, 0x00120001, 0x00138001, 0x0013A001, 0x00140001, + 0x00168001, 0x0016A001, 0x00170001, 0x00172001, 0x00174001, 0x00176001, 0x00178001, + 0x00180001, 0x0018B001, 0x00190001, 0x00195001, 0x00198001, 0x0019E001, 0x001A0001, + 0x001A2001, 0x001AB001, 0x001B0001, 0x001B8001, 0x001BC001, 0x001C0001, 0x001C5001, + 0x001C8001, 0x001C9001, 0x001CC001, 0x001CD001, 0x001D0001, 0x001D8001, 0x001DC001, + 0x001E0001, 0x001F0001, 0x00200001, 0x00207001, 0x0020A001, 0x0020D001, 0x00210001, + 0x00215001, 0x00219001, 0x00220001, 0x00230001, 0x00240001, 0x00244001, 0x00246001, + 0x00250001, 0x00258001, 0x0025A001, 0x00260001, 0x00270001, 0x0027C001, 0x0027F001, + 0x00280001, 0x00290001, 0x00298001, 0x002A0001, 0x002B0001, 0x002C0001, 0x002C6001, + 0x002C8001, 0x002D0001, 0x002D3001, 0x002D8001, 0x002DE001, 0x002E0001, 0x002E8001, + 0x002F0001, 0x002FE000, 0x002FF002, 0x00300002, 0x00304002, 0x0030A002, 0x00310002, + 0x00313002, 0x00319002, 0x0031A002, 0x0031C002, 0x0031F002, 0x00320002, 0x00330002, + 0x00340002, 0x004DC002, 0x004E0002, 0x00A00002, 0x00A49002, 0x00A4D002, 0x00A50002, + 0x00A64002, 0x00A6A002, 0x00A70002, 0x00A72002, 0x00A80002, 0x00A83002, 0x00A84002, + 0x00A88002, 0x00A8E002, 0x00A90002, 0x00A93002, 0x00A96002, 0x00A98002, 0x00A9E002, + 0x00AA0002, 0x00AA6002, 0x00AA8002, 0x00AAE002, 0x00AB0002, 0x00AB3002, 0x00AB7002, + 0x00ABC002, 0x00AC0002, 0x00D7B002, 0x00D80002, 0x00DB8002, 0x00DC0002, 0x00E00002, + 0x00F90002, 0x00FB0002, 0x00FB5002, 0x00FE0002, 0x00FE1002, 0x00FE2002, 0x00FE3002, + 0x00FE5002, 0x00FE7002, 0x00FF0002, 0x00FFF002, 0x01000002, 0x01008002, 0x01010002, + 0x01014002, 0x01019002, 0x0101D002, 0x01020000, 0x01028003, 0x0102A003, 0x0102E003, + 0x01030003, 0x01033003, 0x01035003, 0x01038003, 0x0103A003, 0x0103E000, 0x01040004, + 0x01045004, 0x01048004, 0x0104B004, 0x01050004, 0x01053004, 0x01057004, 0x0105C000, + 0x01060005, 0x01078005, 0x0107C000, 0x01080006, 0x01084006, 0x01086006, 0x01088006, + 0x0108B000, 0x0108E007, 0x01090007, 0x01092007, 0x01094000, 0x01098008, 0x0109A008, + 0x010A0008, 0x010A6008, 0x010A8008, 0x010AA000, 0x010AC009, 0x010B0009, 0x010B4009, + 0x010B6009, 0x010B8009, 0x010BB000, 0x010C000A, 0x010C5000, 0x010C800B, 0x010D000B, + 0x010D4000, 0x010E600C, 0x010E800C, 0x010EC000, 0x010F000D, 0x010F300D, 0x010F700D, + 0x010FB00D, 0x010FE00D, 0x0110000D, 0x0110800D, 0x0110D00D, 0x0111000D, 0x0111500D, + 0x0111800D, 0x0111E00D, 0x0112000D, 0x01125000, 0x0112800E, 0x0112B00E, 0x0113000E, + 0x01138000, 0x0114000F, 0x0114800F, 0x0114E000, 0x01158010, 0x01160010, 0x01166010, + 0x01168010, 0x0116D000, 0x01170011, 0x01175000, 0x01180012, 0x01185000, 0x0118A013, + 0x01190013, 0x01196000, 0x0119A014, 0x011A0014, 0x011A5014, 0x011AB014, 0x011AC014, + 0x011B0000, 0x011C0015, 0x011C7015, 0x011CC000, 0x011D0016, 0x011D6016, 0x011DB000, + 0x011EE017, 0x011F0000, 0x011FB018, 0x011FC018, 0x01200018, 0x01240018, 0x01248018, + 0x01255000, 0x012F9019, 0x01300019, 0x01343019, 0x01344000, 0x0144001A, 0x01468000, + 0x0168001B, 0x016A401B, 0x016A701B, 0x016AD01B, 0x016B001B, 0x016B9000, 0x016E401C, + 0x016EA000, 0x016F001D, 0x016FA000, 0x016FE01E, 0x0170001E, 0x0188001E, 0x018B001E, + 0x018D001E, 0x018D8000, 0x01AFF01F, 0x01B0001F, 0x01B1001F, 0x01B1301F, 0x01B1701F, + 0x01B30000, 0x01BC0020, 0x01BCA020, 0x01BCB000, 0x01CF0021, 0x01CFD000, 0x01D00022, + 0x01D10022, 0x01D20022, 0x01D25000, 0x01D2E023, 0x01D30023, 0x01D36023, 0x01D38000, + 0x01D40024, 0x01D80024, 0x01DAB000, 0x01DF0025, 0x01E00025, 0x01E03000, 0x01E10026, + 0x01E15000, 0x01E29027, 0x01E2C027, 0x01E30000, 0x01E7E028, 0x01E80028, 0x01E8E000, + 0x01E90029, 0x01E96000, 0x01EC702A, 0x01ECC000, 0x01ED002B, 0x01ED5000, 0x01EE002C, + 0x01EF0000, 0x01F0002D, 0x01F0302D, 0x01F0A02D, 0x01F1002D, 0x01F2002D, 0x01F3002D, + 0x01F6002D, 0x01F6502D, 0x01F6802D, 0x01F7002D, 0x01F7802D, 0x01F8002D, 0x01F9002D, + 0x01FA002D, 0x01FA702D, 0x01FB002D, 0x01FC0000, 0x0200002E, 0x02A6E000, 0x02A7002F, + 0x02B7402F, 0x02B8202F, 0x02CEB02F, 0x02EBF000, 0x02F80030, 0x02FA2000, 0x03000031, + 0x03135000, 0x0E000032, 0x0E008000, 0x0E010033, 0x0E01F000, 0x0F000034, 0x10000034, + 0xFFFFFFFF}; static constexpr string_with_idx scripts_names[] = { string_with_idx{"adlam", 0}, string_with_idx{"adlm", 0}, string_with_idx{"aghb", 1}, string_with_idx{"ahom", 2}, - string_with_idx{"anatolian_hieroglyphs", 51}, + string_with_idx{"anatolian_hieroglyphs", 52}, string_with_idx{"arab", 3}, string_with_idx{"arabic", 3}, string_with_idx{"armenian", 5}, @@ -3657,680 +3762,701 @@ namespace detail::tables { string_with_idx{"cherokee", 22}, string_with_idx{"chorasmian", 23}, string_with_idx{"chrs", 23}, - string_with_idx{"common", 156}, + string_with_idx{"common", 161}, string_with_idx{"copt", 24}, string_with_idx{"coptic", 24}, - string_with_idx{"cprt", 25}, - string_with_idx{"cuneiform", 151}, - string_with_idx{"cypriot", 25}, - string_with_idx{"cyrillic", 26}, - string_with_idx{"cyrl", 26}, - string_with_idx{"deseret", 30}, - string_with_idx{"deva", 27}, - string_with_idx{"devanagari", 27}, - string_with_idx{"diak", 28}, - string_with_idx{"dives_akuru", 28}, - string_with_idx{"dogr", 29}, - string_with_idx{"dogra", 29}, - string_with_idx{"dsrt", 30}, - string_with_idx{"dupl", 31}, - string_with_idx{"duployan", 31}, - string_with_idx{"egyp", 32}, - string_with_idx{"egyptian_hieroglyphs", 32}, - string_with_idx{"elba", 33}, - string_with_idx{"elbasan", 33}, - string_with_idx{"elym", 34}, - string_with_idx{"elymaic", 34}, - string_with_idx{"ethi", 35}, - string_with_idx{"ethiopic", 35}, - string_with_idx{"geor", 36}, - string_with_idx{"georgian", 36}, - string_with_idx{"glag", 37}, - string_with_idx{"glagolitic", 37}, - string_with_idx{"gong", 38}, - string_with_idx{"gonm", 39}, - string_with_idx{"goth", 40}, - string_with_idx{"gothic", 40}, - string_with_idx{"gran", 41}, - string_with_idx{"grantha", 41}, - string_with_idx{"greek", 42}, - string_with_idx{"grek", 42}, - string_with_idx{"gujarati", 43}, - string_with_idx{"gujr", 43}, - string_with_idx{"gunjala_gondi", 38}, - string_with_idx{"gurmukhi", 44}, - string_with_idx{"guru", 44}, - string_with_idx{"han", 46}, - string_with_idx{"hang", 45}, - string_with_idx{"hangul", 45}, - string_with_idx{"hani", 46}, - string_with_idx{"hanifi_rohingya", 114}, - string_with_idx{"hano", 47}, - string_with_idx{"hanunoo", 47}, - string_with_idx{"hatr", 48}, - string_with_idx{"hatran", 48}, - string_with_idx{"hebr", 49}, - string_with_idx{"hebrew", 49}, - string_with_idx{"hira", 50}, - string_with_idx{"hiragana", 50}, - string_with_idx{"hluw", 51}, - string_with_idx{"hmng", 52}, - string_with_idx{"hmnp", 53}, - string_with_idx{"hrkt", 54}, - string_with_idx{"hung", 55}, + string_with_idx{"cpmn", 25}, + string_with_idx{"cprt", 26}, + string_with_idx{"cuneiform", 156}, + string_with_idx{"cypriot", 26}, + string_with_idx{"cypro_minoan", 25}, + string_with_idx{"cyrillic", 27}, + string_with_idx{"cyrl", 27}, + string_with_idx{"deseret", 31}, + string_with_idx{"deva", 28}, + string_with_idx{"devanagari", 28}, + string_with_idx{"diak", 29}, + string_with_idx{"dives_akuru", 29}, + string_with_idx{"dogr", 30}, + string_with_idx{"dogra", 30}, + string_with_idx{"dsrt", 31}, + string_with_idx{"dupl", 32}, + string_with_idx{"duployan", 32}, + string_with_idx{"egyp", 33}, + string_with_idx{"egyptian_hieroglyphs", 33}, + string_with_idx{"elba", 34}, + string_with_idx{"elbasan", 34}, + string_with_idx{"elym", 35}, + string_with_idx{"elymaic", 35}, + string_with_idx{"ethi", 36}, + string_with_idx{"ethiopic", 36}, + string_with_idx{"geor", 37}, + string_with_idx{"georgian", 37}, + string_with_idx{"glag", 38}, + string_with_idx{"glagolitic", 38}, + string_with_idx{"gong", 39}, + string_with_idx{"gonm", 40}, + string_with_idx{"goth", 41}, + string_with_idx{"gothic", 41}, + string_with_idx{"gran", 42}, + string_with_idx{"grantha", 42}, + string_with_idx{"greek", 43}, + string_with_idx{"grek", 43}, + string_with_idx{"gujarati", 44}, + string_with_idx{"gujr", 44}, + string_with_idx{"gunjala_gondi", 39}, + string_with_idx{"gurmukhi", 45}, + string_with_idx{"guru", 45}, + string_with_idx{"han", 47}, + string_with_idx{"hang", 46}, + string_with_idx{"hangul", 46}, + string_with_idx{"hani", 47}, + string_with_idx{"hanifi_rohingya", 116}, + string_with_idx{"hano", 48}, + string_with_idx{"hanunoo", 48}, + string_with_idx{"hatr", 49}, + string_with_idx{"hatran", 49}, + string_with_idx{"hebr", 50}, + string_with_idx{"hebrew", 50}, + string_with_idx{"hira", 51}, + string_with_idx{"hiragana", 51}, + string_with_idx{"hluw", 52}, + string_with_idx{"hmng", 53}, + string_with_idx{"hmnp", 54}, + string_with_idx{"hrkt", 55}, + string_with_idx{"hung", 56}, string_with_idx{"imperial_aramaic", 4}, - string_with_idx{"inherited", 155}, - string_with_idx{"inscriptional_pahlavi", 108}, - string_with_idx{"inscriptional_parthian", 112}, - string_with_idx{"ital", 56}, - string_with_idx{"java", 57}, - string_with_idx{"javanese", 57}, - string_with_idx{"kaithi", 65}, - string_with_idx{"kali", 58}, - string_with_idx{"kana", 59}, - string_with_idx{"kannada", 64}, - string_with_idx{"katakana", 59}, - string_with_idx{"katakana_or_hiragana", 54}, - string_with_idx{"kayah_li", 58}, - string_with_idx{"khar", 60}, - string_with_idx{"kharoshthi", 60}, - string_with_idx{"khitan_small_script", 63}, - string_with_idx{"khmer", 61}, - string_with_idx{"khmr", 61}, - string_with_idx{"khoj", 62}, - string_with_idx{"khojki", 62}, - string_with_idx{"khudawadi", 123}, - string_with_idx{"kits", 63}, - string_with_idx{"knda", 64}, - string_with_idx{"kthi", 65}, - string_with_idx{"lana", 66}, - string_with_idx{"lao", 67}, - string_with_idx{"laoo", 67}, - string_with_idx{"latin", 68}, - string_with_idx{"latn", 68}, - string_with_idx{"lepc", 69}, - string_with_idx{"lepcha", 69}, - string_with_idx{"limb", 70}, - string_with_idx{"limbu", 70}, - string_with_idx{"lina", 71}, - string_with_idx{"linb", 72}, - string_with_idx{"linear_a", 71}, - string_with_idx{"linear_b", 72}, - string_with_idx{"lisu", 73}, - string_with_idx{"lyci", 74}, - string_with_idx{"lycian", 74}, - string_with_idx{"lydi", 75}, - string_with_idx{"lydian", 75}, - string_with_idx{"mahajani", 76}, - string_with_idx{"mahj", 76}, - string_with_idx{"maka", 77}, - string_with_idx{"makasar", 77}, - string_with_idx{"malayalam", 85}, - string_with_idx{"mand", 78}, - string_with_idx{"mandaic", 78}, - string_with_idx{"mani", 79}, - string_with_idx{"manichaean", 79}, - string_with_idx{"marc", 80}, - string_with_idx{"marchen", 80}, - string_with_idx{"masaram_gondi", 39}, - string_with_idx{"medefaidrin", 81}, - string_with_idx{"medf", 81}, - string_with_idx{"meetei_mayek", 89}, - string_with_idx{"mend", 82}, - string_with_idx{"mende_kikakui", 82}, - string_with_idx{"merc", 83}, - string_with_idx{"mero", 84}, - string_with_idx{"meroitic_cursive", 83}, - string_with_idx{"meroitic_hieroglyphs", 84}, - string_with_idx{"miao", 111}, - string_with_idx{"mlym", 85}, - string_with_idx{"modi", 86}, - string_with_idx{"mong", 87}, - string_with_idx{"mongolian", 87}, - string_with_idx{"mro", 88}, - string_with_idx{"mroo", 88}, - string_with_idx{"mtei", 89}, - string_with_idx{"mult", 90}, - string_with_idx{"multani", 90}, - string_with_idx{"myanmar", 91}, - string_with_idx{"mymr", 91}, - string_with_idx{"nabataean", 94}, - string_with_idx{"nand", 92}, - string_with_idx{"nandinagari", 92}, - string_with_idx{"narb", 93}, - string_with_idx{"nbat", 94}, - string_with_idx{"new_tai_lue", 135}, - string_with_idx{"newa", 95}, - string_with_idx{"nko", 96}, - string_with_idx{"nkoo", 96}, - string_with_idx{"nshu", 97}, - string_with_idx{"nushu", 97}, - string_with_idx{"nyiakeng_puachue_hmong", 53}, - string_with_idx{"ogam", 98}, - string_with_idx{"ogham", 98}, - string_with_idx{"ol_chiki", 99}, - string_with_idx{"olck", 99}, - string_with_idx{"old_hungarian", 55}, - string_with_idx{"old_italic", 56}, - string_with_idx{"old_north_arabian", 93}, - string_with_idx{"old_permic", 106}, - string_with_idx{"old_persian", 150}, - string_with_idx{"old_sogdian", 126}, - string_with_idx{"old_south_arabian", 117}, - string_with_idx{"old_turkic", 100}, - string_with_idx{"oriya", 101}, - string_with_idx{"orkh", 100}, - string_with_idx{"orya", 101}, - string_with_idx{"osage", 102}, - string_with_idx{"osge", 102}, - string_with_idx{"osma", 103}, - string_with_idx{"osmanya", 103}, - string_with_idx{"pahawh_hmong", 52}, - string_with_idx{"palm", 104}, - string_with_idx{"palmyrene", 104}, - string_with_idx{"pau_cin_hau", 105}, - string_with_idx{"pauc", 105}, - string_with_idx{"perm", 106}, - string_with_idx{"phag", 107}, - string_with_idx{"phags_pa", 107}, - string_with_idx{"phli", 108}, - string_with_idx{"phlp", 109}, - string_with_idx{"phnx", 110}, - string_with_idx{"phoenician", 110}, - string_with_idx{"plrd", 111}, - string_with_idx{"prti", 112}, - string_with_idx{"psalter_pahlavi", 109}, - string_with_idx{"rejang", 113}, - string_with_idx{"rjng", 113}, - string_with_idx{"rohg", 114}, - string_with_idx{"runic", 115}, - string_with_idx{"runr", 115}, - string_with_idx{"samaritan", 116}, - string_with_idx{"samr", 116}, - string_with_idx{"sarb", 117}, - string_with_idx{"saur", 118}, - string_with_idx{"saurashtra", 118}, - string_with_idx{"sgnw", 119}, - string_with_idx{"sharada", 121}, - string_with_idx{"shavian", 120}, - string_with_idx{"shaw", 120}, - string_with_idx{"shrd", 121}, - string_with_idx{"sidd", 122}, - string_with_idx{"siddham", 122}, - string_with_idx{"signwriting", 119}, - string_with_idx{"sind", 123}, - string_with_idx{"sinh", 124}, - string_with_idx{"sinhala", 124}, - string_with_idx{"sogd", 125}, - string_with_idx{"sogdian", 125}, - string_with_idx{"sogo", 126}, - string_with_idx{"sora", 127}, - string_with_idx{"sora_sompeng", 127}, - string_with_idx{"soyo", 128}, - string_with_idx{"soyombo", 128}, - string_with_idx{"sund", 129}, - string_with_idx{"sundanese", 129}, - string_with_idx{"sylo", 130}, - string_with_idx{"syloti_nagri", 130}, - string_with_idx{"syrc", 131}, - string_with_idx{"syriac", 131}, - string_with_idx{"tagalog", 141}, - string_with_idx{"tagb", 132}, - string_with_idx{"tagbanwa", 132}, - string_with_idx{"tai_le", 134}, - string_with_idx{"tai_tham", 66}, - string_with_idx{"tai_viet", 138}, - string_with_idx{"takr", 133}, - string_with_idx{"takri", 133}, - string_with_idx{"tale", 134}, - string_with_idx{"talu", 135}, - string_with_idx{"tamil", 136}, - string_with_idx{"taml", 136}, - string_with_idx{"tang", 137}, - string_with_idx{"tangut", 137}, - string_with_idx{"tavt", 138}, - string_with_idx{"telu", 139}, - string_with_idx{"telugu", 139}, - string_with_idx{"tfng", 140}, - string_with_idx{"tglg", 141}, - string_with_idx{"thaa", 142}, - string_with_idx{"thaana", 142}, - string_with_idx{"thai", 143}, - string_with_idx{"tibetan", 144}, - string_with_idx{"tibt", 144}, - string_with_idx{"tifinagh", 140}, - string_with_idx{"tirh", 145}, - string_with_idx{"tirhuta", 145}, - string_with_idx{"ugar", 146}, - string_with_idx{"ugaritic", 146}, - string_with_idx{"unknown", 157}, - string_with_idx{"vai", 147}, - string_with_idx{"vaii", 147}, - string_with_idx{"wancho", 149}, - string_with_idx{"wara", 148}, - string_with_idx{"warang_citi", 148}, - string_with_idx{"wcho", 149}, - string_with_idx{"xpeo", 150}, - string_with_idx{"xsux", 151}, - string_with_idx{"yezi", 152}, - string_with_idx{"yezidi", 152}, - string_with_idx{"yi", 153}, - string_with_idx{"yiii", 153}, - string_with_idx{"zanabazar_square", 154}, - string_with_idx{"zanb", 154}, - string_with_idx{"zinh", 155}, - string_with_idx{"zyyy", 156}, - string_with_idx{"zzzz", 157}}; + string_with_idx{"inherited", 160}, + string_with_idx{"inscriptional_pahlavi", 110}, + string_with_idx{"inscriptional_parthian", 114}, + string_with_idx{"ital", 57}, + string_with_idx{"java", 58}, + string_with_idx{"javanese", 58}, + string_with_idx{"kaithi", 66}, + string_with_idx{"kali", 59}, + string_with_idx{"kana", 60}, + string_with_idx{"kannada", 65}, + string_with_idx{"katakana", 60}, + string_with_idx{"katakana_or_hiragana", 55}, + string_with_idx{"kayah_li", 59}, + string_with_idx{"khar", 61}, + string_with_idx{"kharoshthi", 61}, + string_with_idx{"khitan_small_script", 64}, + string_with_idx{"khmer", 62}, + string_with_idx{"khmr", 62}, + string_with_idx{"khoj", 63}, + string_with_idx{"khojki", 63}, + string_with_idx{"khudawadi", 125}, + string_with_idx{"kits", 64}, + string_with_idx{"knda", 65}, + string_with_idx{"kthi", 66}, + string_with_idx{"lana", 67}, + string_with_idx{"lao", 68}, + string_with_idx{"laoo", 68}, + string_with_idx{"latin", 69}, + string_with_idx{"latn", 69}, + string_with_idx{"lepc", 70}, + string_with_idx{"lepcha", 70}, + string_with_idx{"limb", 71}, + string_with_idx{"limbu", 71}, + string_with_idx{"lina", 72}, + string_with_idx{"linb", 73}, + string_with_idx{"linear_a", 72}, + string_with_idx{"linear_b", 73}, + string_with_idx{"lisu", 74}, + string_with_idx{"lyci", 75}, + string_with_idx{"lycian", 75}, + string_with_idx{"lydi", 76}, + string_with_idx{"lydian", 76}, + string_with_idx{"mahajani", 77}, + string_with_idx{"mahj", 77}, + string_with_idx{"maka", 78}, + string_with_idx{"makasar", 78}, + string_with_idx{"malayalam", 86}, + string_with_idx{"mand", 79}, + string_with_idx{"mandaic", 79}, + string_with_idx{"mani", 80}, + string_with_idx{"manichaean", 80}, + string_with_idx{"marc", 81}, + string_with_idx{"marchen", 81}, + string_with_idx{"masaram_gondi", 40}, + string_with_idx{"medefaidrin", 82}, + string_with_idx{"medf", 82}, + string_with_idx{"meetei_mayek", 90}, + string_with_idx{"mend", 83}, + string_with_idx{"mende_kikakui", 83}, + string_with_idx{"merc", 84}, + string_with_idx{"mero", 85}, + string_with_idx{"meroitic_cursive", 84}, + string_with_idx{"meroitic_hieroglyphs", 85}, + string_with_idx{"miao", 113}, + string_with_idx{"mlym", 86}, + string_with_idx{"modi", 87}, + string_with_idx{"mong", 88}, + string_with_idx{"mongolian", 88}, + string_with_idx{"mro", 89}, + string_with_idx{"mroo", 89}, + string_with_idx{"mtei", 90}, + string_with_idx{"mult", 91}, + string_with_idx{"multani", 91}, + string_with_idx{"myanmar", 92}, + string_with_idx{"mymr", 92}, + string_with_idx{"nabataean", 95}, + string_with_idx{"nand", 93}, + string_with_idx{"nandinagari", 93}, + string_with_idx{"narb", 94}, + string_with_idx{"nbat", 95}, + string_with_idx{"new_tai_lue", 137}, + string_with_idx{"newa", 96}, + string_with_idx{"nko", 97}, + string_with_idx{"nkoo", 97}, + string_with_idx{"nshu", 98}, + string_with_idx{"nushu", 98}, + string_with_idx{"nyiakeng_puachue_hmong", 54}, + string_with_idx{"ogam", 99}, + string_with_idx{"ogham", 99}, + string_with_idx{"ol_chiki", 100}, + string_with_idx{"olck", 100}, + string_with_idx{"old_hungarian", 56}, + string_with_idx{"old_italic", 57}, + string_with_idx{"old_north_arabian", 94}, + string_with_idx{"old_permic", 108}, + string_with_idx{"old_persian", 155}, + string_with_idx{"old_sogdian", 128}, + string_with_idx{"old_south_arabian", 119}, + string_with_idx{"old_turkic", 101}, + string_with_idx{"old_uyghur", 105}, + string_with_idx{"oriya", 102}, + string_with_idx{"orkh", 101}, + string_with_idx{"orya", 102}, + string_with_idx{"osage", 103}, + string_with_idx{"osge", 103}, + string_with_idx{"osma", 104}, + string_with_idx{"osmanya", 104}, + string_with_idx{"ougr", 105}, + string_with_idx{"pahawh_hmong", 53}, + string_with_idx{"palm", 106}, + string_with_idx{"palmyrene", 106}, + string_with_idx{"pau_cin_hau", 107}, + string_with_idx{"pauc", 107}, + string_with_idx{"perm", 108}, + string_with_idx{"phag", 109}, + string_with_idx{"phags_pa", 109}, + string_with_idx{"phli", 110}, + string_with_idx{"phlp", 111}, + string_with_idx{"phnx", 112}, + string_with_idx{"phoenician", 112}, + string_with_idx{"plrd", 113}, + string_with_idx{"prti", 114}, + string_with_idx{"psalter_pahlavi", 111}, + string_with_idx{"rejang", 115}, + string_with_idx{"rjng", 115}, + string_with_idx{"rohg", 116}, + string_with_idx{"runic", 117}, + string_with_idx{"runr", 117}, + string_with_idx{"samaritan", 118}, + string_with_idx{"samr", 118}, + string_with_idx{"sarb", 119}, + string_with_idx{"saur", 120}, + string_with_idx{"saurashtra", 120}, + string_with_idx{"sgnw", 121}, + string_with_idx{"sharada", 123}, + string_with_idx{"shavian", 122}, + string_with_idx{"shaw", 122}, + string_with_idx{"shrd", 123}, + string_with_idx{"sidd", 124}, + string_with_idx{"siddham", 124}, + string_with_idx{"signwriting", 121}, + string_with_idx{"sind", 125}, + string_with_idx{"sinh", 126}, + string_with_idx{"sinhala", 126}, + string_with_idx{"sogd", 127}, + string_with_idx{"sogdian", 127}, + string_with_idx{"sogo", 128}, + string_with_idx{"sora", 129}, + string_with_idx{"sora_sompeng", 129}, + string_with_idx{"soyo", 130}, + string_with_idx{"soyombo", 130}, + string_with_idx{"sund", 131}, + string_with_idx{"sundanese", 131}, + string_with_idx{"sylo", 132}, + string_with_idx{"syloti_nagri", 132}, + string_with_idx{"syrc", 133}, + string_with_idx{"syriac", 133}, + string_with_idx{"tagalog", 143}, + string_with_idx{"tagb", 134}, + string_with_idx{"tagbanwa", 134}, + string_with_idx{"tai_le", 136}, + string_with_idx{"tai_tham", 67}, + string_with_idx{"tai_viet", 140}, + string_with_idx{"takr", 135}, + string_with_idx{"takri", 135}, + string_with_idx{"tale", 136}, + string_with_idx{"talu", 137}, + string_with_idx{"tamil", 138}, + string_with_idx{"taml", 138}, + string_with_idx{"tang", 139}, + string_with_idx{"tangsa", 148}, + string_with_idx{"tangut", 139}, + string_with_idx{"tavt", 140}, + string_with_idx{"telu", 141}, + string_with_idx{"telugu", 141}, + string_with_idx{"tfng", 142}, + string_with_idx{"tglg", 143}, + string_with_idx{"thaa", 144}, + string_with_idx{"thaana", 144}, + string_with_idx{"thai", 145}, + string_with_idx{"tibetan", 146}, + string_with_idx{"tibt", 146}, + string_with_idx{"tifinagh", 142}, + string_with_idx{"tirh", 147}, + string_with_idx{"tirhuta", 147}, + string_with_idx{"tnsa", 148}, + string_with_idx{"toto", 149}, + string_with_idx{"ugar", 150}, + string_with_idx{"ugaritic", 150}, + string_with_idx{"unknown", 162}, + string_with_idx{"vai", 151}, + string_with_idx{"vaii", 151}, + string_with_idx{"vith", 152}, + string_with_idx{"vithkuqi", 152}, + string_with_idx{"wancho", 154}, + string_with_idx{"wara", 153}, + string_with_idx{"warang_citi", 153}, + string_with_idx{"wcho", 154}, + string_with_idx{"xpeo", 155}, + string_with_idx{"xsux", 156}, + string_with_idx{"yezi", 157}, + string_with_idx{"yezidi", 157}, + string_with_idx{"yi", 158}, + string_with_idx{"yiii", 158}, + string_with_idx{"zanabazar_square", 159}, + string_with_idx{"zanb", 159}, + string_with_idx{"zinh", 160}, + string_with_idx{"zyyy", 161}, + string_with_idx{"zzzz", 162}}; template struct script_data; template<> struct script_data<0> { static constexpr const compact_range scripts_data = { - 0x0000009C, 0x00004144, 0x00005B9C, 0x00006144, 0x00007B9C, 0x0000AA44, 0x0000AB9C, - 0x0000BA44, 0x0000BB9C, 0x0000C044, 0x0000D79C, 0x0000D844, 0x0000F79C, 0x0000F844, - 0x0002B99C, 0x0002E044, 0x0002E59C, 0x0002EA0D, 0x0002EC9C, 0x0003009B, 0x0003702A, - 0x0003749C, 0x0003752A, 0x0003789D, 0x00037A2A, 0x00037E9C, 0x00037F2A, 0x0003809D, - 0x0003842A, 0x0003859C, 0x0003862A, 0x0003879C, 0x0003882A, 0x00038B9D, 0x00038C2A, - 0x00038D9D, 0x00038E2A, 0x0003A29D, 0x0003A32A, 0x0003E218, 0x0003F02A, 0x0004001A, - 0x0004859B, 0x0004871A, 0x0005309D, 0x00053105, 0x0005579D, 0x00055905, 0x00058B9D, - 0x00058D05, 0x0005909D, 0x00059131, 0x0005C89D, 0x0005D031, 0x0005EB9D, 0x0005EF31, - 0x0005F59D, 0x00060003, 0x0006059C, 0x00060603, 0x00060C9C, 0x00060D03, 0x00061B9C, - 0x00061C03, 0x00061D9D, 0x00061E03, 0x00061F9C, 0x00062003, 0x0006409C, 0x00064103, - 0x00064B9B, 0x00065603, 0x0006709B, 0x00067103, 0x0006DD9C, 0x0006DE03, 0x00070083, - 0x00070E9D, 0x00070F83, 0x00074B9D, 0x00074D83, 0x00075003, 0x0007808E, 0x0007B29D, - 0x0007C060, 0x0007FB9D, 0x0007FD60, 0x00080074, 0x00082E9D, 0x00083074, 0x00083F9D, - 0x0008404E, 0x00085C9D, 0x00085E4E, 0x00085F9D, 0x00086083, 0x00086B9D, 0x0008A003, - 0x0008B59D, 0x0008B603, 0x0008C89D, 0x0008D303, 0x0008E29C, 0x0008E303, 0x0009001B, - 0x0009519B, 0x0009551B, 0x0009649C, 0x0009661B, 0x0009800B, 0x0009849D, 0x0009850B, - 0x00098D9D, 0x00098F0B, 0x0009919D, 0x0009930B, 0x0009A99D, 0x0009AA0B, 0x0009B19D, - 0x0009B20B, 0x0009B39D, 0x0009B60B, 0x0009BA9D, 0x0009BC0B, 0x0009C59D, 0x0009C70B, - 0x0009C99D, 0x0009CB0B, 0x0009CF9D, 0x0009D70B, 0x0009D89D, 0x0009DC0B, 0x0009DE9D, - 0x0009DF0B, 0x0009E49D, 0x0009E60B, 0x0009FF9D, 0x000A012C, 0x000A049D, 0x000A052C, - 0x000A0B9D, 0x000A0F2C, 0x000A119D, 0x000A132C, 0x000A299D, 0x000A2A2C, 0x000A319D, - 0x000A322C, 0x000A349D, 0x000A352C, 0x000A379D, 0x000A382C, 0x000A3A9D, 0x000A3C2C, - 0x000A3D9D, 0x000A3E2C, 0x000A439D, 0x000A472C, 0x000A499D, 0x000A4B2C, 0x000A4E9D, - 0x000A512C, 0x000A529D, 0x000A592C, 0x000A5D9D, 0x000A5E2C, 0x000A5F9D, 0x000A662C, - 0x000A779D, 0x000A812B, 0x000A849D, 0x000A852B, 0x000A8E9D, 0x000A8F2B, 0x000A929D, - 0x000A932B, 0x000AA99D, 0x000AAA2B, 0x000AB19D, 0x000AB22B, 0x000AB49D, 0x000AB52B, - 0x000ABA9D, 0x000ABC2B, 0x000AC69D, 0x000AC72B, 0x000ACA9D, 0x000ACB2B, 0x000ACE9D, - 0x000AD02B, 0x000AD19D, 0x000AE02B, 0x000AE49D, 0x000AE62B, 0x000AF29D, 0x000AF92B, - 0x000B009D, 0x000B0165, 0x000B049D, 0x000B0565, 0x000B0D9D, 0x000B0F65, 0x000B119D, - 0x000B1365, 0x000B299D, 0x000B2A65, 0x000B319D, 0x000B3265, 0x000B349D, 0x000B3565, - 0x000B3A9D, 0x000B3C65, 0x000B459D, 0x000B4765, 0x000B499D, 0x000B4B65, 0x000B4E9D, - 0x000B5565, 0x000B589D, 0x000B5C65, 0x000B5E9D, 0x000B5F65, 0x000B649D, 0x000B6665, - 0x000B789D, 0x000B8288, 0x000B849D, 0x000B8588, 0x000B8B9D, 0x000B8E88, 0x000B919D, - 0x000B9288, 0x000B969D, 0x000B9988, 0x000B9B9D, 0x000B9C88, 0x000B9D9D, 0x000B9E88, - 0x000BA09D, 0x000BA388, 0x000BA59D, 0x000BA888, 0x000BAB9D, 0x000BAE88, 0x000BBA9D, - 0x000BBE88, 0x000BC39D, 0x000BC688, 0x000BC99D, 0x000BCA88, 0x000BCE9D, 0x000BD088, - 0x000BD19D, 0x000BD788, 0x000BD89D, 0x000BE688, 0x000BFB9D, 0x000C008B, 0x000C0D9D, - 0x000C0E8B, 0x000C119D, 0x000C128B, 0x000C299D, 0x000C2A8B, 0x000C3A9D, 0x000C3D8B, - 0x000C459D, 0x000C468B, 0x000C499D, 0x000C4A8B, 0x000C4E9D, 0x000C558B, 0x000C579D, - 0x000C588B, 0x000C5B9D, 0x000C608B, 0x000C649D, 0x000C668B, 0x000C709D, 0x000C778B, - 0x000C8040, 0x000C8D9D, 0x000C8E40, 0x000C919D, 0x000C9240, 0x000CA99D, 0x000CAA40, - 0x000CB49D, 0x000CB540, 0x000CBA9D, 0x000CBC40, 0x000CC59D, 0x000CC640, 0x000CC99D, - 0x000CCA40, 0x000CCE9D, 0x000CD540, 0x000CD79D, 0x000CDE40, 0x000CDF9D, 0x000CE040, - 0x000CE49D, 0x000CE640, 0x000CF09D, 0x000CF140, 0x000CF39D, 0x000D0055, 0x000D0D9D, - 0x000D0E55, 0x000D119D, 0x000D1255, 0x000D459D, 0x000D4655, 0x000D499D, 0x000D4A55, - 0x000D509D, 0x000D5455, 0x000D649D, 0x000D6655, 0x000D809D, 0x000D817C, 0x000D849D, - 0x000D857C, 0x000D979D, 0x000D9A7C, 0x000DB29D, 0x000DB37C, 0x000DBC9D, 0x000DBD7C, - 0x000DBE9D, 0x000DC07C, 0x000DC79D, 0x000DCA7C, 0x000DCB9D, 0x000DCF7C, 0x000DD59D, - 0x000DD67C, 0x000DD79D, 0x000DD87C, 0x000DE09D, 0x000DE67C, 0x000DF09D, 0x000DF27C, - 0x000DF59D, 0x000E018F, 0x000E3B9D, 0x000E3F9C, 0x000E408F, 0x000E5C9D, 0x000E8143, - 0x000E839D, 0x000E8443, 0x000E859D, 0x000E8643, 0x000E8B9D, 0x000E8C43, 0x000EA49D, - 0x000EA543, 0x000EA69D, 0x000EA743, 0x000EBE9D, 0x000EC043, 0x000EC59D, 0x000EC643, - 0x000EC79D, 0x000EC843, 0x000ECE9D, 0x000ED043, 0x000EDA9D, 0x000EDC43, 0x000EE09D, - 0x000F0090, 0x000F489D, 0x000F4990, 0x000F6D9D, 0x000F7190, 0x000F989D, 0x000F9990, - 0x000FBD9D, 0x000FBE90, 0x000FCD9D, 0x000FCE90, 0x000FD59C, 0x000FD990, 0x000FDB9D, - 0x0010005B, 0x0010A024, 0x0010C69D, 0x0010C724, 0x0010C89D, 0x0010CD24, 0x0010CE9D, - 0x0010D024, 0x0010FB9C, 0x0010FC24, 0x0011002D, 0x00120023, 0x0012499D, 0x00124A23, - 0x00124E9D, 0x00125023, 0x0012579D, 0x00125823, 0x0012599D, 0x00125A23, 0x00125E9D, - 0x00126023, 0x0012899D, 0x00128A23, 0x00128E9D, 0x00129023, 0x0012B19D, 0x0012B223, - 0x0012B69D, 0x0012B823, 0x0012BF9D, 0x0012C023, 0x0012C19D, 0x0012C223, 0x0012C69D, - 0x0012C823, 0x0012D79D, 0x0012D823, 0x0013119D, 0x00131223, 0x0013169D, 0x00131823, - 0x00135B9D, 0x00135D23, 0x00137D9D, 0x00138023, 0x00139A9D, 0x0013A016, 0x0013F69D, - 0x0013F816, 0x0013FE9D, 0x00140013, 0x00168062, 0x00169D9D, 0x0016A073, 0x0016EB9C, - 0x0016EE73, 0x0016F99D, 0x0017008D, 0x00170D9D, 0x00170E8D, 0x0017159D, 0x0017202F, - 0x0017359C, 0x0017379D, 0x00174011, 0x0017549D, 0x00176084, 0x00176D9D, 0x00176E84, - 0x0017719D, 0x00177284, 0x0017749D, 0x0017803D, 0x0017DE9D, 0x0017E03D, 0x0017EA9D, - 0x0017F03D, 0x0017FA9D, 0x00180057, 0x0018029C, 0x00180457, 0x0018059C, 0x00180657, - 0x00180F9D, 0x00181057, 0x00181A9D, 0x00182057, 0x0018799D, 0x00188057, 0x0018AB9D, - 0x0018B013, 0x0018F69D, 0x00190046, 0x00191F9D, 0x00192046, 0x00192C9D, 0x00193046, - 0x00193C9D, 0x00194046, 0x0019419D, 0x00194446, 0x00195086, 0x00196E9D, 0x00197086, - 0x0019759D, 0x00198087, 0x0019AC9D, 0x0019B087, 0x0019CA9D, 0x0019D087, 0x0019DB9D, - 0x0019DE87, 0x0019E03D, 0x001A0010, 0x001A1C9D, 0x001A1E10, 0x001A2042, 0x001A5F9D, - 0x001A6042, 0x001A7D9D, 0x001A7F42, 0x001A8A9D, 0x001A9042, 0x001A9A9D, 0x001AA042, - 0x001AAE9D, 0x001AB09B, 0x001AC19D, 0x001B0007, 0x001B4C9D, 0x001B5007, 0x001B7D9D, - 0x001B8081, 0x001BC00A, 0x001BF49D, 0x001BFC0A, 0x001C0045, 0x001C389D, 0x001C3B45, - 0x001C4A9D, 0x001C4D45, 0x001C5063, 0x001C801A, 0x001C899D, 0x001C9024, 0x001CBB9D, - 0x001CBD24, 0x001CC081, 0x001CC89D, 0x001CD09B, 0x001CD39C, 0x001CD49B, 0x001CE19C, - 0x001CE29B, 0x001CE99C, 0x001CED9B, 0x001CEE9C, 0x001CF49B, 0x001CF59C, 0x001CF89B, - 0x001CFA9C, 0x001CFB9D, 0x001D0044, 0x001D262A, 0x001D2B1A, 0x001D2C44, 0x001D5D2A, - 0x001D6244, 0x001D662A, 0x001D6B44, 0x001D781A, 0x001D7944, 0x001DBF2A, 0x001DC09B, - 0x001DFA9D, 0x001DFB9B, 0x001E0044, 0x001F002A, 0x001F169D, 0x001F182A, 0x001F1E9D, - 0x001F202A, 0x001F469D, 0x001F482A, 0x001F4E9D, 0x001F502A, 0x001F589D, 0x001F592A, - 0x001F5A9D, 0x001F5B2A, 0x001F5C9D, 0x001F5D2A, 0x001F5E9D, 0x001F5F2A, 0x001F7E9D, - 0x001F802A, 0x001FB59D, 0x001FB62A, 0x001FC59D, 0x001FC62A, 0x001FD49D, 0x001FD62A, - 0x001FDC9D, 0x001FDD2A, 0x001FF09D, 0x001FF22A, 0x001FF59D, 0x001FF62A, 0x001FFF9D, - 0x0020009C, 0x00200C9B, 0x00200E9C, 0x0020659D, 0x0020669C, 0x00207144, 0x0020729D, - 0x0020749C, 0x00207F44, 0x0020809C, 0x00208F9D, 0x00209044, 0x00209D9D, 0x0020A09C, - 0x0020C09D, 0x0020D09B, 0x0020F19D, 0x0021009C, 0x0021262A, 0x0021279C, 0x00212A44, - 0x00212C9C, 0x00213244, 0x0021339C, 0x00214E44, 0x00214F9C, 0x00216044, 0x0021899C, - 0x00218C9D, 0x0021909C, 0x0024279D, 0x0024409C, 0x00244B9D, 0x0024609C, 0x0028000F, - 0x0029009C, 0x002B749D, 0x002B769C, 0x002B969D, 0x002B979C, 0x002C0025, 0x002C2F9D, - 0x002C3025, 0x002C5F9D, 0x002C6044, 0x002C8018, 0x002CF49D, 0x002CF918, 0x002D0024, - 0x002D269D, 0x002D2724, 0x002D289D, 0x002D2D24, 0x002D2E9D, 0x002D308C, 0x002D689D, - 0x002D6F8C, 0x002D719D, 0x002D7F8C, 0x002D8023, 0x002D979D, 0x002DA023, 0x002DA79D, - 0x002DA823, 0x002DAF9D, 0x002DB023, 0x002DB79D, 0x002DB823, 0x002DBF9D, 0x002DC023, - 0x002DC79D, 0x002DC823, 0x002DCF9D, 0x002DD023, 0x002DD79D, 0x002DD823, 0x002DDF9D, - 0x002DE01A, 0x002E009C, 0x002E539D, 0x002E802E, 0x002E9A9D, 0x002E9B2E, 0x002EF49D, - 0x002F002E, 0x002FD69D, 0x002FF09C, 0x002FFC9D, 0x0030009C, 0x0030052E, 0x0030069C, - 0x0030072E, 0x0030089C, 0x0030212E, 0x00302A9B, 0x00302E2D, 0x0030309C, 0x0030382E, - 0x00303C9C, 0x0030409D, 0x00304132, 0x0030979D, 0x0030999B, 0x00309B9C, 0x00309D32, - 0x0030A09C, 0x0030A13B, 0x0030FB9C, 0x0030FD3B, 0x0031009D, 0x0031050D, 0x0031309D, - 0x0031312D, 0x00318F9D, 0x0031909C, 0x0031A00D, 0x0031C09C, 0x0031E49D, 0x0031F03B, - 0x0032002D, 0x00321F9D, 0x0032209C, 0x0032602D, 0x00327F9C, 0x0032D03B, 0x0032FF9C, - 0x0033003B, 0x0033589C, 0x0034002E, 0x004DC09C, 0x004E002E, 0x009FFD9D, 0x00A00099, - 0x00A48D9D, 0x00A49099, 0x00A4C79D, 0x00A4D049, 0x00A50093, 0x00A62C9D, 0x00A6401A, - 0x00A6A008, 0x00A6F89D, 0x00A7009C, 0x00A72244, 0x00A7889C, 0x00A78B44, 0x00A7C09D, - 0x00A7C244, 0x00A7CB9D, 0x00A7F544, 0x00A80082, 0x00A82D9D, 0x00A8309C, 0x00A83A9D, - 0x00A8406B, 0x00A8789D, 0x00A88076, 0x00A8C69D, 0x00A8CE76, 0x00A8DA9D, 0x00A8E01B, - 0x00A9003A, 0x00A92E9C, 0x00A92F3A, 0x00A93071, 0x00A9549D, 0x00A95F71, 0x00A9602D, - 0x00A97D9D, 0x00A98039, 0x00A9CE9D, 0x00A9CF9C, 0x00A9D039, 0x00A9DA9D, 0x00A9DE39, - 0x00A9E05B, 0x00A9FF9D, 0x00AA0015, 0x00AA379D, 0x00AA4015, 0x00AA4E9D, 0x00AA5015, - 0x00AA5A9D, 0x00AA5C15, 0x00AA605B, 0x00AA808A, 0x00AAC39D, 0x00AADB8A, 0x00AAE059, - 0x00AAF79D, 0x00AB0123, 0x00AB079D, 0x00AB0923, 0x00AB0F9D, 0x00AB1123, 0x00AB179D, - 0x00AB2023, 0x00AB279D, 0x00AB2823, 0x00AB2F9D, 0x00AB3044, 0x00AB5B9C, 0x00AB5C44, - 0x00AB652A, 0x00AB6644, 0x00AB6A9C, 0x00AB6C9D, 0x00AB7016, 0x00ABC059, 0x00ABEE9D, - 0x00ABF059, 0x00ABFA9D, 0x00AC002D, 0x00D7A49D, 0x00D7B02D, 0x00D7C79D, 0x00D7CB2D, - 0x00D7FC9D, 0x00F9002E, 0x00FA6E9D, 0x00FA702E, 0x00FADA9D, 0x00FB0044, 0x00FB079D, - 0x00FB1305, 0x00FB189D, 0x00FB1D31, 0x00FB379D, 0x00FB3831, 0x00FB3D9D, 0x00FB3E31, - 0x00FB3F9D, 0x00FB4031, 0x00FB429D, 0x00FB4331, 0x00FB459D, 0x00FB4631, 0x00FB5003, - 0x00FBC29D, 0x00FBD303, 0x00FD3E9C, 0x00FD409D, 0x00FD5003, 0x00FD909D, 0x00FD9203, - 0x00FDC89D, 0x00FDF003, 0x00FDFE9D, 0x00FE009B, 0x00FE109C, 0x00FE1A9D, 0x00FE209B, - 0x00FE2E1A, 0x00FE309C, 0x00FE539D, 0x00FE549C, 0x00FE679D, 0x00FE689C, 0x00FE6C9D, - 0x00FE7003, 0x00FE759D, 0x00FE7603, 0x00FEFD9D, 0x00FEFF9C, 0x00FF009D, 0x00FF019C, - 0x00FF2144, 0x00FF3B9C, 0x00FF4144, 0x00FF5B9C, 0x00FF663B, 0x00FF709C, 0x00FF713B, - 0x00FF9E9C, 0x00FFA02D, 0x00FFBF9D, 0x00FFC22D, 0x00FFC89D, 0x00FFCA2D, 0x00FFD09D, - 0x00FFD22D, 0x00FFD89D, 0x00FFDA2D, 0x00FFDD9D, 0x00FFE09C, 0x00FFE79D, 0x00FFE89C, - 0x00FFEF9D, 0x00FFF99C, 0x00FFFE9D, 0x01000048, 0x01000C9D, 0x01000D48, 0x0100279D, - 0x01002848, 0x01003B9D, 0x01003C48, 0x01003E9D, 0x01003F48, 0x01004E9D, 0x01005048, - 0x01005E9D, 0x01008048, 0x0100FB9D, 0x0101009C, 0x0101039D, 0x0101079C, 0x0101349D, - 0x0101379C, 0x0101402A, 0x01018F9D, 0x0101909C, 0x01019D9D, 0x0101A02A, 0x0101A19D, - 0x0101D09C, 0x0101FD9B, 0x0101FE9D, 0x0102804A, 0x01029D9D, 0x0102A014, 0x0102D19D, - 0x0102E09B, 0x0102E19C, 0x0102FC9D, 0x01030038, 0x0103249D, 0x01032D38, 0x01033028, - 0x01034B9D, 0x0103506A, 0x01037B9D, 0x01038092, 0x01039E9D, 0x01039F92, 0x0103A096, - 0x0103C49D, 0x0103C896, 0x0103D69D, 0x0104001E, 0x01045078, 0x01048067, 0x01049E9D, - 0x0104A067, 0x0104AA9D, 0x0104B066, 0x0104D49D, 0x0104D866, 0x0104FC9D, 0x01050021, - 0x0105289D, 0x01053001, 0x0105649D, 0x01056F01, 0x0105709D, 0x01060047, 0x0107379D, - 0x01074047, 0x0107569D, 0x01076047, 0x0107689D, 0x01080019, 0x0108069D, 0x01080819, - 0x0108099D, 0x01080A19, 0x0108369D, 0x01083719, 0x0108399D, 0x01083C19, 0x01083D9D, - 0x01083F19, 0x01084004, 0x0108569D, 0x01085704, 0x01086068, 0x0108805E, 0x01089F9D, - 0x0108A75E, 0x0108B09D, 0x0108E030, 0x0108F39D, 0x0108F430, 0x0108F69D, 0x0108FB30, - 0x0109006E, 0x01091C9D, 0x01091F6E, 0x0109204B, 0x01093A9D, 0x01093F4B, 0x0109409D, - 0x01098054, 0x0109A053, 0x0109B89D, 0x0109BC53, 0x0109D09D, 0x0109D253, 0x010A003C, - 0x010A049D, 0x010A053C, 0x010A079D, 0x010A0C3C, 0x010A149D, 0x010A153C, 0x010A189D, - 0x010A193C, 0x010A369D, 0x010A383C, 0x010A3B9D, 0x010A3F3C, 0x010A499D, 0x010A503C, - 0x010A599D, 0x010A6075, 0x010A805D, 0x010AA09D, 0x010AC04F, 0x010AE79D, 0x010AEB4F, - 0x010AF79D, 0x010B0006, 0x010B369D, 0x010B3906, 0x010B4070, 0x010B569D, 0x010B5870, - 0x010B606C, 0x010B739D, 0x010B786C, 0x010B806D, 0x010B929D, 0x010B996D, 0x010B9D9D, - 0x010BA96D, 0x010BB09D, 0x010C0064, 0x010C499D, 0x010C8037, 0x010CB39D, 0x010CC037, - 0x010CF39D, 0x010CFA37, 0x010D0072, 0x010D289D, 0x010D3072, 0x010D3A9D, 0x010E6003, - 0x010E7F9D, 0x010E8098, 0x010EAA9D, 0x010EAB98, 0x010EAE9D, 0x010EB098, 0x010EB29D, - 0x010F007E, 0x010F289D, 0x010F307D, 0x010F5A9D, 0x010FB017, 0x010FCC9D, 0x010FE022, - 0x010FF79D, 0x0110000E, 0x01104E9D, 0x0110520E, 0x0110709D, 0x01107F0E, 0x01108041, - 0x0110C29D, 0x0110CD41, 0x0110CE9D, 0x0110D07F, 0x0110E99D, 0x0110F07F, 0x0110FA9D, - 0x01110012, 0x0111359D, 0x01113612, 0x0111489D, 0x0111504C, 0x0111779D, 0x01118079, - 0x0111E09D, 0x0111E17C, 0x0111F59D, 0x0112003E, 0x0112129D, 0x0112133E, 0x01123F9D, - 0x0112805A, 0x0112879D, 0x0112885A, 0x0112899D, 0x01128A5A, 0x01128E9D, 0x01128F5A, - 0x01129E9D, 0x01129F5A, 0x0112AA9D, 0x0112B07B, 0x0112EB9D, 0x0112F07B, 0x0112FA9D, - 0x01130029, 0x0113049D, 0x01130529, 0x01130D9D, 0x01130F29, 0x0113119D, 0x01131329, - 0x0113299D, 0x01132A29, 0x0113319D, 0x01133229, 0x0113349D, 0x01133529, 0x01133A9D, - 0x01133B9B, 0x01133C29, 0x0113459D, 0x01134729, 0x0113499D, 0x01134B29, 0x01134E9D, - 0x01135029, 0x0113519D, 0x01135729, 0x0113589D, 0x01135D29, 0x0113649D, 0x01136629, - 0x01136D9D, 0x01137029, 0x0113759D, 0x0114005F, 0x01145C9D, 0x01145D5F, 0x0114629D, - 0x01148091, 0x0114C89D, 0x0114D091, 0x0114DA9D, 0x0115807A, 0x0115B69D, 0x0115B87A, - 0x0115DE9D, 0x01160056, 0x0116459D, 0x01165056, 0x01165A9D, 0x01166057, 0x01166D9D, - 0x01168085, 0x0116B99D, 0x0116C085, 0x0116CA9D, 0x01170002, 0x01171B9D, 0x01171D02, - 0x01172C9D, 0x01173002, 0x0117409D, 0x0118001D, 0x01183C9D, 0x0118A094, 0x0118F39D, - 0x0118FF94, 0x0119001C, 0x0119079D, 0x0119091C, 0x01190A9D, 0x01190C1C, 0x0119149D, - 0x0119151C, 0x0119179D, 0x0119181C, 0x0119369D, 0x0119371C, 0x0119399D, 0x01193B1C, - 0x0119479D, 0x0119501C, 0x01195A9D, 0x0119A05C, 0x0119A89D, 0x0119AA5C, 0x0119D89D, - 0x0119DA5C, 0x0119E59D, 0x011A009A, 0x011A489D, 0x011A5080, 0x011AA39D, 0x011AC069, - 0x011AF99D, 0x011C000C, 0x011C099D, 0x011C0A0C, 0x011C379D, 0x011C380C, 0x011C469D, - 0x011C500C, 0x011C6D9D, 0x011C7050, 0x011C909D, 0x011C9250, 0x011CA89D, 0x011CA950, - 0x011CB79D, 0x011D0027, 0x011D079D, 0x011D0827, 0x011D0A9D, 0x011D0B27, 0x011D379D, - 0x011D3A27, 0x011D3B9D, 0x011D3C27, 0x011D3E9D, 0x011D3F27, 0x011D489D, 0x011D5027, - 0x011D5A9D, 0x011D6026, 0x011D669D, 0x011D6726, 0x011D699D, 0x011D6A26, 0x011D8F9D, - 0x011D9026, 0x011D929D, 0x011D9326, 0x011D999D, 0x011DA026, 0x011DAA9D, 0x011EE04D, - 0x011EF99D, 0x011FB049, 0x011FB19D, 0x011FC088, 0x011FF29D, 0x011FFF88, 0x01200097, - 0x01239A9D, 0x01240097, 0x01246F9D, 0x01247097, 0x0124759D, 0x01248097, 0x0125449D, - 0x01300020, 0x01342F9D, 0x01343020, 0x0134399D, 0x01440033, 0x0146479D, 0x01680008, - 0x016A399D, 0x016A4058, 0x016A5F9D, 0x016A6058, 0x016A6A9D, 0x016A6E58, 0x016A709D, - 0x016AD009, 0x016AEE9D, 0x016AF009, 0x016AF69D, 0x016B0034, 0x016B469D, 0x016B5034, - 0x016B5A9D, 0x016B5B34, 0x016B629D, 0x016B6334, 0x016B789D, 0x016B7D34, 0x016B909D, - 0x016E4051, 0x016E9B9D, 0x016F006F, 0x016F4B9D, 0x016F4F6F, 0x016F889D, 0x016F8F6F, - 0x016FA09D, 0x016FE089, 0x016FE161, 0x016FE29C, 0x016FE43F, 0x016FE59D, 0x016FF02E, - 0x016FF29D, 0x01700089, 0x0187F89D, 0x01880089, 0x018B003F, 0x018CD69D, 0x018D0089, - 0x018D099D, 0x01B0003B, 0x01B00132, 0x01B11F9D, 0x01B15032, 0x01B1539D, 0x01B1643B, - 0x01B1689D, 0x01B17061, 0x01B2FC9D, 0x01BC001F, 0x01BC6B9D, 0x01BC701F, 0x01BC7D9D, - 0x01BC801F, 0x01BC899D, 0x01BC901F, 0x01BC9A9D, 0x01BC9C1F, 0x01BCA09C, 0x01BCA49D, - 0x01D0009C, 0x01D0F69D, 0x01D1009C, 0x01D1279D, 0x01D1299C, 0x01D1679B, 0x01D16A9C, - 0x01D17B9B, 0x01D1839C, 0x01D1859B, 0x01D18C9C, 0x01D1AA9B, 0x01D1AE9C, 0x01D1E99D, - 0x01D2002A, 0x01D2469D, 0x01D2E09C, 0x01D2F49D, 0x01D3009C, 0x01D3579D, 0x01D3609C, - 0x01D3799D, 0x01D4009C, 0x01D4559D, 0x01D4569C, 0x01D49D9D, 0x01D49E9C, 0x01D4A09D, - 0x01D4A29C, 0x01D4A39D, 0x01D4A59C, 0x01D4A79D, 0x01D4A99C, 0x01D4AD9D, 0x01D4AE9C, - 0x01D4BA9D, 0x01D4BB9C, 0x01D4BC9D, 0x01D4BD9C, 0x01D4C49D, 0x01D4C59C, 0x01D5069D, - 0x01D5079C, 0x01D50B9D, 0x01D50D9C, 0x01D5159D, 0x01D5169C, 0x01D51D9D, 0x01D51E9C, - 0x01D53A9D, 0x01D53B9C, 0x01D53F9D, 0x01D5409C, 0x01D5459D, 0x01D5469C, 0x01D5479D, - 0x01D54A9C, 0x01D5519D, 0x01D5529C, 0x01D6A69D, 0x01D6A89C, 0x01D7CC9D, 0x01D7CE9C, - 0x01D80077, 0x01DA8C9D, 0x01DA9B77, 0x01DAA09D, 0x01DAA177, 0x01DAB09D, 0x01E00025, - 0x01E0079D, 0x01E00825, 0x01E0199D, 0x01E01B25, 0x01E0229D, 0x01E02325, 0x01E0259D, - 0x01E02625, 0x01E02B9D, 0x01E10035, 0x01E12D9D, 0x01E13035, 0x01E13E9D, 0x01E14035, - 0x01E14A9D, 0x01E14E35, 0x01E1509D, 0x01E2C095, 0x01E2FA9D, 0x01E2FF95, 0x01E3009D, - 0x01E80052, 0x01E8C59D, 0x01E8C752, 0x01E8D79D, 0x01E90000, 0x01E94C9D, 0x01E95000, - 0x01E95A9D, 0x01E95E00, 0x01E9609D, 0x01EC719C, 0x01ECB59D, 0x01ED019C, 0x01ED3E9D, - 0x01EE0003, 0x01EE049D, 0x01EE0503, 0x01EE209D, 0x01EE2103, 0x01EE239D, 0x01EE2403, - 0x01EE259D, 0x01EE2703, 0x01EE289D, 0x01EE2903, 0x01EE339D, 0x01EE3403, 0x01EE389D, - 0x01EE3903, 0x01EE3A9D, 0x01EE3B03, 0x01EE3C9D, 0x01EE4203, 0x01EE439D, 0x01EE4703, - 0x01EE489D, 0x01EE4903, 0x01EE4A9D, 0x01EE4B03, 0x01EE4C9D, 0x01EE4D03, 0x01EE509D, - 0x01EE5103, 0x01EE539D, 0x01EE5403, 0x01EE559D, 0x01EE5703, 0x01EE589D, 0x01EE5903, - 0x01EE5A9D, 0x01EE5B03, 0x01EE5C9D, 0x01EE5D03, 0x01EE5E9D, 0x01EE5F03, 0x01EE609D, - 0x01EE6103, 0x01EE639D, 0x01EE6403, 0x01EE659D, 0x01EE6703, 0x01EE6B9D, 0x01EE6C03, - 0x01EE739D, 0x01EE7403, 0x01EE789D, 0x01EE7903, 0x01EE7D9D, 0x01EE7E03, 0x01EE7F9D, - 0x01EE8003, 0x01EE8A9D, 0x01EE8B03, 0x01EE9C9D, 0x01EEA103, 0x01EEA49D, 0x01EEA503, - 0x01EEAA9D, 0x01EEAB03, 0x01EEBC9D, 0x01EEF003, 0x01EEF29D, 0x01F0009C, 0x01F02C9D, - 0x01F0309C, 0x01F0949D, 0x01F0A09C, 0x01F0AF9D, 0x01F0B19C, 0x01F0C09D, 0x01F0C19C, - 0x01F0D09D, 0x01F0D19C, 0x01F0F69D, 0x01F1009C, 0x01F1AE9D, 0x01F1E69C, 0x01F20032, - 0x01F2019C, 0x01F2039D, 0x01F2109C, 0x01F23C9D, 0x01F2409C, 0x01F2499D, 0x01F2509C, - 0x01F2529D, 0x01F2609C, 0x01F2669D, 0x01F3009C, 0x01F6D89D, 0x01F6E09C, 0x01F6ED9D, - 0x01F6F09C, 0x01F6FD9D, 0x01F7009C, 0x01F7749D, 0x01F7809C, 0x01F7D99D, 0x01F7E09C, - 0x01F7EC9D, 0x01F8009C, 0x01F80C9D, 0x01F8109C, 0x01F8489D, 0x01F8509C, 0x01F85A9D, - 0x01F8609C, 0x01F8889D, 0x01F8909C, 0x01F8AE9D, 0x01F8B09C, 0x01F8B29D, 0x01F9009C, - 0x01F9799D, 0x01F97A9C, 0x01F9CC9D, 0x01F9CD9C, 0x01FA549D, 0x01FA609C, 0x01FA6E9D, - 0x01FA709C, 0x01FA759D, 0x01FA789C, 0x01FA7B9D, 0x01FA809C, 0x01FA879D, 0x01FA909C, - 0x01FAA99D, 0x01FAB09C, 0x01FAB79D, 0x01FAC09C, 0x01FAC39D, 0x01FAD09C, 0x01FAD79D, - 0x01FB009C, 0x01FB939D, 0x01FB949C, 0x01FBCB9D, 0x01FBF09C, 0x01FBFA9D, 0x0200002E, - 0x02A6DE9D, 0x02A7002E, 0x02B7359D, 0x02B7402E, 0x02B81E9D, 0x02B8202E, 0x02CEA29D, - 0x02CEB02E, 0x02EBE19D, 0x02F8002E, 0x02FA1E9D, 0x0300002E, 0x03134B9D, 0x0E00019C, - 0x0E00029D, 0x0E00209C, 0x0E00809D, 0x0E01009B, 0x0E01F09D, 0xFFFFFFFF}; + 0x000000A1, 0x00004145, 0x00005BA1, 0x00006145, 0x00007BA1, 0x0000AA45, 0x0000ABA1, + 0x0000BA45, 0x0000BBA1, 0x0000C045, 0x0000D7A1, 0x0000D845, 0x0000F7A1, 0x0000F845, + 0x0002B9A1, 0x0002E045, 0x0002E5A1, 0x0002EA0D, 0x0002ECA1, 0x000300A0, 0x0003702B, + 0x000374A1, 0x0003752B, 0x000378A2, 0x00037A2B, 0x00037EA1, 0x00037F2B, 0x000380A2, + 0x0003842B, 0x000385A1, 0x0003862B, 0x000387A1, 0x0003882B, 0x00038BA2, 0x00038C2B, + 0x00038DA2, 0x00038E2B, 0x0003A2A2, 0x0003A32B, 0x0003E218, 0x0003F02B, 0x0004001B, + 0x000485A0, 0x0004871B, 0x000530A2, 0x00053105, 0x000557A2, 0x00055905, 0x00058BA2, + 0x00058D05, 0x000590A2, 0x00059132, 0x0005C8A2, 0x0005D032, 0x0005EBA2, 0x0005EF32, + 0x0005F5A2, 0x00060003, 0x000605A1, 0x00060603, 0x00060CA1, 0x00060D03, 0x00061BA1, + 0x00061C03, 0x00061FA1, 0x00062003, 0x000640A1, 0x00064103, 0x00064BA0, 0x00065603, + 0x000670A0, 0x00067103, 0x0006DDA1, 0x0006DE03, 0x00070085, 0x00070EA2, 0x00070F85, + 0x00074BA2, 0x00074D85, 0x00075003, 0x00078090, 0x0007B2A2, 0x0007C061, 0x0007FBA2, + 0x0007FD61, 0x00080076, 0x00082EA2, 0x00083076, 0x00083FA2, 0x0008404F, 0x00085CA2, + 0x00085E4F, 0x00085FA2, 0x00086085, 0x00086BA2, 0x00087003, 0x00088FA2, 0x00089003, + 0x000892A2, 0x00089803, 0x0008E2A1, 0x0008E303, 0x0009001C, 0x000951A0, 0x0009551C, + 0x000964A1, 0x0009661C, 0x0009800B, 0x000984A2, 0x0009850B, 0x00098DA2, 0x00098F0B, + 0x000991A2, 0x0009930B, 0x0009A9A2, 0x0009AA0B, 0x0009B1A2, 0x0009B20B, 0x0009B3A2, + 0x0009B60B, 0x0009BAA2, 0x0009BC0B, 0x0009C5A2, 0x0009C70B, 0x0009C9A2, 0x0009CB0B, + 0x0009CFA2, 0x0009D70B, 0x0009D8A2, 0x0009DC0B, 0x0009DEA2, 0x0009DF0B, 0x0009E4A2, + 0x0009E60B, 0x0009FFA2, 0x000A012D, 0x000A04A2, 0x000A052D, 0x000A0BA2, 0x000A0F2D, + 0x000A11A2, 0x000A132D, 0x000A29A2, 0x000A2A2D, 0x000A31A2, 0x000A322D, 0x000A34A2, + 0x000A352D, 0x000A37A2, 0x000A382D, 0x000A3AA2, 0x000A3C2D, 0x000A3DA2, 0x000A3E2D, + 0x000A43A2, 0x000A472D, 0x000A49A2, 0x000A4B2D, 0x000A4EA2, 0x000A512D, 0x000A52A2, + 0x000A592D, 0x000A5DA2, 0x000A5E2D, 0x000A5FA2, 0x000A662D, 0x000A77A2, 0x000A812C, + 0x000A84A2, 0x000A852C, 0x000A8EA2, 0x000A8F2C, 0x000A92A2, 0x000A932C, 0x000AA9A2, + 0x000AAA2C, 0x000AB1A2, 0x000AB22C, 0x000AB4A2, 0x000AB52C, 0x000ABAA2, 0x000ABC2C, + 0x000AC6A2, 0x000AC72C, 0x000ACAA2, 0x000ACB2C, 0x000ACEA2, 0x000AD02C, 0x000AD1A2, + 0x000AE02C, 0x000AE4A2, 0x000AE62C, 0x000AF2A2, 0x000AF92C, 0x000B00A2, 0x000B0166, + 0x000B04A2, 0x000B0566, 0x000B0DA2, 0x000B0F66, 0x000B11A2, 0x000B1366, 0x000B29A2, + 0x000B2A66, 0x000B31A2, 0x000B3266, 0x000B34A2, 0x000B3566, 0x000B3AA2, 0x000B3C66, + 0x000B45A2, 0x000B4766, 0x000B49A2, 0x000B4B66, 0x000B4EA2, 0x000B5566, 0x000B58A2, + 0x000B5C66, 0x000B5EA2, 0x000B5F66, 0x000B64A2, 0x000B6666, 0x000B78A2, 0x000B828A, + 0x000B84A2, 0x000B858A, 0x000B8BA2, 0x000B8E8A, 0x000B91A2, 0x000B928A, 0x000B96A2, + 0x000B998A, 0x000B9BA2, 0x000B9C8A, 0x000B9DA2, 0x000B9E8A, 0x000BA0A2, 0x000BA38A, + 0x000BA5A2, 0x000BA88A, 0x000BABA2, 0x000BAE8A, 0x000BBAA2, 0x000BBE8A, 0x000BC3A2, + 0x000BC68A, 0x000BC9A2, 0x000BCA8A, 0x000BCEA2, 0x000BD08A, 0x000BD1A2, 0x000BD78A, + 0x000BD8A2, 0x000BE68A, 0x000BFBA2, 0x000C008D, 0x000C0DA2, 0x000C0E8D, 0x000C11A2, + 0x000C128D, 0x000C29A2, 0x000C2A8D, 0x000C3AA2, 0x000C3C8D, 0x000C45A2, 0x000C468D, + 0x000C49A2, 0x000C4A8D, 0x000C4EA2, 0x000C558D, 0x000C57A2, 0x000C588D, 0x000C5BA2, + 0x000C5D8D, 0x000C5EA2, 0x000C608D, 0x000C64A2, 0x000C668D, 0x000C70A2, 0x000C778D, + 0x000C8041, 0x000C8DA2, 0x000C8E41, 0x000C91A2, 0x000C9241, 0x000CA9A2, 0x000CAA41, + 0x000CB4A2, 0x000CB541, 0x000CBAA2, 0x000CBC41, 0x000CC5A2, 0x000CC641, 0x000CC9A2, + 0x000CCA41, 0x000CCEA2, 0x000CD541, 0x000CD7A2, 0x000CDD41, 0x000CDFA2, 0x000CE041, + 0x000CE4A2, 0x000CE641, 0x000CF0A2, 0x000CF141, 0x000CF3A2, 0x000D0056, 0x000D0DA2, + 0x000D0E56, 0x000D11A2, 0x000D1256, 0x000D45A2, 0x000D4656, 0x000D49A2, 0x000D4A56, + 0x000D50A2, 0x000D5456, 0x000D64A2, 0x000D6656, 0x000D80A2, 0x000D817E, 0x000D84A2, + 0x000D857E, 0x000D97A2, 0x000D9A7E, 0x000DB2A2, 0x000DB37E, 0x000DBCA2, 0x000DBD7E, + 0x000DBEA2, 0x000DC07E, 0x000DC7A2, 0x000DCA7E, 0x000DCBA2, 0x000DCF7E, 0x000DD5A2, + 0x000DD67E, 0x000DD7A2, 0x000DD87E, 0x000DE0A2, 0x000DE67E, 0x000DF0A2, 0x000DF27E, + 0x000DF5A2, 0x000E0191, 0x000E3BA2, 0x000E3FA1, 0x000E4091, 0x000E5CA2, 0x000E8144, + 0x000E83A2, 0x000E8444, 0x000E85A2, 0x000E8644, 0x000E8BA2, 0x000E8C44, 0x000EA4A2, + 0x000EA544, 0x000EA6A2, 0x000EA744, 0x000EBEA2, 0x000EC044, 0x000EC5A2, 0x000EC644, + 0x000EC7A2, 0x000EC844, 0x000ECEA2, 0x000ED044, 0x000EDAA2, 0x000EDC44, 0x000EE0A2, + 0x000F0092, 0x000F48A2, 0x000F4992, 0x000F6DA2, 0x000F7192, 0x000F98A2, 0x000F9992, + 0x000FBDA2, 0x000FBE92, 0x000FCDA2, 0x000FCE92, 0x000FD5A1, 0x000FD992, 0x000FDBA2, + 0x0010005C, 0x0010A025, 0x0010C6A2, 0x0010C725, 0x0010C8A2, 0x0010CD25, 0x0010CEA2, + 0x0010D025, 0x0010FBA1, 0x0010FC25, 0x0011002E, 0x00120024, 0x001249A2, 0x00124A24, + 0x00124EA2, 0x00125024, 0x001257A2, 0x00125824, 0x001259A2, 0x00125A24, 0x00125EA2, + 0x00126024, 0x001289A2, 0x00128A24, 0x00128EA2, 0x00129024, 0x0012B1A2, 0x0012B224, + 0x0012B6A2, 0x0012B824, 0x0012BFA2, 0x0012C024, 0x0012C1A2, 0x0012C224, 0x0012C6A2, + 0x0012C824, 0x0012D7A2, 0x0012D824, 0x001311A2, 0x00131224, 0x001316A2, 0x00131824, + 0x00135BA2, 0x00135D24, 0x00137DA2, 0x00138024, 0x00139AA2, 0x0013A016, 0x0013F6A2, + 0x0013F816, 0x0013FEA2, 0x00140013, 0x00168063, 0x00169DA2, 0x0016A075, 0x0016EBA1, + 0x0016EE75, 0x0016F9A2, 0x0017008F, 0x001716A2, 0x00171F8F, 0x00172030, 0x001735A1, + 0x001737A2, 0x00174011, 0x001754A2, 0x00176086, 0x00176DA2, 0x00176E86, 0x001771A2, + 0x00177286, 0x001774A2, 0x0017803E, 0x0017DEA2, 0x0017E03E, 0x0017EAA2, 0x0017F03E, + 0x0017FAA2, 0x00180058, 0x001802A1, 0x00180458, 0x001805A1, 0x00180658, 0x00181AA2, + 0x00182058, 0x001879A2, 0x00188058, 0x0018ABA2, 0x0018B013, 0x0018F6A2, 0x00190047, + 0x00191FA2, 0x00192047, 0x00192CA2, 0x00193047, 0x00193CA2, 0x00194047, 0x001941A2, + 0x00194447, 0x00195088, 0x00196EA2, 0x00197088, 0x001975A2, 0x00198089, 0x0019ACA2, + 0x0019B089, 0x0019CAA2, 0x0019D089, 0x0019DBA2, 0x0019DE89, 0x0019E03E, 0x001A0010, + 0x001A1CA2, 0x001A1E10, 0x001A2043, 0x001A5FA2, 0x001A6043, 0x001A7DA2, 0x001A7F43, + 0x001A8AA2, 0x001A9043, 0x001A9AA2, 0x001AA043, 0x001AAEA2, 0x001AB0A0, 0x001ACFA2, + 0x001B0007, 0x001B4DA2, 0x001B5007, 0x001B7FA2, 0x001B8083, 0x001BC00A, 0x001BF4A2, + 0x001BFC0A, 0x001C0046, 0x001C38A2, 0x001C3B46, 0x001C4AA2, 0x001C4D46, 0x001C5064, + 0x001C801B, 0x001C89A2, 0x001C9025, 0x001CBBA2, 0x001CBD25, 0x001CC083, 0x001CC8A2, + 0x001CD0A0, 0x001CD3A1, 0x001CD4A0, 0x001CE1A1, 0x001CE2A0, 0x001CE9A1, 0x001CEDA0, + 0x001CEEA1, 0x001CF4A0, 0x001CF5A1, 0x001CF8A0, 0x001CFAA1, 0x001CFBA2, 0x001D0045, + 0x001D262B, 0x001D2B1B, 0x001D2C45, 0x001D5D2B, 0x001D6245, 0x001D662B, 0x001D6B45, + 0x001D781B, 0x001D7945, 0x001DBF2B, 0x001DC0A0, 0x001E0045, 0x001F002B, 0x001F16A2, + 0x001F182B, 0x001F1EA2, 0x001F202B, 0x001F46A2, 0x001F482B, 0x001F4EA2, 0x001F502B, + 0x001F58A2, 0x001F592B, 0x001F5AA2, 0x001F5B2B, 0x001F5CA2, 0x001F5D2B, 0x001F5EA2, + 0x001F5F2B, 0x001F7EA2, 0x001F802B, 0x001FB5A2, 0x001FB62B, 0x001FC5A2, 0x001FC62B, + 0x001FD4A2, 0x001FD62B, 0x001FDCA2, 0x001FDD2B, 0x001FF0A2, 0x001FF22B, 0x001FF5A2, + 0x001FF62B, 0x001FFFA2, 0x002000A1, 0x00200CA0, 0x00200EA1, 0x002065A2, 0x002066A1, + 0x00207145, 0x002072A2, 0x002074A1, 0x00207F45, 0x002080A1, 0x00208FA2, 0x00209045, + 0x00209DA2, 0x0020A0A1, 0x0020C1A2, 0x0020D0A0, 0x0020F1A2, 0x002100A1, 0x0021262B, + 0x002127A1, 0x00212A45, 0x00212CA1, 0x00213245, 0x002133A1, 0x00214E45, 0x00214FA1, + 0x00216045, 0x002189A1, 0x00218CA2, 0x002190A1, 0x002427A2, 0x002440A1, 0x00244BA2, + 0x002460A1, 0x0028000F, 0x002900A1, 0x002B74A2, 0x002B76A1, 0x002B96A2, 0x002B97A1, + 0x002C0026, 0x002C6045, 0x002C8018, 0x002CF4A2, 0x002CF918, 0x002D0025, 0x002D26A2, + 0x002D2725, 0x002D28A2, 0x002D2D25, 0x002D2EA2, 0x002D308E, 0x002D68A2, 0x002D6F8E, + 0x002D71A2, 0x002D7F8E, 0x002D8024, 0x002D97A2, 0x002DA024, 0x002DA7A2, 0x002DA824, + 0x002DAFA2, 0x002DB024, 0x002DB7A2, 0x002DB824, 0x002DBFA2, 0x002DC024, 0x002DC7A2, + 0x002DC824, 0x002DCFA2, 0x002DD024, 0x002DD7A2, 0x002DD824, 0x002DDFA2, 0x002DE01B, + 0x002E00A1, 0x002E5EA2, 0x002E802F, 0x002E9AA2, 0x002E9B2F, 0x002EF4A2, 0x002F002F, + 0x002FD6A2, 0x002FF0A1, 0x002FFCA2, 0x003000A1, 0x0030052F, 0x003006A1, 0x0030072F, + 0x003008A1, 0x0030212F, 0x00302AA0, 0x00302E2E, 0x003030A1, 0x0030382F, 0x00303CA1, + 0x003040A2, 0x00304133, 0x003097A2, 0x003099A0, 0x00309BA1, 0x00309D33, 0x0030A0A1, + 0x0030A13C, 0x0030FBA1, 0x0030FD3C, 0x003100A2, 0x0031050D, 0x003130A2, 0x0031312E, + 0x00318FA2, 0x003190A1, 0x0031A00D, 0x0031C0A1, 0x0031E4A2, 0x0031F03C, 0x0032002E, + 0x00321FA2, 0x003220A1, 0x0032602E, 0x00327FA1, 0x0032D03C, 0x0032FFA1, 0x0033003C, + 0x003358A1, 0x0034002F, 0x004DC0A1, 0x004E002F, 0x00A0009E, 0x00A48DA2, 0x00A4909E, + 0x00A4C7A2, 0x00A4D04A, 0x00A50097, 0x00A62CA2, 0x00A6401B, 0x00A6A008, 0x00A6F8A2, + 0x00A700A1, 0x00A72245, 0x00A788A1, 0x00A78B45, 0x00A7CBA2, 0x00A7D045, 0x00A7D2A2, + 0x00A7D345, 0x00A7D4A2, 0x00A7D545, 0x00A7DAA2, 0x00A7F245, 0x00A80084, 0x00A82DA2, + 0x00A830A1, 0x00A83AA2, 0x00A8406D, 0x00A878A2, 0x00A88078, 0x00A8C6A2, 0x00A8CE78, + 0x00A8DAA2, 0x00A8E01C, 0x00A9003B, 0x00A92EA1, 0x00A92F3B, 0x00A93073, 0x00A954A2, + 0x00A95F73, 0x00A9602E, 0x00A97DA2, 0x00A9803A, 0x00A9CEA2, 0x00A9CFA1, 0x00A9D03A, + 0x00A9DAA2, 0x00A9DE3A, 0x00A9E05C, 0x00A9FFA2, 0x00AA0015, 0x00AA37A2, 0x00AA4015, + 0x00AA4EA2, 0x00AA5015, 0x00AA5AA2, 0x00AA5C15, 0x00AA605C, 0x00AA808C, 0x00AAC3A2, + 0x00AADB8C, 0x00AAE05A, 0x00AAF7A2, 0x00AB0124, 0x00AB07A2, 0x00AB0924, 0x00AB0FA2, + 0x00AB1124, 0x00AB17A2, 0x00AB2024, 0x00AB27A2, 0x00AB2824, 0x00AB2FA2, 0x00AB3045, + 0x00AB5BA1, 0x00AB5C45, 0x00AB652B, 0x00AB6645, 0x00AB6AA1, 0x00AB6CA2, 0x00AB7016, + 0x00ABC05A, 0x00ABEEA2, 0x00ABF05A, 0x00ABFAA2, 0x00AC002E, 0x00D7A4A2, 0x00D7B02E, + 0x00D7C7A2, 0x00D7CB2E, 0x00D7FCA2, 0x00F9002F, 0x00FA6EA2, 0x00FA702F, 0x00FADAA2, + 0x00FB0045, 0x00FB07A2, 0x00FB1305, 0x00FB18A2, 0x00FB1D32, 0x00FB37A2, 0x00FB3832, + 0x00FB3DA2, 0x00FB3E32, 0x00FB3FA2, 0x00FB4032, 0x00FB42A2, 0x00FB4332, 0x00FB45A2, + 0x00FB4632, 0x00FB5003, 0x00FBC3A2, 0x00FBD303, 0x00FD3EA1, 0x00FD4003, 0x00FD90A2, + 0x00FD9203, 0x00FDC8A2, 0x00FDCF03, 0x00FDD0A2, 0x00FDF003, 0x00FE00A0, 0x00FE10A1, + 0x00FE1AA2, 0x00FE20A0, 0x00FE2E1B, 0x00FE30A1, 0x00FE53A2, 0x00FE54A1, 0x00FE67A2, + 0x00FE68A1, 0x00FE6CA2, 0x00FE7003, 0x00FE75A2, 0x00FE7603, 0x00FEFDA2, 0x00FEFFA1, + 0x00FF00A2, 0x00FF01A1, 0x00FF2145, 0x00FF3BA1, 0x00FF4145, 0x00FF5BA1, 0x00FF663C, + 0x00FF70A1, 0x00FF713C, 0x00FF9EA1, 0x00FFA02E, 0x00FFBFA2, 0x00FFC22E, 0x00FFC8A2, + 0x00FFCA2E, 0x00FFD0A2, 0x00FFD22E, 0x00FFD8A2, 0x00FFDA2E, 0x00FFDDA2, 0x00FFE0A1, + 0x00FFE7A2, 0x00FFE8A1, 0x00FFEFA2, 0x00FFF9A1, 0x00FFFEA2, 0x01000049, 0x01000CA2, + 0x01000D49, 0x010027A2, 0x01002849, 0x01003BA2, 0x01003C49, 0x01003EA2, 0x01003F49, + 0x01004EA2, 0x01005049, 0x01005EA2, 0x01008049, 0x0100FBA2, 0x010100A1, 0x010103A2, + 0x010107A1, 0x010134A2, 0x010137A1, 0x0101402B, 0x01018FA2, 0x010190A1, 0x01019DA2, + 0x0101A02B, 0x0101A1A2, 0x0101D0A1, 0x0101FDA0, 0x0101FEA2, 0x0102804B, 0x01029DA2, + 0x0102A014, 0x0102D1A2, 0x0102E0A0, 0x0102E1A1, 0x0102FCA2, 0x01030039, 0x010324A2, + 0x01032D39, 0x01033029, 0x01034BA2, 0x0103506C, 0x01037BA2, 0x01038096, 0x01039EA2, + 0x01039F96, 0x0103A09B, 0x0103C4A2, 0x0103C89B, 0x0103D6A2, 0x0104001F, 0x0104507A, + 0x01048068, 0x01049EA2, 0x0104A068, 0x0104AAA2, 0x0104B067, 0x0104D4A2, 0x0104D867, + 0x0104FCA2, 0x01050022, 0x010528A2, 0x01053001, 0x010564A2, 0x01056F01, 0x01057098, + 0x01057BA2, 0x01057C98, 0x01058BA2, 0x01058C98, 0x010593A2, 0x01059498, 0x010596A2, + 0x01059798, 0x0105A2A2, 0x0105A398, 0x0105B2A2, 0x0105B398, 0x0105BAA2, 0x0105BB98, + 0x0105BDA2, 0x01060048, 0x010737A2, 0x01074048, 0x010756A2, 0x01076048, 0x010768A2, + 0x01078045, 0x010786A2, 0x01078745, 0x0107B1A2, 0x0107B245, 0x0107BBA2, 0x0108001A, + 0x010806A2, 0x0108081A, 0x010809A2, 0x01080A1A, 0x010836A2, 0x0108371A, 0x010839A2, + 0x01083C1A, 0x01083DA2, 0x01083F1A, 0x01084004, 0x010856A2, 0x01085704, 0x0108606A, + 0x0108805F, 0x01089FA2, 0x0108A75F, 0x0108B0A2, 0x0108E031, 0x0108F3A2, 0x0108F431, + 0x0108F6A2, 0x0108FB31, 0x01090070, 0x01091CA2, 0x01091F70, 0x0109204C, 0x01093AA2, + 0x01093F4C, 0x010940A2, 0x01098055, 0x0109A054, 0x0109B8A2, 0x0109BC54, 0x0109D0A2, + 0x0109D254, 0x010A003D, 0x010A04A2, 0x010A053D, 0x010A07A2, 0x010A0C3D, 0x010A14A2, + 0x010A153D, 0x010A18A2, 0x010A193D, 0x010A36A2, 0x010A383D, 0x010A3BA2, 0x010A3F3D, + 0x010A49A2, 0x010A503D, 0x010A59A2, 0x010A6077, 0x010A805E, 0x010AA0A2, 0x010AC050, + 0x010AE7A2, 0x010AEB50, 0x010AF7A2, 0x010B0006, 0x010B36A2, 0x010B3906, 0x010B4072, + 0x010B56A2, 0x010B5872, 0x010B606E, 0x010B73A2, 0x010B786E, 0x010B806F, 0x010B92A2, + 0x010B996F, 0x010B9DA2, 0x010BA96F, 0x010BB0A2, 0x010C0065, 0x010C49A2, 0x010C8038, + 0x010CB3A2, 0x010CC038, 0x010CF3A2, 0x010CFA38, 0x010D0074, 0x010D28A2, 0x010D3074, + 0x010D3AA2, 0x010E6003, 0x010E7FA2, 0x010E809D, 0x010EAAA2, 0x010EAB9D, 0x010EAEA2, + 0x010EB09D, 0x010EB2A2, 0x010F0080, 0x010F28A2, 0x010F307F, 0x010F5AA2, 0x010F7069, + 0x010F8AA2, 0x010FB017, 0x010FCCA2, 0x010FE023, 0x010FF7A2, 0x0110000E, 0x01104EA2, + 0x0110520E, 0x011076A2, 0x01107F0E, 0x01108042, 0x0110C3A2, 0x0110CD42, 0x0110CEA2, + 0x0110D081, 0x0110E9A2, 0x0110F081, 0x0110FAA2, 0x01110012, 0x011135A2, 0x01113612, + 0x011148A2, 0x0111504D, 0x011177A2, 0x0111807B, 0x0111E0A2, 0x0111E17E, 0x0111F5A2, + 0x0112003F, 0x011212A2, 0x0112133F, 0x01123FA2, 0x0112805B, 0x011287A2, 0x0112885B, + 0x011289A2, 0x01128A5B, 0x01128EA2, 0x01128F5B, 0x01129EA2, 0x01129F5B, 0x0112AAA2, + 0x0112B07D, 0x0112EBA2, 0x0112F07D, 0x0112FAA2, 0x0113002A, 0x011304A2, 0x0113052A, + 0x01130DA2, 0x01130F2A, 0x011311A2, 0x0113132A, 0x011329A2, 0x01132A2A, 0x011331A2, + 0x0113322A, 0x011334A2, 0x0113352A, 0x01133AA2, 0x01133BA0, 0x01133C2A, 0x011345A2, + 0x0113472A, 0x011349A2, 0x01134B2A, 0x01134EA2, 0x0113502A, 0x011351A2, 0x0113572A, + 0x011358A2, 0x01135D2A, 0x011364A2, 0x0113662A, 0x01136DA2, 0x0113702A, 0x011375A2, + 0x01140060, 0x01145CA2, 0x01145D60, 0x011462A2, 0x01148093, 0x0114C8A2, 0x0114D093, + 0x0114DAA2, 0x0115807C, 0x0115B6A2, 0x0115B87C, 0x0115DEA2, 0x01160057, 0x011645A2, + 0x01165057, 0x01165AA2, 0x01166058, 0x01166DA2, 0x01168087, 0x0116BAA2, 0x0116C087, + 0x0116CAA2, 0x01170002, 0x01171BA2, 0x01171D02, 0x01172CA2, 0x01173002, 0x011747A2, + 0x0118001E, 0x01183CA2, 0x0118A099, 0x0118F3A2, 0x0118FF99, 0x0119001D, 0x011907A2, + 0x0119091D, 0x01190AA2, 0x01190C1D, 0x011914A2, 0x0119151D, 0x011917A2, 0x0119181D, + 0x011936A2, 0x0119371D, 0x011939A2, 0x01193B1D, 0x011947A2, 0x0119501D, 0x01195AA2, + 0x0119A05D, 0x0119A8A2, 0x0119AA5D, 0x0119D8A2, 0x0119DA5D, 0x0119E5A2, 0x011A009F, + 0x011A48A2, 0x011A5082, 0x011AA3A2, 0x011AB013, 0x011AC06B, 0x011AF9A2, 0x011C000C, + 0x011C09A2, 0x011C0A0C, 0x011C37A2, 0x011C380C, 0x011C46A2, 0x011C500C, 0x011C6DA2, + 0x011C7051, 0x011C90A2, 0x011C9251, 0x011CA8A2, 0x011CA951, 0x011CB7A2, 0x011D0028, + 0x011D07A2, 0x011D0828, 0x011D0AA2, 0x011D0B28, 0x011D37A2, 0x011D3A28, 0x011D3BA2, + 0x011D3C28, 0x011D3EA2, 0x011D3F28, 0x011D48A2, 0x011D5028, 0x011D5AA2, 0x011D6027, + 0x011D66A2, 0x011D6727, 0x011D69A2, 0x011D6A27, 0x011D8FA2, 0x011D9027, 0x011D92A2, + 0x011D9327, 0x011D99A2, 0x011DA027, 0x011DAAA2, 0x011EE04E, 0x011EF9A2, 0x011FB04A, + 0x011FB1A2, 0x011FC08A, 0x011FF2A2, 0x011FFF8A, 0x0120009C, 0x01239AA2, 0x0124009C, + 0x01246FA2, 0x0124709C, 0x012475A2, 0x0124809C, 0x012544A2, 0x012F9019, 0x012FF3A2, + 0x01300021, 0x01342FA2, 0x01343021, 0x013439A2, 0x01440034, 0x014647A2, 0x01680008, + 0x016A39A2, 0x016A4059, 0x016A5FA2, 0x016A6059, 0x016A6AA2, 0x016A6E59, 0x016A7094, + 0x016ABFA2, 0x016AC094, 0x016ACAA2, 0x016AD009, 0x016AEEA2, 0x016AF009, 0x016AF6A2, + 0x016B0035, 0x016B46A2, 0x016B5035, 0x016B5AA2, 0x016B5B35, 0x016B62A2, 0x016B6335, + 0x016B78A2, 0x016B7D35, 0x016B90A2, 0x016E4052, 0x016E9BA2, 0x016F0071, 0x016F4BA2, + 0x016F4F71, 0x016F88A2, 0x016F8F71, 0x016FA0A2, 0x016FE08B, 0x016FE162, 0x016FE22F, + 0x016FE440, 0x016FE5A2, 0x016FF02F, 0x016FF2A2, 0x0170008B, 0x0187F8A2, 0x0188008B, + 0x018B0040, 0x018CD6A2, 0x018D008B, 0x018D09A2, 0x01AFF03C, 0x01AFF4A2, 0x01AFF53C, + 0x01AFFCA2, 0x01AFFD3C, 0x01AFFFA2, 0x01B0003C, 0x01B00133, 0x01B1203C, 0x01B123A2, + 0x01B15033, 0x01B153A2, 0x01B1643C, 0x01B168A2, 0x01B17062, 0x01B2FCA2, 0x01BC0020, + 0x01BC6BA2, 0x01BC7020, 0x01BC7DA2, 0x01BC8020, 0x01BC89A2, 0x01BC9020, 0x01BC9AA2, + 0x01BC9C20, 0x01BCA0A1, 0x01BCA4A2, 0x01CF00A0, 0x01CF2EA2, 0x01CF30A0, 0x01CF47A2, + 0x01CF50A1, 0x01CFC4A2, 0x01D000A1, 0x01D0F6A2, 0x01D100A1, 0x01D127A2, 0x01D129A1, + 0x01D167A0, 0x01D16AA1, 0x01D17BA0, 0x01D183A1, 0x01D185A0, 0x01D18CA1, 0x01D1AAA0, + 0x01D1AEA1, 0x01D1EBA2, 0x01D2002B, 0x01D246A2, 0x01D2E0A1, 0x01D2F4A2, 0x01D300A1, + 0x01D357A2, 0x01D360A1, 0x01D379A2, 0x01D400A1, 0x01D455A2, 0x01D456A1, 0x01D49DA2, + 0x01D49EA1, 0x01D4A0A2, 0x01D4A2A1, 0x01D4A3A2, 0x01D4A5A1, 0x01D4A7A2, 0x01D4A9A1, + 0x01D4ADA2, 0x01D4AEA1, 0x01D4BAA2, 0x01D4BBA1, 0x01D4BCA2, 0x01D4BDA1, 0x01D4C4A2, + 0x01D4C5A1, 0x01D506A2, 0x01D507A1, 0x01D50BA2, 0x01D50DA1, 0x01D515A2, 0x01D516A1, + 0x01D51DA2, 0x01D51EA1, 0x01D53AA2, 0x01D53BA1, 0x01D53FA2, 0x01D540A1, 0x01D545A2, + 0x01D546A1, 0x01D547A2, 0x01D54AA1, 0x01D551A2, 0x01D552A1, 0x01D6A6A2, 0x01D6A8A1, + 0x01D7CCA2, 0x01D7CEA1, 0x01D80079, 0x01DA8CA2, 0x01DA9B79, 0x01DAA0A2, 0x01DAA179, + 0x01DAB0A2, 0x01DF0045, 0x01DF1FA2, 0x01E00026, 0x01E007A2, 0x01E00826, 0x01E019A2, + 0x01E01B26, 0x01E022A2, 0x01E02326, 0x01E025A2, 0x01E02626, 0x01E02BA2, 0x01E10036, + 0x01E12DA2, 0x01E13036, 0x01E13EA2, 0x01E14036, 0x01E14AA2, 0x01E14E36, 0x01E150A2, + 0x01E29095, 0x01E2AFA2, 0x01E2C09A, 0x01E2FAA2, 0x01E2FF9A, 0x01E300A2, 0x01E7E024, + 0x01E7E7A2, 0x01E7E824, 0x01E7ECA2, 0x01E7ED24, 0x01E7EFA2, 0x01E7F024, 0x01E7FFA2, + 0x01E80053, 0x01E8C5A2, 0x01E8C753, 0x01E8D7A2, 0x01E90000, 0x01E94CA2, 0x01E95000, + 0x01E95AA2, 0x01E95E00, 0x01E960A2, 0x01EC71A1, 0x01ECB5A2, 0x01ED01A1, 0x01ED3EA2, + 0x01EE0003, 0x01EE04A2, 0x01EE0503, 0x01EE20A2, 0x01EE2103, 0x01EE23A2, 0x01EE2403, + 0x01EE25A2, 0x01EE2703, 0x01EE28A2, 0x01EE2903, 0x01EE33A2, 0x01EE3403, 0x01EE38A2, + 0x01EE3903, 0x01EE3AA2, 0x01EE3B03, 0x01EE3CA2, 0x01EE4203, 0x01EE43A2, 0x01EE4703, + 0x01EE48A2, 0x01EE4903, 0x01EE4AA2, 0x01EE4B03, 0x01EE4CA2, 0x01EE4D03, 0x01EE50A2, + 0x01EE5103, 0x01EE53A2, 0x01EE5403, 0x01EE55A2, 0x01EE5703, 0x01EE58A2, 0x01EE5903, + 0x01EE5AA2, 0x01EE5B03, 0x01EE5CA2, 0x01EE5D03, 0x01EE5EA2, 0x01EE5F03, 0x01EE60A2, + 0x01EE6103, 0x01EE63A2, 0x01EE6403, 0x01EE65A2, 0x01EE6703, 0x01EE6BA2, 0x01EE6C03, + 0x01EE73A2, 0x01EE7403, 0x01EE78A2, 0x01EE7903, 0x01EE7DA2, 0x01EE7E03, 0x01EE7FA2, + 0x01EE8003, 0x01EE8AA2, 0x01EE8B03, 0x01EE9CA2, 0x01EEA103, 0x01EEA4A2, 0x01EEA503, + 0x01EEAAA2, 0x01EEAB03, 0x01EEBCA2, 0x01EEF003, 0x01EEF2A2, 0x01F000A1, 0x01F02CA2, + 0x01F030A1, 0x01F094A2, 0x01F0A0A1, 0x01F0AFA2, 0x01F0B1A1, 0x01F0C0A2, 0x01F0C1A1, + 0x01F0D0A2, 0x01F0D1A1, 0x01F0F6A2, 0x01F100A1, 0x01F1AEA2, 0x01F1E6A1, 0x01F20033, + 0x01F201A1, 0x01F203A2, 0x01F210A1, 0x01F23CA2, 0x01F240A1, 0x01F249A2, 0x01F250A1, + 0x01F252A2, 0x01F260A1, 0x01F266A2, 0x01F300A1, 0x01F6D8A2, 0x01F6DDA1, 0x01F6EDA2, + 0x01F6F0A1, 0x01F6FDA2, 0x01F700A1, 0x01F774A2, 0x01F780A1, 0x01F7D9A2, 0x01F7E0A1, + 0x01F7ECA2, 0x01F7F0A1, 0x01F7F1A2, 0x01F800A1, 0x01F80CA2, 0x01F810A1, 0x01F848A2, + 0x01F850A1, 0x01F85AA2, 0x01F860A1, 0x01F888A2, 0x01F890A1, 0x01F8AEA2, 0x01F8B0A1, + 0x01F8B2A2, 0x01F900A1, 0x01FA54A2, 0x01FA60A1, 0x01FA6EA2, 0x01FA70A1, 0x01FA75A2, + 0x01FA78A1, 0x01FA7DA2, 0x01FA80A1, 0x01FA87A2, 0x01FA90A1, 0x01FAADA2, 0x01FAB0A1, + 0x01FABBA2, 0x01FAC0A1, 0x01FAC6A2, 0x01FAD0A1, 0x01FADAA2, 0x01FAE0A1, 0x01FAE8A2, + 0x01FAF0A1, 0x01FAF7A2, 0x01FB00A1, 0x01FB93A2, 0x01FB94A1, 0x01FBCBA2, 0x01FBF0A1, + 0x01FBFAA2, 0x0200002F, 0x02A6E0A2, 0x02A7002F, 0x02B739A2, 0x02B7402F, 0x02B81EA2, + 0x02B8202F, 0x02CEA2A2, 0x02CEB02F, 0x02EBE1A2, 0x02F8002F, 0x02FA1EA2, 0x0300002F, + 0x03134BA2, 0x0E0001A1, 0x0E0002A2, 0x0E0020A1, 0x0E0080A2, 0x0E0100A0, 0x0E01F0A2, + 0xFFFFFFFF}; }; template<> struct script_data<1> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x0003422A, 0x0003439D, 0x0003452A, 0x0003469D, 0x00036344, 0x0003709D, - 0x0004831A, 0x0004889D, 0x00060C03, 0x00060D9D, 0x00061B03, 0x00061D9D, 0x00061F03, - 0x0006209D, 0x00064000, 0x0006419D, 0x00064B03, 0x0006569D, 0x00066003, 0x00066A9D, - 0x00067003, 0x0006719D, 0x0006D403, 0x0006D59D, 0x0009510B, 0x0009539D, 0x0009640B, - 0x0009661B, 0x0009709D, 0x0009E60B, 0x0009F09D, 0x000A662C, 0x000A709D, 0x000AE62B, - 0x000AF09D, 0x000BE629, 0x000BF49D, 0x000CE640, 0x000CF09D, 0x00104012, 0x00104A9D, - 0x0010FB24, 0x0010FC9D, 0x00173511, 0x0017379D, 0x00180257, 0x0018049D, 0x00180557, - 0x0018069D, 0x001CD00B, 0x001CD11B, 0x001CD20B, 0x001CD31B, 0x001CD50B, 0x001CD71B, - 0x001CD80B, 0x001CD91B, 0x001CE10B, 0x001CE21B, 0x001CEA0B, 0x001CEB1B, 0x001CED0B, - 0x001CEE1B, 0x001CF20B, 0x001CF31B, 0x001CF50B, 0x001CF81B, 0x001CFA5C, 0x001CFB9D, - 0x001DC02A, 0x001DC29D, 0x001DF81A, 0x001DF99D, 0x00202F44, 0x0020309D, 0x0020F01B, - 0x0020F19D, 0x002E431A, 0x002E449D, 0x0030010D, 0x0030049D, 0x0030062E, 0x0030079D, - 0x0030080D, 0x0030129D, 0x0030130D, 0x0030209D, 0x00302A0D, 0x00302E9D, 0x0030300D, - 0x00303132, 0x0030369D, 0x0030370D, 0x0030389D, 0x00303C2E, 0x0030409D, 0x00309932, - 0x00309D9D, 0x0030A032, 0x0030A19D, 0x0030FB0D, 0x0030FC32, 0x0030FD9D, 0x0031902E, - 0x0031A09D, 0x0031C02E, 0x0031E49D, 0x0032202E, 0x0032489D, 0x0032802E, 0x0032B19D, - 0x0032C02E, 0x0032CC9D, 0x0032FF2E, 0x0033009D, 0x0033582E, 0x0033719D, 0x00337B2E, - 0x0033809D, 0x0033E02E, 0x0033FF9D, 0x00A66F1A, 0x00A6709D, 0x00A7002E, 0x00A7089D, - 0x00A8301B, 0x00A83A9D, 0x00A8F10B, 0x00A8F29D, 0x00A8F31B, 0x00A8F49D, 0x00A92E3A, - 0x00A92F9D, 0x00A9CF10, 0x00A9D09D, 0x00FDF203, 0x00FDF39D, 0x00FDFD03, 0x00FDFE9D, - 0x00FE450D, 0x00FE479D, 0x00FF610D, 0x00FF669D, 0x00FF7032, 0x00FF719D, 0x00FF9E32, - 0x00FFA09D, 0x01010019, 0x0101039D, 0x01010719, 0x0101349D, 0x01013719, 0x0101409D, - 0x0102E003, 0x0102FC9D, 0x01130129, 0x0113029D, 0x01130329, 0x0113049D, 0x01133B29, - 0x01133D9D, 0x011FD029, 0x011FD29D, 0x011FD329, 0x011FD49D, 0x01BCA01F, 0x01BCA49D, - 0x01D3602E, 0x01D3729D, 0x01F2502E, 0x01F2529D, 0xFFFFFFFF}; + 0x000000A2, 0x0003422B, 0x000343A2, 0x0003452B, 0x000346A2, 0x00036345, 0x000370A2, + 0x0004831B, 0x000488A2, 0x00060C03, 0x00060DA2, 0x00061B03, 0x00061DA2, 0x00061F00, + 0x000620A2, 0x00064000, 0x000641A2, 0x00064B03, 0x000656A2, 0x00066003, 0x00066AA2, + 0x00067003, 0x000671A2, 0x0006D403, 0x0006D5A2, 0x0009510B, 0x000953A2, 0x0009640B, + 0x0009661C, 0x000970A2, 0x0009E60B, 0x0009F0A2, 0x000A662D, 0x000A70A2, 0x000AE62C, + 0x000AF0A2, 0x000BE62A, 0x000BF4A2, 0x000CE641, 0x000CF0A2, 0x00104012, 0x00104AA2, + 0x0010FB25, 0x0010FCA2, 0x00173511, 0x001737A2, 0x00180258, 0x001804A2, 0x00180558, + 0x001806A2, 0x001CD00B, 0x001CD11C, 0x001CD20B, 0x001CD31C, 0x001CD50B, 0x001CD71C, + 0x001CD80B, 0x001CD91C, 0x001CE10B, 0x001CE21C, 0x001CEA0B, 0x001CEB1C, 0x001CED0B, + 0x001CEE1C, 0x001CF20B, 0x001CF31C, 0x001CF50B, 0x001CF81C, 0x001CFA5D, 0x001CFBA2, + 0x001DC02B, 0x001DC2A2, 0x001DF81B, 0x001DF9A2, 0x001DFA85, 0x001DFBA2, 0x00202F45, + 0x002030A2, 0x0020F01C, 0x0020F1A2, 0x002E431B, 0x002E44A2, 0x0030010D, 0x003004A2, + 0x0030062F, 0x003007A2, 0x0030080D, 0x003012A2, 0x0030130D, 0x003020A2, 0x00302A0D, + 0x00302EA2, 0x0030300D, 0x00303133, 0x003036A2, 0x0030370D, 0x003038A2, 0x00303C2F, + 0x003040A2, 0x00309933, 0x00309DA2, 0x0030A033, 0x0030A1A2, 0x0030FB0D, 0x0030FC33, + 0x0030FDA2, 0x0031902F, 0x0031A0A2, 0x0031C02F, 0x0031E4A2, 0x0032202F, 0x003248A2, + 0x0032802F, 0x0032B1A2, 0x0032C02F, 0x0032CCA2, 0x0032FF2F, 0x003300A2, 0x0033582F, + 0x003371A2, 0x00337B2F, 0x003380A2, 0x0033E02F, 0x0033FFA2, 0x00A66F1B, 0x00A670A2, + 0x00A7002F, 0x00A708A2, 0x00A8301C, 0x00A83AA2, 0x00A8F10B, 0x00A8F2A2, 0x00A8F31C, + 0x00A8F4A2, 0x00A92E3B, 0x00A92FA2, 0x00A9CF10, 0x00A9D0A2, 0x00FD3E03, 0x00FD40A2, + 0x00FDF203, 0x00FDF3A2, 0x00FDFD03, 0x00FDFEA2, 0x00FE450D, 0x00FE47A2, 0x00FF610D, + 0x00FF66A2, 0x00FF7033, 0x00FF71A2, 0x00FF9E33, 0x00FFA0A2, 0x01010019, 0x0101021A, + 0x010103A2, 0x0101071A, 0x010134A2, 0x0101371A, 0x010140A2, 0x0102E003, 0x0102FCA2, + 0x010AF250, 0x010AF3A2, 0x0113012A, 0x011302A2, 0x0113032A, 0x011304A2, 0x01133B2A, + 0x01133DA2, 0x011FD02A, 0x011FD2A2, 0x011FD32A, 0x011FD4A2, 0x01BCA020, 0x01BCA4A2, + 0x01D3602F, 0x01D372A2, 0x01F2502F, 0x01F252A2, 0xFFFFFFFF}; }; template<> struct script_data<2> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x0004836A, 0x00048425, 0x00048544, 0x00048725, 0x0004889D, 0x00060C72, - 0x00060D9D, 0x00061B72, 0x00061C83, 0x00061D9D, 0x00061F72, 0x0006209D, 0x00064003, - 0x0006419D, 0x00064B83, 0x0006569D, 0x0006608E, 0x00066A9D, 0x00067083, 0x0006719D, - 0x0006D472, 0x0006D59D, 0x0009511B, 0x0009539D, 0x0009641B, 0x0009661D, 0x0009709D, - 0x0009E612, 0x0009F09D, 0x000A665A, 0x000A709D, 0x000AE63E, 0x000AF09D, 0x000BE688, - 0x000BF49D, 0x000CE65C, 0x000CF09D, 0x0010405B, 0x00104A9D, 0x0010FB44, 0x0010FC9D, - 0x0017352F, 0x0017379D, 0x0018026B, 0x0018049D, 0x0018056B, 0x0018069D, 0x001CD01B, - 0x001CD19D, 0x001CD21B, 0x001CD329, 0x001CD49D, 0x001CD51B, 0x001CD779, 0x001CD81B, - 0x001CD979, 0x001CDA40, 0x001CDB9D, 0x001CDC79, 0x001CDE9D, 0x001CE079, 0x001CE11B, - 0x001CE29D, 0x001CE95C, 0x001CEA1B, 0x001CEB9D, 0x001CED1B, 0x001CEE9D, 0x001CF21B, - 0x001CF329, 0x001CF51B, 0x001CF79D, 0x001CF829, 0x001CFA9D, 0x001DF883, 0x001DF99D, - 0x00202F57, 0x0020309D, 0x0020F029, 0x0020F19D, 0x002E4325, 0x002E449D, 0x0030012D, - 0x0030049D, 0x0030082D, 0x0030129D, 0x0030132D, 0x0030209D, 0x00302A2E, 0x00302E9D, - 0x0030302D, 0x0030313B, 0x0030369D, 0x0030372D, 0x0030389D, 0x00303C32, 0x00303E9D, - 0x0030993B, 0x00309D9D, 0x0030A03B, 0x0030A19D, 0x0030FB2D, 0x0030FC3B, 0x0030FD9D, - 0x00A66F25, 0x00A6709D, 0x00A70044, 0x00A7089D, 0x00A8301D, 0x00A83A9D, 0x00A8F11B, - 0x00A8F29D, 0x00A8F388, 0x00A8F49D, 0x00A92E44, 0x00A92F9D, 0x00A9CF39, 0x00A9D09D, - 0x00FDF28E, 0x00FDF39D, 0x00FDFD8E, 0x00FDFE9D, 0x00FE452D, 0x00FE479D, 0x00FF612D, - 0x00FF669D, 0x00FF703B, 0x00FF719D, 0x00FF9E3B, 0x00FFA09D, 0x01010048, 0x0101039D, - 0x01010747, 0x0101349D, 0x01013748, 0x0101409D, 0x0102E018, 0x0102FC9D, 0x01130188, - 0x0113029D, 0x01130388, 0x0113049D, 0x01133B88, 0x01133D9D, 0x011FD088, 0x011FD29D, - 0x011FD388, 0x011FD49D, 0xFFFFFFFF}; + 0x000000A2, 0x0004836C, 0x00048426, 0x00048545, 0x00048726, 0x000488A2, 0x00060C61, + 0x00060DA2, 0x00061B61, 0x00061C85, 0x00061DA2, 0x00061F03, 0x000620A2, 0x00064003, + 0x000641A2, 0x00064B85, 0x000656A2, 0x00066090, 0x00066AA2, 0x00067085, 0x000671A2, + 0x0006D474, 0x0006D5A2, 0x0009511C, 0x000953A2, 0x0009641C, 0x0009661E, 0x000970A2, + 0x0009E612, 0x0009F0A2, 0x000A665B, 0x000A70A2, 0x000AE63F, 0x000AF0A2, 0x000BE68A, + 0x000BF4A2, 0x000CE65D, 0x000CF0A2, 0x0010405C, 0x00104AA2, 0x0010FB45, 0x0010FCA2, + 0x00173530, 0x001737A2, 0x0018026D, 0x001804A2, 0x0018056D, 0x001806A2, 0x001CD01C, + 0x001CD1A2, 0x001CD21C, 0x001CD32A, 0x001CD4A2, 0x001CD51C, 0x001CD77B, 0x001CD81C, + 0x001CD97B, 0x001CDA41, 0x001CDBA2, 0x001CDC7B, 0x001CDEA2, 0x001CE07B, 0x001CE11C, + 0x001CE2A2, 0x001CE95D, 0x001CEA1C, 0x001CEBA2, 0x001CED1C, 0x001CEEA2, 0x001CF21C, + 0x001CF32A, 0x001CF51C, 0x001CF7A2, 0x001CF82A, 0x001CFAA2, 0x001DF885, 0x001DF9A2, + 0x00202F58, 0x002030A2, 0x0020F02A, 0x0020F1A2, 0x002E4326, 0x002E44A2, 0x0030012E, + 0x003004A2, 0x0030082E, 0x003012A2, 0x0030132E, 0x003020A2, 0x00302A2F, 0x00302EA2, + 0x0030302E, 0x0030313C, 0x003036A2, 0x0030372E, 0x003038A2, 0x00303C33, 0x00303EA2, + 0x0030993C, 0x00309DA2, 0x0030A03C, 0x0030A1A2, 0x0030FB2E, 0x0030FC3C, 0x0030FDA2, + 0x00A66F26, 0x00A670A2, 0x00A70045, 0x00A708A2, 0x00A8301E, 0x00A83AA2, 0x00A8F11C, + 0x00A8F2A2, 0x00A8F38A, 0x00A8F4A2, 0x00A92E45, 0x00A92FA2, 0x00A9CF3A, 0x00A9D0A2, + 0x00FD3E61, 0x00FD40A2, 0x00FDF290, 0x00FDF3A2, 0x00FDFD90, 0x00FDFEA2, 0x00FE452E, + 0x00FE47A2, 0x00FF612E, 0x00FF66A2, 0x00FF703C, 0x00FF71A2, 0x00FF9E3C, 0x00FFA0A2, + 0x0101001A, 0x01010249, 0x010103A2, 0x01010748, 0x010134A2, 0x01013749, 0x010140A2, + 0x0102E018, 0x0102FCA2, 0x010AF269, 0x010AF3A2, 0x0113018A, 0x011302A2, 0x0113038A, + 0x011304A2, 0x01133B8A, 0x01133DA2, 0x011FD08A, 0x011FD2A2, 0x011FD38A, 0x011FD4A2, + 0xFFFFFFFF}; }; template<> struct script_data<3> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00060C83, 0x00060D9D, 0x00061B83, 0x00061C8E, 0x00061D9D, 0x00061F83, - 0x0006209D, 0x0006404E, 0x0006419D, 0x00066098, 0x00066A9D, 0x00095129, 0x0009539D, - 0x0009641D, 0x00096641, 0x0009709D, 0x0009E682, 0x0009F09D, 0x00104086, 0x00104A9D, - 0x00173584, 0x0017379D, 0x001CD029, 0x001CD19D, 0x001CD229, 0x001CD39D, 0x001CDA55, - 0x001CDB9D, 0x001CF229, 0x001CF39D, 0x001CF440, 0x001CF59D, 0x0020F044, 0x0020F19D, - 0x0030012E, 0x0030049D, 0x0030082E, 0x0030129D, 0x0030132E, 0x0030209D, 0x0030302E, - 0x0030319D, 0x0030372E, 0x0030389D, 0x00303C3B, 0x00303E9D, 0x0030FB2E, 0x0030FC9D, - 0x00A8302B, 0x00A83A9D, 0x00A92E5B, 0x00A92F9D, 0x00FE452E, 0x00FE479D, 0x00FF612E, - 0x00FF669D, 0x01010748, 0x0101349D, 0xFFFFFFFF}; + 0x000000A2, 0x00060C74, 0x00060DA2, 0x00061B74, 0x00061C90, 0x00061DA2, 0x00061F61, + 0x000620A2, 0x0006404F, 0x000641A2, 0x0006609D, 0x00066AA2, 0x0009512A, 0x000953A2, + 0x0009641E, 0x00096642, 0x000970A2, 0x0009E684, 0x0009F0A2, 0x00104088, 0x00104AA2, + 0x00173586, 0x001737A2, 0x001CD02A, 0x001CD1A2, 0x001CD22A, 0x001CD3A2, 0x001CDA56, + 0x001CDBA2, 0x001CF22A, 0x001CF3A2, 0x001CF441, 0x001CF5A2, 0x0020F045, 0x0020F1A2, + 0x0030012F, 0x003004A2, 0x0030082F, 0x003012A2, 0x0030132F, 0x003020A2, 0x0030302F, + 0x003031A2, 0x0030372F, 0x003038A2, 0x00303C3C, 0x00303EA2, 0x0030FB2F, 0x0030FCA2, + 0x00A8302C, 0x00A83AA2, 0x00A92E5C, 0x00A92FA2, 0x00FE452F, 0x00FE47A2, 0x00FF612F, + 0x00FF66A2, 0x01010049, 0x010102A2, 0x01010749, 0x010134A2, 0xFFFFFFFF}; }; template<> struct script_data<4> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00060C8E, 0x00060D9D, 0x00061B8E, 0x00061C9D, 0x00061F8E, 0x0006209D, - 0x0006404F, 0x0006419D, 0x0009512B, 0x0009539D, 0x00096426, 0x0009664C, 0x0009709D, - 0x0017358D, 0x0017379D, 0x001CD040, 0x001CD19D, 0x001CD240, 0x001CD39D, 0x001CDA65, - 0x001CDB9D, 0x001CF240, 0x001CF39D, 0x00300132, 0x0030049D, 0x00300832, 0x0030129D, - 0x00301332, 0x0030209D, 0x00303032, 0x0030319D, 0x00303732, 0x0030389D, 0x0030FB32, - 0x0030FC9D, 0x00A8302C, 0x00A83A9D, 0x00FE4532, 0x00FE479D, 0x00FF6132, 0x00FF669D, + 0x000000A2, 0x00060C85, 0x00060DA2, 0x00061B85, 0x00061CA2, 0x00061F74, 0x000620A2, + 0x00064050, 0x000641A2, 0x0009512C, 0x000953A2, 0x00096427, 0x0009664D, 0x000970A2, + 0x0017358F, 0x001737A2, 0x001CD041, 0x001CD1A2, 0x001CD241, 0x001CD3A2, 0x001CDA66, + 0x001CDBA2, 0x001CF241, 0x001CF3A2, 0x00300133, 0x003004A2, 0x00300833, 0x003012A2, + 0x00301333, 0x003020A2, 0x00303033, 0x003031A2, 0x00303733, 0x003038A2, 0x0030FB33, + 0x0030FCA2, 0x00A8302D, 0x00A83AA2, 0x00FE4533, 0x00FE47A2, 0x00FF6133, 0x00FF66A2, 0xFFFFFFFF}; }; template<> struct script_data<5> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00060C98, 0x00060D9D, 0x00061B98, 0x00061C9D, 0x00061F98, - 0x0006209D, 0x0006406D, 0x0006419D, 0x0009512C, 0x0009539D, 0x00096427, - 0x0009669D, 0x001CDA88, 0x001CDB9D, 0x001CF25C, 0x001CF39D, 0x0030013B, - 0x0030049D, 0x0030083B, 0x0030129D, 0x0030133B, 0x0030209D, 0x0030303B, - 0x0030319D, 0x0030373B, 0x0030389D, 0x0030FB3B, 0x0030FC9D, 0x00A8303E, - 0x00A83A9D, 0x00FE453B, 0x00FE479D, 0x00FF613B, 0x00FF669D, 0xFFFFFFFF}; + 0x000000A2, 0x00060C90, 0x00060DA2, 0x00061B90, 0x00061CA2, 0x00061F85, + 0x000620A2, 0x00064069, 0x000641A2, 0x0009512D, 0x000953A2, 0x00096428, + 0x000966A2, 0x001CDA8A, 0x001CDBA2, 0x001CF25D, 0x001CF3A2, 0x0030013C, + 0x003004A2, 0x0030083C, 0x003012A2, 0x0030133C, 0x003020A2, 0x0030303C, + 0x003031A2, 0x0030373C, 0x003038A2, 0x0030FB3C, 0x0030FCA2, 0x00A8303F, + 0x00A83AA2, 0x00FE453C, 0x00FE47A2, 0x00FF613C, 0x00FF66A2, 0xFFFFFFFF}; }; template<> struct script_data<6> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00064072, 0x0006419D, 0x00095140, 0x0009539D, 0x00096429, 0x0009669D, - 0x001CDA8B, 0x001CDB9D, 0x001CF265, 0x001CF39D, 0x00300199, 0x0030039D, 0x00300899, - 0x0030129D, 0x00301499, 0x00301C9D, 0x0030FB99, 0x0030FC9D, 0x00A83040, 0x00A83641, - 0x00A83A9D, 0x00FF6199, 0x00FF669D, 0xFFFFFFFF}; + 0x000000A2, 0x00060C9D, 0x00060DA2, 0x00061B9D, 0x00061CA2, 0x00061F90, 0x000620A2, + 0x0006406F, 0x000641A2, 0x00095141, 0x000953A2, 0x0009642A, 0x000966A2, 0x001CDA8D, + 0x001CDBA2, 0x001CF266, 0x001CF3A2, 0x0030019E, 0x003003A2, 0x0030089E, 0x003012A2, + 0x0030149E, 0x00301CA2, 0x0030FB9E, 0x0030FCA2, 0x00A83041, 0x00A83642, 0x00A83AA2, + 0x00FF619E, 0x00FF66A2, 0xFFFFFFFF}; }; template<> struct script_data<7> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x0006407D, 0x0006419D, 0x00095144, 0x0009539D, 0x0009642B, 0x0009669D, - 0x001CF28B, 0x001CF39D, 0x00A83041, 0x00A8364C, 0x00A83A9D, 0xFFFFFFFF}; + 0x000000A2, 0x00061F9D, 0x000620A2, 0x00064074, 0x000641A2, + 0x00095145, 0x000953A2, 0x0009642C, 0x000966A2, 0x001CF28D, + 0x001CF3A2, 0x00A83042, 0x00A8364D, 0x00A83AA2, 0xFFFFFFFF}; }; template<> struct script_data<8> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00064083, 0x0006419D, 0x00095155, 0x0009539D, 0x0009642C, 0x0009669D, - 0x001CF291, 0x001CF39D, 0x00A8304C, 0x00A83656, 0x00A83A9D, 0xFFFFFFFF}; + 0x000000A2, 0x0006407F, 0x000641A2, 0x00095156, 0x000953A2, 0x0009642D, 0x000966A2, + 0x001CF293, 0x001CF3A2, 0x00A8304D, 0x00A83657, 0x00A83AA2, 0xFFFFFFFF}; }; template<> struct script_data<9> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00095165, 0x0009539D, 0x00096440, 0x0009669D, - 0x00A83055, 0x00A83356, 0x00A8367B, 0x00A83A9D, 0xFFFFFFFF}; + 0x000000A2, 0x00064085, 0x000641A2, 0x00095166, 0x000953A2, 0x00096441, + 0x000966A2, 0x00A83056, 0x00A83357, 0x00A8367D, 0x00A83AA2, 0xFFFFFFFF}; }; template<> struct script_data<10> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00095179, 0x00095288, 0x0009539D, 0x0009644C, 0x00096546, - 0x0009669D, 0x00A83056, 0x00A8335C, 0x00A83685, 0x00A83A9D, 0xFFFFFFFF}; + 0x000000A2, 0x0009517B, 0x0009528A, 0x000953A2, 0x0009644D, 0x00096547, + 0x000966A2, 0x00A83057, 0x00A8335D, 0x00A83687, 0x00A83AA2, 0xFFFFFFFF}; }; template<> struct script_data<11> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00095188, 0x0009528B, 0x0009539D, 0x00096455, 0x0009654C, - 0x0009669D, 0x00A8305C, 0x00A8337B, 0x00A83691, 0x00A83A9D, 0xFFFFFFFF}; + 0x000000A2, 0x0009518A, 0x0009528D, 0x000953A2, 0x00096456, 0x0009654D, + 0x000966A2, 0x00A8305D, 0x00A8337D, 0x00A83693, 0x00A83AA2, 0xFFFFFFFF}; }; template<> struct script_data<12> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x0009518B, 0x00095291, 0x0009539D, 0x0009645C, 0x00096555, - 0x0009669D, 0x00A8307B, 0x00A83385, 0x00A8369D, 0xFFFFFFFF}; + 0x000000A2, 0x0009518D, 0x00095293, 0x000953A2, 0x0009645D, 0x00096556, + 0x000966A2, 0x00A8307D, 0x00A83387, 0x00A836A2, 0xFFFFFFFF}; }; template<> struct script_data<13> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x00095191, 0x0009529D, 0x00096465, 0x0009655C, - 0x0009669D, 0x00A83085, 0x00A83391, 0x00A8369D, 0xFFFFFFFF}; + 0x000000A2, 0x00095193, 0x000952A2, 0x00096466, 0x0009655D, + 0x000966A2, 0x00A83087, 0x00A83393, 0x00A836A2, 0xFFFFFFFF}; }; template<> struct script_data<14> { static constexpr const compact_range scripts_data = { - 0x0000009D, 0x0009647B, 0x00096565, 0x0009669D, 0x00A83091, 0x00A8339D, 0xFFFFFFFF}; + 0x000000A2, 0x0009647D, 0x00096566, 0x000966A2, 0x00A83093, 0x00A833A2, 0xFFFFFFFF}; }; template<> struct script_data<15> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x0009647C, 0x0009657B, - 0x0009669D, 0xFFFFFFFF}; + static constexpr const compact_range scripts_data = {0x000000A2, 0x0009647E, 0x0009657D, + 0x000966A2, 0xFFFFFFFF}; }; template<> struct script_data<16> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x00096482, 0x0009657C, - 0x0009669D, 0xFFFFFFFF}; + static constexpr const compact_range scripts_data = {0x000000A2, 0x00096484, 0x0009657E, + 0x000966A2, 0xFFFFFFFF}; }; template<> struct script_data<17> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x00096485, 0x00096582, - 0x0009669D, 0xFFFFFFFF}; + static constexpr const compact_range scripts_data = {0x000000A2, 0x00096487, 0x00096584, + 0x000966A2, 0xFFFFFFFF}; }; template<> struct script_data<18> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x00096488, 0x00096585, - 0x0009669D, 0xFFFFFFFF}; + static constexpr const compact_range scripts_data = {0x000000A2, 0x0009648A, 0x00096587, + 0x000966A2, 0xFFFFFFFF}; }; template<> struct script_data<19> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x0009648B, 0x00096588, - 0x0009669D, 0xFFFFFFFF}; + static constexpr const compact_range scripts_data = {0x000000A2, 0x0009648D, 0x0009658A, + 0x000966A2, 0xFFFFFFFF}; }; template<> struct script_data<20> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x00096491, 0x0009658B, - 0x0009669D, 0xFFFFFFFF}; + static constexpr const compact_range scripts_data = {0x000000A2, 0x00096493, 0x0009658D, + 0x000966A2, 0xFFFFFFFF}; }; template<> struct script_data<21> { - static constexpr const compact_range scripts_data = {0x0000009D, 0x00096591, 0x0009669D, + static constexpr const compact_range scripts_data = {0x000000A2, 0x00096593, 0x000966A2, 0xFFFFFFFF}; }; template @@ -4569,46 +4695,47 @@ namespace detail::tables { 0x01246101, 0x01246201, 0x01246301, 0x01246401, 0x01246501, 0x01246602, 0x01246728, 0x01246832, 0x01246904, 0x01246A05, 0x01246B06, 0x01246C07, 0x01246D08, 0x01246E09, 0x016A6000, 0x016A6101, 0x016A6202, 0x016A6303, 0x016A6404, 0x016A6505, 0x016A6606, - 0x016A6707, 0x016A6808, 0x016A6909, 0x016B5000, 0x016B5101, 0x016B5202, 0x016B5303, - 0x016B5404, 0x016B5505, 0x016B5606, 0x016B5707, 0x016B5808, 0x016B5909, 0x016B5B0A, - 0x016B5C64, 0x016E8000, 0x016E8101, 0x016E8202, 0x016E8303, 0x016E8404, 0x016E8505, - 0x016E8606, 0x016E8707, 0x016E8808, 0x016E8909, 0x016E8A0A, 0x016E8B0B, 0x016E8C0C, - 0x016E8D0D, 0x016E8E0E, 0x016E8F0F, 0x016E9010, 0x016E9111, 0x016E9212, 0x016E9313, - 0x016E9401, 0x016E9502, 0x016E9603, 0x01D2E000, 0x01D2E101, 0x01D2E202, 0x01D2E303, - 0x01D2E404, 0x01D2E505, 0x01D2E606, 0x01D2E707, 0x01D2E808, 0x01D2E909, 0x01D2EA0A, - 0x01D2EB0B, 0x01D2EC0C, 0x01D2ED0D, 0x01D2EE0E, 0x01D2EF0F, 0x01D2F010, 0x01D2F111, - 0x01D2F212, 0x01D2F313, 0x01D36001, 0x01D36102, 0x01D36203, 0x01D36304, 0x01D36405, - 0x01D36506, 0x01D36607, 0x01D36708, 0x01D36809, 0x01D3690A, 0x01D36A14, 0x01D36B1E, - 0x01D36C28, 0x01D36D32, 0x01D36E3C, 0x01D36F46, 0x01D37050, 0x01D3715A, 0x01D37201, - 0x01D37302, 0x01D37403, 0x01D37504, 0x01D37605, 0x01D37701, 0x01D37805, 0x01D7CE00, - 0x01D7CF01, 0x01D7D002, 0x01D7D103, 0x01D7D204, 0x01D7D305, 0x01D7D406, 0x01D7D507, - 0x01D7D608, 0x01D7D709, 0x01D7D800, 0x01D7D901, 0x01D7DA02, 0x01D7DB03, 0x01D7DC04, - 0x01D7DD05, 0x01D7DE06, 0x01D7DF07, 0x01D7E008, 0x01D7E109, 0x01D7E200, 0x01D7E301, - 0x01D7E402, 0x01D7E503, 0x01D7E604, 0x01D7E705, 0x01D7E806, 0x01D7E907, 0x01D7EA08, - 0x01D7EB09, 0x01D7EC00, 0x01D7ED01, 0x01D7EE02, 0x01D7EF03, 0x01D7F004, 0x01D7F105, - 0x01D7F206, 0x01D7F307, 0x01D7F408, 0x01D7F509, 0x01D7F600, 0x01D7F701, 0x01D7F802, - 0x01D7F903, 0x01D7FA04, 0x01D7FB05, 0x01D7FC06, 0x01D7FD07, 0x01D7FE08, 0x01D7FF09, - 0x01E14000, 0x01E14101, 0x01E14202, 0x01E14303, 0x01E14404, 0x01E14505, 0x01E14606, - 0x01E14707, 0x01E14808, 0x01E14909, 0x01E2F000, 0x01E2F101, 0x01E2F202, 0x01E2F303, - 0x01E2F404, 0x01E2F505, 0x01E2F606, 0x01E2F707, 0x01E2F808, 0x01E2F909, 0x01E8C701, - 0x01E8C802, 0x01E8C903, 0x01E8CA04, 0x01E8CB05, 0x01E8CC06, 0x01E8CD07, 0x01E8CE08, - 0x01E8CF09, 0x01E95000, 0x01E95101, 0x01E95202, 0x01E95303, 0x01E95404, 0x01E95505, - 0x01E95606, 0x01E95707, 0x01E95808, 0x01E95909, 0x01EC7101, 0x01EC7202, 0x01EC7303, - 0x01EC7404, 0x01EC7505, 0x01EC7606, 0x01EC7707, 0x01EC7808, 0x01EC7909, 0x01EC7A0A, - 0x01EC7B14, 0x01EC7C1E, 0x01EC7D28, 0x01EC7E32, 0x01EC7F3C, 0x01EC8046, 0x01EC8150, - 0x01EC825A, 0x01EC8364, 0x01ECA301, 0x01ECA402, 0x01ECA503, 0x01ECA604, 0x01ECA705, - 0x01ECA806, 0x01ECA907, 0x01ECAA08, 0x01ECAB09, 0x01ECAD01, 0x01ECAE01, 0x01ECAF03, - 0x01ECB101, 0x01ECB202, 0x01ED0101, 0x01ED0202, 0x01ED0303, 0x01ED0404, 0x01ED0505, - 0x01ED0606, 0x01ED0707, 0x01ED0808, 0x01ED0909, 0x01ED0A0A, 0x01ED0B14, 0x01ED0C1E, - 0x01ED0D28, 0x01ED0E32, 0x01ED0F3C, 0x01ED1046, 0x01ED1150, 0x01ED125A, 0x01ED1364, - 0x01ED2F02, 0x01ED3003, 0x01ED3104, 0x01ED3205, 0x01ED3306, 0x01ED3407, 0x01ED3508, - 0x01ED3609, 0x01ED370A, 0x01ED3C01, 0x01ED3D01, 0x01F10000, 0x01F10100, 0x01F10201, - 0x01F10302, 0x01F10403, 0x01F10504, 0x01F10605, 0x01F10706, 0x01F10807, 0x01F10908, - 0x01F10A09, 0x01F10B00, 0x01F10C00, 0x01FBF000, 0x01FBF101, 0x01FBF202, 0x01FBF303, - 0x01FBF404, 0x01FBF505, 0x01FBF606, 0x01FBF707, 0x01FBF808, 0x01FBF909, 0x02000107, - 0x02006404, 0x0200E204, 0x02012105, 0x02092A01, 0x0209831E, 0x02098C28, 0x02099C28, - 0x020AEA06, 0x020AFD03, 0x020B1903, 0x02239002, 0x02299803, 0x023B1B03, 0x02626D04, - 0x02F89009}; + 0x016A6707, 0x016A6808, 0x016A6909, 0x016AC000, 0x016AC101, 0x016AC202, 0x016AC303, + 0x016AC404, 0x016AC505, 0x016AC606, 0x016AC707, 0x016AC808, 0x016AC909, 0x016B5000, + 0x016B5101, 0x016B5202, 0x016B5303, 0x016B5404, 0x016B5505, 0x016B5606, 0x016B5707, + 0x016B5808, 0x016B5909, 0x016B5B0A, 0x016B5C64, 0x016E8000, 0x016E8101, 0x016E8202, + 0x016E8303, 0x016E8404, 0x016E8505, 0x016E8606, 0x016E8707, 0x016E8808, 0x016E8909, + 0x016E8A0A, 0x016E8B0B, 0x016E8C0C, 0x016E8D0D, 0x016E8E0E, 0x016E8F0F, 0x016E9010, + 0x016E9111, 0x016E9212, 0x016E9313, 0x016E9401, 0x016E9502, 0x016E9603, 0x01D2E000, + 0x01D2E101, 0x01D2E202, 0x01D2E303, 0x01D2E404, 0x01D2E505, 0x01D2E606, 0x01D2E707, + 0x01D2E808, 0x01D2E909, 0x01D2EA0A, 0x01D2EB0B, 0x01D2EC0C, 0x01D2ED0D, 0x01D2EE0E, + 0x01D2EF0F, 0x01D2F010, 0x01D2F111, 0x01D2F212, 0x01D2F313, 0x01D36001, 0x01D36102, + 0x01D36203, 0x01D36304, 0x01D36405, 0x01D36506, 0x01D36607, 0x01D36708, 0x01D36809, + 0x01D3690A, 0x01D36A14, 0x01D36B1E, 0x01D36C28, 0x01D36D32, 0x01D36E3C, 0x01D36F46, + 0x01D37050, 0x01D3715A, 0x01D37201, 0x01D37302, 0x01D37403, 0x01D37504, 0x01D37605, + 0x01D37701, 0x01D37805, 0x01D7CE00, 0x01D7CF01, 0x01D7D002, 0x01D7D103, 0x01D7D204, + 0x01D7D305, 0x01D7D406, 0x01D7D507, 0x01D7D608, 0x01D7D709, 0x01D7D800, 0x01D7D901, + 0x01D7DA02, 0x01D7DB03, 0x01D7DC04, 0x01D7DD05, 0x01D7DE06, 0x01D7DF07, 0x01D7E008, + 0x01D7E109, 0x01D7E200, 0x01D7E301, 0x01D7E402, 0x01D7E503, 0x01D7E604, 0x01D7E705, + 0x01D7E806, 0x01D7E907, 0x01D7EA08, 0x01D7EB09, 0x01D7EC00, 0x01D7ED01, 0x01D7EE02, + 0x01D7EF03, 0x01D7F004, 0x01D7F105, 0x01D7F206, 0x01D7F307, 0x01D7F408, 0x01D7F509, + 0x01D7F600, 0x01D7F701, 0x01D7F802, 0x01D7F903, 0x01D7FA04, 0x01D7FB05, 0x01D7FC06, + 0x01D7FD07, 0x01D7FE08, 0x01D7FF09, 0x01E14000, 0x01E14101, 0x01E14202, 0x01E14303, + 0x01E14404, 0x01E14505, 0x01E14606, 0x01E14707, 0x01E14808, 0x01E14909, 0x01E2F000, + 0x01E2F101, 0x01E2F202, 0x01E2F303, 0x01E2F404, 0x01E2F505, 0x01E2F606, 0x01E2F707, + 0x01E2F808, 0x01E2F909, 0x01E8C701, 0x01E8C802, 0x01E8C903, 0x01E8CA04, 0x01E8CB05, + 0x01E8CC06, 0x01E8CD07, 0x01E8CE08, 0x01E8CF09, 0x01E95000, 0x01E95101, 0x01E95202, + 0x01E95303, 0x01E95404, 0x01E95505, 0x01E95606, 0x01E95707, 0x01E95808, 0x01E95909, + 0x01EC7101, 0x01EC7202, 0x01EC7303, 0x01EC7404, 0x01EC7505, 0x01EC7606, 0x01EC7707, + 0x01EC7808, 0x01EC7909, 0x01EC7A0A, 0x01EC7B14, 0x01EC7C1E, 0x01EC7D28, 0x01EC7E32, + 0x01EC7F3C, 0x01EC8046, 0x01EC8150, 0x01EC825A, 0x01EC8364, 0x01ECA301, 0x01ECA402, + 0x01ECA503, 0x01ECA604, 0x01ECA705, 0x01ECA806, 0x01ECA907, 0x01ECAA08, 0x01ECAB09, + 0x01ECAD01, 0x01ECAE01, 0x01ECAF03, 0x01ECB101, 0x01ECB202, 0x01ED0101, 0x01ED0202, + 0x01ED0303, 0x01ED0404, 0x01ED0505, 0x01ED0606, 0x01ED0707, 0x01ED0808, 0x01ED0909, + 0x01ED0A0A, 0x01ED0B14, 0x01ED0C1E, 0x01ED0D28, 0x01ED0E32, 0x01ED0F3C, 0x01ED1046, + 0x01ED1150, 0x01ED125A, 0x01ED1364, 0x01ED2F02, 0x01ED3003, 0x01ED3104, 0x01ED3205, + 0x01ED3306, 0x01ED3407, 0x01ED3508, 0x01ED3609, 0x01ED370A, 0x01ED3C01, 0x01ED3D01, + 0x01F10000, 0x01F10100, 0x01F10201, 0x01F10302, 0x01F10403, 0x01F10504, 0x01F10605, + 0x01F10706, 0x01F10807, 0x01F10908, 0x01F10A09, 0x01F10B00, 0x01F10C00, 0x01FBF000, + 0x01FBF101, 0x01FBF202, 0x01FBF303, 0x01FBF404, 0x01FBF505, 0x01FBF606, 0x01FBF707, + 0x01FBF808, 0x01FBF909, 0x02000107, 0x02006404, 0x0200E204, 0x02012105, 0x02092A01, + 0x0209831E, 0x02098C28, 0x02099C28, 0x020AEA06, 0x020AFD03, 0x020B1903, 0x02239002, + 0x02299803, 0x023B1B03, 0x02626D04, 0x02F89009}; static constexpr uni::detail::pair numeric_data16[] = { uni::detail::pair{0x0BF2, 1000}, uni::detail::pair{0x0D72, 1000}, @@ -4935,127 +5062,125 @@ namespace detail::tables { uni::detail::pair{0x1ED3C, 2}, uni::detail::pair{0x1ED3D, 6}, uni::detail::pair{0x110000, 0}}; - static constexpr bool_trie<32, 991, 1, 0, 118, 255, 1, 0, 1279, 1, 0, 150> prop_assigned{ + static constexpr bool_trie<32, 991, 1, 0, 112, 255, 1, 0, 1407, 1, 0, 160> prop_assigned{ {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xfcffffffffffffff, 0xfffffffbffffd7f0, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xfffeffffffffffff, 0xfffffffffe7fffff, 0xfffffffffffee7ff, 0x001f87ffffff00ff, - 0xffffffffdfffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, + 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffbfff, 0xffffffffffffe7ff, 0x0003ffffffffffff, 0xe7ffffffffffffff}, - {1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 4, 27, 28, 29, 4, 4, 4, 30, 4, - 4, 4, 4, 4, 31, 32, 33, 34, 35, 36, 37, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 38, 39, 40, 41, 4, 42, 43, 39, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 4, 54, 4, 55, 56, 57, 58, 59, 4, 4, 4, 60, 4, 4, 4, - 4, 61, 62, 63, 64, 4, 65, 66, 67, 4, 4, 68, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 69, 70, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 71, 72, 4, 73, - 74, 4, 75, 76, 77, 78, 79, 4, 80, 81, 82, 4, 4, 4, 83, 4, 84, 85, - 4, 86, 4, 87, 88, 74, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 89, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 90, 91, 4, 4, 4, - 4, 92, 4, 4, 93, 4, 4, 4, 94, 95, 93, 4, 96, 4, 97, 4, 98, 99, - 100, 4, 101, 102, 48, 4, 103, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 88, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 4, 4, 4, 4, 4, 106, 4, 107, 108, - 109, 4, 110, 4, 4, 4, 4, 4, 111, 112, 113, 36, 114, 4, 115, 84, 4, 116, - 117}, - {0x7fff3fffffffffff, 0x000007ff4fffffff, 0xffdfffff00000000, 0xfffffffffff800ff, - 0xffffffffffffffff, 0xf3c5fdfffff99fef, 0x7fffffcfb080799f, 0xd36dfdfffff987ee, - 0x007fffc05e023987, 0xf3edfdfffffbbfee, 0xfe03ffcf00013bbf, 0xf3edfdfffff99fee, - 0x00ffffcfb0e0399f, 0xc3ffc718d63dc7ec, 0x07ffffc000813dc7, 0xe3fffdfffffddfff, - 0xff80ffcf07603ddf, 0xf3effdfffffddfff, 0x0006ffcf40603ddf, 0xfffffffffffddfff, - 0xffffffcffff0fddf, 0x2ffbfffffc7fffee, 0x001cffc0ff5f847f, 0x87fffffffffffffe, - 0x000000000fffffff, 0x3fffffaffffff7d6, 0x00000000f3ff3f5f, 0xfffe1ffffffffeff, - 0xdffffffffeffffff, 0x0000000007ffdfff, 0xffffffffffff20bf, 0xffffffff3d7f3dff, - 0x7f3dffffffff3dff, 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x1fffffffe7ffffff, - 0xffffffff03ffffff, 0x3f3fffffffffffff, 0xffffffff1fffffff, 0x01ffffffffffffff, - 0x007fffff001fdfff, 0x000ddfff000fffff, 0x03ff03ff3fffffff, 0xffffffff03ff7fff, - 0xffff07ffffffffff, 0x003fffffffffffff, 0x0fff0fff7fffffff, 0x001f3ffffffffff1, - 0xffff0fffffffffff, 0xffffffffc7ff03ff, 0xffffffffcfffffff, 0x9fffffff7fffffff, - 0xffff3fff03ff03ff, 0x0000000000000001, 0x1fffffffffff0fff, 0xf00fffffffffffff, - 0xf8ffffffffffffff, 0xffffffffffffe3ff, 0xe7ffffffffff01ff, 0x07ffffffffff00ff, - 0xfbffffffffffffff, 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, 0xffdfffffffffffff, - 0x7fdcffffefcfffdf, 0xfff3ffdfffffffff, 0xffffffff1fff7fff, 0x0001ffffffff0000, - 0xffffffffffff0fff, 0x0000007fffffffff, 0xffffffff000007ff, 0xffcfffffffffffff, - 0xffffffffffbfffff, 0xffff7fffffffffff, 0xffffffff7fffffff, 0xfe0fffffffffffff, - 0xffff20bfffffffff, 0x800180ffffffffff, 0x7f7f7f7f007fffff, 0xffffffff7f7f7f7f, - 0x000000000007ffff, 0xfffffffffbffffff, 0x000fffffffffffff, 0x0fff0000003fffff, - 0xfffffffffffffffe, 0xfffffffffe7fffff, 0xfffeffffffffffe0, 0xffffffffffff7fff, - 0xffff000fffffffff, 0x1fffffffffffffff, 0xffffffffffff1fff, 0xffffffffffff007f, - 0x00000fffffffffff, 0x00ffffffffffffff, 0xffe00000000007fc, 0x03ff1fffffffffff, - 0xffffffff03ffc03f, 0x1fffffff800fffff, 0x7fffffffc3ffbfff, 0x007fffffffffffff, - 0xfffffffff3ff3fff, 0x007ffffff8000007, 0xffff7f7f007e7e7e, 0x03ff3fffffffffff, - 0x0ffffffffffff87f, 0x0000000000000000, 0xffff3fffffffffff, 0x0000000003ffffff, - 0x5f7fffffe0f8007f, 0xffffffffffffffdb, 0xfffffffffff80003, 0xffffffffffff0000, - 0xfffffffffffcffff, 0x3fff0000000000ff, 0xffdf0f7ffff7ffff, 0x9fffffffffffffff, - 0x7fffffffffffffff, 0x3e007f7f1cfcfcfc}, - {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 10, 11, 12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 13, - 14, 15, 7, 16, 17, 7, 18, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 19, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, + {1, 2, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 3, 26, 27, 28, 3, 3, 3, 29, 3, + 3, 3, 3, 3, 30, 31, 32, 33, 34, 35, 36, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 37, 38, 39, 40, 3, 41, 35, 38, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 3, 52, 3, 53, 54, 55, 56, 57, 3, 3, 3, 3, 3, 3, 3, + 3, 58, 59, 60, 61, 3, 62, 63, 64, 3, 3, 65, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 66, 67, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 68, 69, 3, 3, + 3, 3, 70, 71, 72, 73, 74, 3, 75, 76, 77, 3, 3, 3, 78, 3, 79, 80, + 3, 81, 3, 82, 83, 84, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 85, 86, 3, 3, 3, + 3, 87, 3, 3, 88, 3, 3, 3, 89, 90, 88, 3, 91, 3, 92, 3, 93, 94, + 95, 3, 96, 97, 46, 3, 98, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 83, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 3, 3, 3, 3, 3, 101, 3, 102, 103, + 104, 3, 105, 3, 3, 3, 3, 3, 3, 106, 107, 35, 108, 3, 109, 79, 3, 110, + 111}, + {0x7fff3fffffffffff, 0xffff07ff4fffffff, 0xffffffffff037fff, 0xffffffffffffffff, + 0xf3c5fdfffff99fef, 0x7fffffcfb080799f, 0xd36dfdfffff987ee, 0x007fffc05e023987, + 0xf3edfdfffffbbfee, 0xfe03ffcf00013bbf, 0xf3edfdfffff99fee, 0x00ffffcfb0e0399f, + 0xc3ffc718d63dc7ec, 0x07ffffc000813dc7, 0xf3fffdfffffddfff, 0xff80ffcf27603ddf, + 0xf3effdfffffddfff, 0x0006ffcf60603ddf, 0xfffffffffffddfff, 0xffffffcffff0fddf, + 0x2ffbfffffc7fffee, 0x001cffc0ff5f847f, 0x87fffffffffffffe, 0x000000000fffffff, + 0x3fffffaffffff7d6, 0x00000000f3ff3f5f, 0xfffe1ffffffffeff, 0xdffffffffeffffff, + 0x0000000007ffdfff, 0xffffffffffff20bf, 0xffffffff3d7f3dff, 0x7f3dffffffff3dff, + 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x1fffffffe7ffffff, 0xffffffff03ffffff, + 0x3f3fffffffffffff, 0xffffffff1fffffff, 0x01ffffffffffffff, 0x007fffff803fffff, + 0x000ddfff000fffff, 0x03ff03ff3fffffff, 0xffff07ffffffffff, 0x003fffffffffffff, + 0x0fff0fff7fffffff, 0x001f3ffffffffff1, 0xffff0fffffffffff, 0xffffffffc7ff03ff, + 0xffffffffcfffffff, 0x9fffffff7fffffff, 0xffff3fff03ff03ff, 0x0000000000007fff, + 0x7fffffffffff1fff, 0xf00fffffffffffff, 0xf8ffffffffffffff, 0xffffffffffffe3ff, + 0xe7ffffffffff01ff, 0x07ffffffffff00ff, 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, + 0xffdfffffffffffff, 0x7fdcffffefcfffdf, 0xfff3ffdfffffffff, 0xffffffff1fff7fff, + 0x0001ffffffff0001, 0xffffffffffff0fff, 0x0000007fffffffff, 0xffffffff000007ff, + 0xffcfffffffffffff, 0xffffffffffbfffff, 0xfe0fffffffffffff, 0xffff20bfffffffff, + 0x800180ffffffffff, 0x7f7f7f7f007fffff, 0xffffffff7f7f7f7f, 0x000000003fffffff, + 0xfffffffffbffffff, 0x000fffffffffffff, 0x0fff0000003fffff, 0xfffffffffffffffe, + 0xfffffffffe7fffff, 0xfffeffffffffffe0, 0xffffffffffff7fff, 0xffff000fffffffff, + 0xffffffff7fffffff, 0xffffffffffff1fff, 0xffffffffffff007f, 0x00000fffffffffff, + 0x00ffffffffffffff, 0xfffc000003eb07ff, 0x03ff1fffffffffff, 0xffffffff03ffc03f, + 0x1fffffff800fffff, 0x7fffffffc3ffbfff, 0x007fffffffffffff, 0xfffffffff3ff3fff, + 0x007ffffff8000007, 0xffff7f7f007e7e7e, 0x03ff3fffffffffff, 0x0ffffffffffff87f, + 0x0000000000000000, 0xffff3fffffffffff, 0x0000000003ffffff, 0x5f7fffffe0f8007f, + 0xffffffffffffffdb, 0xfffffffffff80007, 0xfffffffffffcffff, 0xffff0000000080ff, + 0xffdf0f7ffff7ffff, 0x9fffffffffffffff, 0x7fffffffffffffff, 0x3e007f7f1cfcfcfc}, + {1, 2, 3, 4, 5, 6, 7, 8, 5, 9, 10, 11, 12, 13, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 15, + 16, 17, 7, 18, 19, 7, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 21, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, {1, 2, 3, 4, 2, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 2, 2, 14, - 15, 16, 17, 7, 7, 2, 2, 2, 2, 18, 19, 7, 7, 20, 21, 22, 23, 24, - 7, 25, 26, 27, 28, 29, 30, 31, 32, 33, 7, 2, 34, 35, 36, 37, 7, 7, - 7, 7, 38, 39, 7, 16, 40, 41, 42, 2, 43, 2, 44, 45, 46, 2, 47, 48, - 7, 49, 50, 51, 52, 7, 7, 2, 53, 2, 54, 7, 7, 55, 56, 2, 57, 58, - 59, 60, 7, 7, 7, 61, 7, 62, 63, 64, 65, 66, 67, 2, 68, 69, 58, 7, - 7, 7, 7, 70, 71, 72, 7, 73, 74, 75, 7, 7, 7, 7, 76, 7, 7, 77, - 78, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 40, 7, 2, - 79, 2, 2, 2, 80, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 15, 16, 17, 18, 7, 2, 2, 2, 2, 19, 20, 21, 7, 22, 23, 24, 25, 26, + 7, 27, 28, 29, 30, 31, 32, 33, 34, 35, 7, 2, 36, 37, 38, 39, 7, 7, + 7, 7, 40, 41, 7, 16, 42, 43, 44, 2, 45, 2, 46, 47, 48, 2, 49, 50, + 7, 51, 52, 53, 54, 7, 7, 2, 55, 2, 56, 7, 7, 57, 58, 2, 59, 60, + 61, 62, 63, 7, 7, 64, 7, 65, 66, 67, 68, 69, 70, 2, 71, 72, 73, 7, + 7, 7, 7, 74, 75, 76, 7, 77, 78, 79, 7, 7, 7, 7, 80, 7, 7, 81, + 82, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 83, 7, 2, + 84, 2, 2, 2, 85, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 81, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 86, 37, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 87, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 82, 7, 7, 7, 7, 7, 7, 7, + 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 63, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -5063,93 +5188,102 @@ namespace detail::tables { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 2, 2, 2, 2, 2, 2, 2, 2, 58, 83, 7, 84, 2, 85, 86, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 2, 87, 7, 2, 88, 89, 90, 2, 2, 2, + 7, 2, 2, 2, 2, 2, 2, 2, 2, 73, 88, 89, 90, 2, 91, 92, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 2, 93, 7, 2, 94, 95, 96, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 91, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 92, 34, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, - 2, 2, 2, 93, 94, 2, 2, 2, 2, 2, 61, 7, 7, 7, 7, 7, 7, 7, + 2, 2, 97, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 98, 36, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 99, 2, 2, 2, 2, 100, 101, 2, 2, 2, + 2, 2, 64, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 2, 102, 103, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 95, 96, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 97, 98, 2, 2, 99, 2, - 100, 7, 101, 2, 102, 7, 7, 2, 103, 104, 105, 106, 107, 2, 2, 2, 2, 108, - 2, 2, 2, 2, 109, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 110, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 111, 7, 7, 7, 112, 113, 7, 7, 7, 7, 7, 114, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, - 115, 2, 116, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 117, 118, 7, 119, - 7, 7, 7, 120, 121, 122, 123, 7, 7, 7, 7, 124, 2, 125, 126, 2, 2, 127, - 128, 129, 130, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 131, 2, 132, 2, 133, 134, 135, 136, 7, 2, 137, 2, 138, 2, 139, 140, - 141, 2, 2, 142, 143, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 56, 2, 2, 2, 2, 2, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 104, 105, 2, 85, 2, 2, 2, 106, 107, 2, 2, + 108, 2, 109, 7, 110, 2, 111, 7, 7, 2, 112, 113, 114, 115, 116, 2, 2, 2, + 2, 117, 2, 2, 2, 2, 118, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 119, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 120, + 7, 7, 7, 121, 7, 7, 7, 122, 123, 7, 7, 7, 7, 124, 125, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 126, 2, + 2, 2, 127, 2, 128, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 129, 130, + 7, 131, 7, 7, 7, 132, 133, 134, 135, 7, 7, 7, 7, 136, 2, 137, 138, 2, + 2, 139, 140, 141, 142, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 143, 2, 144, 2, 145, 146, 147, 148, 7, 2, 2, 2, 2, 2, + 149, 150, 151, 2, 2, 152, 153, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 118, 2, 2, 2, 144, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 73, 2, 2, 2, 154, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 145, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 155, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 146, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 156, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 56, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 147, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 58, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 157, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 148, 2, 7, 7, 2, 2, 2, 149, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 158, 2, 7, 7, 2, 2, 2, + 159, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7}, + 7, 7, 7}, {0xb7ffff7fffffefff, 0x000000003fff3fff, 0xffffffffffffffff, 0x07ffffffffffffff, 0xff8fffffffffff87, 0x000000011fff7fff, 0x3fffffffffff0000, 0x0000000000000000, 0xffffffff1fffffff, 0x0fffffff0001ffff, 0xffffe00fffffffff, 0x07ffffffffff07ff, 0xffffffffbfffffff, 0x00000000003fff0f, 0xffff03ff3fffffff, 0x0fffffffff0fffff, - 0xffff00ffffffffff, 0x0000800fffffffff, 0x007fffffffffffff, 0x000000ff003fffff, - 0x91bffffffffffd3f, 0xffffffffffbfffff, 0x0000ff807fffffff, 0xf837ffff00000000, - 0x83ffffff8fffffff, 0xf0ffffffffffffff, 0xfffffffffffcffff, 0x873ffffffeeff06f, - 0xffffffff01ff01ff, 0x00000000ffffffff, 0x007ff87fffffffff, 0xfe3fffffffffffff, - 0xff07ffffff3fffff, 0x0000fe001e03ffff, 0x00000000000001ff, 0x0007ffffffffffff, - 0xfc07ffffffffffff, 0x03ff00ffffffffff, 0x7fffffff00000000, 0x00033bffffffffff, - 0x0000000003ffffff, 0xffff000000000000, 0x007fffff00000fff, 0x8000fffffffc3fff, - 0x03ff01ffffff2003, 0xffdfffffffffffff, 0x007fffffffff00ff, 0x001ffffeffffffff, - 0x7ffffffffffbffff, 0xffff03ffbfffbd7f, 0x03ff07ffffffffff, 0xfbedfdfffff99fef, - 0x001f1fcfe081399f, 0x00000003efffffff, 0x0000000003ff00ff, 0xff3fffffffffffff, - 0x000000003fffffff, 0x00001fff03ff001f, 0x01ffffffffffffff, 0x00000000000003ff, - 0xffff0fffe7ffffff, 0x0fffffffffffffff, 0xffffffff00000000, 0x8007ffffffffffff, - 0xf9bfffffff6ff27f, 0x0000000003ff007f, 0xfffffcff00000000, 0x0000001ffcffffff, - 0xffffffffffff00ff, 0x00000007ffffffff, 0xff7ffffffffffdff, 0xffff1fffffff003f, + 0xffff00ffffffffff, 0xf7ff800fffffffff, 0x1bfbfffbffb7f7ff, 0x007fffffffffffff, + 0x000000ff003fffff, 0x07fdffffffffffbf, 0x91bffffffffffd3f, 0xffffffffffbfffff, + 0x0000ff807fffffff, 0xf837ffff00000000, 0x83ffffff8fffffff, 0xf0ffffffffffffff, + 0xfffffffffffcffff, 0x873ffffffeeff06f, 0xffffffff01ff01ff, 0x00000000ffffffff, + 0x007ff87fffffffff, 0xfe3fffffffffffff, 0xff07ffffff3fffff, 0x0000fe001e03ffff, + 0x00000000000001ff, 0x0007ffffffffffff, 0xfc07ffffffffffff, 0x03ff00ffffffffff, + 0x7fffffff00000000, 0x00033bffffffffff, 0xffff000003ffffff, 0xffff0000000003ff, + 0x007fffff00000fff, 0x803ffffffffc3fff, 0x03ff01ffffff2007, 0xffdfffffffffffff, + 0x007fffffffff00ff, 0x001ffffeffffffff, 0x7ffffffffffbffff, 0xffff03ffbfffbd7f, + 0x03ff07ffffffffff, 0xfbedfdfffff99fef, 0x001f1fcfe081399f, 0x00000003efffffff, + 0x0000000003ff00ff, 0xff3fffffffffffff, 0x000000003fffffff, 0x00001fff03ff001f, + 0x03ffffffffffffff, 0x00000000000003ff, 0xffff0fffe7ffffff, 0x000000000000007f, + 0x0fffffffffffffff, 0xffffffff00000000, 0x8007ffffffffffff, 0xf9bfffffff6ff27f, + 0x0000000003ff007f, 0xfffffcff00000000, 0x0000001ffcffffff, 0xffffffffffff00ff, + 0xffff0007ffffffff, 0x01ffffffffffffff, 0xff7ffffffffffdff, 0xffff1fffffff003f, 0x007ffefffffcffff, 0xb47ffffffffffb7f, 0xfffffdbf03ff00ff, 0x000003ff01fb7fff, - 0x01ffffff00000000, 0x0001000000000000, 0x8003ffffffffffff, 0x001f7fffffffffff, - 0x000000000000000f, 0x01ff7fffffffffff, 0x000000000000007f, 0x0000c3ff7fffffff, - 0x003f3fffffff0000, 0xe0fffffbfbff003f, 0x000000000000ffff, 0x0000000007ffffff, - 0xffffffffffff87ff, 0x00000000ffff80ff, 0x0003001f00000000, 0x00ffffffffffffff, - 0x00000000003fffff, 0x000000007fffffff, 0xffff00f000070000, 0x1fff07ffffffffff, - 0x0000000ff3ff01ff, 0x003fffffffffffff, 0xfffffe7fffffffff, 0x000001ffffffffff, - 0x000000000000003f, 0x000fffff00000000, 0x01ffffff007fffff, 0xffffffffffdfffff, - 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, - 0xffffff3fffffffff, 0xffffffffffffcfff, 0x0000fffef8000fff, 0x000007dbf9ffff7f, - 0x3fff1fffffffffff, 0x000000000000c3ff, 0x83ffffffffffffff, 0x00000000007fff9f, + 0x01ffffff00000000, 0x0001000000000000, 0x8003ffffffffffff, 0x0000000003ffffff, + 0x001f7fffffffffff, 0x000000000000000f, 0xffffffffffff0000, 0x01ff7fffffffffff, + 0xffffc3ff7fffffff, 0x7fffffffffffffff, 0x003f3fffffff03ff, 0xe0fffffbfbff003f, + 0x000000000000ffff, 0x0000000007ffffff, 0xffffffffffff87ff, 0x00000000ffff80ff, + 0x0003001f00000000, 0x00ffffffffffffff, 0x00000000003fffff, 0x6fef000000000000, + 0x00000007ffffffff, 0xffff00f000070000, 0x1fff07ffffffffff, 0x0000000ff3ff01ff, + 0xffff3fffffffffff, 0xffffffffffff007f, 0x003fffffffffffff, 0xfffffe7fffffffff, + 0x000007ffffffffff, 0x000000000000003f, 0x000fffff00000000, 0x01ffffff007fffff, + 0xffffffffffdfffff, 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, + 0xfffffffffffdfc5f, 0xffffff3fffffffff, 0xffffffffffffcfff, 0x0000fffef8000fff, + 0x000000007fffffff, 0x000007dbf9ffff7f, 0x3fff1fffffffffff, 0x000000000000c3ff, + 0x00007fffffff0000, 0x83ffffffffffffff, 0x7fff6f7f00000000, 0x00000000007fff9f, 0x00000000c3ff0fff, 0xfffe000000000000, 0x001fffffffffffff, 0x3ffffffffffffffe, 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0x0003000000000000, 0xffff0fffffffffff, 0xfffe7fff000fffff, 0x003ffffffffefffe, 0x00003fffffffffff, - 0xffffffc000000000, 0x0fffffffffff0007, 0x0000003f000301ff, 0x1fff1fff00ffffff, - 0x000fffffffffffff, 0x00000fff01ffffff, 0xffffffffffff0fff, 0xffffffff03ff00ff, - 0x00033fffffff00ff, 0xfdffffffffffffff, 0xffffffffffffefff, 0x071f3fff000fffff, - 0x007f01ffffff007f, 0x00000000007f0007, 0xfffffffffff7ffff, 0x03ff0000000007ff, - 0xffffffff3fffffff, 0xffff0003ffffffff, 0x00000001ffffffff, 0x00000000000007ff, - 0xffffffff00000002, 0x0000ffffffffffff}}; + 0xffffffc000000000, 0x0fffffffffff0007, 0x0000003f000301ff, 0x1fff1fffe0ffffff, + 0x000fffffffffffff, 0x00010fff01ffffff, 0xffffffffffff0fff, 0xffffffff03ff00ff, + 0x00033fffffff00ff, 0x1f1f3fff000fffff, 0x07ff1fffffff007f, 0x007f00ff03ff003f, + 0xfffffffffff7ffff, 0x03ff0000000007ff, 0xffffffff3fffffff, 0xffff0003ffffffff, + 0x00000001ffffffff, 0x00000000000007ff, 0xffffffff00000002, 0x0000ffffffffffff}}; } // namespace detail::tables enum class property { ahex, @@ -5238,7 +5372,7 @@ enum class property { namespace detail::tables { static constexpr range_array prop_ahex_data = {0x00000000, 0x00003001, 0x00003A00, 0x00004101, 0x00004700, 0x00006101, 0x00006700}; - static constexpr bool_trie<32, 991, 1, 0, 134, 255, 1, 0, 1215, 1, 0, 117> prop_alpha_data{ + static constexpr bool_trie<32, 991, 1, 0, 133, 255, 1, 0, 1279, 1, 0, 127> prop_alpha_data{ {0x0000000000000000, 0x07fffffe07fffffe, 0x0420040000000000, 0xff7fffffff7fffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x0000501f0003ffc3, @@ -5251,12 +5385,12 @@ namespace detail::tables { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 36, 36, 36, 37, 38, 39, 40, 41, 42, 43, 44, 36, 36, 36, 36, 36, 36, 36, 36, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 28, 63, 64, 65, 66, 67, 68, 69, 70, 36, 36, 36, 71, 36, 36, 36, - 36, 72, 73, 74, 75, 31, 76, 77, 31, 78, 79, 80, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 81, 82, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 83, - 84, 36, 85, 86, 87, 88, 89, 90, 31, 31, 31, 31, 31, 31, 31, 91, 44, 92, - 93, 94, 36, 95, 96, 31, 31, 31, 31, 31, 31, 31, 31, 36, 36, 36, 36, 36, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 36, 36, 36, 72, 36, 36, 36, + 36, 73, 74, 75, 76, 31, 77, 78, 31, 79, 80, 81, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 82, 83, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 36, + 36, 36, 84, 85, 86, 87, 88, 89, 31, 31, 31, 31, 31, 31, 31, 90, 44, 91, + 92, 93, 36, 94, 95, 31, 31, 31, 31, 31, 31, 31, 31, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -5280,10 +5414,10 @@ namespace detail::tables { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 97, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 98, 99, 36, 36, 36, - 36, 100, 101, 36, 102, 103, 36, 104, 105, 106, 107, 36, 108, 109, 110, 111, 112, 67, - 113, 114, 115, 116, 117, 36, 118, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 96, 97, 36, 36, 36, + 36, 98, 99, 36, 100, 101, 36, 102, 103, 104, 105, 36, 106, 107, 108, 109, 110, 68, + 111, 112, 113, 114, 115, 36, 116, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -5293,21 +5427,21 @@ namespace detail::tables { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 119, 120, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 36, 117, 118, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 36, 36, 36, 36, 36, 121, 36, 122, 123, - 124, 125, 126, 36, 36, 36, 36, 127, 33, 128, 129, 31, 130, 36, 97, 131, 132, 114, - 133}, - {0x00001ffffcffffff, 0x000007ff01ffffff, 0xffdfffff00000000, 0xffff03f8fff000ff, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 36, 36, 36, 36, 36, 119, 36, 120, 121, + 122, 123, 124, 36, 36, 36, 36, 125, 33, 126, 127, 31, 128, 36, 129, 130, 131, 112, + 132}, + {0x00001ffffcffffff, 0xffff07ff01ffffff, 0xffffffff00007eff, 0xffff03f8fff003ff, 0xefffffffffffffff, 0xfffe000fffe1dfff, 0xe3c5fdfffff99fef, 0x1003000fb080599f, 0xc36dfdfffff987ee, 0x003f00005e021987, 0xe3edfdfffffbbfee, 0x1e00000f00011bbf, 0xe3edfdfffff99fee, 0x0002000fb0c0199f, 0xc3ffc718d63dc7ec, 0x0000000000811dc7, - 0xe3fffdfffffddfef, 0x0000000f07601ddf, 0xe3effdfffffddfef, 0x0006000f40601ddf, + 0xe3fffdfffffddfef, 0x0000000f27601ddf, 0xe3effdfffffddfef, 0x0006000f60601ddf, 0xe7fffffffffddfff, 0xfc00000f80f05ddf, 0x2ffbfffffc7fffee, 0x000c0000ff5f807f, 0x07fffffffffffffe, 0x000000000000207f, 0x3bffffaffffff7d6, 0x00000000f000205f, 0x0000000000000001, 0xfffe1ffffffffeff, 0x1ffffffffeffff03, 0x0000000000000000, @@ -5315,136 +5449,142 @@ namespace detail::tables { 0xffffffffffffffff, 0xffffffff3d7f3dff, 0x7f3dffffffff3dff, 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x0000000007ffffff, 0xffffffff0000ffff, 0x3f3fffffffffffff, 0xfffffffffffffffe, 0xffff9fffffffffff, 0xffffffff07fffffe, 0x01ffc7ffffffffff, - 0x000fffff000fdfff, 0x000ddfff000fffff, 0xffcfffffffffffff, 0x00000000108001ff, + 0x000fffff800fffff, 0x000ddfff000fffff, 0xffcfffffffffffff, 0x00000000108001ff, 0xffffffff00000000, 0x01ffffffffffffff, 0xffff07ffffffffff, 0x003fffffffffffff, 0x01ff0fff7fffffff, 0x001f3fffffff0000, 0xffff0fffffffffff, 0x00000000000003ff, - 0xffffffff0fffffff, 0x001ffffe7fffffff, 0x8000008000000000, 0xffefffffffffffff, - 0x0000000000000fef, 0xfc00f3ffffffffff, 0x0003ffbfffffffff, 0x007fffffffffffff, - 0x3ffffffffc00e000, 0xe7ffffffffff01ff, 0x046fde0000000000, 0x001fff8000000000, - 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, 0x5fdfffffffffffff, 0x1fdc1fff0fcf1fdc, - 0x8002000000000000, 0x000000001fff0000, 0xf3ffbd503e2ffc84, 0xffffffff000043e0, - 0x00000000000001ff, 0xffc0000000000000, 0x000003ffffffffff, 0xffff7fffffffffff, - 0xffffffff7fffffff, 0x000c781fffffffff, 0xffff20bfffffffff, 0x000080ffffffffff, - 0x7f7f7f7f007fffff, 0xffffffff7f7f7f7f, 0x0000800000000000, 0x1f3e03fe000000e0, - 0xfffffffee07fffff, 0xf7ffffffffffffff, 0xfffeffffffffffe0, 0xffffffff00007fff, - 0xffff000000000000, 0x1fffffffffffffff, 0x0000000000001fff, 0x3fffffffffff0000, - 0x00000c00ffff1fff, 0x8ff07fffffffffff, 0x0000ffffffffffff, 0xfffffffcff800000, - 0xfffffffffffff9ff, 0xffe00000000007fc, 0x000000ffffffffbf, 0x000fffffffffffff, - 0xe8fc00000000002f, 0xffff07fffffffc00, 0x1fffffff0007ffff, 0xfff7ffffffffffff, - 0x7c00ffff00008000, 0xfc7fffff00003fff, 0x7fffffffffffffff, 0x003cffff38000005, - 0xffff7f7f007e7e7e, 0xffff03fff7ffffff, 0x000007ffffffffff, 0xffff000fffffffff, - 0x0ffffffffffff87f, 0xffff3fffffffffff, 0x0000000003ffffff, 0x5f7ffdffe0f8007f, - 0xffffffffffffffdb, 0x0003ffffffffffff, 0xfffffffffff80000, 0x3fffffffffffffff, - 0xfffffffffffcffff, 0x0fff0000000000ff, 0xffdf000000000000, 0x07fffffe00000000, - 0xffffffc007fffffe, 0x000000001cfcfcfc}, - {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 10, 11, 12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 13, - 14, 15, 7, 16, 17, 7, 18, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, - {1, 2, 3, 4, 5, 4, 4, 4, 4, 6, 7, 8, 9, 10, 11, 2, 2, 12, 13, - 14, 15, 4, 4, 2, 2, 2, 2, 16, 17, 4, 4, 18, 19, 20, 21, 22, 4, 23, - 4, 24, 25, 26, 27, 28, 29, 30, 4, 2, 31, 32, 32, 33, 4, 4, 4, 4, 4, - 34, 4, 35, 36, 37, 38, 2, 36, 39, 40, 32, 41, 2, 42, 43, 4, 44, 45, 46, - 47, 4, 4, 2, 48, 2, 49, 4, 4, 50, 51, 52, 53, 54, 4, 55, 4, 4, 4, - 56, 4, 57, 58, 59, 60, 61, 62, 63, 64, 65, 56, 4, 4, 4, 4, 66, 67, 68, - 4, 69, 70, 71, 4, 4, 4, 4, 72, 4, 4, 73, 4, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 74, 4, 2, 75, 2, 2, 2, 76, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 75, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 77, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, - 2, 2, 2, 2, 2, 56, 20, 4, 78, 79, 80, 81, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 2, 4, 4, 2, 82, 83, 84, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 85, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 86, 31, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 2, 2, 2, 2, 20, 87, 2, 2, 2, 2, 2, 88, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 89, 90, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 91, 92, 93, 94, 95, 2, 2, 2, 2, - 96, 97, 98, 99, 100, 101, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 102, 4, 4, 4, 103, 104, 4, 4, 4, 4, 4, 105, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 106, 2, 107, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 108, - 109, 110, 4, 4, 4, 4, 4, 4, 4, 4, 4, 37, 111, 112, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 113, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 2, 10, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 114, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 115, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, - 2, 2, 2, 2, 2, 2, 113, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 116, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, + 0xffffffff0fffffff, 0x001ffffe7fffffff, 0x8000008000000000, 0x0000000000007001, + 0xffefffffffffffff, 0x0000000000001fef, 0xfc00f3ffffffffff, 0x0003ffbfffffffff, + 0x007fffffffffffff, 0x3ffffffffc00e000, 0xe7ffffffffff01ff, 0x046fde0000000000, + 0x001fff8000000000, 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, 0x5fdfffffffffffff, + 0x1fdc1fff0fcf1fdc, 0x8002000000000000, 0x000000001fff0000, 0xf3ffbd503e2ffc84, + 0xffffffff000043e0, 0x00000000000001ff, 0xffc0000000000000, 0x000003ffffffffff, + 0x000c781fffffffff, 0xffff20bfffffffff, 0x000080ffffffffff, 0x7f7f7f7f007fffff, + 0xffffffff7f7f7f7f, 0x0000800000000000, 0x1f3e03fe000000e0, 0xfffffffee07fffff, + 0xf7ffffffffffffff, 0xfffeffffffffffe0, 0xffffffff00007fff, 0xffff000000000000, + 0x0000000000001fff, 0x3fffffffffff0000, 0x00000c00ffff1fff, 0x8ff07fffffffffff, + 0x0000ffffffffffff, 0xfffffffcff800000, 0xfffffffffffff9ff, 0xfffc000003eb07ff, + 0x000000ffffffffbf, 0x000fffffffffffff, 0xe8fc00000000002f, 0xffff07fffffffc00, + 0x1fffffff0007ffff, 0xfff7ffffffffffff, 0x7c00ffff00008000, 0xfc7fffff00003fff, + 0x7fffffffffffffff, 0x003cffff38000005, 0xffff7f7f007e7e7e, 0xffff03fff7ffffff, + 0x000007ffffffffff, 0xffff000fffffffff, 0x0ffffffffffff87f, 0xffff3fffffffffff, + 0x0000000003ffffff, 0x5f7ffdffe0f8007f, 0xffffffffffffffdb, 0x0003ffffffffffff, + 0xfffffffffff80000, 0x3fffffffffffffff, 0xfffffffffffcffff, 0x0fff0000000000ff, + 0xffdf000000000000, 0x1fffffffffffffff, 0x07fffffe00000000, 0xffffffc007fffffe, + 0x000000001cfcfcfc}, + {1, 2, 3, 4, 5, 6, 7, 8, 5, 9, 10, 5, 11, 12, 13, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, + 15, 16, 7, 17, 18, 7, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, + {1, 2, 3, 4, 5, 4, 4, 4, 4, 6, 7, 8, 9, 10, 11, 2, 2, 12, 13, + 14, 15, 16, 4, 2, 2, 2, 2, 17, 18, 19, 4, 20, 21, 22, 23, 24, 4, 25, + 4, 26, 27, 28, 29, 30, 31, 32, 4, 2, 33, 34, 34, 35, 4, 4, 4, 4, 4, + 36, 4, 37, 38, 39, 40, 2, 41, 42, 43, 34, 44, 2, 45, 46, 4, 47, 48, 49, + 50, 4, 4, 2, 51, 2, 52, 4, 4, 53, 54, 55, 56, 57, 4, 58, 59, 4, 4, + 60, 4, 61, 62, 63, 64, 65, 66, 67, 68, 69, 60, 4, 4, 4, 4, 70, 71, 72, + 4, 73, 74, 75, 4, 4, 4, 4, 76, 4, 4, 77, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 78, 4, 2, 79, 2, 2, 2, 80, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 68, + 81, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 59, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, + 2, 2, 2, 2, 2, 60, 82, 55, 83, 84, 85, 86, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 4, 4, 2, 87, 88, 89, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 90, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 91, 33, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 92, 2, 2, 2, 2, 93, 94, 2, + 2, 2, 2, 2, 95, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 96, 97, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 98, 99, + 100, 101, 102, 2, 2, 2, 2, 103, 104, 105, 106, 107, 108, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 22, 4, 4, 4, 109, 4, 4, 4, 110, 111, 4, 4, 4, 4, 83, 112, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 113, 2, 2, 2, 114, 2, 115, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 116, 117, 118, 4, 4, 4, 4, 4, 4, 4, 4, 4, 119, + 120, 121, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 122, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 60, + 2, 2, 2, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 123, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 124, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 125, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 126, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4}, {0xb7ffff7fffffefff, 0x000000003fff3fff, 0xffffffffffffffff, 0x07ffffffffffffff, 0x0000000000000000, 0x001fffffffffffff, 0xffffffff1fffffff, 0x000000000001ffff, 0xffffe000ffffffff, 0x07ffffffffff07ff, 0xffffffff3fffffff, 0x00000000003eff0f, - 0xffff00003fffffff, 0x0fffffffff0fffff, 0xffff00ffffffffff, 0x0000000fffffffff, - 0x007fffffffffffff, 0x000000ff003fffff, 0x91bffffffffffd3f, 0x007fffff003fffff, - 0x000000007fffffff, 0x0037ffff00000000, 0x03ffffff003fffff, 0xc0ffffffffffffff, - 0x003ffffffeeff06f, 0x1fffffff00000000, 0x000000001fffffff, 0x0000001ffffffeff, - 0x003fffffffffffff, 0x0007ffff003fffff, 0x000000000003ffff, 0x00000000000001ff, - 0x0007ffffffffffff, 0x000000ffffffffff, 0x00031bffffffffff, 0xffff00801fffffff, - 0x000000000000003f, 0xffff000000000000, 0x007fffff0000001f, 0x01fffffffffffffc, - 0x000001ffffff0000, 0x0047ffffffff00f0, 0x000000001400c01e, 0x409ffffffffbffff, - 0xffff01ffbfffbd7f, 0x000001ffffffffff, 0xe3edfdfffff99fef, 0x0000000fe081199f, - 0x00000003800007bb, 0x00000000000000b3, 0x7f3fffffffffffff, 0x000000003f000000, - 0x7fffffffffffffff, 0x0000000000000011, 0x013fffffffffffff, 0x000007ffe7ffffff, + 0xffff00003fffffff, 0x0fffffffff0fffff, 0xffff00ffffffffff, 0xf7ff000fffffffff, + 0x1bfbfffbffb7f7ff, 0x007fffffffffffff, 0x000000ff003fffff, 0x07fdffffffffffbf, + 0x91bffffffffffd3f, 0x007fffff003fffff, 0x000000007fffffff, 0x0037ffff00000000, + 0x03ffffff003fffff, 0xc0ffffffffffffff, 0x003ffffffeeff06f, 0x1fffffff00000000, + 0x000000001fffffff, 0x0000001ffffffeff, 0x003fffffffffffff, 0x0007ffff003fffff, + 0x000000000003ffff, 0x00000000000001ff, 0x0007ffffffffffff, 0x000000ffffffffff, + 0x00031bffffffffff, 0xffff00801fffffff, 0xffff00000000003f, 0xffff000000000003, + 0x007fffff0000001f, 0x003e00000000003f, 0x01fffffffffffffc, 0x000001ffffff0004, + 0x0047ffffffff00f0, 0x000000001400c01e, 0x409ffffffffbffff, 0xffff01ffbfffbd7f, + 0x000001ffffffffff, 0xe3edfdfffff99fef, 0x0000000fe081199f, 0x00000003800007bb, + 0x00000000000000b3, 0x7f3fffffffffffff, 0x000000003f000000, 0x7fffffffffffffff, + 0x0000000000000011, 0x013fffffffffffff, 0x000007ffe7ffffff, 0x000000000000007f, 0x01ffffffffffffff, 0xffffffff00000000, 0x80000000ffffffff, 0x99bfffffff6ff27f, 0x0000000000000007, 0xfffffcff00000000, 0x0000001afcffffff, 0x7fe7ffffffffffff, - 0xffffffffffff0000, 0x0000000020ffffff, 0x7f7ffffffffffdff, 0xfffc000000000001, + 0xffffffffffff0000, 0xffff000020ffffff, 0x7f7ffffffffffdff, 0xfffc000000000001, 0x007ffefffffcffff, 0xb47ffffffffffb7f, 0xfffffdbf000000cb, 0x00000000017b7fff, 0x007fffff00000000, 0x0001000000000000, 0x0000000003ffffff, 0x00007fffffffffff, - 0x000000000000000f, 0x000000000000007f, 0x00003fffffff0000, 0x0000ffffffffffff, - 0xe0fffff80000000f, 0x000000000000ffff, 0xffffffffffff87ff, 0x00000000ffff80ff, - 0x0003000b00000000, 0x00ffffffffffffff, 0x00000000003fffff, 0xffff00f000070000, - 0x0fffffffffffffff, 0x1fff07ffffffffff, 0x0000000043ff01ff, 0xffffffffffdfffff, - 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, - 0xffffff3fffffffff, 0xf7fffffff7fffffd, 0xffdfffffffdfffff, 0xffff7fffffff7fff, - 0xfffffdfffffffdff, 0x0000000000000ff7, 0x000007dbf9ffff7f, 0x3f801fffffffffff, - 0x0000000000004000, 0x00000fffffffffff, 0x000000000000001f, 0x000000000000088f, - 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0xffff03ffffff03ff, - 0x00000000000003ff, 0x000000003fffffff, 0xffff0003ffffffff, 0x00000001ffffffff, - 0x00000000000007ff}}; + 0x000000000000000f, 0x0001ffffffffffff, 0xffff00007fffffff, 0x00003fffffff0000, + 0x0000ffffffffffff, 0xe0fffff80000000f, 0x000000000000ffff, 0xffffffffffff87ff, + 0x00000000ffff80ff, 0x0003000b00000000, 0x00ffffffffffffff, 0x00000000003fffff, + 0x6fef000000000000, 0x00000007ffffffff, 0xffff00f000070000, 0x0fffffffffffffff, + 0x1fff07ffffffffff, 0x0000000043ff01ff, 0xffffffffffdfffff, 0xebffde64dfffffff, + 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, 0xffffff3fffffffff, + 0xf7fffffff7fffffd, 0xffdfffffffdfffff, 0xffff7fffffff7fff, 0xfffffdfffffffdff, + 0x0000000000000ff7, 0x000007dbf9ffff7f, 0x3f801fffffffffff, 0x0000000000004000, + 0x00000fffffffffff, 0x7fff6f7f00000000, 0x000000000000001f, 0x000000000000088f, + 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0xffff000000000000, + 0xffff03ffffff03ff, 0x00000000000003ff, 0x00000000ffffffff, 0xffff0003ffffffff, + 0x00000001ffffffff, 0x000000003fffffff, 0x00000000000007ff}}; static constexpr range_array prop_bidi_c_data = {0x00000000, 0x00061C01, 0x00061D00, 0x00200E01, 0x00201000, 0x00202A01, 0x00202F00, 0x00206601, 0x00206A00}; - static constexpr bool_trie<32, 962, 28, 2, 26, 1, 13, 242, 5, 91, 32, 6> prop_bidi_m_data{ + static constexpr bool_trie<32, 962, 28, 2, 27, 1, 13, 242, 5, 91, 32, 6> prop_bidi_m_data{ {0x5000030000000000, 0x2800000028000000, 0x0800080000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -5457,8 +5597,8 @@ namespace detail::tables { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 6, 0, 0, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, - 0, 0, 14, 15, 16, 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, - 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 14, 15, 16, 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, 0, + 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5489,14 +5629,14 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 24, 25}, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 25, 26}, {0x0000000000000000, 0x3c00000000000000, 0x0000000018000000, 0x0600000000000000, 0x6000000000000060, 0x0000000000006000, 0x0000000000000001, 0xfa0ff857bc623f1e, 0xffffcff5803c1fff, 0xc1ffffcc01079fff, 0xffff3fffffc33e00, 0x0000060300000f00, 0x003fff0000000000, 0x0000fffc70783b79, 0x0100fffdf9fffff8, 0x33f0033a1f37c23f, 0x70307a53dffffc00, 0xfe19bc3001800000, 0xffffbfcfffffffff, 0x2f88707c507fffff, - 0x4000000000000000, 0x000003ff3000363c, 0x000000000ff3ff00, 0x000000307e000000, - 0x2800000050000300, 0x0000000da8000000}, + 0x4000000000000000, 0x000003ff3000363c, 0x000000001fe00000, 0x000000000ff3ff00, + 0x000000307e000000, 0x2800000050000300, 0x0000000da8000000}, {1}, {1, 2, 3, 4, 5}, {0x0000000000000000, 0x0000000008000000, 0x0000000000200000, 0x0000000000008000, @@ -5602,14 +5742,14 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 5}, {0x0000000000000000, 0x0000001fc0000000, 0xf800000000000000, 0x0000000000000001, 0xffffffffffffffff, 0x000000003fffffff}}; - static constexpr flat_array<29> prop_dash_data{ + static constexpr flat_array<30> prop_dash_data{ {0x002D, 0x058A, 0x05BE, 0x1400, 0x1806, 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2053, 0x207B, 0x208B, 0x2212, 0x2E17, 0x2E1A, 0x2E3A, 0x2E3B, 0x2E40, - 0x301C, 0x3030, 0x30A0, 0xFE31, 0xFE32, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD}}; + 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE31, 0xFE32, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD}}; static constexpr flat_array<15> prop_dep_data{{0x0149, 0x0673, 0x0F77, 0x0F79, 0x17A3, 0x17A4, 0x206A, 0x206B, 0x206C, 0x206D, 0x206E, 0x206F, 0x2329, 0x232A, 0xE0001}}; - static constexpr bool_trie<32, 991, 1, 0, 61, 255, 1, 0, 347, 11, 26, 35> prop_dia_data{ + static constexpr bool_trie<32, 991, 1, 0, 64, 255, 1, 0, 475, 11, 26, 42> prop_dia_data{ {0x0000000000000000, 0x0000000140000000, 0x0190810000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0xffff000000000000, 0xffffffffffffffff, @@ -5618,14 +5758,14 @@ namespace detail::tables { 0x0000000000000000, 0x0000000002000000, 0xbffffffbfffe0000, 0x0000000000000016, 0x0000000000000000, 0x000000000187f800, 0x0000000000000000, 0x00001c6180000000, 0xffff000000000000, 0x00000000000007ff, 0x0001ffc000000000, 0x003ff80000000000}, - {1, 1, 2, 3, 4, 3, 5, 3, 5, 3, 6, 3, 7, 1, 5, 1, 5, 3, 5, 8, 5, 1, 9, - 1, 10, 11, 12, 13, 1, 14, 15, 16, 17, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 19, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 20, 1, 1, 1, 1, 21, 1, - 1, 1, 1, 22, 23, 1, 24, 25, 26, 1, 27, 28, 1, 29, 30, 31, 1, 32, 1, 1, 1, 1, 1, - 1, 33, 34, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + {1, 2, 3, 4, 5, 4, 6, 4, 6, 4, 7, 4, 8, 1, 6, 4, 6, 4, 6, 9, 6, 1, 10, + 1, 11, 12, 13, 14, 1, 15, 16, 17, 18, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 20, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 1, 1, 22, 1, 1, 1, 1, 23, 1, + 1, 1, 1, 24, 25, 26, 27, 28, 29, 1, 30, 31, 1, 32, 33, 34, 1, 35, 1, 1, 1, 1, 1, + 1, 36, 37, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 35, 1, 1, 1, 1, 36, 1, 1, 1, 1, 1, 1, 1, 37, 1, - 38, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 38, 1, 1, 1, 1, 39, 1, 1, 1, 1, 1, 1, 1, 40, 1, + 41, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -5645,8 +5785,8 @@ namespace detail::tables { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39, 40, 41, 42, 1, 43, 44, 1, 1, 1, 45, 46, - 47, 48, 49, 1, 50, 51, 52, 1, 53, 1, 54, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 43, 44, 45, 1, 46, 47, 1, 1, 1, 48, 49, + 50, 51, 52, 1, 53, 54, 55, 1, 56, 1, 57, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -5660,25 +5800,25 @@ namespace detail::tables { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 56, 1, 1, 1, 57, 58, - 59, 60}, - {0x0000000003000000, 0x0000000000000000, 0x7ffffff800000000, 0x1000000000000000, - 0x00020000001e2000, 0x0000000000002000, 0xe000000000002000, 0x0000000000202000, - 0x1800000000000000, 0x0000000000000400, 0x0000000000005f80, 0x0400000000000000, - 0x0000000000001f00, 0xc2a0000003000000, 0x00000000000000dc, 0x0000000000000040, - 0x0680000000000000, 0x00003e1800000000, 0x000000000c00bf80, 0x00000000e0000000, - 0x00000000200ffe00, 0x0e00000000000000, 0x9fe0000000000000, 0x3fff000000000000, - 0x0010000000000000, 0x000ff80000000010, 0x00000c0000000000, 0x00c0000000000000, - 0x3f00000000000000, 0x039021ffffff0000, 0xfffff00000000000, 0x000007ffffffffff, - 0xe3e000000000fff0, 0xa000000000000000, 0x6000e000e000e003, 0x0003800000000000, - 0x0000800000000000, 0x0000fc0000000000, 0x000000001e000000, 0xb000800000000000, - 0x0000000030000000, 0x0003000000000000, 0x00000003ffffffff, 0x0000000000000700, - 0x0300000000000000, 0x0003ffff00000010, 0x0000780000000000, 0x0000000000080000, - 0x0008000000000000, 0x0000002000000001, 0x3800000000000000, 0x8000000000000000, - 0x0040000000000007, 0x00000e00f8000000, 0x0000300000000000, 0x0000000040000000, - 0x0000ffff00000000, 0x4000000000000000, 0x0001000000000001, 0x00000000c0000000, - 0x0000000800000000}, - {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 4, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 1, 58, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 59, 1, 1, 1, 60, 61, + 62, 63}, + {0x0000000003000000, 0x0000000000000000, 0x00000000ff000000, 0x7ffffff80007fe00, + 0x1000000000000000, 0x00020000001e2000, 0x0000000000002000, 0xe000000000002000, + 0x0000000000202000, 0x1800000000000000, 0x0000000000000400, 0x0000000000005f80, + 0x0400000000000000, 0x0000000000001f00, 0xc2a0000003000000, 0x00000000000000dc, + 0x0000000000000040, 0x0680000000000000, 0x00003e1800000000, 0x000000000c00bf80, + 0x00000000e0000000, 0x0000000000300000, 0x00000000200ffe00, 0x0e00000000000000, + 0x9fe0000000000000, 0x7fff000000000000, 0x0000000000000ffe, 0x0010000000000000, + 0x000ff80000000010, 0x00000c0000000000, 0x00c0000000000000, 0x3f00000000000000, + 0x039021ffffff0000, 0xfffff00000000000, 0x000007ffffffffff, 0xffe000000000fff0, + 0xa000000000000000, 0x6000e000e000e003, 0x0003800000000000, 0x0000800000000000, + 0x0000fc0000000000, 0x000000001e000000, 0xb000800000000000, 0x0000000030000000, + 0x0003000000000000, 0x00000003ffffffff, 0x0000000000000700, 0x0300000000000000, + 0x0003ffff00000010, 0x0000780000000000, 0x0000000000080000, 0x0008000000000000, + 0x0000002000000001, 0x3800000000000000, 0x8000000000000000, 0x0040000000000007, + 0x00000e00f8000000, 0x0000300000000000, 0x0000000040000000, 0x0000ffff00000000, + 0x4000000000000000, 0x0001000000000001, 0x00000000c0000000, 0x0000000800000000}, + {1, 2, 2, 2, 2, 3, 2, 2, 2, 4, 2, 5, 6, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -5687,30 +5827,38 @@ namespace detail::tables { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, - {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 5, 0, 6, 7, 0, 8, 9, 0, 0, 10, 11, 12, 0, 0, 0, 13, 0, 14, 0, 0, - 15, 16, 15, 0, 17, 0, 18, 0, 0, 0, 5, 0, 0, 0, 19, 20, 0, 1, 21, 22, 23, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 0, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 0, 0, 0, - 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 34}, - {0x0000000000000000, 0x0000000100000000, 0x0000006000000000, 0x000000fc00000000, - 0x000000000001ffc0, 0x0600000000000000, 0x0018000000000000, 0x0008000000000000, - 0x0000000000001c01, 0x0060000000000000, 0x0000060000000000, 0x1000000000000000, - 0x001f1fc000002000, 0x0000000000000044, 0x000000000000000c, 0x8000000000000000, - 0x0000000000000001, 0x00c0000000000000, 0x0000080000000000, 0x6000000000000000, - 0x0000000000000008, 0x0010000000000000, 0x0000000000000080, 0x0000000002000000, - 0x0000000000000034, 0x0000000000800000, 0x001f000000000000, 0x007f000000000000, - 0x00000000ffff8000, 0x0003000000000000, 0xf807e38000000000, 0x00003c0000000fe7, - 0x0000f00000000000, 0x00000000007f0000, 0x0000000000000770}}; - static constexpr bool_trie<32, 75, 96, 821, 22, 1, 15, 240, 44, 64, 20, 26> prop_emoji_data{ + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 6, 0, 0, 7, 8, 0, 9, 10, 0, 11, 12, 0, 0, 13, 14, 15, 0, 0, 0, 16, 0, + 17, 0, 0, 18, 19, 18, 0, 20, 0, 21, 0, 0, 0, 8, 0, 0, 0, 22, 23, 0, 1, 24, 25, 26, + 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 0, 0, 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 41}, + {0x0000000000000000, 0x0000000100000000, 0x07fdffffffffffbf, 0x0000006000000000, + 0x000000fc00000000, 0x000000000001ffc0, 0x000000000000003c, 0x0001000000000040, + 0x0600000000000000, 0x0018000000000000, 0x0008000000000000, 0x0000000000001c01, + 0x0060000000000000, 0x0000060000000000, 0x1000000000000000, 0x001f1fc000002000, + 0x0000000000000044, 0x000000000000000c, 0x8000000000000000, 0x0000000000000001, + 0x00c0000000000000, 0x0000080000000000, 0x6000000000000000, 0x0000000000000008, + 0x0010000000000000, 0x0000000000000080, 0x0000000002000000, 0x0000000000000034, + 0x0000000000800000, 0x001f000000000000, 0x007f000000000000, 0x00000000ffff8000, + 0x0003000000000000, 0x6fef000000000000, 0xffff3fffffffffff, 0x000000000000007f, + 0xf807e38000000000, 0x00003c0000000fe7, 0x0000400000000000, 0x0000f00000000000, + 0x00000000007f0000, 0x0000000000000770}}; + static constexpr bool_trie<32, 75, 96, 821, 22, 1, 15, 240, 44, 64, 20, 25> prop_emoji_data{ {0x03ff040800000000, 0x0000000000000000, 0x0000420000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -5729,32 +5877,33 @@ namespace detail::tables { 0x8001000200e00000, 0x0030000000000000, 0x00000000180000e0, 0x0000000000210000, 0x2001000000000000, 0x0000000002800000}, {1}, - {1, 0, 0, 2, 0, 3, 4, 5, 6, 7, 0, 0, 8, 9, 10, 11, 9, 9, 9, 12, 13, 14, - 15, 16, 9, 17, 9, 18, 0, 0, 0, 19, 0, 0, 0, 0, 20, 21, 9, 22, 0, 23, 24, 25}, + {1, 0, 0, 2, 0, 3, 4, 5, 6, 7, 0, 0, 8, 9, 10, 11, 9, 9, 9, 12, 13, 14, + 15, 16, 9, 17, 9, 18, 0, 0, 0, 19, 0, 0, 0, 0, 20, 21, 9, 9, 0, 22, 23, 24}, {0x0000000000000000, 0x0000000000000010, 0x0000000000008000, 0xc003000000000000, 0x0000000007fe4000, 0xffffffc000000000, 0x07fc800004000006, 0x0000000000030000, 0xfffffff3ffffffff, 0xffffffffffffffff, 0xffffffffcecfffff, 0xffb9ffffffffffff, 0xbfffffffffffffff, 0x3fffffffffffffff, 0x07f980ffffff7e00, 0x1006013000613c80, - 0xfc08810a700e001c, 0x000000000000ffff, 0x1ff91a3f00e7f83f, 0x00000fff00000000, - 0xf7fffffffffff000, 0xfdffffffffffffbf, 0xffffffffffffefff, 0x071f000000000000, - 0x007f01ffffff007f, 0x00000000007f0007}}; + 0xfc08810a700e001c, 0x000000000000ffff, 0x1ff91a3fe0e7f83f, 0x00010fff00000000, + 0xf7fffffffffff000, 0xffffffffffffffbf, 0x1f1f000000000000, 0x07ff1fffffff007f, + 0x007f00ff03ff003f}}; static constexpr range_array prop_emoji_component_data = { 0x00000000, 0x00002301, 0x00002400, 0x00002A01, 0x00002B00, 0x00003001, 0x00003A00, 0x00200D01, 0x00200E00, 0x0020E301, 0x0020E400, 0x00FE0F01, 0x00FE1000, 0x01F1E601, 0x01F20000, 0x01F3FB01, 0x01F40000, 0x01F9B001, 0x01F9B400, 0x0E002001, 0x0E008000}; static constexpr range_array prop_emoji_modifier_data = {0x00000000, 0x01F3FB01, 0x01F40000}; - static constexpr bool_trie<0, 5, 120, 867, 4, 1, 15, 240, 26, 78, 24, 14> + static constexpr bool_trie<0, 5, 120, 867, 4, 1, 15, 240, 30, 78, 20, 15> prop_emoji_modifier_base_data{ {}, {1, 0, 0, 2, 3}, {0x0000000000000000, 0x0000000020000000, 0x0200000000000000, 0x0000000000003c00}, {1}, - {1, 2, 0, 3, 4, 0, 0, 5, 6, 0, 0, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13}, + {1, 2, 0, 3, 4, 0, 0, 5, 6, 0, 0, 7, 8, 9, 0, + 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 0, 0, 0, 14}, {0x0000000000000000, 0x0000000000000020, 0x0000000000001c9c, 0x11ffffc00001ffcc, 0x00000400000280ee, 0x0430000000000000, 0x0000000000610000, 0x000000000000f8e0, 0x0070000800000000, 0x0000000000001001, 0x73ff0040ff009000, 0x0080000000000000, - 0x0b60000000000000, 0x000000003ffee000}}; - static constexpr bool_trie<0, 34, 108, 850, 13, 1, 15, 240, 44, 64, 20, 28> + 0x0b60000000000000, 0x000000003ffee000, 0x007f000000000038}}; + static constexpr bool_trie<0, 34, 108, 850, 13, 1, 15, 240, 44, 64, 20, 27> prop_emoji_presentation_data{ {}, {1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 8, @@ -5765,21 +5914,21 @@ namespace detail::tables { 0x0000000000210000}, {1}, {1, 0, 0, 2, 0, 0, 3, 4, 5, 6, 0, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 13, 19, 13, 20, 0, 0, 0, 21, 0, 0, 0, 0, 22, 23, 13, 24, 0, 25, 26, 27}, + 17, 18, 13, 19, 13, 20, 0, 0, 0, 21, 0, 0, 0, 0, 22, 23, 13, 13, 0, 24, 25, 26}, {0x0000000000000000, 0x0000000000000010, 0x0000000000008000, 0x0000000007fe4000, 0xffffffc000000000, 0x077c800004000002, 0x0000000000030000, 0xffbfe001ffffffff, 0xdfffffffffffffff, 0xffffffff000fffff, 0xff11ffff000f87ff, 0x7fffffffffffffff, 0xfffffffffffffffd, 0xffffffffffffffff, 0x9fffffffffffffff, 0x3fffffffffffffff, 0x040000ffffff7800, 0x0000001000600000, 0xf800000000000000, 0x000000000000ffff, - 0x1ff0180000e7103f, 0x00000fff00000000, 0xf7fffffffffff000, 0xfdffffffffffffbf, - 0xffffffffffffefff, 0x071f000000000000, 0x007f01ffffff007f, 0x00000000007f0007}}; - static constexpr flat_array<48> prop_ext_data{ + 0x1ff01800e0e7103f, 0x00010fff00000000, 0xf7fffffffffff000, 0xffffffffffffffbf, + 0x1f1f000000000000, 0x07ff1fffffff007f, 0x007f00ff03ff003f}}; + static constexpr flat_array<50> prop_ext_data{ {0x00B7, 0x02D0, 0x02D1, 0x0640, 0x07FA, 0x0B55, 0x0E46, 0x0EC6, 0x180A, 0x1843, 0x1AA7, 0x1C36, 0x1C7B, 0x3005, 0x3031, 0x3032, 0x3033, 0x3034, 0x3035, 0x309D, 0x309E, 0x30FC, 0x30FD, 0x30FE, 0xA015, 0xA60C, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, - 0xAAF3, 0xAAF4, 0xFF70, 0x1135D, 0x115C6, 0x115C7, 0x115C8, 0x11A98, 0x16B42, 0x16B43, - 0x16FE0, 0x16FE1, 0x16FE3, 0x1E13C, 0x1E13D, 0x1E944, 0x1E945, 0x1E946}}; - static constexpr bool_trie<32, 75, 96, 821, 22, 1, 15, 240, 44, 64, 20, 23> + 0xAAF3, 0xAAF4, 0xFF70, 0x10781, 0x10782, 0x1135D, 0x115C6, 0x115C7, 0x115C8, 0x11A98, + 0x16B42, 0x16B43, 0x16FE0, 0x16FE1, 0x16FE3, 0x1E13C, 0x1E13D, 0x1E944, 0x1E945, 0x1E946}}; + static constexpr bool_trie<32, 75, 96, 821, 22, 1, 15, 240, 44, 64, 20, 22> prop_extended_pictographic_data{ {0x0000000000000000, 0x0000000000000000, 0x0000420000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -5799,33 +5948,34 @@ namespace detail::tables { 0x8001000200e00000, 0x0030000000000000, 0x00000000180000e0, 0x0000000000210000, 0x2001000000000000, 0x0000000002800000}, {1}, - {1, 2, 3, 4, 5, 6, 7, 0, 8, 9, 0, 0, 2, 2, 2, 10, 2, 2, 2, 2, 11, 12, - 2, 2, 2, 13, 2, 14, 0, 0, 0, 15, 0, 0, 16, 0, 17, 18, 2, 19, 2, 20, 21, 22}, + {1, 2, 3, 4, 5, 6, 7, 0, 8, 9, 0, 0, 2, 2, 2, 10, 2, 2, 2, 2, 11, 12, + 2, 2, 2, 13, 2, 14, 0, 0, 0, 15, 0, 0, 16, 0, 17, 18, 2, 2, 2, 19, 20, 21}, {0x0000000000000000, 0xffff0fffffffffff, 0xffffffffffffffff, 0xfffe7fff000fffff, 0x003ffffffffefffe, 0x000080000000e000, 0xc003f00000000000, 0x0000200007fe4000, 0x07fc800004000006, 0x0000003f00030000, 0x07ffffffffffffff, 0x3fffffffffffffff, - 0xffffffffffffffc0, 0x000000000000ffff, 0x1fff1fff00ffffff, 0x00000fff01e00000, - 0x0003000000000000, 0xf7fffffffffff000, 0xfdffffffffffffbf, 0xffffffffffffefff, - 0x071f3fff000fffff, 0x007f01ffffff007f, 0x00000000007f0007}}; - static constexpr bool_trie<32, 991, 1, 0, 132, 255, 1, 0, 1215, 1, 0, 162> prop_gr_base_data{ + 0xffffffffffffffc0, 0x000000000000ffff, 0x1fff1fffe0ffffff, 0x00010fff01e00000, + 0x0003000000000000, 0xf7fffffffffff000, 0xffffffffffffffbf, 0x1f1f3fff000fffff, + 0x07ff1fffffff007f, 0x007f00ff03ff003f}}; + static constexpr bool_trie<32, 991, 1, 0, 131, 255, 1, 0, 1343, 1, 0, 168> prop_gr_base_data{ {0xffffffff00000000, 0x7fffffffffffffff, 0xffffdfff00000000, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x0000000000000000, 0xfcff000000000000, 0xfffffffbffffd7f0, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xfffffffffffffc07, 0xffffffffffffffff, 0xfffeffffffffffff, 0xfffffffffe7fffff, 0x400000000000e7ff, 0x001f87ffffff0049, - 0xffffffffc800ffc0, 0xfffeffff000007ff, 0xffffffffffffffff, 0xffffc260403fffff, + 0xffffffffe800ffc0, 0xfffeffff000007ff, 0xffffffffffffffff, 0xffffc260403fffff, 0x0000fffffffd3fff, 0xffffffffffffe000, 0x0002003fffffffff, 0xc7f007ffffffffff}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 36, 36, 36, 37, 38, 39, 40, 41, 42, 43, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 44, 45, 46, 47, 48, 49, 50, 45, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 36, 36, 36, 60, 36, 36, 36, - 36, 69, 70, 71, 72, 73, 74, 75, 60, 36, 36, 76, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 77, 78, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 79, 80, 36, 81, - 82, 36, 83, 84, 85, 86, 87, 36, 88, 89, 90, 36, 36, 36, 91, 92, 93, 94, - 36, 95, 36, 96, 97, 82, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 69, 70, 71, 72, 73, 74, 75, 76, 36, 36, 77, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 78, 79, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 80, 81, 36, 36, + 36, 36, 82, 83, 84, 85, 86, 36, 87, 88, 89, 36, 36, 36, 90, 91, 92, 93, + 36, 94, 36, 95, 96, 97, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -5849,10 +5999,9 @@ namespace detail::tables { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 98, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 99, 100, 36, 36, 36, - 36, 101, 102, 103, 104, 36, 36, 36, 105, 106, 107, 36, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 55, 36, 118, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 98, 99, 36, 36, 36, + 36, 100, 101, 102, 103, 36, 36, 36, 104, 105, 106, 36, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 55, 36, 117, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -5862,75 +6011,75 @@ namespace detail::tables { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 97, 119, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 36, 96, 118, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 36, 36, 36, 36, 36, 120, 36, 121, 122, - 123, 36, 124, 36, 36, 36, 36, 36, 125, 126, 127, 128, 129, 36, 98, 93, 36, 130, - 131}, - {0x7fff0110043fffff, 0x000007ff41ffffff, 0xffdfffff00000000, 0x00000000000000ff, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 36, 36, 36, 36, 36, 119, 36, 120, 121, + 122, 36, 123, 36, 36, 36, 36, 36, 36, 124, 125, 126, 127, 36, 128, 92, 36, 129, + 130}, + {0x7fff0110043fffff, 0xffff07ff41ffffff, 0xffffffff00007fff, 0x00000000000003ff, 0xebfffffffffffff8, 0xfffffff3ff01de01, 0xa3c5fdfffff99fed, 0x3fffffc3b0005981, 0xc36dfdfffff987e8, 0x005cffc05e000001, 0xe3edfdfffffbbfe8, 0x0203ffc300011a01, 0x23edfdfffff99fec, 0x00ffffc3b0001981, 0x83ffc718d63dc7e8, 0x07ffffc000011dc6, - 0x23fffdfffffddfee, 0xff80ffc30700001e, 0x63effdfffffddffd, 0x0006ffc340000d9b, + 0x23fffdfffffddfee, 0xff80ffc32700001e, 0x63effdfffffddffd, 0x0006ffc360000d9b, 0xa7fffffffffddffc, 0xffffffc3ff70ddc1, 0x2ffbfffffc7fffec, 0x001cffc07f03007f, 0x800dfffffffffffe, 0x000000000fff807f, 0x200dffaffffff7d6, 0x00000000f3ff005f, 0xfd5ffffffcffffff, 0x80001ffffffffeff, 0xc000000000001f20, 0x0000000007ffdfbf, 0x99021fffffffffff, 0xffe1fffe3cffffff, 0xffffffffdfffdf9b, 0xffffffffffff20bf, 0xffffffffffffffff, 0xffffffff3d7f3dff, 0x7f3dffffffff3dff, 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x1fffffff07ffffff, 0xffffffff03ffffff, 0x3f3fffffffffffff, - 0xffffffff1fffffff, 0x01ffffffffffffff, 0x0063ffff0003dfff, 0x0001dfff0003ffff, + 0xffffffff1fffffff, 0x01ffffffffffffff, 0x0073ffff8023ffff, 0x0001dfff0003ffff, 0xc04fffffffffffff, 0x03ff03ff1ff001bf, 0xffffffff03ff07ff, 0xffff05ffffffff9f, 0x003fffffffffffff, 0x01fb0e787fffffff, 0x001f3ffffffffff1, 0xffff0fffffffffff, 0xffffffffc7ff03ff, 0xffffffffc67fffff, 0x0007e01a00bfffff, 0x00003fff03ff03ff, - 0x0000000000000000, 0xe80ffffffffffff0, 0x1ff007ffffff0ffb, 0xffffc4c3fffffffc, + 0x0000000000000000, 0xe80ffffffffffff0, 0x7ff007ffffff1ffb, 0xffffc4c3fffffffc, 0xf00c5cbfffffffff, 0xf8300fffffffffff, 0xffffffffffffe3ff, 0xe7ffffffffff01ff, 0x04efde02000800ff, 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, 0xffdfffffffffffff, 0x7fdcffffefcfffdf, 0xffff80ffffff07ff, 0xfff30000ffffffff, 0xffffffff1fff7fff, - 0xffffffffffff0fff, 0x0000007fffffffff, 0xffffffff000007ff, 0xffcfffffffffffff, - 0xffffffffffbfffff, 0xffff7fffffffffff, 0xffffffff7fffffff, 0xfe0c7fffffffffff, - 0xffff20bfffffffff, 0x000180ffffffffff, 0x7f7f7f7f007fffff, 0x000000007f7f7f7f, - 0x000000000007ffff, 0xfffffffffbffffff, 0x000fffffffffffff, 0x0fff0000003fffff, - 0xffff03ffffffffff, 0xfffffffffffffffe, 0xfffffffff87fffff, 0xfffeffffffffffe0, - 0xffffffffffff7fff, 0xffff000fffffffff, 0x1fffffffffffffff, 0xffffffffffff1fff, - 0xffffffffffff007f, 0x00000fffffffffff, 0xc0087fffffffffff, 0xffffffff3fffffff, - 0x00fcffffffffffff, 0xffe00000000007fc, 0x03ff0f9ffffff7bb, 0x00ffffffffffffff, - 0x7ffc000003ffc00f, 0xffffc03fffffffff, 0x1fffffff800c007f, 0xcc37fffffffffff8, - 0x7fffffdfc3ffbfff, 0x001981ffffffffff, 0xeffffffff3ff2ff7, 0x3e62ffffffffffff, - 0x003fcffff8000005, 0xffff7f7f007e7e7e, 0x03ff1edfffffffff, 0x0ffffffffffff87f, - 0xffff3fffffffffff, 0x0000000003ffffff, 0x5f7fffffa0f8007f, 0xffffffffffffffdb, - 0xfffffffffff80003, 0xffffffffffff0000, 0xfffffffffffcffff, 0x3fff0000000000ff, - 0xffff000003ff0000, 0xffdf0f7ffff7ffff, 0x7fffffff3fffffff, 0x30007f7f1cfcfcfc}, - {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 10, 11, 12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 13, - 14, 15, 7, 16, 17, 7, 18, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, + 0x0000000000000001, 0xffffffffffff0fff, 0x0000007fffffffff, 0xffffffff000007ff, + 0xffcfffffffffffff, 0xffffffffffbfffff, 0xfe0c7fffffffffff, 0xffff20bfffffffff, + 0x000180ffffffffff, 0x7f7f7f7f007fffff, 0x000000007f7f7f7f, 0x000000003fffffff, + 0xfffffffffbffffff, 0x000fffffffffffff, 0x0fff0000003fffff, 0xffff03ffffffffff, + 0xfffffffffffffffe, 0xfffffffff87fffff, 0xfffeffffffffffe0, 0xffffffffffff7fff, + 0xffff000fffffffff, 0xffffffff7fffffff, 0xffffffffffff1fff, 0xffffffffffff007f, + 0x00000fffffffffff, 0xc0087fffffffffff, 0xffffffff3fffffff, 0x00fcffffffffffff, + 0xfffc000003eb07ff, 0x03ff0f9ffffff7bb, 0x00ffffffffffffff, 0x7ffc000003ffc00f, + 0xffffc03fffffffff, 0x1fffffff800c007f, 0xcc37fffffffffff8, 0x7fffffdfc3ffbfff, + 0x001981ffffffffff, 0xeffffffff3ff2ff7, 0x3e62ffffffffffff, 0x003fcffff8000005, + 0xffff7f7f007e7e7e, 0x03ff1edfffffffff, 0x0ffffffffffff87f, 0xffff3fffffffffff, + 0x0000000003ffffff, 0x5f7fffffa0f8007f, 0xffffffffffffffdb, 0xfffffffffff80007, + 0xfffffffffffcffff, 0xffff0000000080ff, 0xffff000003ff0000, 0xffdf0f7ffff7ffff, + 0x1fffffffffffffff, 0x7fffffff3fffffff, 0x30007f7f1cfcfcfc}, + {1, 2, 3, 4, 5, 6, 7, 8, 5, 9, 10, 11, 12, 13, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 15, + 16, 17, 7, 18, 19, 7, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, {1, 2, 3, 4, 2, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 2, 2, 14, - 15, 16, 17, 7, 7, 2, 2, 2, 2, 18, 19, 7, 7, 20, 21, 22, 23, 24, - 7, 25, 26, 27, 28, 29, 30, 31, 32, 33, 7, 2, 34, 35, 36, 37, 7, 7, - 7, 7, 38, 39, 7, 16, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 7, 52, 53, 54, 55, 7, 7, 56, 57, 58, 59, 7, 7, 60, 61, 62, 63, 64, - 65, 66, 7, 7, 7, 67, 7, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 7, - 7, 7, 7, 78, 79, 80, 7, 81, 82, 83, 7, 7, 7, 7, 84, 7, 7, 85, - 86, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 87, 7, 2, - 88, 2, 2, 2, 89, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 15, 16, 17, 18, 7, 2, 2, 2, 2, 19, 20, 21, 7, 22, 23, 24, 25, 26, + 7, 27, 28, 29, 30, 31, 32, 33, 34, 35, 7, 2, 36, 37, 38, 39, 7, 7, + 7, 7, 40, 41, 7, 16, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 7, 54, 55, 56, 57, 7, 7, 58, 59, 60, 61, 7, 7, 62, 63, 64, 65, 66, + 67, 68, 69, 7, 7, 70, 7, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 7, + 7, 7, 7, 81, 82, 83, 7, 84, 85, 86, 7, 7, 7, 7, 87, 7, 7, 88, + 89, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 90, 7, 2, + 91, 2, 2, 2, 92, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 90, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 93, 37, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 94, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 91, 7, 7, 7, 7, 7, 7, 7, + 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 69, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -5938,101 +6087,109 @@ namespace detail::tables { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 2, 2, 2, 2, 2, 2, 2, 2, 77, 92, 7, 93, 94, 95, 96, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 2, 97, 7, 2, 98, 99, 100, 2, 2, 2, + 7, 2, 2, 2, 2, 2, 2, 2, 2, 80, 95, 96, 97, 98, 99, 100, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 2, 101, 7, 2, 102, 103, 104, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 56, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 101, 34, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, - 2, 2, 2, 102, 103, 2, 2, 2, 2, 2, 104, 7, 7, 7, 7, 7, 7, 7, + 2, 2, 58, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 105, 36, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 105, 106, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 107, 108, 109, 110, 111, 2, - 112, 7, 113, 2, 114, 7, 7, 2, 115, 116, 117, 118, 119, 2, 2, 2, 2, 120, - 2, 2, 2, 2, 121, 2, 2, 2, 2, 2, 2, 2, 2, 122, 123, 124, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 106, 2, 2, 2, 2, 107, 108, 2, 2, 2, + 2, 2, 109, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 125, 126, 7, 7, 7, 7, 7, 127, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, - 128, 2, 129, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 130, 131, 7, 132, - 7, 7, 7, 133, 134, 135, 136, 7, 7, 7, 7, 137, 2, 138, 139, 2, 2, 140, - 141, 142, 143, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 144, 2, 145, 2, 146, 147, 148, 149, 7, 2, 150, 2, 151, 2, 152, 153, - 154, 2, 2, 155, 156, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 157, 2, 2, 2, 2, 2, + 7, 7, 7, 2, 110, 111, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 93, 2, 92, 2, 2, 2, 112, 113, 114, 115, + 116, 2, 117, 7, 118, 2, 119, 7, 7, 2, 120, 121, 122, 123, 124, 2, 2, 2, + 2, 125, 2, 2, 2, 2, 126, 2, 2, 2, 2, 2, 2, 2, 2, 127, 128, 129, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 130, + 7, 7, 7, 7, 7, 7, 7, 131, 132, 7, 7, 7, 7, 133, 134, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 135, 2, + 2, 2, 136, 2, 137, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 138, 139, + 7, 140, 7, 7, 7, 141, 142, 143, 144, 7, 7, 7, 7, 145, 2, 146, 147, 2, + 2, 148, 149, 150, 151, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 152, 2, 153, 2, 154, 155, 156, 157, 7, 2, 2, 2, 2, 2, + 158, 159, 160, 2, 2, 161, 162, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 131, 2, 2, 2, 158, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 80, 2, 2, 2, 163, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 159, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 164, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 160, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 165, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 157, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 161, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 166, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 167, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7}, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}, {0xb7ffff7fffffefff, 0x000000003fff3fff, 0xffffffffffffffff, 0x07ffffffffffffff, 0xff8fffffffffff87, 0x000000011fff7fff, 0x1fffffffffff0000, 0x0000000000000000, 0xffffffff1fffffff, 0x0ffffffe0001ffff, 0xffffe00fffffffff, 0x003fffffffff07ff, 0xffffffffbfffffff, 0x00000000003fff0f, 0xffff03ff3fffffff, 0x0fffffffff0fffff, - 0xffff00ffffffffff, 0x0000800fffffffff, 0x007fffffffffffff, 0x000000ff003fffff, - 0x91bffffffffffd3f, 0xffffffffffbfffff, 0x0000ff807fffffff, 0xf837ffff00000000, - 0x83ffffff8fffffff, 0xf0ffffffffffffff, 0xfffffffffffcffff, 0x003ffffffeef0001, - 0xffffffff01ff01ff, 0x00000000ffffffff, 0x007ff81fffffffff, 0xfe3fffffffffffff, - 0xff07ffffff3fffff, 0x0000fe001e03ffff, 0x00000000000001ff, 0x0007ffffffffffff, - 0xfc07ffffffffffff, 0x03ff000fffffffff, 0x7fffffff00000000, 0x000323ffffffffff, - 0x0000000003fe003f, 0xffff000000000000, 0x007fffff00000fff, 0x00fffffffffffffd, - 0x0000fffffffc3f80, 0xd987fffffffffffc, 0x03ff01ffffff0003, 0xffc0107ffffffff8, - 0x0077ffffffff00ff, 0x803ffffffffffffc, 0x001ffffeffff61ff, 0x3f2c7ffffffbffff, - 0xffff03ffbfffbd7f, 0x03ff00077fffffff, 0xa3edfdfffff99fec, 0x0000000fe001399e, - 0x00ffffffffffffff, 0x00000003afffffa3, 0x5a06ffffffffffff, 0x0000000003ff00f2, - 0x4f037fffffffffff, 0x000000000ffffffe, 0x5807ffffffffffff, 0x00001fff03ff001e, - 0x0140d7ffffffffff, 0x00000000000003ff, 0xffff004307ffffff, 0x09007fffffffffff, - 0xffffffff00000000, 0x8007ffffffffffff, 0xa1beffffff6ff27f, 0x0000000003ff0077, - 0xfffffcff00000000, 0x0000001ef00fffff, 0x8607fffffffff801, 0xfffffffff181007f, - 0x00000007fc8003ff, 0x01ffffffffffffff, 0x4000fffffffffdff, 0xffff1fffffff003f, - 0x001202000000ffff, 0x0001fffffffffb7f, 0xfffffdbf03ff0040, 0x000003ff01587fff, - 0x01e7ffff00000000, 0x0001000000000000, 0x8003ffffffffffff, 0x0000000003ffffff, - 0x001f7fffffffffff, 0x000000000000000f, 0x00007fffffffffff, 0x000000000000007f, - 0x0000c3ff7fffffff, 0x00203fffffff0000, 0xff80ffffffffffff, 0xe0fffffbfbff003f, + 0xffff00ffffffffff, 0xf7ff800fffffffff, 0x1bfbfffbffb7f7ff, 0x007fffffffffffff, + 0x000000ff003fffff, 0x07fdffffffffffbf, 0x91bffffffffffd3f, 0xffffffffffbfffff, + 0x0000ff807fffffff, 0xf837ffff00000000, 0x83ffffff8fffffff, 0xf0ffffffffffffff, + 0xfffffffffffcffff, 0x003ffffffeef0001, 0xffffffff01ff01ff, 0x00000000ffffffff, + 0x007ff81fffffffff, 0xfe3fffffffffffff, 0xff07ffffff3fffff, 0x0000fe001e03ffff, + 0x00000000000001ff, 0x0007ffffffffffff, 0xfc07ffffffffffff, 0x03ff000fffffffff, + 0x7fffffff00000000, 0x000323ffffffffff, 0xffff000003fe003f, 0xffff0000000003c3, + 0x007fffff00000fff, 0x00fffffffffffffd, 0x0026fffffffc3f80, 0xd987fffffffffffc, + 0x03ff01ffffff0003, 0xffc0107ffffffff8, 0x0077ffffffff00ff, 0x803ffffffffffffc, + 0x001ffffeffff61ff, 0x3f2c7ffffffbffff, 0xffff03ffbfffbd7f, 0x03ff00077fffffff, + 0xa3edfdfffff99fec, 0x0000000fe001399e, 0x00ffffffffffffff, 0x00000003afffffa3, + 0x5a06ffffffffffff, 0x0000000003ff00f2, 0x4f037fffffffffff, 0x000000000ffffffe, + 0x5807ffffffffffff, 0x00001fff03ff001e, 0x0340d7ffffffffff, 0x00000000000003ff, + 0xffff004307ffffff, 0x000000000000007f, 0x09007fffffffffff, 0xffffffff00000000, + 0x8007ffffffffffff, 0xa1beffffff6ff27f, 0x0000000003ff0077, 0xfffffcff00000000, + 0x0000001ef00fffff, 0x8607fffffffff801, 0xfffffffff181007f, 0xffff0007fc8003ff, + 0x01ffffffffffffff, 0x4000fffffffffdff, 0xffff1fffffff003f, 0x001202000000ffff, + 0x0001fffffffffb7f, 0xfffffdbf03ff0040, 0x000003ff01587fff, 0x01e7ffff00000000, + 0x0001000000000000, 0x8003ffffffffffff, 0x0000000003ffffff, 0x001f7fffffffffff, + 0x000000000000000f, 0xffffffffffff0000, 0x00007fffffffffff, 0xffffc3ff7fffffff, + 0x7fffffffffffffff, 0x00203fffffff03ff, 0xff80ffffffffffff, 0xe0fffffbfbff003f, 0x000000000000ffff, 0x0000000007ffffff, 0xffffffffffff07ff, 0x00000000fff800ff, - 0x0003000f00000000, 0x00000000003fffff, 0x000000007fffffff, 0xffff00f000070000, - 0x0fffffffffffffff, 0x1fff07ffffffffff, 0x0000000093ff01ff, 0x003fffffffffffff, - 0xfffffe7fffffffff, 0x00003c5fffffffff, 0xffffc3fffffff018, 0x000001ffffffffff, - 0x0000000000000023, 0x000fffff00000000, 0x01ffffff007fffff, 0xffffffffffdfffff, - 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, - 0xffffff3fffffffff, 0xffffffffffffcfff, 0x0780000000000000, 0xffdfe00000000000, - 0x0000000000000fef, 0x3f801fffffffffff, 0x000000000000c3ff, 0x83ff0fffffffffff, + 0x0003000f00000000, 0x00000000003fffff, 0x6fef000000000000, 0x00000007ffffffff, + 0xffff00f000070000, 0x0fffffffffffffff, 0x1fff07ffffffffff, 0x0000000093ff01ff, + 0x003fffffffffffff, 0xfffffe7fffffffff, 0x00003c5fffffffff, 0xffffc3fffffff018, + 0x000007ffffffffff, 0x0000000000000023, 0x000fffff00000000, 0x01ffffff007fffff, + 0xffffffffffdfffff, 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, + 0xfffffffffffdfc5f, 0xffffff3fffffffff, 0xffffffffffffcfff, 0x0780000000000000, + 0xffdfe00000000000, 0x0000000000000fef, 0x000000007fffffff, 0x3f801fffffffffff, + 0x000000000000c3ff, 0x00003fffffff0000, 0x83ff0fffffffffff, 0x7fff6f7f00000000, 0x000000000000ff9f, 0x00000000c3ff080f, 0xfffe000000000000, 0x001fffffffffffff, 0x3ffffffffffffffe, 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0x0003000000000000, 0xffff0fffffffffff, 0xfffe7fff000fffff, 0x003ffffffffefffe, 0x00003fffffffffff, 0xffffffc000000000, 0x0fffffffffff0007, 0x0000003f000301ff, - 0x1fff1fff00ffffff, 0x000fffffffffffff, 0x00000fff01ffffff, 0xffffffffffff0fff, - 0xffffffff03ff00ff, 0x00033fffffff00ff, 0xfdffffffffffffff, 0xffffffffffffefff, - 0x071f3fff000fffff, 0x007f01ffffff007f, 0x00000000007f0007, 0xfffffffffff7ffff, - 0x03ff0000000007ff, 0x000000003fffffff, 0xffffffff3fffffff, 0xffff0003ffffffff, - 0x00000001ffffffff, 0x00000000000007ff}}; + 0x1fff1fffe0ffffff, 0x000fffffffffffff, 0x00010fff01ffffff, 0xffffffffffff0fff, + 0xffffffff03ff00ff, 0x00033fffffff00ff, 0x1f1f3fff000fffff, 0x07ff1fffffff007f, + 0x007f00ff03ff003f, 0xfffffffffff7ffff, 0x03ff0000000007ff, 0xffffffff3fffffff, + 0xffff0003ffffffff, 0x00000001ffffffff, 0x000000003fffffff, 0x00000000000007ff}}; static constexpr range_array prop_hex_data = { 0x00000000, 0x00003001, 0x00003A00, 0x00004101, 0x00004700, 0x00006101, 0x00006700, 0x00FF1001, 0x00FF1A00, 0x00FF2101, 0x00FF2700, 0x00FF4101, 0x00FF4700}; static constexpr range_array prop_ideo_data = { 0x00000000, 0x00300601, 0x00300800, 0x00302101, 0x00302A00, 0x00303801, 0x00303B00, - 0x00340001, 0x004DC000, 0x004E0001, 0x009FFD00, 0x00F90001, 0x00FA6E00, 0x00FA7001, + 0x00340001, 0x004DC000, 0x004E0001, 0x00A00000, 0x00F90001, 0x00FA6E00, 0x00FA7001, 0x00FADA00, 0x016FE401, 0x016FE500, 0x01700001, 0x0187F800, 0x01880001, 0x018CD600, - 0x018D0001, 0x018D0900, 0x01B17001, 0x01B2FC00, 0x02000001, 0x02A6DE00, 0x02A70001, - 0x02B73500, 0x02B74001, 0x02B81E00, 0x02B82001, 0x02CEA200, 0x02CEB001, 0x02EBE100, + 0x018D0001, 0x018D0900, 0x01B17001, 0x01B2FC00, 0x02000001, 0x02A6E000, 0x02A70001, + 0x02B73900, 0x02B74001, 0x02B81E00, 0x02B82001, 0x02CEA200, 0x02CEB001, 0x02EBE100, 0x02F80001, 0x02FA1E00, 0x03000001, 0x03134B00}; static constexpr range_array prop_idsb_data = {0x00000000, 0x002FF001, 0x002FF200, 0x002FF401, 0x002FFC00}; @@ -6042,7 +6199,7 @@ namespace detail::tables { 0x000EC500, 0x0019B501, 0x0019B800, 0x0019BA01, 0x0019BB00, 0x00AAB501, 0x00AAB700, 0x00AAB901, 0x00AABA00, 0x00AABB01, 0x00AABD00}; - static constexpr bool_trie<32, 991, 1, 0, 57, 255, 1, 0, 378, 13, 57, 47> prop_oalpha_data{ + static constexpr bool_trie<32, 991, 1, 0, 57, 255, 1, 0, 378, 13, 57, 48> prop_oalpha_data{ {0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -6103,7 +6260,7 @@ namespace detail::tables { 0xfffe000000000000, 0x1ffffffffeffe003, 0x797ff80000000000, 0x001e3f9dc3c00000, 0x000000003c00bffc, 0x000c0000000c0000, 0xffc0000000000000, 0x00000000000001ff, 0x0000020000000060, 0x01ff0fff00000000, 0x000000000f800000, 0x001ffffe7fe00000, - 0x8000000000000000, 0x0000000000000001, 0xffe000000000001f, 0x000000000000000f, + 0x8000000000000000, 0x0000000000007001, 0xffe000000000001f, 0x000000000000000f, 0x000033fe00000007, 0x0003ff8000000000, 0x007ffff000000000, 0x001fff8000000000, 0x000003ffffffffff, 0xffffffff00000000, 0x0ff0000000000000, 0x00000000c0000000, 0x000000f800000804, 0xfff0000000000003, 0x800000000000002f, 0x000007c000000000, @@ -6121,32 +6278,32 @@ namespace detail::tables { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 5, 6, 7, 0, 8, 9, 10, 11, 12, 0, 0, 13, 14, 15, 0, 0, 16, 17, 18, 19, 0, - 0, 20, 21, 22, 23, 24, 0, 25, 0, 0, 0, 26, 0, 0, 0, 27, 28, 0, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 33, 0, 34, 0, 35, 36, 37, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 14, 15, 16, 0, 0, 17, 18, 19, 20, 0, + 0, 21, 22, 23, 24, 25, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, 29, 0, 30, 31, 32, 33, 0, 0, + 0, 0, 0, 34, 0, 35, 0, 36, 37, 38, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 45, 46}, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 46, 47}, {0x0000000000000000, 0x07c0000000000000, 0x000000000000f06e, 0x000000f000000000, - 0x0000180000000000, 0xff00000000000007, 0x000000000000003f, 0x01ff000000000004, - 0x0007ff8000000007, 0x0000000000000060, 0xfff8000000000007, 0x000000000000c000, - 0x409ff00000000000, 0x000001ff80000000, 0xc00000000000000f, 0x0000000c0080199f, - 0xffe0000000000000, 0x000000000000003b, 0xffff000000000000, 0x0000000000000003, - 0x7f3f800000000000, 0x0000000030000000, 0x7fff000000000000, 0x0000000000000001, - 0x003ff80000000000, 0x000007ffe0000000, 0x01fff00000000000, 0x19bf000000000000, - 0x0000000000000005, 0x00000010fcfe0000, 0x7be00000000007fe, 0x000000000ffe0000, - 0x0000000000fffc00, 0x7f7f800000000000, 0x007ffefffffc0000, 0xb47e000000000000, - 0x000000000000008b, 0x00000000007b7c00, 0x0078000000000000, 0xfffffffffffe8000, - 0x00000000000780ff, 0x0003000000000000, 0x0000000040000000, 0x000007dbf9ffff7f, - 0x0000000000000080, 0xffff03ffffff03ff, 0x00000000000003ff}}; + 0x0000180000000000, 0xff00000000000007, 0x001800000000003f, 0x01ff000000000004, + 0x0000000000000004, 0x0007ff8000000007, 0x0000000000000060, 0xfff8000000000007, + 0x000000000000c000, 0x409ff00000000000, 0x000001ff80000000, 0xc00000000000000f, + 0x0000000c0080199f, 0xffe0000000000000, 0x000000000000003b, 0xffff000000000000, + 0x0000000000000003, 0x7f3f800000000000, 0x0000000030000000, 0x7fff000000000000, + 0x0000000000000001, 0x003ff80000000000, 0x000007ffe0000000, 0x01fff00000000000, + 0x19bf000000000000, 0x0000000000000005, 0x00000010fcfe0000, 0x7be00000000007fe, + 0x000000000ffe0000, 0x0000000000fffc00, 0x7f7f800000000000, 0x007ffefffffc0000, + 0xb47e000000000000, 0x000000000000008b, 0x00000000007b7c00, 0x0078000000000000, + 0xfffffffffffe8000, 0x00000000000780ff, 0x0003000000000000, 0x0000000040000000, + 0x000007dbf9ffff7f, 0x0000000000000080, 0xffff03ffffff03ff, 0x00000000000003ff}}; static constexpr flat_array<7> prop_odi_data{ {0x034F, 0x115F, 0x1160, 0x17B4, 0x17B5, 0x3164, 0xFFA0}}; static constexpr bool_trie<0, 985, 6, 1, 9, 208, 1, 47, 118, 76, 62, 9> prop_ogr_ext_data{ @@ -6211,7 +6368,8 @@ namespace detail::tables { 0x00037B00, 0x001D2C01, 0x001D6B00, 0x001D7801, 0x001D7900, 0x001D9B01, 0x001DC000, 0x00207101, 0x00207200, 0x00207F01, 0x00208000, 0x00209001, 0x00209D00, 0x00217001, 0x00218000, 0x0024D001, 0x0024EA00, 0x002C7C01, 0x002C7E00, 0x00A69C01, 0x00A69E00, - 0x00A77001, 0x00A77100, 0x00A7F801, 0x00A7FA00, 0x00AB5C01, 0x00AB6000}; + 0x00A77001, 0x00A77100, 0x00A7F801, 0x00A7FA00, 0x00AB5C01, 0x00AB6000, 0x01078001, + 0x01078100, 0x01078301, 0x01078600, 0x01078701, 0x0107B100, 0x0107B201, 0x0107BB00}; static constexpr bool_trie<32, 893, 96, 3, 21, 2, 13, 241, 107, 80, 5, 16> prop_omath_data{ {0x0000000000000000, 0x0000000040000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@ -6315,15 +6473,16 @@ namespace detail::tables { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 14}, {0x0000000000000000, 0x7fff00ffffff0000, 0x000000007feffffe, 0xffffffffffff0000, 0xffffffffffffffff, 0x0000007fffffffff, 0x00000000000007ff, 0x003fffffffffffff, - 0xfffffffffff00000, 0xffcfffffffffffff, 0xffffffffffbfffff, 0x000000000007ffff, + 0xfffffffffff00000, 0xffcfffffffffffff, 0xffffffffffbfffff, 0x000000003fffffff, 0x00010001ffffff0e, 0xc000000000000000, 0x0000000000000060}, {}, {}, {}}; static constexpr flat_array<11> prop_pat_ws_data{ {0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x0020, 0x0085, 0x200E, 0x200F, 0x2028, 0x2029}}; - static constexpr flat_array<11> prop_pcm_data{ - {0x0600, 0x0601, 0x0602, 0x0603, 0x0604, 0x0605, 0x06DD, 0x070F, 0x08E2, 0x110BD, 0x110CD}}; + static constexpr flat_array<13> prop_pcm_data{{0x0600, 0x0601, 0x0602, 0x0603, 0x0604, 0x0605, + 0x06DD, 0x070F, 0x0890, 0x0891, 0x08E2, 0x110BD, + 0x110CD}}; static constexpr range_array prop_qmark_data = { 0x00000000, 0x00002201, 0x00002300, 0x00002701, 0x00002800, 0x0000AB01, 0x0000AC00, 0x0000BB01, 0x0000BC00, 0x00201801, 0x00202000, 0x00203901, 0x00203B00, 0x002E4201, @@ -6332,69 +6491,69 @@ namespace detail::tables { static constexpr range_array prop_radical_data = { 0x00000000, 0x002E8001, 0x002E9A00, 0x002E9B01, 0x002EF400, 0x002F0001, 0x002FD600}; static constexpr range_array prop_ri_data = {0x00000000, 0x01F1E601, 0x01F20000}; - static constexpr flat_array<46> prop_sd_data{ + static constexpr flat_array<47> prop_sd_data{ {0x0069, 0x006A, 0x012F, 0x0249, 0x0268, 0x029D, 0x02B2, 0x03F3, 0x0456, 0x0458, 0x1D62, 0x1D96, 0x1DA4, 0x1DA8, 0x1E2D, 0x1ECB, 0x2071, 0x2148, 0x2149, 0x2C7C, 0x1D422, 0x1D423, 0x1D456, 0x1D457, 0x1D48A, 0x1D48B, 0x1D4BE, 0x1D4BF, 0x1D4F2, 0x1D4F3, 0x1D526, 0x1D527, 0x1D55A, 0x1D55B, 0x1D58E, 0x1D58F, 0x1D5C2, 0x1D5C3, 0x1D5F6, 0x1D5F7, - 0x1D62A, 0x1D62B, 0x1D65E, 0x1D65F, 0x1D692, 0x1D693}}; - static constexpr bool_trie<32, 991, 1, 0, 29, 255, 1, 0, 322, 41, 21, 24> prop_sterm_data{ + 0x1D62A, 0x1D62B, 0x1D65E, 0x1D65F, 0x1D692, 0x1D693, 0x1DF1A}}; + static constexpr bool_trie<32, 991, 1, 0, 30, 255, 1, 0, 322, 41, 21, 25> prop_sterm_data{ {0x8000400200000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000200, 0x0000000000000000, - 0x00000000c0000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000, + 0x00000000e0000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000, 0x0000000000000007, 0x0000000000000000, 0x0000000000000000, 0x0200000000000000}, - {1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 5, 1, 1, 6, 1, 1, 1, 7, 1, 1, 1, 1, 8, 1, 1, 1, 1, 9, 1, - 1, 10, 1, 1, 11, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 14, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 15, 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 17, 1, 1, 1, 1, 18, 1, 1, 19, 1, 1, 1, 1, 1, 20, 1, 18, 21, 1, 1, 22, 1, 23, 1, - 24, 1, 1, 1, 25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 26, 1, 1, 27, 28, 1, 1}, + {1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 5, 1, 1, 6, 1, 1, 1, 7, 1, 1, 1, 1, 8, 1, 1, 1, 1, 9, 1, + 1, 10, 1, 1, 11, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 14, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 15, 16, 1, 1, 1, 1, 1, 1, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 18, 1, 1, 1, 1, 19, 1, 1, 20, 1, 1, 1, 1, 1, 21, 1, 19, 22, 1, 1, 23, 1, 24, 1, + 25, 1, 1, 1, 26, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 1, 1, 28, 29, 1, 1}, {0x6280000000000000, 0x0000000000000000, 0x0000003000000000, 0x0000000000000c00, 0x0000018400000000, 0x0000400000000000, 0x0060000000000000, 0x0000000000000208, - 0x0000000000000030, 0x00000f0000000000, 0x00000000cc000000, 0x1800000000000000, + 0x0000000000000030, 0x00000f0000000000, 0x60000000cc000000, 0x1800000000000000, 0xc000000000000000, 0x3000000000000000, 0x0000000000000380, 0x1000400000000000, - 0x0000000000000004, 0x8000000000000000, 0x000000000000c000, 0x0088000000000000, - 0x00c0000000000000, 0x0000800000000000, 0x0000000000000300, 0x00000000e0000000, - 0x0003000000000000, 0x0000080000000000, 0x0000000000c40000, 0x0000000080004002, - 0x0000000200000000}, + 0x0000000000180000, 0x0000000000000004, 0x8000000000000000, 0x000000000000c000, + 0x0088000000000000, 0x00c0000000000000, 0x0000800000000000, 0x0000000000000300, + 0x00000000e0000000, 0x0003000000000000, 0x0000080000000000, 0x0000000000c40000, + 0x0000000080004002, 0x0000000200000000}, {1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4, 2, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -6404,33 +6563,34 @@ namespace detail::tables { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, - {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, - 4, 5, 0, 6, 0, 7, 8, 0, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 11, 0, 12, 0, - 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 16, 0, 0, 0, 0, 0, 0, 12, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, 17, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23}, - {0x0000000000000000, 0x0000000000c00000, 0x0000000003e00000, 0x0000000000000180, - 0xc000000000000000, 0x0000000000000003, 0x000000000000000e, 0x00000000c0002060, - 0x1b00000000000000, 0x0000020000000000, 0x0000000000001800, 0x0000000000fffe0c, - 0x0000000000000006, 0x7000000000000000, 0x0000000000000050, 0x000000000000000c, - 0x0000000018000000, 0x0180000000000000, 0x0000c00000000000, 0x0020000000000000, - 0x0000000000000010, 0x0000000001000000, 0x0000000080000000, 0x0000000000000100}}; - static constexpr bool_trie<32, 991, 1, 0, 34, 255, 1, 0, 413, 14, 21, 32> prop_term_data{ + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 4, + 5, 6, 0, 7, 0, 8, 9, 0, 10, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 13, 0, + 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 17, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 20, 18, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24}, + {0x0000000000000000, 0x0000000000c00000, 0x0000000003e00000, 0x00000000000003c0, + 0x0000000000000180, 0xc000000000000000, 0x0000000000000003, 0x000000000000000e, + 0x00000000c0002060, 0x1b00000000000000, 0x0000020000000000, 0x0000000000001800, + 0x0000000000fffe0c, 0x0000000000000006, 0x7000000000000000, 0x0000000000000050, + 0x000000000000000c, 0x0000000018000000, 0x0180000000000000, 0x0000c00000000000, + 0x0020000000000000, 0x0000000000000010, 0x0000000001000000, 0x0000000080000000, + 0x0000000000000100}}; + static constexpr bool_trie<32, 991, 1, 0, 34, 255, 1, 0, 413, 14, 21, 33> prop_term_data{ {0x8c00500200000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x4000000000000000, 0x0000000000000080, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000200, 0x0000000000000008, - 0x00000000c8001000, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000, + 0x00000000e8001000, 0x0000000000000000, 0x0000000000000000, 0x0000000000100000, 0x00000000000017ff, 0x0000000000000000, 0x0000000000000000, 0x0300000000000000}, {1, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 5, 2, 2, 2, 2, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, @@ -6475,9 +6635,9 @@ namespace detail::tables { {0x7fff000000000000, 0x0000000040000000, 0x0000000000000000, 0x0000003000000000, 0x000000000c000000, 0x000000000007e100, 0x0000000000000c00, 0x000001fe00000000, 0x0000400000000000, 0x0000380000000000, 0x0060000000000000, 0x0000000004700000, - 0x000000000000033c, 0x0000000000000030, 0x00000f0000000000, 0x00000000ec000000, + 0x000000000000033c, 0x0000000000000030, 0x00000f0000000000, 0x60000000ec000000, 0xf800000000000000, 0xc000000000000000, 0x3000000000000000, 0x0000000000000380, - 0x1000400000000000, 0x000000000000d002, 0x0000000000000006, 0x000000000000e000, + 0x1000400000000000, 0x000000000018d002, 0x0000000000000006, 0x000000000000e000, 0x00f8000000000000, 0x00c0000000000000, 0x000000000000c000, 0x0000800000000000, 0x00000000e0000000, 0x0003000080000000, 0x0000080000000000, 0x0000000000f70000, 0x000000008c005002, 0x0000001200000000}, @@ -6491,42 +6651,44 @@ namespace detail::tables { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}, {1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, - 0, 4, 0, 5, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, - 10, 11, 0, 12, 0, 13, 14, 0, 15, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 17, 0, 18, 0, 0, - 19, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 0, 5, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 10, + 11, 12, 0, 13, 0, 14, 15, 0, 16, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 18, 0, 19, 0, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 28, + 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31}, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32}, {0x0000000000000000, 0x0000000080000000, 0x0000000000010000, 0x0000000000800000, 0x0000000000c00000, 0x003f000000000000, 0xfc00000000000000, 0x000000001e000000, - 0x0000000003e00000, 0x0000000000003f80, 0xc000000000000000, 0x0000000000000003, - 0x000000000000000e, 0x00000000c0002060, 0x1f00000000000000, 0x0000020000000000, - 0x000000000c003800, 0x0000000000fffe3c, 0x0000000000000006, 0x7000000000000000, - 0x0000000000000050, 0x000000000000000c, 0x0000000618000000, 0x000200000000000e, - 0x0180000000000000, 0x001f000000000000, 0x0000c00000000000, 0x0020000000000000, - 0x0380000000000000, 0x0000000000000010, 0x0000000001800000, 0x0000000000000780}}; + 0x0000000003e00000, 0x00000000000003c0, 0x0000000000003f80, 0xc000000000000000, + 0x0000000000000003, 0x000000000000000e, 0x00000000c0002060, 0x1f00000000000000, + 0x0000020000000000, 0x000000000c003800, 0x0000000000fffe3c, 0x0000000000000006, + 0x7000000000000000, 0x0000000000000050, 0x000000000000000c, 0x0000000618000000, + 0x000200000000000e, 0x0180000000000000, 0x001f000000000000, 0x0000c00000000000, + 0x0020000000000000, 0x0380000000000000, 0x0000000000000010, 0x0000000001800000, + 0x0000000000000780}}; static constexpr range_array prop_uideo_data = { - 0x00000000, 0x00340001, 0x004DC000, 0x004E0001, 0x009FFD00, 0x00FA0E01, 0x00FA1000, + 0x00000000, 0x00340001, 0x004DC000, 0x004E0001, 0x00A00000, 0x00FA0E01, 0x00FA1000, 0x00FA1101, 0x00FA1200, 0x00FA1301, 0x00FA1500, 0x00FA1F01, 0x00FA2000, 0x00FA2101, - 0x00FA2200, 0x00FA2301, 0x00FA2500, 0x00FA2701, 0x00FA2A00, 0x02000001, 0x02A6DE00, - 0x02A70001, 0x02B73500, 0x02B74001, 0x02B81E00, 0x02B82001, 0x02CEA200, 0x02CEB001, + 0x00FA2200, 0x00FA2301, 0x00FA2500, 0x00FA2701, 0x00FA2A00, 0x02000001, 0x02A6E000, + 0x02A70001, 0x02B73900, 0x02B74001, 0x02B81E00, 0x02B82001, 0x02CEA200, 0x02CEB001, 0x02EBE100, 0x03000001, 0x03134B00}; - static constexpr range_array prop_vs_data = {0x00000000, 0x00180B01, 0x00180E00, 0x00FE0001, + static constexpr range_array prop_vs_data = {0x00000000, 0x00180B01, 0x00180E00, + 0x00180F01, 0x00181000, 0x00FE0001, 0x00FE1000, 0x0E010001, 0x0E01F000}; static constexpr range_array prop_wspace_data = { 0x00000000, 0x00000901, 0x00000E00, 0x00002001, 0x00002100, 0x00008501, 0x00008600, 0x0000A001, 0x0000A100, 0x00168001, 0x00168100, 0x00200001, 0x00200B00, 0x00202801, 0x00202A00, 0x00202F01, 0x00203000, 0x00205F01, 0x00206000, 0x00300001, 0x00300100}; - static constexpr bool_trie<32, 991, 1, 0, 130, 255, 1, 0, 1279, 1, 0, 124> prop_xidc_data{ + static constexpr bool_trie<32, 991, 1, 0, 127, 255, 1, 0, 1407, 1, 0, 134> prop_xidc_data{ {0x03ff000000000000, 0x07fffffe87fffffe, 0x04a0040000000000, 0xff7fffffff7fffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x0000501f0003ffc3, @@ -6539,18 +6701,19 @@ namespace detail::tables { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 4, 32, 33, 34, 4, 4, 4, 4, 4, 35, 36, 37, 38, 39, 40, 41, 42, 4, 4, 4, 4, 4, 4, 4, 4, 43, 44, 45, 46, 47, 4, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 4, 61, 4, 62, 63, 64, 65, 66, 4, 4, 4, 67, 4, 4, 4, - 4, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, - 81, 4, 82, 83, 84, 85, 86, 79, 79, 79, 79, 79, 79, 79, 79, 87, 42, 88, - 89, 90, 4, 91, 92, 79, 79, 79, 79, 79, 79, 79, 79, 4, 4, 4, 4, 4, + 58, 59, 60, 4, 61, 4, 62, 63, 64, 65, 66, 4, 4, 4, 4, 4, 4, 4, + 4, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 4, + 4, 4, 79, 80, 81, 82, 83, 78, 78, 78, 78, 78, 78, 78, 78, 84, 42, 85, + 86, 87, 4, 88, 89, 78, 78, 78, 78, 78, 78, 78, 78, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 78, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 79, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -6568,10 +6731,9 @@ namespace detail::tables { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 93, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 94, 95, 4, 4, 4, - 4, 96, 97, 4, 98, 99, 4, 100, 101, 102, 62, 4, 103, 104, 105, 4, 106, 107, - 108, 4, 109, 110, 111, 4, 112, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 90, 91, 4, 4, 4, + 4, 92, 93, 4, 94, 95, 4, 96, 97, 98, 62, 4, 99, 100, 101, 4, 102, 103, + 104, 4, 105, 106, 107, 4, 108, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -6581,159 +6743,168 @@ namespace detail::tables { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 113, 114, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 4, 4, 4, 4, 4, 104, 4, 115, 116, - 117, 98, 118, 4, 119, 4, 4, 120, 121, 122, 123, 124, 125, 4, 93, 126, 127, 128, - 129}, - {0x00003fffffffffff, 0x000007ff0fffffff, 0xffdfffff00000000, 0xfffffffbfff800ff, + 4, 109, 110, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 4, 4, 4, 4, 4, 100, 4, 111, 112, + 113, 94, 114, 4, 115, 4, 4, 116, 117, 118, 119, 120, 121, 4, 122, 123, 124, 125, + 126}, + {0x00003fffffffffff, 0xffff07ff0fffffff, 0xffffffffff007eff, 0xfffffffbffffffff, 0xffffffffffffffff, 0xfffeffcfffffffff, 0xf3c5fdfffff99fef, 0x5003ffcfb080799f, 0xd36dfdfffff987ee, 0x003fffc05e023987, 0xf3edfdfffffbbfee, 0xfe00ffcf00013bbf, 0xf3edfdfffff99fee, 0x0002ffcfb0e0399f, 0xc3ffc718d63dc7ec, 0x0000ffc000813dc7, - 0xe3fffdfffffddfff, 0x0000ffcf07603ddf, 0xf3effdfffffddfef, 0x0006ffcf40603ddf, + 0xf3fffdfffffddfff, 0x0000ffcf27603ddf, 0xf3effdfffffddfef, 0x0006ffcf60603ddf, 0xfffffffffffddfff, 0xfc00ffcf80f07ddf, 0x2ffbfffffc7fffee, 0x000cffc0ff5f847f, 0x07fffffffffffffe, 0x0000000003ff7fff, 0x3fffffaffffff7d6, 0x00000000f3ff3f5f, 0xc2a003ff03000001, 0xfffe1ffffffffeff, 0x1ffffffffeffffdf, 0x0000000000000040, 0xffffffffffff03ff, 0xffffffff3fffffff, 0xf7ffffffffff20bf, 0xffffffff3d7f3dff, 0x7f3dffffffff3dff, 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x0003fe00e7ffffff, 0xffffffff0000ffff, 0x3f3fffffffffffff, 0xfffffffffffffffe, 0xffff9fffffffffff, - 0xffffffff07fffffe, 0x01ffc7ffffffffff, 0x001fffff001fdfff, 0x000ddfff000fffff, - 0x000003ff308fffff, 0xffffffff03ff3800, 0x01ffffffffffffff, 0xffff07ffffffffff, + 0xffffffff07fffffe, 0x01ffc7ffffffffff, 0x001fffff803fffff, 0x000ddfff000fffff, + 0x000003ff308fffff, 0xffffffff03ffb800, 0x01ffffffffffffff, 0xffff07ffffffffff, 0x003fffffffffffff, 0x0fff0fff7fffffff, 0x001f3fffffffffc0, 0xffff0fffffffffff, 0x0000000007ff03ff, 0xffffffff0fffffff, 0x9fffffff7fffffff, 0xbfff008003ff03ff, - 0x0000000000000001, 0x000ff80003ff0fff, 0x000fffffffffffff, 0x00ffffffffffffff, - 0x3fffffffffffe3ff, 0xe7ffffffffff01ff, 0x07fffffffff70000, 0xfbffffffffffffff, - 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, 0x5fdfffffffffffff, 0x1fdc1fff0fcf1fdc, - 0x8000000000000000, 0x8002000000100001, 0x000000001fff0000, 0x0001ffe21fff0000, - 0xf3fffd503f2ffc84, 0xffffffff000043e0, 0x00000000000001ff, 0x0000000000000000, - 0xffff7fffffffffff, 0xffffffff7fffffff, 0x000ff81fffffffff, 0xffff20bfffffffff, - 0x800080ffffffffff, 0x7f7f7f7f007fffff, 0xffffffff7f7f7f7f, 0x1f3efffe000000e0, - 0xfffffffee67fffff, 0xf7ffffffffffffff, 0xfffeffffffffffe0, 0xffffffff00007fff, - 0xffff000000000000, 0x1fffffffffffffff, 0x0000000000001fff, 0x3fffffffffff0000, + 0x0000000000007fff, 0x000ff80003ff1fff, 0x000fffffffffffff, 0x00ffffffffffffff, + 0x3fffffffffffe3ff, 0xe7ffffffffff01ff, 0x07fffffffff70000, 0xffffffff3f3fffff, + 0x3fffffffaaff3f3f, 0x5fdfffffffffffff, 0x1fdc1fff0fcf1fdc, 0x8000000000000000, + 0x8002000000100001, 0x000000001fff0000, 0x0001ffe21fff0000, 0xf3fffd503f2ffc84, + 0xffffffff000043e0, 0x00000000000001ff, 0x0000000000000000, 0x000ff81fffffffff, + 0xffff20bfffffffff, 0x800080ffffffffff, 0x7f7f7f7f007fffff, 0xffffffff7f7f7f7f, + 0x1f3efffe000000e0, 0xfffffffee67fffff, 0xf7ffffffffffffff, 0xfffeffffffffffe0, + 0xffffffff00007fff, 0xffff000000000000, 0x0000000000001fff, 0x3fffffffffff0000, 0x00000fffffff1fff, 0xbff0ffffffffffff, 0x0003ffffffffffff, 0xfffffffcff800000, - 0xfffffffffffff9ff, 0xffe00000000007fc, 0x000010ffffffffff, 0xe8ffffff03ff003f, + 0xfffffffffffff9ff, 0xfffc000003eb07ff, 0x000010ffffffffff, 0xe8ffffff03ff003f, 0xffff3fffffffffff, 0x1fffffff000fffff, 0x7fffffff03ff8001, 0x007fffffffffffff, 0xfc7fffff03ff3fff, 0x007cffff38000007, 0xffff7f7f007e7e7e, 0xffff03fff7ffffff, 0x03ff37ffffffffff, 0xffff000fffffffff, 0x0ffffffffffff87f, 0x0000000003ffffff, 0x5f7ffdffe0f8007f, 0xffffffffffffffdb, 0xfffffffffff80000, 0xfffffff03fffffff, 0x3fffffffffffffff, 0xffffffffffff0000, 0xfffffffffffcffff, 0x03ff0000000000ff, - 0x0018ffff0000ffff, 0xaa8a00000000e000, 0x87fffffe03ff0000, 0xffffffc007fffffe, - 0x7fffffffffffffff, 0x000000001cfcfcfc}, - {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 10, 11, 12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 13, - 14, 15, 7, 16, 17, 7, 18, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 19, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, - {1, 2, 3, 4, 5, 4, 6, 4, 4, 7, 8, 9, 10, 11, 12, 2, 2, 13, 14, - 15, 16, 4, 4, 2, 2, 2, 2, 17, 18, 4, 4, 19, 20, 21, 22, 23, 4, 24, - 4, 25, 26, 27, 28, 29, 30, 31, 4, 2, 32, 33, 33, 34, 4, 4, 4, 4, 4, - 35, 4, 36, 37, 38, 39, 2, 40, 3, 41, 42, 43, 2, 44, 45, 4, 46, 47, 48, - 49, 4, 4, 2, 50, 2, 51, 4, 4, 52, 53, 2, 54, 55, 56, 57, 4, 4, 4, - 3, 4, 58, 59, 60, 61, 62, 63, 64, 65, 66, 55, 4, 4, 4, 4, 67, 68, 69, - 4, 70, 71, 72, 4, 4, 4, 4, 73, 4, 4, 74, 4, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 75, 4, 2, 76, 2, 2, 2, 77, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 76, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 78, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, - 2, 2, 2, 2, 2, 55, 79, 4, 80, 17, 81, 82, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 2, 4, 4, 2, 83, 84, 85, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 86, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 87, 32, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 2, 2, 2, 2, 21, 88, 2, 2, 2, 2, 2, 89, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 90, 91, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 92, 93, - 4, 4, 94, 4, 4, 4, 4, 4, 4, 2, 95, 96, 97, 98, 99, 2, 2, 2, 2, - 100, 101, 102, 103, 104, 105, 4, 4, 4, 4, 4, 4, 4, 4, 106, 107, 108, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 109, 4, 4, 4, 110, 111, 4, 4, 4, 4, 4, 112, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 113, 2, 114, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 115, - 116, 117, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 118, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 119, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 2, 11, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 120, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 121, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, - 2, 2, 2, 2, 2, 2, 119, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 122, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 2, 2, 2, 123, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4}, + 0x0018ffff0000ffff, 0xaa8a00000000e000, 0x1fffffffffffffff, 0x87fffffe03ff0000, + 0xffffffc007fffffe, 0x7fffffffffffffff, 0x000000001cfcfcfc}, + {1, 2, 3, 4, 5, 6, 7, 8, 5, 9, 10, 11, 12, 13, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 15, + 16, 17, 7, 18, 19, 7, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 21, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, + {1, 2, 3, 4, 5, 4, 6, 4, 4, 7, 8, 9, 10, 11, 12, 2, 2, 13, 14, + 15, 16, 17, 4, 2, 2, 2, 2, 18, 19, 20, 4, 21, 22, 23, 24, 25, 4, 26, + 4, 27, 28, 29, 30, 31, 32, 33, 4, 2, 34, 35, 35, 36, 4, 4, 4, 4, 4, + 37, 4, 38, 39, 40, 41, 2, 42, 3, 43, 44, 45, 2, 46, 47, 4, 48, 49, 50, + 51, 4, 4, 2, 52, 2, 53, 4, 4, 54, 55, 2, 56, 57, 58, 59, 60, 4, 4, + 3, 4, 61, 62, 63, 64, 65, 66, 67, 68, 69, 57, 4, 4, 4, 4, 70, 71, 72, + 4, 73, 74, 75, 4, 4, 4, 4, 76, 4, 4, 77, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 78, 4, 2, 79, 2, 2, 2, 80, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 81, + 82, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 60, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, + 2, 2, 2, 2, 2, 57, 83, 67, 84, 18, 85, 86, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 4, 4, 2, 87, 88, 89, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 90, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 91, 34, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 92, 2, 2, 2, 2, 93, 94, 2, + 2, 2, 2, 2, 95, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 96, 97, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 98, 60, 4, 4, 4, 4, 4, 4, 4, 99, 100, 4, 4, 101, 4, 4, + 4, 4, 4, 4, 2, 102, 103, 104, 105, 106, 2, 2, 2, 2, 107, 108, 109, 110, 111, + 112, 4, 4, 4, 4, 4, 4, 4, 4, 113, 114, 115, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 23, 4, 4, 4, 116, 4, 4, 4, 117, + 118, 4, 4, 4, 4, 119, 120, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 121, 2, 2, 2, 122, 2, 123, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 124, 125, 126, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 127, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 128, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 57, 2, 2, 2, 11, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 129, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 130, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, + 2, 131, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 132, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, + 2, 133, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4}, {0xb7ffff7fffffefff, 0x000000003fff3fff, 0xffffffffffffffff, 0x07ffffffffffffff, 0x0000000000000000, 0x001fffffffffffff, 0x2000000000000000, 0xffffffff1fffffff, 0x000000010001ffff, 0xffffe000ffffffff, 0x07ffffffffff07ff, 0xffffffff3fffffff, 0x00000000003eff0f, 0xffff03ff3fffffff, 0x0fffffffff0fffff, 0xffff00ffffffffff, - 0x0000000fffffffff, 0x007fffffffffffff, 0x000000ff003fffff, 0x91bffffffffffd3f, - 0x007fffff003fffff, 0x000000007fffffff, 0x0037ffff00000000, 0x03ffffff003fffff, - 0xc0ffffffffffffff, 0x873ffffffeeff06f, 0x1fffffff00000000, 0x000000001fffffff, - 0x0000007ffffffeff, 0x003fffffffffffff, 0x0007ffff003fffff, 0x000000000003ffff, - 0x00000000000001ff, 0x0007ffffffffffff, 0x03ff00ffffffffff, 0x00031bffffffffff, - 0xffff00801fffffff, 0x000000000001ffff, 0xffff000000000000, 0x007fffff0000001f, - 0x8000ffc00000007f, 0x03ff01ffffff0000, 0xffdfffffffffffff, 0x004fffffffff00f0, - 0x0000000017ffde1f, 0x40fffffffffbffff, 0xffff01ffbfffbd7f, 0x03ff07ffffffffff, - 0xfbedfdfffff99fef, 0x001f1fcfe081399f, 0x00000003c3ff07ff, 0x0000000003ff00bf, - 0xff3fffffffffffff, 0x000000003f000001, 0x0000000003ff0011, 0x01ffffffffffffff, - 0x00000000000003ff, 0x03ff0fffe7ffffff, 0xffffffff00000000, 0x800003ffffffffff, - 0xf9bfffffff6ff27f, 0x0000000003ff000f, 0xfffffcff00000000, 0x0000001bfcffffff, - 0x7fffffffffffffff, 0xffffffffffff0080, 0x0000000023ffffff, 0xff7ffffffffffdff, - 0xfffc000003ff0001, 0x007ffefffffcffff, 0xb47ffffffffffb7f, 0xfffffdbf03ff00ff, - 0x000003ff01fb7fff, 0x007fffff00000000, 0x0001000000000000, 0x0000000003ffffff, - 0x00007fffffffffff, 0x000000000000000f, 0x000000000000007f, 0x000003ff7fffffff, - 0x001f3fffffff0000, 0xe0fffff803ff000f, 0x000000000000ffff, 0xffffffffffff87ff, + 0xf7ff000fffffffff, 0x1bfbfffbffb7f7ff, 0x007fffffffffffff, 0x000000ff003fffff, + 0x07fdffffffffffbf, 0x91bffffffffffd3f, 0x007fffff003fffff, 0x000000007fffffff, + 0x0037ffff00000000, 0x03ffffff003fffff, 0xc0ffffffffffffff, 0x873ffffffeeff06f, + 0x1fffffff00000000, 0x000000001fffffff, 0x0000007ffffffeff, 0x003fffffffffffff, + 0x0007ffff003fffff, 0x000000000003ffff, 0x00000000000001ff, 0x0007ffffffffffff, + 0x03ff00ffffffffff, 0x00031bffffffffff, 0xffff00801fffffff, 0xffff00000001ffff, + 0xffff00000000003f, 0x007fffff0000001f, 0x803fffc00000007f, 0x03ff01ffffff0004, + 0xffdfffffffffffff, 0x004fffffffff00f0, 0x0000000017ffde1f, 0x40fffffffffbffff, + 0xffff01ffbfffbd7f, 0x03ff07ffffffffff, 0xfbedfdfffff99fef, 0x001f1fcfe081399f, + 0x00000003c3ff07ff, 0x0000000003ff00bf, 0xff3fffffffffffff, 0x000000003f000001, + 0x0000000003ff0011, 0x01ffffffffffffff, 0x00000000000003ff, 0x03ff0fffe7ffffff, + 0x000000000000007f, 0xffffffff00000000, 0x800003ffffffffff, 0xf9bfffffff6ff27f, + 0x0000000003ff000f, 0xfffffcff00000000, 0x0000001bfcffffff, 0x7fffffffffffffff, + 0xffffffffffff0080, 0xffff000023ffffff, 0xff7ffffffffffdff, 0xfffc000003ff0001, + 0x007ffefffffcffff, 0xb47ffffffffffb7f, 0xfffffdbf03ff00ff, 0x000003ff01fb7fff, + 0x007fffff00000000, 0x0001000000000000, 0x0000000003ffffff, 0x00007fffffffffff, + 0x000000000000000f, 0xffffffffffff0000, 0x0001ffffffffffff, 0xffff03ff7fffffff, + 0x001f3fffffff03ff, 0xe0fffff803ff000f, 0x000000000000ffff, 0xffffffffffff87ff, 0x00000000ffff80ff, 0x0003001b00000000, 0x00ffffffffffffff, 0x00000000003fffff, - 0xffff00f000070000, 0x0fffffffffffffff, 0x1fff07ffffffffff, 0x0000000063ff01ff, - 0xf807e3e000000000, 0x00003c0000000fe7, 0x000000000000001c, 0xffffffffffdfffff, - 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, - 0xffffff3fffffffff, 0xf7fffffff7fffffd, 0xffdfffffffdfffff, 0xffff7fffffff7fff, - 0xfffffdfffffffdff, 0xffffffffffffcff7, 0xf87fffffffffffff, 0x00201fffffffffff, - 0x0000fffef8000010, 0x000007dbf9ffff7f, 0x3fff1fffffffffff, 0x00000000000043ff, - 0x03ffffffffffffff, 0x00000000007f001f, 0x0000000003ff0fff, 0x0af7fe96ffffffef, - 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0x03ff000000000000, 0x000000003fffffff, - 0xffff0003ffffffff, 0x00000001ffffffff, 0x00000000000007ff, 0x0000ffffffffffff}}; - static constexpr bool_trie<32, 991, 1, 0, 134, 255, 1, 0, 1151, 1, 0, 112> prop_xids_data{ + 0x6fef000000000000, 0x00000007ffffffff, 0xffff00f000070000, 0x0fffffffffffffff, + 0x1fff07ffffffffff, 0x0000000063ff01ff, 0xffff3fffffffffff, 0xf807e3e000000000, + 0x00003c0000000fe7, 0x000000000000001c, 0xffffffffffdfffff, 0xebffde64dfffffff, + 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, 0xffffff3fffffffff, + 0xf7fffffff7fffffd, 0xffdfffffffdfffff, 0xffff7fffffff7fff, 0xfffffdfffffffdff, + 0xffffffffffffcff7, 0xf87fffffffffffff, 0x00201fffffffffff, 0x0000fffef8000010, + 0x000007dbf9ffff7f, 0x3fff1fffffffffff, 0x00000000000043ff, 0x00007fffffff0000, + 0x03ffffffffffffff, 0x7fff6f7f00000000, 0x00000000007f001f, 0x0000000003ff0fff, + 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0x03ff000000000000, + 0x00000000ffffffff, 0xffff0003ffffffff, 0x00000001ffffffff, 0x000000003fffffff, + 0x00000000000007ff, 0x0000ffffffffffff}}; + static constexpr bool_trie<32, 991, 1, 0, 131, 255, 1, 0, 1215, 1, 0, 124> prop_xids_data{ {0x0000000000000000, 0x07fffffe07fffffe, 0x0420040000000000, 0xff7fffffff7fffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x0000501f0003ffc3, @@ -6742,192 +6913,200 @@ namespace detail::tables { 0xfffeffffffffffff, 0xffffffff027fffff, 0x00000000000001ff, 0x000787ffffff0000, 0xffffffff00000000, 0xfffec000000007ff, 0xffffffffffffffff, 0x9c00c060002fffff, 0x0000fffffffd0000, 0xffffffffffffe000, 0x0002003fffffffff, 0x043007fffffffc00}, - {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 35, 35, 35, 35, 36, 37, 38, 39, 40, 41, 42, 43, 35, 35, 35, 35, 35, 35, - 35, 35, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 30, 62, 63, 64, 65, 66, 67, 68, 69, 35, 35, 35, 30, 35, 35, 35, - 35, 70, 71, 72, 73, 30, 74, 75, 30, 76, 77, 78, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 79, - 80, 35, 81, 82, 83, 84, 85, 30, 30, 30, 30, 30, 30, 30, 30, 86, 43, 87, - 88, 89, 35, 90, 91, 30, 30, 30, 30, 30, 30, 30, 30, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 30, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 92, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 93, 94, 35, 35, 35, - 35, 95, 96, 97, 98, 99, 35, 100, 101, 102, 49, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 35, 115, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 116, 117, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 35, 35, 35, 35, 35, 118, 35, 119, 120, - 121, 122, 123, 35, 124, 35, 35, 125, 126, 127, 128, 30, 129, 35, 92, 130, 131, 132, - 133}, - {0x00000110043fffff, 0x000007ff01ffffff, 0xffdfffff00000000, 0x00000000000000ff, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 35, 35, 35, 35, 36, 37, 38, 39, 40, 41, 42, 43, 35, 35, 35, 35, 35, 35, + 35, 35, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 3, 58, + 59, 60, 30, 61, 62, 63, 64, 65, 66, 67, 68, 35, 35, 35, 30, 35, 35, 35, + 35, 69, 70, 71, 72, 30, 73, 74, 30, 75, 76, 77, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 35, + 35, 35, 78, 79, 80, 81, 82, 30, 30, 30, 30, 30, 30, 30, 30, 83, 43, 84, + 85, 86, 35, 87, 88, 30, 30, 30, 30, 30, 30, 30, 30, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 30, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 89, 90, 35, 35, 35, + 35, 91, 92, 93, 94, 95, 35, 96, 97, 98, 49, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 35, 111, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 112, 113, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 35, 35, 35, 35, 35, 114, 35, 115, 116, + 117, 118, 119, 35, 120, 35, 35, 121, 122, 123, 124, 30, 125, 35, 126, 127, 128, 129, + 130}, + {0x00000110043fffff, 0xffff07ff01ffffff, 0xffffffff00007eff, 0x00000000000003ff, 0x23fffffffffffff0, 0xfffe0003ff010000, 0x23c5fdfffff99fe1, 0x10030003b0004000, 0x036dfdfffff987e0, 0x001c00005e000000, 0x23edfdfffffbbfe0, 0x0200000300010000, 0x23edfdfffff99fe0, 0x00020003b0000000, 0x03ffc718d63dc7e8, 0x0000000000010000, - 0x23fffdfffffddfe0, 0x0000000307000000, 0x23effdfffffddfe1, 0x0006000340000000, + 0x23fffdfffffddfe0, 0x0000000327000000, 0x23effdfffffddfe1, 0x0006000360000000, 0x27fffffffffddff0, 0xfc00000380704000, 0x2ffbfffffc7fffe0, 0x000000000000007f, 0x0005fffffffffffe, 0x2005ffaffffff7d6, 0x00000000f000005f, 0x0000000000000001, 0x00001ffffffffeff, 0x0000000000001f00, 0x0000000000000000, 0x800007ffffffffff, 0xffe1c0623c3f0000, 0xffffffff00004003, 0xf7ffffffffff20bf, 0xffffffffffffffff, 0xffffffff3d7f3dff, 0x7f3dffffffff3dff, 0xffffffffff7fff3d, 0xffffffffff3dffff, 0x0000000007ffffff, 0xffffffff0000ffff, 0x3f3fffffffffffff, 0xfffffffffffffffe, - 0xffff9fffffffffff, 0xffffffff07fffffe, 0x01ffc7ffffffffff, 0x0003ffff0003dfff, + 0xffff9fffffffffff, 0xffffffff07fffffe, 0x01ffc7ffffffffff, 0x0003ffff8003ffff, 0x0001dfff0003ffff, 0x000fffffffffffff, 0x0000000010800000, 0xffffffff00000000, 0x01ffffffffffffff, 0xffff05ffffffffff, 0x003fffffffffffff, 0x000000007fffffff, - 0x001f3fffffff0000, 0xffff0fffffffffff, 0x00000000000003ff, 0xffffffff007fffff, - 0x00000000001fffff, 0x0000008000000000, 0x000fffffffffffe0, 0x0000000000000fe0, - 0xfc00c001fffffff8, 0x0000003fffffffff, 0x0000000fffffffff, 0x3ffffffffc00e000, - 0xe7ffffffffff01ff, 0x046fde0000000000, 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, - 0x5fdfffffffffffff, 0x1fdc1fff0fcf1fdc, 0x8002000000000000, 0x000000001fff0000, - 0xf3fffd503f2ffc84, 0xffffffff000043e0, 0x00000000000001ff, 0xffff7fffffffffff, - 0xffffffff7fffffff, 0x000c781fffffffff, 0xffff20bfffffffff, 0x000080ffffffffff, - 0x7f7f7f7f007fffff, 0x000000007f7f7f7f, 0x1f3e03fe000000e0, 0xfffffffee07fffff, - 0xf7ffffffffffffff, 0xfffeffffffffffe0, 0xffffffff00007fff, 0xffff000000000000, - 0x1fffffffffffffff, 0x0000000000001fff, 0x3fffffffffff0000, 0x00000c00ffff1fff, + 0x001f3fffffff0000, 0xffff0fffffffffff, 0xffffffff007fffff, 0x00000000001fffff, + 0x0000008000000000, 0x000fffffffffffe0, 0x0000000000001fe0, 0xfc00c001fffffff8, + 0x0000003fffffffff, 0x0000000fffffffff, 0x3ffffffffc00e000, 0xe7ffffffffff01ff, + 0x046fde0000000000, 0xffffffff3f3fffff, 0x3fffffffaaff3f3f, 0x5fdfffffffffffff, + 0x1fdc1fff0fcf1fdc, 0x8002000000000000, 0x000000001fff0000, 0xf3fffd503f2ffc84, + 0xffffffff000043e0, 0x00000000000001ff, 0x000c781fffffffff, 0xffff20bfffffffff, + 0x000080ffffffffff, 0x7f7f7f7f007fffff, 0x000000007f7f7f7f, 0x1f3e03fe000000e0, + 0xfffffffee07fffff, 0xf7ffffffffffffff, 0xfffeffffffffffe0, 0xffffffff00007fff, + 0xffff000000000000, 0x0000000000001fff, 0x3fffffffffff0000, 0x00000c00ffff1fff, 0x80007fffffffffff, 0xffffffff3fffffff, 0x0000ffffffffffff, 0xfffffffcff800000, - 0xfffffffffffff9ff, 0xffe00000000007fc, 0x00000007fffff7bb, 0x000ffffffffffffc, + 0xfffffffffffff9ff, 0xfffc000003eb07ff, 0x00000007fffff7bb, 0x000ffffffffffffc, 0x68fc000000000000, 0xffff003ffffffc00, 0x1fffffff0000007f, 0x0007fffffffffff0, 0x7c00ffdf00008000, 0x000001ffffffffff, 0xc47fffff00000ff7, 0x3e62ffffffffffff, 0x001c07ff38000005, 0xffff7f7f007e7e7e, 0xffff03fff7ffffff, 0x00000007ffffffff, 0xffff000fffffffff, 0x0ffffffffffff87f, 0xffff3fffffffffff, 0x0000000003ffffff, 0x5f7ffdffa0f8007f, 0xffffffffffffffdb, 0x0003ffffffffffff, 0xfffffffffff80000, 0xfffffff03fffffff, 0x3fffffffffffffff, 0xffffffffffff0000, 0xfffffffffffcffff, - 0x03ff0000000000ff, 0xaa8a000000000000, 0x07fffffe00000000, 0xffffffc007fffffe, - 0x7fffffff3fffffff, 0x000000001cfcfcfc}, - {1, 2, 3, 4, 5, 6, 7, 8, 5, 5, 9, 5, 10, 11, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, - 13, 14, 7, 15, 16, 7, 17, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, - {1, 2, 3, 4, 5, 4, 4, 4, 4, 6, 7, 8, 9, 10, 11, 2, 2, 12, 13, 14, - 15, 4, 4, 2, 2, 2, 2, 16, 17, 4, 4, 18, 19, 20, 21, 22, 4, 23, 4, 24, - 25, 26, 27, 28, 29, 30, 4, 2, 31, 32, 32, 15, 4, 4, 4, 4, 4, 33, 4, 34, - 35, 36, 37, 38, 4, 39, 40, 41, 42, 43, 44, 45, 4, 46, 20, 47, 48, 4, 4, 5, - 49, 50, 51, 4, 4, 52, 53, 50, 54, 55, 4, 56, 4, 4, 4, 57, 4, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 4, 4, 4, 4, 68, 69, 70, 4, 71, 72, 73, 4, 4, - 4, 4, 74, 4, 4, 75, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 76, 4, 2, 52, 2, 2, 2, 77, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 52, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 78, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 67, 20, 4, 79, 50, 80, 70, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 4, 4, 2, 81, 82, 83, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 84, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 85, 31, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 20, - 86, 2, 2, 2, 2, 2, 87, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 2, 88, 89, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 90, 91, 92, 93, - 94, 2, 2, 2, 2, 95, 96, 97, 98, 99, 100, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 101, 102, 4, 4, 4, 4, 4, 57, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 103, 2, - 104, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 105, - 106, 107, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 108, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, - 2, 2, 2, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 109, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 110, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 108, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 111, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, + 0x03ff0000000000ff, 0xaa8a000000000000, 0x1fffffffffffffff, 0x07fffffe00000000, + 0xffffffc007fffffe, 0x7fffffff3fffffff, 0x000000001cfcfcfc}, + {1, 2, 3, 4, 5, 6, 7, 8, 5, 9, 10, 5, 11, 12, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 13, + 14, 15, 7, 16, 17, 7, 18, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, + {1, 2, 3, 4, 5, 4, 4, 4, 4, 6, 7, 8, 9, 10, 11, 2, 2, 12, 13, + 14, 15, 16, 4, 2, 2, 2, 2, 17, 18, 19, 4, 20, 21, 22, 23, 24, 4, 25, + 4, 26, 27, 28, 29, 30, 31, 32, 4, 2, 33, 34, 34, 35, 4, 4, 4, 4, 4, + 36, 4, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4, 50, 22, 51, + 52, 4, 4, 5, 53, 54, 55, 4, 4, 56, 57, 54, 58, 59, 4, 60, 61, 4, 4, + 62, 4, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 4, 4, 4, 4, 73, 74, 75, + 4, 76, 77, 78, 4, 4, 4, 4, 79, 4, 4, 80, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 81, 4, 2, 56, 2, 2, 2, 82, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 83, + 84, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 56, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 61, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, + 2, 2, 2, 2, 2, 72, 85, 86, 87, 54, 88, 75, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 4, 4, 2, 89, 90, 91, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 92, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 93, 33, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 94, 2, 2, 2, 2, 95, 96, 2, + 2, 2, 2, 2, 97, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 2, 98, 99, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 100, 101, + 102, 103, 104, 2, 2, 2, 2, 105, 106, 107, 108, 109, 110, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 22, 4, 4, 4, 4, 4, 4, 4, 111, 112, 4, 4, 4, 4, 87, 62, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 113, 2, 2, 2, 114, 2, 115, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 116, 117, 118, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 119, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 72, 2, 2, 2, 10, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 120, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 121, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, + 2, 2, 2, 2, 2, 2, 122, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 123, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, {0xb7ffff7fffffefff, 0x000000003fff3fff, 0xffffffffffffffff, 0x07ffffffffffffff, 0x0000000000000000, 0x001fffffffffffff, 0xffffffff1fffffff, 0x000000000001ffff, 0xffffe000ffffffff, 0x003fffffffff07ff, 0xffffffff3fffffff, 0x00000000003eff0f, - 0xffff00003fffffff, 0x0fffffffff0fffff, 0xffff00ffffffffff, 0x0000000fffffffff, - 0x007fffffffffffff, 0x000000ff003fffff, 0x91bffffffffffd3f, 0x007fffff003fffff, - 0x000000007fffffff, 0x0037ffff00000000, 0x03ffffff003fffff, 0xc0ffffffffffffff, - 0x003ffffffeef0001, 0x1fffffff00000000, 0x000000001fffffff, 0x0000001ffffffeff, - 0x003fffffffffffff, 0x0007ffff003fffff, 0x000000000003ffff, 0x00000000000001ff, - 0x0007ffffffffffff, 0x000303ffffffffff, 0xffff00801fffffff, 0x000000000000003f, - 0xffff000000000000, 0x007fffff0000001f, 0x00fffffffffffff8, 0x0000fffffffffff8, + 0xffff00003fffffff, 0x0fffffffff0fffff, 0xffff00ffffffffff, 0xf7ff000fffffffff, + 0x1bfbfffbffb7f7ff, 0x007fffffffffffff, 0x000000ff003fffff, 0x07fdffffffffffbf, + 0x91bffffffffffd3f, 0x007fffff003fffff, 0x000000007fffffff, 0x0037ffff00000000, + 0x03ffffff003fffff, 0xc0ffffffffffffff, 0x003ffffffeef0001, 0x1fffffff00000000, + 0x000000001fffffff, 0x0000001ffffffeff, 0x003fffffffffffff, 0x0007ffff003fffff, + 0x000000000003ffff, 0x00000000000001ff, 0x0007ffffffffffff, 0x0000000fffffffff, + 0x000303ffffffffff, 0xffff00801fffffff, 0xffff00000000003f, 0xffff000000000003, + 0x007fffff0000001f, 0x00fffffffffffff8, 0x0026000000000000, 0x0000fffffffffff8, 0x000001ffffff0000, 0x0000007ffffffff8, 0x0047ffffffff0090, 0x0007fffffffffff8, 0x000000001400001e, 0x00000ffffffbffff, 0xffff01ffbfffbd7f, 0x23edfdfffff99fe0, 0x00000003e0010000, 0x0000000380000780, 0x0000ffffffffffff, 0x00000000000000b0, 0x00007fffffffffff, 0x000000000f000000, 0x0000000000000010, 0x010007ffffffffff, - 0x0000000007ffffff, 0x00000fffffffffff, 0xffffffff00000000, 0x80000000ffffffff, - 0x8000ffffff6ff27f, 0x0000000000000002, 0xfffffcff00000000, 0x0000000a0001ffff, - 0x0407fffffffff801, 0xfffffffff0010000, 0x00000000200003ff, 0x01ffffffffffffff, - 0x00007ffffffffdff, 0xfffc000000000001, 0x000000000000ffff, 0x0001fffffffffb7f, - 0xfffffdbf00000040, 0x00000000010003ff, 0x0007ffff00000000, 0x0001000000000000, - 0x0000000003ffffff, 0x000000000000000f, 0x000000000000007f, 0x00003fffffff0000, + 0x0000000007ffffff, 0x000000000000007f, 0x00000fffffffffff, 0xffffffff00000000, + 0x80000000ffffffff, 0x8000ffffff6ff27f, 0x0000000000000002, 0xfffffcff00000000, + 0x0000000a0001ffff, 0x0407fffffffff801, 0xfffffffff0010000, 0xffff0000200003ff, + 0x01ffffffffffffff, 0x00007ffffffffdff, 0xfffc000000000001, 0x000000000000ffff, + 0x0001fffffffffb7f, 0xfffffdbf00000040, 0x00000000010003ff, 0x0007ffff00000000, + 0x0001000000000000, 0x0000000003ffffff, 0x000000000000000f, 0xffffffffffff0000, + 0x0001ffffffffffff, 0xffff00007fffffff, 0x7fffffffffffffff, 0x00003fffffff0000, 0xe0fffff80000000f, 0x00000000000107ff, 0x00000000fff80000, 0x0000000b00000000, - 0x00ffffffffffffff, 0x00000000003fffff, 0xffff00f000070000, 0x0fffffffffffffff, - 0x1fff07ffffffffff, 0x0000000003ff01ff, 0xffffffffffdfffff, 0xebffde64dfffffff, - 0xffffffffffffffef, 0x7bffffffdfdfe7bf, 0xfffffffffffdfc5f, 0xffffff3fffffffff, - 0xf7fffffff7fffffd, 0xffdfffffffdfffff, 0xffff7fffffff7fff, 0xfffffdfffffffdff, - 0x0000000000000ff7, 0x3f801fffffffffff, 0x0000000000004000, 0x000000000000001f, - 0x000000000000080f, 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, - 0x000000003fffffff, 0xffff0003ffffffff, 0x00000001ffffffff, 0x00000000000007ff}}; + 0x00ffffffffffffff, 0x00000000003fffff, 0x6fef000000000000, 0x00000007ffffffff, + 0xffff00f000070000, 0x0fffffffffffffff, 0x1fff07ffffffffff, 0x0000000003ff01ff, + 0xffffffffffdfffff, 0xebffde64dfffffff, 0xffffffffffffffef, 0x7bffffffdfdfe7bf, + 0xfffffffffffdfc5f, 0xffffff3fffffffff, 0xf7fffffff7fffffd, 0xffdfffffffdfffff, + 0xffff7fffffff7fff, 0xfffffdfffffffdff, 0x0000000000000ff7, 0x3f801fffffffffff, + 0x0000000000004000, 0x7fff6f7f00000000, 0x000000000000001f, 0x000000000000080f, + 0x0af7fe96ffffffef, 0x5ef7f796aa96ea84, 0x0ffffbee0ffffbff, 0x00000000ffffffff, + 0xffff0003ffffffff, 0x00000001ffffffff, 0x000000003fffffff, 0x00000000000007ff}}; } // namespace detail::tables template<> constexpr bool cp_is(char32_t c) { @@ -7139,9 +7318,9 @@ constexpr script cp_script(char32_t cp) { return detail::tables::cp_script<0>(cp); } -constexpr script_extensions_view::script_extensions_view(char32_t local_c) : c(local_c){} +constexpr script_extensions_view::script_extensions_view(char32_t c_) : c(c_){} -constexpr script_extensions_view::iterator::iterator(char32_t c) : m_c(c), m_script(detail::tables::get_cp_script(m_c, 1)) { +constexpr script_extensions_view::iterator::iterator(char32_t c_) : m_c(c_), m_script(detail::tables::get_cp_script(m_c, 1)) { if(m_script == script::unknown) m_script = detail::tables::cp_script<0>(m_c); } @@ -7196,9 +7375,9 @@ constexpr version cp_age(char32_t cp) { constexpr block cp_block(char32_t cp) { const auto end = std::end(detail::tables::block_data._data); - auto it = detail::upper_bound(std::begin(detail::tables::block_data._data), end, cp, [](char32_t local_cp, uint32_t v) { + auto it = detail::upper_bound(std::begin(detail::tables::block_data._data), end, cp, [](char32_t cp_, uint32_t v) { char32_t c = (v >> 8); - return local_cp < c; + return cp_ < c; }); if(it == end) return block::no_block; @@ -7313,7 +7492,7 @@ namespace detail { template constexpr bool get_numeric_value(char32_t cp, const Array& array, Res& res) { auto it = detail::lower_bound(std::begin(array), std::end(array), cp, - [](const auto& d, char32_t local_cp) { return d.first < local_cp; }); + [](const auto& d, char32_t cp_) { return d.first < cp_; }); if(it == std::end(array) || it->first != cp) return false; res = it->second; @@ -7466,6 +7645,7 @@ enum class binary_prop { cher, chrs, copt, + cpmn, cprt, cyrl, deva, @@ -7545,6 +7725,7 @@ enum class binary_prop { orya, osge, osma, + ougr, palm, pauc, perm, @@ -7587,8 +7768,11 @@ enum class binary_prop { thai, tibt, tirh, + tnsa, + toto, ugar, vaii, + vith, wara, wcho, xpeo, @@ -8142,6 +8326,11 @@ constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::copt; } +template<> +constexpr bool get_binary_prop(char32_t c) { + return cp_script(c) == script::cpmn; +} + template<> constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::cprt; @@ -8537,6 +8726,11 @@ constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::osma; } +template<> +constexpr bool get_binary_prop(char32_t c) { + return cp_script(c) == script::ougr; +} + template<> constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::palm; @@ -8747,6 +8941,16 @@ constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::tirh; } +template<> +constexpr bool get_binary_prop(char32_t c) { + return cp_script(c) == script::tnsa; +} + +template<> +constexpr bool get_binary_prop(char32_t c) { + return cp_script(c) == script::toto; +} + template<> constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::ugar; @@ -8757,6 +8961,11 @@ constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::vaii; } +template<> +constexpr bool get_binary_prop(char32_t c) { + return cp_script(c) == script::vith; +} + template<> constexpr bool get_binary_prop(char32_t c) { return cp_script(c) == script::wara; @@ -8815,7 +9024,7 @@ namespace tables { string_with_idx{"ahom", 88}, string_with_idx{"alpha", 1}, string_with_idx{"alphabetic", 1}, - string_with_idx{"anatolian_hieroglyphs", 137}, + string_with_idx{"anatolian_hieroglyphs", 138}, string_with_idx{"any", 45}, string_with_idx{"arab", 89}, string_with_idx{"arabic", 89}, @@ -8875,97 +9084,99 @@ namespace tables { string_with_idx{"close_punctuation", 72}, string_with_idx{"cn", 51}, string_with_idx{"co", 52}, - string_with_idx{"common", 242}, + string_with_idx{"common", 247}, string_with_idx{"connector_punctuation", 70}, string_with_idx{"control", 49}, string_with_idx{"copt", 110}, string_with_idx{"coptic", 110}, - string_with_idx{"cprt", 111}, + string_with_idx{"cpmn", 111}, + string_with_idx{"cprt", 112}, string_with_idx{"cs", 53}, - string_with_idx{"cuneiform", 237}, + string_with_idx{"cuneiform", 242}, string_with_idx{"currency_symbol", 78}, - string_with_idx{"cypriot", 111}, - string_with_idx{"cyrillic", 112}, - string_with_idx{"cyrl", 112}, + string_with_idx{"cypriot", 112}, + string_with_idx{"cypro_minoan", 111}, + string_with_idx{"cyrillic", 113}, + string_with_idx{"cyrl", 113}, string_with_idx{"dash", 6}, string_with_idx{"dash_punctuation", 71}, string_with_idx{"decimal_number", 66}, string_with_idx{"default_ignorable_code_point", 8}, string_with_idx{"dep", 7}, string_with_idx{"deprecated", 7}, - string_with_idx{"deseret", 116}, - string_with_idx{"deva", 113}, - string_with_idx{"devanagari", 113}, + string_with_idx{"deseret", 117}, + string_with_idx{"deva", 114}, + string_with_idx{"devanagari", 114}, string_with_idx{"di", 8}, string_with_idx{"dia", 9}, string_with_idx{"diacritic", 9}, - string_with_idx{"diak", 114}, - string_with_idx{"dives_akuru", 114}, - string_with_idx{"dogr", 115}, - string_with_idx{"dogra", 115}, - string_with_idx{"dsrt", 116}, - string_with_idx{"dupl", 117}, - string_with_idx{"duployan", 117}, - string_with_idx{"egyp", 118}, - string_with_idx{"egyptian_hieroglyphs", 118}, - string_with_idx{"elba", 119}, - string_with_idx{"elbasan", 119}, - string_with_idx{"elym", 120}, - string_with_idx{"elymaic", 120}, + string_with_idx{"diak", 115}, + string_with_idx{"dives_akuru", 115}, + string_with_idx{"dogr", 116}, + string_with_idx{"dogra", 116}, + string_with_idx{"dsrt", 117}, + string_with_idx{"dupl", 118}, + string_with_idx{"duployan", 118}, + string_with_idx{"egyp", 119}, + string_with_idx{"egyptian_hieroglyphs", 119}, + string_with_idx{"elba", 120}, + string_with_idx{"elbasan", 120}, + string_with_idx{"elym", 121}, + string_with_idx{"elymaic", 121}, string_with_idx{"emoji", 10}, string_with_idx{"emoji_component", 11}, string_with_idx{"emoji_modifier", 12}, string_with_idx{"emoji_modifier_base", 13}, string_with_idx{"emoji_presentation", 14}, string_with_idx{"enclosing_mark", 63}, - string_with_idx{"ethi", 121}, - string_with_idx{"ethiopic", 121}, + string_with_idx{"ethi", 122}, + string_with_idx{"ethiopic", 122}, string_with_idx{"ext", 15}, string_with_idx{"extended_pictographic", 16}, string_with_idx{"extender", 15}, string_with_idx{"final_punctuation", 73}, string_with_idx{"format", 50}, - string_with_idx{"geor", 122}, - string_with_idx{"georgian", 122}, - string_with_idx{"glag", 123}, - string_with_idx{"glagolitic", 123}, - string_with_idx{"gong", 124}, - string_with_idx{"gonm", 125}, - string_with_idx{"goth", 126}, - string_with_idx{"gothic", 126}, + string_with_idx{"geor", 123}, + string_with_idx{"georgian", 123}, + string_with_idx{"glag", 124}, + string_with_idx{"glagolitic", 124}, + string_with_idx{"gong", 125}, + string_with_idx{"gonm", 126}, + string_with_idx{"goth", 127}, + string_with_idx{"gothic", 127}, string_with_idx{"gr_base", 17}, string_with_idx{"gr_ext", 18}, - string_with_idx{"gran", 127}, - string_with_idx{"grantha", 127}, + string_with_idx{"gran", 128}, + string_with_idx{"grantha", 128}, string_with_idx{"grapheme_base", 17}, string_with_idx{"grapheme_extend", 18}, - string_with_idx{"greek", 128}, - string_with_idx{"grek", 128}, - string_with_idx{"gujarati", 129}, - string_with_idx{"gujr", 129}, - string_with_idx{"gunjala_gondi", 124}, - string_with_idx{"gurmukhi", 130}, - string_with_idx{"guru", 130}, - string_with_idx{"han", 132}, - string_with_idx{"hang", 131}, - string_with_idx{"hangul", 131}, - string_with_idx{"hani", 132}, - string_with_idx{"hanifi_rohingya", 200}, - string_with_idx{"hano", 133}, - string_with_idx{"hanunoo", 133}, - string_with_idx{"hatr", 134}, - string_with_idx{"hatran", 134}, - string_with_idx{"hebr", 135}, - string_with_idx{"hebrew", 135}, + string_with_idx{"greek", 129}, + string_with_idx{"grek", 129}, + string_with_idx{"gujarati", 130}, + string_with_idx{"gujr", 130}, + string_with_idx{"gunjala_gondi", 125}, + string_with_idx{"gurmukhi", 131}, + string_with_idx{"guru", 131}, + string_with_idx{"han", 133}, + string_with_idx{"hang", 132}, + string_with_idx{"hangul", 132}, + string_with_idx{"hani", 133}, + string_with_idx{"hanifi_rohingya", 202}, + string_with_idx{"hano", 134}, + string_with_idx{"hanunoo", 134}, + string_with_idx{"hatr", 135}, + string_with_idx{"hatran", 135}, + string_with_idx{"hebr", 136}, + string_with_idx{"hebrew", 136}, string_with_idx{"hex", 19}, string_with_idx{"hex_digit", 19}, - string_with_idx{"hira", 136}, - string_with_idx{"hiragana", 136}, - string_with_idx{"hluw", 137}, - string_with_idx{"hmng", 138}, - string_with_idx{"hmnp", 139}, - string_with_idx{"hrkt", 140}, - string_with_idx{"hung", 141}, + string_with_idx{"hira", 137}, + string_with_idx{"hiragana", 137}, + string_with_idx{"hluw", 138}, + string_with_idx{"hmng", 139}, + string_with_idx{"hmnp", 140}, + string_with_idx{"hrkt", 141}, + string_with_idx{"hung", 142}, string_with_idx{"id_continue", 20}, string_with_idx{"id_start", 22}, string_with_idx{"idc", 20}, @@ -8977,52 +9188,52 @@ namespace tables { string_with_idx{"idsb", 23}, string_with_idx{"idst", 24}, string_with_idx{"imperial_aramaic", 90}, - string_with_idx{"inherited", 241}, + string_with_idx{"inherited", 246}, string_with_idx{"initial_punctuation", 74}, - string_with_idx{"inscriptional_pahlavi", 194}, - string_with_idx{"inscriptional_parthian", 198}, - string_with_idx{"ital", 142}, - string_with_idx{"java", 143}, - string_with_idx{"javanese", 143}, + string_with_idx{"inscriptional_pahlavi", 196}, + string_with_idx{"inscriptional_parthian", 200}, + string_with_idx{"ital", 143}, + string_with_idx{"java", 144}, + string_with_idx{"javanese", 144}, string_with_idx{"join_c", 25}, string_with_idx{"join_control", 25}, - string_with_idx{"kaithi", 151}, - string_with_idx{"kali", 144}, - string_with_idx{"kana", 145}, - string_with_idx{"kannada", 150}, - string_with_idx{"katakana", 145}, - string_with_idx{"katakana_or_hiragana", 140}, - string_with_idx{"kayah_li", 144}, - string_with_idx{"khar", 146}, - string_with_idx{"kharoshthi", 146}, - string_with_idx{"khitan_small_script", 149}, - string_with_idx{"khmer", 147}, - string_with_idx{"khmr", 147}, - string_with_idx{"khoj", 148}, - string_with_idx{"khojki", 148}, - string_with_idx{"khudawadi", 209}, - string_with_idx{"kits", 149}, - string_with_idx{"knda", 150}, - string_with_idx{"kthi", 151}, + string_with_idx{"kaithi", 152}, + string_with_idx{"kali", 145}, + string_with_idx{"kana", 146}, + string_with_idx{"kannada", 151}, + string_with_idx{"katakana", 146}, + string_with_idx{"katakana_or_hiragana", 141}, + string_with_idx{"kayah_li", 145}, + string_with_idx{"khar", 147}, + string_with_idx{"kharoshthi", 147}, + string_with_idx{"khitan_small_script", 150}, + string_with_idx{"khmer", 148}, + string_with_idx{"khmr", 148}, + string_with_idx{"khoj", 149}, + string_with_idx{"khojki", 149}, + string_with_idx{"khudawadi", 211}, + string_with_idx{"kits", 150}, + string_with_idx{"knda", 151}, + string_with_idx{"kthi", 152}, string_with_idx{"l", 54}, - string_with_idx{"lana", 152}, - string_with_idx{"lao", 153}, - string_with_idx{"laoo", 153}, - string_with_idx{"latin", 154}, - string_with_idx{"latn", 154}, + string_with_idx{"lana", 153}, + string_with_idx{"lao", 154}, + string_with_idx{"laoo", 154}, + string_with_idx{"latin", 155}, + string_with_idx{"latn", 155}, string_with_idx{"lc", 55}, - string_with_idx{"lepc", 155}, - string_with_idx{"lepcha", 155}, + string_with_idx{"lepc", 156}, + string_with_idx{"lepcha", 156}, string_with_idx{"letter", 54}, string_with_idx{"letter_number", 67}, - string_with_idx{"limb", 156}, - string_with_idx{"limbu", 156}, - string_with_idx{"lina", 157}, - string_with_idx{"linb", 158}, + string_with_idx{"limb", 157}, + string_with_idx{"limbu", 157}, + string_with_idx{"lina", 158}, + string_with_idx{"linb", 159}, string_with_idx{"line_separator", 83}, - string_with_idx{"linear_a", 157}, - string_with_idx{"linear_b", 158}, - string_with_idx{"lisu", 159}, + string_with_idx{"linear_a", 158}, + string_with_idx{"linear_b", 159}, + string_with_idx{"lisu", 160}, string_with_idx{"ll", 56}, string_with_idx{"lm", 57}, string_with_idx{"lo", 58}, @@ -9033,251 +9244,258 @@ namespace tables { string_with_idx{"lowercase_letter", 56}, string_with_idx{"lt", 59}, string_with_idx{"lu", 60}, - string_with_idx{"lyci", 160}, - string_with_idx{"lycian", 160}, - string_with_idx{"lydi", 161}, - string_with_idx{"lydian", 161}, + string_with_idx{"lyci", 161}, + string_with_idx{"lycian", 161}, + string_with_idx{"lydi", 162}, + string_with_idx{"lydian", 162}, string_with_idx{"m", 61}, - string_with_idx{"mahajani", 162}, - string_with_idx{"mahj", 162}, - string_with_idx{"maka", 163}, - string_with_idx{"makasar", 163}, - string_with_idx{"malayalam", 171}, - string_with_idx{"mand", 164}, - string_with_idx{"mandaic", 164}, - string_with_idx{"mani", 165}, - string_with_idx{"manichaean", 165}, - string_with_idx{"marc", 166}, - string_with_idx{"marchen", 166}, + string_with_idx{"mahajani", 163}, + string_with_idx{"mahj", 163}, + string_with_idx{"maka", 164}, + string_with_idx{"makasar", 164}, + string_with_idx{"malayalam", 172}, + string_with_idx{"mand", 165}, + string_with_idx{"mandaic", 165}, + string_with_idx{"mani", 166}, + string_with_idx{"manichaean", 166}, + string_with_idx{"marc", 167}, + string_with_idx{"marchen", 167}, string_with_idx{"mark", 61}, - string_with_idx{"masaram_gondi", 125}, + string_with_idx{"masaram_gondi", 126}, string_with_idx{"math", 28}, string_with_idx{"math_symbol", 80}, string_with_idx{"mc", 62}, string_with_idx{"me", 63}, - string_with_idx{"medefaidrin", 167}, - string_with_idx{"medf", 167}, - string_with_idx{"meetei_mayek", 175}, - string_with_idx{"mend", 168}, - string_with_idx{"mende_kikakui", 168}, - string_with_idx{"merc", 169}, - string_with_idx{"mero", 170}, - string_with_idx{"meroitic_cursive", 169}, - string_with_idx{"meroitic_hieroglyphs", 170}, - string_with_idx{"miao", 197}, - string_with_idx{"mlym", 171}, + string_with_idx{"medefaidrin", 168}, + string_with_idx{"medf", 168}, + string_with_idx{"meetei_mayek", 176}, + string_with_idx{"mend", 169}, + string_with_idx{"mende_kikakui", 169}, + string_with_idx{"merc", 170}, + string_with_idx{"mero", 171}, + string_with_idx{"meroitic_cursive", 170}, + string_with_idx{"meroitic_hieroglyphs", 171}, + string_with_idx{"miao", 199}, + string_with_idx{"mlym", 172}, string_with_idx{"mn", 64}, - string_with_idx{"modi", 172}, + string_with_idx{"modi", 173}, string_with_idx{"modifier_letter", 57}, string_with_idx{"modifier_symbol", 79}, - string_with_idx{"mong", 173}, - string_with_idx{"mongolian", 173}, - string_with_idx{"mro", 174}, - string_with_idx{"mroo", 174}, - string_with_idx{"mtei", 175}, - string_with_idx{"mult", 176}, - string_with_idx{"multani", 176}, - string_with_idx{"myanmar", 177}, - string_with_idx{"mymr", 177}, + string_with_idx{"mong", 174}, + string_with_idx{"mongolian", 174}, + string_with_idx{"mro", 175}, + string_with_idx{"mroo", 175}, + string_with_idx{"mtei", 176}, + string_with_idx{"mult", 177}, + string_with_idx{"multani", 177}, + string_with_idx{"myanmar", 178}, + string_with_idx{"mymr", 178}, string_with_idx{"n", 65}, - string_with_idx{"nabataean", 180}, - string_with_idx{"nand", 178}, - string_with_idx{"nandinagari", 178}, - string_with_idx{"narb", 179}, - string_with_idx{"nbat", 180}, + string_with_idx{"nabataean", 181}, + string_with_idx{"nand", 179}, + string_with_idx{"nandinagari", 179}, + string_with_idx{"narb", 180}, + string_with_idx{"nbat", 181}, string_with_idx{"nchar", 29}, string_with_idx{"nd", 66}, - string_with_idx{"new_tai_lue", 221}, - string_with_idx{"newa", 181}, - string_with_idx{"nko", 182}, - string_with_idx{"nkoo", 182}, + string_with_idx{"new_tai_lue", 223}, + string_with_idx{"newa", 182}, + string_with_idx{"nko", 183}, + string_with_idx{"nkoo", 183}, string_with_idx{"nl", 67}, string_with_idx{"no", 68}, string_with_idx{"noncharacter_code_point", 29}, string_with_idx{"nonspacing_mark", 64}, - string_with_idx{"nshu", 183}, + string_with_idx{"nshu", 184}, string_with_idx{"number", 65}, - string_with_idx{"nushu", 183}, - string_with_idx{"nyiakeng_puachue_hmong", 139}, - string_with_idx{"ogam", 184}, - string_with_idx{"ogham", 184}, - string_with_idx{"ol_chiki", 185}, - string_with_idx{"olck", 185}, - string_with_idx{"old_hungarian", 141}, - string_with_idx{"old_italic", 142}, - string_with_idx{"old_north_arabian", 179}, - string_with_idx{"old_permic", 192}, - string_with_idx{"old_persian", 236}, - string_with_idx{"old_sogdian", 212}, - string_with_idx{"old_south_arabian", 203}, - string_with_idx{"old_turkic", 186}, + string_with_idx{"nushu", 184}, + string_with_idx{"nyiakeng_puachue_hmong", 140}, + string_with_idx{"ogam", 185}, + string_with_idx{"ogham", 185}, + string_with_idx{"ol_chiki", 186}, + string_with_idx{"olck", 186}, + string_with_idx{"old_hungarian", 142}, + string_with_idx{"old_italic", 143}, + string_with_idx{"old_north_arabian", 180}, + string_with_idx{"old_permic", 194}, + string_with_idx{"old_persian", 241}, + string_with_idx{"old_sogdian", 214}, + string_with_idx{"old_south_arabian", 205}, + string_with_idx{"old_turkic", 187}, + string_with_idx{"old_uyghur", 191}, string_with_idx{"open_punctuation", 76}, - string_with_idx{"oriya", 187}, - string_with_idx{"orkh", 186}, - string_with_idx{"orya", 187}, - string_with_idx{"osage", 188}, - string_with_idx{"osge", 188}, - string_with_idx{"osma", 189}, - string_with_idx{"osmanya", 189}, + string_with_idx{"oriya", 188}, + string_with_idx{"orkh", 187}, + string_with_idx{"orya", 188}, + string_with_idx{"osage", 189}, + string_with_idx{"osge", 189}, + string_with_idx{"osma", 190}, + string_with_idx{"osmanya", 190}, string_with_idx{"other", 48}, string_with_idx{"other_letter", 58}, string_with_idx{"other_number", 68}, string_with_idx{"other_punctuation", 75}, string_with_idx{"other_symbol", 81}, + string_with_idx{"ougr", 191}, string_with_idx{"p", 69}, - string_with_idx{"pahawh_hmong", 138}, - string_with_idx{"palm", 190}, - string_with_idx{"palmyrene", 190}, + string_with_idx{"pahawh_hmong", 139}, + string_with_idx{"palm", 192}, + string_with_idx{"palmyrene", 192}, string_with_idx{"paragraph_separator", 84}, string_with_idx{"pat_syn", 30}, string_with_idx{"pat_ws", 31}, string_with_idx{"pattern_syntax", 30}, string_with_idx{"pattern_white_space", 31}, - string_with_idx{"pau_cin_hau", 191}, - string_with_idx{"pauc", 191}, + string_with_idx{"pau_cin_hau", 193}, + string_with_idx{"pauc", 193}, string_with_idx{"pc", 70}, string_with_idx{"pcm", 32}, string_with_idx{"pd", 71}, string_with_idx{"pe", 72}, - string_with_idx{"perm", 192}, + string_with_idx{"perm", 194}, string_with_idx{"pf", 73}, - string_with_idx{"phag", 193}, - string_with_idx{"phags_pa", 193}, - string_with_idx{"phli", 194}, - string_with_idx{"phlp", 195}, - string_with_idx{"phnx", 196}, - string_with_idx{"phoenician", 196}, + string_with_idx{"phag", 195}, + string_with_idx{"phags_pa", 195}, + string_with_idx{"phli", 196}, + string_with_idx{"phlp", 197}, + string_with_idx{"phnx", 198}, + string_with_idx{"phoenician", 198}, string_with_idx{"pi", 74}, - string_with_idx{"plrd", 197}, + string_with_idx{"plrd", 199}, string_with_idx{"po", 75}, string_with_idx{"prepended_concatenation_mark", 32}, string_with_idx{"private_use", 52}, - string_with_idx{"prti", 198}, + string_with_idx{"prti", 200}, string_with_idx{"ps", 76}, - string_with_idx{"psalter_pahlavi", 195}, + string_with_idx{"psalter_pahlavi", 197}, string_with_idx{"punctuation", 69}, string_with_idx{"qmark", 33}, string_with_idx{"quotation_mark", 33}, string_with_idx{"radical", 34}, string_with_idx{"regional_indicator", 35}, - string_with_idx{"rejang", 199}, + string_with_idx{"rejang", 201}, string_with_idx{"ri", 35}, - string_with_idx{"rjng", 199}, - string_with_idx{"rohg", 200}, - string_with_idx{"runic", 201}, - string_with_idx{"runr", 201}, + string_with_idx{"rjng", 201}, + string_with_idx{"rohg", 202}, + string_with_idx{"runic", 203}, + string_with_idx{"runr", 203}, string_with_idx{"s", 77}, - string_with_idx{"samaritan", 202}, - string_with_idx{"samr", 202}, - string_with_idx{"sarb", 203}, - string_with_idx{"saur", 204}, - string_with_idx{"saurashtra", 204}, + string_with_idx{"samaritan", 204}, + string_with_idx{"samr", 204}, + string_with_idx{"sarb", 205}, + string_with_idx{"saur", 206}, + string_with_idx{"saurashtra", 206}, string_with_idx{"sc", 78}, string_with_idx{"sd", 36}, string_with_idx{"sentence_terminal", 37}, string_with_idx{"separator", 82}, - string_with_idx{"sgnw", 205}, - string_with_idx{"sharada", 207}, - string_with_idx{"shavian", 206}, - string_with_idx{"shaw", 206}, - string_with_idx{"shrd", 207}, - string_with_idx{"sidd", 208}, - string_with_idx{"siddham", 208}, - string_with_idx{"signwriting", 205}, - string_with_idx{"sind", 209}, - string_with_idx{"sinh", 210}, - string_with_idx{"sinhala", 210}, + string_with_idx{"sgnw", 207}, + string_with_idx{"sharada", 209}, + string_with_idx{"shavian", 208}, + string_with_idx{"shaw", 208}, + string_with_idx{"shrd", 209}, + string_with_idx{"sidd", 210}, + string_with_idx{"siddham", 210}, + string_with_idx{"signwriting", 207}, + string_with_idx{"sind", 211}, + string_with_idx{"sinh", 212}, + string_with_idx{"sinhala", 212}, string_with_idx{"sk", 79}, string_with_idx{"sm", 80}, string_with_idx{"so", 81}, string_with_idx{"soft_dotted", 36}, - string_with_idx{"sogd", 211}, - string_with_idx{"sogdian", 211}, - string_with_idx{"sogo", 212}, - string_with_idx{"sora", 213}, - string_with_idx{"sora_sompeng", 213}, - string_with_idx{"soyo", 214}, - string_with_idx{"soyombo", 214}, + string_with_idx{"sogd", 213}, + string_with_idx{"sogdian", 213}, + string_with_idx{"sogo", 214}, + string_with_idx{"sora", 215}, + string_with_idx{"sora_sompeng", 215}, + string_with_idx{"soyo", 216}, + string_with_idx{"soyombo", 216}, string_with_idx{"space", 42}, string_with_idx{"space_separator", 85}, string_with_idx{"spacing_mark", 62}, string_with_idx{"sterm", 37}, - string_with_idx{"sund", 215}, - string_with_idx{"sundanese", 215}, + string_with_idx{"sund", 217}, + string_with_idx{"sundanese", 217}, string_with_idx{"surrogate", 53}, - string_with_idx{"sylo", 216}, - string_with_idx{"syloti_nagri", 216}, + string_with_idx{"sylo", 218}, + string_with_idx{"syloti_nagri", 218}, string_with_idx{"symbol", 77}, - string_with_idx{"syrc", 217}, - string_with_idx{"syriac", 217}, - string_with_idx{"tagalog", 227}, - string_with_idx{"tagb", 218}, - string_with_idx{"tagbanwa", 218}, - string_with_idx{"tai_le", 220}, - string_with_idx{"tai_tham", 152}, - string_with_idx{"tai_viet", 224}, - string_with_idx{"takr", 219}, - string_with_idx{"takri", 219}, - string_with_idx{"tale", 220}, - string_with_idx{"talu", 221}, - string_with_idx{"tamil", 222}, - string_with_idx{"taml", 222}, - string_with_idx{"tang", 223}, - string_with_idx{"tangut", 223}, - string_with_idx{"tavt", 224}, - string_with_idx{"telu", 225}, - string_with_idx{"telugu", 225}, + string_with_idx{"syrc", 219}, + string_with_idx{"syriac", 219}, + string_with_idx{"tagalog", 229}, + string_with_idx{"tagb", 220}, + string_with_idx{"tagbanwa", 220}, + string_with_idx{"tai_le", 222}, + string_with_idx{"tai_tham", 153}, + string_with_idx{"tai_viet", 226}, + string_with_idx{"takr", 221}, + string_with_idx{"takri", 221}, + string_with_idx{"tale", 222}, + string_with_idx{"talu", 223}, + string_with_idx{"tamil", 224}, + string_with_idx{"taml", 224}, + string_with_idx{"tang", 225}, + string_with_idx{"tangsa", 234}, + string_with_idx{"tangut", 225}, + string_with_idx{"tavt", 226}, + string_with_idx{"telu", 227}, + string_with_idx{"telugu", 227}, string_with_idx{"term", 38}, string_with_idx{"terminal_punctuation", 38}, - string_with_idx{"tfng", 226}, - string_with_idx{"tglg", 227}, - string_with_idx{"thaa", 228}, - string_with_idx{"thaana", 228}, - string_with_idx{"thai", 229}, - string_with_idx{"tibetan", 230}, - string_with_idx{"tibt", 230}, - string_with_idx{"tifinagh", 226}, - string_with_idx{"tirh", 231}, - string_with_idx{"tirhuta", 231}, + string_with_idx{"tfng", 228}, + string_with_idx{"tglg", 229}, + string_with_idx{"thaa", 230}, + string_with_idx{"thaana", 230}, + string_with_idx{"thai", 231}, + string_with_idx{"tibetan", 232}, + string_with_idx{"tibt", 232}, + string_with_idx{"tifinagh", 228}, + string_with_idx{"tirh", 233}, + string_with_idx{"tirhuta", 233}, string_with_idx{"titlecase_letter", 59}, - string_with_idx{"ugar", 232}, - string_with_idx{"ugaritic", 232}, + string_with_idx{"tnsa", 234}, + string_with_idx{"toto", 235}, + string_with_idx{"ugar", 236}, + string_with_idx{"ugaritic", 236}, string_with_idx{"uideo", 39}, string_with_idx{"unassigned", 51}, string_with_idx{"unified_ideograph", 39}, - string_with_idx{"unknown", 243}, + string_with_idx{"unknown", 248}, string_with_idx{"upper", 40}, string_with_idx{"uppercase", 40}, string_with_idx{"uppercase_letter", 60}, - string_with_idx{"vai", 233}, - string_with_idx{"vaii", 233}, + string_with_idx{"vai", 237}, + string_with_idx{"vaii", 237}, string_with_idx{"variation_selector", 41}, + string_with_idx{"vith", 238}, + string_with_idx{"vithkuqi", 238}, string_with_idx{"vs", 41}, - string_with_idx{"wancho", 235}, - string_with_idx{"wara", 234}, - string_with_idx{"warang_citi", 234}, - string_with_idx{"wcho", 235}, + string_with_idx{"wancho", 240}, + string_with_idx{"wara", 239}, + string_with_idx{"warang_citi", 239}, + string_with_idx{"wcho", 240}, string_with_idx{"white_space", 42}, string_with_idx{"wspace", 42}, string_with_idx{"xid_continue", 43}, string_with_idx{"xid_start", 44}, string_with_idx{"xidc", 43}, string_with_idx{"xids", 44}, - string_with_idx{"xpeo", 236}, - string_with_idx{"xsux", 237}, - string_with_idx{"yezi", 238}, - string_with_idx{"yezidi", 238}, - string_with_idx{"yi", 239}, - string_with_idx{"yiii", 239}, + string_with_idx{"xpeo", 241}, + string_with_idx{"xsux", 242}, + string_with_idx{"yezi", 243}, + string_with_idx{"yezidi", 243}, + string_with_idx{"yi", 244}, + string_with_idx{"yiii", 244}, string_with_idx{"z", 82}, - string_with_idx{"zanabazar_square", 240}, - string_with_idx{"zanb", 240}, - string_with_idx{"zinh", 241}, + string_with_idx{"zanabazar_square", 245}, + string_with_idx{"zanb", 245}, + string_with_idx{"zinh", 246}, string_with_idx{"zl", 83}, string_with_idx{"zp", 84}, string_with_idx{"zs", 85}, - string_with_idx{"zyyy", 242}, - string_with_idx{"zzzz", 243}}; + string_with_idx{"zyyy", 247}, + string_with_idx{"zzzz", 248}}; } } // namespace uni::detail