time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

break_property.js (111757B)


      1 /**
      2 * @license Apache-2.0
      3 *
      4 * Copyright (c) 2020 The Stdlib Authors.
      5 *
      6 * Licensed under the Apache License, Version 2.0 (the "License");
      7 * you may not use this file except in compliance with the License.
      8 * You may obtain a copy of the License at
      9 *
     10 *    http://www.apache.org/licenses/LICENSE-2.0
     11 *
     12 * Unless required by applicable law or agreed to in writing, software
     13 * distributed under the License is distributed on an "AS IS" BASIS,
     14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15 * See the License for the specific language governing permissions and
     16 * limitations under the License.
     17 */
     18 
     19 'use strict';
     20 
     21 // MODULES //
     22 
     23 var constants = require( './constants.js' );
     24 
     25 
     26 // MAIN //
     27 
     28 /**
     29 * Returns the grapheme break property from the [Unicode Standard][1].
     30 *
     31 * [1]: https://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakProperty.txt
     32 *
     33 * @private
     34 * @param {NonNegativeInteger} code - Unicode code point
     35 * @returns {NonNegativeInteger} grapheme break property
     36 *
     37 * @example
     38 * var out = graphemeBreakProperty( 0x008f );
     39 * // returns 2
     40 *
     41 * @example
     42 * var out = graphemeBreakProperty( 0x111C2 );
     43 * // returns 12
     44 *
     45 * @example
     46 * var out = graphemeBreakProperty( 0x1F3FC );
     47 * // returns 3
     48 */
     49 function graphemeBreakProperty( code ) {
     50 	if (
     51 		( 0x0600 <= code && code <= 0x0605 ) || // Cf   [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
     52 		code === 0x06DD || // Cf       ARABIC END OF AYAH
     53 		code === 0x070F || // Cf       SYRIAC ABBREVIATION MARK
     54 		code === 0x08E2 || // Cf       ARABIC DISPUTED END OF AYAH
     55 		code === 0x0D4E || // Lo       MALAYALAM LETTER DOT REPH
     56 		code === 0x110BD || // Cf       KAITHI NUMBER SIGN
     57 		code === 0x110CD || // Cf       KAITHI NUMBER SIGN ABOVE
     58 		( 0x111C2 <= code && code <= 0x111C3 ) || // Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
     59 		code === 0x1193F || // Lo       DIVES AKURU PREFIXED NASAL SIGN
     60 		code === 0x11941 || // Lo       DIVES AKURU INITIAL RA
     61 		code === 0x11A3A || // Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
     62 		( 0x11A84 <= code && code <= 0x11A89 ) || // Lo   [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA
     63 		code === 0x11D46 // Lo       MASARAM GONDI REPHA
     64 	) {
     65 		return constants.Prepend;
     66 	}
     67 	if (
     68 		code === 0x000D // Cc       <control-000D>
     69 	) {
     70 		return constants.CR;
     71 	}
     72 	if (
     73 		code === 0x000A // Cc       <control-000A>
     74 	) {
     75 		return constants.LF;
     76 	}
     77 	if (
     78 		( 0x0000 <= code && code <= 0x0009 ) || // Cc  [10] <control-0000>..<control-0009>
     79 		( 0x000B <= code && code <= 0x000C ) || // Cc   [2] <control-000B>..<control-000C>
     80 		( 0x000E <= code && code <= 0x001F ) || // Cc  [18] <control-000E>..<control-001F>
     81 		( 0x007F <= code && code <= 0x009F ) || // Cc  [33] <control-007F>..<control-009F>
     82 		code === 0x00AD || // Cf       SOFT HYPHEN
     83 		code === 0x061C || // Cf       ARABIC LETTER MARK
     84 		code === 0x180E || // Cf       MONGOLIAN VOWEL SEPARATOR
     85 		code === 0x200B || // Cf       ZERO WIDTH SPACE
     86 		( 0x200E <= code && code <= 0x200F ) || // Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
     87 		code === 0x2028 || // Zl       LINE SEPARATOR
     88 		code === 0x2029 || // Zp       PARAGRAPH SEPARATOR
     89 		( 0x202A <= code && code <= 0x202E ) || // Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
     90 		( 0x2060 <= code && code <= 0x2064 ) || // Cf   [5] WORD JOINER..INVISIBLE PLUS
     91 		code === 0x2065 || // Cn       <reserved-2065>
     92 		( 0x2066 <= code && code <= 0x206F ) || // Cf  [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
     93 		code === 0xFEFF || // Cf       ZERO WIDTH NO-BREAK SPACE
     94 		( 0xFFF0 <= code && code <= 0xFFF8 ) || // Cn   [9] <reserved-FFF0>..<reserved-FFF8>
     95 		( 0xFFF9 <= code && code <= 0xFFFB ) || // Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
     96 		( 0x13430 <= code && code <= 0x13438 ) || // Cf   [9] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END SEGMENT
     97 		( 0x1BCA0 <= code && code <= 0x1BCA3 ) || // Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
     98 		( 0x1D173 <= code && code <= 0x1D17A ) || // Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
     99 		code === 0xE0000 || // Cn       <reserved-E0000>
    100 		code === 0xE0001 || // Cf       LANGUAGE TAG
    101 		( 0xE0002 <= code && code <= 0xE001F ) || // Cn  [30] <reserved-E0002>..<reserved-E001F>
    102 		( 0xE0080 <= code && code <= 0xE00FF ) || // Cn [128] <reserved-E0080>..<reserved-E00FF>
    103 		( 0xE01F0 <= code && code <= 0xE0FFF ) // Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
    104 	) {
    105 		return constants.Control;
    106 	}
    107 	if (
    108 		( 0x0300 <= code && code <= 0x036F ) || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
    109 		( 0x0483 <= code && code <= 0x0487 ) || // Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
    110 		( 0x0488 <= code && code <= 0x0489 ) || // Me   [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
    111 		( 0x0591 <= code && code <= 0x05BD ) || // Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
    112 		code === 0x05BF || // Mn       HEBREW POINT RAFE
    113 		( 0x05C1 <= code && code <= 0x05C2 ) || // Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
    114 		( 0x05C4 <= code && code <= 0x05C5 ) || // Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
    115 		code === 0x05C7 || // Mn       HEBREW POINT QAMATS QATAN
    116 		( 0x0610 <= code && code <= 0x061A ) || // Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
    117 		( 0x064B <= code && code <= 0x065F ) || // Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
    118 		code === 0x0670 || // Mn       ARABIC LETTER SUPERSCRIPT ALEF
    119 		( 0x06D6 <= code && code <= 0x06DC ) || // Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
    120 		( 0x06DF <= code && code <= 0x06E4 ) || // Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
    121 		( 0x06E7 <= code && code <= 0x06E8 ) || // Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
    122 		( 0x06EA <= code && code <= 0x06ED ) || // Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
    123 		code === 0x0711 || // Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
    124 		( 0x0730 <= code && code <= 0x074A ) || // Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
    125 		( 0x07A6 <= code && code <= 0x07B0 ) || // Mn  [11] THAANA ABAFILI..THAANA SUKUN
    126 		( 0x07EB <= code && code <= 0x07F3 ) || // Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
    127 		code === 0x07FD || // Mn       NKO DANTAYALAN
    128 		( 0x0816 <= code && code <= 0x0819 ) || // Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
    129 		( 0x081B <= code && code <= 0x0823 ) || // Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
    130 		( 0x0825 <= code && code <= 0x0827 ) || // Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
    131 		( 0x0829 <= code && code <= 0x082D ) || // Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
    132 		( 0x0859 <= code && code <= 0x085B ) || // Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
    133 		( 0x08D3 <= code && code <= 0x08E1 ) || // Mn  [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA
    134 		( 0x08E3 <= code && code <= 0x0902 ) || // Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
    135 		code === 0x093A || // Mn       DEVANAGARI VOWEL SIGN OE
    136 		code === 0x093C || // Mn       DEVANAGARI SIGN NUKTA
    137 		( 0x0941 <= code && code <= 0x0948 ) || // Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
    138 		code === 0x094D || // Mn       DEVANAGARI SIGN VIRAMA
    139 		( 0x0951 <= code && code <= 0x0957 ) || // Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
    140 		( 0x0962 <= code && code <= 0x0963 ) || // Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
    141 		code === 0x0981 || // Mn       BENGALI SIGN CANDRABINDU
    142 		code === 0x09BC || // Mn       BENGALI SIGN NUKTA
    143 		code === 0x09BE || // Mc       BENGALI VOWEL SIGN AA
    144 		( 0x09C1 <= code && code <= 0x09C4 ) || // Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
    145 		code === 0x09CD || // Mn       BENGALI SIGN VIRAMA
    146 		code === 0x09D7 || // Mc       BENGALI AU LENGTH MARK
    147 		( 0x09E2 <= code && code <= 0x09E3 ) || // Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
    148 		code === 0x09FE || // Mn       BENGALI SANDHI MARK
    149 		( 0x0A01 <= code && code <= 0x0A02 ) || // Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
    150 		code === 0x0A3C || // Mn       GURMUKHI SIGN NUKTA
    151 		( 0x0A41 <= code && code <= 0x0A42 ) || // Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
    152 		( 0x0A47 <= code && code <= 0x0A48 ) || // Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
    153 		( 0x0A4B <= code && code <= 0x0A4D ) || // Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
    154 		code === 0x0A51 || // Mn       GURMUKHI SIGN UDAAT
    155 		( 0x0A70 <= code && code <= 0x0A71 ) || // Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
    156 		code === 0x0A75 || // Mn       GURMUKHI SIGN YAKASH
    157 		( 0x0A81 <= code && code <= 0x0A82 ) || // Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
    158 		code === 0x0ABC || // Mn       GUJARATI SIGN NUKTA
    159 		( 0x0AC1 <= code && code <= 0x0AC5 ) || // Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
    160 		( 0x0AC7 <= code && code <= 0x0AC8 ) || // Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
    161 		code === 0x0ACD || // Mn       GUJARATI SIGN VIRAMA
    162 		( 0x0AE2 <= code && code <= 0x0AE3 ) || // Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
    163 		( 0x0AFA <= code && code <= 0x0AFF ) || // Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
    164 		code === 0x0B01 || // Mn       ORIYA SIGN CANDRABINDU
    165 		code === 0x0B3C || // Mn       ORIYA SIGN NUKTA
    166 		code === 0x0B3E || // Mc       ORIYA VOWEL SIGN AA
    167 		code === 0x0B3F || // Mn       ORIYA VOWEL SIGN I
    168 		( 0x0B41 <= code && code <= 0x0B44 ) || // Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
    169 		code === 0x0B4D || // Mn       ORIYA SIGN VIRAMA
    170 		( 0x0B55 <= code && code <= 0x0B56 ) || // Mn   [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK
    171 		code === 0x0B57 || // Mc       ORIYA AU LENGTH MARK
    172 		( 0x0B62 <= code && code <= 0x0B63 ) || // Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
    173 		code === 0x0B82 || // Mn       TAMIL SIGN ANUSVARA
    174 		code === 0x0BBE || // Mc       TAMIL VOWEL SIGN AA
    175 		code === 0x0BC0 || // Mn       TAMIL VOWEL SIGN II
    176 		code === 0x0BCD || // Mn       TAMIL SIGN VIRAMA
    177 		code === 0x0BD7 || // Mc       TAMIL AU LENGTH MARK
    178 		code === 0x0C00 || // Mn       TELUGU SIGN COMBINING CANDRABINDU ABOVE
    179 		code === 0x0C04 || // Mn       TELUGU SIGN COMBINING ANUSVARA ABOVE
    180 		( 0x0C3E <= code && code <= 0x0C40 ) || // Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
    181 		( 0x0C46 <= code && code <= 0x0C48 ) || // Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
    182 		( 0x0C4A <= code && code <= 0x0C4D ) || // Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
    183 		( 0x0C55 <= code && code <= 0x0C56 ) || // Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
    184 		( 0x0C62 <= code && code <= 0x0C63 ) || // Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
    185 		code === 0x0C81 || // Mn       KANNADA SIGN CANDRABINDU
    186 		code === 0x0CBC || // Mn       KANNADA SIGN NUKTA
    187 		code === 0x0CBF || // Mn       KANNADA VOWEL SIGN I
    188 		code === 0x0CC2 || // Mc       KANNADA VOWEL SIGN UU
    189 		code === 0x0CC6 || // Mn       KANNADA VOWEL SIGN E
    190 		( 0x0CCC <= code && code <= 0x0CCD ) || // Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
    191 		( 0x0CD5 <= code && code <= 0x0CD6 ) || // Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
    192 		( 0x0CE2 <= code && code <= 0x0CE3 ) || // Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
    193 		( 0x0D00 <= code && code <= 0x0D01 ) || // Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
    194 		( 0x0D3B <= code && code <= 0x0D3C ) || // Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
    195 		code === 0x0D3E || // Mc       MALAYALAM VOWEL SIGN AA
    196 		( 0x0D41 <= code && code <= 0x0D44 ) || // Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
    197 		code === 0x0D4D || // Mn       MALAYALAM SIGN VIRAMA
    198 		code === 0x0D57 || // Mc       MALAYALAM AU LENGTH MARK
    199 		( 0x0D62 <= code && code <= 0x0D63 ) || // Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
    200 		code === 0x0D81 || // Mn       SINHALA SIGN CANDRABINDU
    201 		code === 0x0DCA || // Mn       SINHALA SIGN AL-LAKUNA
    202 		code === 0x0DCF || // Mc       SINHALA VOWEL SIGN AELA-PILLA
    203 		( 0x0DD2 <= code && code <= 0x0DD4 ) || // Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
    204 		code === 0x0DD6 || // Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
    205 		code === 0x0DDF || // Mc       SINHALA VOWEL SIGN GAYANUKITTA
    206 		code === 0x0E31 || // Mn       THAI CHARACTER MAI HAN-AKAT
    207 		( 0x0E34 <= code && code <= 0x0E3A ) || // Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
    208 		( 0x0E47 <= code && code <= 0x0E4E ) || // Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
    209 		code === 0x0EB1 || // Mn       LAO VOWEL SIGN MAI KAN
    210 		( 0x0EB4 <= code && code <= 0x0EBC ) || // Mn   [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO
    211 		( 0x0EC8 <= code && code <= 0x0ECD ) || // Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
    212 		( 0x0F18 <= code && code <= 0x0F19 ) || // Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
    213 		code === 0x0F35 || // Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
    214 		code === 0x0F37 || // Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
    215 		code === 0x0F39 || // Mn       TIBETAN MARK TSA -PHRU
    216 		( 0x0F71 <= code && code <= 0x0F7E ) || // Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
    217 		( 0x0F80 <= code && code <= 0x0F84 ) || // Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
    218 		( 0x0F86 <= code && code <= 0x0F87 ) || // Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
    219 		( 0x0F8D <= code && code <= 0x0F97 ) || // Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
    220 		( 0x0F99 <= code && code <= 0x0FBC ) || // Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
    221 		code === 0x0FC6 || // Mn       TIBETAN SYMBOL PADMA GDAN
    222 		( 0x102D <= code && code <= 0x1030 ) || // Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
    223 		( 0x1032 <= code && code <= 0x1037 ) || // Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
    224 		( 0x1039 <= code && code <= 0x103A ) || // Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
    225 		( 0x103D <= code && code <= 0x103E ) || // Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
    226 		( 0x1058 <= code && code <= 0x1059 ) || // Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
    227 		( 0x105E <= code && code <= 0x1060 ) || // Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
    228 		( 0x1071 <= code && code <= 0x1074 ) || // Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
    229 		code === 0x1082 || // Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
    230 		( 0x1085 <= code && code <= 0x1086 ) || // Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
    231 		code === 0x108D || // Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
    232 		code === 0x109D || // Mn       MYANMAR VOWEL SIGN AITON AI
    233 		( 0x135D <= code && code <= 0x135F ) || // Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
    234 		( 0x1712 <= code && code <= 0x1714 ) || // Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
    235 		( 0x1732 <= code && code <= 0x1734 ) || // Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
    236 		( 0x1752 <= code && code <= 0x1753 ) || // Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
    237 		( 0x1772 <= code && code <= 0x1773 ) || // Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
    238 		( 0x17B4 <= code && code <= 0x17B5 ) || // Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
    239 		( 0x17B7 <= code && code <= 0x17BD ) || // Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
    240 		code === 0x17C6 || // Mn       KHMER SIGN NIKAHIT
    241 		( 0x17C9 <= code && code <= 0x17D3 ) || // Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
    242 		code === 0x17DD || // Mn       KHMER SIGN ATTHACAN
    243 		( 0x180B <= code && code <= 0x180D ) || // Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
    244 		( 0x1885 <= code && code <= 0x1886 ) || // Mn   [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
    245 		code === 0x18A9 || // Mn       MONGOLIAN LETTER ALI GALI DAGALGA
    246 		( 0x1920 <= code && code <= 0x1922 ) || // Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
    247 		( 0x1927 <= code && code <= 0x1928 ) || // Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
    248 		code === 0x1932 || // Mn       LIMBU SMALL LETTER ANUSVARA
    249 		( 0x1939 <= code && code <= 0x193B ) || // Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
    250 		( 0x1A17 <= code && code <= 0x1A18 ) || // Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
    251 		code === 0x1A1B || // Mn       BUGINESE VOWEL SIGN AE
    252 		code === 0x1A56 || // Mn       TAI THAM CONSONANT SIGN MEDIAL LA
    253 		( 0x1A58 <= code && code <= 0x1A5E ) || // Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
    254 		code === 0x1A60 || // Mn       TAI THAM SIGN SAKOT
    255 		code === 0x1A62 || // Mn       TAI THAM VOWEL SIGN MAI SAT
    256 		( 0x1A65 <= code && code <= 0x1A6C ) || // Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
    257 		( 0x1A73 <= code && code <= 0x1A7C ) || // Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
    258 		code === 0x1A7F || // Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
    259 		( 0x1AB0 <= code && code <= 0x1ABD ) || // Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
    260 		code === 0x1ABE || // Me       COMBINING PARENTHESES OVERLAY
    261 		( 0x1ABF <= code && code <= 0x1AC0 ) || // Mn   [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW
    262 		( 0x1B00 <= code && code <= 0x1B03 ) || // Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
    263 		code === 0x1B34 || // Mn       BALINESE SIGN REREKAN
    264 		code === 0x1B35 || // Mc       BALINESE VOWEL SIGN TEDUNG
    265 		( 0x1B36 <= code && code <= 0x1B3A) || // Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
    266 		code === 0x1B3C || // Mn       BALINESE VOWEL SIGN LA LENGA
    267 		code === 0x1B42 || // Mn       BALINESE VOWEL SIGN PEPET
    268 		( 0x1B6B <= code && code <= 0x1B73 ) || // Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
    269 		( 0x1B80 <= code && code <= 0x1B81 ) || // Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
    270 		( 0x1BA2 <= code && code <= 0x1BA5 ) || // Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
    271 		( 0x1BA8 <= code && code <= 0x1BA9 ) || // Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
    272 		( 0x1BAB <= code && code <= 0x1BAD ) || // Mn   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
    273 		code === 0x1BE6 || // Mn       BATAK SIGN TOMPI
    274 		( 0x1BE8 <= code && code <= 0x1BE9) || // Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
    275 		code === 0x1BED || // Mn       BATAK VOWEL SIGN KARO O
    276 		( 0x1BEF <= code && code <= 0x1BF1 ) || // Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
    277 		( 0x1C2C <= code && code <= 0x1C33 ) || // Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
    278 		( 0x1C36 <= code && code <= 0x1C37 ) || // Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
    279 		( 0x1CD0 <= code && code <= 0x1CD2 ) || // Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
    280 		( 0x1CD4 <= code && code <= 0x1CE0 ) || // Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
    281 		( 0x1CE2 <= code && code <= 0x1CE8 ) || // Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
    282 		code === 0x1CED || // Mn       VEDIC SIGN TIRYAK
    283 		code === 0x1CF4 || // Mn       VEDIC TONE CANDRA ABOVE
    284 		( 0x1CF8 <= code && code <= 0x1CF9 ) || // Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
    285 		( 0x1DC0 <= code && code <= 0x1DF9 ) || // Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
    286 		( 0x1DFB <= code && code <= 0x1DFF ) || // Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
    287 		code === 0x200C || // Cf       ZERO WIDTH NON-JOINER
    288 		( 0x20D0 <= code && code <= 0x20DC ) || // Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
    289 		( 0x20DD <= code && code <= 0x20E0 ) || // Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
    290 		code === 0x20E1 || // Mn       COMBINING LEFT RIGHT ARROW ABOVE
    291 		( 0x20E2 <= code && code <= 0x20E4 ) || // Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
    292 		( 0x20E5 <= code && code <= 0x20F0 ) || // Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
    293 		( 0x2CEF <= code && code <= 0x2CF1 ) || // Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
    294 		code === 0x2D7F || // Mn       TIFINAGH CONSONANT JOINER
    295 		( 0x2DE0 <= code && code <= 0x2DFF ) || // Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
    296 		( 0x302A <= code && code <= 0x302D ) || // Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
    297 		( 0x302E <= code && code <= 0x302F ) || // Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
    298 		( 0x3099 <= code && code <= 0x309A ) || // Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
    299 		code === 0xA66F || // Mn       COMBINING CYRILLIC VZMET
    300 		( 0xA670 <= code && code <= 0xA672 ) || // Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
    301 		( 0xA674 <= code && code <= 0xA67D ) || // Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
    302 		( 0xA69E <= code && code <= 0xA69F ) || // Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
    303 		( 0xA6F0 <= code && code <= 0xA6F1 ) || // Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
    304 		code === 0xA802 || // Mn       SYLOTI NAGRI SIGN DVISVARA
    305 		code === 0xA806 || // Mn       SYLOTI NAGRI SIGN HASANTA
    306 		code === 0xA80B || // Mn       SYLOTI NAGRI SIGN ANUSVARA
    307 		( 0xA825 <= code && code <= 0xA826 ) || // Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
    308 		code === 0xA82C || // Mn       SYLOTI NAGRI SIGN ALTERNATE HASANTA
    309 		( 0xA8C4 <= code && code <= 0xA8C5 ) || // Mn   [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
    310 		( 0xA8E0 <= code && code <= 0xA8F1 ) || // Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
    311 		code === 0xA8FF || // Mn       DEVANAGARI VOWEL SIGN AY
    312 		( 0xA926 <= code && code <= 0xA92D ) || // Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
    313 		( 0xA947 <= code && code <= 0xA951 ) || // Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
    314 		( 0xA980 <= code && code <= 0xA982 ) || // Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
    315 		code === 0xA9B3 || // Mn       JAVANESE SIGN CECAK TELU
    316 		( 0xA9B6 <= code && code <= 0xA9B9 ) || // Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
    317 		( 0xA9BC <= code && code <= 0xA9BD ) || // Mn   [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET
    318 		code === 0xA9E5 || // Mn       MYANMAR SIGN SHAN SAW
    319 		( 0xAA29 <= code && code <= 0xAA2E ) || // Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
    320 		( 0xAA31 <= code && code <= 0xAA32 ) || // Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
    321 		( 0xAA35 <= code && code <= 0xAA36 ) || // Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
    322 		code === 0xAA43 || // Mn       CHAM CONSONANT SIGN FINAL NG
    323 		code === 0xAA4C || // Mn       CHAM CONSONANT SIGN FINAL M
    324 		code === 0xAA7C || // Mn       MYANMAR SIGN TAI LAING TONE-2
    325 		code === 0xAAB0 || // Mn       TAI VIET MAI KANG
    326 		( 0xAAB2 <= code && code <= 0xAAB4 ) || // Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
    327 		( 0xAAB7 <= code && code <= 0xAAB8 ) || // Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
    328 		( 0xAABE <= code && code <= 0xAABF ) || // Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
    329 		code === 0xAAC1 || // Mn       TAI VIET TONE MAI THO
    330 		( 0xAAEC <= code && code <= 0xAAED ) || // Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
    331 		code === 0xAAF6 || // Mn       MEETEI MAYEK VIRAMA
    332 		code === 0xABE5 || // Mn       MEETEI MAYEK VOWEL SIGN ANAP
    333 		code === 0xABE8 || // Mn       MEETEI MAYEK VOWEL SIGN UNAP
    334 		code === 0xABED || // Mn       MEETEI MAYEK APUN IYEK
    335 		code === 0xFB1E || // Mn       HEBREW POINT JUDEO-SPANISH VARIKA
    336 		( 0xFE00 <= code && code <= 0xFE0F ) || // Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
    337 		( 0xFE20 <= code && code <= 0xFE2F ) || // Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
    338 		( 0xFF9E <= code && code <= 0xFF9F ) || // Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
    339 		code === 0x101FD || // Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
    340 		code === 0x102E0 || // Mn       COPTIC EPACT THOUSANDS MARK
    341 		( 0x10376 <= code && code <= 0x1037A ) || // Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
    342 		( 0x10A01 <= code && code <= 0x10A03 ) || // Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
    343 		( 0x10A05 <= code && code <= 0x10A06 ) || // Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
    344 		( 0x10A0C <= code && code <= 0x10A0F ) || // Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
    345 		( 0x10A38 <= code && code <= 0x10A3A ) || // Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
    346 		code === 0x10A3F || // Mn       KHAROSHTHI VIRAMA
    347 		( 0x10AE5 <= code && code <= 0x10AE6 ) || // Mn   [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
    348 		( 0x10D24 <= code && code <= 0x10D27 ) || // Mn   [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
    349 		( 0x10EAB <= code && code <= 0x10EAC ) || // Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
    350 		( 0x10F46 <= code && code <= 0x10F50 ) || // Mn  [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
    351 		code === 0x11001 || // Mn       BRAHMI SIGN ANUSVARA
    352 		( 0x11038 <= code && code <= 0x11046 ) || // Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
    353 		( 0x1107F <= code && code <= 0x11081 ) || // Mn   [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
    354 		( 0x110B3 <= code && code <= 0x110B6 ) || // Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
    355 		( 0x110B9 <= code && code <= 0x110BA ) || // Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
    356 		( 0x11100 <= code && code <= 0x11102 ) || // Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
    357 		( 0x11127 <= code && code <= 0x1112B ) || // Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
    358 		( 0x1112D <= code && code <= 0x11134 ) || // Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
    359 		code === 0x11173 || // Mn       MAHAJANI SIGN NUKTA
    360 		( 0x11180 <= code && code <= 0x11181 ) || // Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
    361 		( 0x111B6 <= code && code <= 0x111BE ) || // Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
    362 		( 0x111C9 <= code && code <= 0x111CC ) || // Mn   [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK
    363 		code === 0x111CF || // Mn       SHARADA SIGN INVERTED CANDRABINDU
    364 		( 0x1122F <= code && code <= 0x11231 ) || // Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
    365 		code === 0x11234 || // Mn       KHOJKI SIGN ANUSVARA
    366 		( 0x11236 <= code && code <= 0x11237 ) || // Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
    367 		code === 0x1123E || // Mn       KHOJKI SIGN SUKUN
    368 		code === 0x112DF || // Mn       KHUDAWADI SIGN ANUSVARA
    369 		( 0x112E3 <= code && code <= 0x112EA ) || // Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
    370 		( 0x11300 <= code && code <= 0x11301 ) || // Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
    371 		( 0x1133B <= code && code <= 0x1133C ) || // Mn   [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA
    372 		code === 0x1133E || // Mc       GRANTHA VOWEL SIGN AA
    373 		code === 0x11340 || // Mn       GRANTHA VOWEL SIGN II
    374 		code === 0x11357 || // Mc       GRANTHA AU LENGTH MARK
    375 		( 0x11366 <= code && code <= 0x1136C ) || // Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
    376 		( 0x11370 <= code && code <= 0x11374 ) || // Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
    377 		( 0x11438 <= code && code <= 0x1143F ) || // Mn   [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
    378 		( 0x11442 <= code && code <= 0x11444 ) || // Mn   [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
    379 		code === 0x11446 || // Mn       NEWA SIGN NUKTA
    380 		code === 0x1145E || // Mn       NEWA SANDHI MARK
    381 		code === 0x114B0 || // Mc       TIRHUTA VOWEL SIGN AA
    382 		( 0x114B3 <= code && code <= 0x114B8 ) || // Mn   [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
    383 		code === 0x114BA || // Mn       TIRHUTA VOWEL SIGN SHORT E
    384 		code === 0x114BD || // Mc       TIRHUTA VOWEL SIGN SHORT O
    385 		( 0x114BF <= code && code <= 0x114C0 ) || // Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
    386 		( 0x114C2 <= code && code <= 0x114C3 ) || // Mn   [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
    387 		code === 0x115AF || // Mc       SIDDHAM VOWEL SIGN AA
    388 		( 0x115B2 <= code && code <= 0x115B5 ) || // Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
    389 		( 0x115BC <= code && code <= 0x115BD ) || // Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
    390 		( 0x115BF <= code && code <= 0x115C0 ) || // Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
    391 		( 0x115DC <= code && code <= 0x115DD ) || // Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
    392 		( 0x11633 <= code && code <= 0x1163A ) || // Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
    393 		code === 0x1163D || // Mn       MODI SIGN ANUSVARA
    394 		( 0x1163F <= code && code <= 0x11640 ) || // Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
    395 		code === 0x116AB || // Mn       TAKRI SIGN ANUSVARA
    396 		code === 0x116AD || // Mn       TAKRI VOWEL SIGN AA
    397 		( 0x116B0 <= code && code <= 0x116B5 ) || // Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
    398 		code === 0x116B7 || // Mn       TAKRI SIGN NUKTA
    399 		( 0x1171D <= code && code <= 0x1171F ) || // Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
    400 		( 0x11722 <= code && code <= 0x11725 ) || // Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
    401 		( 0x11727 <= code && code <= 0x1172B ) || // Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
    402 		( 0x1182F <= code && code <= 0x11837 ) || // Mn   [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA
    403 		( 0x11839 <= code && code <= 0x1183A ) || // Mn   [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA
    404 		code === 0x11930 || // Mc       DIVES AKURU VOWEL SIGN AA
    405 		( 0x1193B <= code && code <= 0x1193C ) || // Mn   [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU
    406 		code === 0x1193E || // Mn       DIVES AKURU VIRAMA
    407 		code === 0x11943 || // Mn       DIVES AKURU SIGN NUKTA
    408 		( 0x119D4 <= code && code <= 0x119D7 ) || // Mn   [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR
    409 		( 0x119DA <= code && code <= 0x119DB ) || // Mn   [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI
    410 		code === 0x119E0 || // Mn       NANDINAGARI SIGN VIRAMA
    411 		( 0x11A01 <= code && code <= 0x11A0A ) || // Mn  [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK
    412 		( 0x11A33 <= code && code <= 0x11A38 ) || // Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
    413 		( 0x11A3B <= code && code <= 0x11A3E ) || // Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
    414 		code === 0x11A47 || // Mn       ZANABAZAR SQUARE SUBJOINER
    415 		( 0x11A51 <= code && code <= 0x11A56 ) || // Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
    416 		( 0x11A59 <= code && code <= 0x11A5B ) || // Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
    417 		( 0x11A8A <= code && code <= 0x11A96 ) || // Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
    418 		( 0x11A98 <= code && code <= 0x11A99 ) || // Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
    419 		( 0x11C30 <= code && code <= 0x11C36 ) || // Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
    420 		( 0x11C38 <= code && code <= 0x11C3D ) || // Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
    421 		code === 0x11C3F || // Mn       BHAIKSUKI SIGN VIRAMA
    422 		( 0x11C92 <= code && code <= 0x11CA7 ) || // Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
    423 		( 0x11CAA <= code && code <= 0x11CB0 ) || // Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
    424 		( 0x11CB2 <= code && code <= 0x11CB3 ) || // Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
    425 		( 0x11CB5 <= code && code <= 0x11CB6 ) || // Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
    426 		( 0x11D31 <= code && code <= 0x11D36 ) || // Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
    427 		code === 0x11D3A || // Mn       MASARAM GONDI VOWEL SIGN E
    428 		( 0x11D3C <= code && code <= 0x11D3D ) || // Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
    429 		( 0x11D3F <= code && code <= 0x11D45 ) || // Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
    430 		code === 0x11D47 || // Mn       MASARAM GONDI RA-KARA
    431 		( 0x11D90 <= code && code <= 0x11D91 ) || // Mn   [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI
    432 		code === 0x11D95 || // Mn       GUNJALA GONDI SIGN ANUSVARA
    433 		code === 0x11D97 || // Mn       GUNJALA GONDI VIRAMA
    434 		( 0x11EF3 <= code && code <= 0x11EF4 ) || // Mn   [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
    435 		( 0x16AF0 <= code && code <= 0x16AF4 ) || // Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
    436 		( 0x16B30 <= code && code <= 0x16B36 ) || // Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
    437 		code === 0x16F4F || // Mn       MIAO SIGN CONSONANT MODIFIER BAR
    438 		( 0x16F8F <= code && code <= 0x16F92 ) || // Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
    439 		code === 0x16FE4 || // Mn       KHITAN SMALL SCRIPT FILLER
    440 		( 0x1BC9D <= code && code <= 0x1BC9E ) || // Mn   [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
    441 		code === 0x1D165 || // Mc       MUSICAL SYMBOL COMBINING STEM
    442 		( 0x1D167 <= code && code <= 0x1D169 ) || // Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
    443 		( 0x1D16E <= code && code <= 0x1D172 ) || // Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
    444 		( 0x1D17B <= code && code <= 0x1D182 ) || // Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
    445 		( 0x1D185 <= code && code <= 0x1D18B ) || // Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
    446 		( 0x1D1AA <= code && code <= 0x1D1AD ) || // Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
    447 		( 0x1D242 <= code && code <= 0x1D244 ) || // Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
    448 		( 0x1DA00 <= code && code <= 0x1DA36 ) || // Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
    449 		( 0x1DA3B <= code && code <= 0x1DA6C ) || // Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
    450 		code === 0x1DA75 || // Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
    451 		code === 0x1DA84 || // Mn       SIGNWRITING LOCATION HEAD NECK
    452 		( 0x1DA9B <= code && code <= 0x1DA9F ) || // Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
    453 		( 0x1DAA1 <= code && code <= 0x1DAAF ) || // Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
    454 		( 0x1E000 <= code && code <= 0x1E006 ) || // Mn   [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
    455 		( 0x1E008 <= code && code <= 0x1E018 ) || // Mn  [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
    456 		( 0x1E01B <= code && code <= 0x1E021 ) || // Mn   [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
    457 		( 0x1E023 <= code && code <= 0x1E024 ) || // Mn   [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
    458 		( 0x1E026 <= code && code <= 0x1E02A ) || // Mn   [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
    459 		( 0x1E130 <= code && code <= 0x1E136 ) || // Mn   [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
    460 		( 0x1E2EC <= code && code <= 0x1E2EF ) || // Mn   [4] WANCHO TONE TUP..WANCHO TONE KOINI
    461 		( 0x1E8D0 <= code && code <= 0x1E8D6 ) || // Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
    462 		( 0x1E944 <= code && code <= 0x1E94A ) || // Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
    463 		( 0x1F3FB <= code && code <= 0x1F3FF ) || // Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
    464 		( 0xE0020 <= code && code <= 0xE007F ) || // Cf  [96] TAG SPACE..CANCEL TAG
    465 		( 0xE0100 <= code && code <= 0xE01EF ) // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
    466 	) {
    467 		return constants.Extend;
    468 	}
    469 	if (
    470 		( 0x1F1E6 <= code && code <= 0x1F1FF ) // So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
    471 	) {
    472 		return constants.RegionalIndicator;
    473 	}
    474 	if (
    475 		code === 0x0903 || // Mc       DEVANAGARI SIGN VISARGA
    476 		code === 0x093B || // Mc       DEVANAGARI VOWEL SIGN OOE
    477 		( 0x093E <= code && code <= 0x0940 ) || // Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
    478 		( 0x0949 <= code && code <= 0x094C ) || // Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
    479 		( 0x094E <= code && code <= 0x094F ) || // Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
    480 		( 0x0982 <= code && code <= 0x0983 ) || // Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
    481 		( 0x09BF <= code && code <= 0x09C0 ) || // Mc   [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
    482 		( 0x09C7 <= code && code <= 0x09C8 ) || // Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
    483 		( 0x09CB <= code && code <= 0x09CC ) || // Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
    484 		code === 0x0A03 || // Mc       GURMUKHI SIGN VISARGA
    485 		( 0x0A3E <= code && code <= 0x0A40 ) || // Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
    486 		code === 0x0A83 || // Mc       GUJARATI SIGN VISARGA
    487 		( 0x0ABE <= code && code <= 0x0AC0 ) || // Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
    488 		code === 0x0AC9 || // Mc       GUJARATI VOWEL SIGN CANDRA O
    489 		( 0x0ACB <= code && code <= 0x0ACC ) || // Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
    490 		( 0x0B02 <= code && code <= 0x0B03 ) || // Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
    491 		code === 0x0B40 || // Mc       ORIYA VOWEL SIGN II
    492 		( 0x0B47 <= code && code <= 0x0B48 ) || // Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
    493 		( 0x0B4B <= code && code <= 0x0B4C ) || // Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
    494 		code === 0x0BBF || // Mc       TAMIL VOWEL SIGN I
    495 		( 0x0BC1 <= code && code <= 0x0BC2 ) || // Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
    496 		( 0x0BC6 <= code && code <= 0x0BC8 ) || // Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
    497 		( 0x0BCA <= code && code <= 0x0BCC ) || // Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
    498 		( 0x0C01 <= code && code <= 0x0C03 ) || // Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
    499 		( 0x0C41 <= code && code <= 0x0C44 ) || // Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
    500 		( 0x0C82 <= code && code <= 0x0C83 ) || // Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
    501 		code === 0x0CBE || // Mc       KANNADA VOWEL SIGN AA
    502 		( 0x0CC0 <= code && code <= 0x0CC1 ) || // Mc   [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
    503 		( 0x0CC3 <= code && code <= 0x0CC4 ) || // Mc   [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
    504 		( 0x0CC7 <= code && code <= 0x0CC8 ) || // Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
    505 		( 0x0CCA <= code && code <= 0x0CCB ) || // Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
    506 		( 0x0D02 <= code && code <= 0x0D03 ) || // Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
    507 		( 0x0D3F <= code && code <= 0x0D40 ) || // Mc   [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
    508 		( 0x0D46 <= code && code <= 0x0D48 ) || // Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
    509 		( 0x0D4A <= code && code <= 0x0D4C ) || // Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
    510 		( 0x0D82 <= code && code <= 0x0D83 ) || // Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
    511 		( 0x0DD0 <= code && code <= 0x0DD1 ) || // Mc   [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
    512 		( 0x0DD8 <= code && code <= 0x0DDE ) || // Mc   [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
    513 		( 0x0DF2 <= code && code <= 0x0DF3 ) || // Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
    514 		code === 0x0E33 || // Lo       THAI CHARACTER SARA AM
    515 		code === 0x0EB3 || // Lo       LAO VOWEL SIGN AM
    516 		( 0x0F3E <= code && code <= 0x0F3F ) || // Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
    517 		code === 0x0F7F || // Mc       TIBETAN SIGN RNAM BCAD
    518 		code === 0x1031 || // Mc       MYANMAR VOWEL SIGN E
    519 		( 0x103B <= code && code <= 0x103C ) || // Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
    520 		( 0x1056 <= code && code <= 0x1057 ) || // Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
    521 		code === 0x1084 || // Mc       MYANMAR VOWEL SIGN SHAN E
    522 		code === 0x17B6 || // Mc       KHMER VOWEL SIGN AA
    523 		( 0x17BE <= code && code <= 0x17C5 ) || // Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
    524 		( 0x17C7 <= code && code <= 0x17C8 ) || // Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
    525 		( 0x1923 <= code && code <= 0x1926 ) || // Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
    526 		( 0x1929 <= code && code <= 0x192B ) || // Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
    527 		( 0x1930 <= code && code <= 0x1931 ) || // Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
    528 		( 0x1933 <= code && code <= 0x1938 ) || // Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
    529 		( 0x1A19 <= code && code <= 0x1A1A ) || // Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
    530 		code === 0x1A55 || // Mc       TAI THAM CONSONANT SIGN MEDIAL RA
    531 		code === 0x1A57 || // Mc       TAI THAM CONSONANT SIGN LA TANG LAI
    532 		( 0x1A6D <= code && code <= 0x1A72 ) || // Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
    533 		code === 0x1B04 || // Mc       BALINESE SIGN BISAH
    534 		code === 0x1B3B || // Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
    535 		( 0x1B3D <= code && code <= 0x1B41 ) || // Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
    536 		( 0x1B43 <= code && code <= 0x1B44 ) || // Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
    537 		code === 0x1B82 || // Mc       SUNDANESE SIGN PANGWISAD
    538 		code === 0x1BA1 || // Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
    539 		( 0x1BA6 <= code && code <= 0x1BA7 ) || // Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
    540 		code === 0x1BAA || // Mc       SUNDANESE SIGN PAMAAEH
    541 		code === 0x1BE7 || // Mc       BATAK VOWEL SIGN E
    542 		( 0x1BEA <= code && code <= 0x1BEC ) || // Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
    543 		code === 0x1BEE || // Mc       BATAK VOWEL SIGN U
    544 		( 0x1BF2 <= code && code <= 0x1BF3 ) || // Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
    545 		( 0x1C24 <= code && code <= 0x1C2B ) || // Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
    546 		( 0x1C34 <= code && code <= 0x1C35 ) || // Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
    547 		code === 0x1CE1 || // Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
    548 		code === 0x1CF7 || // Mc       VEDIC SIGN ATIKRAMA
    549 		( 0xA823 <= code && code <= 0xA824 ) || // Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
    550 		code === 0xA827 || // Mc       SYLOTI NAGRI VOWEL SIGN OO
    551 		( 0xA880 <= code && code <= 0xA881 ) || // Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
    552 		( 0xA8B4 <= code && code <= 0xA8C3 ) || // Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
    553 		( 0xA952 <= code && code <= 0xA953 ) || // Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
    554 		code === 0xA983 || // Mc       JAVANESE SIGN WIGNYAN
    555 		( 0xA9B4 <= code && code <= 0xA9B5 ) || // Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
    556 		( 0xA9BA <= code && code <= 0xA9BB ) || // Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
    557 		( 0xA9BE <= code && code <= 0xA9C0 ) || // Mc   [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON
    558 		( 0xAA2F <= code && code <= 0xAA30 ) || // Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
    559 		( 0xAA33 <= code && code <= 0xAA34 ) || // Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
    560 		code === 0xAA4D || // Mc       CHAM CONSONANT SIGN FINAL H
    561 		code === 0xAAEB || // Mc       MEETEI MAYEK VOWEL SIGN II
    562 		( 0xAAEE <= code && code <= 0xAAEF ) || // Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
    563 		code === 0xAAF5 || // Mc       MEETEI MAYEK VOWEL SIGN VISARGA
    564 		( 0xABE3 <= code && code <= 0xABE4 ) || // Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
    565 		( 0xABE6 <= code && code <= 0xABE7 ) || // Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
    566 		( 0xABE9 <= code && code <= 0xABEA ) || // Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
    567 		code === 0xABEC || // Mc       MEETEI MAYEK LUM IYEK
    568 		code === 0x11000 || // Mc       BRAHMI SIGN CANDRABINDU
    569 		code === 0x11002 || // Mc       BRAHMI SIGN VISARGA
    570 		code === 0x11082 || // Mc       KAITHI SIGN VISARGA
    571 		( 0x110B0 <= code && code <= 0x110B2 ) || // Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
    572 		( 0x110B7 <= code && code <= 0x110B8 ) || // Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
    573 		code === 0x1112C || // Mc       CHAKMA VOWEL SIGN E
    574 		( 0x11145 <= code && code <= 0x11146 ) || // Mc   [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI
    575 		code === 0x11182 || // Mc       SHARADA SIGN VISARGA
    576 		( 0x111B3 <= code && code <= 0x111B5 ) || // Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
    577 		( 0x111BF <= code && code <= 0x111C0 ) || // Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
    578 		code === 0x111CE || // Mc       SHARADA VOWEL SIGN PRISHTHAMATRA E
    579 		( 0x1122C <= code && code <= 0x1122E ) || // Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
    580 		( 0x11232 <= code && code <= 0x11233 ) || // Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
    581 		code === 0x11235 || // Mc       KHOJKI SIGN VIRAMA
    582 		( 0x112E0 <= code && code <= 0x112E2 ) || // Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
    583 		( 0x11302 <= code && code <= 0x11303 ) || // Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
    584 		code === 0x1133F || // Mc       GRANTHA VOWEL SIGN I
    585 		( 0x11341 <= code && code <= 0x11344 ) || // Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
    586 		( 0x11347 <= code && code <= 0x11348 ) || // Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
    587 		( 0x1134B <= code && code <= 0x1134D ) || // Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
    588 		( 0x11362 <= code && code <= 0x11363 ) || // Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
    589 		( 0x11435 <= code && code <= 0x11437 ) || // Mc   [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
    590 		( 0x11440 <= code && code <= 0x11441 ) || // Mc   [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
    591 		code === 0x11445 || // Mc       NEWA SIGN VISARGA
    592 		( 0x114B1 <= code && code <= 0x114B2 ) || // Mc   [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
    593 		code === 0x114B9 || // Mc       TIRHUTA VOWEL SIGN E
    594 		( 0x114BB <= code && code <= 0x114BC ) || // Mc   [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
    595 		code === 0x114BE || // Mc       TIRHUTA VOWEL SIGN AU
    596 		code === 0x114C1 || // Mc       TIRHUTA SIGN VISARGA
    597 		( 0x115B0 <= code && code <= 0x115B1 ) || // Mc   [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
    598 		( 0x115B8 <= code && code <= 0x115BB ) || // Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
    599 		code === 0x115BE || // Mc       SIDDHAM SIGN VISARGA
    600 		( 0x11630 <= code && code <= 0x11632 ) || // Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
    601 		( 0x1163B <= code && code <= 0x1163C ) || // Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
    602 		code === 0x1163E || // Mc       MODI SIGN VISARGA
    603 		code === 0x116AC || // Mc       TAKRI SIGN VISARGA
    604 		( 0x116AE <= code && code <= 0x116AF ) || // Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
    605 		code === 0x116B6 || // Mc       TAKRI SIGN VIRAMA
    606 		( 0x11720 <= code && code <= 0x11721 ) || // Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
    607 		code === 0x11726 || // Mc       AHOM VOWEL SIGN E
    608 		( 0x1182C <= code && code <= 0x1182E ) || // Mc   [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II
    609 		code === 0x11838 || // Mc       DOGRA SIGN VISARGA
    610 		( 0x11931 <= code && code <= 0x11935 ) || // Mc   [5] DIVES AKURU VOWEL SIGN I..DIVES AKURU VOWEL SIGN E
    611 		( 0x11937 <= code && code <= 0x11938 ) || // Mc   [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O
    612 		code === 0x1193D || // Mc       DIVES AKURU SIGN HALANTA
    613 		code === 0x11940 || // Mc       DIVES AKURU MEDIAL YA
    614 		code === 0x11942 || // Mc       DIVES AKURU MEDIAL RA
    615 		( 0x119D1 <= code && code <= 0x119D3 ) || // Mc   [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II
    616 		( 0x119DC <= code && code <= 0x119DF ) || // Mc   [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA
    617 		code === 0x119E4 || // Mc       NANDINAGARI VOWEL SIGN PRISHTHAMATRA E
    618 		code === 0x11A39 || // Mc       ZANABAZAR SQUARE SIGN VISARGA
    619 		( 0x11A57 <= code && code <= 0x11A58 ) || // Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
    620 		code === 0x11A97 || // Mc       SOYOMBO SIGN VISARGA
    621 		code === 0x11C2F || // Mc       BHAIKSUKI VOWEL SIGN AA
    622 		code === 0x11C3E || // Mc       BHAIKSUKI SIGN VISARGA
    623 		code === 0x11CA9 || // Mc       MARCHEN SUBJOINED LETTER YA
    624 		code === 0x11CB1 || // Mc       MARCHEN VOWEL SIGN I
    625 		code === 0x11CB4 || // Mc       MARCHEN VOWEL SIGN O
    626 		( 0x11D8A <= code && code <= 0x11D8E ) || // Mc   [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU
    627 		( 0x11D93 <= code && code <= 0x11D94 ) || // Mc   [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU
    628 		code === 0x11D96 || // Mc       GUNJALA GONDI SIGN VISARGA
    629 		( 0x11EF5 <= code && code <= 0x11EF6 ) || // Mc   [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
    630 		( 0x16F51 <= code && code <= 0x16F87 ) || // Mc  [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI
    631 		( 0x16FF0 <= code && code <= 0x16FF1 ) || // Mc   [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
    632 		code === 0x1D166 || // Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
    633 		code === 0x1D16D // Mc       MUSICAL SYMBOL COMBINING AUGMENTATION DOT
    634 	) {
    635 		return constants.SpacingMark;
    636 	}
    637 	if (
    638 		( 0x1100 <= code && code <= 0x115F ) || // Lo  [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
    639 		( 0xA960 <= code && code <= 0xA97C ) // Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
    640 	) {
    641 		return constants.L;
    642 	}
    643 	if (
    644 		( 0x1160 <= code && code <= 0x11A7 ) || // Lo  [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
    645 		( 0xD7B0 <= code && code <= 0xD7C6 ) // Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
    646 	) {
    647 		return constants.V;
    648 	}
    649 	if (
    650 		( 0x11A8 <= code && code <= 0x11FF ) || // Lo  [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
    651 		( 0xD7CB <= code && code <= 0xD7FB ) // Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
    652 	) {
    653 		return constants.T;
    654 	}
    655 	if (
    656 		code === 0xAC00 || // Lo       HANGUL SYLLABLE GA
    657 		code === 0xAC1C || // Lo       HANGUL SYLLABLE GAE
    658 		code === 0xAC38 || // Lo       HANGUL SYLLABLE GYA
    659 		code === 0xAC54 || // Lo       HANGUL SYLLABLE GYAE
    660 		code === 0xAC70 || // Lo       HANGUL SYLLABLE GEO
    661 		code === 0xAC8C || // Lo       HANGUL SYLLABLE GE
    662 		code === 0xACA8 || // Lo       HANGUL SYLLABLE GYEO
    663 		code === 0xACC4 || // Lo       HANGUL SYLLABLE GYE
    664 		code === 0xACE0 || // Lo       HANGUL SYLLABLE GO
    665 		code === 0xACFC || // Lo       HANGUL SYLLABLE GWA
    666 		code === 0xAD18 || // Lo       HANGUL SYLLABLE GWAE
    667 		code === 0xAD34 || // Lo       HANGUL SYLLABLE GOE
    668 		code === 0xAD50 || // Lo       HANGUL SYLLABLE GYO
    669 		code === 0xAD6C || // Lo       HANGUL SYLLABLE GU
    670 		code === 0xAD88 || // Lo       HANGUL SYLLABLE GWEO
    671 		code === 0xADA4 || // Lo       HANGUL SYLLABLE GWE
    672 		code === 0xADC0 || // Lo       HANGUL SYLLABLE GWI
    673 		code === 0xADDC || // Lo       HANGUL SYLLABLE GYU
    674 		code === 0xADF8 || // Lo       HANGUL SYLLABLE GEU
    675 		code === 0xAE14 || // Lo       HANGUL SYLLABLE GYI
    676 		code === 0xAE30 || // Lo       HANGUL SYLLABLE GI
    677 		code === 0xAE4C || // Lo       HANGUL SYLLABLE GGA
    678 		code === 0xAE68 || // Lo       HANGUL SYLLABLE GGAE
    679 		code === 0xAE84 || // Lo       HANGUL SYLLABLE GGYA
    680 		code === 0xAEA0 || // Lo       HANGUL SYLLABLE GGYAE
    681 		code === 0xAEBC || // Lo       HANGUL SYLLABLE GGEO
    682 		code === 0xAED8 || // Lo       HANGUL SYLLABLE GGE
    683 		code === 0xAEF4 || // Lo       HANGUL SYLLABLE GGYEO
    684 		code === 0xAF10 || // Lo       HANGUL SYLLABLE GGYE
    685 		code === 0xAF2C || // Lo       HANGUL SYLLABLE GGO
    686 		code === 0xAF48 || // Lo       HANGUL SYLLABLE GGWA
    687 		code === 0xAF64 || // Lo       HANGUL SYLLABLE GGWAE
    688 		code === 0xAF80 || // Lo       HANGUL SYLLABLE GGOE
    689 		code === 0xAF9C || // Lo       HANGUL SYLLABLE GGYO
    690 		code === 0xAFB8 || // Lo       HANGUL SYLLABLE GGU
    691 		code === 0xAFD4 || // Lo       HANGUL SYLLABLE GGWEO
    692 		code === 0xAFF0 || // Lo       HANGUL SYLLABLE GGWE
    693 		code === 0xB00C || // Lo       HANGUL SYLLABLE GGWI
    694 		code === 0xB028 || // Lo       HANGUL SYLLABLE GGYU
    695 		code === 0xB044 || // Lo       HANGUL SYLLABLE GGEU
    696 		code === 0xB060 || // Lo       HANGUL SYLLABLE GGYI
    697 		code === 0xB07C || // Lo       HANGUL SYLLABLE GGI
    698 		code === 0xB098 || // Lo       HANGUL SYLLABLE NA
    699 		code === 0xB0B4 || // Lo       HANGUL SYLLABLE NAE
    700 		code === 0xB0D0 || // Lo       HANGUL SYLLABLE NYA
    701 		code === 0xB0EC || // Lo       HANGUL SYLLABLE NYAE
    702 		code === 0xB108 || // Lo       HANGUL SYLLABLE NEO
    703 		code === 0xB124 || // Lo       HANGUL SYLLABLE NE
    704 		code === 0xB140 || // Lo       HANGUL SYLLABLE NYEO
    705 		code === 0xB15C || // Lo       HANGUL SYLLABLE NYE
    706 		code === 0xB178 || // Lo       HANGUL SYLLABLE NO
    707 		code === 0xB194 || // Lo       HANGUL SYLLABLE NWA
    708 		code === 0xB1B0 || // Lo       HANGUL SYLLABLE NWAE
    709 		code === 0xB1CC || // Lo       HANGUL SYLLABLE NOE
    710 		code === 0xB1E8 || // Lo       HANGUL SYLLABLE NYO
    711 		code === 0xB204 || // Lo       HANGUL SYLLABLE NU
    712 		code === 0xB220 || // Lo       HANGUL SYLLABLE NWEO
    713 		code === 0xB23C || // Lo       HANGUL SYLLABLE NWE
    714 		code === 0xB258 || // Lo       HANGUL SYLLABLE NWI
    715 		code === 0xB274 || // Lo       HANGUL SYLLABLE NYU
    716 		code === 0xB290 || // Lo       HANGUL SYLLABLE NEU
    717 		code === 0xB2AC || // Lo       HANGUL SYLLABLE NYI
    718 		code === 0xB2C8 || // Lo       HANGUL SYLLABLE NI
    719 		code === 0xB2E4 || // Lo       HANGUL SYLLABLE DA
    720 		code === 0xB300 || // Lo       HANGUL SYLLABLE DAE
    721 		code === 0xB31C || // Lo       HANGUL SYLLABLE DYA
    722 		code === 0xB338 || // Lo       HANGUL SYLLABLE DYAE
    723 		code === 0xB354 || // Lo       HANGUL SYLLABLE DEO
    724 		code === 0xB370 || // Lo       HANGUL SYLLABLE DE
    725 		code === 0xB38C || // Lo       HANGUL SYLLABLE DYEO
    726 		code === 0xB3A8 || // Lo       HANGUL SYLLABLE DYE
    727 		code === 0xB3C4 || // Lo       HANGUL SYLLABLE DO
    728 		code === 0xB3E0 || // Lo       HANGUL SYLLABLE DWA
    729 		code === 0xB3FC || // Lo       HANGUL SYLLABLE DWAE
    730 		code === 0xB418 || // Lo       HANGUL SYLLABLE DOE
    731 		code === 0xB434 || // Lo       HANGUL SYLLABLE DYO
    732 		code === 0xB450 || // Lo       HANGUL SYLLABLE DU
    733 		code === 0xB46C || // Lo       HANGUL SYLLABLE DWEO
    734 		code === 0xB488 || // Lo       HANGUL SYLLABLE DWE
    735 		code === 0xB4A4 || // Lo       HANGUL SYLLABLE DWI
    736 		code === 0xB4C0 || // Lo       HANGUL SYLLABLE DYU
    737 		code === 0xB4DC || // Lo       HANGUL SYLLABLE DEU
    738 		code === 0xB4F8 || // Lo       HANGUL SYLLABLE DYI
    739 		code === 0xB514 || // Lo       HANGUL SYLLABLE DI
    740 		code === 0xB530 || // Lo       HANGUL SYLLABLE DDA
    741 		code === 0xB54C || // Lo       HANGUL SYLLABLE DDAE
    742 		code === 0xB568 || // Lo       HANGUL SYLLABLE DDYA
    743 		code === 0xB584 || // Lo       HANGUL SYLLABLE DDYAE
    744 		code === 0xB5A0 || // Lo       HANGUL SYLLABLE DDEO
    745 		code === 0xB5BC || // Lo       HANGUL SYLLABLE DDE
    746 		code === 0xB5D8 || // Lo       HANGUL SYLLABLE DDYEO
    747 		code === 0xB5F4 || // Lo       HANGUL SYLLABLE DDYE
    748 		code === 0xB610 || // Lo       HANGUL SYLLABLE DDO
    749 		code === 0xB62C || // Lo       HANGUL SYLLABLE DDWA
    750 		code === 0xB648 || // Lo       HANGUL SYLLABLE DDWAE
    751 		code === 0xB664 || // Lo       HANGUL SYLLABLE DDOE
    752 		code === 0xB680 || // Lo       HANGUL SYLLABLE DDYO
    753 		code === 0xB69C || // Lo       HANGUL SYLLABLE DDU
    754 		code === 0xB6B8 || // Lo       HANGUL SYLLABLE DDWEO
    755 		code === 0xB6D4 || // Lo       HANGUL SYLLABLE DDWE
    756 		code === 0xB6F0 || // Lo       HANGUL SYLLABLE DDWI
    757 		code === 0xB70C || // Lo       HANGUL SYLLABLE DDYU
    758 		code === 0xB728 || // Lo       HANGUL SYLLABLE DDEU
    759 		code === 0xB744 || // Lo       HANGUL SYLLABLE DDYI
    760 		code === 0xB760 || // Lo       HANGUL SYLLABLE DDI
    761 		code === 0xB77C || // Lo       HANGUL SYLLABLE RA
    762 		code === 0xB798 || // Lo       HANGUL SYLLABLE RAE
    763 		code === 0xB7B4 || // Lo       HANGUL SYLLABLE RYA
    764 		code === 0xB7D0 || // Lo       HANGUL SYLLABLE RYAE
    765 		code === 0xB7EC || // Lo       HANGUL SYLLABLE REO
    766 		code === 0xB808 || // Lo       HANGUL SYLLABLE RE
    767 		code === 0xB824 || // Lo       HANGUL SYLLABLE RYEO
    768 		code === 0xB840 || // Lo       HANGUL SYLLABLE RYE
    769 		code === 0xB85C || // Lo       HANGUL SYLLABLE RO
    770 		code === 0xB878 || // Lo       HANGUL SYLLABLE RWA
    771 		code === 0xB894 || // Lo       HANGUL SYLLABLE RWAE
    772 		code === 0xB8B0 || // Lo       HANGUL SYLLABLE ROE
    773 		code === 0xB8CC || // Lo       HANGUL SYLLABLE RYO
    774 		code === 0xB8E8 || // Lo       HANGUL SYLLABLE RU
    775 		code === 0xB904 || // Lo       HANGUL SYLLABLE RWEO
    776 		code === 0xB920 || // Lo       HANGUL SYLLABLE RWE
    777 		code === 0xB93C || // Lo       HANGUL SYLLABLE RWI
    778 		code === 0xB958 || // Lo       HANGUL SYLLABLE RYU
    779 		code === 0xB974 || // Lo       HANGUL SYLLABLE REU
    780 		code === 0xB990 || // Lo       HANGUL SYLLABLE RYI
    781 		code === 0xB9AC || // Lo       HANGUL SYLLABLE RI
    782 		code === 0xB9C8 || // Lo       HANGUL SYLLABLE MA
    783 		code === 0xB9E4 || // Lo       HANGUL SYLLABLE MAE
    784 		code === 0xBA00 || // Lo       HANGUL SYLLABLE MYA
    785 		code === 0xBA1C || // Lo       HANGUL SYLLABLE MYAE
    786 		code === 0xBA38 || // Lo       HANGUL SYLLABLE MEO
    787 		code === 0xBA54 || // Lo       HANGUL SYLLABLE ME
    788 		code === 0xBA70 || // Lo       HANGUL SYLLABLE MYEO
    789 		code === 0xBA8C || // Lo       HANGUL SYLLABLE MYE
    790 		code === 0xBAA8 || // Lo       HANGUL SYLLABLE MO
    791 		code === 0xBAC4 || // Lo       HANGUL SYLLABLE MWA
    792 		code === 0xBAE0 || // Lo       HANGUL SYLLABLE MWAE
    793 		code === 0xBAFC || // Lo       HANGUL SYLLABLE MOE
    794 		code === 0xBB18 || // Lo       HANGUL SYLLABLE MYO
    795 		code === 0xBB34 || // Lo       HANGUL SYLLABLE MU
    796 		code === 0xBB50 || // Lo       HANGUL SYLLABLE MWEO
    797 		code === 0xBB6C || // Lo       HANGUL SYLLABLE MWE
    798 		code === 0xBB88 || // Lo       HANGUL SYLLABLE MWI
    799 		code === 0xBBA4 || // Lo       HANGUL SYLLABLE MYU
    800 		code === 0xBBC0 || // Lo       HANGUL SYLLABLE MEU
    801 		code === 0xBBDC || // Lo       HANGUL SYLLABLE MYI
    802 		code === 0xBBF8 || // Lo       HANGUL SYLLABLE MI
    803 		code === 0xBC14 || // Lo       HANGUL SYLLABLE BA
    804 		code === 0xBC30 || // Lo       HANGUL SYLLABLE BAE
    805 		code === 0xBC4C || // Lo       HANGUL SYLLABLE BYA
    806 		code === 0xBC68 || // Lo       HANGUL SYLLABLE BYAE
    807 		code === 0xBC84 || // Lo       HANGUL SYLLABLE BEO
    808 		code === 0xBCA0 || // Lo       HANGUL SYLLABLE BE
    809 		code === 0xBCBC || // Lo       HANGUL SYLLABLE BYEO
    810 		code === 0xBCD8 || // Lo       HANGUL SYLLABLE BYE
    811 		code === 0xBCF4 || // Lo       HANGUL SYLLABLE BO
    812 		code === 0xBD10 || // Lo       HANGUL SYLLABLE BWA
    813 		code === 0xBD2C || // Lo       HANGUL SYLLABLE BWAE
    814 		code === 0xBD48 || // Lo       HANGUL SYLLABLE BOE
    815 		code === 0xBD64 || // Lo       HANGUL SYLLABLE BYO
    816 		code === 0xBD80 || // Lo       HANGUL SYLLABLE BU
    817 		code === 0xBD9C || // Lo       HANGUL SYLLABLE BWEO
    818 		code === 0xBDB8 || // Lo       HANGUL SYLLABLE BWE
    819 		code === 0xBDD4 || // Lo       HANGUL SYLLABLE BWI
    820 		code === 0xBDF0 || // Lo       HANGUL SYLLABLE BYU
    821 		code === 0xBE0C || // Lo       HANGUL SYLLABLE BEU
    822 		code === 0xBE28 || // Lo       HANGUL SYLLABLE BYI
    823 		code === 0xBE44 || // Lo       HANGUL SYLLABLE BI
    824 		code === 0xBE60 || // Lo       HANGUL SYLLABLE BBA
    825 		code === 0xBE7C || // Lo       HANGUL SYLLABLE BBAE
    826 		code === 0xBE98 || // Lo       HANGUL SYLLABLE BBYA
    827 		code === 0xBEB4 || // Lo       HANGUL SYLLABLE BBYAE
    828 		code === 0xBED0 || // Lo       HANGUL SYLLABLE BBEO
    829 		code === 0xBEEC || // Lo       HANGUL SYLLABLE BBE
    830 		code === 0xBF08 || // Lo       HANGUL SYLLABLE BBYEO
    831 		code === 0xBF24 || // Lo       HANGUL SYLLABLE BBYE
    832 		code === 0xBF40 || // Lo       HANGUL SYLLABLE BBO
    833 		code === 0xBF5C || // Lo       HANGUL SYLLABLE BBWA
    834 		code === 0xBF78 || // Lo       HANGUL SYLLABLE BBWAE
    835 		code === 0xBF94 || // Lo       HANGUL SYLLABLE BBOE
    836 		code === 0xBFB0 || // Lo       HANGUL SYLLABLE BBYO
    837 		code === 0xBFCC || // Lo       HANGUL SYLLABLE BBU
    838 		code === 0xBFE8 || // Lo       HANGUL SYLLABLE BBWEO
    839 		code === 0xC004 || // Lo       HANGUL SYLLABLE BBWE
    840 		code === 0xC020 || // Lo       HANGUL SYLLABLE BBWI
    841 		code === 0xC03C || // Lo       HANGUL SYLLABLE BBYU
    842 		code === 0xC058 || // Lo       HANGUL SYLLABLE BBEU
    843 		code === 0xC074 || // Lo       HANGUL SYLLABLE BBYI
    844 		code === 0xC090 || // Lo       HANGUL SYLLABLE BBI
    845 		code === 0xC0AC || // Lo       HANGUL SYLLABLE SA
    846 		code === 0xC0C8 || // Lo       HANGUL SYLLABLE SAE
    847 		code === 0xC0E4 || // Lo       HANGUL SYLLABLE SYA
    848 		code === 0xC100 || // Lo       HANGUL SYLLABLE SYAE
    849 		code === 0xC11C || // Lo       HANGUL SYLLABLE SEO
    850 		code === 0xC138 || // Lo       HANGUL SYLLABLE SE
    851 		code === 0xC154 || // Lo       HANGUL SYLLABLE SYEO
    852 		code === 0xC170 || // Lo       HANGUL SYLLABLE SYE
    853 		code === 0xC18C || // Lo       HANGUL SYLLABLE SO
    854 		code === 0xC1A8 || // Lo       HANGUL SYLLABLE SWA
    855 		code === 0xC1C4 || // Lo       HANGUL SYLLABLE SWAE
    856 		code === 0xC1E0 || // Lo       HANGUL SYLLABLE SOE
    857 		code === 0xC1FC || // Lo       HANGUL SYLLABLE SYO
    858 		code === 0xC218 || // Lo       HANGUL SYLLABLE SU
    859 		code === 0xC234 || // Lo       HANGUL SYLLABLE SWEO
    860 		code === 0xC250 || // Lo       HANGUL SYLLABLE SWE
    861 		code === 0xC26C || // Lo       HANGUL SYLLABLE SWI
    862 		code === 0xC288 || // Lo       HANGUL SYLLABLE SYU
    863 		code === 0xC2A4 || // Lo       HANGUL SYLLABLE SEU
    864 		code === 0xC2C0 || // Lo       HANGUL SYLLABLE SYI
    865 		code === 0xC2DC || // Lo       HANGUL SYLLABLE SI
    866 		code === 0xC2F8 || // Lo       HANGUL SYLLABLE SSA
    867 		code === 0xC314 || // Lo       HANGUL SYLLABLE SSAE
    868 		code === 0xC330 || // Lo       HANGUL SYLLABLE SSYA
    869 		code === 0xC34C || // Lo       HANGUL SYLLABLE SSYAE
    870 		code === 0xC368 || // Lo       HANGUL SYLLABLE SSEO
    871 		code === 0xC384 || // Lo       HANGUL SYLLABLE SSE
    872 		code === 0xC3A0 || // Lo       HANGUL SYLLABLE SSYEO
    873 		code === 0xC3BC || // Lo       HANGUL SYLLABLE SSYE
    874 		code === 0xC3D8 || // Lo       HANGUL SYLLABLE SSO
    875 		code === 0xC3F4 || // Lo       HANGUL SYLLABLE SSWA
    876 		code === 0xC410 || // Lo       HANGUL SYLLABLE SSWAE
    877 		code === 0xC42C || // Lo       HANGUL SYLLABLE SSOE
    878 		code === 0xC448 || // Lo       HANGUL SYLLABLE SSYO
    879 		code === 0xC464 || // Lo       HANGUL SYLLABLE SSU
    880 		code === 0xC480 || // Lo       HANGUL SYLLABLE SSWEO
    881 		code === 0xC49C || // Lo       HANGUL SYLLABLE SSWE
    882 		code === 0xC4B8 || // Lo       HANGUL SYLLABLE SSWI
    883 		code === 0xC4D4 || // Lo       HANGUL SYLLABLE SSYU
    884 		code === 0xC4F0 || // Lo       HANGUL SYLLABLE SSEU
    885 		code === 0xC50C || // Lo       HANGUL SYLLABLE SSYI
    886 		code === 0xC528 || // Lo       HANGUL SYLLABLE SSI
    887 		code === 0xC544 || // Lo       HANGUL SYLLABLE A
    888 		code === 0xC560 || // Lo       HANGUL SYLLABLE AE
    889 		code === 0xC57C || // Lo       HANGUL SYLLABLE YA
    890 		code === 0xC598 || // Lo       HANGUL SYLLABLE YAE
    891 		code === 0xC5B4 || // Lo       HANGUL SYLLABLE EO
    892 		code === 0xC5D0 || // Lo       HANGUL SYLLABLE E
    893 		code === 0xC5EC || // Lo       HANGUL SYLLABLE YEO
    894 		code === 0xC608 || // Lo       HANGUL SYLLABLE YE
    895 		code === 0xC624 || // Lo       HANGUL SYLLABLE O
    896 		code === 0xC640 || // Lo       HANGUL SYLLABLE WA
    897 		code === 0xC65C || // Lo       HANGUL SYLLABLE WAE
    898 		code === 0xC678 || // Lo       HANGUL SYLLABLE OE
    899 		code === 0xC694 || // Lo       HANGUL SYLLABLE YO
    900 		code === 0xC6B0 || // Lo       HANGUL SYLLABLE U
    901 		code === 0xC6CC || // Lo       HANGUL SYLLABLE WEO
    902 		code === 0xC6E8 || // Lo       HANGUL SYLLABLE WE
    903 		code === 0xC704 || // Lo       HANGUL SYLLABLE WI
    904 		code === 0xC720 || // Lo       HANGUL SYLLABLE YU
    905 		code === 0xC73C || // Lo       HANGUL SYLLABLE EU
    906 		code === 0xC758 || // Lo       HANGUL SYLLABLE YI
    907 		code === 0xC774 || // Lo       HANGUL SYLLABLE I
    908 		code === 0xC790 || // Lo       HANGUL SYLLABLE JA
    909 		code === 0xC7AC || // Lo       HANGUL SYLLABLE JAE
    910 		code === 0xC7C8 || // Lo       HANGUL SYLLABLE JYA
    911 		code === 0xC7E4 || // Lo       HANGUL SYLLABLE JYAE
    912 		code === 0xC800 || // Lo       HANGUL SYLLABLE JEO
    913 		code === 0xC81C || // Lo       HANGUL SYLLABLE JE
    914 		code === 0xC838 || // Lo       HANGUL SYLLABLE JYEO
    915 		code === 0xC854 || // Lo       HANGUL SYLLABLE JYE
    916 		code === 0xC870 || // Lo       HANGUL SYLLABLE JO
    917 		code === 0xC88C || // Lo       HANGUL SYLLABLE JWA
    918 		code === 0xC8A8 || // Lo       HANGUL SYLLABLE JWAE
    919 		code === 0xC8C4 || // Lo       HANGUL SYLLABLE JOE
    920 		code === 0xC8E0 || // Lo       HANGUL SYLLABLE JYO
    921 		code === 0xC8FC || // Lo       HANGUL SYLLABLE JU
    922 		code === 0xC918 || // Lo       HANGUL SYLLABLE JWEO
    923 		code === 0xC934 || // Lo       HANGUL SYLLABLE JWE
    924 		code === 0xC950 || // Lo       HANGUL SYLLABLE JWI
    925 		code === 0xC96C || // Lo       HANGUL SYLLABLE JYU
    926 		code === 0xC988 || // Lo       HANGUL SYLLABLE JEU
    927 		code === 0xC9A4 || // Lo       HANGUL SYLLABLE JYI
    928 		code === 0xC9C0 || // Lo       HANGUL SYLLABLE JI
    929 		code === 0xC9DC || // Lo       HANGUL SYLLABLE JJA
    930 		code === 0xC9F8 || // Lo       HANGUL SYLLABLE JJAE
    931 		code === 0xCA14 || // Lo       HANGUL SYLLABLE JJYA
    932 		code === 0xCA30 || // Lo       HANGUL SYLLABLE JJYAE
    933 		code === 0xCA4C || // Lo       HANGUL SYLLABLE JJEO
    934 		code === 0xCA68 || // Lo       HANGUL SYLLABLE JJE
    935 		code === 0xCA84 || // Lo       HANGUL SYLLABLE JJYEO
    936 		code === 0xCAA0 || // Lo       HANGUL SYLLABLE JJYE
    937 		code === 0xCABC || // Lo       HANGUL SYLLABLE JJO
    938 		code === 0xCAD8 || // Lo       HANGUL SYLLABLE JJWA
    939 		code === 0xCAF4 || // Lo       HANGUL SYLLABLE JJWAE
    940 		code === 0xCB10 || // Lo       HANGUL SYLLABLE JJOE
    941 		code === 0xCB2C || // Lo       HANGUL SYLLABLE JJYO
    942 		code === 0xCB48 || // Lo       HANGUL SYLLABLE JJU
    943 		code === 0xCB64 || // Lo       HANGUL SYLLABLE JJWEO
    944 		code === 0xCB80 || // Lo       HANGUL SYLLABLE JJWE
    945 		code === 0xCB9C || // Lo       HANGUL SYLLABLE JJWI
    946 		code === 0xCBB8 || // Lo       HANGUL SYLLABLE JJYU
    947 		code === 0xCBD4 || // Lo       HANGUL SYLLABLE JJEU
    948 		code === 0xCBF0 || // Lo       HANGUL SYLLABLE JJYI
    949 		code === 0xCC0C || // Lo       HANGUL SYLLABLE JJI
    950 		code === 0xCC28 || // Lo       HANGUL SYLLABLE CA
    951 		code === 0xCC44 || // Lo       HANGUL SYLLABLE CAE
    952 		code === 0xCC60 || // Lo       HANGUL SYLLABLE CYA
    953 		code === 0xCC7C || // Lo       HANGUL SYLLABLE CYAE
    954 		code === 0xCC98 || // Lo       HANGUL SYLLABLE CEO
    955 		code === 0xCCB4 || // Lo       HANGUL SYLLABLE CE
    956 		code === 0xCCD0 || // Lo       HANGUL SYLLABLE CYEO
    957 		code === 0xCCEC || // Lo       HANGUL SYLLABLE CYE
    958 		code === 0xCD08 || // Lo       HANGUL SYLLABLE CO
    959 		code === 0xCD24 || // Lo       HANGUL SYLLABLE CWA
    960 		code === 0xCD40 || // Lo       HANGUL SYLLABLE CWAE
    961 		code === 0xCD5C || // Lo       HANGUL SYLLABLE COE
    962 		code === 0xCD78 || // Lo       HANGUL SYLLABLE CYO
    963 		code === 0xCD94 || // Lo       HANGUL SYLLABLE CU
    964 		code === 0xCDB0 || // Lo       HANGUL SYLLABLE CWEO
    965 		code === 0xCDCC || // Lo       HANGUL SYLLABLE CWE
    966 		code === 0xCDE8 || // Lo       HANGUL SYLLABLE CWI
    967 		code === 0xCE04 || // Lo       HANGUL SYLLABLE CYU
    968 		code === 0xCE20 || // Lo       HANGUL SYLLABLE CEU
    969 		code === 0xCE3C || // Lo       HANGUL SYLLABLE CYI
    970 		code === 0xCE58 || // Lo       HANGUL SYLLABLE CI
    971 		code === 0xCE74 || // Lo       HANGUL SYLLABLE KA
    972 		code === 0xCE90 || // Lo       HANGUL SYLLABLE KAE
    973 		code === 0xCEAC || // Lo       HANGUL SYLLABLE KYA
    974 		code === 0xCEC8 || // Lo       HANGUL SYLLABLE KYAE
    975 		code === 0xCEE4 || // Lo       HANGUL SYLLABLE KEO
    976 		code === 0xCF00 || // Lo       HANGUL SYLLABLE KE
    977 		code === 0xCF1C || // Lo       HANGUL SYLLABLE KYEO
    978 		code === 0xCF38 || // Lo       HANGUL SYLLABLE KYE
    979 		code === 0xCF54 || // Lo       HANGUL SYLLABLE KO
    980 		code === 0xCF70 || // Lo       HANGUL SYLLABLE KWA
    981 		code === 0xCF8C || // Lo       HANGUL SYLLABLE KWAE
    982 		code === 0xCFA8 || // Lo       HANGUL SYLLABLE KOE
    983 		code === 0xCFC4 || // Lo       HANGUL SYLLABLE KYO
    984 		code === 0xCFE0 || // Lo       HANGUL SYLLABLE KU
    985 		code === 0xCFFC || // Lo       HANGUL SYLLABLE KWEO
    986 		code === 0xD018 || // Lo       HANGUL SYLLABLE KWE
    987 		code === 0xD034 || // Lo       HANGUL SYLLABLE KWI
    988 		code === 0xD050 || // Lo       HANGUL SYLLABLE KYU
    989 		code === 0xD06C || // Lo       HANGUL SYLLABLE KEU
    990 		code === 0xD088 || // Lo       HANGUL SYLLABLE KYI
    991 		code === 0xD0A4 || // Lo       HANGUL SYLLABLE KI
    992 		code === 0xD0C0 || // Lo       HANGUL SYLLABLE TA
    993 		code === 0xD0DC || // Lo       HANGUL SYLLABLE TAE
    994 		code === 0xD0F8 || // Lo       HANGUL SYLLABLE TYA
    995 		code === 0xD114 || // Lo       HANGUL SYLLABLE TYAE
    996 		code === 0xD130 || // Lo       HANGUL SYLLABLE TEO
    997 		code === 0xD14C || // Lo       HANGUL SYLLABLE TE
    998 		code === 0xD168 || // Lo       HANGUL SYLLABLE TYEO
    999 		code === 0xD184 || // Lo       HANGUL SYLLABLE TYE
   1000 		code === 0xD1A0 || // Lo       HANGUL SYLLABLE TO
   1001 		code === 0xD1BC || // Lo       HANGUL SYLLABLE TWA
   1002 		code === 0xD1D8 || // Lo       HANGUL SYLLABLE TWAE
   1003 		code === 0xD1F4 || // Lo       HANGUL SYLLABLE TOE
   1004 		code === 0xD210 || // Lo       HANGUL SYLLABLE TYO
   1005 		code === 0xD22C || // Lo       HANGUL SYLLABLE TU
   1006 		code === 0xD248 || // Lo       HANGUL SYLLABLE TWEO
   1007 		code === 0xD264 || // Lo       HANGUL SYLLABLE TWE
   1008 		code === 0xD280 || // Lo       HANGUL SYLLABLE TWI
   1009 		code === 0xD29C || // Lo       HANGUL SYLLABLE TYU
   1010 		code === 0xD2B8 || // Lo       HANGUL SYLLABLE TEU
   1011 		code === 0xD2D4 || // Lo       HANGUL SYLLABLE TYI
   1012 		code === 0xD2F0 || // Lo       HANGUL SYLLABLE TI
   1013 		code === 0xD30C || // Lo       HANGUL SYLLABLE PA
   1014 		code === 0xD328 || // Lo       HANGUL SYLLABLE PAE
   1015 		code === 0xD344 || // Lo       HANGUL SYLLABLE PYA
   1016 		code === 0xD360 || // Lo       HANGUL SYLLABLE PYAE
   1017 		code === 0xD37C || // Lo       HANGUL SYLLABLE PEO
   1018 		code === 0xD398 || // Lo       HANGUL SYLLABLE PE
   1019 		code === 0xD3B4 || // Lo       HANGUL SYLLABLE PYEO
   1020 		code === 0xD3D0 || // Lo       HANGUL SYLLABLE PYE
   1021 		code === 0xD3EC || // Lo       HANGUL SYLLABLE PO
   1022 		code === 0xD408 || // Lo       HANGUL SYLLABLE PWA
   1023 		code === 0xD424 || // Lo       HANGUL SYLLABLE PWAE
   1024 		code === 0xD440 || // Lo       HANGUL SYLLABLE POE
   1025 		code === 0xD45C || // Lo       HANGUL SYLLABLE PYO
   1026 		code === 0xD478 || // Lo       HANGUL SYLLABLE PU
   1027 		code === 0xD494 || // Lo       HANGUL SYLLABLE PWEO
   1028 		code === 0xD4B0 || // Lo       HANGUL SYLLABLE PWE
   1029 		code === 0xD4CC || // Lo       HANGUL SYLLABLE PWI
   1030 		code === 0xD4E8 || // Lo       HANGUL SYLLABLE PYU
   1031 		code === 0xD504 || // Lo       HANGUL SYLLABLE PEU
   1032 		code === 0xD520 || // Lo       HANGUL SYLLABLE PYI
   1033 		code === 0xD53C || // Lo       HANGUL SYLLABLE PI
   1034 		code === 0xD558 || // Lo       HANGUL SYLLABLE HA
   1035 		code === 0xD574 || // Lo       HANGUL SYLLABLE HAE
   1036 		code === 0xD590 || // Lo       HANGUL SYLLABLE HYA
   1037 		code === 0xD5AC || // Lo       HANGUL SYLLABLE HYAE
   1038 		code === 0xD5C8 || // Lo       HANGUL SYLLABLE HEO
   1039 		code === 0xD5E4 || // Lo       HANGUL SYLLABLE HE
   1040 		code === 0xD600 || // Lo       HANGUL SYLLABLE HYEO
   1041 		code === 0xD61C || // Lo       HANGUL SYLLABLE HYE
   1042 		code === 0xD638 || // Lo       HANGUL SYLLABLE HO
   1043 		code === 0xD654 || // Lo       HANGUL SYLLABLE HWA
   1044 		code === 0xD670 || // Lo       HANGUL SYLLABLE HWAE
   1045 		code === 0xD68C || // Lo       HANGUL SYLLABLE HOE
   1046 		code === 0xD6A8 || // Lo       HANGUL SYLLABLE HYO
   1047 		code === 0xD6C4 || // Lo       HANGUL SYLLABLE HU
   1048 		code === 0xD6E0 || // Lo       HANGUL SYLLABLE HWEO
   1049 		code === 0xD6FC || // Lo       HANGUL SYLLABLE HWE
   1050 		code === 0xD718 || // Lo       HANGUL SYLLABLE HWI
   1051 		code === 0xD734 || // Lo       HANGUL SYLLABLE HYU
   1052 		code === 0xD750 || // Lo       HANGUL SYLLABLE HEU
   1053 		code === 0xD76C || // Lo       HANGUL SYLLABLE HYI
   1054 		code === 0xD788 // Lo       HANGUL SYLLABLE HI
   1055 	) {
   1056 		return constants.LV;
   1057 	}
   1058 	if (
   1059 		( 0xAC01 <= code && code <= 0xAC1B ) || // Lo  [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
   1060 		( 0xAC1D <= code && code <= 0xAC37 ) || // Lo  [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
   1061 		( 0xAC39 <= code && code <= 0xAC53 ) || // Lo  [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
   1062 		( 0xAC55 <= code && code <= 0xAC6F ) || // Lo  [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
   1063 		( 0xAC71 <= code && code <= 0xAC8B ) || // Lo  [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
   1064 		( 0xAC8D <= code && code <= 0xACA7 ) || // Lo  [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
   1065 		( 0xACA9 <= code && code <= 0xACC3 ) || // Lo  [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
   1066 		( 0xACC5 <= code && code <= 0xACDF ) || // Lo  [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
   1067 		( 0xACE1 <= code && code <= 0xACFB ) || // Lo  [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
   1068 		( 0xACFD <= code && code <= 0xAD17 ) || // Lo  [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
   1069 		( 0xAD19 <= code && code <= 0xAD33 ) || // Lo  [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
   1070 		( 0xAD35 <= code && code <= 0xAD4F ) || // Lo  [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
   1071 		( 0xAD51 <= code && code <= 0xAD6B ) || // Lo  [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
   1072 		( 0xAD6D <= code && code <= 0xAD87 ) || // Lo  [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
   1073 		( 0xAD89 <= code && code <= 0xADA3 ) || // Lo  [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
   1074 		( 0xADA5 <= code && code <= 0xADBF ) || // Lo  [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
   1075 		( 0xADC1 <= code && code <= 0xADDB ) || // Lo  [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
   1076 		( 0xADDD <= code && code <= 0xADF7 ) || // Lo  [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
   1077 		( 0xADF9 <= code && code <= 0xAE13 ) || // Lo  [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
   1078 		( 0xAE15 <= code && code <= 0xAE2F ) || // Lo  [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
   1079 		( 0xAE31 <= code && code <= 0xAE4B ) || // Lo  [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
   1080 		( 0xAE4D <= code && code <= 0xAE67 ) || // Lo  [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
   1081 		( 0xAE69 <= code && code <= 0xAE83 ) || // Lo  [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
   1082 		( 0xAE85 <= code && code <= 0xAE9F ) || // Lo  [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
   1083 		( 0xAEA1 <= code && code <= 0xAEBB ) || // Lo  [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
   1084 		( 0xAEBD <= code && code <= 0xAED7 ) || // Lo  [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
   1085 		( 0xAED9 <= code && code <= 0xAEF3 ) || // Lo  [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
   1086 		( 0xAEF5 <= code && code <= 0xAF0F ) || // Lo  [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
   1087 		( 0xAF11 <= code && code <= 0xAF2B ) || // Lo  [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
   1088 		( 0xAF2D <= code && code <= 0xAF47 ) || // Lo  [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
   1089 		( 0xAF49 <= code && code <= 0xAF63 ) || // Lo  [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
   1090 		( 0xAF65 <= code && code <= 0xAF7F ) || // Lo  [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
   1091 		( 0xAF81 <= code && code <= 0xAF9B ) || // Lo  [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
   1092 		( 0xAF9D <= code && code <= 0xAFB7 ) || // Lo  [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
   1093 		( 0xAFB9 <= code && code <= 0xAFD3 ) || // Lo  [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
   1094 		( 0xAFD5 <= code && code <= 0xAFEF ) || // Lo  [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
   1095 		( 0xAFF1 <= code && code <= 0xB00B ) || // Lo  [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
   1096 		( 0xB00D <= code && code <= 0xB027 ) || // Lo  [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
   1097 		( 0xB029 <= code && code <= 0xB043 ) || // Lo  [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
   1098 		( 0xB045 <= code && code <= 0xB05F ) || // Lo  [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
   1099 		( 0xB061 <= code && code <= 0xB07B ) || // Lo  [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
   1100 		( 0xB07D <= code && code <= 0xB097 ) || // Lo  [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
   1101 		( 0xB099 <= code && code <= 0xB0B3 ) || // Lo  [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
   1102 		( 0xB0B5 <= code && code <= 0xB0CF ) || // Lo  [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
   1103 		( 0xB0D1 <= code && code <= 0xB0EB ) || // Lo  [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
   1104 		( 0xB0ED <= code && code <= 0xB107 ) || // Lo  [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
   1105 		( 0xB109 <= code && code <= 0xB123 ) || // Lo  [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
   1106 		( 0xB125 <= code && code <= 0xB13F ) || // Lo  [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
   1107 		( 0xB141 <= code && code <= 0xB15B ) || // Lo  [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
   1108 		( 0xB15D <= code && code <= 0xB177 ) || // Lo  [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
   1109 		( 0xB179 <= code && code <= 0xB193 ) || // Lo  [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
   1110 		( 0xB195 <= code && code <= 0xB1AF ) || // Lo  [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
   1111 		( 0xB1B1 <= code && code <= 0xB1CB ) || // Lo  [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
   1112 		( 0xB1CD <= code && code <= 0xB1E7 ) || // Lo  [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
   1113 		( 0xB1E9 <= code && code <= 0xB203 ) || // Lo  [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
   1114 		( 0xB205 <= code && code <= 0xB21F ) || // Lo  [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
   1115 		( 0xB221 <= code && code <= 0xB23B ) || // Lo  [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
   1116 		( 0xB23D <= code && code <= 0xB257 ) || // Lo  [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
   1117 		( 0xB259 <= code && code <= 0xB273 ) || // Lo  [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
   1118 		( 0xB275 <= code && code <= 0xB28F ) || // Lo  [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
   1119 		( 0xB291 <= code && code <= 0xB2AB ) || // Lo  [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
   1120 		( 0xB2AD <= code && code <= 0xB2C7 ) || // Lo  [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
   1121 		( 0xB2C9 <= code && code <= 0xB2E3 ) || // Lo  [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
   1122 		( 0xB2E5 <= code && code <= 0xB2FF ) || // Lo  [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
   1123 		( 0xB301 <= code && code <= 0xB31B ) || // Lo  [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
   1124 		( 0xB31D <= code && code <= 0xB337 ) || // Lo  [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
   1125 		( 0xB339 <= code && code <= 0xB353 ) || // Lo  [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
   1126 		( 0xB355 <= code && code <= 0xB36F ) || // Lo  [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
   1127 		( 0xB371 <= code && code <= 0xB38B ) || // Lo  [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
   1128 		( 0xB38D <= code && code <= 0xB3A7 ) || // Lo  [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
   1129 		( 0xB3A9 <= code && code <= 0xB3C3 ) || // Lo  [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
   1130 		( 0xB3C5 <= code && code <= 0xB3DF ) || // Lo  [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
   1131 		( 0xB3E1 <= code && code <= 0xB3FB ) || // Lo  [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
   1132 		( 0xB3FD <= code && code <= 0xB417 ) || // Lo  [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
   1133 		( 0xB419 <= code && code <= 0xB433 ) || // Lo  [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
   1134 		( 0xB435 <= code && code <= 0xB44F ) || // Lo  [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
   1135 		( 0xB451 <= code && code <= 0xB46B ) || // Lo  [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
   1136 		( 0xB46D <= code && code <= 0xB487 ) || // Lo  [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
   1137 		( 0xB489 <= code && code <= 0xB4A3 ) || // Lo  [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
   1138 		( 0xB4A5 <= code && code <= 0xB4BF ) || // Lo  [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
   1139 		( 0xB4C1 <= code && code <= 0xB4DB ) || // Lo  [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
   1140 		( 0xB4DD <= code && code <= 0xB4F7 ) || // Lo  [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
   1141 		( 0xB4F9 <= code && code <= 0xB513 ) || // Lo  [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
   1142 		( 0xB515 <= code && code <= 0xB52F ) || // Lo  [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
   1143 		( 0xB531 <= code && code <= 0xB54B ) || // Lo  [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
   1144 		( 0xB54D <= code && code <= 0xB567 ) || // Lo  [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
   1145 		( 0xB569 <= code && code <= 0xB583 ) || // Lo  [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
   1146 		( 0xB585 <= code && code <= 0xB59F ) || // Lo  [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
   1147 		( 0xB5A1 <= code && code <= 0xB5BB ) || // Lo  [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
   1148 		( 0xB5BD <= code && code <= 0xB5D7 ) || // Lo  [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
   1149 		( 0xB5D9 <= code && code <= 0xB5F3 ) || // Lo  [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
   1150 		( 0xB5F5 <= code && code <= 0xB60F ) || // Lo  [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
   1151 		( 0xB611 <= code && code <= 0xB62B ) || // Lo  [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
   1152 		( 0xB62D <= code && code <= 0xB647 ) || // Lo  [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
   1153 		( 0xB649 <= code && code <= 0xB663 ) || // Lo  [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
   1154 		( 0xB665 <= code && code <= 0xB67F ) || // Lo  [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
   1155 		( 0xB681 <= code && code <= 0xB69B ) || // Lo  [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
   1156 		( 0xB69D <= code && code <= 0xB6B7 ) || // Lo  [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
   1157 		( 0xB6B9 <= code && code <= 0xB6D3 ) || // Lo  [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
   1158 		( 0xB6D5 <= code && code <= 0xB6EF ) || // Lo  [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
   1159 		( 0xB6F1 <= code && code <= 0xB70B ) || // Lo  [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
   1160 		( 0xB70D <= code && code <= 0xB727 ) || // Lo  [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
   1161 		( 0xB729 <= code && code <= 0xB743 ) || // Lo  [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
   1162 		( 0xB745 <= code && code <= 0xB75F ) || // Lo  [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
   1163 		( 0xB761 <= code && code <= 0xB77B ) || // Lo  [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
   1164 		( 0xB77D <= code && code <= 0xB797 ) || // Lo  [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
   1165 		( 0xB799 <= code && code <= 0xB7B3 ) || // Lo  [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
   1166 		( 0xB7B5 <= code && code <= 0xB7CF ) || // Lo  [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
   1167 		( 0xB7D1 <= code && code <= 0xB7EB ) || // Lo  [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
   1168 		( 0xB7ED <= code && code <= 0xB807 ) || // Lo  [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
   1169 		( 0xB809 <= code && code <= 0xB823 ) || // Lo  [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
   1170 		( 0xB825 <= code && code <= 0xB83F ) || // Lo  [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
   1171 		( 0xB841 <= code && code <= 0xB85B ) || // Lo  [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
   1172 		( 0xB85D <= code && code <= 0xB877 ) || // Lo  [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
   1173 		( 0xB879 <= code && code <= 0xB893 ) || // Lo  [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
   1174 		( 0xB895 <= code && code <= 0xB8AF ) || // Lo  [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
   1175 		( 0xB8B1 <= code && code <= 0xB8CB ) || // Lo  [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
   1176 		( 0xB8CD <= code && code <= 0xB8E7 ) || // Lo  [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
   1177 		( 0xB8E9 <= code && code <= 0xB903 ) || // Lo  [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
   1178 		( 0xB905 <= code && code <= 0xB91F ) || // Lo  [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
   1179 		( 0xB921 <= code && code <= 0xB93B ) || // Lo  [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
   1180 		( 0xB93D <= code && code <= 0xB957 ) || // Lo  [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
   1181 		( 0xB959 <= code && code <= 0xB973 ) || // Lo  [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
   1182 		( 0xB975 <= code && code <= 0xB98F ) || // Lo  [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
   1183 		( 0xB991 <= code && code <= 0xB9AB ) || // Lo  [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
   1184 		( 0xB9AD <= code && code <= 0xB9C7 ) || // Lo  [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
   1185 		( 0xB9C9 <= code && code <= 0xB9E3 ) || // Lo  [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
   1186 		( 0xB9E5 <= code && code <= 0xB9FF ) || // Lo  [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
   1187 		( 0xBA01 <= code && code <= 0xBA1B ) || // Lo  [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
   1188 		( 0xBA1D <= code && code <= 0xBA37 ) || // Lo  [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
   1189 		( 0xBA39 <= code && code <= 0xBA53 ) || // Lo  [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
   1190 		( 0xBA55 <= code && code <= 0xBA6F ) || // Lo  [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
   1191 		( 0xBA71 <= code && code <= 0xBA8B ) || // Lo  [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
   1192 		( 0xBA8D <= code && code <= 0xBAA7 ) || // Lo  [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
   1193 		( 0xBAA9 <= code && code <= 0xBAC3 ) || // Lo  [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
   1194 		( 0xBAC5 <= code && code <= 0xBADF ) || // Lo  [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
   1195 		( 0xBAE1 <= code && code <= 0xBAFB ) || // Lo  [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
   1196 		( 0xBAFD <= code && code <= 0xBB17 ) || // Lo  [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
   1197 		( 0xBB19 <= code && code <= 0xBB33 ) || // Lo  [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
   1198 		( 0xBB35 <= code && code <= 0xBB4F ) || // Lo  [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
   1199 		( 0xBB51 <= code && code <= 0xBB6B ) || // Lo  [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
   1200 		( 0xBB6D <= code && code <= 0xBB87 ) || // Lo  [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
   1201 		( 0xBB89 <= code && code <= 0xBBA3 ) || // Lo  [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
   1202 		( 0xBBA5 <= code && code <= 0xBBBF ) || // Lo  [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
   1203 		( 0xBBC1 <= code && code <= 0xBBDB ) || // Lo  [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
   1204 		( 0xBBDD <= code && code <= 0xBBF7 ) || // Lo  [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
   1205 		( 0xBBF9 <= code && code <= 0xBC13 ) || // Lo  [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
   1206 		( 0xBC15 <= code && code <= 0xBC2F ) || // Lo  [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
   1207 		( 0xBC31 <= code && code <= 0xBC4B ) || // Lo  [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
   1208 		( 0xBC4D <= code && code <= 0xBC67 ) || // Lo  [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
   1209 		( 0xBC69 <= code && code <= 0xBC83 ) || // Lo  [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
   1210 		( 0xBC85 <= code && code <= 0xBC9F ) || // Lo  [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
   1211 		( 0xBCA1 <= code && code <= 0xBCBB ) || // Lo  [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
   1212 		( 0xBCBD <= code && code <= 0xBCD7 ) || // Lo  [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
   1213 		( 0xBCD9 <= code && code <= 0xBCF3 ) || // Lo  [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
   1214 		( 0xBCF5 <= code && code <= 0xBD0F ) || // Lo  [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
   1215 		( 0xBD11 <= code && code <= 0xBD2B ) || // Lo  [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
   1216 		( 0xBD2D <= code && code <= 0xBD47 ) || // Lo  [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
   1217 		( 0xBD49 <= code && code <= 0xBD63 ) || // Lo  [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
   1218 		( 0xBD65 <= code && code <= 0xBD7F ) || // Lo  [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
   1219 		( 0xBD81 <= code && code <= 0xBD9B ) || // Lo  [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
   1220 		( 0xBD9D <= code && code <= 0xBDB7 ) || // Lo  [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
   1221 		( 0xBDB9 <= code && code <= 0xBDD3 ) || // Lo  [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
   1222 		( 0xBDD5 <= code && code <= 0xBDEF ) || // Lo  [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
   1223 		( 0xBDF1 <= code && code <= 0xBE0B ) || // Lo  [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
   1224 		( 0xBE0D <= code && code <= 0xBE27 ) || // Lo  [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
   1225 		( 0xBE29 <= code && code <= 0xBE43 ) || // Lo  [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
   1226 		( 0xBE45 <= code && code <= 0xBE5F ) || // Lo  [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
   1227 		( 0xBE61 <= code && code <= 0xBE7B ) || // Lo  [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
   1228 		( 0xBE7D <= code && code <= 0xBE97 ) || // Lo  [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
   1229 		( 0xBE99 <= code && code <= 0xBEB3 ) || // Lo  [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
   1230 		( 0xBEB5 <= code && code <= 0xBECF ) || // Lo  [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
   1231 		( 0xBED1 <= code && code <= 0xBEEB ) || // Lo  [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
   1232 		( 0xBEED <= code && code <= 0xBF07 ) || // Lo  [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
   1233 		( 0xBF09 <= code && code <= 0xBF23 ) || // Lo  [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
   1234 		( 0xBF25 <= code && code <= 0xBF3F ) || // Lo  [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
   1235 		( 0xBF41 <= code && code <= 0xBF5B ) || // Lo  [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
   1236 		( 0xBF5D <= code && code <= 0xBF77 ) || // Lo  [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
   1237 		( 0xBF79 <= code && code <= 0xBF93 ) || // Lo  [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
   1238 		( 0xBF95 <= code && code <= 0xBFAF ) || // Lo  [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
   1239 		( 0xBFB1 <= code && code <= 0xBFCB ) || // Lo  [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
   1240 		( 0xBFCD <= code && code <= 0xBFE7 ) || // Lo  [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
   1241 		( 0xBFE9 <= code && code <= 0xC003 ) || // Lo  [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
   1242 		( 0xC005 <= code && code <= 0xC01F ) || // Lo  [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
   1243 		( 0xC021 <= code && code <= 0xC03B ) || // Lo  [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
   1244 		( 0xC03D <= code && code <= 0xC057 ) || // Lo  [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
   1245 		( 0xC059 <= code && code <= 0xC073 ) || // Lo  [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
   1246 		( 0xC075 <= code && code <= 0xC08F ) || // Lo  [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
   1247 		( 0xC091 <= code && code <= 0xC0AB ) || // Lo  [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
   1248 		( 0xC0AD <= code && code <= 0xC0C7 ) || // Lo  [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
   1249 		( 0xC0C9 <= code && code <= 0xC0E3 ) || // Lo  [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
   1250 		( 0xC0E5 <= code && code <= 0xC0FF ) || // Lo  [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
   1251 		( 0xC101 <= code && code <= 0xC11B ) || // Lo  [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
   1252 		( 0xC11D <= code && code <= 0xC137 ) || // Lo  [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
   1253 		( 0xC139 <= code && code <= 0xC153 ) || // Lo  [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
   1254 		( 0xC155 <= code && code <= 0xC16F ) || // Lo  [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
   1255 		( 0xC171 <= code && code <= 0xC18B ) || // Lo  [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
   1256 		( 0xC18D <= code && code <= 0xC1A7 ) || // Lo  [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
   1257 		( 0xC1A9 <= code && code <= 0xC1C3 ) || // Lo  [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
   1258 		( 0xC1C5 <= code && code <= 0xC1DF ) || // Lo  [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
   1259 		( 0xC1E1 <= code && code <= 0xC1FB ) || // Lo  [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
   1260 		( 0xC1FD <= code && code <= 0xC217 ) || // Lo  [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
   1261 		( 0xC219 <= code && code <= 0xC233 ) || // Lo  [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
   1262 		( 0xC235 <= code && code <= 0xC24F ) || // Lo  [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
   1263 		( 0xC251 <= code && code <= 0xC26B ) || // Lo  [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
   1264 		( 0xC26D <= code && code <= 0xC287 ) || // Lo  [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
   1265 		( 0xC289 <= code && code <= 0xC2A3 ) || // Lo  [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
   1266 		( 0xC2A5 <= code && code <= 0xC2BF ) || // Lo  [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
   1267 		( 0xC2C1 <= code && code <= 0xC2DB ) || // Lo  [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
   1268 		( 0xC2DD <= code && code <= 0xC2F7 ) || // Lo  [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
   1269 		( 0xC2F9 <= code && code <= 0xC313 ) || // Lo  [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
   1270 		( 0xC315 <= code && code <= 0xC32F ) || // Lo  [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
   1271 		( 0xC331 <= code && code <= 0xC34B ) || // Lo  [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
   1272 		( 0xC34D <= code && code <= 0xC367 ) || // Lo  [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
   1273 		( 0xC369 <= code && code <= 0xC383 ) || // Lo  [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
   1274 		( 0xC385 <= code && code <= 0xC39F ) || // Lo  [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
   1275 		( 0xC3A1 <= code && code <= 0xC3BB ) || // Lo  [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
   1276 		( 0xC3BD <= code && code <= 0xC3D7 ) || // Lo  [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
   1277 		( 0xC3D9 <= code && code <= 0xC3F3 ) || // Lo  [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
   1278 		( 0xC3F5 <= code && code <= 0xC40F ) || // Lo  [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
   1279 		( 0xC411 <= code && code <= 0xC42B ) || // Lo  [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
   1280 		( 0xC42D <= code && code <= 0xC447 ) || // Lo  [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
   1281 		( 0xC449 <= code && code <= 0xC463 ) || // Lo  [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
   1282 		( 0xC465 <= code && code <= 0xC47F ) || // Lo  [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
   1283 		( 0xC481 <= code && code <= 0xC49B ) || // Lo  [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
   1284 		( 0xC49D <= code && code <= 0xC4B7 ) || // Lo  [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
   1285 		( 0xC4B9 <= code && code <= 0xC4D3 ) || // Lo  [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
   1286 		( 0xC4D5 <= code && code <= 0xC4EF ) || // Lo  [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
   1287 		( 0xC4F1 <= code && code <= 0xC50B ) || // Lo  [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
   1288 		( 0xC50D <= code && code <= 0xC527 ) || // Lo  [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
   1289 		( 0xC529 <= code && code <= 0xC543 ) || // Lo  [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
   1290 		( 0xC545 <= code && code <= 0xC55F ) || // Lo  [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
   1291 		( 0xC561 <= code && code <= 0xC57B ) || // Lo  [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
   1292 		( 0xC57D <= code && code <= 0xC597 ) || // Lo  [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
   1293 		( 0xC599 <= code && code <= 0xC5B3 ) || // Lo  [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
   1294 		( 0xC5B5 <= code && code <= 0xC5CF ) || // Lo  [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
   1295 		( 0xC5D1 <= code && code <= 0xC5EB ) || // Lo  [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
   1296 		( 0xC5ED <= code && code <= 0xC607 ) || // Lo  [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
   1297 		( 0xC609 <= code && code <= 0xC623 ) || // Lo  [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
   1298 		( 0xC625 <= code && code <= 0xC63F ) || // Lo  [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
   1299 		( 0xC641 <= code && code <= 0xC65B ) || // Lo  [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
   1300 		( 0xC65D <= code && code <= 0xC677 ) || // Lo  [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
   1301 		( 0xC679 <= code && code <= 0xC693 ) || // Lo  [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
   1302 		( 0xC695 <= code && code <= 0xC6AF ) || // Lo  [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
   1303 		( 0xC6B1 <= code && code <= 0xC6CB ) || // Lo  [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
   1304 		( 0xC6CD <= code && code <= 0xC6E7 ) || // Lo  [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
   1305 		( 0xC6E9 <= code && code <= 0xC703 ) || // Lo  [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
   1306 		( 0xC705 <= code && code <= 0xC71F ) || // Lo  [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
   1307 		( 0xC721 <= code && code <= 0xC73B ) || // Lo  [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
   1308 		( 0xC73D <= code && code <= 0xC757 ) || // Lo  [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
   1309 		( 0xC759 <= code && code <= 0xC773 ) || // Lo  [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
   1310 		( 0xC775 <= code && code <= 0xC78F ) || // Lo  [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
   1311 		( 0xC791 <= code && code <= 0xC7AB ) || // Lo  [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
   1312 		( 0xC7AD <= code && code <= 0xC7C7 ) || // Lo  [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
   1313 		( 0xC7C9 <= code && code <= 0xC7E3 ) || // Lo  [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
   1314 		( 0xC7E5 <= code && code <= 0xC7FF ) || // Lo  [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
   1315 		( 0xC801 <= code && code <= 0xC81B ) || // Lo  [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
   1316 		( 0xC81D <= code && code <= 0xC837 ) || // Lo  [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
   1317 		( 0xC839 <= code && code <= 0xC853 ) || // Lo  [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
   1318 		( 0xC855 <= code && code <= 0xC86F ) || // Lo  [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
   1319 		( 0xC871 <= code && code <= 0xC88B ) || // Lo  [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
   1320 		( 0xC88D <= code && code <= 0xC8A7 ) || // Lo  [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
   1321 		( 0xC8A9 <= code && code <= 0xC8C3 ) || // Lo  [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
   1322 		( 0xC8C5 <= code && code <= 0xC8DF ) || // Lo  [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
   1323 		( 0xC8E1 <= code && code <= 0xC8FB ) || // Lo  [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
   1324 		( 0xC8FD <= code && code <= 0xC917 ) || // Lo  [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
   1325 		( 0xC919 <= code && code <= 0xC933 ) || // Lo  [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
   1326 		( 0xC935 <= code && code <= 0xC94F ) || // Lo  [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
   1327 		( 0xC951 <= code && code <= 0xC96B ) || // Lo  [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
   1328 		( 0xC96D <= code && code <= 0xC987 ) || // Lo  [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
   1329 		( 0xC989 <= code && code <= 0xC9A3 ) || // Lo  [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
   1330 		( 0xC9A5 <= code && code <= 0xC9BF ) || // Lo  [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
   1331 		( 0xC9C1 <= code && code <= 0xC9DB ) || // Lo  [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
   1332 		( 0xC9DD <= code && code <= 0xC9F7 ) || // Lo  [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
   1333 		( 0xC9F9 <= code && code <= 0xCA13 ) || // Lo  [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
   1334 		( 0xCA15 <= code && code <= 0xCA2F ) || // Lo  [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
   1335 		( 0xCA31 <= code && code <= 0xCA4B ) || // Lo  [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
   1336 		( 0xCA4D <= code && code <= 0xCA67 ) || // Lo  [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
   1337 		( 0xCA69 <= code && code <= 0xCA83 ) || // Lo  [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
   1338 		( 0xCA85 <= code && code <= 0xCA9F ) || // Lo  [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
   1339 		( 0xCAA1 <= code && code <= 0xCABB ) || // Lo  [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
   1340 		( 0xCABD <= code && code <= 0xCAD7 ) || // Lo  [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
   1341 		( 0xCAD9 <= code && code <= 0xCAF3 ) || // Lo  [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
   1342 		( 0xCAF5 <= code && code <= 0xCB0F ) || // Lo  [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
   1343 		( 0xCB11 <= code && code <= 0xCB2B ) || // Lo  [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
   1344 		( 0xCB2D <= code && code <= 0xCB47 ) || // Lo  [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
   1345 		( 0xCB49 <= code && code <= 0xCB63 ) || // Lo  [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
   1346 		( 0xCB65 <= code && code <= 0xCB7F ) || // Lo  [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
   1347 		( 0xCB81 <= code && code <= 0xCB9B ) || // Lo  [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
   1348 		( 0xCB9D <= code && code <= 0xCBB7 ) || // Lo  [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
   1349 		( 0xCBB9 <= code && code <= 0xCBD3 ) || // Lo  [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
   1350 		( 0xCBD5 <= code && code <= 0xCBEF ) || // Lo  [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
   1351 		( 0xCBF1 <= code && code <= 0xCC0B ) || // Lo  [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
   1352 		( 0xCC0D <= code && code <= 0xCC27 ) || // Lo  [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
   1353 		( 0xCC29 <= code && code <= 0xCC43 ) || // Lo  [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
   1354 		( 0xCC45 <= code && code <= 0xCC5F ) || // Lo  [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
   1355 		( 0xCC61 <= code && code <= 0xCC7B ) || // Lo  [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
   1356 		( 0xCC7D <= code && code <= 0xCC97 ) || // Lo  [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
   1357 		( 0xCC99 <= code && code <= 0xCCB3 ) || // Lo  [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
   1358 		( 0xCCB5 <= code && code <= 0xCCCF ) || // Lo  [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
   1359 		( 0xCCD1 <= code && code <= 0xCCEB ) || // Lo  [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
   1360 		( 0xCCED <= code && code <= 0xCD07 ) || // Lo  [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
   1361 		( 0xCD09 <= code && code <= 0xCD23 ) || // Lo  [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
   1362 		( 0xCD25 <= code && code <= 0xCD3F ) || // Lo  [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
   1363 		( 0xCD41 <= code && code <= 0xCD5B ) || // Lo  [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
   1364 		( 0xCD5D <= code && code <= 0xCD77 ) || // Lo  [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
   1365 		( 0xCD79 <= code && code <= 0xCD93 ) || // Lo  [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
   1366 		( 0xCD95 <= code && code <= 0xCDAF ) || // Lo  [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
   1367 		( 0xCDB1 <= code && code <= 0xCDCB ) || // Lo  [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
   1368 		( 0xCDCD <= code && code <= 0xCDE7 ) || // Lo  [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
   1369 		( 0xCDE9 <= code && code <= 0xCE03 ) || // Lo  [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
   1370 		( 0xCE05 <= code && code <= 0xCE1F ) || // Lo  [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
   1371 		( 0xCE21 <= code && code <= 0xCE3B ) || // Lo  [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
   1372 		( 0xCE3D <= code && code <= 0xCE57 ) || // Lo  [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
   1373 		( 0xCE59 <= code && code <= 0xCE73 ) || // Lo  [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
   1374 		( 0xCE75 <= code && code <= 0xCE8F ) || // Lo  [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
   1375 		( 0xCE91 <= code && code <= 0xCEAB ) || // Lo  [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
   1376 		( 0xCEAD <= code && code <= 0xCEC7 ) || // Lo  [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
   1377 		( 0xCEC9 <= code && code <= 0xCEE3 ) || // Lo  [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
   1378 		( 0xCEE5 <= code && code <= 0xCEFF ) || // Lo  [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
   1379 		( 0xCF01 <= code && code <= 0xCF1B ) || // Lo  [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
   1380 		( 0xCF1D <= code && code <= 0xCF37 ) || // Lo  [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
   1381 		( 0xCF39 <= code && code <= 0xCF53 ) || // Lo  [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
   1382 		( 0xCF55 <= code && code <= 0xCF6F ) || // Lo  [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
   1383 		( 0xCF71 <= code && code <= 0xCF8B ) || // Lo  [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
   1384 		( 0xCF8D <= code && code <= 0xCFA7 ) || // Lo  [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
   1385 		( 0xCFA9 <= code && code <= 0xCFC3 ) || // Lo  [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
   1386 		( 0xCFC5 <= code && code <= 0xCFDF ) || // Lo  [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
   1387 		( 0xCFE1 <= code && code <= 0xCFFB ) || // Lo  [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
   1388 		( 0xCFFD <= code && code <= 0xD017 ) || // Lo  [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
   1389 		( 0xD019 <= code && code <= 0xD033 ) || // Lo  [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
   1390 		( 0xD035 <= code && code <= 0xD04F ) || // Lo  [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
   1391 		( 0xD051 <= code && code <= 0xD06B ) || // Lo  [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
   1392 		( 0xD06D <= code && code <= 0xD087 ) || // Lo  [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
   1393 		( 0xD089 <= code && code <= 0xD0A3 ) || // Lo  [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
   1394 		( 0xD0A5 <= code && code <= 0xD0BF ) || // Lo  [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
   1395 		( 0xD0C1 <= code && code <= 0xD0DB ) || // Lo  [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
   1396 		( 0xD0DD <= code && code <= 0xD0F7 ) || // Lo  [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
   1397 		( 0xD0F9 <= code && code <= 0xD113 ) || // Lo  [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
   1398 		( 0xD115 <= code && code <= 0xD12F ) || // Lo  [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
   1399 		( 0xD131 <= code && code <= 0xD14B ) || // Lo  [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
   1400 		( 0xD14D <= code && code <= 0xD167 ) || // Lo  [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
   1401 		( 0xD169 <= code && code <= 0xD183 ) || // Lo  [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
   1402 		( 0xD185 <= code && code <= 0xD19F ) || // Lo  [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
   1403 		( 0xD1A1 <= code && code <= 0xD1BB ) || // Lo  [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
   1404 		( 0xD1BD <= code && code <= 0xD1D7 ) || // Lo  [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
   1405 		( 0xD1D9 <= code && code <= 0xD1F3 ) || // Lo  [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
   1406 		( 0xD1F5 <= code && code <= 0xD20F ) || // Lo  [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
   1407 		( 0xD211 <= code && code <= 0xD22B ) || // Lo  [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
   1408 		( 0xD22D <= code && code <= 0xD247 ) || // Lo  [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
   1409 		( 0xD249 <= code && code <= 0xD263 ) || // Lo  [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
   1410 		( 0xD265 <= code && code <= 0xD27F ) || // Lo  [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
   1411 		( 0xD281 <= code && code <= 0xD29B ) || // Lo  [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
   1412 		( 0xD29D <= code && code <= 0xD2B7 ) || // Lo  [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
   1413 		( 0xD2B9 <= code && code <= 0xD2D3 ) || // Lo  [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
   1414 		( 0xD2D5 <= code && code <= 0xD2EF ) || // Lo  [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
   1415 		( 0xD2F1 <= code && code <= 0xD30B ) || // Lo  [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
   1416 		( 0xD30D <= code && code <= 0xD327 ) || // Lo  [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
   1417 		( 0xD329 <= code && code <= 0xD343 ) || // Lo  [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
   1418 		( 0xD345 <= code && code <= 0xD35F ) || // Lo  [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
   1419 		( 0xD361 <= code && code <= 0xD37B ) || // Lo  [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
   1420 		( 0xD37D <= code && code <= 0xD397 ) || // Lo  [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
   1421 		( 0xD399 <= code && code <= 0xD3B3 ) || // Lo  [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
   1422 		( 0xD3B5 <= code && code <= 0xD3CF ) || // Lo  [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
   1423 		( 0xD3D1 <= code && code <= 0xD3EB ) || // Lo  [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
   1424 		( 0xD3ED <= code && code <= 0xD407 ) || // Lo  [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
   1425 		( 0xD409 <= code && code <= 0xD423 ) || // Lo  [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
   1426 		( 0xD425 <= code && code <= 0xD43F ) || // Lo  [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
   1427 		( 0xD441 <= code && code <= 0xD45B ) || // Lo  [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
   1428 		( 0xD45D <= code && code <= 0xD477 ) || // Lo  [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
   1429 		( 0xD479 <= code && code <= 0xD493 ) || // Lo  [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
   1430 		( 0xD495 <= code && code <= 0xD4AF ) || // Lo  [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
   1431 		( 0xD4B1 <= code && code <= 0xD4CB ) || // Lo  [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
   1432 		( 0xD4CD <= code && code <= 0xD4E7 ) || // Lo  [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
   1433 		( 0xD4E9 <= code && code <= 0xD503 ) || // Lo  [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
   1434 		( 0xD505 <= code && code <= 0xD51F ) || // Lo  [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
   1435 		( 0xD521 <= code && code <= 0xD53B ) || // Lo  [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
   1436 		( 0xD53D <= code && code <= 0xD557 ) || // Lo  [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
   1437 		( 0xD559 <= code && code <= 0xD573 ) || // Lo  [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
   1438 		( 0xD575 <= code && code <= 0xD58F ) || // Lo  [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
   1439 		( 0xD591 <= code && code <= 0xD5AB ) || // Lo  [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
   1440 		( 0xD5AD <= code && code <= 0xD5C7 ) || // Lo  [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
   1441 		( 0xD5C9 <= code && code <= 0xD5E3 ) || // Lo  [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
   1442 		( 0xD5E5 <= code && code <= 0xD5FF ) || // Lo  [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
   1443 		( 0xD601 <= code && code <= 0xD61B ) || // Lo  [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
   1444 		( 0xD61D <= code && code <= 0xD637 ) || // Lo  [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
   1445 		( 0xD639 <= code && code <= 0xD653 ) || // Lo  [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
   1446 		( 0xD655 <= code && code <= 0xD66F ) || // Lo  [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
   1447 		( 0xD671 <= code && code <= 0xD68B ) || // Lo  [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
   1448 		( 0xD68D <= code && code <= 0xD6A7 ) || // Lo  [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
   1449 		( 0xD6A9 <= code && code <= 0xD6C3 ) || // Lo  [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
   1450 		( 0xD6C5 <= code && code <= 0xD6DF ) || // Lo  [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
   1451 		( 0xD6E1 <= code && code <= 0xD6FB ) || // Lo  [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
   1452 		( 0xD6FD <= code && code <= 0xD717 ) || // Lo  [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
   1453 		( 0xD719 <= code && code <= 0xD733 ) || // Lo  [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
   1454 		( 0xD735 <= code && code <= 0xD74F ) || // Lo  [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
   1455 		( 0xD751 <= code && code <= 0xD76B ) || // Lo  [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
   1456 		( 0xD76D <= code && code <= 0xD787 ) || // Lo  [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
   1457 		( 0xD789 <= code && code <= 0xD7A3 ) // Lo  [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
   1458 	) {
   1459 		return constants.LVT;
   1460 	}
   1461 	if (
   1462 		code === 0x200D // Cf       ZERO WIDTH JOINER
   1463 	) {
   1464 		return constants.ZWJ;
   1465 	}
   1466 	// All unlisted characters have a grapheme break property of "Other":
   1467 	return constants.Other;
   1468 }
   1469 
   1470 
   1471 // EXPORTS //
   1472 
   1473 module.exports = graphemeBreakProperty;