import { jsx as B, Fragment as e, jsxs as w } from "react/jsx-runtime";
import { a as J } from "./index.CfQlFjZU.js";
import { n as P } from "./index.B0wX8xO7.js";
import { a as B0 } from "./ProgressTracker.DyY57Wb4.js";
import { P as D0 } from "./PageHeader.BwFpx_pz.js";
import { l as Q } from "./lodash.xuulwbEa.js";
import { useMemo as o } from "react";
import { c as A0 } from "./Dropdown.CMeTYQwB.js";
import { a as F0 } from "./TextInput.63vMRxAK.js";
import { a as t0 } from "./Button.CpTwUWVr.js";
import { a as W } from "./message.CHKnnsjy.js";
import { M as q, S as Y } from "./shared.EdGf6tcG.js";
import { g as r0 } from "./index.CfM2L_w0.js";
import { p as n0, a as a0 } from "./SMSPreview.D_--uDyb.js";
import { a as E0 } from "./SMSContentTextArea.BrtXTjQG.js";
import { S as s0 } from "./ScheduleStep.C6TuNmu5.js";
import { a as i0, g as L, d as k } from "./GridRow._ehOXG8R.js";
import "./GridLayouts.DSIvKCIo.js";
import { B as l0 } from "./ButtonGroup.GFy-lPs3.js";
const u0 = "creator_contentContainerStretch_4oDGq", m0 = "creator_mainContentContainer_NvaSG", f0 = "creator_formContainer_EaJ1v", h0 = "creator_sectionFormContainer_SLsjv", p0 = "creator_grid_wjV-R", g0 = "creator_smsCampaignContainer_yzZbS", v0 = "creator_container_Mq5tc", S0 = "creator_header_k6Y6w", _0 = "creator_step_w0SJ7", N0 = "creator_footerWrapper_ePCri", b0 = "creator_footer_BflVi", y0 = "creator_previewBox_54uC7", T = { contentContainerStretch: u0, mainContentContainer: m0, formContainer: f0, sectionFormContainer: h0, grid: p0, smsCampaignContainer: g0, container: v0, header: S0, step: _0, footerWrapper: N0, footer: b0, previewBox: y0 }, M0 = "creator_detailsContainer_YsfJi", T0 = "creator_form_EhsZX", w0 = "creator_fieldGroup_JYvPa", G0 = "creator_fieldHeader_MNrD7", I = { detailsContainer: M0, form: T0, fieldGroup: w0, fieldHeader: G0 };
function O0(F) {
  return {
    detailsContainerClassName: I.detailsContainer,
    formClassName: I.form,
    fieldGroupClassName: I.fieldGroup,
    fieldHeaderClassName: I.fieldHeader,
    ...F
  };
}
function k0({
  name: F,
  segmentsList: n = [],
  detailsContainerClassName: E,
  formClassName: s,
  fieldGroupClassName: t,
  fieldHeaderClassName: a,
  onFieldUpdate: u,
  nameErrorMessage: m = "",
  segmentErrorMessage: p = "",
  selectedSegments: g
}) {
  const h = o(
    () => n.map((i) => ({ value: i.id, label: i.name })),
    [n]
  ), b = (i) => {
    const f = i.target.value;
    u({ campaignName: f });
  }, v = (i) => {
    const f = i.filter(_).map((N) => N.value);
    u({ selectedSegments: f });
  };
  function _(i) {
    return i.value !== void 0;
  }
  return /* @__PURE__ */ B(e, { children: /* @__PURE__ */ B("div", { className: E, children: /* @__PURE__ */ w("div", { className: s, children: [
    /* @__PURE__ */ w("div", { className: t, children: [
      /* @__PURE__ */ B("div", { className: a, children: "Details" }),
      /* @__PURE__ */ B(
        F0,
        {
          label: "Campaign name",
          autoFocus: !0,
          isError: !!m,
          helper: m,
          type: "text",
          value: F,
          onChange: b
        }
      )
    ] }),
    /* @__PURE__ */ B("div", { className: t, children: /* @__PURE__ */ B(
      A0,
      {
        onClick: Q.noop,
        onSelect: v,
        onChange: Q.noop,
        hasSearch: h.length > 0,
        value: g,
        items: h,
        label: "Send to",
        emptyLabel: "No segments available. Create a new one from the Segments page.",
        multiple: !0,
        placeholder: "Select segment",
        searchPlaceholder: "Search segment name",
        hasError: !!p,
        helper: p
      }
    ) })
  ] }) }) });
}
const P0 = J(k0, O0), R0 = "creator_contentPage_LE06-", L0 = "creator_container_FBB83", I0 = "creator_pageTitle_W1QHe", j = { contentPage: R0, container: L0, pageTitle: I0 };
var H = { exports: {} }, X;
function Y0() {
  return X || (X = 1, function(F) {
    function n() {
      var E = 0, s = 1, t = 2, a = 3, u = 4, m = 5, p = 6, g = 7, h = 8, b = 9, v = 10, _ = 11, i = 12, f = 13, N = 14, O = 15, R = 16, G = 17, S = 0, M = 1, $ = 2, c = 3, d = 4;
      function x0(x, C) {
        return 55296 <= x.charCodeAt(C) && x.charCodeAt(C) <= 56319 && 56320 <= x.charCodeAt(C + 1) && x.charCodeAt(C + 1) <= 57343;
      }
      function Z(x, C) {
        C === void 0 && (C = 0);
        var r = x.charCodeAt(C);
        if (55296 <= r && r <= 56319 && C < x.length - 1) {
          var D = r, A = x.charCodeAt(C + 1);
          return 56320 <= A && A <= 57343 ? (D - 55296) * 1024 + (A - 56320) + 65536 : D;
        }
        if (56320 <= r && r <= 57343 && C >= 1) {
          var D = x.charCodeAt(C - 1), A = r;
          return 55296 <= D && D <= 56319 ? (D - 55296) * 1024 + (A - 56320) + 65536 : A;
        }
        return r;
      }
      function C0(x, C, r) {
        var D = [x].concat(C).concat([r]), A = D[D.length - 2], l = r, V = D.lastIndexOf(N);
        if (V > 1 && D.slice(1, V).every(function(y) {
          return y == a;
        }) && [a, f, G].indexOf(x) == -1)
          return $;
        var z = D.lastIndexOf(u);
        if (z > 0 && D.slice(1, z).every(function(y) {
          return y == u;
        }) && [i, u].indexOf(A) == -1)
          return D.filter(function(y) {
            return y == u;
          }).length % 2 == 1 ? c : d;
        if (A == E && l == s)
          return S;
        if (A == t || A == E || A == s)
          return l == N && C.every(function(y) {
            return y == a;
          }) ? $ : M;
        if (l == t || l == E || l == s)
          return M;
        if (A == p && (l == p || l == g || l == b || l == v))
          return S;
        if ((A == b || A == g) && (l == g || l == h))
          return S;
        if ((A == v || A == h) && l == h)
          return S;
        if (l == a || l == O)
          return S;
        if (l == m)
          return S;
        if (A == i)
          return S;
        var K = D.indexOf(a) != -1 ? D.lastIndexOf(a) - 1 : D.length - 2;
        return [f, G].indexOf(D[K]) != -1 && D.slice(K + 1, -1).every(function(y) {
          return y == a;
        }) && l == N || A == O && [R, G].indexOf(l) != -1 ? S : C.indexOf(u) != -1 ? $ : A == u && l == u ? S : M;
      }
      this.nextBreak = function(x, C) {
        if (C === void 0 && (C = 0), C < 0)
          return 0;
        if (C >= x.length - 1)
          return x.length;
        for (var r = U(Z(x, C)), D = [], A = C + 1; A < x.length; A++)
          if (!x0(x, A - 1)) {
            var l = U(Z(x, A));
            if (C0(r, D, l))
              return A;
            D.push(l);
          }
        return x.length;
      }, this.splitGraphemes = function(x) {
        for (var C = [], r = 0, D; (D = this.nextBreak(x, r)) < x.length; )
          C.push(x.slice(r, D)), r = D;
        return r < x.length && C.push(x.slice(r)), C;
      }, this.iterateGraphemes = function(x) {
        var C = 0, r = {
          next: function() {
            var D, A;
            return (A = this.nextBreak(x, C)) < x.length ? (D = x.slice(C, A), C = A, { value: D, done: !1 }) : C < x.length ? (D = x.slice(C), C = x.length, { value: D, done: !1 }) : { value: void 0, done: !0 };
          }.bind(this)
        };
        return typeof Symbol < "u" && Symbol.iterator && (r[Symbol.iterator] = function() {
          return r;
        }), r;
      }, this.countGraphemes = function(x) {
        for (var C = 0, r = 0, D; (D = this.nextBreak(x, r)) < x.length; )
          r = D, C++;
        return r < x.length && C++, C;
      };
      function U(x) {
        return 1536 <= x && x <= 1541 || // Cf   [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
        x == 1757 || // Cf       ARABIC END OF AYAH
        x == 1807 || // Cf       SYRIAC ABBREVIATION MARK
        x == 2274 || // Cf       ARABIC DISPUTED END OF AYAH
        x == 3406 || // Lo       MALAYALAM LETTER DOT REPH
        x == 69821 || // Cf       KAITHI NUMBER SIGN
        70082 <= x && x <= 70083 || // Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
        x == 72250 || // Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
        72326 <= x && x <= 72329 || // Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
        x == 73030 ? i : x == 13 ? E : x == 10 ? s : 0 <= x && x <= 9 || // Cc  [10] <control-0000>..<control-0009>
        11 <= x && x <= 12 || // Cc   [2] <control-000B>..<control-000C>
        14 <= x && x <= 31 || // Cc  [18] <control-000E>..<control-001F>
        127 <= x && x <= 159 || // Cc  [33] <control-007F>..<control-009F>
        x == 173 || // Cf       SOFT HYPHEN
        x == 1564 || // Cf       ARABIC LETTER MARK
        x == 6158 || // Cf       MONGOLIAN VOWEL SEPARATOR
        x == 8203 || // Cf       ZERO WIDTH SPACE
        8206 <= x && x <= 8207 || // Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
        x == 8232 || // Zl       LINE SEPARATOR
        x == 8233 || // Zp       PARAGRAPH SEPARATOR
        8234 <= x && x <= 8238 || // Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
        8288 <= x && x <= 8292 || // Cf   [5] WORD JOINER..INVISIBLE PLUS
        x == 8293 || // Cn       <reserved-2065>
        8294 <= x && x <= 8303 || // Cf  [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
        55296 <= x && x <= 57343 || // Cs [2048] <surrogate-D800>..<surrogate-DFFF>
        x == 65279 || // Cf       ZERO WIDTH NO-BREAK SPACE
        65520 <= x && x <= 65528 || // Cn   [9] <reserved-FFF0>..<reserved-FFF8>
        65529 <= x && x <= 65531 || // Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
        113824 <= x && x <= 113827 || // Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
        119155 <= x && x <= 119162 || // Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
        x == 917504 || // Cn       <reserved-E0000>
        x == 917505 || // Cf       LANGUAGE TAG
        917506 <= x && x <= 917535 || // Cn  [30] <reserved-E0002>..<reserved-E001F>
        917632 <= x && x <= 917759 || // Cn [128] <reserved-E0080>..<reserved-E00FF>
        918e3 <= x && x <= 921599 ? t : 768 <= x && x <= 879 || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
        1155 <= x && x <= 1159 || // Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
        1160 <= x && x <= 1161 || // Me   [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
        1425 <= x && x <= 1469 || // Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
        x == 1471 || // Mn       HEBREW POINT RAFE
        1473 <= x && x <= 1474 || // Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
        1476 <= x && x <= 1477 || // Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
        x == 1479 || // Mn       HEBREW POINT QAMATS QATAN
        1552 <= x && x <= 1562 || // Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
        1611 <= x && x <= 1631 || // Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
        x == 1648 || // Mn       ARABIC LETTER SUPERSCRIPT ALEF
        1750 <= x && x <= 1756 || // Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
        1759 <= x && x <= 1764 || // Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
        1767 <= x && x <= 1768 || // Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
        1770 <= x && x <= 1773 || // Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
        x == 1809 || // Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
        1840 <= x && x <= 1866 || // Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
        1958 <= x && x <= 1968 || // Mn  [11] THAANA ABAFILI..THAANA SUKUN
        2027 <= x && x <= 2035 || // Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
        2070 <= x && x <= 2073 || // Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
        2075 <= x && x <= 2083 || // Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
        2085 <= x && x <= 2087 || // Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
        2089 <= x && x <= 2093 || // Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
        2137 <= x && x <= 2139 || // Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
        2260 <= x && x <= 2273 || // Mn  [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
        2275 <= x && x <= 2306 || // Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
        x == 2362 || // Mn       DEVANAGARI VOWEL SIGN OE
        x == 2364 || // Mn       DEVANAGARI SIGN NUKTA
        2369 <= x && x <= 2376 || // Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
        x == 2381 || // Mn       DEVANAGARI SIGN VIRAMA
        2385 <= x && x <= 2391 || // Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
        2402 <= x && x <= 2403 || // Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
        x == 2433 || // Mn       BENGALI SIGN CANDRABINDU
        x == 2492 || // Mn       BENGALI SIGN NUKTA
        x == 2494 || // Mc       BENGALI VOWEL SIGN AA
        2497 <= x && x <= 2500 || // Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
        x == 2509 || // Mn       BENGALI SIGN VIRAMA
        x == 2519 || // Mc       BENGALI AU LENGTH MARK
        2530 <= x && x <= 2531 || // Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
        2561 <= x && x <= 2562 || // Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
        x == 2620 || // Mn       GURMUKHI SIGN NUKTA
        2625 <= x && x <= 2626 || // Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
        2631 <= x && x <= 2632 || // Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
        2635 <= x && x <= 2637 || // Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
        x == 2641 || // Mn       GURMUKHI SIGN UDAAT
        2672 <= x && x <= 2673 || // Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
        x == 2677 || // Mn       GURMUKHI SIGN YAKASH
        2689 <= x && x <= 2690 || // Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
        x == 2748 || // Mn       GUJARATI SIGN NUKTA
        2753 <= x && x <= 2757 || // Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
        2759 <= x && x <= 2760 || // Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
        x == 2765 || // Mn       GUJARATI SIGN VIRAMA
        2786 <= x && x <= 2787 || // Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
        2810 <= x && x <= 2815 || // Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
        x == 2817 || // Mn       ORIYA SIGN CANDRABINDU
        x == 2876 || // Mn       ORIYA SIGN NUKTA
        x == 2878 || // Mc       ORIYA VOWEL SIGN AA
        x == 2879 || // Mn       ORIYA VOWEL SIGN I
        2881 <= x && x <= 2884 || // Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
        x == 2893 || // Mn       ORIYA SIGN VIRAMA
        x == 2902 || // Mn       ORIYA AI LENGTH MARK
        x == 2903 || // Mc       ORIYA AU LENGTH MARK
        2914 <= x && x <= 2915 || // Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
        x == 2946 || // Mn       TAMIL SIGN ANUSVARA
        x == 3006 || // Mc       TAMIL VOWEL SIGN AA
        x == 3008 || // Mn       TAMIL VOWEL SIGN II
        x == 3021 || // Mn       TAMIL SIGN VIRAMA
        x == 3031 || // Mc       TAMIL AU LENGTH MARK
        x == 3072 || // Mn       TELUGU SIGN COMBINING CANDRABINDU ABOVE
        3134 <= x && x <= 3136 || // Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
        3142 <= x && x <= 3144 || // Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
        3146 <= x && x <= 3149 || // Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
        3157 <= x && x <= 3158 || // Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
        3170 <= x && x <= 3171 || // Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
        x == 3201 || // Mn       KANNADA SIGN CANDRABINDU
        x == 3260 || // Mn       KANNADA SIGN NUKTA
        x == 3263 || // Mn       KANNADA VOWEL SIGN I
        x == 3266 || // Mc       KANNADA VOWEL SIGN UU
        x == 3270 || // Mn       KANNADA VOWEL SIGN E
        3276 <= x && x <= 3277 || // Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
        3285 <= x && x <= 3286 || // Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
        3298 <= x && x <= 3299 || // Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
        3328 <= x && x <= 3329 || // Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
        3387 <= x && x <= 3388 || // Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
        x == 3390 || // Mc       MALAYALAM VOWEL SIGN AA
        3393 <= x && x <= 3396 || // Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
        x == 3405 || // Mn       MALAYALAM SIGN VIRAMA
        x == 3415 || // Mc       MALAYALAM AU LENGTH MARK
        3426 <= x && x <= 3427 || // Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
        x == 3530 || // Mn       SINHALA SIGN AL-LAKUNA
        x == 3535 || // Mc       SINHALA VOWEL SIGN AELA-PILLA
        3538 <= x && x <= 3540 || // Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
        x == 3542 || // Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
        x == 3551 || // Mc       SINHALA VOWEL SIGN GAYANUKITTA
        x == 3633 || // Mn       THAI CHARACTER MAI HAN-AKAT
        3636 <= x && x <= 3642 || // Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
        3655 <= x && x <= 3662 || // Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
        x == 3761 || // Mn       LAO VOWEL SIGN MAI KAN
        3764 <= x && x <= 3769 || // Mn   [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
        3771 <= x && x <= 3772 || // Mn   [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
        3784 <= x && x <= 3789 || // Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
        3864 <= x && x <= 3865 || // Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
        x == 3893 || // Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
        x == 3895 || // Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
        x == 3897 || // Mn       TIBETAN MARK TSA -PHRU
        3953 <= x && x <= 3966 || // Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
        3968 <= x && x <= 3972 || // Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
        3974 <= x && x <= 3975 || // Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
        3981 <= x && x <= 3991 || // Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
        3993 <= x && x <= 4028 || // Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
        x == 4038 || // Mn       TIBETAN SYMBOL PADMA GDAN
        4141 <= x && x <= 4144 || // Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
        4146 <= x && x <= 4151 || // Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
        4153 <= x && x <= 4154 || // Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
        4157 <= x && x <= 4158 || // Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
        4184 <= x && x <= 4185 || // Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
        4190 <= x && x <= 4192 || // Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
        4209 <= x && x <= 4212 || // Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
        x == 4226 || // Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
        4229 <= x && x <= 4230 || // Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
        x == 4237 || // Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
        x == 4253 || // Mn       MYANMAR VOWEL SIGN AITON AI
        4957 <= x && x <= 4959 || // Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
        5906 <= x && x <= 5908 || // Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
        5938 <= x && x <= 5940 || // Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
        5970 <= x && x <= 5971 || // Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
        6002 <= x && x <= 6003 || // Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
        6068 <= x && x <= 6069 || // Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
        6071 <= x && x <= 6077 || // Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
        x == 6086 || // Mn       KHMER SIGN NIKAHIT
        6089 <= x && x <= 6099 || // Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
        x == 6109 || // Mn       KHMER SIGN ATTHACAN
        6155 <= x && x <= 6157 || // Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
        6277 <= x && x <= 6278 || // Mn   [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
        x == 6313 || // Mn       MONGOLIAN LETTER ALI GALI DAGALGA
        6432 <= x && x <= 6434 || // Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
        6439 <= x && x <= 6440 || // Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
        x == 6450 || // Mn       LIMBU SMALL LETTER ANUSVARA
        6457 <= x && x <= 6459 || // Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
        6679 <= x && x <= 6680 || // Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
        x == 6683 || // Mn       BUGINESE VOWEL SIGN AE
        x == 6742 || // Mn       TAI THAM CONSONANT SIGN MEDIAL LA
        6744 <= x && x <= 6750 || // Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
        x == 6752 || // Mn       TAI THAM SIGN SAKOT
        x == 6754 || // Mn       TAI THAM VOWEL SIGN MAI SAT
        6757 <= x && x <= 6764 || // Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
        6771 <= x && x <= 6780 || // Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
        x == 6783 || // Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
        6832 <= x && x <= 6845 || // Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
        x == 6846 || // Me       COMBINING PARENTHESES OVERLAY
        6912 <= x && x <= 6915 || // Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
        x == 6964 || // Mn       BALINESE SIGN REREKAN
        6966 <= x && x <= 6970 || // Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
        x == 6972 || // Mn       BALINESE VOWEL SIGN LA LENGA
        x == 6978 || // Mn       BALINESE VOWEL SIGN PEPET
        7019 <= x && x <= 7027 || // Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
        7040 <= x && x <= 7041 || // Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
        7074 <= x && x <= 7077 || // Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
        7080 <= x && x <= 7081 || // Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
        7083 <= x && x <= 7085 || // Mn   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
        x == 7142 || // Mn       BATAK SIGN TOMPI
        7144 <= x && x <= 7145 || // Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
        x == 7149 || // Mn       BATAK VOWEL SIGN KARO O
        7151 <= x && x <= 7153 || // Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
        7212 <= x && x <= 7219 || // Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
        7222 <= x && x <= 7223 || // Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
        7376 <= x && x <= 7378 || // Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
        7380 <= x && x <= 7392 || // Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
        7394 <= x && x <= 7400 || // Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
        x == 7405 || // Mn       VEDIC SIGN TIRYAK
        x == 7412 || // Mn       VEDIC TONE CANDRA ABOVE
        7416 <= x && x <= 7417 || // Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
        7616 <= x && x <= 7673 || // Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
        7675 <= x && x <= 7679 || // Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
        x == 8204 || // Cf       ZERO WIDTH NON-JOINER
        8400 <= x && x <= 8412 || // Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
        8413 <= x && x <= 8416 || // Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
        x == 8417 || // Mn       COMBINING LEFT RIGHT ARROW ABOVE
        8418 <= x && x <= 8420 || // Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
        8421 <= x && x <= 8432 || // Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
        11503 <= x && x <= 11505 || // Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
        x == 11647 || // Mn       TIFINAGH CONSONANT JOINER
        11744 <= x && x <= 11775 || // Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
        12330 <= x && x <= 12333 || // Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
        12334 <= x && x <= 12335 || // Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
        12441 <= x && x <= 12442 || // Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
        x == 42607 || // Mn       COMBINING CYRILLIC VZMET
        42608 <= x && x <= 42610 || // Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
        42612 <= x && x <= 42621 || // Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
        42654 <= x && x <= 42655 || // Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
        42736 <= x && x <= 42737 || // Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
        x == 43010 || // Mn       SYLOTI NAGRI SIGN DVISVARA
        x == 43014 || // Mn       SYLOTI NAGRI SIGN HASANTA
        x == 43019 || // Mn       SYLOTI NAGRI SIGN ANUSVARA
        43045 <= x && x <= 43046 || // Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
        43204 <= x && x <= 43205 || // Mn   [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
        43232 <= x && x <= 43249 || // Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
        43302 <= x && x <= 43309 || // Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
        43335 <= x && x <= 43345 || // Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
        43392 <= x && x <= 43394 || // Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
        x == 43443 || // Mn       JAVANESE SIGN CECAK TELU
        43446 <= x && x <= 43449 || // Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
        x == 43452 || // Mn       JAVANESE VOWEL SIGN PEPET
        x == 43493 || // Mn       MYANMAR SIGN SHAN SAW
        43561 <= x && x <= 43566 || // Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
        43569 <= x && x <= 43570 || // Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
        43573 <= x && x <= 43574 || // Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
        x == 43587 || // Mn       CHAM CONSONANT SIGN FINAL NG
        x == 43596 || // Mn       CHAM CONSONANT SIGN FINAL M
        x == 43644 || // Mn       MYANMAR SIGN TAI LAING TONE-2
        x == 43696 || // Mn       TAI VIET MAI KANG
        43698 <= x && x <= 43700 || // Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
        43703 <= x && x <= 43704 || // Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
        43710 <= x && x <= 43711 || // Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
        x == 43713 || // Mn       TAI VIET TONE MAI THO
        43756 <= x && x <= 43757 || // Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
        x == 43766 || // Mn       MEETEI MAYEK VIRAMA
        x == 44005 || // Mn       MEETEI MAYEK VOWEL SIGN ANAP
        x == 44008 || // Mn       MEETEI MAYEK VOWEL SIGN UNAP
        x == 44013 || // Mn       MEETEI MAYEK APUN IYEK
        x == 64286 || // Mn       HEBREW POINT JUDEO-SPANISH VARIKA
        65024 <= x && x <= 65039 || // Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
        65056 <= x && x <= 65071 || // Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
        65438 <= x && x <= 65439 || // Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
        x == 66045 || // Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
        x == 66272 || // Mn       COPTIC EPACT THOUSANDS MARK
        66422 <= x && x <= 66426 || // Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
        68097 <= x && x <= 68099 || // Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
        68101 <= x && x <= 68102 || // Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
        68108 <= x && x <= 68111 || // Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
        68152 <= x && x <= 68154 || // Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
        x == 68159 || // Mn       KHAROSHTHI VIRAMA
        68325 <= x && x <= 68326 || // Mn   [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
        x == 69633 || // Mn       BRAHMI SIGN ANUSVARA
        69688 <= x && x <= 69702 || // Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
        69759 <= x && x <= 69761 || // Mn   [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
        69811 <= x && x <= 69814 || // Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
        69817 <= x && x <= 69818 || // Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
        69888 <= x && x <= 69890 || // Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
        69927 <= x && x <= 69931 || // Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
        69933 <= x && x <= 69940 || // Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
        x == 70003 || // Mn       MAHAJANI SIGN NUKTA
        70016 <= x && x <= 70017 || // Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
        70070 <= x && x <= 70078 || // Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
        70090 <= x && x <= 70092 || // Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
        70191 <= x && x <= 70193 || // Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
        x == 70196 || // Mn       KHOJKI SIGN ANUSVARA
        70198 <= x && x <= 70199 || // Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
        x == 70206 || // Mn       KHOJKI SIGN SUKUN
        x == 70367 || // Mn       KHUDAWADI SIGN ANUSVARA
        70371 <= x && x <= 70378 || // Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
        70400 <= x && x <= 70401 || // Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
        x == 70460 || // Mn       GRANTHA SIGN NUKTA
        x == 70462 || // Mc       GRANTHA VOWEL SIGN AA
        x == 70464 || // Mn       GRANTHA VOWEL SIGN II
        x == 70487 || // Mc       GRANTHA AU LENGTH MARK
        70502 <= x && x <= 70508 || // Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
        70512 <= x && x <= 70516 || // Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
        70712 <= x && x <= 70719 || // Mn   [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
        70722 <= x && x <= 70724 || // Mn   [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
        x == 70726 || // Mn       NEWA SIGN NUKTA
        x == 70832 || // Mc       TIRHUTA VOWEL SIGN AA
        70835 <= x && x <= 70840 || // Mn   [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
        x == 70842 || // Mn       TIRHUTA VOWEL SIGN SHORT E
        x == 70845 || // Mc       TIRHUTA VOWEL SIGN SHORT O
        70847 <= x && x <= 70848 || // Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
        70850 <= x && x <= 70851 || // Mn   [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
        x == 71087 || // Mc       SIDDHAM VOWEL SIGN AA
        71090 <= x && x <= 71093 || // Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
        71100 <= x && x <= 71101 || // Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
        71103 <= x && x <= 71104 || // Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
        71132 <= x && x <= 71133 || // Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
        71219 <= x && x <= 71226 || // Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
        x == 71229 || // Mn       MODI SIGN ANUSVARA
        71231 <= x && x <= 71232 || // Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
        x == 71339 || // Mn       TAKRI SIGN ANUSVARA
        x == 71341 || // Mn       TAKRI VOWEL SIGN AA
        71344 <= x && x <= 71349 || // Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
        x == 71351 || // Mn       TAKRI SIGN NUKTA
        71453 <= x && x <= 71455 || // Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
        71458 <= x && x <= 71461 || // Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
        71463 <= x && x <= 71467 || // Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
        72193 <= x && x <= 72198 || // Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
        72201 <= x && x <= 72202 || // Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
        72243 <= x && x <= 72248 || // Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
        72251 <= x && x <= 72254 || // Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
        x == 72263 || // Mn       ZANABAZAR SQUARE SUBJOINER
        72273 <= x && x <= 72278 || // Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
        72281 <= x && x <= 72283 || // Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
        72330 <= x && x <= 72342 || // Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
        72344 <= x && x <= 72345 || // Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
        72752 <= x && x <= 72758 || // Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
        72760 <= x && x <= 72765 || // Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
        x == 72767 || // Mn       BHAIKSUKI SIGN VIRAMA
        72850 <= x && x <= 72871 || // Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
        72874 <= x && x <= 72880 || // Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
        72882 <= x && x <= 72883 || // Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
        72885 <= x && x <= 72886 || // Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
        73009 <= x && x <= 73014 || // Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
        x == 73018 || // Mn       MASARAM GONDI VOWEL SIGN E
        73020 <= x && x <= 73021 || // Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
        73023 <= x && x <= 73029 || // Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
        x == 73031 || // Mn       MASARAM GONDI RA-KARA
        92912 <= x && x <= 92916 || // Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
        92976 <= x && x <= 92982 || // Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
        94095 <= x && x <= 94098 || // Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
        113821 <= x && x <= 113822 || // Mn   [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
        x == 119141 || // Mc       MUSICAL SYMBOL COMBINING STEM
        119143 <= x && x <= 119145 || // Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
        119150 <= x && x <= 119154 || // Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
        119163 <= x && x <= 119170 || // Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
        119173 <= x && x <= 119179 || // Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
        119210 <= x && x <= 119213 || // Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
        119362 <= x && x <= 119364 || // Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
        121344 <= x && x <= 121398 || // Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
        121403 <= x && x <= 121452 || // Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
        x == 121461 || // Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
        x == 121476 || // Mn       SIGNWRITING LOCATION HEAD NECK
        121499 <= x && x <= 121503 || // Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
        121505 <= x && x <= 121519 || // Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
        122880 <= x && x <= 122886 || // Mn   [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
        122888 <= x && x <= 122904 || // Mn  [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
        122907 <= x && x <= 122913 || // Mn   [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
        122915 <= x && x <= 122916 || // Mn   [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
        122918 <= x && x <= 122922 || // Mn   [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
        125136 <= x && x <= 125142 || // Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
        125252 <= x && x <= 125258 || // Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
        917536 <= x && x <= 917631 || // Cf  [96] TAG SPACE..CANCEL TAG
        917760 <= x && x <= 917999 ? a : 127462 <= x && x <= 127487 ? u : x == 2307 || // Mc       DEVANAGARI SIGN VISARGA
        x == 2363 || // Mc       DEVANAGARI VOWEL SIGN OOE
        2366 <= x && x <= 2368 || // Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
        2377 <= x && x <= 2380 || // Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
        2382 <= x && x <= 2383 || // Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
        2434 <= x && x <= 2435 || // Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
        2495 <= x && x <= 2496 || // Mc   [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
        2503 <= x && x <= 2504 || // Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
        2507 <= x && x <= 2508 || // Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
        x == 2563 || // Mc       GURMUKHI SIGN VISARGA
        2622 <= x && x <= 2624 || // Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
        x == 2691 || // Mc       GUJARATI SIGN VISARGA
        2750 <= x && x <= 2752 || // Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
        x == 2761 || // Mc       GUJARATI VOWEL SIGN CANDRA O
        2763 <= x && x <= 2764 || // Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
        2818 <= x && x <= 2819 || // Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
        x == 2880 || // Mc       ORIYA VOWEL SIGN II
        2887 <= x && x <= 2888 || // Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
        2891 <= x && x <= 2892 || // Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
        x == 3007 || // Mc       TAMIL VOWEL SIGN I
        3009 <= x && x <= 3010 || // Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
        3014 <= x && x <= 3016 || // Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
        3018 <= x && x <= 3020 || // Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
        3073 <= x && x <= 3075 || // Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
        3137 <= x && x <= 3140 || // Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
        3202 <= x && x <= 3203 || // Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
        x == 3262 || // Mc       KANNADA VOWEL SIGN AA
        3264 <= x && x <= 3265 || // Mc   [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
        3267 <= x && x <= 3268 || // Mc   [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
        3271 <= x && x <= 3272 || // Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
        3274 <= x && x <= 3275 || // Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
        3330 <= x && x <= 3331 || // Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
        3391 <= x && x <= 3392 || // Mc   [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
        3398 <= x && x <= 3400 || // Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
        3402 <= x && x <= 3404 || // Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
        3458 <= x && x <= 3459 || // Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
        3536 <= x && x <= 3537 || // Mc   [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
        3544 <= x && x <= 3550 || // Mc   [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
        3570 <= x && x <= 3571 || // Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
        x == 3635 || // Lo       THAI CHARACTER SARA AM
        x == 3763 || // Lo       LAO VOWEL SIGN AM
        3902 <= x && x <= 3903 || // Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
        x == 3967 || // Mc       TIBETAN SIGN RNAM BCAD
        x == 4145 || // Mc       MYANMAR VOWEL SIGN E
        4155 <= x && x <= 4156 || // Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
        4182 <= x && x <= 4183 || // Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
        x == 4228 || // Mc       MYANMAR VOWEL SIGN SHAN E
        x == 6070 || // Mc       KHMER VOWEL SIGN AA
        6078 <= x && x <= 6085 || // Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
        6087 <= x && x <= 6088 || // Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
        6435 <= x && x <= 6438 || // Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
        6441 <= x && x <= 6443 || // Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
        6448 <= x && x <= 6449 || // Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
        6451 <= x && x <= 6456 || // Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
        6681 <= x && x <= 6682 || // Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
        x == 6741 || // Mc       TAI THAM CONSONANT SIGN MEDIAL RA
        x == 6743 || // Mc       TAI THAM CONSONANT SIGN LA TANG LAI
        6765 <= x && x <= 6770 || // Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
        x == 6916 || // Mc       BALINESE SIGN BISAH
        x == 6965 || // Mc       BALINESE VOWEL SIGN TEDUNG
        x == 6971 || // Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
        6973 <= x && x <= 6977 || // Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
        6979 <= x && x <= 6980 || // Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
        x == 7042 || // Mc       SUNDANESE SIGN PANGWISAD
        x == 7073 || // Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
        7078 <= x && x <= 7079 || // Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
        x == 7082 || // Mc       SUNDANESE SIGN PAMAAEH
        x == 7143 || // Mc       BATAK VOWEL SIGN E
        7146 <= x && x <= 7148 || // Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
        x == 7150 || // Mc       BATAK VOWEL SIGN U
        7154 <= x && x <= 7155 || // Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
        7204 <= x && x <= 7211 || // Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
        7220 <= x && x <= 7221 || // Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
        x == 7393 || // Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
        7410 <= x && x <= 7411 || // Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
        x == 7415 || // Mc       VEDIC SIGN ATIKRAMA
        43043 <= x && x <= 43044 || // Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
        x == 43047 || // Mc       SYLOTI NAGRI VOWEL SIGN OO
        43136 <= x && x <= 43137 || // Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
        43188 <= x && x <= 43203 || // Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
        43346 <= x && x <= 43347 || // Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
        x == 43395 || // Mc       JAVANESE SIGN WIGNYAN
        43444 <= x && x <= 43445 || // Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
        43450 <= x && x <= 43451 || // Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
        43453 <= x && x <= 43456 || // Mc   [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
        43567 <= x && x <= 43568 || // Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
        43571 <= x && x <= 43572 || // Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
        x == 43597 || // Mc       CHAM CONSONANT SIGN FINAL H
        x == 43755 || // Mc       MEETEI MAYEK VOWEL SIGN II
        43758 <= x && x <= 43759 || // Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
        x == 43765 || // Mc       MEETEI MAYEK VOWEL SIGN VISARGA
        44003 <= x && x <= 44004 || // Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
        44006 <= x && x <= 44007 || // Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
        44009 <= x && x <= 44010 || // Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
        x == 44012 || // Mc       MEETEI MAYEK LUM IYEK
        x == 69632 || // Mc       BRAHMI SIGN CANDRABINDU
        x == 69634 || // Mc       BRAHMI SIGN VISARGA
        x == 69762 || // Mc       KAITHI SIGN VISARGA
        69808 <= x && x <= 69810 || // Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
        69815 <= x && x <= 69816 || // Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
        x == 69932 || // Mc       CHAKMA VOWEL SIGN E
        x == 70018 || // Mc       SHARADA SIGN VISARGA
        70067 <= x && x <= 70069 || // Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
        70079 <= x && x <= 70080 || // Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
        70188 <= x && x <= 70190 || // Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
        70194 <= x && x <= 70195 || // Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
        x == 70197 || // Mc       KHOJKI SIGN VIRAMA
        70368 <= x && x <= 70370 || // Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
        70402 <= x && x <= 70403 || // Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
        x == 70463 || // Mc       GRANTHA VOWEL SIGN I
        70465 <= x && x <= 70468 || // Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
        70471 <= x && x <= 70472 || // Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
        70475 <= x && x <= 70477 || // Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
        70498 <= x && x <= 70499 || // Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
        70709 <= x && x <= 70711 || // Mc   [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
        70720 <= x && x <= 70721 || // Mc   [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
        x == 70725 || // Mc       NEWA SIGN VISARGA
        70833 <= x && x <= 70834 || // Mc   [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
        x == 70841 || // Mc       TIRHUTA VOWEL SIGN E
        70843 <= x && x <= 70844 || // Mc   [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
        x == 70846 || // Mc       TIRHUTA VOWEL SIGN AU
        x == 70849 || // Mc       TIRHUTA SIGN VISARGA
        71088 <= x && x <= 71089 || // Mc   [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
        71096 <= x && x <= 71099 || // Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
        x == 71102 || // Mc       SIDDHAM SIGN VISARGA
        71216 <= x && x <= 71218 || // Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
        71227 <= x && x <= 71228 || // Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
        x == 71230 || // Mc       MODI SIGN VISARGA
        x == 71340 || // Mc       TAKRI SIGN VISARGA
        71342 <= x && x <= 71343 || // Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
        x == 71350 || // Mc       TAKRI SIGN VIRAMA
        71456 <= x && x <= 71457 || // Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
        x == 71462 || // Mc       AHOM VOWEL SIGN E
        72199 <= x && x <= 72200 || // Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
        x == 72249 || // Mc       ZANABAZAR SQUARE SIGN VISARGA
        72279 <= x && x <= 72280 || // Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
        x == 72343 || // Mc       SOYOMBO SIGN VISARGA
        x == 72751 || // Mc       BHAIKSUKI VOWEL SIGN AA
        x == 72766 || // Mc       BHAIKSUKI SIGN VISARGA
        x == 72873 || // Mc       MARCHEN SUBJOINED LETTER YA
        x == 72881 || // Mc       MARCHEN VOWEL SIGN I
        x == 72884 || // Mc       MARCHEN VOWEL SIGN O
        94033 <= x && x <= 94078 || // Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
        x == 119142 || // Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
        x == 119149 ? m : 4352 <= x && x <= 4447 || // Lo  [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
        43360 <= x && x <= 43388 ? p : 4448 <= x && x <= 4519 || // Lo  [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
        55216 <= x && x <= 55238 ? g : 4520 <= x && x <= 4607 || // Lo  [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
        55243 <= x && x <= 55291 ? h : x == 44032 || // Lo       HANGUL SYLLABLE GA
        x == 44060 || // Lo       HANGUL SYLLABLE GAE
        x == 44088 || // Lo       HANGUL SYLLABLE GYA
        x == 44116 || // Lo       HANGUL SYLLABLE GYAE
        x == 44144 || // Lo       HANGUL SYLLABLE GEO
        x == 44172 || // Lo       HANGUL SYLLABLE GE
        x == 44200 || // Lo       HANGUL SYLLABLE GYEO
        x == 44228 || // Lo       HANGUL SYLLABLE GYE
        x == 44256 || // Lo       HANGUL SYLLABLE GO
        x == 44284 || // Lo       HANGUL SYLLABLE GWA
        x == 44312 || // Lo       HANGUL SYLLABLE GWAE
        x == 44340 || // Lo       HANGUL SYLLABLE GOE
        x == 44368 || // Lo       HANGUL SYLLABLE GYO
        x == 44396 || // Lo       HANGUL SYLLABLE GU
        x == 44424 || // Lo       HANGUL SYLLABLE GWEO
        x == 44452 || // Lo       HANGUL SYLLABLE GWE
        x == 44480 || // Lo       HANGUL SYLLABLE GWI
        x == 44508 || // Lo       HANGUL SYLLABLE GYU
        x == 44536 || // Lo       HANGUL SYLLABLE GEU
        x == 44564 || // Lo       HANGUL SYLLABLE GYI
        x == 44592 || // Lo       HANGUL SYLLABLE GI
        x == 44620 || // Lo       HANGUL SYLLABLE GGA
        x == 44648 || // Lo       HANGUL SYLLABLE GGAE
        x == 44676 || // Lo       HANGUL SYLLABLE GGYA
        x == 44704 || // Lo       HANGUL SYLLABLE GGYAE
        x == 44732 || // Lo       HANGUL SYLLABLE GGEO
        x == 44760 || // Lo       HANGUL SYLLABLE GGE
        x == 44788 || // Lo       HANGUL SYLLABLE GGYEO
        x == 44816 || // Lo       HANGUL SYLLABLE GGYE
        x == 44844 || // Lo       HANGUL SYLLABLE GGO
        x == 44872 || // Lo       HANGUL SYLLABLE GGWA
        x == 44900 || // Lo       HANGUL SYLLABLE GGWAE
        x == 44928 || // Lo       HANGUL SYLLABLE GGOE
        x == 44956 || // Lo       HANGUL SYLLABLE GGYO
        x == 44984 || // Lo       HANGUL SYLLABLE GGU
        x == 45012 || // Lo       HANGUL SYLLABLE GGWEO
        x == 45040 || // Lo       HANGUL SYLLABLE GGWE
        x == 45068 || // Lo       HANGUL SYLLABLE GGWI
        x == 45096 || // Lo       HANGUL SYLLABLE GGYU
        x == 45124 || // Lo       HANGUL SYLLABLE GGEU
        x == 45152 || // Lo       HANGUL SYLLABLE GGYI
        x == 45180 || // Lo       HANGUL SYLLABLE GGI
        x == 45208 || // Lo       HANGUL SYLLABLE NA
        x == 45236 || // Lo       HANGUL SYLLABLE NAE
        x == 45264 || // Lo       HANGUL SYLLABLE NYA
        x == 45292 || // Lo       HANGUL SYLLABLE NYAE
        x == 45320 || // Lo       HANGUL SYLLABLE NEO
        x == 45348 || // Lo       HANGUL SYLLABLE NE
        x == 45376 || // Lo       HANGUL SYLLABLE NYEO
        x == 45404 || // Lo       HANGUL SYLLABLE NYE
        x == 45432 || // Lo       HANGUL SYLLABLE NO
        x == 45460 || // Lo       HANGUL SYLLABLE NWA
        x == 45488 || // Lo       HANGUL SYLLABLE NWAE
        x == 45516 || // Lo       HANGUL SYLLABLE NOE
        x == 45544 || // Lo       HANGUL SYLLABLE NYO
        x == 45572 || // Lo       HANGUL SYLLABLE NU
        x == 45600 || // Lo       HANGUL SYLLABLE NWEO
        x == 45628 || // Lo       HANGUL SYLLABLE NWE
        x == 45656 || // Lo       HANGUL SYLLABLE NWI
        x == 45684 || // Lo       HANGUL SYLLABLE NYU
        x == 45712 || // Lo       HANGUL SYLLABLE NEU
        x == 45740 || // Lo       HANGUL SYLLABLE NYI
        x == 45768 || // Lo       HANGUL SYLLABLE NI
        x == 45796 || // Lo       HANGUL SYLLABLE DA
        x == 45824 || // Lo       HANGUL SYLLABLE DAE
        x == 45852 || // Lo       HANGUL SYLLABLE DYA
        x == 45880 || // Lo       HANGUL SYLLABLE DYAE
        x == 45908 || // Lo       HANGUL SYLLABLE DEO
        x == 45936 || // Lo       HANGUL SYLLABLE DE
        x == 45964 || // Lo       HANGUL SYLLABLE DYEO
        x == 45992 || // Lo       HANGUL SYLLABLE DYE
        x == 46020 || // Lo       HANGUL SYLLABLE DO
        x == 46048 || // Lo       HANGUL SYLLABLE DWA
        x == 46076 || // Lo       HANGUL SYLLABLE DWAE
        x == 46104 || // Lo       HANGUL SYLLABLE DOE
        x == 46132 || // Lo       HANGUL SYLLABLE DYO
        x == 46160 || // Lo       HANGUL SYLLABLE DU
        x == 46188 || // Lo       HANGUL SYLLABLE DWEO
        x == 46216 || // Lo       HANGUL SYLLABLE DWE
        x == 46244 || // Lo       HANGUL SYLLABLE DWI
        x == 46272 || // Lo       HANGUL SYLLABLE DYU
        x == 46300 || // Lo       HANGUL SYLLABLE DEU
        x == 46328 || // Lo       HANGUL SYLLABLE DYI
        x == 46356 || // Lo       HANGUL SYLLABLE DI
        x == 46384 || // Lo       HANGUL SYLLABLE DDA
        x == 46412 || // Lo       HANGUL SYLLABLE DDAE
        x == 46440 || // Lo       HANGUL SYLLABLE DDYA
        x == 46468 || // Lo       HANGUL SYLLABLE DDYAE
        x == 46496 || // Lo       HANGUL SYLLABLE DDEO
        x == 46524 || // Lo       HANGUL SYLLABLE DDE
        x == 46552 || // Lo       HANGUL SYLLABLE DDYEO
        x == 46580 || // Lo       HANGUL SYLLABLE DDYE
        x == 46608 || // Lo       HANGUL SYLLABLE DDO
        x == 46636 || // Lo       HANGUL SYLLABLE DDWA
        x == 46664 || // Lo       HANGUL SYLLABLE DDWAE
        x == 46692 || // Lo       HANGUL SYLLABLE DDOE
        x == 46720 || // Lo       HANGUL SYLLABLE DDYO
        x == 46748 || // Lo       HANGUL SYLLABLE DDU
        x == 46776 || // Lo       HANGUL SYLLABLE DDWEO
        x == 46804 || // Lo       HANGUL SYLLABLE DDWE
        x == 46832 || // Lo       HANGUL SYLLABLE DDWI
        x == 46860 || // Lo       HANGUL SYLLABLE DDYU
        x == 46888 || // Lo       HANGUL SYLLABLE DDEU
        x == 46916 || // Lo       HANGUL SYLLABLE DDYI
        x == 46944 || // Lo       HANGUL SYLLABLE DDI
        x == 46972 || // Lo       HANGUL SYLLABLE RA
        x == 47e3 || // Lo       HANGUL SYLLABLE RAE
        x == 47028 || // Lo       HANGUL SYLLABLE RYA
        x == 47056 || // Lo       HANGUL SYLLABLE RYAE
        x == 47084 || // Lo       HANGUL SYLLABLE REO
        x == 47112 || // Lo       HANGUL SYLLABLE RE
        x == 47140 || // Lo       HANGUL SYLLABLE RYEO
        x == 47168 || // Lo       HANGUL SYLLABLE RYE
        x == 47196 || // Lo       HANGUL SYLLABLE RO
        x == 47224 || // Lo       HANGUL SYLLABLE RWA
        x == 47252 || // Lo       HANGUL SYLLABLE RWAE
        x == 47280 || // Lo       HANGUL SYLLABLE ROE
        x == 47308 || // Lo       HANGUL SYLLABLE RYO
        x == 47336 || // Lo       HANGUL SYLLABLE RU
        x == 47364 || // Lo       HANGUL SYLLABLE RWEO
        x == 47392 || // Lo       HANGUL SYLLABLE RWE
        x == 47420 || // Lo       HANGUL SYLLABLE RWI
        x == 47448 || // Lo       HANGUL SYLLABLE RYU
        x == 47476 || // Lo       HANGUL SYLLABLE REU
        x == 47504 || // Lo       HANGUL SYLLABLE RYI
        x == 47532 || // Lo       HANGUL SYLLABLE RI
        x == 47560 || // Lo       HANGUL SYLLABLE MA
        x == 47588 || // Lo       HANGUL SYLLABLE MAE
        x == 47616 || // Lo       HANGUL SYLLABLE MYA
        x == 47644 || // Lo       HANGUL SYLLABLE MYAE
        x == 47672 || // Lo       HANGUL SYLLABLE MEO
        x == 47700 || // Lo       HANGUL SYLLABLE ME
        x == 47728 || // Lo       HANGUL SYLLABLE MYEO
        x == 47756 || // Lo       HANGUL SYLLABLE MYE
        x == 47784 || // Lo       HANGUL SYLLABLE MO
        x == 47812 || // Lo       HANGUL SYLLABLE MWA
        x == 47840 || // Lo       HANGUL SYLLABLE MWAE
        x == 47868 || // Lo       HANGUL SYLLABLE MOE
        x == 47896 || // Lo       HANGUL SYLLABLE MYO
        x == 47924 || // Lo       HANGUL SYLLABLE MU
        x == 47952 || // Lo       HANGUL SYLLABLE MWEO
        x == 47980 || // Lo       HANGUL SYLLABLE MWE
        x == 48008 || // Lo       HANGUL SYLLABLE MWI
        x == 48036 || // Lo       HANGUL SYLLABLE MYU
        x == 48064 || // Lo       HANGUL SYLLABLE MEU
        x == 48092 || // Lo       HANGUL SYLLABLE MYI
        x == 48120 || // Lo       HANGUL SYLLABLE MI
        x == 48148 || // Lo       HANGUL SYLLABLE BA
        x == 48176 || // Lo       HANGUL SYLLABLE BAE
        x == 48204 || // Lo       HANGUL SYLLABLE BYA
        x == 48232 || // Lo       HANGUL SYLLABLE BYAE
        x == 48260 || // Lo       HANGUL SYLLABLE BEO
        x == 48288 || // Lo       HANGUL SYLLABLE BE
        x == 48316 || // Lo       HANGUL SYLLABLE BYEO
        x == 48344 || // Lo       HANGUL SYLLABLE BYE
        x == 48372 || // Lo       HANGUL SYLLABLE BO
        x == 48400 || // Lo       HANGUL SYLLABLE BWA
        x == 48428 || // Lo       HANGUL SYLLABLE BWAE
        x == 48456 || // Lo       HANGUL SYLLABLE BOE
        x == 48484 || // Lo       HANGUL SYLLABLE BYO
        x == 48512 || // Lo       HANGUL SYLLABLE BU
        x == 48540 || // Lo       HANGUL SYLLABLE BWEO
        x == 48568 || // Lo       HANGUL SYLLABLE BWE
        x == 48596 || // Lo       HANGUL SYLLABLE BWI
        x == 48624 || // Lo       HANGUL SYLLABLE BYU
        x == 48652 || // Lo       HANGUL SYLLABLE BEU
        x == 48680 || // Lo       HANGUL SYLLABLE BYI
        x == 48708 || // Lo       HANGUL SYLLABLE BI
        x == 48736 || // Lo       HANGUL SYLLABLE BBA
        x == 48764 || // Lo       HANGUL SYLLABLE BBAE
        x == 48792 || // Lo       HANGUL SYLLABLE BBYA
        x == 48820 || // Lo       HANGUL SYLLABLE BBYAE
        x == 48848 || // Lo       HANGUL SYLLABLE BBEO
        x == 48876 || // Lo       HANGUL SYLLABLE BBE
        x == 48904 || // Lo       HANGUL SYLLABLE BBYEO
        x == 48932 || // Lo       HANGUL SYLLABLE BBYE
        x == 48960 || // Lo       HANGUL SYLLABLE BBO
        x == 48988 || // Lo       HANGUL SYLLABLE BBWA
        x == 49016 || // Lo       HANGUL SYLLABLE BBWAE
        x == 49044 || // Lo       HANGUL SYLLABLE BBOE
        x == 49072 || // Lo       HANGUL SYLLABLE BBYO
        x == 49100 || // Lo       HANGUL SYLLABLE BBU
        x == 49128 || // Lo       HANGUL SYLLABLE BBWEO
        x == 49156 || // Lo       HANGUL SYLLABLE BBWE
        x == 49184 || // Lo       HANGUL SYLLABLE BBWI
        x == 49212 || // Lo       HANGUL SYLLABLE BBYU
        x == 49240 || // Lo       HANGUL SYLLABLE BBEU
        x == 49268 || // Lo       HANGUL SYLLABLE BBYI
        x == 49296 || // Lo       HANGUL SYLLABLE BBI
        x == 49324 || // Lo       HANGUL SYLLABLE SA
        x == 49352 || // Lo       HANGUL SYLLABLE SAE
        x == 49380 || // Lo       HANGUL SYLLABLE SYA
        x == 49408 || // Lo       HANGUL SYLLABLE SYAE
        x == 49436 || // Lo       HANGUL SYLLABLE SEO
        x == 49464 || // Lo       HANGUL SYLLABLE SE
        x == 49492 || // Lo       HANGUL SYLLABLE SYEO
        x == 49520 || // Lo       HANGUL SYLLABLE SYE
        x == 49548 || // Lo       HANGUL SYLLABLE SO
        x == 49576 || // Lo       HANGUL SYLLABLE SWA
        x == 49604 || // Lo       HANGUL SYLLABLE SWAE
        x == 49632 || // Lo       HANGUL SYLLABLE SOE
        x == 49660 || // Lo       HANGUL SYLLABLE SYO
        x == 49688 || // Lo       HANGUL SYLLABLE SU
        x == 49716 || // Lo       HANGUL SYLLABLE SWEO
        x == 49744 || // Lo       HANGUL SYLLABLE SWE
        x == 49772 || // Lo       HANGUL SYLLABLE SWI
        x == 49800 || // Lo       HANGUL SYLLABLE SYU
        x == 49828 || // Lo       HANGUL SYLLABLE SEU
        x == 49856 || // Lo       HANGUL SYLLABLE SYI
        x == 49884 || // Lo       HANGUL SYLLABLE SI
        x == 49912 || // Lo       HANGUL SYLLABLE SSA
        x == 49940 || // Lo       HANGUL SYLLABLE SSAE
        x == 49968 || // Lo       HANGUL SYLLABLE SSYA
        x == 49996 || // Lo       HANGUL SYLLABLE SSYAE
        x == 50024 || // Lo       HANGUL SYLLABLE SSEO
        x == 50052 || // Lo       HANGUL SYLLABLE SSE
        x == 50080 || // Lo       HANGUL SYLLABLE SSYEO
        x == 50108 || // Lo       HANGUL SYLLABLE SSYE
        x == 50136 || // Lo       HANGUL SYLLABLE SSO
        x == 50164 || // Lo       HANGUL SYLLABLE SSWA
        x == 50192 || // Lo       HANGUL SYLLABLE SSWAE
        x == 50220 || // Lo       HANGUL SYLLABLE SSOE
        x == 50248 || // Lo       HANGUL SYLLABLE SSYO
        x == 50276 || // Lo       HANGUL SYLLABLE SSU
        x == 50304 || // Lo       HANGUL SYLLABLE SSWEO
        x == 50332 || // Lo       HANGUL SYLLABLE SSWE
        x == 50360 || // Lo       HANGUL SYLLABLE SSWI
        x == 50388 || // Lo       HANGUL SYLLABLE SSYU
        x == 50416 || // Lo       HANGUL SYLLABLE SSEU
        x == 50444 || // Lo       HANGUL SYLLABLE SSYI
        x == 50472 || // Lo       HANGUL SYLLABLE SSI
        x == 50500 || // Lo       HANGUL SYLLABLE A
        x == 50528 || // Lo       HANGUL SYLLABLE AE
        x == 50556 || // Lo       HANGUL SYLLABLE YA
        x == 50584 || // Lo       HANGUL SYLLABLE YAE
        x == 50612 || // Lo       HANGUL SYLLABLE EO
        x == 50640 || // Lo       HANGUL SYLLABLE E
        x == 50668 || // Lo       HANGUL SYLLABLE YEO
        x == 50696 || // Lo       HANGUL SYLLABLE YE
        x == 50724 || // Lo       HANGUL SYLLABLE O
        x == 50752 || // Lo       HANGUL SYLLABLE WA
        x == 50780 || // Lo       HANGUL SYLLABLE WAE
        x == 50808 || // Lo       HANGUL SYLLABLE OE
        x == 50836 || // Lo       HANGUL SYLLABLE YO
        x == 50864 || // Lo       HANGUL SYLLABLE U
        x == 50892 || // Lo       HANGUL SYLLABLE WEO
        x == 50920 || // Lo       HANGUL SYLLABLE WE
        x == 50948 || // Lo       HANGUL SYLLABLE WI
        x == 50976 || // Lo       HANGUL SYLLABLE YU
        x == 51004 || // Lo       HANGUL SYLLABLE EU
        x == 51032 || // Lo       HANGUL SYLLABLE YI
        x == 51060 || // Lo       HANGUL SYLLABLE I
        x == 51088 || // Lo       HANGUL SYLLABLE JA
        x == 51116 || // Lo       HANGUL SYLLABLE JAE
        x == 51144 || // Lo       HANGUL SYLLABLE JYA
        x == 51172 || // Lo       HANGUL SYLLABLE JYAE
        x == 51200 || // Lo       HANGUL SYLLABLE JEO
        x == 51228 || // Lo       HANGUL SYLLABLE JE
        x == 51256 || // Lo       HANGUL SYLLABLE JYEO
        x == 51284 || // Lo       HANGUL SYLLABLE JYE
        x == 51312 || // Lo       HANGUL SYLLABLE JO
        x == 51340 || // Lo       HANGUL SYLLABLE JWA
        x == 51368 || // Lo       HANGUL SYLLABLE JWAE
        x == 51396 || // Lo       HANGUL SYLLABLE JOE
        x == 51424 || // Lo       HANGUL SYLLABLE JYO
        x == 51452 || // Lo       HANGUL SYLLABLE JU
        x == 51480 || // Lo       HANGUL SYLLABLE JWEO
        x == 51508 || // Lo       HANGUL SYLLABLE JWE
        x == 51536 || // Lo       HANGUL SYLLABLE JWI
        x == 51564 || // Lo       HANGUL SYLLABLE JYU
        x == 51592 || // Lo       HANGUL SYLLABLE JEU
        x == 51620 || // Lo       HANGUL SYLLABLE JYI
        x == 51648 || // Lo       HANGUL SYLLABLE JI
        x == 51676 || // Lo       HANGUL SYLLABLE JJA
        x == 51704 || // Lo       HANGUL SYLLABLE JJAE
        x == 51732 || // Lo       HANGUL SYLLABLE JJYA
        x == 51760 || // Lo       HANGUL SYLLABLE JJYAE
        x == 51788 || // Lo       HANGUL SYLLABLE JJEO
        x == 51816 || // Lo       HANGUL SYLLABLE JJE
        x == 51844 || // Lo       HANGUL SYLLABLE JJYEO
        x == 51872 || // Lo       HANGUL SYLLABLE JJYE
        x == 51900 || // Lo       HANGUL SYLLABLE JJO
        x == 51928 || // Lo       HANGUL SYLLABLE JJWA
        x == 51956 || // Lo       HANGUL SYLLABLE JJWAE
        x == 51984 || // Lo       HANGUL SYLLABLE JJOE
        x == 52012 || // Lo       HANGUL SYLLABLE JJYO
        x == 52040 || // Lo       HANGUL SYLLABLE JJU
        x == 52068 || // Lo       HANGUL SYLLABLE JJWEO
        x == 52096 || // Lo       HANGUL SYLLABLE JJWE
        x == 52124 || // Lo       HANGUL SYLLABLE JJWI
        x == 52152 || // Lo       HANGUL SYLLABLE JJYU
        x == 52180 || // Lo       HANGUL SYLLABLE JJEU
        x == 52208 || // Lo       HANGUL SYLLABLE JJYI
        x == 52236 || // Lo       HANGUL SYLLABLE JJI
        x == 52264 || // Lo       HANGUL SYLLABLE CA
        x == 52292 || // Lo       HANGUL SYLLABLE CAE
        x == 52320 || // Lo       HANGUL SYLLABLE CYA
        x == 52348 || // Lo       HANGUL SYLLABLE CYAE
        x == 52376 || // Lo       HANGUL SYLLABLE CEO
        x == 52404 || // Lo       HANGUL SYLLABLE CE
        x == 52432 || // Lo       HANGUL SYLLABLE CYEO
        x == 52460 || // Lo       HANGUL SYLLABLE CYE
        x == 52488 || // Lo       HANGUL SYLLABLE CO
        x == 52516 || // Lo       HANGUL SYLLABLE CWA
        x == 52544 || // Lo       HANGUL SYLLABLE CWAE
        x == 52572 || // Lo       HANGUL SYLLABLE COE
        x == 52600 || // Lo       HANGUL SYLLABLE CYO
        x == 52628 || // Lo       HANGUL SYLLABLE CU
        x == 52656 || // Lo       HANGUL SYLLABLE CWEO
        x == 52684 || // Lo       HANGUL SYLLABLE CWE
        x == 52712 || // Lo       HANGUL SYLLABLE CWI
        x == 52740 || // Lo       HANGUL SYLLABLE CYU
        x == 52768 || // Lo       HANGUL SYLLABLE CEU
        x == 52796 || // Lo       HANGUL SYLLABLE CYI
        x == 52824 || // Lo       HANGUL SYLLABLE CI
        x == 52852 || // Lo       HANGUL SYLLABLE KA
        x == 52880 || // Lo       HANGUL SYLLABLE KAE
        x == 52908 || // Lo       HANGUL SYLLABLE KYA
        x == 52936 || // Lo       HANGUL SYLLABLE KYAE
        x == 52964 || // Lo       HANGUL SYLLABLE KEO
        x == 52992 || // Lo       HANGUL SYLLABLE KE
        x == 53020 || // Lo       HANGUL SYLLABLE KYEO
        x == 53048 || // Lo       HANGUL SYLLABLE KYE
        x == 53076 || // Lo       HANGUL SYLLABLE KO
        x == 53104 || // Lo       HANGUL SYLLABLE KWA
        x == 53132 || // Lo       HANGUL SYLLABLE KWAE
        x == 53160 || // Lo       HANGUL SYLLABLE KOE
        x == 53188 || // Lo       HANGUL SYLLABLE KYO
        x == 53216 || // Lo       HANGUL SYLLABLE KU
        x == 53244 || // Lo       HANGUL SYLLABLE KWEO
        x == 53272 || // Lo       HANGUL SYLLABLE KWE
        x == 53300 || // Lo       HANGUL SYLLABLE KWI
        x == 53328 || // Lo       HANGUL SYLLABLE KYU
        x == 53356 || // Lo       HANGUL SYLLABLE KEU
        x == 53384 || // Lo       HANGUL SYLLABLE KYI
        x == 53412 || // Lo       HANGUL SYLLABLE KI
        x == 53440 || // Lo       HANGUL SYLLABLE TA
        x == 53468 || // Lo       HANGUL SYLLABLE TAE
        x == 53496 || // Lo       HANGUL SYLLABLE TYA
        x == 53524 || // Lo       HANGUL SYLLABLE TYAE
        x == 53552 || // Lo       HANGUL SYLLABLE TEO
        x == 53580 || // Lo       HANGUL SYLLABLE TE
        x == 53608 || // Lo       HANGUL SYLLABLE TYEO
        x == 53636 || // Lo       HANGUL SYLLABLE TYE
        x == 53664 || // Lo       HANGUL SYLLABLE TO
        x == 53692 || // Lo       HANGUL SYLLABLE TWA
        x == 53720 || // Lo       HANGUL SYLLABLE TWAE
        x == 53748 || // Lo       HANGUL SYLLABLE TOE
        x == 53776 || // Lo       HANGUL SYLLABLE TYO
        x == 53804 || // Lo       HANGUL SYLLABLE TU
        x == 53832 || // Lo       HANGUL SYLLABLE TWEO
        x == 53860 || // Lo       HANGUL SYLLABLE TWE
        x == 53888 || // Lo       HANGUL SYLLABLE TWI
        x == 53916 || // Lo       HANGUL SYLLABLE TYU
        x == 53944 || // Lo       HANGUL SYLLABLE TEU
        x == 53972 || // Lo       HANGUL SYLLABLE TYI
        x == 54e3 || // Lo       HANGUL SYLLABLE TI
        x == 54028 || // Lo       HANGUL SYLLABLE PA
        x == 54056 || // Lo       HANGUL SYLLABLE PAE
        x == 54084 || // Lo       HANGUL SYLLABLE PYA
        x == 54112 || // Lo       HANGUL SYLLABLE PYAE
        x == 54140 || // Lo       HANGUL SYLLABLE PEO
        x == 54168 || // Lo       HANGUL SYLLABLE PE
        x == 54196 || // Lo       HANGUL SYLLABLE PYEO
        x == 54224 || // Lo       HANGUL SYLLABLE PYE
        x == 54252 || // Lo       HANGUL SYLLABLE PO
        x == 54280 || // Lo       HANGUL SYLLABLE PWA
        x == 54308 || // Lo       HANGUL SYLLABLE PWAE
        x == 54336 || // Lo       HANGUL SYLLABLE POE
        x == 54364 || // Lo       HANGUL SYLLABLE PYO
        x == 54392 || // Lo       HANGUL SYLLABLE PU
        x == 54420 || // Lo       HANGUL SYLLABLE PWEO
        x == 54448 || // Lo       HANGUL SYLLABLE PWE
        x == 54476 || // Lo       HANGUL SYLLABLE PWI
        x == 54504 || // Lo       HANGUL SYLLABLE PYU
        x == 54532 || // Lo       HANGUL SYLLABLE PEU
        x == 54560 || // Lo       HANGUL SYLLABLE PYI
        x == 54588 || // Lo       HANGUL SYLLABLE PI
        x == 54616 || // Lo       HANGUL SYLLABLE HA
        x == 54644 || // Lo       HANGUL SYLLABLE HAE
        x == 54672 || // Lo       HANGUL SYLLABLE HYA
        x == 54700 || // Lo       HANGUL SYLLABLE HYAE
        x == 54728 || // Lo       HANGUL SYLLABLE HEO
        x == 54756 || // Lo       HANGUL SYLLABLE HE
        x == 54784 || // Lo       HANGUL SYLLABLE HYEO
        x == 54812 || // Lo       HANGUL SYLLABLE HYE
        x == 54840 || // Lo       HANGUL SYLLABLE HO
        x == 54868 || // Lo       HANGUL SYLLABLE HWA
        x == 54896 || // Lo       HANGUL SYLLABLE HWAE
        x == 54924 || // Lo       HANGUL SYLLABLE HOE
        x == 54952 || // Lo       HANGUL SYLLABLE HYO
        x == 54980 || // Lo       HANGUL SYLLABLE HU
        x == 55008 || // Lo       HANGUL SYLLABLE HWEO
        x == 55036 || // Lo       HANGUL SYLLABLE HWE
        x == 55064 || // Lo       HANGUL SYLLABLE HWI
        x == 55092 || // Lo       HANGUL SYLLABLE HYU
        x == 55120 || // Lo       HANGUL SYLLABLE HEU
        x == 55148 || // Lo       HANGUL SYLLABLE HYI
        x == 55176 ? b : 44033 <= x && x <= 44059 || // Lo  [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
        44061 <= x && x <= 44087 || // Lo  [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
        44089 <= x && x <= 44115 || // Lo  [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
        44117 <= x && x <= 44143 || // Lo  [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
        44145 <= x && x <= 44171 || // Lo  [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
        44173 <= x && x <= 44199 || // Lo  [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
        44201 <= x && x <= 44227 || // Lo  [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
        44229 <= x && x <= 44255 || // Lo  [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
        44257 <= x && x <= 44283 || // Lo  [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
        44285 <= x && x <= 44311 || // Lo  [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
        44313 <= x && x <= 44339 || // Lo  [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
        44341 <= x && x <= 44367 || // Lo  [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
        44369 <= x && x <= 44395 || // Lo  [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
        44397 <= x && x <= 44423 || // Lo  [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
        44425 <= x && x <= 44451 || // Lo  [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
        44453 <= x && x <= 44479 || // Lo  [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
        44481 <= x && x <= 44507 || // Lo  [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
        44509 <= x && x <= 44535 || // Lo  [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
        44537 <= x && x <= 44563 || // Lo  [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
        44565 <= x && x <= 44591 || // Lo  [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
        44593 <= x && x <= 44619 || // Lo  [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
        44621 <= x && x <= 44647 || // Lo  [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
        44649 <= x && x <= 44675 || // Lo  [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
        44677 <= x && x <= 44703 || // Lo  [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
        44705 <= x && x <= 44731 || // Lo  [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
        44733 <= x && x <= 44759 || // Lo  [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
        44761 <= x && x <= 44787 || // Lo  [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
        44789 <= x && x <= 44815 || // Lo  [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
        44817 <= x && x <= 44843 || // Lo  [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
        44845 <= x && x <= 44871 || // Lo  [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
        44873 <= x && x <= 44899 || // Lo  [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
        44901 <= x && x <= 44927 || // Lo  [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
        44929 <= x && x <= 44955 || // Lo  [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
        44957 <= x && x <= 44983 || // Lo  [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
        44985 <= x && x <= 45011 || // Lo  [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
        45013 <= x && x <= 45039 || // Lo  [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
        45041 <= x && x <= 45067 || // Lo  [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
        45069 <= x && x <= 45095 || // Lo  [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
        45097 <= x && x <= 45123 || // Lo  [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
        45125 <= x && x <= 45151 || // Lo  [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
        45153 <= x && x <= 45179 || // Lo  [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
        45181 <= x && x <= 45207 || // Lo  [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
        45209 <= x && x <= 45235 || // Lo  [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
        45237 <= x && x <= 45263 || // Lo  [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
        45265 <= x && x <= 45291 || // Lo  [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
        45293 <= x && x <= 45319 || // Lo  [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
        45321 <= x && x <= 45347 || // Lo  [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
        45349 <= x && x <= 45375 || // Lo  [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
        45377 <= x && x <= 45403 || // Lo  [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
        45405 <= x && x <= 45431 || // Lo  [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
        45433 <= x && x <= 45459 || // Lo  [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
        45461 <= x && x <= 45487 || // Lo  [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
        45489 <= x && x <= 45515 || // Lo  [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
        45517 <= x && x <= 45543 || // Lo  [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
        45545 <= x && x <= 45571 || // Lo  [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
        45573 <= x && x <= 45599 || // Lo  [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
        45601 <= x && x <= 45627 || // Lo  [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
        45629 <= x && x <= 45655 || // Lo  [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
        45657 <= x && x <= 45683 || // Lo  [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
        45685 <= x && x <= 45711 || // Lo  [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
        45713 <= x && x <= 45739 || // Lo  [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
        45741 <= x && x <= 45767 || // Lo  [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
        45769 <= x && x <= 45795 || // Lo  [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
        45797 <= x && x <= 45823 || // Lo  [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
        45825 <= x && x <= 45851 || // Lo  [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
        45853 <= x && x <= 45879 || // Lo  [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
        45881 <= x && x <= 45907 || // Lo  [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
        45909 <= x && x <= 45935 || // Lo  [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
        45937 <= x && x <= 45963 || // Lo  [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
        45965 <= x && x <= 45991 || // Lo  [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
        45993 <= x && x <= 46019 || // Lo  [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
        46021 <= x && x <= 46047 || // Lo  [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
        46049 <= x && x <= 46075 || // Lo  [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
        46077 <= x && x <= 46103 || // Lo  [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
        46105 <= x && x <= 46131 || // Lo  [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
        46133 <= x && x <= 46159 || // Lo  [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
        46161 <= x && x <= 46187 || // Lo  [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
        46189 <= x && x <= 46215 || // Lo  [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
        46217 <= x && x <= 46243 || // Lo  [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
        46245 <= x && x <= 46271 || // Lo  [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
        46273 <= x && x <= 46299 || // Lo  [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
        46301 <= x && x <= 46327 || // Lo  [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
        46329 <= x && x <= 46355 || // Lo  [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
        46357 <= x && x <= 46383 || // Lo  [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
        46385 <= x && x <= 46411 || // Lo  [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
        46413 <= x && x <= 46439 || // Lo  [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
        46441 <= x && x <= 46467 || // Lo  [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
        46469 <= x && x <= 46495 || // Lo  [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
        46497 <= x && x <= 46523 || // Lo  [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
        46525 <= x && x <= 46551 || // Lo  [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
        46553 <= x && x <= 46579 || // Lo  [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
        46581 <= x && x <= 46607 || // Lo  [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
        46609 <= x && x <= 46635 || // Lo  [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
        46637 <= x && x <= 46663 || // Lo  [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
        46665 <= x && x <= 46691 || // Lo  [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
        46693 <= x && x <= 46719 || // Lo  [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
        46721 <= x && x <= 46747 || // Lo  [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
        46749 <= x && x <= 46775 || // Lo  [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
        46777 <= x && x <= 46803 || // Lo  [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
        46805 <= x && x <= 46831 || // Lo  [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
        46833 <= x && x <= 46859 || // Lo  [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
        46861 <= x && x <= 46887 || // Lo  [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
        46889 <= x && x <= 46915 || // Lo  [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
        46917 <= x && x <= 46943 || // Lo  [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
        46945 <= x && x <= 46971 || // Lo  [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
        46973 <= x && x <= 46999 || // Lo  [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
        47001 <= x && x <= 47027 || // Lo  [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
        47029 <= x && x <= 47055 || // Lo  [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
        47057 <= x && x <= 47083 || // Lo  [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
        47085 <= x && x <= 47111 || // Lo  [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
        47113 <= x && x <= 47139 || // Lo  [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
        47141 <= x && x <= 47167 || // Lo  [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
        47169 <= x && x <= 47195 || // Lo  [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
        47197 <= x && x <= 47223 || // Lo  [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
        47225 <= x && x <= 47251 || // Lo  [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
        47253 <= x && x <= 47279 || // Lo  [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
        47281 <= x && x <= 47307 || // Lo  [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
        47309 <= x && x <= 47335 || // Lo  [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
        47337 <= x && x <= 47363 || // Lo  [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
        47365 <= x && x <= 47391 || // Lo  [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
        47393 <= x && x <= 47419 || // Lo  [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
        47421 <= x && x <= 47447 || // Lo  [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
        47449 <= x && x <= 47475 || // Lo  [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
        47477 <= x && x <= 47503 || // Lo  [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
        47505 <= x && x <= 47531 || // Lo  [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
        47533 <= x && x <= 47559 || // Lo  [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
        47561 <= x && x <= 47587 || // Lo  [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
        47589 <= x && x <= 47615 || // Lo  [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
        47617 <= x && x <= 47643 || // Lo  [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
        47645 <= x && x <= 47671 || // Lo  [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
        47673 <= x && x <= 47699 || // Lo  [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
        47701 <= x && x <= 47727 || // Lo  [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
        47729 <= x && x <= 47755 || // Lo  [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
        47757 <= x && x <= 47783 || // Lo  [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
        47785 <= x && x <= 47811 || // Lo  [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
        47813 <= x && x <= 47839 || // Lo  [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
        47841 <= x && x <= 47867 || // Lo  [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
        47869 <= x && x <= 47895 || // Lo  [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
        47897 <= x && x <= 47923 || // Lo  [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
        47925 <= x && x <= 47951 || // Lo  [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
        47953 <= x && x <= 47979 || // Lo  [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
        47981 <= x && x <= 48007 || // Lo  [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
        48009 <= x && x <= 48035 || // Lo  [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
        48037 <= x && x <= 48063 || // Lo  [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
        48065 <= x && x <= 48091 || // Lo  [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
        48093 <= x && x <= 48119 || // Lo  [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
        48121 <= x && x <= 48147 || // Lo  [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
        48149 <= x && x <= 48175 || // Lo  [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
        48177 <= x && x <= 48203 || // Lo  [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
        48205 <= x && x <= 48231 || // Lo  [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
        48233 <= x && x <= 48259 || // Lo  [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
        48261 <= x && x <= 48287 || // Lo  [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
        48289 <= x && x <= 48315 || // Lo  [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
        48317 <= x && x <= 48343 || // Lo  [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
        48345 <= x && x <= 48371 || // Lo  [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
        48373 <= x && x <= 48399 || // Lo  [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
        48401 <= x && x <= 48427 || // Lo  [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
        48429 <= x && x <= 48455 || // Lo  [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
        48457 <= x && x <= 48483 || // Lo  [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
        48485 <= x && x <= 48511 || // Lo  [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
        48513 <= x && x <= 48539 || // Lo  [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
        48541 <= x && x <= 48567 || // Lo  [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
        48569 <= x && x <= 48595 || // Lo  [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
        48597 <= x && x <= 48623 || // Lo  [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
        48625 <= x && x <= 48651 || // Lo  [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
        48653 <= x && x <= 48679 || // Lo  [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
        48681 <= x && x <= 48707 || // Lo  [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
        48709 <= x && x <= 48735 || // Lo  [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
        48737 <= x && x <= 48763 || // Lo  [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
        48765 <= x && x <= 48791 || // Lo  [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
        48793 <= x && x <= 48819 || // Lo  [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
        48821 <= x && x <= 48847 || // Lo  [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
        48849 <= x && x <= 48875 || // Lo  [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
        48877 <= x && x <= 48903 || // Lo  [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
        48905 <= x && x <= 48931 || // Lo  [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
        48933 <= x && x <= 48959 || // Lo  [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
        48961 <= x && x <= 48987 || // Lo  [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
        48989 <= x && x <= 49015 || // Lo  [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
        49017 <= x && x <= 49043 || // Lo  [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
        49045 <= x && x <= 49071 || // Lo  [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
        49073 <= x && x <= 49099 || // Lo  [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
        49101 <= x && x <= 49127 || // Lo  [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
        49129 <= x && x <= 49155 || // Lo  [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
        49157 <= x && x <= 49183 || // Lo  [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
        49185 <= x && x <= 49211 || // Lo  [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
        49213 <= x && x <= 49239 || // Lo  [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
        49241 <= x && x <= 49267 || // Lo  [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
        49269 <= x && x <= 49295 || // Lo  [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
        49297 <= x && x <= 49323 || // Lo  [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
        49325 <= x && x <= 49351 || // Lo  [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
        49353 <= x && x <= 49379 || // Lo  [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
        49381 <= x && x <= 49407 || // Lo  [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
        49409 <= x && x <= 49435 || // Lo  [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
        49437 <= x && x <= 49463 || // Lo  [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
        49465 <= x && x <= 49491 || // Lo  [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
        49493 <= x && x <= 49519 || // Lo  [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
        49521 <= x && x <= 49547 || // Lo  [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
        49549 <= x && x <= 49575 || // Lo  [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
        49577 <= x && x <= 49603 || // Lo  [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
        49605 <= x && x <= 49631 || // Lo  [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
        49633 <= x && x <= 49659 || // Lo  [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
        49661 <= x && x <= 49687 || // Lo  [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
        49689 <= x && x <= 49715 || // Lo  [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
        49717 <= x && x <= 49743 || // Lo  [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
        49745 <= x && x <= 49771 || // Lo  [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
        49773 <= x && x <= 49799 || // Lo  [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
        49801 <= x && x <= 49827 || // Lo  [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
        49829 <= x && x <= 49855 || // Lo  [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
        49857 <= x && x <= 49883 || // Lo  [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
        49885 <= x && x <= 49911 || // Lo  [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
        49913 <= x && x <= 49939 || // Lo  [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
        49941 <= x && x <= 49967 || // Lo  [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
        49969 <= x && x <= 49995 || // Lo  [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
        49997 <= x && x <= 50023 || // Lo  [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
        50025 <= x && x <= 50051 || // Lo  [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
        50053 <= x && x <= 50079 || // Lo  [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
        50081 <= x && x <= 50107 || // Lo  [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
        50109 <= x && x <= 50135 || // Lo  [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
        50137 <= x && x <= 50163 || // Lo  [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
        50165 <= x && x <= 50191 || // Lo  [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
        50193 <= x && x <= 50219 || // Lo  [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
        50221 <= x && x <= 50247 || // Lo  [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
        50249 <= x && x <= 50275 || // Lo  [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
        50277 <= x && x <= 50303 || // Lo  [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
        50305 <= x && x <= 50331 || // Lo  [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
        50333 <= x && x <= 50359 || // Lo  [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
        50361 <= x && x <= 50387 || // Lo  [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
        50389 <= x && x <= 50415 || // Lo  [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
        50417 <= x && x <= 50443 || // Lo  [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
        50445 <= x && x <= 50471 || // Lo  [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
        50473 <= x && x <= 50499 || // Lo  [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
        50501 <= x && x <= 50527 || // Lo  [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
        50529 <= x && x <= 50555 || // Lo  [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
        50557 <= x && x <= 50583 || // Lo  [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
        50585 <= x && x <= 50611 || // Lo  [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
        50613 <= x && x <= 50639 || // Lo  [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
        50641 <= x && x <= 50667 || // Lo  [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
        50669 <= x && x <= 50695 || // Lo  [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
        50697 <= x && x <= 50723 || // Lo  [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
        50725 <= x && x <= 50751 || // Lo  [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
        50753 <= x && x <= 50779 || // Lo  [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
        50781 <= x && x <= 50807 || // Lo  [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
        50809 <= x && x <= 50835 || // Lo  [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
        50837 <= x && x <= 50863 || // Lo  [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
        50865 <= x && x <= 50891 || // Lo  [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
        50893 <= x && x <= 50919 || // Lo  [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
        50921 <= x && x <= 50947 || // Lo  [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
        50949 <= x && x <= 50975 || // Lo  [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
        50977 <= x && x <= 51003 || // Lo  [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
        51005 <= x && x <= 51031 || // Lo  [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
        51033 <= x && x <= 51059 || // Lo  [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
        51061 <= x && x <= 51087 || // Lo  [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
        51089 <= x && x <= 51115 || // Lo  [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
        51117 <= x && x <= 51143 || // Lo  [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
        51145 <= x && x <= 51171 || // Lo  [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
        51173 <= x && x <= 51199 || // Lo  [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
        51201 <= x && x <= 51227 || // Lo  [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
        51229 <= x && x <= 51255 || // Lo  [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
        51257 <= x && x <= 51283 || // Lo  [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
        51285 <= x && x <= 51311 || // Lo  [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
        51313 <= x && x <= 51339 || // Lo  [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
        51341 <= x && x <= 51367 || // Lo  [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
        51369 <= x && x <= 51395 || // Lo  [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
        51397 <= x && x <= 51423 || // Lo  [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
        51425 <= x && x <= 51451 || // Lo  [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
        51453 <= x && x <= 51479 || // Lo  [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
        51481 <= x && x <= 51507 || // Lo  [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
        51509 <= x && x <= 51535 || // Lo  [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
        51537 <= x && x <= 51563 || // Lo  [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
        51565 <= x && x <= 51591 || // Lo  [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
        51593 <= x && x <= 51619 || // Lo  [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
        51621 <= x && x <= 51647 || // Lo  [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
        51649 <= x && x <= 51675 || // Lo  [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
        51677 <= x && x <= 51703 || // Lo  [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
        51705 <= x && x <= 51731 || // Lo  [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
        51733 <= x && x <= 51759 || // Lo  [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
        51761 <= x && x <= 51787 || // Lo  [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
        51789 <= x && x <= 51815 || // Lo  [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
        51817 <= x && x <= 51843 || // Lo  [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
        51845 <= x && x <= 51871 || // Lo  [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
        51873 <= x && x <= 51899 || // Lo  [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
        51901 <= x && x <= 51927 || // Lo  [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
        51929 <= x && x <= 51955 || // Lo  [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
        51957 <= x && x <= 51983 || // Lo  [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
        51985 <= x && x <= 52011 || // Lo  [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
        52013 <= x && x <= 52039 || // Lo  [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
        52041 <= x && x <= 52067 || // Lo  [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
        52069 <= x && x <= 52095 || // Lo  [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
        52097 <= x && x <= 52123 || // Lo  [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
        52125 <= x && x <= 52151 || // Lo  [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
        52153 <= x && x <= 52179 || // Lo  [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
        52181 <= x && x <= 52207 || // Lo  [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
        52209 <= x && x <= 52235 || // Lo  [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
        52237 <= x && x <= 52263 || // Lo  [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
        52265 <= x && x <= 52291 || // Lo  [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
        52293 <= x && x <= 52319 || // Lo  [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
        52321 <= x && x <= 52347 || // Lo  [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
        52349 <= x && x <= 52375 || // Lo  [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
        52377 <= x && x <= 52403 || // Lo  [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
        52405 <= x && x <= 52431 || // Lo  [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
        52433 <= x && x <= 52459 || // Lo  [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
        52461 <= x && x <= 52487 || // Lo  [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
        52489 <= x && x <= 52515 || // Lo  [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
        52517 <= x && x <= 52543 || // Lo  [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
        52545 <= x && x <= 52571 || // Lo  [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
        52573 <= x && x <= 52599 || // Lo  [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
        52601 <= x && x <= 52627 || // Lo  [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
        52629 <= x && x <= 52655 || // Lo  [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
        52657 <= x && x <= 52683 || // Lo  [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
        52685 <= x && x <= 52711 || // Lo  [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
        52713 <= x && x <= 52739 || // Lo  [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
        52741 <= x && x <= 52767 || // Lo  [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
        52769 <= x && x <= 52795 || // Lo  [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
        52797 <= x && x <= 52823 || // Lo  [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
        52825 <= x && x <= 52851 || // Lo  [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
        52853 <= x && x <= 52879 || // Lo  [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
        52881 <= x && x <= 52907 || // Lo  [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
        52909 <= x && x <= 52935 || // Lo  [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
        52937 <= x && x <= 52963 || // Lo  [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
        52965 <= x && x <= 52991 || // Lo  [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
        52993 <= x && x <= 53019 || // Lo  [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
        53021 <= x && x <= 53047 || // Lo  [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
        53049 <= x && x <= 53075 || // Lo  [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
        53077 <= x && x <= 53103 || // Lo  [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
        53105 <= x && x <= 53131 || // Lo  [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
        53133 <= x && x <= 53159 || // Lo  [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
        53161 <= x && x <= 53187 || // Lo  [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
        53189 <= x && x <= 53215 || // Lo  [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
        53217 <= x && x <= 53243 || // Lo  [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
        53245 <= x && x <= 53271 || // Lo  [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
        53273 <= x && x <= 53299 || // Lo  [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
        53301 <= x && x <= 53327 || // Lo  [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
        53329 <= x && x <= 53355 || // Lo  [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
        53357 <= x && x <= 53383 || // Lo  [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
        53385 <= x && x <= 53411 || // Lo  [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
        53413 <= x && x <= 53439 || // Lo  [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
        53441 <= x && x <= 53467 || // Lo  [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
        53469 <= x && x <= 53495 || // Lo  [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
        53497 <= x && x <= 53523 || // Lo  [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
        53525 <= x && x <= 53551 || // Lo  [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
        53553 <= x && x <= 53579 || // Lo  [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
        53581 <= x && x <= 53607 || // Lo  [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
        53609 <= x && x <= 53635 || // Lo  [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
        53637 <= x && x <= 53663 || // Lo  [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
        53665 <= x && x <= 53691 || // Lo  [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
        53693 <= x && x <= 53719 || // Lo  [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
        53721 <= x && x <= 53747 || // Lo  [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
        53749 <= x && x <= 53775 || // Lo  [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
        53777 <= x && x <= 53803 || // Lo  [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
        53805 <= x && x <= 53831 || // Lo  [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
        53833 <= x && x <= 53859 || // Lo  [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
        53861 <= x && x <= 53887 || // Lo  [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
        53889 <= x && x <= 53915 || // Lo  [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
        53917 <= x && x <= 53943 || // Lo  [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
        53945 <= x && x <= 53971 || // Lo  [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
        53973 <= x && x <= 53999 || // Lo  [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
        54001 <= x && x <= 54027 || // Lo  [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
        54029 <= x && x <= 54055 || // Lo  [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
        54057 <= x && x <= 54083 || // Lo  [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
        54085 <= x && x <= 54111 || // Lo  [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
        54113 <= x && x <= 54139 || // Lo  [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
        54141 <= x && x <= 54167 || // Lo  [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
        54169 <= x && x <= 54195 || // Lo  [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
        54197 <= x && x <= 54223 || // Lo  [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
        54225 <= x && x <= 54251 || // Lo  [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
        54253 <= x && x <= 54279 || // Lo  [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
        54281 <= x && x <= 54307 || // Lo  [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
        54309 <= x && x <= 54335 || // Lo  [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
        54337 <= x && x <= 54363 || // Lo  [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
        54365 <= x && x <= 54391 || // Lo  [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
        54393 <= x && x <= 54419 || // Lo  [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
        54421 <= x && x <= 54447 || // Lo  [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
        54449 <= x && x <= 54475 || // Lo  [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
        54477 <= x && x <= 54503 || // Lo  [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
        54505 <= x && x <= 54531 || // Lo  [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
        54533 <= x && x <= 54559 || // Lo  [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
        54561 <= x && x <= 54587 || // Lo  [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
        54589 <= x && x <= 54615 || // Lo  [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
        54617 <= x && x <= 54643 || // Lo  [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
        54645 <= x && x <= 54671 || // Lo  [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
        54673 <= x && x <= 54699 || // Lo  [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
        54701 <= x && x <= 54727 || // Lo  [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
        54729 <= x && x <= 54755 || // Lo  [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
        54757 <= x && x <= 54783 || // Lo  [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
        54785 <= x && x <= 54811 || // Lo  [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
        54813 <= x && x <= 54839 || // Lo  [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
        54841 <= x && x <= 54867 || // Lo  [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
        54869 <= x && x <= 54895 || // Lo  [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
        54897 <= x && x <= 54923 || // Lo  [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
        54925 <= x && x <= 54951 || // Lo  [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
        54953 <= x && x <= 54979 || // Lo  [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
        54981 <= x && x <= 55007 || // Lo  [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
        55009 <= x && x <= 55035 || // Lo  [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
        55037 <= x && x <= 55063 || // Lo  [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
        55065 <= x && x <= 55091 || // Lo  [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
        55093 <= x && x <= 55119 || // Lo  [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
        55121 <= x && x <= 55147 || // Lo  [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
        55149 <= x && x <= 55175 || // Lo  [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
        55177 <= x && x <= 55203 ? v : x == 9757 || // So       WHITE UP POINTING INDEX
        x == 9977 || // So       PERSON WITH BALL
        9994 <= x && x <= 9997 || // So   [4] RAISED FIST..WRITING HAND
        x == 127877 || // So       FATHER CHRISTMAS
        127938 <= x && x <= 127940 || // So   [3] SNOWBOARDER..SURFER
        x == 127943 || // So       HORSE RACING
        127946 <= x && x <= 127948 || // So   [3] SWIMMER..GOLFER
        128066 <= x && x <= 128067 || // So   [2] EAR..NOSE
        128070 <= x && x <= 128080 || // So  [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
        x == 128110 || // So       POLICE OFFICER
        128112 <= x && x <= 128120 || // So   [9] BRIDE WITH VEIL..PRINCESS
        x == 128124 || // So       BABY ANGEL
        128129 <= x && x <= 128131 || // So   [3] INFORMATION DESK PERSON..DANCER
        128133 <= x && x <= 128135 || // So   [3] NAIL POLISH..HAIRCUT
        x == 128170 || // So       FLEXED BICEPS
        128372 <= x && x <= 128373 || // So   [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
        x == 128378 || // So       MAN DANCING
        x == 128400 || // So       RAISED HAND WITH FINGERS SPLAYED
        128405 <= x && x <= 128406 || // So   [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
        128581 <= x && x <= 128583 || // So   [3] FACE WITH NO GOOD GESTURE..PERSON BOWING DEEPLY
        128587 <= x && x <= 128591 || // So   [5] HAPPY PERSON RAISING ONE HAND..PERSON WITH FOLDED HANDS
        x == 128675 || // So       ROWBOAT
        128692 <= x && x <= 128694 || // So   [3] BICYCLIST..PEDESTRIAN
        x == 128704 || // So       BATH
        x == 128716 || // So       SLEEPING ACCOMMODATION
        129304 <= x && x <= 129308 || // So   [5] SIGN OF THE HORNS..RIGHT-FACING FIST
        129310 <= x && x <= 129311 || // So   [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
        x == 129318 || // So       FACE PALM
        129328 <= x && x <= 129337 || // So  [10] PREGNANT WOMAN..JUGGLING
        129341 <= x && x <= 129342 || // So   [2] WATER POLO..HANDBALL
        129489 <= x && x <= 129501 ? f : 127995 <= x && x <= 127999 ? N : x == 8205 ? O : x == 9792 || // So       FEMALE SIGN
        x == 9794 || // So       MALE SIGN
        9877 <= x && x <= 9878 || // So   [2] STAFF OF AESCULAPIUS..SCALES
        x == 9992 || // So       AIRPLANE
        x == 10084 || // So       HEAVY BLACK HEART
        x == 127752 || // So       RAINBOW
        x == 127806 || // So       EAR OF RICE
        x == 127859 || // So       COOKING
        x == 127891 || // So       GRADUATION CAP
        x == 127908 || // So       MICROPHONE
        x == 127912 || // So       ARTIST PALETTE
        x == 127979 || // So       SCHOOL
        x == 127981 || // So       FACTORY
        x == 128139 || // So       KISS MARK
        128187 <= x && x <= 128188 || // So   [2] PERSONAL COMPUTER..BRIEFCASE
        x == 128295 || // So       WRENCH
        x == 128300 || // So       MICROSCOPE
        x == 128488 || // So       LEFT SPEECH BUBBLE
        x == 128640 || // So       ROCKET
        x == 128658 ? R : 128102 <= x && x <= 128105 ? G : _;
      }
      return this;
    }
    F.exports && (F.exports = n);
  }(H)), H.exports;
}
var $0 = Y0();
const j0 = /* @__PURE__ */ r0($0), H0 = {
  10: [10],
  12: [27, 10],
  13: [13],
  32: [32],
  33: [33],
  34: [34],
  35: [35],
  36: [2],
  37: [37],
  38: [38],
  39: [39],
  40: [40],
  41: [41],
  42: [42],
  43: [43],
  44: [44],
  45: [45],
  46: [46],
  47: [47],
  48: [48],
  49: [49],
  50: [50],
  51: [51],
  52: [52],
  53: [53],
  54: [54],
  55: [55],
  56: [56],
  57: [57],
  58: [58],
  59: [59],
  60: [60],
  61: [61],
  62: [62],
  63: [63],
  64: [0],
  65: [65],
  66: [66],
  67: [67],
  68: [68],
  69: [69],
  70: [70],
  71: [71],
  72: [72],
  73: [73],
  74: [74],
  75: [75],
  76: [76],
  77: [77],
  78: [78],
  79: [79],
  80: [80],
  81: [81],
  82: [82],
  83: [83],
  84: [84],
  85: [85],
  86: [86],
  87: [87],
  88: [88],
  89: [89],
  90: [90],
  91: [27, 60],
  92: [27, 47],
  93: [27, 62],
  94: [27, 20],
  95: [17],
  97: [97],
  98: [98],
  99: [99],
  100: [100],
  101: [101],
  102: [102],
  103: [103],
  104: [104],
  105: [105],
  106: [106],
  107: [107],
  108: [108],
  109: [109],
  110: [110],
  111: [111],
  112: [112],
  113: [113],
  114: [114],
  115: [115],
  116: [116],
  117: [117],
  118: [118],
  119: [119],
  120: [120],
  121: [121],
  122: [122],
  123: [27, 40],
  124: [27, 64],
  125: [27, 41],
  126: [27, 61],
  161: [64],
  163: [1],
  164: [36],
  165: [3],
  167: [95],
  191: [96],
  196: [91],
  197: [14],
  198: [28],
  201: [31],
  209: [93],
  214: [92],
  216: [11],
  220: [94],
  223: [30],
  224: [127],
  228: [123],
  229: [15],
  230: [29],
  199: [9],
  232: [4],
  233: [5],
  236: [7],
  241: [125],
  242: [8],
  246: [124],
  248: [12],
  249: [6],
  252: [126],
  915: [19],
  916: [16],
  920: [25],
  923: [20],
  926: [26],
  928: [22],
  931: [24],
  934: [18],
  936: [23],
  937: [21],
  8364: [27, 101]
};
function W0(F, n, E, s) {
  const t = o(() => V0(
    F,
    n,
    E,
    s
  ), [F, n, E, s]);
  return {
    helperText: `${t.messageLength} / ${t.messageLimit * t.numberOfMessages} characters, ${t.numberOfMessages} SMS message${t.numberOfMessages > 1 ? "s" : ""}`,
    hasSpecialCharacter: t.containsSpecialCharacters
  };
}
const q0 = new j0(), J0 = (F) => q0.splitGraphemes(F).reduce(
  (s, t) => {
    const a = t === `\r
` ? t.split("") : [t];
    return s.concat(a);
  },
  []
), Z0 = (F) => F.some(
  (n) => n.length >= 2 || n.length === 1 && !H0[n.charCodeAt(0)]
), U0 = (F) => {
  const n = J0(F);
  return Z0(n);
};
function V0(F, n, E, s) {
  const t = U0(F);
  let a = t ? 70 : 160;
  const m = n0(
    F,
    E,
    !1,
    s
  ).join().length + n;
  Math.ceil(m / a) > 1 && (a = t ? 67 : 153);
  const p = Math.ceil(m / a);
  return {
    containsSpecialCharacters: t,
    messageLength: m,
    messageLimit: a,
    numberOfMessages: p
  };
}
const z0 = (F) => ({
  pageClassName: j.contentPage,
  boxClassName: j.container,
  titleClassName: j.pageTitle,
  ...F
}), K0 = ({
  smsUrlRegex: F,
  messageBody: n,
  pageClassName: E,
  boxClassName: s,
  titleClassName: t,
  unsubscribeMessageLength: a,
  messageError: u,
  shortenedLinkFormat: m,
  onFormUpdate: p
}) => {
  const { helperText: g, hasSpecialCharacter: h } = W0(
    n,
    a,
    m,
    F
  );
  return /* @__PURE__ */ B("div", { className: E, children: /* @__PURE__ */ w("div", { className: s, children: [
    /* @__PURE__ */ B("div", { className: t, children: "Add content" }),
    /* @__PURE__ */ B("div", { className: "messageBox__message", children: /* @__PURE__ */ B(
      E0,
      {
        label: "Message",
        onChange: (v) => {
          const _ = v.target.value;
          p({ messageBody: _ });
        },
        helper: u || g,
        value: n,
        hasError: !!u
      }
    ) }),
    /* @__PURE__ */ B(
      W,
      {
        semantic: q.INFO,
        text: "The number of characters and messages will determine how much your message will cost to send. Your fans will see a single message."
      }
    ),
    /* @__PURE__ */ B(
      P,
      {
        value: h,
        then: /* @__PURE__ */ B(
          W,
          {
            semantic: q.INFO,
            text: "Special characters like emojis reduce SMS character limit from 160 to 70, which could increase the message count."
          }
        )
      }
    )
  ] }) });
}, Q0 = J(K0, z0, "ContentPage");
function X0({
  smsUrlRegex: F,
  segmentsList: n,
  isAutoSaving: E,
  activeStepIndex: s,
  previousPageUrl: t,
  registerPhoneNumberURL: a,
  formValues: u,
  isPhoneRegistered: m,
  formErrors: p,
  onFormUpdate: g,
  handleScheduleClick: h,
  talentName: b,
  unsubscribeMessage: v,
  talentPhoneNumber: _,
  shortenedLinkFormat: i,
  onNextClick: f,
  onPreviousClick: N,
  ...O
}) {
  const R = [
    { label: "Details" },
    { label: "Content" },
    { label: "Schedule" }
  ], G = {
    text: E ? "Saving" : "Saved",
    status: E ? "loading" : "success"
  };
  function S() {
    const M = [];
    return s > 0 && M.push({
      semantic: Y.SECONDARY,
      label: "previous",
      onClick: N
    }), s < 2 && M.push({
      semantic: Y.PRIMARY,
      label: "next",
      onClick: f
    }), s === 2 && M.push({
      semantic: Y.PRIMARY,
      label: "schedule",
      onClick: h,
      disabled: !m
    }), M;
  }
  return {
    smsUrlRegex: F,
    statusDetails: G,
    steps: R,
    stepIndex: 0,
    previousPageUrl: t,
    activeStepIndex: s,
    registerPhoneNumberURL: a,
    formValues: u,
    segmentsList: n,
    isPhoneRegistered: m,
    formErrors: p,
    onFormUpdate: g,
    handleScheduleClick: h,
    talentName: b,
    unsubscribeMessage: v,
    talentPhoneNumber: _,
    shortenedLinkFormat: i,
    onNextClick: f,
    onPreviousClick: N,
    footerButtons: S(),
    ...O
  };
}
function e0({
  smsUrlRegex: F,
  previousPageUrl: n,
  activeStepIndex: E,
  registerPhoneNumberURL: s,
  statusDetails: t,
  steps: a,
  segmentsList: u,
  isPhoneRegistered: m,
  talentName: p,
  timeSelectOptions: g,
  unsubscribeMessage: h,
  talentPhoneNumber: b,
  shortenedLinkFormat: v,
  onFormUpdate: _,
  formValues: i,
  formErrors: f,
  footerButtons: N
}) {
  return /* @__PURE__ */ w(e, { children: [
    /* @__PURE__ */ B(B0, { steps: a, activeStepIndex: E }),
    /* @__PURE__ */ B("div", { className: T.smsCampaignContainer, children: /* @__PURE__ */ B("div", { className: T.container, children: /* @__PURE__ */ w(i0, { children: [
      /* @__PURE__ */ B(L, { children: /* @__PURE__ */ B(k, { className: T.header, children: /* @__PURE__ */ B(
        D0,
        {
          previousPageUrl: n,
          statusDetails: t,
          tagDetails: {
            text: "SMS",
            variant: "brand"
          },
          title: i.campaignName || "Untitled campaign"
        }
      ) }) }),
      /* @__PURE__ */ B(
        P,
        {
          value: !m,
          then: /* @__PURE__ */ B(L, { children: /* @__PURE__ */ B(k, { className: T.header, children: /* @__PURE__ */ B(
            W,
            {
              semantic: q.ERROR,
              text: "You need to set up a phone number before you can schedule and send SMS campaigns.",
              showIcon: !0,
              dismissible: !1,
              buttonProps: {
                label: "Request Access",
                semantic: Y.TERTIARY,
                size: "xsmall",
                type: t0.LINK,
                href: s
              }
            }
          ) }) })
        }
      ),
      /* @__PURE__ */ w(L, { children: [
        /* @__PURE__ */ w(k, { className: T.step, children: [
          /* @__PURE__ */ B(
            P,
            {
              value: E === 0,
              then: /* @__PURE__ */ B(
                P0,
                {
                  onFieldUpdate: _,
                  name: i.campaignName,
                  segmentsList: u,
                  selectedSegments: i.selectedSegments,
                  nameErrorMessage: f.campaignName || "",
                  segmentErrorMessage: f.selectedSegments || ""
                }
              )
            }
          ),
          /* @__PURE__ */ B(
            P,
            {
              value: E === 1,
              then: /* @__PURE__ */ B(
                Q0,
                {
                  smsUrlRegex: F,
                  onFormUpdate: _,
                  unsubscribeMessageLength: h.length,
                  shortenedLinkFormat: v,
                  messageBody: i.messageBody,
                  messageError: f.messageBody || ""
                }
              )
            }
          ),
          /* @__PURE__ */ B(
            P,
            {
              value: E === 2,
              then: /* @__PURE__ */ B(
                s0,
                {
                  onFieldUpdate: _,
                  scheduleTimeStamp: i.scheduleTimeStamp,
                  dateTimeError: f.scheduleTimeStamp,
                  timeSelectOptions: g,
                  isPhoneRegistered: m,
                  scheduleError: f.scheduleTimeStamp || ""
                }
              )
            }
          )
        ] }),
        /* @__PURE__ */ B(k, { className: T.previewBox, children: /* @__PURE__ */ B(
          a0,
          {
            smsUrlRegex: F,
            text: i.messageBody,
            talentPhoneNumber: b,
            talentName: p,
            shortenedLinkFormat: v,
            unsubscribeMessage: h
          }
        ) })
      ] }),
      /* @__PURE__ */ B(L, { children: /* @__PURE__ */ B(k, { className: T.footerWrapper, children: /* @__PURE__ */ B("div", { className: T.footer, children: /* @__PURE__ */ B(l0, { buttons: N }) }) }) })
    ] }) }) })
  ] });
}
const fx = J(e0, X0);
export {
  fx as S
};
