// Copyright 2012 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// This file was generated at 2014-10-08 15:25:47.940335

#include "src/unicode.h"
#include "src/unicode-inl.h"
#include <stdio.h>
#include <stdlib.h>

namespace unibrow {

static const int kStartBit = (1 << 30);
static const int kChunkBits = (1 << 13);
static const uchar kSentinel = static_cast<uchar>(-1);

/**
 * \file
 * Implementations of functions for working with unicode.
 */

typedef signed short int16_t;  // NOLINT
typedef unsigned short uint16_t;  // NOLINT
typedef int int32_t;  // NOLINT


// All access to the character table should go through this function.
template <int D>
static inline uchar TableGet(const int32_t* table, int index) {
  return table[D * index];
}


static inline uchar GetEntry(int32_t entry) {
  return entry & (kStartBit - 1);
}


static inline bool IsStart(int32_t entry) {
  return (entry & kStartBit) != 0;
}


/**
 * Look up a character in the unicode table using a mix of binary and
 * interpolation search.  For a uniformly distributed array
 * interpolation search beats binary search by a wide margin.  However,
 * in this case interpolation search degenerates because of some very
 * high values in the lower end of the table so this function uses a
 * combination.  The average number of steps to look up the information
 * about a character is around 10, slightly higher if there is no
 * information available about the character.
 */
static bool LookupPredicate(const int32_t* table, uint16_t size, uchar chr) {
  static const int kEntryDist = 1;
  uint16_t value = chr & (kChunkBits - 1);
  unsigned int low = 0;
  unsigned int high = size - 1;
  while (high != low) {
    unsigned int mid = low + ((high - low) >> 1);
    uchar current_value = GetEntry(TableGet<kEntryDist>(table, mid));
    // If we've found an entry less than or equal to this one, and the
    // next one is not also less than this one, we've arrived.
    if ((current_value <= value) &&
        (mid + 1 == size ||
         GetEntry(TableGet<kEntryDist>(table, mid + 1)) > value)) {
      low = mid;
      break;
    } else if (current_value < value) {
      low = mid + 1;
    } else if (current_value > value) {
      // If we've just checked the bottom-most value and it's not
      // the one we're looking for, we're done.
      if (mid == 0) break;
      high = mid - 1;
    }
  }
  int32_t field = TableGet<kEntryDist>(table, low);
  uchar entry = GetEntry(field);
  bool is_start = IsStart(field);
  return (entry == value) || (entry < value && is_start);
}

template <int kW>
struct MultiCharacterSpecialCase {
  static const uchar kEndOfEncoding = kSentinel;
  uchar chars[kW];
};


// Look up the mapping for the given character in the specified table,
// which is of the specified length and uses the specified special case
// mapping for multi-char mappings.  The next parameter is the character
// following the one to map.  The result will be written in to the result
// buffer and the number of characters written will be returned.  Finally,
// if the allow_caching_ptr is non-null then false will be stored in
// it if the result contains multiple characters or depends on the
// context.
// If ranges are linear, a match between a start and end point is
// offset by the distance between the match and the start. Otherwise
// the result is the same as for the start point on the entire range.
template <bool ranges_are_linear, int kW>
static int LookupMapping(const int32_t* table,
                         uint16_t size,
                         const MultiCharacterSpecialCase<kW>* multi_chars,
                         uchar chr,
                         uchar next,
                         uchar* result,
                         bool* allow_caching_ptr) {
  static const int kEntryDist = 2;
  uint16_t key = chr & (kChunkBits - 1);
  uint16_t chunk_start = chr - key;
  unsigned int low = 0;
  unsigned int high = size - 1;
  while (high != low) {
    unsigned int mid = low + ((high - low) >> 1);
    uchar current_value = GetEntry(TableGet<kEntryDist>(table, mid));
    // If we've found an entry less than or equal to this one, and the next one
    // is not also less than this one, we've arrived.
    if ((current_value <= key) &&
        (mid + 1 == size ||
         GetEntry(TableGet<kEntryDist>(table, mid + 1)) > key)) {
      low = mid;
      break;
    } else if (current_value < key) {
      low = mid + 1;
    } else if (current_value > key) {
      // If we've just checked the bottom-most value and it's not
      // the one we're looking for, we're done.
      if (mid == 0) break;
      high = mid - 1;
    }
  }
  int32_t field = TableGet<kEntryDist>(table, low);
  uchar entry = GetEntry(field);
  bool is_start = IsStart(field);
  bool found = (entry == key) || (entry < key && is_start);
  if (found) {
    int32_t value = table[2 * low + 1];
    if (value == 0) {
      // 0 means not present
      return 0;
    } else if ((value & 3) == 0) {
      // Low bits 0 means a constant offset from the given character.
      if (ranges_are_linear) {
        result[0] = chr + (value >> 2);
      } else {
        result[0] = entry + chunk_start + (value >> 2);
      }
      return 1;
    } else if ((value & 3) == 1) {
      // Low bits 1 means a special case mapping
      if (allow_caching_ptr) *allow_caching_ptr = false;
      const MultiCharacterSpecialCase<kW>& mapping = multi_chars[value >> 2];
      int length = 0;
      for (length = 0; length < kW; length++) {
        uchar mapped = mapping.chars[length];
        if (mapped == MultiCharacterSpecialCase<kW>::kEndOfEncoding) break;
        if (ranges_are_linear) {
          result[length] = mapped + (key - entry);
        } else {
          result[length] = mapped;
        }
      }
      return length;
    } else {
      // Low bits 2 means a really really special case
      if (allow_caching_ptr) *allow_caching_ptr = false;
      // The cases of this switch are defined in unicode.py in the
      // really_special_cases mapping.
      switch (value >> 2) {
        case 1:
          // Really special case 1: upper case sigma.  This letter
          // converts to two different lower case sigmas depending on
          // whether or not it occurs at the end of a word.
          if (next != 0 && Letter::Is(next)) {
            result[0] = 0x03C3;
          } else {
            result[0] = 0x03C2;
          }
          return 1;
        default:
          return 0;
      }
      return -1;
    }
  } else {
    return 0;
  }
}

static inline uint8_t NonASCIISequenceLength(byte first) {
  // clang-format off
  static const uint8_t lengths[256] = {
      // The first 128 entries correspond to ASCII characters.
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      // The following 64 entries correspond to continuation bytes.
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      // The next are two invalid overlong encodings and 30 two-byte sequences.
      0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
      // 16 three-byte sequences.
      3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
      // 5 four-byte sequences, followed by sequences that could only encode
      // code points outside of the unicode range.
      4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  // clang-format on
  return lengths[first];
}


static inline bool IsContinuationCharacter(byte chr) {
  return chr >= 0x80 && chr <= 0xBF;
}


// This method decodes an UTF-8 value according to RFC 3629.
uchar Utf8::CalculateValue(const byte* str, size_t max_length, size_t* cursor) {
  size_t length = NonASCIISequenceLength(str[0]);

  // Check continuation characters.
  size_t max_count = std::min(length, max_length);
  size_t count = 1;
  while (count < max_count && IsContinuationCharacter(str[count])) {
    count++;
  }
  *cursor += count;

  // There must be enough continuation characters.
  if (count != length) return kBadChar;

  // Check overly long sequences & other conditions.
  if (length == 3) {
    if (str[0] == 0xE0 && (str[1] < 0xA0 || str[1] > 0xBF)) {
      // Overlong three-byte sequence?
      return kBadChar;
    } else if (str[0] == 0xED && (str[1] < 0x80 || str[1] > 0x9F)) {
      // High and low surrogate halves?
      return kBadChar;
    }
  } else if (length == 4) {
    if (str[0] == 0xF0 && (str[1] < 0x90 || str[1] > 0xBF)) {
      // Overlong four-byte sequence.
      return kBadChar;
    } else if (str[0] == 0xF4 && (str[1] < 0x80 || str[1] > 0x8F)) {
      // Code points outside of the unicode range.
      return kBadChar;
    }
  }

  // All errors have been handled, so we only have to assemble the result.
  switch (length) {
    case 1:
      return str[0];
    case 2:
      return ((str[0] << 6) + str[1]) - 0x00003080;
    case 3:
      return ((str[0] << 12) + (str[1] << 6) + str[2]) - 0x000E2080;
    case 4:
      return ((str[0] << 18) + (str[1] << 12) + (str[2] << 6) + str[3]) -
             0x03C82080;
  }

  UNREACHABLE();
  return kBadChar;
}

uchar Utf8::ValueOfIncremental(byte next, Utf8IncrementalBuffer* buffer) {
  DCHECK_NOT_NULL(buffer);

  // The common case: 1-byte Utf8 (and no incomplete char in the buffer)
  if (V8_LIKELY(next <= kMaxOneByteChar && *buffer == 0)) {
    return static_cast<uchar>(next);
  }

  if (*buffer == 0) {
    // We're at the start of a new character.
    uint32_t kind = NonASCIISequenceLength(next);
    if (kind >= 2 && kind <= 4) {
      // Start of 2..4 byte character, and no buffer.

      // The mask for the lower bits depends on the kind, and is
      // 0x1F, 0x0F, 0x07 for kinds 2, 3, 4 respectively. We can get that
      // with one shift.
      uint8_t mask = 0x7f >> kind;

      // Store the kind in the top nibble, and kind - 1 (i.e., remaining bytes)
      // in 2nd nibble, and the value  in the bottom three. The 2nd nibble is
      // intended as a counter about how many bytes are still needed.
      *buffer = kind << 28 | (kind - 1) << 24 | (next & mask);
      return kIncomplete;
    } else {
      // No buffer, and not the start of a 1-byte char (handled at the
      // beginning), and not the start of a 2..4 byte char? Bad char.
      *buffer = 0;
      return kBadChar;
    }
  } else if (*buffer <= 0xff) {
    // We have one unprocessed byte left (from the last else case in this if
    // statement).
    uchar previous = *buffer;
    *buffer = 0;
    uchar t = ValueOfIncremental(previous, buffer);
    if (t == kIncomplete) {
      // If we have an incomplete character, process both the previous and the
      // next byte at once.
      return ValueOfIncremental(next, buffer);
    } else {
      // Otherwise, process the previous byte and save the next byte for next
      // time.
      DCHECK_EQ(0u, *buffer);
      *buffer = next;
      return t;
    }
  } else if (IsContinuationCharacter(next)) {
    // We're inside of a character, as described by buffer.

    // How many bytes (excluding this one) do we still expect?
    uint8_t bytes_expected = *buffer >> 28;
    uint8_t bytes_left = (*buffer >> 24) & 0x0f;
    bytes_left--;
    // Update the value.
    uint32_t value = ((*buffer & 0xffffff) << 6) | (next & 0x3F);
    if (bytes_left) {
      *buffer = (bytes_expected << 28 | bytes_left << 24 | value);
      return kIncomplete;
    } else {
      *buffer = 0;
      bool sequence_was_too_long = (bytes_expected == 2 && value < 0x80) ||
                                   (bytes_expected == 3 && value < 0x800);
      return sequence_was_too_long ? kBadChar : value;
    }
  } else {
    // Within a character, but not a continuation character? Then the
    // previous char was a bad char. But we need to save the current
    // one.
    *buffer = next;
    return kBadChar;
  }
}

uchar Utf8::ValueOfIncrementalFinish(Utf8IncrementalBuffer* buffer) {
  DCHECK_NOT_NULL(buffer);
  if (*buffer == 0) {
    return kBufferEmpty;
  } else {
    // Process left-over chars. An incomplete char at the end maps to kBadChar.
    uchar t = ValueOfIncremental(0, buffer);
    return (t == kIncomplete) ? kBadChar : t;
  }
}

bool Utf8::Validate(const byte* bytes, size_t length) {
  size_t cursor = 0;

  // Performance optimization: Skip over single-byte values first.
  while (cursor < length && bytes[cursor] <= kMaxOneByteChar) {
    ++cursor;
  }

  while (cursor < length) {
    uchar c = ValueOf(bytes + cursor, length - cursor, &cursor);
    if (!IsValidCharacter(c)) return false;
  }
  return true;
}

// Uppercase:            point.category == 'Lu'

static const uint16_t kUppercaseTable0Size = 455;
static const int32_t kUppercaseTable0[455] = {
    1073741889, 90,         1073742016, 214,
    1073742040, 222,        256,        258,  // NOLINT
    260,        262,        264,        266,
    268,        270,        272,        274,  // NOLINT
    276,        278,        280,        282,
    284,        286,        288,        290,  // NOLINT
    292,        294,        296,        298,
    300,        302,        304,        306,  // NOLINT
    308,        310,        313,        315,
    317,        319,        321,        323,  // NOLINT
    325,        327,        330,        332,
    334,        336,        338,        340,  // NOLINT
    342,        344,        346,        348,
    350,        352,        354,        356,  // NOLINT
    358,        360,        362,        364,
    366,        368,        370,        372,  // NOLINT
    374,        1073742200, 377,        379,
    381,        1073742209, 386,        388,  // NOLINT
    1073742214, 391,        1073742217, 395,
    1073742222, 401,        1073742227, 404,  // NOLINT
    1073742230, 408,        1073742236, 413,
    1073742239, 416,        418,        420,  // NOLINT
    1073742246, 423,        425,        428,
    1073742254, 431,        1073742257, 435,  // NOLINT
    437,        1073742263, 440,        444,
    452,        455,        458,        461,  // NOLINT
    463,        465,        467,        469,
    471,        473,        475,        478,  // NOLINT
    480,        482,        484,        486,
    488,        490,        492,        494,  // NOLINT
    497,        500,        1073742326, 504,
    506,        508,        510,        512,  // NOLINT
    514,        516,        518,        520,
    522,        524,        526,        528,  // NOLINT
    530,        532,        534,        536,
    538,        540,        542,        544,  // NOLINT
    546,        548,        550,        552,
    554,        556,        558,        560,  // NOLINT
    562,        1073742394, 571,        1073742397,
    574,        577,        1073742403, 582,  // NOLINT
    584,        586,        588,        590,
    880,        882,        886,        895,  // NOLINT
    902,        1073742728, 906,        908,
    1073742734, 911,        1073742737, 929,  // NOLINT
    1073742755, 939,        975,        1073742802,
    980,        984,        986,        988,  // NOLINT
    990,        992,        994,        996,
    998,        1000,       1002,       1004,  // NOLINT
    1006,       1012,       1015,       1073742841,
    1018,       1073742845, 1071,       1120,  // NOLINT
    1122,       1124,       1126,       1128,
    1130,       1132,       1134,       1136,  // NOLINT
    1138,       1140,       1142,       1144,
    1146,       1148,       1150,       1152,  // NOLINT
    1162,       1164,       1166,       1168,
    1170,       1172,       1174,       1176,  // NOLINT
    1178,       1180,       1182,       1184,
    1186,       1188,       1190,       1192,  // NOLINT
    1194,       1196,       1198,       1200,
    1202,       1204,       1206,       1208,  // NOLINT
    1210,       1212,       1214,       1073743040,
    1217,       1219,       1221,       1223,  // NOLINT
    1225,       1227,       1229,       1232,
    1234,       1236,       1238,       1240,  // NOLINT
    1242,       1244,       1246,       1248,
    1250,       1252,       1254,       1256,  // NOLINT
    1258,       1260,       1262,       1264,
    1266,       1268,       1270,       1272,  // NOLINT
    1274,       1276,       1278,       1280,
    1282,       1284,       1286,       1288,  // NOLINT
    1290,       1292,       1294,       1296,
    1298,       1300,       1302,       1304,  // NOLINT
    1306,       1308,       1310,       1312,
    1314,       1316,       1318,       1320,  // NOLINT
    1322,       1324,       1326,       1073743153,
    1366,       1073746080, 4293,       4295,  // NOLINT
    4301,       7680,       7682,       7684,
    7686,       7688,       7690,       7692,  // NOLINT
    7694,       7696,       7698,       7700,
    7702,       7704,       7706,       7708,  // NOLINT
    7710,       7712,       7714,       7716,
    7718,       7720,       7722,       7724,  // NOLINT
    7726,       7728,       7730,       7732,
    7734,       7736,       7738,       7740,  // NOLINT
    7742,       7744,       7746,       7748,
    7750,       7752,       7754,       7756,  // NOLINT
    7758,       7760,       7762,       7764,
    7766,       7768,       7770,       7772,  // NOLINT
    7774,       7776,       7778,       7780,
    7782,       7784,       7786,       7788,  // NOLINT
    7790,       7792,       7794,       7796,
    7798,       7800,       7802,       7804,  // NOLINT
    7806,       7808,       7810,       7812,
    7814,       7816,       7818,       7820,  // NOLINT
    7822,       7824,       7826,       7828,
    7838,       7840,       7842,       7844,  // NOLINT
    7846,       7848,       7850,       7852,
    7854,       7856,       7858,       7860,  // NOLINT
    7862,       7864,       7866,       7868,
    7870,       7872,       7874,       7876,  // NOLINT
    7878,       7880,       7882,       7884,
    7886,       7888,       7890,       7892,  // NOLINT
    7894,       7896,       7898,       7900,
    7902,       7904,       7906,       7908,  // NOLINT
    7910,       7912,       7914,       7916,
    7918,       7920,       7922,       7924,  // NOLINT
    7926,       7928,       7930,       7932,
    7934,       1073749768, 7951,       1073749784,  // NOLINT
    7965,       1073749800, 7983,       1073749816,
    7999,       1073749832, 8013,       8025,  // NOLINT
    8027,       8029,       8031,       1073749864,
    8047,       1073749944, 8123,       1073749960,  // NOLINT
    8139,       1073749976, 8155,       1073749992,
    8172,       1073750008, 8187};  // NOLINT
static const uint16_t kUppercaseTable1Size = 86;
static const int32_t kUppercaseTable1[86] = {
  258, 263, 1073742091, 269, 1073742096, 274, 277, 1073742105,  // NOLINT
  285, 292, 294, 296, 1073742122, 301, 1073742128, 307,  // NOLINT
  1073742142, 319, 325, 387, 1073744896, 3118, 3168, 1073744994,  // NOLINT
  3172, 3175, 3177, 3179, 1073745005, 3184, 3186, 3189,  // NOLINT
  1073745022, 3200, 3202, 3204, 3206, 3208, 3210, 3212,  // NOLINT
  3214, 3216, 3218, 3220, 3222, 3224, 3226, 3228,  // NOLINT
  3230, 3232, 3234, 3236, 3238, 3240, 3242, 3244,  // NOLINT
  3246, 3248, 3250, 3252, 3254, 3256, 3258, 3260,  // NOLINT
  3262, 3264, 3266, 3268, 3270, 3272, 3274, 3276,  // NOLINT
  3278, 3280, 3282, 3284, 3286, 3288, 3290, 3292,  // NOLINT
  3294, 3296, 3298, 3307, 3309, 3314 };  // NOLINT
static const uint16_t kUppercaseTable5Size = 101;
static const int32_t kUppercaseTable5[101] = {
    1600, 1602,       1604, 1606,       1608, 1610,       1612, 1614,  // NOLINT
    1616, 1618,       1620, 1622,       1624, 1626,       1628, 1630,  // NOLINT
    1632, 1634,       1636, 1638,       1640, 1642,       1644, 1664,  // NOLINT
    1666, 1668,       1670, 1672,       1674, 1676,       1678, 1680,  // NOLINT
    1682, 1684,       1686, 1688,       1690, 1826,       1828, 1830,  // NOLINT
    1832, 1834,       1836, 1838,       1842, 1844,       1846, 1848,  // NOLINT
    1850, 1852,       1854, 1856,       1858, 1860,       1862, 1864,  // NOLINT
    1866, 1868,       1870, 1872,       1874, 1876,       1878, 1880,  // NOLINT
    1882, 1884,       1886, 1888,       1890, 1892,       1894, 1896,  // NOLINT
    1898, 1900,       1902, 1913,       1915, 1073743741, 1918, 1920,  // NOLINT
    1922, 1924,       1926, 1931,       1933, 1936,       1938, 1942,  // NOLINT
    1944, 1946,       1948, 1950,       1952, 1954,       1956, 1958,  // NOLINT
    1960, 1073743786, 1965, 1073743792, 1969};                         // NOLINT
static const uint16_t kUppercaseTable7Size = 2;
static const int32_t kUppercaseTable7[2] = {
  1073749793, 7994 };  // NOLINT
bool Uppercase::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupPredicate(kUppercaseTable0,
                                       kUppercaseTable0Size,
                                       c);
    case 1: return LookupPredicate(kUppercaseTable1,
                                       kUppercaseTable1Size,
                                       c);
    case 5: return LookupPredicate(kUppercaseTable5,
                                       kUppercaseTable5Size,
                                       c);
    case 7: return LookupPredicate(kUppercaseTable7,
                                       kUppercaseTable7Size,
                                       c);
    default: return false;
  }
}


// Lowercase:            point.category == 'Ll'

static const uint16_t kLowercaseTable0Size = 467;
static const int32_t kLowercaseTable0[467] = {
    1073741921, 122,        181,        1073742047,
    246,        1073742072, 255,        257,  // NOLINT
    259,        261,        263,        265,
    267,        269,        271,        273,  // NOLINT
    275,        277,        279,        281,
    283,        285,        287,        289,  // NOLINT
    291,        293,        295,        297,
    299,        301,        303,        305,  // NOLINT
    307,        309,        1073742135, 312,
    314,        316,        318,        320,  // NOLINT
    322,        324,        326,        1073742152,
    329,        331,        333,        335,  // NOLINT
    337,        339,        341,        343,
    345,        347,        349,        351,  // NOLINT
    353,        355,        357,        359,
    361,        363,        365,        367,  // NOLINT
    369,        371,        373,        375,
    378,        380,        1073742206, 384,  // NOLINT
    387,        389,        392,        1073742220,
    397,        402,        405,        1073742233,  // NOLINT
    411,        414,        417,        419,
    421,        424,        1073742250, 427,  // NOLINT
    429,        432,        436,        438,
    1073742265, 442,        1073742269, 447,  // NOLINT
    454,        457,        460,        462,
    464,        466,        468,        470,  // NOLINT
    472,        474,        1073742300, 477,
    479,        481,        483,        485,  // NOLINT
    487,        489,        491,        493,
    1073742319, 496,        499,        501,  // NOLINT
    505,        507,        509,        511,
    513,        515,        517,        519,  // NOLINT
    521,        523,        525,        527,
    529,        531,        533,        535,  // NOLINT
    537,        539,        541,        543,
    545,        547,        549,        551,  // NOLINT
    553,        555,        557,        559,
    561,        1073742387, 569,        572,  // NOLINT
    1073742399, 576,        578,        583,
    585,        587,        589,        1073742415,  // NOLINT
    659,        1073742485, 687,        881,
    883,        887,        1073742715, 893,  // NOLINT
    912,        1073742764, 974,        1073742800,
    977,        1073742805, 983,        985,  // NOLINT
    987,        989,        991,        993,
    995,        997,        999,        1001,  // NOLINT
    1003,       1005,       1073742831, 1011,
    1013,       1016,       1073742843, 1020,  // NOLINT
    1073742896, 1119,       1121,       1123,
    1125,       1127,       1129,       1131,  // NOLINT
    1133,       1135,       1137,       1139,
    1141,       1143,       1145,       1147,  // NOLINT
    1149,       1151,       1153,       1163,
    1165,       1167,       1169,       1171,  // NOLINT
    1173,       1175,       1177,       1179,
    1181,       1183,       1185,       1187,  // NOLINT
    1189,       1191,       1193,       1195,
    1197,       1199,       1201,       1203,  // NOLINT
    1205,       1207,       1209,       1211,
    1213,       1215,       1218,       1220,  // NOLINT
    1222,       1224,       1226,       1228,
    1073743054, 1231,       1233,       1235,  // NOLINT
    1237,       1239,       1241,       1243,
    1245,       1247,       1249,       1251,  // NOLINT
    1253,       1255,       1257,       1259,
    1261,       1263,       1265,       1267,  // NOLINT
    1269,       1271,       1273,       1275,
    1277,       1279,       1281,       1283,  // NOLINT
    1285,       1287,       1289,       1291,
    1293,       1295,       1297,       1299,  // NOLINT
    1301,       1303,       1305,       1307,
    1309,       1311,       1313,       1315,  // NOLINT
    1317,       1319,       1321,       1323,
    1325,       1327,       1073743201, 1415,  // NOLINT
    1073749248, 7467,       1073749355, 7543,
    1073749369, 7578,       7681,       7683,  // NOLINT
    7685,       7687,       7689,       7691,
    7693,       7695,       7697,       7699,  // NOLINT
    7701,       7703,       7705,       7707,
    7709,       7711,       7713,       7715,  // NOLINT
    7717,       7719,       7721,       7723,
    7725,       7727,       7729,       7731,  // NOLINT
    7733,       7735,       7737,       7739,
    7741,       7743,       7745,       7747,  // NOLINT
    7749,       7751,       7753,       7755,
    7757,       7759,       7761,       7763,  // NOLINT
    7765,       7767,       7769,       7771,
    7773,       7775,       7777,       7779,  // NOLINT
    7781,       7783,       7785,       7787,
    7789,       7791,       7793,       7795,  // NOLINT
    7797,       7799,       7801,       7803,
    7805,       7807,       7809,       7811,  // NOLINT
    7813,       7815,       7817,       7819,
    7821,       7823,       7825,       7827,  // NOLINT
    1073749653, 7837,       7839,       7841,
    7843,       7845,       7847,       7849,  // NOLINT
    7851,       7853,       7855,       7857,
    7859,       7861,       7863,       7865,  // NOLINT
    7867,       7869,       7871,       7873,
    7875,       7877,       7879,       7881,  // NOLINT
    7883,       7885,       7887,       7889,
    7891,       7893,       7895,       7897,  // NOLINT
    7899,       7901,       7903,       7905,
    7907,       7909,       7911,       7913,  // NOLINT
    7915,       7917,       7919,       7921,
    7923,       7925,       7927,       7929,  // NOLINT
    7931,       7933,       1073749759, 7943,
    1073749776, 7957,       1073749792, 7975,  // NOLINT
    1073749808, 7991,       1073749824, 8005,
    1073749840, 8023,       1073749856, 8039,  // NOLINT
    1073749872, 8061,       1073749888, 8071,
    1073749904, 8087,       1073749920, 8103,  // NOLINT
    1073749936, 8116,       1073749942, 8119,
    8126,       1073749954, 8132,       1073749958,  // NOLINT
    8135,       1073749968, 8147,       1073749974,
    8151,       1073749984, 8167,       1073750002,  // NOLINT
    8180,       1073750006, 8183};                   // NOLINT
static const uint16_t kLowercaseTable1Size = 84;
static const int32_t kLowercaseTable1[84] = {
  266, 1073742094, 271, 275, 303, 308, 313, 1073742140,  // NOLINT
  317, 1073742150, 329, 334, 388, 1073744944, 3166, 3169,  // NOLINT
  1073744997, 3174, 3176, 3178, 3180, 3185, 1073745011, 3188,  // NOLINT
  1073745014, 3195, 3201, 3203, 3205, 3207, 3209, 3211,  // NOLINT
  3213, 3215, 3217, 3219, 3221, 3223, 3225, 3227,  // NOLINT
  3229, 3231, 3233, 3235, 3237, 3239, 3241, 3243,  // NOLINT
  3245, 3247, 3249, 3251, 3253, 3255, 3257, 3259,  // NOLINT
  3261, 3263, 3265, 3267, 3269, 3271, 3273, 3275,  // NOLINT
  3277, 3279, 3281, 3283, 3285, 3287, 3289, 3291,  // NOLINT
  3293, 3295, 3297, 1073745123, 3300, 3308, 3310, 3315,  // NOLINT
  1073745152, 3365, 3367, 3373 };  // NOLINT
static const uint16_t kLowercaseTable5Size = 105;
static const int32_t kLowercaseTable5[105] = {
    1601,       1603,       1605, 1607,
    1609,       1611,       1613, 1615,  // NOLINT
    1617,       1619,       1621, 1623,
    1625,       1627,       1629, 1631,  // NOLINT
    1633,       1635,       1637, 1639,
    1641,       1643,       1645, 1665,  // NOLINT
    1667,       1669,       1671, 1673,
    1675,       1677,       1679, 1681,  // NOLINT
    1683,       1685,       1687, 1689,
    1691,       1827,       1829, 1831,  // NOLINT
    1833,       1835,       1837, 1073743663,
    1841,       1843,       1845, 1847,  // NOLINT
    1849,       1851,       1853, 1855,
    1857,       1859,       1861, 1863,  // NOLINT
    1865,       1867,       1869, 1871,
    1873,       1875,       1877, 1879,  // NOLINT
    1881,       1883,       1885, 1887,
    1889,       1891,       1893, 1895,  // NOLINT
    1897,       1899,       1901, 1903,
    1073743729, 1912,       1914, 1916,  // NOLINT
    1919,       1921,       1923, 1925,
    1927,       1932,       1934, 1937,  // NOLINT
    1073743763, 1941,       1943, 1945,
    1947,       1949,       1951, 1953,  // NOLINT
    1955,       1957,       1959, 1961,
    2042,       1073744688, 2906, 1073744740,  // NOLINT
    2917};                                     // NOLINT
static const uint16_t kLowercaseTable7Size = 6;
static const int32_t kLowercaseTable7[6] = {
  1073748736, 6918, 1073748755, 6935, 1073749825, 8026 };  // NOLINT
bool Lowercase::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupPredicate(kLowercaseTable0,
                                       kLowercaseTable0Size,
                                       c);
    case 1: return LookupPredicate(kLowercaseTable1,
                                       kLowercaseTable1Size,
                                       c);
    case 5: return LookupPredicate(kLowercaseTable5,
                                       kLowercaseTable5Size,
                                       c);
    case 7: return LookupPredicate(kLowercaseTable7,
                                       kLowercaseTable7Size,
                                       c);
    default: return false;
  }
}


// Letter:               point.category in ['Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl']

static const uint16_t kLetterTable0Size = 431;
static const int32_t kLetterTable0[431] = {
    1073741889, 90,         1073741921, 122,
    170,        181,        186,        1073742016,  // NOLINT
    214,        1073742040, 246,        1073742072,
    705,        1073742534, 721,        1073742560,  // NOLINT
    740,        748,        750,        1073742704,
    884,        1073742710, 887,        1073742714,  // NOLINT
    893,        895,        902,        1073742728,
    906,        908,        1073742734, 929,  // NOLINT
    1073742755, 1013,       1073742839, 1153,
    1073742986, 1327,       1073743153, 1366,  // NOLINT
    1369,       1073743201, 1415,       1073743312,
    1514,       1073743344, 1522,       1073743392,  // NOLINT
    1610,       1073743470, 1647,       1073743473,
    1747,       1749,       1073743589, 1766,  // NOLINT
    1073743598, 1775,       1073743610, 1788,
    1791,       1808,       1073743634, 1839,  // NOLINT
    1073743693, 1957,       1969,       1073743818,
    2026,       1073743860, 2037,       2042,  // NOLINT
    1073743872, 2069,       2074,       2084,
    2088,       1073743936, 2136,       1073744032,  // NOLINT
    2226,       1073744132, 2361,       2365,
    2384,       1073744216, 2401,       1073744241,  // NOLINT
    2432,       1073744261, 2444,       1073744271,
    2448,       1073744275, 2472,       1073744298,  // NOLINT
    2480,       2482,       1073744310, 2489,
    2493,       2510,       1073744348, 2525,  // NOLINT
    1073744351, 2529,       1073744368, 2545,
    1073744389, 2570,       1073744399, 2576,  // NOLINT
    1073744403, 2600,       1073744426, 2608,
    1073744434, 2611,       1073744437, 2614,  // NOLINT
    1073744440, 2617,       1073744473, 2652,
    2654,       1073744498, 2676,       1073744517,  // NOLINT
    2701,       1073744527, 2705,       1073744531,
    2728,       1073744554, 2736,       1073744562,  // NOLINT
    2739,       1073744565, 2745,       2749,
    2768,       1073744608, 2785,       1073744645,  // NOLINT
    2828,       1073744655, 2832,       1073744659,
    2856,       1073744682, 2864,       1073744690,  // NOLINT
    2867,       1073744693, 2873,       2877,
    1073744732, 2909,       1073744735, 2913,  // NOLINT
    2929,       2947,       1073744773, 2954,
    1073744782, 2960,       1073744786, 2965,  // NOLINT
    1073744793, 2970,       2972,       1073744798,
    2975,       1073744803, 2980,       1073744808,  // NOLINT
    2986,       1073744814, 3001,       3024,
    1073744901, 3084,       1073744910, 3088,  // NOLINT
    1073744914, 3112,       1073744938, 3129,
    3133,       1073744984, 3161,       1073744992,  // NOLINT
    3169,       1073745029, 3212,       1073745038,
    3216,       1073745042, 3240,       1073745066,  // NOLINT
    3251,       1073745077, 3257,       3261,
    3294,       1073745120, 3297,       1073745137,  // NOLINT
    3314,       1073745157, 3340,       1073745166,
    3344,       1073745170, 3386,       3389,  // NOLINT
    3406,       1073745248, 3425,       1073745274,
    3455,       1073745285, 3478,       1073745306,  // NOLINT
    3505,       1073745331, 3515,       3517,
    1073745344, 3526,       1073745409, 3632,  // NOLINT
    1073745458, 3635,       1073745472, 3654,
    1073745537, 3714,       3716,       1073745543,  // NOLINT
    3720,       3722,       3725,       1073745556,
    3735,       1073745561, 3743,       1073745569,  // NOLINT
    3747,       3749,       3751,       1073745578,
    3755,       1073745581, 3760,       1073745586,  // NOLINT
    3763,       3773,       1073745600, 3780,
    3782,       1073745628, 3807,       3840,  // NOLINT
    1073745728, 3911,       1073745737, 3948,
    1073745800, 3980,       1073745920, 4138,  // NOLINT
    4159,       1073746000, 4181,       1073746010,
    4189,       4193,       1073746021, 4198,  // NOLINT
    1073746030, 4208,       1073746037, 4225,
    4238,       1073746080, 4293,       4295,  // NOLINT
    4301,       1073746128, 4346,       1073746172,
    4680,       1073746506, 4685,       1073746512,  // NOLINT
    4694,       4696,       1073746522, 4701,
    1073746528, 4744,       1073746570, 4749,  // NOLINT
    1073746576, 4784,       1073746610, 4789,
    1073746616, 4798,       4800,       1073746626,  // NOLINT
    4805,       1073746632, 4822,       1073746648,
    4880,       1073746706, 4885,       1073746712,  // NOLINT
    4954,       1073746816, 5007,       1073746848,
    5108,       1073746945, 5740,       1073747567,  // NOLINT
    5759,       1073747585, 5786,       1073747616,
    5866,       1073747694, 5880,       1073747712,  // NOLINT
    5900,       1073747726, 5905,       1073747744,
    5937,       1073747776, 5969,       1073747808,  // NOLINT
    5996,       1073747822, 6000,       1073747840,
    6067,       6103,       6108,       1073748000,  // NOLINT
    6263,       1073748096, 6312,       6314,
    1073748144, 6389,       1073748224, 6430,  // NOLINT
    1073748304, 6509,       1073748336, 6516,
    1073748352, 6571,       1073748417, 6599,  // NOLINT
    1073748480, 6678,       1073748512, 6740,
    6823,       1073748741, 6963,       1073748805,  // NOLINT
    6987,       1073748867, 7072,       1073748910,
    7087,       1073748922, 7141,       1073748992,  // NOLINT
    7203,       1073749069, 7247,       1073749082,
    7293,       1073749225, 7404,       1073749230,  // NOLINT
    7409,       1073749237, 7414,       1073749248,
    7615,       1073749504, 7957,       1073749784,  // NOLINT
    7965,       1073749792, 8005,       1073749832,
    8013,       1073749840, 8023,       8025,  // NOLINT
    8027,       8029,       1073749855, 8061,
    1073749888, 8116,       1073749942, 8124,  // NOLINT
    8126,       1073749954, 8132,       1073749958,
    8140,       1073749968, 8147,       1073749974,  // NOLINT
    8155,       1073749984, 8172,       1073750002,
    8180,       1073750006, 8188};  // NOLINT
static const uint16_t kLetterTable1Size = 87;
static const int32_t kLetterTable1[87] = {
  113, 127, 1073741968, 156, 258, 263, 1073742090, 275,  // NOLINT
  277, 1073742105, 285, 292, 294, 296, 1073742122, 301,  // NOLINT
  1073742127, 313, 1073742140, 319, 1073742149, 329, 334, 1073742176,  // NOLINT
  392, 1073744896, 3118, 1073744944, 3166, 1073744992, 3300, 1073745131,  // NOLINT
  3310, 1073745138, 3315, 1073745152, 3365, 3367, 3373, 1073745200,  // NOLINT
  3431, 3439, 1073745280, 3478, 1073745312, 3494, 1073745320, 3502,  // NOLINT
  1073745328, 3510, 1073745336, 3518, 1073745344, 3526, 1073745352, 3534,  // NOLINT
  1073745360, 3542, 1073745368, 3550, 3631, 1073745925, 4103, 1073745953,  // NOLINT
  4137, 1073745969, 4149, 1073745976, 4156, 1073745985, 4246, 1073746077,  // NOLINT
  4255, 1073746081, 4346, 1073746172, 4351, 1073746181, 4397, 1073746225,  // NOLINT
  4494, 1073746336, 4538, 1073746416, 4607, 1073746944, 8191 };  // NOLINT
static const uint16_t kLetterTable2Size = 4;
static const int32_t kLetterTable2[4] = {
  1073741824, 3509, 1073745408, 8191 };  // NOLINT
static const uint16_t kLetterTable3Size = 2;
static const int32_t kLetterTable3[2] = {
  1073741824, 8191 };  // NOLINT
static const uint16_t kLetterTable4Size = 2;
static const int32_t kLetterTable4[2] = {
  1073741824, 8140 };  // NOLINT
static const uint16_t kLetterTable5Size = 100;
static const int32_t kLetterTable5[100] = {
    1073741824, 1164,       1073743056, 1277,
    1073743104, 1548,       1073743376, 1567,  // NOLINT
    1073743402, 1579,       1073743424, 1646,
    1073743487, 1693,       1073743520, 1775,  // NOLINT
    1073743639, 1823,       1073743650, 1928,
    1073743755, 1934,       1073743760, 1965,  // NOLINT
    1073743792, 1969,       1073743863, 2049,
    1073743875, 2053,       1073743879, 2058,  // NOLINT
    1073743884, 2082,       1073743936, 2163,
    1073744002, 2227,       1073744114, 2295,  // NOLINT
    2299,       1073744138, 2341,       1073744176,
    2374,       1073744224, 2428,       1073744260,  // NOLINT
    2482,       2511,       1073744352, 2532,
    1073744358, 2543,       1073744378, 2558,  // NOLINT
    1073744384, 2600,       1073744448, 2626,
    1073744452, 2635,       1073744480, 2678,  // NOLINT
    2682,       1073744510, 2735,       2737,
    1073744565, 2742,       1073744569, 2749,  // NOLINT
    2752,       2754,       1073744603, 2781,
    1073744608, 2794,       1073744626, 2804,  // NOLINT
    1073744641, 2822,       1073744649, 2830,
    1073744657, 2838,       1073744672, 2854,  // NOLINT
    1073744680, 2862,       1073744688, 2906,
    1073744732, 2911,       1073744740, 2917,   // NOLINT
    1073744832, 3042,       1073744896, 8191};  // NOLINT
static const uint16_t kLetterTable6Size = 6;
static const int32_t kLetterTable6[6] = {
  1073741824, 6051, 1073747888, 6086, 1073747915, 6139 };  // NOLINT
static const uint16_t kLetterTable7Size = 48;
static const int32_t kLetterTable7[48] = {
  1073748224, 6765, 1073748592, 6873, 1073748736, 6918, 1073748755, 6935,  // NOLINT
  6941, 1073748767, 6952, 1073748778, 6966, 1073748792, 6972, 6974,  // NOLINT
  1073748800, 6977, 1073748803, 6980, 1073748806, 7089, 1073748947, 7485,  // NOLINT
  1073749328, 7567, 1073749394, 7623, 1073749488, 7675, 1073749616, 7796,  // NOLINT
  1073749622, 7932, 1073749793, 7994, 1073749825, 8026, 1073749862, 8126,  // NOLINT
  1073749954, 8135, 1073749962, 8143, 1073749970, 8151, 1073749978, 8156 };  // NOLINT
bool Letter::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupPredicate(kLetterTable0,
                                       kLetterTable0Size,
                                       c);
    case 1: return LookupPredicate(kLetterTable1,
                                       kLetterTable1Size,
                                       c);
    case 2: return LookupPredicate(kLetterTable2,
                                       kLetterTable2Size,
                                       c);
    case 3: return LookupPredicate(kLetterTable3,
                                       kLetterTable3Size,
                                       c);
    case 4: return LookupPredicate(kLetterTable4,
                                       kLetterTable4Size,
                                       c);
    case 5: return LookupPredicate(kLetterTable5,
                                       kLetterTable5Size,
                                       c);
    case 6: return LookupPredicate(kLetterTable6,
                                       kLetterTable6Size,
                                       c);
    case 7: return LookupPredicate(kLetterTable7,
                                       kLetterTable7Size,
                                       c);
    default: return false;
  }
}


// ID_Start:             ((point.category in ['Lu', 'Ll', 'Lt', 'Lm', 'Lo',
// 'Nl'] or 'Other_ID_Start' in point.properties) and ('Pattern_Syntax' not in
// point.properties) and ('Pattern_White_Space' not in point.properties)) or
// ('JS_ID_Start' in point.properties)

static const uint16_t kID_StartTable0Size = 434;
static const int32_t kID_StartTable0[434] = {
    36,         1073741889, 90,         92,
    95,         1073741921, 122,        170,  // NOLINT
    181,        186,        1073742016, 214,
    1073742040, 246,        1073742072, 705,  // NOLINT
    1073742534, 721,        1073742560, 740,
    748,        750,        1073742704, 884,  // NOLINT
    1073742710, 887,        1073742714, 893,
    895,        902,        1073742728, 906,  // NOLINT
    908,        1073742734, 929,        1073742755,
    1013,       1073742839, 1153,       1073742986,  // NOLINT
    1327,       1073743153, 1366,       1369,
    1073743201, 1415,       1073743312, 1514,  // NOLINT
    1073743344, 1522,       1073743392, 1610,
    1073743470, 1647,       1073743473, 1747,  // NOLINT
    1749,       1073743589, 1766,       1073743598,
    1775,       1073743610, 1788,       1791,  // NOLINT
    1808,       1073743634, 1839,       1073743693,
    1957,       1969,       1073743818, 2026,  // NOLINT
    1073743860, 2037,       2042,       1073743872,
    2069,       2074,       2084,       2088,  // NOLINT
    1073743936, 2136,       1073744032, 2226,
    1073744132, 2361,       2365,       2384,  // NOLINT
    1073744216, 2401,       1073744241, 2432,
    1073744261, 2444,       1073744271, 2448,  // NOLINT
    1073744275, 2472,       1073744298, 2480,
    2482,       1073744310, 2489,       2493,  // NOLINT
    2510,       1073744348, 2525,       1073744351,
    2529,       1073744368, 2545,       1073744389,  // NOLINT
    2570,       1073744399, 2576,       1073744403,
    2600,       1073744426, 2608,       1073744434,  // NOLINT
    2611,       1073744437, 2614,       1073744440,
    2617,       1073744473, 2652,       2654,  // NOLINT
    1073744498, 2676,       1073744517, 2701,
    1073744527, 2705,       1073744531, 2728,  // NOLINT
    1073744554, 2736,       1073744562, 2739,
    1073744565, 2745,       2749,       2768,  // NOLINT
    1073744608, 2785,       1073744645, 2828,
    1073744655, 2832,       1073744659, 2856,  // NOLINT
    1073744682, 2864,       1073744690, 2867,
    1073744693, 2873,       2877,       1073744732,  // NOLINT
    2909,       1073744735, 2913,       2929,
    2947,       1073744773, 2954,       1073744782,  // NOLINT
    2960,       1073744786, 2965,       1073744793,
    2970,       2972,       1073744798, 2975,  // NOLINT
    1073744803, 2980,       1073744808, 2986,
    1073744814, 3001,       3024,       1073744901,  // NOLINT
    3084,       1073744910, 3088,       1073744914,
    3112,       1073744938, 3129,       3133,  // NOLINT
    1073744984, 3161,       1073744992, 3169,
    1073745029, 3212,       1073745038, 3216,  // NOLINT
    1073745042, 3240,       1073745066, 3251,
    1073745077, 3257,       3261,       3294,  // NOLINT
    1073745120, 3297,       1073745137, 3314,
    1073745157, 3340,       1073745166, 3344,  // NOLINT
    1073745170, 3386,       3389,       3406,
    1073745248, 3425,       1073745274, 3455,  // NOLINT
    1073745285, 3478,       1073745306, 3505,
    1073745331, 3515,       3517,       1073745344,  // NOLINT
    3526,       1073745409, 3632,       1073745458,
    3635,       1073745472, 3654,       1073745537,  // NOLINT
    3714,       3716,       1073745543, 3720,
    3722,       3725,       1073745556, 3735,  // NOLINT
    1073745561, 3743,       1073745569, 3747,
    3749,       3751,       1073745578, 3755,  // NOLINT
    1073745581, 3760,       1073745586, 3763,
    3773,       1073745600, 3780,       3782,  // NOLINT
    1073745628, 3807,       3840,       1073745728,
    3911,       1073745737, 3948,       1073745800,  // NOLINT
    3980,       1073745920, 4138,       4159,
    1073746000, 4181,       1073746010, 4189,  // NOLINT
    4193,       1073746021, 4198,       1073746030,
    4208,       1073746037, 4225,       4238,  // NOLINT
    1073746080, 4293,       4295,       4301,
    1073746128, 4346,       1073746172, 4680,  // NOLINT
    1073746506, 4685,       1073746512, 4694,
    4696,       1073746522, 4701,       1073746528,  // NOLINT
    4744,       1073746570, 4749,       1073746576,
    4784,       1073746610, 4789,       1073746616,  // NOLINT
    4798,       4800,       1073746626, 4805,
    1073746632, 4822,       1073746648, 4880,  // NOLINT
    1073746706, 4885,       1073746712, 4954,
    1073746816, 5007,       1073746848, 5108,  // NOLINT
    1073746945, 5740,       1073747567, 5759,
    1073747585, 5786,       1073747616, 5866,  // NOLINT
    1073747694, 5880,       1073747712, 5900,
    1073747726, 5905,       1073747744, 5937,  // NOLINT
    1073747776, 5969,       1073747808, 5996,
    1073747822, 6000,       1073747840, 6067,  // NOLINT
    6103,       6108,       1073748000, 6263,
    1073748096, 6312,       6314,       1073748144,  // NOLINT
    6389,       1073748224, 6430,       1073748304,
    6509,       1073748336, 6516,       1073748352,  // NOLINT
    6571,       1073748417, 6599,       1073748480,
    6678,       1073748512, 6740,       6823,  // NOLINT
    1073748741, 6963,       1073748805, 6987,
    1073748867, 7072,       1073748910, 7087,  // NOLINT
    1073748922, 7141,       1073748992, 7203,
    1073749069, 7247,       1073749082, 7293,  // NOLINT
    1073749225, 7404,       1073749230, 7409,
    1073749237, 7414,       1073749248, 7615,  // NOLINT
    1073749504, 7957,       1073749784, 7965,
    1073749792, 8005,       1073749832, 8013,  // NOLINT
    1073749840, 8023,       8025,       8027,
    8029,       1073749855, 8061,       1073749888,  // NOLINT
    8116,       1073749942, 8124,       8126,
    1073749954, 8132,       1073749958, 8140,  // NOLINT
    1073749968, 8147,       1073749974, 8155,
    1073749984, 8172,       1073750002, 8180,  // NOLINT
    1073750006, 8188};                         // NOLINT
static const uint16_t kID_StartTable1Size = 84;
static const int32_t kID_StartTable1[84] = {
    113,        127,        1073741968, 156,
    258,        263,        1073742090, 275,  // NOLINT
    277,        1073742104, 285,        292,
    294,        296,        1073742122, 313,  // NOLINT
    1073742140, 319,        1073742149, 329,
    334,        1073742176, 392,        1073744896,  // NOLINT
    3118,       1073744944, 3166,       1073744992,
    3300,       1073745131, 3310,       1073745138,  // NOLINT
    3315,       1073745152, 3365,       3367,
    3373,       1073745200, 3431,       3439,  // NOLINT
    1073745280, 3478,       1073745312, 3494,
    1073745320, 3502,       1073745328, 3510,  // NOLINT
    1073745336, 3518,       1073745344, 3526,
    1073745352, 3534,       1073745360, 3542,  // NOLINT
    1073745368, 3550,       1073745925, 4103,
    1073745953, 4137,       1073745969, 4149,  // NOLINT
    1073745976, 4156,       1073745985, 4246,
    1073746075, 4255,       1073746081, 4346,  // NOLINT
    1073746172, 4351,       1073746181, 4397,
    1073746225, 4494,       1073746336, 4538,   // NOLINT
    1073746416, 4607,       1073746944, 8191};  // NOLINT
static const uint16_t kID_StartTable2Size = 4;
static const int32_t kID_StartTable2[4] = {1073741824, 3509, 1073745408,
                                           8191};  // NOLINT
static const uint16_t kID_StartTable3Size = 2;
static const int32_t kID_StartTable3[2] = {1073741824, 8191};  // NOLINT
static const uint16_t kID_StartTable4Size = 2;
static const int32_t kID_StartTable4[2] = {1073741824, 8140};  // NOLINT
static const uint16_t kID_StartTable5Size = 100;
static const int32_t kID_StartTable5[100] = {
    1073741824, 1164,       1073743056, 1277,
    1073743104, 1548,       1073743376, 1567,  // NOLINT
    1073743402, 1579,       1073743424, 1646,
    1073743487, 1693,       1073743520, 1775,  // NOLINT
    1073743639, 1823,       1073743650, 1928,
    1073743755, 1934,       1073743760, 1965,  // NOLINT
    1073743792, 1969,       1073743863, 2049,
    1073743875, 2053,       1073743879, 2058,  // NOLINT
    1073743884, 2082,       1073743936, 2163,
    1073744002, 2227,       1073744114, 2295,  // NOLINT
    2299,       1073744138, 2341,       1073744176,
    2374,       1073744224, 2428,       1073744260,  // NOLINT
    2482,       2511,       1073744352, 2532,
    1073744358, 2543,       1073744378, 2558,  // NOLINT
    1073744384, 2600,       1073744448, 2626,
    1073744452, 2635,       1073744480, 2678,  // NOLINT
    2682,       1073744510, 2735,       2737,
    1073744565, 2742,       1073744569, 2749,  // NOLINT
    2752,       2754,       1073744603, 2781,
    1073744608, 2794,       1073744626, 2804,  // NOLINT
    1073744641, 2822,       1073744649, 2830,
    1073744657, 2838,       1073744672, 2854,  // NOLINT
    1073744680, 2862,       1073744688, 2906,
    1073744732, 2911,       1073744740, 2917,   // NOLINT
    1073744832, 3042,       1073744896, 8191};  // NOLINT
static const uint16_t kID_StartTable6Size = 6;
static const int32_t kID_StartTable6[6] = {1073741824, 6051, 1073747888, 6086,
                                           1073747915, 6139};  // NOLINT
static const uint16_t kID_StartTable7Size = 48;
static const int32_t kID_StartTable7[48] = {
    1073748224, 6765,       1073748592, 6873,
    1073748736, 6918,       1073748755, 6935,  // NOLINT
    6941,       1073748767, 6952,       1073748778,
    6966,       1073748792, 6972,       6974,  // NOLINT
    1073748800, 6977,       1073748803, 6980,
    1073748806, 7089,       1073748947, 7485,  // NOLINT
    1073749328, 7567,       1073749394, 7623,
    1073749488, 7675,       1073749616, 7796,  // NOLINT
    1073749622, 7932,       1073749793, 7994,
    1073749825, 8026,       1073749862, 8126,  // NOLINT
    1073749954, 8135,       1073749962, 8143,
    1073749970, 8151,       1073749978, 8156};  // NOLINT
bool ID_Start::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0:
      return LookupPredicate(kID_StartTable0, kID_StartTable0Size, c);
    case 1:
      return LookupPredicate(kID_StartTable1, kID_StartTable1Size, c);
    case 2:
      return LookupPredicate(kID_StartTable2, kID_StartTable2Size, c);
    case 3:
      return LookupPredicate(kID_StartTable3, kID_StartTable3Size, c);
    case 4:
      return LookupPredicate(kID_StartTable4, kID_StartTable4Size, c);
    case 5:
      return LookupPredicate(kID_StartTable5, kID_StartTable5Size, c);
    case 6:
      return LookupPredicate(kID_StartTable6, kID_StartTable6Size, c);
    case 7:
      return LookupPredicate(kID_StartTable7, kID_StartTable7Size, c);
    default:
      return false;
  }
}


// ID_Continue:          point.category in ['Nd', 'Mn', 'Mc', 'Pc'] or
// 'Other_ID_Continue' in point.properties or 'JS_ID_Continue' in
// point.properties

static const uint16_t kID_ContinueTable0Size = 315;
static const int32_t kID_ContinueTable0[315] = {
    1073741872, 57,         95,         183,
    1073742592, 879,        903,        1073742979,  // NOLINT
    1159,       1073743249, 1469,       1471,
    1073743297, 1474,       1073743300, 1477,  // NOLINT
    1479,       1073743376, 1562,       1073743435,
    1641,       1648,       1073743574, 1756,  // NOLINT
    1073743583, 1764,       1073743591, 1768,
    1073743594, 1773,       1073743600, 1785,  // NOLINT
    1809,       1073743664, 1866,       1073743782,
    1968,       1073743808, 1993,       1073743851,  // NOLINT
    2035,       1073743894, 2073,       1073743899,
    2083,       1073743909, 2087,       1073743913,  // NOLINT
    2093,       1073743961, 2139,       1073744100,
    2307,       1073744186, 2364,       1073744190,  // NOLINT
    2383,       1073744209, 2391,       1073744226,
    2403,       1073744230, 2415,       1073744257,  // NOLINT
    2435,       2492,       1073744318, 2500,
    1073744327, 2504,       1073744331, 2509,  // NOLINT
    2519,       1073744354, 2531,       1073744358,
    2543,       1073744385, 2563,       2620,  // NOLINT
    1073744446, 2626,       1073744455, 2632,
    1073744459, 2637,       2641,       1073744486,  // NOLINT
    2673,       2677,       1073744513, 2691,
    2748,       1073744574, 2757,       1073744583,  // NOLINT
    2761,       1073744587, 2765,       1073744610,
    2787,       1073744614, 2799,       1073744641,  // NOLINT
    2819,       2876,       1073744702, 2884,
    1073744711, 2888,       1073744715, 2893,  // NOLINT
    1073744726, 2903,       1073744738, 2915,
    1073744742, 2927,       2946,       1073744830,  // NOLINT
    3010,       1073744838, 3016,       1073744842,
    3021,       3031,       1073744870, 3055,  // NOLINT
    1073744896, 3075,       1073744958, 3140,
    1073744966, 3144,       1073744970, 3149,  // NOLINT
    1073744981, 3158,       1073744994, 3171,
    1073744998, 3183,       1073745025, 3203,  // NOLINT
    3260,       1073745086, 3268,       1073745094,
    3272,       1073745098, 3277,       1073745109,  // NOLINT
    3286,       1073745122, 3299,       1073745126,
    3311,       1073745153, 3331,       1073745214,  // NOLINT
    3396,       1073745222, 3400,       1073745226,
    3405,       3415,       1073745250, 3427,  // NOLINT
    1073745254, 3439,       1073745282, 3459,
    3530,       1073745359, 3540,       3542,  // NOLINT
    1073745368, 3551,       1073745382, 3567,
    1073745394, 3571,       3633,       1073745460,  // NOLINT
    3642,       1073745479, 3662,       1073745488,
    3673,       3761,       1073745588, 3769,  // NOLINT
    1073745595, 3772,       1073745608, 3789,
    1073745616, 3801,       1073745688, 3865,  // NOLINT
    1073745696, 3881,       3893,       3895,
    3897,       1073745726, 3903,       1073745777,  // NOLINT
    3972,       1073745798, 3975,       1073745805,
    3991,       1073745817, 4028,       4038,  // NOLINT
    1073745963, 4158,       1073745984, 4169,
    1073746006, 4185,       1073746014, 4192,  // NOLINT
    1073746018, 4196,       1073746023, 4205,
    1073746033, 4212,       1073746050, 4237,  // NOLINT
    1073746063, 4253,       1073746781, 4959,
    1073746793, 4977,       1073747730, 5908,  // NOLINT
    1073747762, 5940,       1073747794, 5971,
    1073747826, 6003,       1073747892, 6099,  // NOLINT
    6109,       1073747936, 6121,       1073747979,
    6157,       1073747984, 6169,       6313,  // NOLINT
    1073748256, 6443,       1073748272, 6459,
    1073748294, 6479,       1073748400, 6592,  // NOLINT
    1073748424, 6601,       1073748432, 6618,
    1073748503, 6683,       1073748565, 6750,  // NOLINT
    1073748576, 6780,       1073748607, 6793,
    1073748624, 6809,       1073748656, 6845,  // NOLINT
    1073748736, 6916,       1073748788, 6980,
    1073748816, 7001,       1073748843, 7027,  // NOLINT
    1073748864, 7042,       1073748897, 7085,
    1073748912, 7097,       1073748966, 7155,  // NOLINT
    1073749028, 7223,       1073749056, 7241,
    1073749072, 7257,       1073749200, 7378,  // NOLINT
    1073749204, 7400,       7405,       1073749234,
    7412,       1073749240, 7417,       1073749440,  // NOLINT
    7669,       1073749500, 7679};                   // NOLINT
static const uint16_t kID_ContinueTable1Size = 19;
static const int32_t kID_ContinueTable1[19] = {
    1073741836, 13,         1073741887, 64,
    84,         1073742032, 220,        225,  // NOLINT
    1073742053, 240,        1073745135, 3313,
    3455,       1073745376, 3583,       1073745962,  // NOLINT
    4143,       1073746073, 4250};                   // NOLINT
static const uint16_t kID_ContinueTable5Size = 63;
static const int32_t kID_ContinueTable5[63] = {
    1073743392, 1577,       1647,       1073743476,
    1661,       1695,       1073743600, 1777,  // NOLINT
    2050,       2054,       2059,       1073743907,
    2087,       1073744000, 2177,       1073744052,  // NOLINT
    2244,       1073744080, 2265,       1073744096,
    2289,       1073744128, 2313,       1073744166,  // NOLINT
    2349,       1073744199, 2387,       1073744256,
    2435,       1073744307, 2496,       1073744336,  // NOLINT
    2521,       2533,       1073744368, 2553,
    1073744425, 2614,       2627,       1073744460,  // NOLINT
    2637,       1073744464, 2649,       1073744507,
    2685,       2736,       1073744562, 2740,  // NOLINT
    1073744567, 2744,       1073744574, 2751,
    2753,       1073744619, 2799,       1073744629,  // NOLINT
    2806,       1073744867, 3050,       1073744876,
    3053,       1073744880, 3065};  // NOLINT
static const uint16_t kID_ContinueTable7Size = 12;
static const int32_t kID_ContinueTable7[12] = {
    6942, 1073749504, 7695, 1073749536,
    7725, 1073749555, 7732, 1073749581,  // NOLINT
    7759, 1073749776, 7961, 7999};       // NOLINT
bool ID_Continue::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0:
      return LookupPredicate(kID_ContinueTable0, kID_ContinueTable0Size, c);
    case 1:
      return LookupPredicate(kID_ContinueTable1, kID_ContinueTable1Size, c);
    case 5:
      return LookupPredicate(kID_ContinueTable5, kID_ContinueTable5Size, c);
    case 7:
      return LookupPredicate(kID_ContinueTable7, kID_ContinueTable7Size, c);
    default: return false;
  }
}


// WhiteSpace:           (point.category == 'Zs') or ('JS_White_Space' in
// point.properties)

static const uint16_t kWhiteSpaceTable0Size = 6;
static const int32_t kWhiteSpaceTable0[6] = {9,  1073741835, 12,
                                             32, 160,        5760};  // NOLINT
static const uint16_t kWhiteSpaceTable1Size = 5;
static const int32_t kWhiteSpaceTable1[5] = {
  1073741824, 10, 47, 95, 4096 };  // NOLINT
static const uint16_t kWhiteSpaceTable7Size = 1;
static const int32_t kWhiteSpaceTable7[1] = {7935};  // NOLINT
bool WhiteSpace::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupPredicate(kWhiteSpaceTable0,
                                       kWhiteSpaceTable0Size,
                                       c);
    case 1: return LookupPredicate(kWhiteSpaceTable1,
                                       kWhiteSpaceTable1Size,
                                       c);
    case 7:
      return LookupPredicate(kWhiteSpaceTable7, kWhiteSpaceTable7Size, c);
    default: return false;
  }
}


// LineTerminator:       'JS_Line_Terminator' in point.properties

static const uint16_t kLineTerminatorTable0Size = 2;
static const int32_t kLineTerminatorTable0[2] = {
  10, 13 };  // NOLINT
static const uint16_t kLineTerminatorTable1Size = 2;
static const int32_t kLineTerminatorTable1[2] = {
  1073741864, 41 };  // NOLINT
bool LineTerminator::Is(uchar c) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupPredicate(kLineTerminatorTable0,
                                       kLineTerminatorTable0Size,
                                       c);
    case 1: return LookupPredicate(kLineTerminatorTable1,
                                       kLineTerminatorTable1Size,
                                       c);
    default: return false;
  }
}

static const MultiCharacterSpecialCase<2> kToLowercaseMultiStrings0[2] = {  // NOLINT
  {{105, 775}}, {{kSentinel}} }; // NOLINT
static const uint16_t kToLowercaseTable0Size = 488;  // NOLINT
static const int32_t kToLowercaseTable0[976] = {
    1073741889, 128,    90,         128,   1073742016, 128,
    214,        128,    1073742040, 128,   222,        128,
    256,        4,      258,        4,  // NOLINT
    260,        4,      262,        4,     264,        4,
    266,        4,      268,        4,     270,        4,
    272,        4,      274,        4,  // NOLINT
    276,        4,      278,        4,     280,        4,
    282,        4,      284,        4,     286,        4,
    288,        4,      290,        4,  // NOLINT
    292,        4,      294,        4,     296,        4,
    298,        4,      300,        4,     302,        4,
    304,        1,      306,        4,  // NOLINT
    308,        4,      310,        4,     313,        4,
    315,        4,      317,        4,     319,        4,
    321,        4,      323,        4,  // NOLINT
    325,        4,      327,        4,     330,        4,
    332,        4,      334,        4,     336,        4,
    338,        4,      340,        4,  // NOLINT
    342,        4,      344,        4,     346,        4,
    348,        4,      350,        4,     352,        4,
    354,        4,      356,        4,  // NOLINT
    358,        4,      360,        4,     362,        4,
    364,        4,      366,        4,     368,        4,
    370,        4,      372,        4,  // NOLINT
    374,        4,      376,        -484,  377,        4,
    379,        4,      381,        4,     385,        840,
    386,        4,      388,        4,  // NOLINT
    390,        824,    391,        4,     1073742217, 820,
    394,        820,    395,        4,     398,        316,
    399,        808,    400,        812,  // NOLINT
    401,        4,      403,        820,   404,        828,
    406,        844,    407,        836,   408,        4,
    412,        844,    413,        852,  // NOLINT
    415,        856,    416,        4,     418,        4,
    420,        4,      422,        872,   423,        4,
    425,        872,    428,        4,  // NOLINT
    430,        872,    431,        4,     1073742257, 868,
    434,        868,    435,        4,     437,        4,
    439,        876,    440,        4,  // NOLINT
    444,        4,      452,        8,     453,        4,
    455,        8,      456,        4,     458,        8,
    459,        4,      461,        4,  // NOLINT
    463,        4,      465,        4,     467,        4,
    469,        4,      471,        4,     473,        4,
    475,        4,      478,        4,  // NOLINT
    480,        4,      482,        4,     484,        4,
    486,        4,      488,        4,     490,        4,
    492,        4,      494,        4,  // NOLINT
    497,        8,      498,        4,     500,        4,
    502,        -388,   503,        -224,  504,        4,
    506,        4,      508,        4,  // NOLINT
    510,        4,      512,        4,     514,        4,
    516,        4,      518,        4,     520,        4,
    522,        4,      524,        4,  // NOLINT
    526,        4,      528,        4,     530,        4,
    532,        4,      534,        4,     536,        4,
    538,        4,      540,        4,  // NOLINT
    542,        4,      544,        -520,  546,        4,
    548,        4,      550,        4,     552,        4,
    554,        4,      556,        4,  // NOLINT
    558,        4,      560,        4,     562,        4,
    570,        43180,  571,        4,     573,        -652,
    574,        43168,  577,        4,  // NOLINT
    579,        -780,   580,        276,   581,        284,
    582,        4,      584,        4,     586,        4,
    588,        4,      590,        4,  // NOLINT
    880,        4,      882,        4,     886,        4,
    895,        464,    902,        152,   1073742728, 148,
    906,        148,    908,        256,  // NOLINT
    1073742734, 252,    911,        252,   1073742737, 128,
    929,        128,    931,        6,     1073742756, 128,
    939,        128,    975,        32,  // NOLINT
    984,        4,      986,        4,     988,        4,
    990,        4,      992,        4,     994,        4,
    996,        4,      998,        4,  // NOLINT
    1000,       4,      1002,       4,     1004,       4,
    1006,       4,      1012,       -240,  1015,       4,
    1017,       -28,    1018,       4,  // NOLINT
    1073742845, -520,   1023,       -520,  1073742848, 320,
    1039,       320,    1073742864, 128,   1071,       128,
    1120,       4,      1122,       4,  // NOLINT
    1124,       4,      1126,       4,     1128,       4,
    1130,       4,      1132,       4,     1134,       4,
    1136,       4,      1138,       4,  // NOLINT
    1140,       4,      1142,       4,     1144,       4,
    1146,       4,      1148,       4,     1150,       4,
    1152,       4,      1162,       4,  // NOLINT
    1164,       4,      1166,       4,     1168,       4,
    1170,       4,      1172,       4,     1174,       4,
    1176,       4,      1178,       4,  // NOLINT
    1180,       4,      1182,       4,     1184,       4,
    1186,       4,      1188,       4,     1190,       4,
    1192,       4,      1194,       4,  // NOLINT
    1196,       4,      1198,       4,     1200,       4,
    1202,       4,      1204,       4,     1206,       4,
    1208,       4,      1210,       4,  // NOLINT
    1212,       4,      1214,       4,     1216,       60,
    1217,       4,      1219,       4,     1221,       4,
    1223,       4,      1225,       4,  // NOLINT
    1227,       4,      1229,       4,     1232,       4,
    1234,       4,      1236,       4,     1238,       4,
    1240,       4,      1242,       4,  // NOLINT
    1244,       4,      1246,       4,     1248,       4,
    1250,       4,      1252,       4,     1254,       4,
    1256,       4,      1258,       4,  // NOLINT
    1260,       4,      1262,       4,     1264,       4,
    1266,       4,      1268,       4,     1270,       4,
    1272,       4,      1274,       4,  // NOLINT
    1276,       4,      1278,       4,     1280,       4,
    1282,       4,      1284,       4,     1286,       4,
    1288,       4,      1290,       4,  // NOLINT
    1292,       4,      1294,       4,     1296,       4,
    1298,       4,      1300,       4,     1302,       4,
    1304,       4,      1306,       4,  // NOLINT
    1308,       4,      1310,       4,     1312,       4,
    1314,       4,      1316,       4,     1318,       4,
    1320,       4,      1322,       4,  // NOLINT
    1324,       4,      1326,       4,     1073743153, 192,
    1366,       192,    1073746080, 29056, 4293,       29056,
    4295,       29056,  4301,       29056,  // NOLINT
    7680,       4,      7682,       4,     7684,       4,
    7686,       4,      7688,       4,     7690,       4,
    7692,       4,      7694,       4,  // NOLINT
    7696,       4,      7698,       4,     7700,       4,
    7702,       4,      7704,       4,     7706,       4,
    7708,       4,      7710,       4,  // NOLINT
    7712,       4,      7714,       4,     7716,       4,
    7718,       4,      7720,       4,     7722,       4,
    7724,       4,      7726,       4,  // NOLINT
    7728,       4,      7730,       4,     7732,       4,
    7734,       4,      7736,       4,     7738,       4,
    7740,       4,      7742,       4,  // NOLINT
    7744,       4,      7746,       4,     7748,       4,
    7750,       4,      7752,       4,     7754,       4,
    7756,       4,      7758,       4,  // NOLINT
    7760,       4,      7762,       4,     7764,       4,
    7766,       4,      7768,       4,     7770,       4,
    7772,       4,      7774,       4,  // NOLINT
    7776,       4,      7778,       4,     7780,       4,
    7782,       4,      7784,       4,     7786,       4,
    7788,       4,      7790,       4,  // NOLINT
    7792,       4,      7794,       4,     7796,       4,
    7798,       4,      7800,       4,     7802,       4,
    7804,       4,      7806,       4,  // NOLINT
    7808,       4,      7810,       4,     7812,       4,
    7814,       4,      7816,       4,     7818,       4,
    7820,       4,      7822,       4,  // NOLINT
    7824,       4,      7826,       4,     7828,       4,
    7838,       -30460, 7840,       4,     7842,       4,
    7844,       4,      7846,       4,  // NOLINT
    7848,       4,      7850,       4,     7852,       4,
    7854,       4,      7856,       4,     7858,       4,
    7860,       4,      7862,       4,  // NOLINT
    7864,       4,      7866,       4,     7868,       4,
    7870,       4,      7872,       4,     7874,       4,
    7876,       4,      7878,       4,  // NOLINT
    7880,       4,      7882,       4,     7884,       4,
    7886,       4,      7888,       4,     7890,       4,
    7892,       4,      7894,       4,  // NOLINT
    7896,       4,      7898,       4,     7900,       4,
    7902,       4,      7904,       4,     7906,       4,
    7908,       4,      7910,       4,  // NOLINT
    7912,       4,      7914,       4,     7916,       4,
    7918,       4,      7920,       4,     7922,       4,
    7924,       4,      7926,       4,  // NOLINT
    7928,       4,      7930,       4,     7932,       4,
    7934,       4,      1073749768, -32,   7951,       -32,
    1073749784, -32,    7965,       -32,  // NOLINT
    1073749800, -32,    7983,       -32,   1073749816, -32,
    7999,       -32,    1073749832, -32,   8013,       -32,
    8025,       -32,    8027,       -32,  // NOLINT
    8029,       -32,    8031,       -32,   1073749864, -32,
    8047,       -32,    1073749896, -32,   8079,       -32,
    1073749912, -32,    8095,       -32,  // NOLINT
    1073749928, -32,    8111,       -32,   1073749944, -32,
    8121,       -32,    1073749946, -296,  8123,       -296,
    8124,       -36,    1073749960, -344,  // NOLINT
    8139,       -344,   8140,       -36,   1073749976, -32,
    8153,       -32,    1073749978, -400,  8155,       -400,
    1073749992, -32,    8169,       -32,  // NOLINT
    1073749994, -448,   8171,       -448,  8172,       -28,
    1073750008, -512,   8185,       -512,  1073750010, -504,
    8187,       -504,   8188,       -36};                 // NOLINT
static const uint16_t kToLowercaseMultiStrings0Size = 2;  // NOLINT
static const MultiCharacterSpecialCase<1> kToLowercaseMultiStrings1[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kToLowercaseTable1Size = 79;  // NOLINT
static const int32_t kToLowercaseTable1[158] = {
  294, -30068, 298, -33532, 299, -33048, 306, 112, 1073742176, 64, 367, 64, 387, 4, 1073743030, 104,  // NOLINT
  1231, 104, 1073744896, 192, 3118, 192, 3168, 4, 3170, -42972, 3171, -15256, 3172, -42908, 3175, 4,  // NOLINT
  3177, 4, 3179, 4, 3181, -43120, 3182, -42996, 3183, -43132, 3184, -43128, 3186, 4, 3189, 4,  // NOLINT
  1073745022, -43260, 3199, -43260, 3200, 4, 3202, 4, 3204, 4, 3206, 4, 3208, 4, 3210, 4,  // NOLINT
  3212, 4, 3214, 4, 3216, 4, 3218, 4, 3220, 4, 3222, 4, 3224, 4, 3226, 4,  // NOLINT
  3228, 4, 3230, 4, 3232, 4, 3234, 4, 3236, 4, 3238, 4, 3240, 4, 3242, 4,  // NOLINT
  3244, 4, 3246, 4, 3248, 4, 3250, 4, 3252, 4, 3254, 4, 3256, 4, 3258, 4,  // NOLINT
  3260, 4, 3262, 4, 3264, 4, 3266, 4, 3268, 4, 3270, 4, 3272, 4, 3274, 4,  // NOLINT
  3276, 4, 3278, 4, 3280, 4, 3282, 4, 3284, 4, 3286, 4, 3288, 4, 3290, 4,  // NOLINT
  3292, 4, 3294, 4, 3296, 4, 3298, 4, 3307, 4, 3309, 4, 3314, 4 };  // NOLINT
static const uint16_t kToLowercaseMultiStrings1Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kToLowercaseMultiStrings5[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kToLowercaseTable5Size = 103;  // NOLINT
static const int32_t kToLowercaseTable5[206] = {
    1600, 4,       1602, 4,       1604, 4,       1606, 4,
    1608, 4,       1610, 4,       1612, 4,       1614, 4,  // NOLINT
    1616, 4,       1618, 4,       1620, 4,       1622, 4,
    1624, 4,       1626, 4,       1628, 4,       1630, 4,  // NOLINT
    1632, 4,       1634, 4,       1636, 4,       1638, 4,
    1640, 4,       1642, 4,       1644, 4,       1664, 4,  // NOLINT
    1666, 4,       1668, 4,       1670, 4,       1672, 4,
    1674, 4,       1676, 4,       1678, 4,       1680, 4,  // NOLINT
    1682, 4,       1684, 4,       1686, 4,       1688, 4,
    1690, 4,       1826, 4,       1828, 4,       1830, 4,  // NOLINT
    1832, 4,       1834, 4,       1836, 4,       1838, 4,
    1842, 4,       1844, 4,       1846, 4,       1848, 4,  // NOLINT
    1850, 4,       1852, 4,       1854, 4,       1856, 4,
    1858, 4,       1860, 4,       1862, 4,       1864, 4,  // NOLINT
    1866, 4,       1868, 4,       1870, 4,       1872, 4,
    1874, 4,       1876, 4,       1878, 4,       1880, 4,  // NOLINT
    1882, 4,       1884, 4,       1886, 4,       1888, 4,
    1890, 4,       1892, 4,       1894, 4,       1896, 4,  // NOLINT
    1898, 4,       1900, 4,       1902, 4,       1913, 4,
    1915, 4,       1917, -141328, 1918, 4,       1920, 4,  // NOLINT
    1922, 4,       1924, 4,       1926, 4,       1931, 4,
    1933, -169120, 1936, 4,       1938, 4,       1942, 4,  // NOLINT
    1944, 4,       1946, 4,       1948, 4,       1950, 4,
    1952, 4,       1954, 4,       1956, 4,       1958, 4,  // NOLINT
    1960, 4,       1962, -169232, 1963, -169276, 1964, -169260,
    1965, -169220, 1968, -169032, 1969, -169128};         // NOLINT
static const uint16_t kToLowercaseMultiStrings5Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kToLowercaseMultiStrings7[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kToLowercaseTable7Size = 2;  // NOLINT
static const int32_t kToLowercaseTable7[4] = {
  1073749793, 128, 7994, 128 };  // NOLINT
static const uint16_t kToLowercaseMultiStrings7Size = 1;  // NOLINT
int ToLowercase::Convert(uchar c,
                      uchar n,
                      uchar* result,
                      bool* allow_caching_ptr) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupMapping<true>(kToLowercaseTable0,
                                           kToLowercaseTable0Size,
                                           kToLowercaseMultiStrings0,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 1: return LookupMapping<true>(kToLowercaseTable1,
                                           kToLowercaseTable1Size,
                                           kToLowercaseMultiStrings1,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 5: return LookupMapping<true>(kToLowercaseTable5,
                                           kToLowercaseTable5Size,
                                           kToLowercaseMultiStrings5,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 7: return LookupMapping<true>(kToLowercaseTable7,
                                           kToLowercaseTable7Size,
                                           kToLowercaseMultiStrings7,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    default: return 0;
  }
}

static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings0[62] = {  // NOLINT
  {{83, 83, kSentinel}}, {{700, 78, kSentinel}}, {{74, 780, kSentinel}}, {{921, 776, 769}},  // NOLINT
  {{933, 776, 769}}, {{1333, 1362, kSentinel}}, {{72, 817, kSentinel}}, {{84, 776, kSentinel}},  // NOLINT
  {{87, 778, kSentinel}}, {{89, 778, kSentinel}}, {{65, 702, kSentinel}}, {{933, 787, kSentinel}},  // NOLINT
  {{933, 787, 768}}, {{933, 787, 769}}, {{933, 787, 834}}, {{7944, 921, kSentinel}},  // NOLINT
  {{7945, 921, kSentinel}}, {{7946, 921, kSentinel}}, {{7947, 921, kSentinel}}, {{7948, 921, kSentinel}},  // NOLINT
  {{7949, 921, kSentinel}}, {{7950, 921, kSentinel}}, {{7951, 921, kSentinel}}, {{7976, 921, kSentinel}},  // NOLINT
  {{7977, 921, kSentinel}}, {{7978, 921, kSentinel}}, {{7979, 921, kSentinel}}, {{7980, 921, kSentinel}},  // NOLINT
  {{7981, 921, kSentinel}}, {{7982, 921, kSentinel}}, {{7983, 921, kSentinel}}, {{8040, 921, kSentinel}},  // NOLINT
  {{8041, 921, kSentinel}}, {{8042, 921, kSentinel}}, {{8043, 921, kSentinel}}, {{8044, 921, kSentinel}},  // NOLINT
  {{8045, 921, kSentinel}}, {{8046, 921, kSentinel}}, {{8047, 921, kSentinel}}, {{8122, 921, kSentinel}},  // NOLINT
  {{913, 921, kSentinel}}, {{902, 921, kSentinel}}, {{913, 834, kSentinel}}, {{913, 834, 921}},  // NOLINT
  {{8138, 921, kSentinel}}, {{919, 921, kSentinel}}, {{905, 921, kSentinel}}, {{919, 834, kSentinel}},  // NOLINT
  {{919, 834, 921}}, {{921, 776, 768}}, {{921, 834, kSentinel}}, {{921, 776, 834}},  // NOLINT
  {{933, 776, 768}}, {{929, 787, kSentinel}}, {{933, 834, kSentinel}}, {{933, 776, 834}},  // NOLINT
  {{8186, 921, kSentinel}}, {{937, 921, kSentinel}}, {{911, 921, kSentinel}}, {{937, 834, kSentinel}},  // NOLINT
  {{937, 834, 921}}, {{kSentinel}} }; // NOLINT
static const uint16_t kToUppercaseTable0Size = 590;  // NOLINT
static const int32_t kToUppercaseTable0[1180] = {
    1073741921, -128,   122,        -128,   181,        2972,
    223,        1,      1073742048, -128,   246,        -128,
    1073742072, -128,   254,        -128,  // NOLINT
    255,        484,    257,        -4,     259,        -4,
    261,        -4,     263,        -4,     265,        -4,
    267,        -4,     269,        -4,  // NOLINT
    271,        -4,     273,        -4,     275,        -4,
    277,        -4,     279,        -4,     281,        -4,
    283,        -4,     285,        -4,  // NOLINT
    287,        -4,     289,        -4,     291,        -4,
    293,        -4,     295,        -4,     297,        -4,
    299,        -4,     301,        -4,  // NOLINT
    303,        -4,     305,        -928,   307,        -4,
    309,        -4,     311,        -4,     314,        -4,
    316,        -4,     318,        -4,  // NOLINT
    320,        -4,     322,        -4,     324,        -4,
    326,        -4,     328,        -4,     329,        5,
    331,        -4,     333,        -4,  // NOLINT
    335,        -4,     337,        -4,     339,        -4,
    341,        -4,     343,        -4,     345,        -4,
    347,        -4,     349,        -4,  // NOLINT
    351,        -4,     353,        -4,     355,        -4,
    357,        -4,     359,        -4,     361,        -4,
    363,        -4,     365,        -4,  // NOLINT
    367,        -4,     369,        -4,     371,        -4,
    373,        -4,     375,        -4,     378,        -4,
    380,        -4,     382,        -4,  // NOLINT
    383,        -1200,  384,        780,    387,        -4,
    389,        -4,     392,        -4,     396,        -4,
    402,        -4,     405,        388,  // NOLINT
    409,        -4,     410,        652,    414,        520,
    417,        -4,     419,        -4,     421,        -4,
    424,        -4,     429,        -4,  // NOLINT
    432,        -4,     436,        -4,     438,        -4,
    441,        -4,     445,        -4,     447,        224,
    453,        -4,     454,        -8,  // NOLINT
    456,        -4,     457,        -8,     459,        -4,
    460,        -8,     462,        -4,     464,        -4,
    466,        -4,     468,        -4,  // NOLINT
    470,        -4,     472,        -4,     474,        -4,
    476,        -4,     477,        -316,   479,        -4,
    481,        -4,     483,        -4,  // NOLINT
    485,        -4,     487,        -4,     489,        -4,
    491,        -4,     493,        -4,     495,        -4,
    496,        9,      498,        -4,  // NOLINT
    499,        -8,     501,        -4,     505,        -4,
    507,        -4,     509,        -4,     511,        -4,
    513,        -4,     515,        -4,  // NOLINT
    517,        -4,     519,        -4,     521,        -4,
    523,        -4,     525,        -4,     527,        -4,
    529,        -4,     531,        -4,  // NOLINT
    533,        -4,     535,        -4,     537,        -4,
    539,        -4,     541,        -4,     543,        -4,
    547,        -4,     549,        -4,  // NOLINT
    551,        -4,     553,        -4,     555,        -4,
    557,        -4,     559,        -4,     561,        -4,
    563,        -4,     572,        -4,  // NOLINT
    1073742399, 43260,  576,        43260,  578,        -4,
    583,        -4,     585,        -4,     587,        -4,
    589,        -4,     591,        -4,  // NOLINT
    592,        43132,  593,        43120,  594,        43128,
    595,        -840,   596,        -824,   1073742422, -820,
    599,        -820,   601,        -808,  // NOLINT
    603,        -812,   604,        169276, 608,        -820,
    609,        169260, 611,        -828,   613,        169120,
    614,        169232, 616,        -836,  // NOLINT
    617,        -844,   619,        42972,  620,        169220,
    623,        -844,   625,        42996,  626,        -852,
    629,        -856,   637,        42908,  // NOLINT
    640,        -872,   643,        -872,   647,        169128,
    648,        -872,   649,        -276,   1073742474, -868,
    651,        -868,   652,        -284,  // NOLINT
    658,        -876,   670,        169032, 837,        336,
    881,        -4,     883,        -4,     887,        -4,
    1073742715, 520,    893,        520,  // NOLINT
    912,        13,     940,        -152,   1073742765, -148,
    943,        -148,   944,        17,     1073742769, -128,
    961,        -128,   962,        -124,  // NOLINT
    1073742787, -128,   971,        -128,   972,        -256,
    1073742797, -252,   974,        -252,   976,        -248,
    977,        -228,   981,        -188,  // NOLINT
    982,        -216,   983,        -32,    985,        -4,
    987,        -4,     989,        -4,     991,        -4,
    993,        -4,     995,        -4,  // NOLINT
    997,        -4,     999,        -4,     1001,       -4,
    1003,       -4,     1005,       -4,     1007,       -4,
    1008,       -344,   1009,       -320,  // NOLINT
    1010,       28,     1011,       -464,   1013,       -384,
    1016,       -4,     1019,       -4,     1073742896, -128,
    1103,       -128,   1073742928, -320,  // NOLINT
    1119,       -320,   1121,       -4,     1123,       -4,
    1125,       -4,     1127,       -4,     1129,       -4,
    1131,       -4,     1133,       -4,  // NOLINT
    1135,       -4,     1137,       -4,     1139,       -4,
    1141,       -4,     1143,       -4,     1145,       -4,
    1147,       -4,     1149,       -4,  // NOLINT
    1151,       -4,     1153,       -4,     1163,       -4,
    1165,       -4,     1167,       -4,     1169,       -4,
    1171,       -4,     1173,       -4,  // NOLINT
    1175,       -4,     1177,       -4,     1179,       -4,
    1181,       -4,     1183,       -4,     1185,       -4,
    1187,       -4,     1189,       -4,  // NOLINT
    1191,       -4,     1193,       -4,     1195,       -4,
    1197,       -4,     1199,       -4,     1201,       -4,
    1203,       -4,     1205,       -4,  // NOLINT
    1207,       -4,     1209,       -4,     1211,       -4,
    1213,       -4,     1215,       -4,     1218,       -4,
    1220,       -4,     1222,       -4,  // NOLINT
    1224,       -4,     1226,       -4,     1228,       -4,
    1230,       -4,     1231,       -60,    1233,       -4,
    1235,       -4,     1237,       -4,  // NOLINT
    1239,       -4,     1241,       -4,     1243,       -4,
    1245,       -4,     1247,       -4,     1249,       -4,
    1251,       -4,     1253,       -4,  // NOLINT
    1255,       -4,     1257,       -4,     1259,       -4,
    1261,       -4,     1263,       -4,     1265,       -4,
    1267,       -4,     1269,       -4,  // NOLINT
    1271,       -4,     1273,       -4,     1275,       -4,
    1277,       -4,     1279,       -4,     1281,       -4,
    1283,       -4,     1285,       -4,  // NOLINT
    1287,       -4,     1289,       -4,     1291,       -4,
    1293,       -4,     1295,       -4,     1297,       -4,
    1299,       -4,     1301,       -4,  // NOLINT
    1303,       -4,     1305,       -4,     1307,       -4,
    1309,       -4,     1311,       -4,     1313,       -4,
    1315,       -4,     1317,       -4,  // NOLINT
    1319,       -4,     1321,       -4,     1323,       -4,
    1325,       -4,     1327,       -4,     1073743201, -192,
    1414,       -192,   1415,       21,  // NOLINT
    7545,       141328, 7549,       15256,  7681,       -4,
    7683,       -4,     7685,       -4,     7687,       -4,
    7689,       -4,     7691,       -4,  // NOLINT
    7693,       -4,     7695,       -4,     7697,       -4,
    7699,       -4,     7701,       -4,     7703,       -4,
    7705,       -4,     7707,       -4,  // NOLINT
    7709,       -4,     7711,       -4,     7713,       -4,
    7715,       -4,     7717,       -4,     7719,       -4,
    7721,       -4,     7723,       -4,  // NOLINT
    7725,       -4,     7727,       -4,     7729,       -4,
    7731,       -4,     7733,       -4,     7735,       -4,
    7737,       -4,     7739,       -4,  // NOLINT
    7741,       -4,     7743,       -4,     7745,       -4,
    7747,       -4,     7749,       -4,     7751,       -4,
    7753,       -4,     7755,       -4,  // NOLINT
    7757,       -4,     7759,       -4,     7761,       -4,
    7763,       -4,     7765,       -4,     7767,       -4,
    7769,       -4,     7771,       -4,  // NOLINT
    7773,       -4,     7775,       -4,     7777,       -4,
    7779,       -4,     7781,       -4,     7783,       -4,
    7785,       -4,     7787,       -4,  // NOLINT
    7789,       -4,     7791,       -4,     7793,       -4,
    7795,       -4,     7797,       -4,     7799,       -4,
    7801,       -4,     7803,       -4,  // NOLINT
    7805,       -4,     7807,       -4,     7809,       -4,
    7811,       -4,     7813,       -4,     7815,       -4,
    7817,       -4,     7819,       -4,  // NOLINT
    7821,       -4,     7823,       -4,     7825,       -4,
    7827,       -4,     7829,       -4,     7830,       25,
    7831,       29,     7832,       33,  // NOLINT
    7833,       37,     7834,       41,     7835,       -236,
    7841,       -4,     7843,       -4,     7845,       -4,
    7847,       -4,     7849,       -4,  // NOLINT
    7851,       -4,     7853,       -4,     7855,       -4,
    7857,       -4,     7859,       -4,     7861,       -4,
    7863,       -4,     7865,       -4,  // NOLINT
    7867,       -4,     7869,       -4,     7871,       -4,
    7873,       -4,     7875,       -4,     7877,       -4,
    7879,       -4,     7881,       -4,  // NOLINT
    7883,       -4,     7885,       -4,     7887,       -4,
    7889,       -4,     7891,       -4,     7893,       -4,
    7895,       -4,     7897,       -4,  // NOLINT
    7899,       -4,     7901,       -4,     7903,       -4,
    7905,       -4,     7907,       -4,     7909,       -4,
    7911,       -4,     7913,       -4,  // NOLINT
    7915,       -4,     7917,       -4,     7919,       -4,
    7921,       -4,     7923,       -4,     7925,       -4,
    7927,       -4,     7929,       -4,  // NOLINT
    7931,       -4,     7933,       -4,     7935,       -4,
    1073749760, 32,     7943,       32,     1073749776, 32,
    7957,       32,     1073749792, 32,  // NOLINT
    7975,       32,     1073749808, 32,     7991,       32,
    1073749824, 32,     8005,       32,     8016,       45,
    8017,       32,     8018,       49,  // NOLINT
    8019,       32,     8020,       53,     8021,       32,
    8022,       57,     8023,       32,     1073749856, 32,
    8039,       32,     1073749872, 296,  // NOLINT
    8049,       296,    1073749874, 344,    8053,       344,
    1073749878, 400,    8055,       400,    1073749880, 512,
    8057,       512,    1073749882, 448,  // NOLINT
    8059,       448,    1073749884, 504,    8061,       504,
    8064,       61,     8065,       65,     8066,       69,
    8067,       73,     8068,       77,  // NOLINT
    8069,       81,     8070,       85,     8071,       89,
    8072,       61,     8073,       65,     8074,       69,
    8075,       73,     8076,       77,  // NOLINT
    8077,       81,     8078,       85,     8079,       89,
    8080,       93,     8081,       97,     8082,       101,
    8083,       105,    8084,       109,  // NOLINT
    8085,       113,    8086,       117,    8087,       121,
    8088,       93,     8089,       97,     8090,       101,
    8091,       105,    8092,       109,  // NOLINT
    8093,       113,    8094,       117,    8095,       121,
    8096,       125,    8097,       129,    8098,       133,
    8099,       137,    8100,       141,  // NOLINT
    8101,       145,    8102,       149,    8103,       153,
    8104,       125,    8105,       129,    8106,       133,
    8107,       137,    8108,       141,  // NOLINT
    8109,       145,    8110,       149,    8111,       153,
    1073749936, 32,     8113,       32,     8114,       157,
    8115,       161,    8116,       165,  // NOLINT
    8118,       169,    8119,       173,    8124,       161,
    8126,       -28820, 8130,       177,    8131,       181,
    8132,       185,    8134,       189,  // NOLINT
    8135,       193,    8140,       181,    1073749968, 32,
    8145,       32,     8146,       197,    8147,       13,
    8150,       201,    8151,       205,  // NOLINT
    1073749984, 32,     8161,       32,     8162,       209,
    8163,       17,     8164,       213,    8165,       28,
    8166,       217,    8167,       221,  // NOLINT
    8178,       225,    8179,       229,    8180,       233,
    8182,       237,    8183,       241,    8188,       229};  // NOLINT
static const uint16_t kToUppercaseMultiStrings0Size = 62;  // NOLINT
static const MultiCharacterSpecialCase<1> kToUppercaseMultiStrings1[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kToUppercaseTable1Size = 73;  // NOLINT
static const int32_t kToUppercaseTable1[146] = {
  334, -112, 1073742192, -64, 383, -64, 388, -4, 1073743056, -104, 1257, -104, 1073744944, -192, 3166, -192,  // NOLINT
  3169, -4, 3173, -43180, 3174, -43168, 3176, -4, 3178, -4, 3180, -4, 3187, -4, 3190, -4,  // NOLINT
  3201, -4, 3203, -4, 3205, -4, 3207, -4, 3209, -4, 3211, -4, 3213, -4, 3215, -4,  // NOLINT
  3217, -4, 3219, -4, 3221, -4, 3223, -4, 3225, -4, 3227, -4, 3229, -4, 3231, -4,  // NOLINT
  3233, -4, 3235, -4, 3237, -4, 3239, -4, 3241, -4, 3243, -4, 3245, -4, 3247, -4,  // NOLINT
  3249, -4, 3251, -4, 3253, -4, 3255, -4, 3257, -4, 3259, -4, 3261, -4, 3263, -4,  // NOLINT
  3265, -4, 3267, -4, 3269, -4, 3271, -4, 3273, -4, 3275, -4, 3277, -4, 3279, -4,  // NOLINT
  3281, -4, 3283, -4, 3285, -4, 3287, -4, 3289, -4, 3291, -4, 3293, -4, 3295, -4,  // NOLINT
  3297, -4, 3299, -4, 3308, -4, 3310, -4, 3315, -4, 1073745152, -29056, 3365, -29056, 3367, -29056,  // NOLINT
  3373, -29056 };  // NOLINT
static const uint16_t kToUppercaseMultiStrings1Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kToUppercaseMultiStrings5[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kToUppercaseTable5Size = 95;  // NOLINT
static const int32_t
    kToUppercaseTable5[190] = {1601, -4, 1603, -4, 1605, -4, 1607, -4, 1609, -4,
                               1611, -4, 1613, -4, 1615, -4,  // NOLINT
                               1617, -4, 1619, -4, 1621, -4, 1623, -4, 1625, -4,
                               1627, -4, 1629, -4, 1631, -4,  // NOLINT
                               1633, -4, 1635, -4, 1637, -4, 1639, -4, 1641, -4,
                               1643, -4, 1645, -4, 1665, -4,  // NOLINT
                               1667, -4, 1669, -4, 1671, -4, 1673, -4, 1675, -4,
                               1677, -4, 1679, -4, 1681, -4,  // NOLINT
                               1683, -4, 1685, -4, 1687, -4, 1689, -4, 1691, -4,
                               1827, -4, 1829, -4, 1831, -4,  // NOLINT
                               1833, -4, 1835, -4, 1837, -4, 1839, -4, 1843, -4,
                               1845, -4, 1847, -4, 1849, -4,  // NOLINT
                               1851, -4, 1853, -4, 1855, -4, 1857, -4, 1859, -4,
                               1861, -4, 1863, -4, 1865, -4,  // NOLINT
                               1867, -4, 1869, -4, 1871, -4, 1873, -4, 1875, -4,
                               1877, -4, 1879, -4, 1881, -4,  // NOLINT
                               1883, -4, 1885, -4, 1887, -4, 1889, -4, 1891, -4,
                               1893, -4, 1895, -4, 1897, -4,  // NOLINT
                               1899, -4, 1901, -4, 1903, -4, 1914, -4, 1916, -4,
                               1919, -4, 1921, -4, 1923, -4,  // NOLINT
                               1925, -4, 1927, -4, 1932, -4, 1937, -4, 1939, -4,
                               1943, -4, 1945, -4, 1947, -4,  // NOLINT
                               1949, -4, 1951, -4, 1953, -4, 1955, -4, 1957, -4,
                               1959, -4, 1961, -4};       // NOLINT
static const uint16_t kToUppercaseMultiStrings5Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings7[12] = {  // NOLINT
  {{70, 70, kSentinel}}, {{70, 73, kSentinel}}, {{70, 76, kSentinel}}, {{70, 70, 73}},  // NOLINT
  {{70, 70, 76}}, {{83, 84, kSentinel}}, {{1348, 1350, kSentinel}}, {{1348, 1333, kSentinel}},  // NOLINT
  {{1348, 1339, kSentinel}}, {{1358, 1350, kSentinel}}, {{1348, 1341, kSentinel}}, {{kSentinel}} }; // NOLINT
static const uint16_t kToUppercaseTable7Size = 14;  // NOLINT
static const int32_t kToUppercaseTable7[28] = {
  6912, 1, 6913, 5, 6914, 9, 6915, 13, 6916, 17, 6917, 21, 6918, 21, 6931, 25,  // NOLINT
  6932, 29, 6933, 33, 6934, 37, 6935, 41, 1073749825, -128, 8026, -128 };  // NOLINT
static const uint16_t kToUppercaseMultiStrings7Size = 12;  // NOLINT
int ToUppercase::Convert(uchar c,
                      uchar n,
                      uchar* result,
                      bool* allow_caching_ptr) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupMapping<true>(kToUppercaseTable0,
                                           kToUppercaseTable0Size,
                                           kToUppercaseMultiStrings0,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 1: return LookupMapping<true>(kToUppercaseTable1,
                                           kToUppercaseTable1Size,
                                           kToUppercaseMultiStrings1,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 5: return LookupMapping<true>(kToUppercaseTable5,
                                           kToUppercaseTable5Size,
                                           kToUppercaseMultiStrings5,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 7: return LookupMapping<true>(kToUppercaseTable7,
                                           kToUppercaseTable7Size,
                                           kToUppercaseMultiStrings7,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    default: return 0;
  }
}

static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings0[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kEcma262CanonicalizeTable0Size = 498;  // NOLINT
static const int32_t kEcma262CanonicalizeTable0[996] = {
    1073741921, -128,   122,        -128,   181,        2972,
    1073742048, -128,   246,        -128,   1073742072, -128,
    254,        -128,   255,        484,  // NOLINT
    257,        -4,     259,        -4,     261,        -4,
    263,        -4,     265,        -4,     267,        -4,
    269,        -4,     271,        -4,  // NOLINT
    273,        -4,     275,        -4,     277,        -4,
    279,        -4,     281,        -4,     283,        -4,
    285,        -4,     287,        -4,  // NOLINT
    289,        -4,     291,        -4,     293,        -4,
    295,        -4,     297,        -4,     299,        -4,
    301,        -4,     303,        -4,  // NOLINT
    307,        -4,     309,        -4,     311,        -4,
    314,        -4,     316,        -4,     318,        -4,
    320,        -4,     322,        -4,  // NOLINT
    324,        -4,     326,        -4,     328,        -4,
    331,        -4,     333,        -4,     335,        -4,
    337,        -4,     339,        -4,  // NOLINT
    341,        -4,     343,        -4,     345,        -4,
    347,        -4,     349,        -4,     351,        -4,
    353,        -4,     355,        -4,  // NOLINT
    357,        -4,     359,        -4,     361,        -4,
    363,        -4,     365,        -4,     367,        -4,
    369,        -4,     371,        -4,  // NOLINT
    373,        -4,     375,        -4,     378,        -4,
    380,        -4,     382,        -4,     384,        780,
    387,        -4,     389,        -4,  // NOLINT
    392,        -4,     396,        -4,     402,        -4,
    405,        388,    409,        -4,     410,        652,
    414,        520,    417,        -4,  // NOLINT
    419,        -4,     421,        -4,     424,        -4,
    429,        -4,     432,        -4,     436,        -4,
    438,        -4,     441,        -4,  // NOLINT
    445,        -4,     447,        224,    453,        -4,
    454,        -8,     456,        -4,     457,        -8,
    459,        -4,     460,        -8,  // NOLINT
    462,        -4,     464,        -4,     466,        -4,
    468,        -4,     470,        -4,     472,        -4,
    474,        -4,     476,        -4,  // NOLINT
    477,        -316,   479,        -4,     481,        -4,
    483,        -4,     485,        -4,     487,        -4,
    489,        -4,     491,        -4,  // NOLINT
    493,        -4,     495,        -4,     498,        -4,
    499,        -8,     501,        -4,     505,        -4,
    507,        -4,     509,        -4,  // NOLINT
    511,        -4,     513,        -4,     515,        -4,
    517,        -4,     519,        -4,     521,        -4,
    523,        -4,     525,        -4,  // NOLINT
    527,        -4,     529,        -4,     531,        -4,
    533,        -4,     535,        -4,     537,        -4,
    539,        -4,     541,        -4,  // NOLINT
    543,        -4,     547,        -4,     549,        -4,
    551,        -4,     553,        -4,     555,        -4,
    557,        -4,     559,        -4,  // NOLINT
    561,        -4,     563,        -4,     572,        -4,
    1073742399, 43260,  576,        43260,  578,        -4,
    583,        -4,     585,        -4,  // NOLINT
    587,        -4,     589,        -4,     591,        -4,
    592,        43132,  593,        43120,  594,        43128,
    595,        -840,   596,        -824,  // NOLINT
    1073742422, -820,   599,        -820,   601,        -808,
    603,        -812,   604,        169276, 608,        -820,
    609,        169260, 611,        -828,  // NOLINT
    613,        169120, 614,        169232, 616,        -836,
    617,        -844,   619,        42972,  620,        169220,
    623,        -844,   625,        42996,  // NOLINT
    626,        -852,   629,        -856,   637,        42908,
    640,        -872,   643,        -872,   647,        169128,
    648,        -872,   649,        -276,  // NOLINT
    1073742474, -868,   651,        -868,   652,        -284,
    658,        -876,   670,        169032, 837,        336,
    881,        -4,     883,        -4,  // NOLINT
    887,        -4,     1073742715, 520,    893,        520,
    940,        -152,   1073742765, -148,   943,        -148,
    1073742769, -128,   961,        -128,  // NOLINT
    962,        -124,   1073742787, -128,   971,        -128,
    972,        -256,   1073742797, -252,   974,        -252,
    976,        -248,   977,        -228,  // NOLINT
    981,        -188,   982,        -216,   983,        -32,
    985,        -4,     987,        -4,     989,        -4,
    991,        -4,     993,        -4,  // NOLINT
    995,        -4,     997,        -4,     999,        -4,
    1001,       -4,     1003,       -4,     1005,       -4,
    1007,       -4,     1008,       -344,  // NOLINT
    1009,       -320,   1010,       28,     1011,       -464,
    1013,       -384,   1016,       -4,     1019,       -4,
    1073742896, -128,   1103,       -128,  // NOLINT
    1073742928, -320,   1119,       -320,   1121,       -4,
    1123,       -4,     1125,       -4,     1127,       -4,
    1129,       -4,     1131,       -4,  // NOLINT
    1133,       -4,     1135,       -4,     1137,       -4,
    1139,       -4,     1141,       -4,     1143,       -4,
    1145,       -4,     1147,       -4,  // NOLINT
    1149,       -4,     1151,       -4,     1153,       -4,
    1163,       -4,     1165,       -4,     1167,       -4,
    1169,       -4,     1171,       -4,  // NOLINT
    1173,       -4,     1175,       -4,     1177,       -4,
    1179,       -4,     1181,       -4,     1183,       -4,
    1185,       -4,     1187,       -4,  // NOLINT
    1189,       -4,     1191,       -4,     1193,       -4,
    1195,       -4,     1197,       -4,     1199,       -4,
    1201,       -4,     1203,       -4,  // NOLINT
    1205,       -4,     1207,       -4,     1209,       -4,
    1211,       -4,     1213,       -4,     1215,       -4,
    1218,       -4,     1220,       -4,  // NOLINT
    1222,       -4,     1224,       -4,     1226,       -4,
    1228,       -4,     1230,       -4,     1231,       -60,
    1233,       -4,     1235,       -4,  // NOLINT
    1237,       -4,     1239,       -4,     1241,       -4,
    1243,       -4,     1245,       -4,     1247,       -4,
    1249,       -4,     1251,       -4,  // NOLINT
    1253,       -4,     1255,       -4,     1257,       -4,
    1259,       -4,     1261,       -4,     1263,       -4,
    1265,       -4,     1267,       -4,  // NOLINT
    1269,       -4,     1271,       -4,     1273,       -4,
    1275,       -4,     1277,       -4,     1279,       -4,
    1281,       -4,     1283,       -4,  // NOLINT
    1285,       -4,     1287,       -4,     1289,       -4,
    1291,       -4,     1293,       -4,     1295,       -4,
    1297,       -4,     1299,       -4,  // NOLINT
    1301,       -4,     1303,       -4,     1305,       -4,
    1307,       -4,     1309,       -4,     1311,       -4,
    1313,       -4,     1315,       -4,  // NOLINT
    1317,       -4,     1319,       -4,     1321,       -4,
    1323,       -4,     1325,       -4,     1327,       -4,
    1073743201, -192,   1414,       -192,  // NOLINT
    7545,       141328, 7549,       15256,  7681,       -4,
    7683,       -4,     7685,       -4,     7687,       -4,
    7689,       -4,     7691,       -4,  // NOLINT
    7693,       -4,     7695,       -4,     7697,       -4,
    7699,       -4,     7701,       -4,     7703,       -4,
    7705,       -4,     7707,       -4,  // NOLINT
    7709,       -4,     7711,       -4,     7713,       -4,
    7715,       -4,     7717,       -4,     7719,       -4,
    7721,       -4,     7723,       -4,  // NOLINT
    7725,       -4,     7727,       -4,     7729,       -4,
    7731,       -4,     7733,       -4,     7735,       -4,
    7737,       -4,     7739,       -4,  // NOLINT
    7741,       -4,     7743,       -4,     7745,       -4,
    7747,       -4,     7749,       -4,     7751,       -4,
    7753,       -4,     7755,       -4,  // NOLINT
    7757,       -4,     7759,       -4,     7761,       -4,
    7763,       -4,     7765,       -4,     7767,       -4,
    7769,       -4,     7771,       -4,  // NOLINT
    7773,       -4,     7775,       -4,     7777,       -4,
    7779,       -4,     7781,       -4,     7783,       -4,
    7785,       -4,     7787,       -4,  // NOLINT
    7789,       -4,     7791,       -4,     7793,       -4,
    7795,       -4,     7797,       -4,     7799,       -4,
    7801,       -4,     7803,       -4,  // NOLINT
    7805,       -4,     7807,       -4,     7809,       -4,
    7811,       -4,     7813,       -4,     7815,       -4,
    7817,       -4,     7819,       -4,  // NOLINT
    7821,       -4,     7823,       -4,     7825,       -4,
    7827,       -4,     7829,       -4,     7835,       -236,
    7841,       -4,     7843,       -4,  // NOLINT
    7845,       -4,     7847,       -4,     7849,       -4,
    7851,       -4,     7853,       -4,     7855,       -4,
    7857,       -4,     7859,       -4,  // NOLINT
    7861,       -4,     7863,       -4,     7865,       -4,
    7867,       -4,     7869,       -4,     7871,       -4,
    7873,       -4,     7875,       -4,  // NOLINT
    7877,       -4,     7879,       -4,     7881,       -4,
    7883,       -4,     7885,       -4,     7887,       -4,
    7889,       -4,     7891,       -4,  // NOLINT
    7893,       -4,     7895,       -4,     7897,       -4,
    7899,       -4,     7901,       -4,     7903,       -4,
    7905,       -4,     7907,       -4,  // NOLINT
    7909,       -4,     7911,       -4,     7913,       -4,
    7915,       -4,     7917,       -4,     7919,       -4,
    7921,       -4,     7923,       -4,  // NOLINT
    7925,       -4,     7927,       -4,     7929,       -4,
    7931,       -4,     7933,       -4,     7935,       -4,
    1073749760, 32,     7943,       32,  // NOLINT
    1073749776, 32,     7957,       32,     1073749792, 32,
    7975,       32,     1073749808, 32,     7991,       32,
    1073749824, 32,     8005,       32,  // NOLINT
    8017,       32,     8019,       32,     8021,       32,
    8023,       32,     1073749856, 32,     8039,       32,
    1073749872, 296,    8049,       296,  // NOLINT
    1073749874, 344,    8053,       344,    1073749878, 400,
    8055,       400,    1073749880, 512,    8057,       512,
    1073749882, 448,    8059,       448,  // NOLINT
    1073749884, 504,    8061,       504,    1073749936, 32,
    8113,       32,     8126,       -28820, 1073749968, 32,
    8145,       32,     1073749984, 32,                           // NOLINT
    8161,       32,     8165,       28};                          // NOLINT
static const uint16_t kEcma262CanonicalizeMultiStrings0Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings1[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kEcma262CanonicalizeTable1Size = 73;  // NOLINT
static const int32_t kEcma262CanonicalizeTable1[146] = {
  334, -112, 1073742192, -64, 383, -64, 388, -4, 1073743056, -104, 1257, -104, 1073744944, -192, 3166, -192,  // NOLINT
  3169, -4, 3173, -43180, 3174, -43168, 3176, -4, 3178, -4, 3180, -4, 3187, -4, 3190, -4,  // NOLINT
  3201, -4, 3203, -4, 3205, -4, 3207, -4, 3209, -4, 3211, -4, 3213, -4, 3215, -4,  // NOLINT
  3217, -4, 3219, -4, 3221, -4, 3223, -4, 3225, -4, 3227, -4, 3229, -4, 3231, -4,  // NOLINT
  3233, -4, 3235, -4, 3237, -4, 3239, -4, 3241, -4, 3243, -4, 3245, -4, 3247, -4,  // NOLINT
  3249, -4, 3251, -4, 3253, -4, 3255, -4, 3257, -4, 3259, -4, 3261, -4, 3263, -4,  // NOLINT
  3265, -4, 3267, -4, 3269, -4, 3271, -4, 3273, -4, 3275, -4, 3277, -4, 3279, -4,  // NOLINT
  3281, -4, 3283, -4, 3285, -4, 3287, -4, 3289, -4, 3291, -4, 3293, -4, 3295, -4,  // NOLINT
  3297, -4, 3299, -4, 3308, -4, 3310, -4, 3315, -4, 1073745152, -29056, 3365, -29056, 3367, -29056,  // NOLINT
  3373, -29056 };  // NOLINT
static const uint16_t kEcma262CanonicalizeMultiStrings1Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings5[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kEcma262CanonicalizeTable5Size = 95;  // NOLINT
static const int32_t kEcma262CanonicalizeTable5
    [190] = {1601, -4, 1603, -4, 1605, -4, 1607, -4,
             1609, -4, 1611, -4, 1613, -4, 1615, -4,  // NOLINT
             1617, -4, 1619, -4, 1621, -4, 1623, -4,
             1625, -4, 1627, -4, 1629, -4, 1631, -4,  // NOLINT
             1633, -4, 1635, -4, 1637, -4, 1639, -4,
             1641, -4, 1643, -4, 1645, -4, 1665, -4,  // NOLINT
             1667, -4, 1669, -4, 1671, -4, 1673, -4,
             1675, -4, 1677, -4, 1679, -4, 1681, -4,  // NOLINT
             1683, -4, 1685, -4, 1687, -4, 1689, -4,
             1691, -4, 1827, -4, 1829, -4, 1831, -4,  // NOLINT
             1833, -4, 1835, -4, 1837, -4, 1839, -4,
             1843, -4, 1845, -4, 1847, -4, 1849, -4,  // NOLINT
             1851, -4, 1853, -4, 1855, -4, 1857, -4,
             1859, -4, 1861, -4, 1863, -4, 1865, -4,  // NOLINT
             1867, -4, 1869, -4, 1871, -4, 1873, -4,
             1875, -4, 1877, -4, 1879, -4, 1881, -4,  // NOLINT
             1883, -4, 1885, -4, 1887, -4, 1889, -4,
             1891, -4, 1893, -4, 1895, -4, 1897, -4,  // NOLINT
             1899, -4, 1901, -4, 1903, -4, 1914, -4,
             1916, -4, 1919, -4, 1921, -4, 1923, -4,  // NOLINT
             1925, -4, 1927, -4, 1932, -4, 1937, -4,
             1939, -4, 1943, -4, 1945, -4, 1947, -4,  // NOLINT
             1949, -4, 1951, -4, 1953, -4, 1955, -4,
             1957, -4, 1959, -4, 1961, -4};                       // NOLINT
static const uint16_t kEcma262CanonicalizeMultiStrings5Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings7[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kEcma262CanonicalizeTable7Size = 2;  // NOLINT
static const int32_t kEcma262CanonicalizeTable7[4] = {
  1073749825, -128, 8026, -128 };  // NOLINT
static const uint16_t kEcma262CanonicalizeMultiStrings7Size = 1;  // NOLINT
int Ecma262Canonicalize::Convert(uchar c,
                      uchar n,
                      uchar* result,
                      bool* allow_caching_ptr) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupMapping<true>(kEcma262CanonicalizeTable0,
                                           kEcma262CanonicalizeTable0Size,
                                           kEcma262CanonicalizeMultiStrings0,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 1: return LookupMapping<true>(kEcma262CanonicalizeTable1,
                                           kEcma262CanonicalizeTable1Size,
                                           kEcma262CanonicalizeMultiStrings1,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 5: return LookupMapping<true>(kEcma262CanonicalizeTable5,
                                           kEcma262CanonicalizeTable5Size,
                                           kEcma262CanonicalizeMultiStrings5,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 7: return LookupMapping<true>(kEcma262CanonicalizeTable7,
                                           kEcma262CanonicalizeTable7Size,
                                           kEcma262CanonicalizeMultiStrings7,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    default: return 0;
  }
}

static const MultiCharacterSpecialCase<4>
    kEcma262UnCanonicalizeMultiStrings0[507] = {  // NOLINT
        {{65, 97, kSentinel}},
        {{90, 122, kSentinel}},
        {{181, 924, 956, kSentinel}},
        {{192, 224, kSentinel}},  // NOLINT
        {{214, 246, kSentinel}},
        {{216, 248, kSentinel}},
        {{222, 254, kSentinel}},
        {{255, 376, kSentinel}},  // NOLINT
        {{256, 257, kSentinel}},
        {{258, 259, kSentinel}},
        {{260, 261, kSentinel}},
        {{262, 263, kSentinel}},  // NOLINT
        {{264, 265, kSentinel}},
        {{266, 267, kSentinel}},
        {{268, 269, kSentinel}},
        {{270, 271, kSentinel}},  // NOLINT
        {{272, 273, kSentinel}},
        {{274, 275, kSentinel}},
        {{276, 277, kSentinel}},
        {{278, 279, kSentinel}},  // NOLINT
        {{280, 281, kSentinel}},
        {{282, 283, kSentinel}},
        {{284, 285, kSentinel}},
        {{286, 287, kSentinel}},  // NOLINT
        {{288, 289, kSentinel}},
        {{290, 291, kSentinel}},
        {{292, 293, kSentinel}},
        {{294, 295, kSentinel}},  // NOLINT
        {{296, 297, kSentinel}},
        {{298, 299, kSentinel}},
        {{300, 301, kSentinel}},
        {{302, 303, kSentinel}},  // NOLINT
        {{306, 307, kSentinel}},
        {{308, 309, kSentinel}},
        {{310, 311, kSentinel}},
        {{313, 314, kSentinel}},  // NOLINT
        {{315, 316, kSentinel}},
        {{317, 318, kSentinel}},
        {{319, 320, kSentinel}},
        {{321, 322, kSentinel}},  // NOLINT
        {{323, 324, kSentinel}},
        {{325, 326, kSentinel}},
        {{327, 328, kSentinel}},
        {{330, 331, kSentinel}},  // NOLINT
        {{332, 333, kSentinel}},
        {{334, 335, kSentinel}},
        {{336, 337, kSentinel}},
        {{338, 339, kSentinel}},  // NOLINT
        {{340, 341, kSentinel}},
        {{342, 343, kSentinel}},
        {{344, 345, kSentinel}},
        {{346, 347, kSentinel}},  // NOLINT
        {{348, 349, kSentinel}},
        {{350, 351, kSentinel}},
        {{352, 353, kSentinel}},
        {{354, 355, kSentinel}},  // NOLINT
        {{356, 357, kSentinel}},
        {{358, 359, kSentinel}},
        {{360, 361, kSentinel}},
        {{362, 363, kSentinel}},  // NOLINT
        {{364, 365, kSentinel}},
        {{366, 367, kSentinel}},
        {{368, 369, kSentinel}},
        {{370, 371, kSentinel}},  // NOLINT
        {{372, 373, kSentinel}},
        {{374, 375, kSentinel}},
        {{377, 378, kSentinel}},
        {{379, 380, kSentinel}},  // NOLINT
        {{381, 382, kSentinel}},
        {{384, 579, kSentinel}},
        {{385, 595, kSentinel}},
        {{386, 387, kSentinel}},  // NOLINT
        {{388, 389, kSentinel}},
        {{390, 596, kSentinel}},
        {{391, 392, kSentinel}},
        {{393, 598, kSentinel}},  // NOLINT
        {{394, 599, kSentinel}},
        {{395, 396, kSentinel}},
        {{398, 477, kSentinel}},
        {{399, 601, kSentinel}},  // NOLINT
        {{400, 603, kSentinel}},
        {{401, 402, kSentinel}},
        {{403, 608, kSentinel}},
        {{404, 611, kSentinel}},  // NOLINT
        {{405, 502, kSentinel}},
        {{406, 617, kSentinel}},
        {{407, 616, kSentinel}},
        {{408, 409, kSentinel}},  // NOLINT
        {{410, 573, kSentinel}},
        {{412, 623, kSentinel}},
        {{413, 626, kSentinel}},
        {{414, 544, kSentinel}},  // NOLINT
        {{415, 629, kSentinel}},
        {{416, 417, kSentinel}},
        {{418, 419, kSentinel}},
        {{420, 421, kSentinel}},  // NOLINT
        {{422, 640, kSentinel}},
        {{423, 424, kSentinel}},
        {{425, 643, kSentinel}},
        {{428, 429, kSentinel}},  // NOLINT
        {{430, 648, kSentinel}},
        {{431, 432, kSentinel}},
        {{433, 650, kSentinel}},
        {{434, 651, kSentinel}},  // NOLINT
        {{435, 436, kSentinel}},
        {{437, 438, kSentinel}},
        {{439, 658, kSentinel}},
        {{440, 441, kSentinel}},  // NOLINT
        {{444, 445, kSentinel}},
        {{447, 503, kSentinel}},
        {{452, 453, 454, kSentinel}},
        {{455, 456, 457, kSentinel}},  // NOLINT
        {{458, 459, 460, kSentinel}},
        {{461, 462, kSentinel}},
        {{463, 464, kSentinel}},
        {{465, 466, kSentinel}},  // NOLINT
        {{467, 468, kSentinel}},
        {{469, 470, kSentinel}},
        {{471, 472, kSentinel}},
        {{473, 474, kSentinel}},  // NOLINT
        {{475, 476, kSentinel}},
        {{478, 479, kSentinel}},
        {{480, 481, kSentinel}},
        {{482, 483, kSentinel}},  // NOLINT
        {{484, 485, kSentinel}},
        {{486, 487, kSentinel}},
        {{488, 489, kSentinel}},
        {{490, 491, kSentinel}},  // NOLINT
        {{492, 493, kSentinel}},
        {{494, 495, kSentinel}},
        {{497, 498, 499, kSentinel}},
        {{500, 501, kSentinel}},  // NOLINT
        {{504, 505, kSentinel}},
        {{506, 507, kSentinel}},
        {{508, 509, kSentinel}},
        {{510, 511, kSentinel}},  // NOLINT
        {{512, 513, kSentinel}},
        {{514, 515, kSentinel}},
        {{516, 517, kSentinel}},
        {{518, 519, kSentinel}},  // NOLINT
        {{520, 521, kSentinel}},
        {{522, 523, kSentinel}},
        {{524, 525, kSentinel}},
        {{526, 527, kSentinel}},  // NOLINT
        {{528, 529, kSentinel}},
        {{530, 531, kSentinel}},
        {{532, 533, kSentinel}},
        {{534, 535, kSentinel}},  // NOLINT
        {{536, 537, kSentinel}},
        {{538, 539, kSentinel}},
        {{540, 541, kSentinel}},
        {{542, 543, kSentinel}},  // NOLINT
        {{546, 547, kSentinel}},
        {{548, 549, kSentinel}},
        {{550, 551, kSentinel}},
        {{552, 553, kSentinel}},  // NOLINT
        {{554, 555, kSentinel}},
        {{556, 557, kSentinel}},
        {{558, 559, kSentinel}},
        {{560, 561, kSentinel}},  // NOLINT
        {{562, 563, kSentinel}},
        {{570, 11365, kSentinel}},
        {{571, 572, kSentinel}},
        {{574, 11366, kSentinel}},  // NOLINT
        {{575, 11390, kSentinel}},
        {{576, 11391, kSentinel}},
        {{577, 578, kSentinel}},
        {{580, 649, kSentinel}},  // NOLINT
        {{581, 652, kSentinel}},
        {{582, 583, kSentinel}},
        {{584, 585, kSentinel}},
        {{586, 587, kSentinel}},  // NOLINT
        {{588, 589, kSentinel}},
        {{590, 591, kSentinel}},
        {{592, 11375, kSentinel}},
        {{593, 11373, kSentinel}},  // NOLINT
        {{594, 11376, kSentinel}},
        {{604, 42923, kSentinel}},
        {{609, 42924, kSentinel}},
        {{613, 42893, kSentinel}},  // NOLINT
        {{614, 42922, kSentinel}},
        {{619, 11362, kSentinel}},
        {{620, 42925, kSentinel}},
        {{625, 11374, kSentinel}},  // NOLINT
        {{637, 11364, kSentinel}},
        {{647, 42929, kSentinel}},
        {{670, 42928, kSentinel}},
        {{837, 921, 953, 8126}},  // NOLINT
        {{880, 881, kSentinel}},
        {{882, 883, kSentinel}},
        {{886, 887, kSentinel}},
        {{891, 1021, kSentinel}},  // NOLINT
        {{893, 1023, kSentinel}},
        {{895, 1011, kSentinel}},
        {{902, 940, kSentinel}},
        {{904, 941, kSentinel}},  // NOLINT
        {{906, 943, kSentinel}},
        {{908, 972, kSentinel}},
        {{910, 973, kSentinel}},
        {{911, 974, kSentinel}},  // NOLINT
        {{913, 945, kSentinel}},
        {{914, 946, 976, kSentinel}},
        {{915, 947, kSentinel}},
        {{916, 948, kSentinel}},  // NOLINT
        {{917, 949, 1013, kSentinel}},
        {{918, 950, kSentinel}},
        {{919, 951, kSentinel}},
        {{920, 952, 977, kSentinel}},  // NOLINT
        {{922, 954, 1008, kSentinel}},
        {{923, 955, kSentinel}},
        {{925, 957, kSentinel}},
        {{927, 959, kSentinel}},  // NOLINT
        {{928, 960, 982, kSentinel}},
        {{929, 961, 1009, kSentinel}},
        {{931, 962, 963, kSentinel}},
        {{932, 964, kSentinel}},  // NOLINT
        {{933, 965, kSentinel}},
        {{934, 966, 981, kSentinel}},
        {{935, 967, kSentinel}},
        {{939, 971, kSentinel}},  // NOLINT
        {{975, 983, kSentinel}},
        {{984, 985, kSentinel}},
        {{986, 987, kSentinel}},
        {{988, 989, kSentinel}},  // NOLINT
        {{990, 991, kSentinel}},
        {{992, 993, kSentinel}},
        {{994, 995, kSentinel}},
        {{996, 997, kSentinel}},  // NOLINT
        {{998, 999, kSentinel}},
        {{1000, 1001, kSentinel}},
        {{1002, 1003, kSentinel}},
        {{1004, 1005, kSentinel}},  // NOLINT
        {{1006, 1007, kSentinel}},
        {{1010, 1017, kSentinel}},
        {{1015, 1016, kSentinel}},
        {{1018, 1019, kSentinel}},  // NOLINT
        {{1024, 1104, kSentinel}},
        {{1039, 1119, kSentinel}},
        {{1040, 1072, kSentinel}},
        {{1071, 1103, kSentinel}},  // NOLINT
        {{1120, 1121, kSentinel}},
        {{1122, 1123, kSentinel}},
        {{1124, 1125, kSentinel}},
        {{1126, 1127, kSentinel}},  // NOLINT
        {{1128, 1129, kSentinel}},
        {{1130, 1131, kSentinel}},
        {{1132, 1133, kSentinel}},
        {{1134, 1135, kSentinel}},  // NOLINT
        {{1136, 1137, kSentinel}},
        {{1138, 1139, kSentinel}},
        {{1140, 1141, kSentinel}},
        {{1142, 1143, kSentinel}},  // NOLINT
        {{1144, 1145, kSentinel}},
        {{1146, 1147, kSentinel}},
        {{1148, 1149, kSentinel}},
        {{1150, 1151, kSentinel}},  // NOLINT
        {{1152, 1153, kSentinel}},
        {{1162, 1163, kSentinel}},
        {{1164, 1165, kSentinel}},
        {{1166, 1167, kSentinel}},  // NOLINT
        {{1168, 1169, kSentinel}},
        {{1170, 1171, kSentinel}},
        {{1172, 1173, kSentinel}},
        {{1174, 1175, kSentinel}},  // NOLINT
        {{1176, 1177, kSentinel}},
        {{1178, 1179, kSentinel}},
        {{1180, 1181, kSentinel}},
        {{1182, 1183, kSentinel}},  // NOLINT
        {{1184, 1185, kSentinel}},
        {{1186, 1187, kSentinel}},
        {{1188, 1189, kSentinel}},
        {{1190, 1191, kSentinel}},  // NOLINT
        {{1192, 1193, kSentinel}},
        {{1194, 1195, kSentinel}},
        {{1196, 1197, kSentinel}},
        {{1198, 1199, kSentinel}},  // NOLINT
        {{1200, 1201, kSentinel}},
        {{1202, 1203, kSentinel}},
        {{1204, 1205, kSentinel}},
        {{1206, 1207, kSentinel}},  // NOLINT
        {{1208, 1209, kSentinel}},
        {{1210, 1211, kSentinel}},
        {{1212, 1213, kSentinel}},
        {{1214, 1215, kSentinel}},  // NOLINT
        {{1216, 1231, kSentinel}},
        {{1217, 1218, kSentinel}},
        {{1219, 1220, kSentinel}},
        {{1221, 1222, kSentinel}},  // NOLINT
        {{1223, 1224, kSentinel}},
        {{1225, 1226, kSentinel}},
        {{1227, 1228, kSentinel}},
        {{1229, 1230, kSentinel}},  // NOLINT
        {{1232, 1233, kSentinel}},
        {{1234, 1235, kSentinel}},
        {{1236, 1237, kSentinel}},
        {{1238, 1239, kSentinel}},  // NOLINT
        {{1240, 1241, kSentinel}},
        {{1242, 1243, kSentinel}},
        {{1244, 1245, kSentinel}},
        {{1246, 1247, kSentinel}},  // NOLINT
        {{1248, 1249, kSentinel}},
        {{1250, 1251, kSentinel}},
        {{1252, 1253, kSentinel}},
        {{1254, 1255, kSentinel}},  // NOLINT
        {{1256, 1257, kSentinel}},
        {{1258, 1259, kSentinel}},
        {{1260, 1261, kSentinel}},
        {{1262, 1263, kSentinel}},  // NOLINT
        {{1264, 1265, kSentinel}},
        {{1266, 1267, kSentinel}},
        {{1268, 1269, kSentinel}},
        {{1270, 1271, kSentinel}},  // NOLINT
        {{1272, 1273, kSentinel}},
        {{1274, 1275, kSentinel}},
        {{1276, 1277, kSentinel}},
        {{1278, 1279, kSentinel}},  // NOLINT
        {{1280, 1281, kSentinel}},
        {{1282, 1283, kSentinel}},
        {{1284, 1285, kSentinel}},
        {{1286, 1287, kSentinel}},  // NOLINT
        {{1288, 1289, kSentinel}},
        {{1290, 1291, kSentinel}},
        {{1292, 1293, kSentinel}},
        {{1294, 1295, kSentinel}},  // NOLINT
        {{1296, 1297, kSentinel}},
        {{1298, 1299, kSentinel}},
        {{1300, 1301, kSentinel}},
        {{1302, 1303, kSentinel}},  // NOLINT
        {{1304, 1305, kSentinel}},
        {{1306, 1307, kSentinel}},
        {{1308, 1309, kSentinel}},
        {{1310, 1311, kSentinel}},  // NOLINT
        {{1312, 1313, kSentinel}},
        {{1314, 1315, kSentinel}},
        {{1316, 1317, kSentinel}},
        {{1318, 1319, kSentinel}},  // NOLINT
        {{1320, 1321, kSentinel}},
        {{1322, 1323, kSentinel}},
        {{1324, 1325, kSentinel}},
        {{1326, 1327, kSentinel}},  // NOLINT
        {{1329, 1377, kSentinel}},
        {{1366, 1414, kSentinel}},
        {{4256, 11520, kSentinel}},
        {{4293, 11557, kSentinel}},  // NOLINT
        {{4295, 11559, kSentinel}},
        {{4301, 11565, kSentinel}},
        {{7545, 42877, kSentinel}},
        {{7549, 11363, kSentinel}},  // NOLINT
        {{7680, 7681, kSentinel}},
        {{7682, 7683, kSentinel}},
        {{7684, 7685, kSentinel}},
        {{7686, 7687, kSentinel}},  // NOLINT
        {{7688, 7689, kSentinel}},
        {{7690, 7691, kSentinel}},
        {{7692, 7693, kSentinel}},
        {{7694, 7695, kSentinel}},  // NOLINT
        {{7696, 7697, kSentinel}},
        {{7698, 7699, kSentinel}},
        {{7700, 7701, kSentinel}},
        {{7702, 7703, kSentinel}},  // NOLINT
        {{7704, 7705, kSentinel}},
        {{7706, 7707, kSentinel}},
        {{7708, 7709, kSentinel}},
        {{7710, 7711, kSentinel}},  // NOLINT
        {{7712, 7713, kSentinel}},
        {{7714, 7715, kSentinel}},
        {{7716, 7717, kSentinel}},
        {{7718, 7719, kSentinel}},  // NOLINT
        {{7720, 7721, kSentinel}},
        {{7722, 7723, kSentinel}},
        {{7724, 7725, kSentinel}},
        {{7726, 7727, kSentinel}},  // NOLINT
        {{7728, 7729, kSentinel}},
        {{7730, 7731, kSentinel}},
        {{7732, 7733, kSentinel}},
        {{7734, 7735, kSentinel}},  // NOLINT
        {{7736, 7737, kSentinel}},
        {{7738, 7739, kSentinel}},
        {{7740, 7741, kSentinel}},
        {{7742, 7743, kSentinel}},  // NOLINT
        {{7744, 7745, kSentinel}},
        {{7746, 7747, kSentinel}},
        {{7748, 7749, kSentinel}},
        {{7750, 7751, kSentinel}},  // NOLINT
        {{7752, 7753, kSentinel}},
        {{7754, 7755, kSentinel}},
        {{7756, 7757, kSentinel}},
        {{7758, 7759, kSentinel}},  // NOLINT
        {{7760, 7761, kSentinel}},
        {{7762, 7763, kSentinel}},
        {{7764, 7765, kSentinel}},
        {{7766, 7767, kSentinel}},  // NOLINT
        {{7768, 7769, kSentinel}},
        {{7770, 7771, kSentinel}},
        {{7772, 7773, kSentinel}},
        {{7774, 7775, kSentinel}},  // NOLINT
        {{7776, 7777, 7835, kSentinel}},
        {{7778, 7779, kSentinel}},
        {{7780, 7781, kSentinel}},
        {{7782, 7783, kSentinel}},  // NOLINT
        {{7784, 7785, kSentinel}},
        {{7786, 7787, kSentinel}},
        {{7788, 7789, kSentinel}},
        {{7790, 7791, kSentinel}},  // NOLINT
        {{7792, 7793, kSentinel}},
        {{7794, 7795, kSentinel}},
        {{7796, 7797, kSentinel}},
        {{7798, 7799, kSentinel}},  // NOLINT
        {{7800, 7801, kSentinel}},
        {{7802, 7803, kSentinel}},
        {{7804, 7805, kSentinel}},
        {{7806, 7807, kSentinel}},  // NOLINT
        {{7808, 7809, kSentinel}},
        {{7810, 7811, kSentinel}},
        {{7812, 7813, kSentinel}},
        {{7814, 7815, kSentinel}},  // NOLINT
        {{7816, 7817, kSentinel}},
        {{7818, 7819, kSentinel}},
        {{7820, 7821, kSentinel}},
        {{7822, 7823, kSentinel}},  // NOLINT
        {{7824, 7825, kSentinel}},
        {{7826, 7827, kSentinel}},
        {{7828, 7829, kSentinel}},
        {{7840, 7841, kSentinel}},  // NOLINT
        {{7842, 7843, kSentinel}},
        {{7844, 7845, kSentinel}},
        {{7846, 7847, kSentinel}},
        {{7848, 7849, kSentinel}},  // NOLINT
        {{7850, 7851, kSentinel}},
        {{7852, 7853, kSentinel}},
        {{7854, 7855, kSentinel}},
        {{7856, 7857, kSentinel}},  // NOLINT
        {{7858, 7859, kSentinel}},
        {{7860, 7861, kSentinel}},
        {{7862, 7863, kSentinel}},
        {{7864, 7865, kSentinel}},  // NOLINT
        {{7866, 7867, kSentinel}},
        {{7868, 7869, kSentinel}},
        {{7870, 7871, kSentinel}},
        {{7872, 7873, kSentinel}},  // NOLINT
        {{7874, 7875, kSentinel}},
        {{7876, 7877, kSentinel}},
        {{7878, 7879, kSentinel}},
        {{7880, 7881, kSentinel}},  // NOLINT
        {{7882, 7883, kSentinel}},
        {{7884, 7885, kSentinel}},
        {{7886, 7887, kSentinel}},
        {{7888, 7889, kSentinel}},  // NOLINT
        {{7890, 7891, kSentinel}},
        {{7892, 7893, kSentinel}},
        {{7894, 7895, kSentinel}},
        {{7896, 7897, kSentinel}},  // NOLINT
        {{7898, 7899, kSentinel}},
        {{7900, 7901, kSentinel}},
        {{7902, 7903, kSentinel}},
        {{7904, 7905, kSentinel}},  // NOLINT
        {{7906, 7907, kSentinel}},
        {{7908, 7909, kSentinel}},
        {{7910, 7911, kSentinel}},
        {{7912, 7913, kSentinel}},  // NOLINT
        {{7914, 7915, kSentinel}},
        {{7916, 7917, kSentinel}},
        {{7918, 7919, kSentinel}},
        {{7920, 7921, kSentinel}},  // NOLINT
        {{7922, 7923, kSentinel}},
        {{7924, 7925, kSentinel}},
        {{7926, 7927, kSentinel}},
        {{7928, 7929, kSentinel}},  // NOLINT
        {{7930, 7931, kSentinel}},
        {{7932, 7933, kSentinel}},
        {{7934, 7935, kSentinel}},
        {{7936, 7944, kSentinel}},  // NOLINT
        {{7943, 7951, kSentinel}},
        {{7952, 7960, kSentinel}},
        {{7957, 7965, kSentinel}},
        {{7968, 7976, kSentinel}},  // NOLINT
        {{7975, 7983, kSentinel}},
        {{7984, 7992, kSentinel}},
        {{7991, 7999, kSentinel}},
        {{8000, 8008, kSentinel}},  // NOLINT
        {{8005, 8013, kSentinel}},
        {{8017, 8025, kSentinel}},
        {{8019, 8027, kSentinel}},
        {{8021, 8029, kSentinel}},  // NOLINT
        {{8023, 8031, kSentinel}},
        {{8032, 8040, kSentinel}},
        {{8039, 8047, kSentinel}},
        {{8048, 8122, kSentinel}},  // NOLINT
        {{8049, 8123, kSentinel}},
        {{8050, 8136, kSentinel}},
        {{8053, 8139, kSentinel}},
        {{8054, 8154, kSentinel}},  // NOLINT
        {{8055, 8155, kSentinel}},
        {{8056, 8184, kSentinel}},
        {{8057, 8185, kSentinel}},
        {{8058, 8170, kSentinel}},  // NOLINT
        {{8059, 8171, kSentinel}},
        {{8060, 8186, kSentinel}},
        {{8061, 8187, kSentinel}},
        {{8112, 8120, kSentinel}},  // NOLINT
        {{8113, 8121, kSentinel}},
        {{8144, 8152, kSentinel}},
        {{8145, 8153, kSentinel}},
        {{8160, 8168, kSentinel}},  // NOLINT
        {{8161, 8169, kSentinel}},
        {{8165, 8172, kSentinel}},
        {{kSentinel}}};                                         // NOLINT
static const uint16_t kEcma262UnCanonicalizeTable0Size = 1005;  // NOLINT
static const int32_t kEcma262UnCanonicalizeTable0[2010] = {
    1073741889, 1,    90,         5,    1073741921, 1,
    122,        5,    181,        9,    1073742016, 13,
    214,        17,   1073742040, 21,  // NOLINT
    222,        25,   1073742048, 13,   246,        17,
    1073742072, 21,   254,        25,   255,        29,
    256,        33,   257,        33,  // NOLINT
    258,        37,   259,        37,   260,        41,
    261,        41,   262,        45,   263,        45,
    264,        49,   265,        49,  // NOLINT
    266,        53,   267,        53,   268,        57,
    269,        57,   270,        61,   271,        61,
    272,        65,   273,        65,  // NOLINT
    274,        69,   275,        69,   276,        73,
    277,        73,   278,        77,   279,        77,
    280,        81,   281,        81,  // NOLINT
    282,        85,   283,        85,   284,        89,
    285,        89,   286,        93,   287,        93,
    288,        97,   289,        97,  // NOLINT
    290,        101,  291,        101,  292,        105,
    293,        105,  294,        109,  295,        109,
    296,        113,  297,        113,  // NOLINT
    298,        117,  299,        117,  300,        121,
    301,        121,  302,        125,  303,        125,
    306,        129,  307,        129,  // NOLINT
    308,        133,  309,        133,  310,        137,
    311,        137,  313,        141,  314,        141,
    315,        145,  316,        145,  // NOLINT
    317,        149,  318,        149,  319,        153,
    320,        153,  321,        157,  322,        157,
    323,        161,  324,        161,  // NOLINT
    325,        165,  326,        165,  327,        169,
    328,        169,  330,        173,  331,        173,
    332,        177,  333,        177,  // NOLINT
    334,        181,  335,        181,  336,        185,
    337,        185,  338,        189,  339,        189,
    340,        193,  341,        193,  // NOLINT
    342,        197,  343,        197,  344,        201,
    345,        201,  346,        205,  347,        205,
    348,        209,  349,        209,  // NOLINT
    350,        213,  351,        213,  352,        217,
    353,        217,  354,        221,  355,        221,
    356,        225,  357,        225,  // NOLINT
    358,        229,  359,        229,  360,        233,
    361,        233,  362,        237,  363,        237,
    364,        241,  365,        241,  // NOLINT
    366,        245,  367,        245,  368,        249,
    369,        249,  370,        253,  371,        253,
    372,        257,  373,        257,  // NOLINT
    374,        261,  375,        261,  376,        29,
    377,        265,  378,        265,  379,        269,
    380,        269,  381,        273,  // NOLINT
    382,        273,  384,        277,  385,        281,
    386,        285,  387,        285,  388,        289,
    389,        289,  390,        293,  // NOLINT
    391,        297,  392,        297,  1073742217, 301,
    394,        305,  395,        309,  396,        309,
    398,        313,  399,        317,  // NOLINT
    400,        321,  401,        325,  402,        325,
    403,        329,  404,        333,  405,        337,
    406,        341,  407,        345,  // NOLINT
    408,        349,  409,        349,  410,        353,
    412,        357,  413,        361,  414,        365,
    415,        369,  416,        373,  // NOLINT
    417,        373,  418,        377,  419,        377,
    420,        381,  421,        381,  422,        385,
    423,        389,  424,        389,  // NOLINT
    425,        393,  428,        397,  429,        397,
    430,        401,  431,        405,  432,        405,
    1073742257, 409,  434,        413,  // NOLINT
    435,        417,  436,        417,  437,        421,
    438,        421,  439,        425,  440,        429,
    441,        429,  444,        433,  // NOLINT
    445,        433,  447,        437,  452,        441,
    453,        441,  454,        441,  455,        445,
    456,        445,  457,        445,  // NOLINT
    458,        449,  459,        449,  460,        449,
    461,        453,  462,        453,  463,        457,
    464,        457,  465,        461,  // NOLINT
    466,        461,  467,        465,  468,        465,
    469,        469,  470,        469,  471,        473,
    472,        473,  473,        477,  // NOLINT
    474,        477,  475,        481,  476,        481,
    477,        313,  478,        485,  479,        485,
    480,        489,  481,        489,  // NOLINT
    482,        493,  483,        493,  484,        497,
    485,        497,  486,        501,  487,        501,
    488,        505,  489,        505,  // NOLINT
    490,        509,  491,        509,  492,        513,
    493,        513,  494,        517,  495,        517,
    497,        521,  498,        521,  // NOLINT
    499,        521,  500,        525,  501,        525,
    502,        337,  503,        437,  504,        529,
    505,        529,  506,        533,  // NOLINT
    507,        533,  508,        537,  509,        537,
    510,        541,  511,        541,  512,        545,
    513,        545,  514,        549,  // NOLINT
    515,        549,  516,        553,  517,        553,
    518,        557,  519,        557,  520,        561,
    521,        561,  522,        565,  // NOLINT
    523,        565,  524,        569,  525,        569,
    526,        573,  527,        573,  528,        577,
    529,        577,  530,        581,  // NOLINT
    531,        581,  532,        585,  533,        585,
    534,        589,  535,        589,  536,        593,
    537,        593,  538,        597,  // NOLINT
    539,        597,  540,        601,  541,        601,
    542,        605,  543,        605,  544,        365,
    546,        609,  547,        609,  // NOLINT
    548,        613,  549,        613,  550,        617,
    551,        617,  552,        621,  553,        621,
    554,        625,  555,        625,  // NOLINT
    556,        629,  557,        629,  558,        633,
    559,        633,  560,        637,  561,        637,
    562,        641,  563,        641,  // NOLINT
    570,        645,  571,        649,  572,        649,
    573,        353,  574,        653,  1073742399, 657,
    576,        661,  577,        665,  // NOLINT
    578,        665,  579,        277,  580,        669,
    581,        673,  582,        677,  583,        677,
    584,        681,  585,        681,  // NOLINT
    586,        685,  587,        685,  588,        689,
    589,        689,  590,        693,  591,        693,
    592,        697,  593,        701,  // NOLINT
    594,        705,  595,        281,  596,        293,
    1073742422, 301,  599,        305,  601,        317,
    603,        321,  604,        709,  // NOLINT
    608,        329,  609,        713,  611,        333,
    613,        717,  614,        721,  616,        345,
    617,        341,  619,        725,  // NOLINT
    620,        729,  623,        357,  625,        733,
    626,        361,  629,        369,  637,        737,
    640,        385,  643,        393,  // NOLINT
    647,        741,  648,        401,  649,        669,
    1073742474, 409,  651,        413,  652,        673,
    658,        425,  670,        745,  // NOLINT
    837,        749,  880,        753,  881,        753,
    882,        757,  883,        757,  886,        761,
    887,        761,  1073742715, 765,  // NOLINT
    893,        769,  895,        773,  902,        777,
    1073742728, 781,  906,        785,  908,        789,
    1073742734, 793,  911,        797,  // NOLINT
    913,        801,  914,        805,  1073742739, 809,
    916,        813,  917,        817,  1073742742, 821,
    919,        825,  920,        829,  // NOLINT
    921,        749,  922,        833,  923,        837,
    924,        9,    1073742749, 841,  927,        845,
    928,        849,  929,        853,  // NOLINT
    931,        857,  1073742756, 861,  933,        865,
    934,        869,  1073742759, 873,  939,        877,
    940,        777,  1073742765, 781,  // NOLINT
    943,        785,  945,        801,  946,        805,
    1073742771, 809,  948,        813,  949,        817,
    1073742774, 821,  951,        825,  // NOLINT
    952,        829,  953,        749,  954,        833,
    955,        837,  956,        9,    1073742781, 841,
    959,        845,  960,        849,  // NOLINT
    961,        853,  962,        857,  963,        857,
    1073742788, 861,  965,        865,  966,        869,
    1073742791, 873,  971,        877,  // NOLINT
    972,        789,  1073742797, 793,  974,        797,
    975,        881,  976,        805,  977,        829,
    981,        869,  982,        849,  // NOLINT
    983,        881,  984,        885,  985,        885,
    986,        889,  987,        889,  988,        893,
    989,        893,  990,        897,  // NOLINT
    991,        897,  992,        901,  993,        901,
    994,        905,  995,        905,  996,        909,
    997,        909,  998,        913,  // NOLINT
    999,        913,  1000,       917,  1001,       917,
    1002,       921,  1003,       921,  1004,       925,
    1005,       925,  1006,       929,  // NOLINT
    1007,       929,  1008,       833,  1009,       853,
    1010,       933,  1011,       773,  1013,       817,
    1015,       937,  1016,       937,  // NOLINT
    1017,       933,  1018,       941,  1019,       941,
    1073742845, 765,  1023,       769,  1073742848, 945,
    1039,       949,  1073742864, 953,  // NOLINT
    1071,       957,  1073742896, 953,  1103,       957,
    1073742928, 945,  1119,       949,  1120,       961,
    1121,       961,  1122,       965,  // NOLINT
    1123,       965,  1124,       969,  1125,       969,
    1126,       973,  1127,       973,  1128,       977,
    1129,       977,  1130,       981,  // NOLINT
    1131,       981,  1132,       985,  1133,       985,
    1134,       989,  1135,       989,  1136,       993,
    1137,       993,  1138,       997,  // NOLINT
    1139,       997,  1140,       1001, 1141,       1001,
    1142,       1005, 1143,       1005, 1144,       1009,
    1145,       1009, 1146,       1013,  // NOLINT
    1147,       1013, 1148,       1017, 1149,       1017,
    1150,       1021, 1151,       1021, 1152,       1025,
    1153,       1025, 1162,       1029,  // NOLINT
    1163,       1029, 1164,       1033, 1165,       1033,
    1166,       1037, 1167,       1037, 1168,       1041,
    1169,       1041, 1170,       1045,  // NOLINT
    1171,       1045, 1172,       1049, 1173,       1049,
    1174,       1053, 1175,       1053, 1176,       1057,
    1177,       1057, 1178,       1061,  // NOLINT
    1179,       1061, 1180,       1065, 1181,       1065,
    1182,       1069, 1183,       1069, 1184,       1073,
    1185,       1073, 1186,       1077,  // NOLINT
    1187,       1077, 1188,       1081, 1189,       1081,
    1190,       1085, 1191,       1085, 1192,       1089,
    1193,       1089, 1194,       1093,  // NOLINT
    1195,       1093, 1196,       1097, 1197,       1097,
    1198,       1101, 1199,       1101, 1200,       1105,
    1201,       1105, 1202,       1109,  // NOLINT
    1203,       1109, 1204,       1113, 1205,       1113,
    1206,       1117, 1207,       1117, 1208,       1121,
    1209,       1121, 1210,       1125,  // NOLINT
    1211,       1125, 1212,       1129, 1213,       1129,
    1214,       1133, 1215,       1133, 1216,       1137,
    1217,       1141, 1218,       1141,  // NOLINT
    1219,       1145, 1220,       1145, 1221,       1149,
    1222,       1149, 1223,       1153, 1224,       1153,
    1225,       1157, 1226,       1157,  // NOLINT
    1227,       1161, 1228,       1161, 1229,       1165,
    1230,       1165, 1231,       1137, 1232,       1169,
    1233,       1169, 1234,       1173,  // NOLINT
    1235,       1173, 1236,       1177, 1237,       1177,
    1238,       1181, 1239,       1181, 1240,       1185,
    1241,       1185, 1242,       1189,  // NOLINT
    1243,       1189, 1244,       1193, 1245,       1193,
    1246,       1197, 1247,       1197, 1248,       1201,
    1249,       1201, 1250,       1205,  // NOLINT
    1251,       1205, 1252,       1209, 1253,       1209,
    1254,       1213, 1255,       1213, 1256,       1217,
    1257,       1217, 1258,       1221,  // NOLINT
    1259,       1221, 1260,       1225, 1261,       1225,
    1262,       1229, 1263,       1229, 1264,       1233,
    1265,       1233, 1266,       1237,  // NOLINT
    1267,       1237, 1268,       1241, 1269,       1241,
    1270,       1245, 1271,       1245, 1272,       1249,
    1273,       1249, 1274,       1253,  // NOLINT
    1275,       1253, 1276,       1257, 1277,       1257,
    1278,       1261, 1279,       1261, 1280,       1265,
    1281,       1265, 1282,       1269,  // NOLINT
    1283,       1269, 1284,       1273, 1285,       1273,
    1286,       1277, 1287,       1277, 1288,       1281,
    1289,       1281, 1290,       1285,  // NOLINT
    1291,       1285, 1292,       1289, 1293,       1289,
    1294,       1293, 1295,       1293, 1296,       1297,
    1297,       1297, 1298,       1301,  // NOLINT
    1299,       1301, 1300,       1305, 1301,       1305,
    1302,       1309, 1303,       1309, 1304,       1313,
    1305,       1313, 1306,       1317,  // NOLINT
    1307,       1317, 1308,       1321, 1309,       1321,
    1310,       1325, 1311,       1325, 1312,       1329,
    1313,       1329, 1314,       1333,  // NOLINT
    1315,       1333, 1316,       1337, 1317,       1337,
    1318,       1341, 1319,       1341, 1320,       1345,
    1321,       1345, 1322,       1349,  // NOLINT
    1323,       1349, 1324,       1353, 1325,       1353,
    1326,       1357, 1327,       1357, 1073743153, 1361,
    1366,       1365, 1073743201, 1361,  // NOLINT
    1414,       1365, 1073746080, 1369, 4293,       1373,
    4295,       1377, 4301,       1381, 7545,       1385,
    7549,       1389, 7680,       1393,  // NOLINT
    7681,       1393, 7682,       1397, 7683,       1397,
    7684,       1401, 7685,       1401, 7686,       1405,
    7687,       1405, 7688,       1409,  // NOLINT
    7689,       1409, 7690,       1413, 7691,       1413,
    7692,       1417, 7693,       1417, 7694,       1421,
    7695,       1421, 7696,       1425,  // NOLINT
    7697,       1425, 7698,       1429, 7699,       1429,
    7700,       1433, 7701,       1433, 7702,       1437,
    7703,       1437, 7704,       1441,  // NOLINT
    7705,       1441, 7706,       1445, 7707,       1445,
    7708,       1449, 7709,       1449, 7710,       1453,
    7711,       1453, 7712,       1457,  // NOLINT
    7713,       1457, 7714,       1461, 7715,       1461,
    7716,       1465, 7717,       1465, 7718,       1469,
    7719,       1469, 7720,       1473,  // NOLINT
    7721,       1473, 7722,       1477, 7723,       1477,
    7724,       1481, 7725,       1481, 7726,       1485,
    7727,       1485, 7728,       1489,  // NOLINT
    7729,       1489, 7730,       1493, 7731,       1493,
    7732,       1497, 7733,       1497, 7734,       1501,
    7735,       1501, 7736,       1505,  // NOLINT
    7737,       1505, 7738,       1509, 7739,       1509,
    7740,       1513, 7741,       1513, 7742,       1517,
    7743,       1517, 7744,       1521,  // NOLINT
    7745,       1521, 7746,       1525, 7747,       1525,
    7748,       1529, 7749,       1529, 7750,       1533,
    7751,       1533, 7752,       1537,  // NOLINT
    7753,       1537, 7754,       1541, 7755,       1541,
    7756,       1545, 7757,       1545, 7758,       1549,
    7759,       1549, 7760,       1553,  // NOLINT
    7761,       1553, 7762,       1557, 7763,       1557,
    7764,       1561, 7765,       1561, 7766,       1565,
    7767,       1565, 7768,       1569,  // NOLINT
    7769,       1569, 7770,       1573, 7771,       1573,
    7772,       1577, 7773,       1577, 7774,       1581,
    7775,       1581, 7776,       1585,  // NOLINT
    7777,       1585, 7778,       1589, 7779,       1589,
    7780,       1593, 7781,       1593, 7782,       1597,
    7783,       1597, 7784,       1601,  // NOLINT
    7785,       1601, 7786,       1605, 7787,       1605,
    7788,       1609, 7789,       1609, 7790,       1613,
    7791,       1613, 7792,       1617,  // NOLINT
    7793,       1617, 7794,       1621, 7795,       1621,
    7796,       1625, 7797,       1625, 7798,       1629,
    7799,       1629, 7800,       1633,  // NOLINT
    7801,       1633, 7802,       1637, 7803,       1637,
    7804,       1641, 7805,       1641, 7806,       1645,
    7807,       1645, 7808,       1649,  // NOLINT
    7809,       1649, 7810,       1653, 7811,       1653,
    7812,       1657, 7813,       1657, 7814,       1661,
    7815,       1661, 7816,       1665,  // NOLINT
    7817,       1665, 7818,       1669, 7819,       1669,
    7820,       1673, 7821,       1673, 7822,       1677,
    7823,       1677, 7824,       1681,  // NOLINT
    7825,       1681, 7826,       1685, 7827,       1685,
    7828,       1689, 7829,       1689, 7835,       1585,
    7840,       1693, 7841,       1693,  // NOLINT
    7842,       1697, 7843,       1697, 7844,       1701,
    7845,       1701, 7846,       1705, 7847,       1705,
    7848,       1709, 7849,       1709,  // NOLINT
    7850,       1713, 7851,       1713, 7852,       1717,
    7853,       1717, 7854,       1721, 7855,       1721,
    7856,       1725, 7857,       1725,  // NOLINT
    7858,       1729, 7859,       1729, 7860,       1733,
    7861,       1733, 7862,       1737, 7863,       1737,
    7864,       1741, 7865,       1741,  // NOLINT
    7866,       1745, 7867,       1745, 7868,       1749,
    7869,       1749, 7870,       1753, 7871,       1753,
    7872,       1757, 7873,       1757,  // NOLINT
    7874,       1761, 7875,       1761, 7876,       1765,
    7877,       1765, 7878,       1769, 7879,       1769,
    7880,       1773, 7881,       1773,  // NOLINT
    7882,       1777, 7883,       1777, 7884,       1781,
    7885,       1781, 7886,       1785, 7887,       1785,
    7888,       1789, 7889,       1789,  // NOLINT
    7890,       1793, 7891,       1793, 7892,       1797,
    7893,       1797, 7894,       1801, 7895,       1801,
    7896,       1805, 7897,       1805,  // NOLINT
    7898,       1809, 7899,       1809, 7900,       1813,
    7901,       1813, 7902,       1817, 7903,       1817,
    7904,       1821, 7905,       1821,  // NOLINT
    7906,       1825, 7907,       1825, 7908,       1829,
    7909,       1829, 7910,       1833, 7911,       1833,
    7912,       1837, 7913,       1837,  // NOLINT
    7914,       1841, 7915,       1841, 7916,       1845,
    7917,       1845, 7918,       1849, 7919,       1849,
    7920,       1853, 7921,       1853,  // NOLINT
    7922,       1857, 7923,       1857, 7924,       1861,
    7925,       1861, 7926,       1865, 7927,       1865,
    7928,       1869, 7929,       1869,  // NOLINT
    7930,       1873, 7931,       1873, 7932,       1877,
    7933,       1877, 7934,       1881, 7935,       1881,
    1073749760, 1885, 7943,       1889,  // NOLINT
    1073749768, 1885, 7951,       1889, 1073749776, 1893,
    7957,       1897, 1073749784, 1893, 7965,       1897,
    1073749792, 1901, 7975,       1905,  // NOLINT
    1073749800, 1901, 7983,       1905, 1073749808, 1909,
    7991,       1913, 1073749816, 1909, 7999,       1913,
    1073749824, 1917, 8005,       1921,  // NOLINT
    1073749832, 1917, 8013,       1921, 8017,       1925,
    8019,       1929, 8021,       1933, 8023,       1937,
    8025,       1925, 8027,       1929,  // NOLINT
    8029,       1933, 8031,       1937, 1073749856, 1941,
    8039,       1945, 1073749864, 1941, 8047,       1945,
    1073749872, 1949, 8049,       1953,  // NOLINT
    1073749874, 1957, 8053,       1961, 1073749878, 1965,
    8055,       1969, 1073749880, 1973, 8057,       1977,
    1073749882, 1981, 8059,       1985,  // NOLINT
    1073749884, 1989, 8061,       1993, 1073749936, 1997,
    8113,       2001, 1073749944, 1997, 8121,       2001,
    1073749946, 1949, 8123,       1953,  // NOLINT
    8126,       749,  1073749960, 1957, 8139,       1961,
    1073749968, 2005, 8145,       2009, 1073749976, 2005,
    8153,       2009, 1073749978, 1965,  // NOLINT
    8155,       1969, 1073749984, 2013, 8161,       2017,
    8165,       2021, 1073749992, 2013, 8169,       2017,
    1073749994, 1981, 8171,       1985,  // NOLINT
    8172,       2021, 1073750008, 1973, 8185,       1977,
    1073750010, 1989, 8187,       1993};                              // NOLINT
static const uint16_t kEcma262UnCanonicalizeMultiStrings0Size = 507;  // NOLINT
static const MultiCharacterSpecialCase<2> kEcma262UnCanonicalizeMultiStrings1[83] = {  // NOLINT
  {{8498, 8526}}, {{8544, 8560}}, {{8559, 8575}}, {{8579, 8580}},  // NOLINT
  {{9398, 9424}}, {{9423, 9449}}, {{11264, 11312}}, {{11310, 11358}},  // NOLINT
  {{11360, 11361}}, {{619, 11362}}, {{7549, 11363}}, {{637, 11364}},  // NOLINT
  {{570, 11365}}, {{574, 11366}}, {{11367, 11368}}, {{11369, 11370}},  // NOLINT
  {{11371, 11372}}, {{593, 11373}}, {{625, 11374}}, {{592, 11375}},  // NOLINT
  {{594, 11376}}, {{11378, 11379}}, {{11381, 11382}}, {{575, 11390}},  // NOLINT
  {{576, 11391}}, {{11392, 11393}}, {{11394, 11395}}, {{11396, 11397}},  // NOLINT
  {{11398, 11399}}, {{11400, 11401}}, {{11402, 11403}}, {{11404, 11405}},  // NOLINT
  {{11406, 11407}}, {{11408, 11409}}, {{11410, 11411}}, {{11412, 11413}},  // NOLINT
  {{11414, 11415}}, {{11416, 11417}}, {{11418, 11419}}, {{11420, 11421}},  // NOLINT
  {{11422, 11423}}, {{11424, 11425}}, {{11426, 11427}}, {{11428, 11429}},  // NOLINT
  {{11430, 11431}}, {{11432, 11433}}, {{11434, 11435}}, {{11436, 11437}},  // NOLINT
  {{11438, 11439}}, {{11440, 11441}}, {{11442, 11443}}, {{11444, 11445}},  // NOLINT
  {{11446, 11447}}, {{11448, 11449}}, {{11450, 11451}}, {{11452, 11453}},  // NOLINT
  {{11454, 11455}}, {{11456, 11457}}, {{11458, 11459}}, {{11460, 11461}},  // NOLINT
  {{11462, 11463}}, {{11464, 11465}}, {{11466, 11467}}, {{11468, 11469}},  // NOLINT
  {{11470, 11471}}, {{11472, 11473}}, {{11474, 11475}}, {{11476, 11477}},  // NOLINT
  {{11478, 11479}}, {{11480, 11481}}, {{11482, 11483}}, {{11484, 11485}},  // NOLINT
  {{11486, 11487}}, {{11488, 11489}}, {{11490, 11491}}, {{11499, 11500}},  // NOLINT
  {{11501, 11502}}, {{11506, 11507}}, {{4256, 11520}}, {{4293, 11557}},  // NOLINT
  {{4295, 11559}}, {{4301, 11565}}, {{kSentinel}} }; // NOLINT
static const uint16_t kEcma262UnCanonicalizeTable1Size = 149;  // NOLINT
static const int32_t kEcma262UnCanonicalizeTable1[298] = {
  306, 1, 334, 1, 1073742176, 5, 367, 9, 1073742192, 5, 383, 9, 387, 13, 388, 13,  // NOLINT
  1073743030, 17, 1231, 21, 1073743056, 17, 1257, 21, 1073744896, 25, 3118, 29, 1073744944, 25, 3166, 29,  // NOLINT
  3168, 33, 3169, 33, 3170, 37, 3171, 41, 3172, 45, 3173, 49, 3174, 53, 3175, 57,  // NOLINT
  3176, 57, 3177, 61, 3178, 61, 3179, 65, 3180, 65, 3181, 69, 3182, 73, 3183, 77,  // NOLINT
  3184, 81, 3186, 85, 3187, 85, 3189, 89, 3190, 89, 1073745022, 93, 3199, 97, 3200, 101,  // NOLINT
  3201, 101, 3202, 105, 3203, 105, 3204, 109, 3205, 109, 3206, 113, 3207, 113, 3208, 117,  // NOLINT
  3209, 117, 3210, 121, 3211, 121, 3212, 125, 3213, 125, 3214, 129, 3215, 129, 3216, 133,  // NOLINT
  3217, 133, 3218, 137, 3219, 137, 3220, 141, 3221, 141, 3222, 145, 3223, 145, 3224, 149,  // NOLINT
  3225, 149, 3226, 153, 3227, 153, 3228, 157, 3229, 157, 3230, 161, 3231, 161, 3232, 165,  // NOLINT
  3233, 165, 3234, 169, 3235, 169, 3236, 173, 3237, 173, 3238, 177, 3239, 177, 3240, 181,  // NOLINT
  3241, 181, 3242, 185, 3243, 185, 3244, 189, 3245, 189, 3246, 193, 3247, 193, 3248, 197,  // NOLINT
  3249, 197, 3250, 201, 3251, 201, 3252, 205, 3253, 205, 3254, 209, 3255, 209, 3256, 213,  // NOLINT
  3257, 213, 3258, 217, 3259, 217, 3260, 221, 3261, 221, 3262, 225, 3263, 225, 3264, 229,  // NOLINT
  3265, 229, 3266, 233, 3267, 233, 3268, 237, 3269, 237, 3270, 241, 3271, 241, 3272, 245,  // NOLINT
  3273, 245, 3274, 249, 3275, 249, 3276, 253, 3277, 253, 3278, 257, 3279, 257, 3280, 261,  // NOLINT
  3281, 261, 3282, 265, 3283, 265, 3284, 269, 3285, 269, 3286, 273, 3287, 273, 3288, 277,  // NOLINT
  3289, 277, 3290, 281, 3291, 281, 3292, 285, 3293, 285, 3294, 289, 3295, 289, 3296, 293,  // NOLINT
  3297, 293, 3298, 297, 3299, 297, 3307, 301, 3308, 301, 3309, 305, 3310, 305, 3314, 309,  // NOLINT
  3315, 309, 1073745152, 313, 3365, 317, 3367, 321, 3373, 325 };  // NOLINT
static const uint16_t kEcma262UnCanonicalizeMultiStrings1Size = 83;  // NOLINT
static const MultiCharacterSpecialCase<2>
    kEcma262UnCanonicalizeMultiStrings5[104] = {  // NOLINT
        {{42560, 42561}},
        {{42562, 42563}},
        {{42564, 42565}},
        {{42566, 42567}},  // NOLINT
        {{42568, 42569}},
        {{42570, 42571}},
        {{42572, 42573}},
        {{42574, 42575}},  // NOLINT
        {{42576, 42577}},
        {{42578, 42579}},
        {{42580, 42581}},
        {{42582, 42583}},  // NOLINT
        {{42584, 42585}},
        {{42586, 42587}},
        {{42588, 42589}},
        {{42590, 42591}},  // NOLINT
        {{42592, 42593}},
        {{42594, 42595}},
        {{42596, 42597}},
        {{42598, 42599}},  // NOLINT
        {{42600, 42601}},
        {{42602, 42603}},
        {{42604, 42605}},
        {{42624, 42625}},  // NOLINT
        {{42626, 42627}},
        {{42628, 42629}},
        {{42630, 42631}},
        {{42632, 42633}},  // NOLINT
        {{42634, 42635}},
        {{42636, 42637}},
        {{42638, 42639}},
        {{42640, 42641}},  // NOLINT
        {{42642, 42643}},
        {{42644, 42645}},
        {{42646, 42647}},
        {{42648, 42649}},  // NOLINT
        {{42650, 42651}},
        {{42786, 42787}},
        {{42788, 42789}},
        {{42790, 42791}},  // NOLINT
        {{42792, 42793}},
        {{42794, 42795}},
        {{42796, 42797}},
        {{42798, 42799}},  // NOLINT
        {{42802, 42803}},
        {{42804, 42805}},
        {{42806, 42807}},
        {{42808, 42809}},  // NOLINT
        {{42810, 42811}},
        {{42812, 42813}},
        {{42814, 42815}},
        {{42816, 42817}},  // NOLINT
        {{42818, 42819}},
        {{42820, 42821}},
        {{42822, 42823}},
        {{42824, 42825}},  // NOLINT
        {{42826, 42827}},
        {{42828, 42829}},
        {{42830, 42831}},
        {{42832, 42833}},  // NOLINT
        {{42834, 42835}},
        {{42836, 42837}},
        {{42838, 42839}},
        {{42840, 42841}},  // NOLINT
        {{42842, 42843}},
        {{42844, 42845}},
        {{42846, 42847}},
        {{42848, 42849}},  // NOLINT
        {{42850, 42851}},
        {{42852, 42853}},
        {{42854, 42855}},
        {{42856, 42857}},  // NOLINT
        {{42858, 42859}},
        {{42860, 42861}},
        {{42862, 42863}},
        {{42873, 42874}},  // NOLINT
        {{42875, 42876}},
        {{7545, 42877}},
        {{42878, 42879}},
        {{42880, 42881}},  // NOLINT
        {{42882, 42883}},
        {{42884, 42885}},
        {{42886, 42887}},
        {{42891, 42892}},  // NOLINT
        {{613, 42893}},
        {{42896, 42897}},
        {{42898, 42899}},
        {{42902, 42903}},  // NOLINT
        {{42904, 42905}},
        {{42906, 42907}},
        {{42908, 42909}},
        {{42910, 42911}},  // NOLINT
        {{42912, 42913}},
        {{42914, 42915}},
        {{42916, 42917}},
        {{42918, 42919}},  // NOLINT
        {{42920, 42921}},
        {{614, 42922}},
        {{604, 42923}},
        {{609, 42924}},  // NOLINT
        {{620, 42925}},
        {{670, 42928}},
        {{647, 42929}},
        {{kSentinel}}};                                        // NOLINT
static const uint16_t kEcma262UnCanonicalizeTable5Size = 198;  // NOLINT
static const int32_t kEcma262UnCanonicalizeTable5
    [396] = {1600, 1,   1601, 1,   1602, 5,   1603, 5,
             1604, 9,   1605, 9,   1606, 13,  1607, 13,  // NOLINT
             1608, 17,  1609, 17,  1610, 21,  1611, 21,
             1612, 25,  1613, 25,  1614, 29,  1615, 29,  // NOLINT
             1616, 33,  1617, 33,  1618, 37,  1619, 37,
             1620, 41,  1621, 41,  1622, 45,  1623, 45,  // NOLINT
             1624, 49,  1625, 49,  1626, 53,  1627, 53,
             1628, 57,  1629, 57,  1630, 61,  1631, 61,  // NOLINT
             1632, 65,  1633, 65,  1634, 69,  1635, 69,
             1636, 73,  1637, 73,  1638, 77,  1639, 77,  // NOLINT
             1640, 81,  1641, 81,  1642, 85,  1643, 85,
             1644, 89,  1645, 89,  1664, 93,  1665, 93,  // NOLINT
             1666, 97,  1667, 97,  1668, 101, 1669, 101,
             1670, 105, 1671, 105, 1672, 109, 1673, 109,  // NOLINT
             1674, 113, 1675, 113, 1676, 117, 1677, 117,
             1678, 121, 1679, 121, 1680, 125, 1681, 125,  // NOLINT
             1682, 129, 1683, 129, 1684, 133, 1685, 133,
             1686, 137, 1687, 137, 1688, 141, 1689, 141,  // NOLINT
             1690, 145, 1691, 145, 1826, 149, 1827, 149,
             1828, 153, 1829, 153, 1830, 157, 1831, 157,  // NOLINT
             1832, 161, 1833, 161, 1834, 165, 1835, 165,
             1836, 169, 1837, 169, 1838, 173, 1839, 173,  // NOLINT
             1842, 177, 1843, 177, 1844, 181, 1845, 181,
             1846, 185, 1847, 185, 1848, 189, 1849, 189,  // NOLINT
             1850, 193, 1851, 193, 1852, 197, 1853, 197,
             1854, 201, 1855, 201, 1856, 205, 1857, 205,  // NOLINT
             1858, 209, 1859, 209, 1860, 213, 1861, 213,
             1862, 217, 1863, 217, 1864, 221, 1865, 221,  // NOLINT
             1866, 225, 1867, 225, 1868, 229, 1869, 229,
             1870, 233, 1871, 233, 1872, 237, 1873, 237,  // NOLINT
             1874, 241, 1875, 241, 1876, 245, 1877, 245,
             1878, 249, 1879, 249, 1880, 253, 1881, 253,  // NOLINT
             1882, 257, 1883, 257, 1884, 261, 1885, 261,
             1886, 265, 1887, 265, 1888, 269, 1889, 269,  // NOLINT
             1890, 273, 1891, 273, 1892, 277, 1893, 277,
             1894, 281, 1895, 281, 1896, 285, 1897, 285,  // NOLINT
             1898, 289, 1899, 289, 1900, 293, 1901, 293,
             1902, 297, 1903, 297, 1913, 301, 1914, 301,  // NOLINT
             1915, 305, 1916, 305, 1917, 309, 1918, 313,
             1919, 313, 1920, 317, 1921, 317, 1922, 321,  // NOLINT
             1923, 321, 1924, 325, 1925, 325, 1926, 329,
             1927, 329, 1931, 333, 1932, 333, 1933, 337,  // NOLINT
             1936, 341, 1937, 341, 1938, 345, 1939, 345,
             1942, 349, 1943, 349, 1944, 353, 1945, 353,  // NOLINT
             1946, 357, 1947, 357, 1948, 361, 1949, 361,
             1950, 365, 1951, 365, 1952, 369, 1953, 369,  // NOLINT
             1954, 373, 1955, 373, 1956, 377, 1957, 377,
             1958, 381, 1959, 381, 1960, 385, 1961, 385,  // NOLINT
             1962, 389, 1963, 393, 1964, 397, 1965, 401,
             1968, 405, 1969, 409};                                   // NOLINT
static const uint16_t kEcma262UnCanonicalizeMultiStrings5Size = 104;  // NOLINT
static const MultiCharacterSpecialCase<2> kEcma262UnCanonicalizeMultiStrings7[3] = {  // NOLINT
  {{65313, 65345}}, {{65338, 65370}}, {{kSentinel}} }; // NOLINT
static const uint16_t kEcma262UnCanonicalizeTable7Size = 4;  // NOLINT
static const int32_t kEcma262UnCanonicalizeTable7[8] = {
  1073749793, 1, 7994, 5, 1073749825, 1, 8026, 5 };  // NOLINT
static const uint16_t kEcma262UnCanonicalizeMultiStrings7Size = 3;  // NOLINT
int Ecma262UnCanonicalize::Convert(uchar c,
                      uchar n,
                      uchar* result,
                      bool* allow_caching_ptr) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupMapping<true>(kEcma262UnCanonicalizeTable0,
                                           kEcma262UnCanonicalizeTable0Size,
                                           kEcma262UnCanonicalizeMultiStrings0,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 1: return LookupMapping<true>(kEcma262UnCanonicalizeTable1,
                                           kEcma262UnCanonicalizeTable1Size,
                                           kEcma262UnCanonicalizeMultiStrings1,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 5: return LookupMapping<true>(kEcma262UnCanonicalizeTable5,
                                           kEcma262UnCanonicalizeTable5Size,
                                           kEcma262UnCanonicalizeMultiStrings5,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 7: return LookupMapping<true>(kEcma262UnCanonicalizeTable7,
                                           kEcma262UnCanonicalizeTable7Size,
                                           kEcma262UnCanonicalizeMultiStrings7,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    default: return 0;
  }
}

static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings0[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kCanonicalizationRangeTable0Size = 70;  // NOLINT
static const int32_t kCanonicalizationRangeTable0[140] = {
  1073741889, 100, 90, 0, 1073741921, 100, 122, 0, 1073742016, 88, 214, 0, 1073742040, 24, 222, 0,  // NOLINT
  1073742048, 88, 246, 0, 1073742072, 24, 254, 0, 1073742715, 8, 893, 0, 1073742728, 8, 906, 0,  // NOLINT
  1073742749, 8, 927, 0, 1073742759, 16, 939, 0, 1073742765, 8, 943, 0, 1073742781, 8, 959, 0,  // NOLINT
  1073742791, 16, 971, 0, 1073742845, 8, 1023, 0, 1073742848, 60, 1039, 0, 1073742864, 124, 1071, 0,  // NOLINT
  1073742896, 124, 1103, 0, 1073742928, 60, 1119, 0, 1073743153, 148, 1366, 0, 1073743201, 148, 1414, 0,  // NOLINT
  1073746080, 148, 4293, 0, 1073749760, 28, 7943, 0, 1073749768, 28, 7951, 0, 1073749776, 20, 7957, 0,  // NOLINT
  1073749784, 20, 7965, 0, 1073749792, 28, 7975, 0, 1073749800, 28, 7983, 0, 1073749808, 28, 7991, 0,  // NOLINT
  1073749816, 28, 7999, 0, 1073749824, 20, 8005, 0, 1073749832, 20, 8013, 0, 1073749856, 28, 8039, 0,  // NOLINT
  1073749864, 28, 8047, 0, 1073749874, 12, 8053, 0, 1073749960, 12, 8139, 0 };  // NOLINT
static const uint16_t kCanonicalizationRangeMultiStrings0Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings1[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kCanonicalizationRangeTable1Size = 14;  // NOLINT
static const int32_t kCanonicalizationRangeTable1[28] = {
  1073742176, 60, 367, 0, 1073742192, 60, 383, 0, 1073743030, 100, 1231, 0, 1073743056, 100, 1257, 0,  // NOLINT
  1073744896, 184, 3118, 0, 1073744944, 184, 3166, 0, 1073745152, 148, 3365, 0 };  // NOLINT
static const uint16_t kCanonicalizationRangeMultiStrings1Size = 1;  // NOLINT
static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings7[1] = {  // NOLINT
  {{kSentinel}} }; // NOLINT
static const uint16_t kCanonicalizationRangeTable7Size = 4;  // NOLINT
static const int32_t kCanonicalizationRangeTable7[8] = {
  1073749793, 100, 7994, 0, 1073749825, 100, 8026, 0 };  // NOLINT
static const uint16_t kCanonicalizationRangeMultiStrings7Size = 1;  // NOLINT
int CanonicalizationRange::Convert(uchar c,
                      uchar n,
                      uchar* result,
                      bool* allow_caching_ptr) {
  int chunk_index = c >> 13;
  switch (chunk_index) {
    case 0: return LookupMapping<false>(kCanonicalizationRangeTable0,
                                           kCanonicalizationRangeTable0Size,
                                           kCanonicalizationRangeMultiStrings0,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 1: return LookupMapping<false>(kCanonicalizationRangeTable1,
                                           kCanonicalizationRangeTable1Size,
                                           kCanonicalizationRangeMultiStrings1,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    case 7: return LookupMapping<false>(kCanonicalizationRangeTable7,
                                           kCanonicalizationRangeTable7Size,
                                           kCanonicalizationRangeMultiStrings7,
                                           c,
                                           n,
                                           result,
                                           allow_caching_ptr);
    default: return 0;
  }
}


const uchar UnicodeData::kMaxCodePoint = 65533;

int UnicodeData::GetByteCount() {
  return kUppercaseTable0Size * sizeof(int32_t)         // NOLINT
         + kUppercaseTable1Size * sizeof(int32_t)       // NOLINT
         + kUppercaseTable5Size * sizeof(int32_t)       // NOLINT
         + kUppercaseTable7Size * sizeof(int32_t)       // NOLINT
         + kLowercaseTable0Size * sizeof(int32_t)       // NOLINT
         + kLowercaseTable1Size * sizeof(int32_t)       // NOLINT
         + kLowercaseTable5Size * sizeof(int32_t)       // NOLINT
         + kLowercaseTable7Size * sizeof(int32_t)       // NOLINT
         + kLetterTable0Size * sizeof(int32_t)          // NOLINT
         + kLetterTable1Size * sizeof(int32_t)          // NOLINT
         + kLetterTable2Size * sizeof(int32_t)          // NOLINT
         + kLetterTable3Size * sizeof(int32_t)          // NOLINT
         + kLetterTable4Size * sizeof(int32_t)          // NOLINT
         + kLetterTable5Size * sizeof(int32_t)          // NOLINT
         + kLetterTable6Size * sizeof(int32_t)          // NOLINT
         + kLetterTable7Size * sizeof(int32_t)          // NOLINT
         + kID_StartTable0Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable1Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable2Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable3Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable4Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable5Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable6Size * sizeof(int32_t)        // NOLINT
         + kID_StartTable7Size * sizeof(int32_t)        // NOLINT
         + kID_ContinueTable0Size * sizeof(int32_t)     // NOLINT
         + kID_ContinueTable1Size * sizeof(int32_t)     // NOLINT
         + kID_ContinueTable5Size * sizeof(int32_t)     // NOLINT
         + kID_ContinueTable7Size * sizeof(int32_t)     // NOLINT
         + kWhiteSpaceTable0Size * sizeof(int32_t)      // NOLINT
         + kWhiteSpaceTable1Size * sizeof(int32_t)      // NOLINT
         + kWhiteSpaceTable7Size * sizeof(int32_t)      // NOLINT
         + kLineTerminatorTable0Size * sizeof(int32_t)  // NOLINT
         + kLineTerminatorTable1Size * sizeof(int32_t)  // NOLINT
         +
         kToLowercaseMultiStrings0Size *
             sizeof(MultiCharacterSpecialCase<2>)  // NOLINT
         +
         kToLowercaseMultiStrings1Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kToLowercaseMultiStrings5Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kToLowercaseMultiStrings7Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kToUppercaseMultiStrings0Size *
             sizeof(MultiCharacterSpecialCase<3>)  // NOLINT
         +
         kToUppercaseMultiStrings1Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kToUppercaseMultiStrings5Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kToUppercaseMultiStrings7Size *
             sizeof(MultiCharacterSpecialCase<3>)  // NOLINT
         +
         kEcma262CanonicalizeMultiStrings0Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kEcma262CanonicalizeMultiStrings1Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kEcma262CanonicalizeMultiStrings5Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kEcma262CanonicalizeMultiStrings7Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kEcma262UnCanonicalizeMultiStrings0Size *
             sizeof(MultiCharacterSpecialCase<4>)  // NOLINT
         +
         kEcma262UnCanonicalizeMultiStrings1Size *
             sizeof(MultiCharacterSpecialCase<2>)  // NOLINT
         +
         kEcma262UnCanonicalizeMultiStrings5Size *
             sizeof(MultiCharacterSpecialCase<2>)  // NOLINT
         +
         kEcma262UnCanonicalizeMultiStrings7Size *
             sizeof(MultiCharacterSpecialCase<2>)  // NOLINT
         +
         kCanonicalizationRangeMultiStrings0Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kCanonicalizationRangeMultiStrings1Size *
             sizeof(MultiCharacterSpecialCase<1>)  // NOLINT
         +
         kCanonicalizationRangeMultiStrings7Size *
             sizeof(MultiCharacterSpecialCase<1>);  // NOLINT
}

}  // namespace unibrow
