Repository: xroche/httrack (2026-06-28T13:07:16Z)

Issue:
HTML entity decoder is stuck on the HTML 4.0 set (252 names)
`htsentities.h` is generated from the 1998 HTML 4.0 spec, so the decoder knows only 252 named entities and silently leaves every HTML5 name (`&hellip;`, `&mdash;`, the math and extended-Latin blocks) verbatim. The generator `htsentities.sh` also points at a dead w3.org URL and keys the switch on a 32-bit LCG hash with no collision guarantee.

Modernize against the WHATWG named character references (`entities.json`): regenerate the table, move the dispatch hash to 64-bit FNV-1a, and have the generator prove there is no `(hash, len)` collision, so the hash-only lookup stays correct without a runtime name compare. Multi-codepoint references (~93 obscure math entities) don't fit the single-codepoint return and would be skipped, left verbatim as today.

While here, fix the dead `ftp://ftp.unicode.org` URLs in `htsbasiccharsets.sh` (Unicode dropped FTP).


Discussion:

Patch:
diff --git a/src/htsbasiccharsets.sh b/src/htsbasiccharsets.sh
index 163f041a1..74c4ee4f3 100755
--- a/src/htsbasiccharsets.sh
+++ b/src/htsbasiccharsets.sh
@@ -3,12 +3,12 @@
 
 # Change this to download files
 if false; then
-    echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-*.TXT" | lftp
-    echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP*.TXT" | lftp
-    echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP*.TXT" | lftp
-    echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP*.TXT" | lftp
-    echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP*.TXT" | lftp
-    echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8*.TXT" | lftp
+    echo "mget https://www.unicode.org/Public/MAPPINGS/ISO8859/8859-*.TXT" | lftp
+    echo "mget https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP*.TXT" | lftp
+    echo "mget https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP*.TXT" | lftp
+    echo "mget https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP*.TXT" | lftp
+    echo "mget https://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP*.TXT" | lftp
+    echo "mget https://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8*.TXT" | lftp
     rm -f CP932.TXT CP936.TXT CP949.TXT CP950.TXT
 fi
 
diff --git a/src/htsencoding.c b/src/htsencoding.c
index fc845f1f4..41e62dfcb 100644
--- a/src/htsencoding.c
+++ b/src/htsencoding.c
@@ -30,12 +30,14 @@ Please visit our Website: http://www.httrack.com
 /* Author: Xavier Roche                                         */
 /* ------------------------------------------------------------ */
 
+#include <stdint.h>
+
 #include "htscharset.h"
 #include "htsencoding.h"
 #include "htssafe.h"
 
-/* static int decode_entity(const unsigned int hash, const size_t len);
-*/
+/* static int decode_entity(const uint64_t hash, const size_t len);
+ */
 #include "htsentities.h"
 
 /* hexadecimal conversion */
@@ -50,30 +52,31 @@ static int get_hex_value(char c) {
     return -1;
 }
 
-/* Numerical Recipes,
-   see <http://en.wikipedia.org/wiki/Linear_congruential_generator> */
-#define HASH_PRIME ( 1664525 )
-#define HASH_CONST ( 1013904223 )
-#define HASH_ADD(HASH, C) do {                  \
-    (HASH) *= HASH_PRIME;                       \
-    (HASH) += HASH_CONST;                       \
-    (HASH) += (C);                              \
-  } while(0)
+/* 64-bit FNV-1a; must match htsentities.sh, which keys the entity table on it.
+ */
+#define HASH_INIT 0xcbf29ce484222325ULL
+#define HASH_PRIME 0x100000001b3ULL
+#define HASH_ADD(HASH, C)                                                      \
+  do {                                                                         \
+    (HASH) ^= (unsigned char) (C);                                             \
+    (HASH) *= HASH_PRIME;                                                      \
+  } while (0)
 
 int hts_unescapeEntitiesWithCharset(const char *src, char *dest, const size_t max, const char *charset) {
   size_t i, j, ampStart, ampStartDest;
   int uc;
   int hex;
-  unsigned int hash;
+  uint64_t hash;
 
   assertf(max != 0);
-  for(i = 0, j = 0, ampStart = (size_t) -1, ampStartDest = 0,
-        uc = -1, hex = 0, hash = 0 ; src[i] != '\0' ; i++) {
+  for (i = 0, j = 0, ampStart = (size_t) -1, ampStartDest = 0, uc = -1, hex = 0,
+      hash = HASH_INIT;
+       src[i] != '\0'; i++) {
     /* start of entity */
     if (src[i] == '&') {
       ampStart = i;
       ampStartDest = j;
-      hash = 0;
+      hash = HASH_INIT;
       uc = -1;
     }
     /* inside a potential entity */
@@ -174,14 +177,11 @@ int hts_unescapeEntitiesWithCharset(const char *src, char *dest, const size_t ma
       }
       /* alphanumerical entity */
       else {
-        /* alphanum and not too far ('&thetasym;' is the longest) */
-        if (i <= ampStart + 10 &&
-            (
-             (src[i] >= '0' && src[i] <= '9')
-             || (src[i] >= 'A' && src[i] <= 'Z')
-             || (src[i] >= 'a' && src[i] <= 'z')
-             )
-            ) {
+        /* alphanum, capped at the longest name
+         * '&CounterClockwiseContourIntegral;' (31) */
+        if (i <= ampStart + 31 && ((src[i] >= '0' && src[i] <= '9') ||
+                                   (src[i] >= 'A' && src[i] <= 'Z') ||
+                                   (src[i] >= 'a' && src[i] <= 'z'))) {
           /* compute hash */
           HASH_ADD(hash, (unsigned char) src[i]);
         } else {
diff --git a/src/htsentities.h b/src/htsentities.h
index 7fb8a5934..499f7bbac 100644
--- a/src/htsentities.h
+++ b/src/htsentities.h
@@ -1,1532 +1,12202 @@
-/*
-  -- htsentities.h --
-  FILE GENERATED BY ./htsentities.sh, DO NOT MODIFY
+/* GENERATED by htsentities.sh from the WHATWG named character references
+   (https://html.spec.whatwg.org/entities.json). DO NOT EDIT.
+   Dispatch keys on a 64-bit FNV-1a hash of the entity name; the generator
+   aborts on any hash collision, so no runtime name compare is needed. */
 
-  We compute the LCG hash
-  (see <http://en.wikipedia.org/wiki/Linear_congruential_generator>)
-  for each entity. We should in theory check using strncmp() that we
-  actually have the correct entity, but this is actually statistically
-  not needed.
+#include <stdint.h>
 
-  We may want to do better, but we expect the hash function to be uniform, and
-  let the compiler be smart enough to optimize the switch (for example by
-  checking in log2() intervals)
-  
-  This code has been generated using the evil ./htsentities.sh script.
-*/
-
-static int decode_entity(const unsigned int hash, const size_t len) {
+static int decode_entity(const uint64_t hash, const size_t len) {
   switch(hash) {
-    /* nbsp 160 no-break space = non-breaking space, */
-  case 3948425267u:
-    if (len == 4 /* && strncmp(ent, "nbsp") == 0 */) {
-      return 160;
+    /* AElig */
+  case 0x18394e1ff5776859ULL:
+    if (len == 5) {
+      return 198;
+    }
+    break;
+    /* AMP */
+  case 0xfa03a519a04ea059ULL:
+    if (len == 3) {
+      return 38;
+    }
+    break;
+    /* Aacute */
+  case 0x2409a9c702169658ULL:
+    if (len == 6) {
+      return 193;
+    }
+    break;
+    /* Abreve */
+  case 0x78d7c9535a197302ULL:
+    if (len == 6) {
+      return 258;
+    }
+    break;
+    /* Acirc */
+  case 0x56bc5044a5cc4f2bULL:
+    if (len == 5) {
+      return 194;
+    }
+    break;
+    /* Acy */
+  case 0xf9c5d019a019884cULL:
+    if (len == 3) {
+      return 1040;
+    }
+    break;
+    /* Afr */
+  case 0xf9b4d919a00b2464ULL:
+    if (len == 3) {
+      return 120068;
+    }
+    break;
+    /* Agrave */
+  case 0x752278feab81816dULL:
+    if (len == 6) {
+      return 192;
+    }
+    break;
+    /* Alpha */
+  case 0x4fda04cbc245e18bULL:
+    if (len == 5) {
+      return 913;
+    }
+    break;
+    /* Amacr */
+  case 0x32167cd28afa9067ULL:
+    if (len == 5) {
+      return 256;
+    }
+    break;
+    /* And */
+  case 0xf999b7199ff422e6ULL:
+    if (len == 3) {
+      return 10835;
+    }
+    break;
+    /* Aogon */
+  case 0xd20842e4903aab13ULL:
+    if (len == 5) {
+      return 260;
+    }
+    break;
+    /* Aopf */
+  case 0x1f61db8ad2c66497ULL:
+    if (len == 4) {
+      return 120120;
+    }
+    break;
+    /* ApplyFunction */
+  case 0x8ca35dcd7fa3cafbULL:
+    if (len == 13) {
+      return 8289;
+    }
+    break;
+    /* Aring */
+  case 0xc8c1a0c1bd9dc5c6ULL:
+    if (len == 5) {
+      return 197;
+    }
+    break;
+    /* Ascr */
+  case 0x114c618b5b9fe568ULL:
+    if (len == 4) {
+      return 119964;
+    }
+    break;
+    /* Assign */
+  case 0xc92c1a54034e21ccULL:
+    if (len == 6) {
+      return 8788;
+    }
+    break;
+    /* Atilde */
+  case 0x3f5a954e8956508aULL:
+    if (len == 6) {
+      return 195;
+    }
+    break;
+    /* Auml */
+  case 0xdb8b598b3cabbc4aULL:
+    if (len == 4) {
+      return 196;
+    }
+    break;
+    /* Backslash */
+  case 0x2e51bac8425c11b7ULL:
+    if (len == 9) {
+      return 8726;
+    }
+    break;
+    /* Barv */
+  case 0xc1a0f3a7a8de4164ULL:
+    if (len == 4) {
+      return 10983;
+    }
+    break;
+    /* Barwed */
+  case 0xfe3cb353a84b12d6ULL:
+    if (len == 6) {
+      return 8966;
+    }
+    break;
+    /* Bcy */
+  case 0x16484719b0f6a811ULL:
+    if (len == 3) {
+      return 1041;
+    }
+    break;
+    /* Because */
+  case 0xa966b5956e468a1bULL:
+    if (len == 7) {
+      return 8757;
+    }
+    break;
+    /* Bernoullis */
+  case 0xd2ae2f19d7112f40ULL:
+    if (len == 10) {
+      return 8492;
+    }
+    break;
+    /* Beta */
+  case 0xa0b562a796b69487ULL:
+    if (len == 4) {
+      return 914;
+    }
+    break;
+    /* Bfr */
+  case 0x163e4e19b0ee5f71ULL:
+    if (len == 3) {
+      return 120069;
+    }
+    break;
+    /* Bopf */
+  case 0xf7b2d9a7c81687e4ULL:
+    if (len == 4) {
+      return 120121;
+    }
+    break;
+    /* Breve */
+  case 0x4feb5e845ad95b55ULL:
+    if (len == 5) {
+      return 728;
+    }
+    break;
+    /* Bscr */
+  case 0x5fd7c3a803221213ULL:
+    if (len == 4) {
+      return 8492;
+    }
+    break;
+    /* Bumpeq */
+  case 0xc372a340673c7953ULL:
+    if (len == 6) {
+      return 8782;
+    }
+    break;
+    /* CHcy */
+  case 0x07216d9c6f0c7baaULL:
+    if (len == 4) {
+      return 1063;
+    }
+    break;
+    /* COPY */
+  case 0x2011c49c7ce10124ULL:
+    if (len == 4) {
+      return 169;
+    }
+    break;
+    /* Cacute */
+  case 0x5f62ead6c2dfa02eULL:
+    if (len == 6) {
+      return 262;
+    }
+    break;
+    /* Cap */
+  case 0x0bec2319aa9da8bbULL:
+    if (len == 3) {
+      return 8914;
+    }
+    break;
+    /* CapitalDifferentialD */
+  case 0x259b2e059cfe5452ULL:
+    if (len == 20) {
+      return 8517;
+    }
+    break;
+    /* Cayleys */
+  case 0x72d086c7441f4827ULL:
+    if (len == 7) {
+      return 8493;
+    }
+    break;
+    /* Ccaron */
+  case 0xfbc31a5af710a9a5ULL:
+    if (len == 6) {
+      return 268;
+    }
+    break;
+    /* Ccedil */
+  case 0x7bbc767e947c3727ULL:
+    if (len == 6) {
+      return 199;
+    }
+    break;
+    /* Ccirc */
+  case 0xa49cc48f5e302fc5ULL:
+    if (len == 5) {
+      return 264;
+    }
+    break;
+    /* Cconint */
+  case 0x6be9c6f80d3187afULL:
+    if (len == 7) {
+      return 8752;
+    }
+    break;
+    /* Cdot */
+  case 0xf8f9de9cf7d5b299ULL:
+    if (len == 4) {
+      return 266;
+    }
+    break;
+    /* Cedilla */
+  case 0x14fd3053685d065dULL:
+    if (len == 7) {
+      return 184;
+    }
+    break;
+    /* CenterDot */
+  case 0x526bfb3a65a4da8bULL:
+    if (len == 9) {
+      return 183;
+    }
+    break;
+    /* Cfr */
+  case 0x0bef2b19aa9fec2aULL:
+    if (len == 3) {
+      return 8493;
+    }
+    break;
+    /* Chi */
+  case 0x0c041619aab22485ULL:
+    if (len == 3) {
+      return 935;
+    }
+    break;
+    /* CircleDot */
+  case 0x9c35f65c65d93bb4ULL:
+    if (len == 9) {
+      return 8857;
+    }
+    break;
+    /* CircleMinus */
+  case 0xf5c0f0dddd1e9163ULL:
+    if (len == 11) {
+      return 8854;
+    }
+    break;
+    /* CirclePlus */
+  case 0xc657d9663aedb929ULL:
+    if (len == 10) {
+      return 8853;
+    }
+    break;
+    /* CircleTimes */
+  case 0x7cb9857a413b6649ULL:
+    if (len == 11) {
+      return 8855;
+    }
+    break;
+    /* ClockwiseContourIntegral */
+  case 0x4ceca49e8cb0a701ULL:
+    if (len == 24) {
+      return 8754;
+    }
+    break;
+    /* CloseCurlyDoubleQuote */
+  case 0x0b6335f2463cae57ULL:
+    if (len == 21) {
+      return 8221;
+    }
+    break;
+    /* CloseCurlyQuote */
+  case 0x90ce96f2eab07a8cULL:
+    if (len == 15) {
+      return 8217;
+    }
+    break;
+    /* Colon */
+  case 0x344eb4f4939cf0fcULL:
+    if (len == 5) {
+      return 8759;
+    }
+    break;
+    /* Colone */
+  case 0x7eae1496d3acd3fbULL:
+    if (len == 6) {
+      return 10868;
+    }
+    break;
+    /* Congruent */
+  case 0x3f9ce4a5b87c9c4aULL:
+    if (len == 9) {
+      return 8801;
+    }
+    break;
+    /* Conint */
+  case 0x01ec91896b92baa4ULL:
+    if (len == 6) {
+      return 8751;
+    }
+    break;
+    /* ContourIntegral */
+  case 0xbcef3cb5d2f74ed1ULL:
+    if (len == 15) {
+      return 8750;
+    }
+    break;
+    /* Copf */
+  case 0x36870b9d1af56ea9ULL:
+    if (len == 4) {
+      return 8450;
+    }
+    break;
+    /* Coproduct */
+  case 0x01a44e62517ef6b6ULL:
+    if (len == 9) {
+      return 8720;
+    }
+    break;
+    /* CounterClockwiseContourIntegral */
+  case 0x1811b86e5419cf3fULL:
+    if (len == 31) {
+      return 8755;
+    }
+    break;
+    /* Cross */
+  case 0x1f152e00912ee85bULL:
+    if (len == 5) {
+      return 10799;
+    }
+    break;
+    /* Cscr */
+  case 0x4496799c92176dc6ULL:
+    if (len == 4) {
+      return 119966;
+    }
+    break;
+    /* Cup */
+  case 0x0bc31b19aa7a960fULL:
+    if (len == 3) {
+      return 8915;
+    }
+    break;
+    /* CupCap */
+  case 0xc9dc0a414ff5303dULL:
+    if (len == 6) {
+      return 8781;
+    }
+    break;
+    /* DD */
+  case 0x08fe3407b5984795ULL:
+    if (len == 2) {
+      return 8517;
+    }
+    break;
+    /* DDotrahd */
+  case 0x901265414c8afab3ULL:
+    if (len == 8) {
+      return 10513;
+    }
+    break;
+    /* DJcy */
+  case 0xd42f6172b4b89343ULL:
+    if (len == 4) {
+      return 1026;
+    }
+    break;
+    /* DScy */
+  case 0xfe4360723c4c9940ULL:
+    if (len == 4) {
+      return 1029;
+    }
+    break;
+    /* DZcy */
+  case 0x4a70d17266f0cfb3ULL:
+    if (len == 4) {
+      return 1039;
+    }
+    break;
+    /* Dagger */
+  case 0x9357e823f15b88bbULL:
+    if (len == 6) {
+      return 8225;
+    }
+    break;
+    /* Darr */
+  case 0xac8973732f3531daULL:
+    if (len == 4) {
+      return 8609;
+    }
+    break;
+    /* Dashv */
+  case 0x6a38f3b93b485c39ULL:
+    if (len == 5) {
+      return 10980;
+    }
+    break;
+    /* Dcaron */
+  case 0x276eaf4593a8149eULL:
+    if (len == 6) {
+      return 270;
+    }
+    break;
+    /* Dcy */
+  case 0xe08f4d19920a686bULL:
+    if (len == 3) {
+      return 1044;
+    }
+    break;
+    /* Del */
+  case 0xe0a34419921b022aULL:
+    if (len == 3) {
+      return 8711;
+    }
+    break;
+    /* Delta */
+  case 0x11c74ddc5e28f321ULL:
+    if (len == 5) {
+      return 916;
+    }
+    break;
+    /* Dfr */
+  case 0xe0a060199218fbe7ULL:
+    if (len == 3) {
+      return 120071;
+    }
+    break;
+    /* DiacriticalAcute */
+  case 0x3da5cc0bd8f135acULL:
+    if (len == 16) {
+      return 180;
+    }
+    break;
+    /* DiacriticalDot */
+  case 0x2fca11ea37b686a7ULL:
+    if (len == 14) {
+      return 729;
+    }
+    break;
+    /* DiacriticalDoubleAcute */
+  case 0x697966d35e56545bULL:
+    if (len == 22) {
+      return 733;
+    }
+    break;
+    /* DiacriticalGrave */
+  case 0xe697b4ef50298271ULL:
+    if (len == 16) {
+      return 96;
+    }
+    break;
+    /* DiacriticalTilde */
+  case 0xa5ac81d49b3b7a76ULL:
+    if (len == 16) {
+      return 732;
+    }
+    break;
+    /* Diamond */
+  case 0x469d5c53c3a49087ULL:
+    if (len == 7) {
+      return 8900;
+    }
+    break;
+    /* DifferentialD */
+  case 0xafd6823df46bd190ULL:
+    if (len == 13) {
+      return 8518;
+    }
+    break;
+    /* Dopf */
+  case 0x032ef973604ac8deULL:
+    if (len == 4) {
+      return 120123;
+    }
+    break;
+    /* Dot */
+  case 0xe0b74819922bb200ULL:
+    if (len == 3) {
+      return 168;
+    }
+    break;
+    /* DotDot */
+  case 0x38048652ea66e057ULL:
+    if (len == 6) {
+      return 8412;
+    }
+    break;
+    /* DotEqual */
+  case 0xfcd861c29dcf7b78ULL:
+    if (len == 8) {
+      return 8784;
+    }
+    break;
+    /* DoubleContourIntegral */
+  case 0x38d735568019cffeULL:
+    if (len == 21) {
+      return 8751;
+    }
+    break;
+    /* DoubleDot */
+  case 0x3b02db5e0cf064ffULL:
+    if (len == 9) {
+      return 168;
+    }
+    break;
+    /* DoubleDownArrow */
+  case 0xfcd66c821474ff95ULL:
+    if (len == 15) {
+      return 8659;
+    }
+    break;
+    /* DoubleLeftArrow */
+  case 0xd2280f2631444542ULL:
+    if (len == 15) {
+      return 8656;
+    }
+    break;
+    /* DoubleLeftRightArrow */
+  case 0xed379a75ef7ba4eaULL:
+    if (len == 20) {
+      return 8660;
+    }
+    break;
+    /* DoubleLeftTee */
+  case 0xc5d69da98539f2a9ULL:
+    if (len == 13) {
+      return 10980;
+    }
+    break;
+    /* DoubleLongLeftArrow */
+  case 0xdab5e8fffc2e1428ULL:
+    if (len == 19) {
+      return 10232;
+    }
+    break;
+    /* DoubleLongLeftRightArrow */
+  case 0xecd240b222683554ULL:
+    if (len == 24) {
+      return 10234;
+    }
+    break;
+    /* DoubleLongRightArrow */
+  case 0x00b22dbb0394e83dULL:
+    if (len == 20) {
+      return 10233;
+    }
+    break;
+    /* DoubleRightArrow */
+  case 0x9b535f4bac8cb587ULL:
+    if (len == 16) {
+      return 8658;
+    }
+    break;
+    /* DoubleRightTee */
+  case 0x124d249f38917d28ULL:
+    if (len == 14) {
+      return 8872;
+    }
+    break;
+    /* DoubleUpArrow */
+  case 0x67ad3d3178b57a76ULL:
+    if (len == 13) {
+      return 8657;
+    }
+    break;
+    /* DoubleUpDownArrow */
+  case 0x10af8b1fbdae0666ULL:
+    if (len == 17) {
+      return 8661;
+    }
+    break;
+    /* DoubleVerticalBar */
+  case 0x2e053385b30ff243ULL:
+    if (len == 17) {
+      return 8741;
+    }
+    break;
+    /* DownArrow */
+  case 0x26d4481d1ebb7cf6ULL:
+    if (len == 9) {
+      return 8595;
+    }
+    break;
+    /* DownArrowBar */
+  case 0x1d700911e309b06fULL:
+    if (len == 12) {
+      return 10515;
+    }
+    break;
+    /* DownArrowUpArrow */
+  case 0x660c8d2a95771820ULL:
+    if (len == 16) {
+      return 8693;
+    }
+    break;
+    /* DownBreve */
+  case 0xfead7089204461c5ULL:
+    if (len == 9) {
+      return 785;
+    }
+    break;
+    /* DownLeftRightVector */
+  case 0xd23f54705228a8c9ULL:
+    if (len == 19) {
+      return 10576;
+    }
+    break;
+    /* DownLeftTeeVector */
+  case 0xd44f1c23bb48b291ULL:
+    if (len == 17) {
+      return 10590;
+    }
+    break;
+    /* DownLeftVector */
+  case 0xdc3caa672ac6218fULL:
+    if (len == 14) {
+      return 8637;
+    }
+    break;
+    /* DownLeftVectorBar */
+  case 0x977d27a9db7d9310ULL:
+    if (len == 17) {
+      return 10582;
+    }
+    break;
+    /* DownRightTeeVector */
+  case 0x855c623a4ac07ce2ULL:
+    if (len == 18) {
+      return 10591;
+    }
+    break;
+    /* DownRightVector */
+  case 0x018b1d823c40a8f2ULL:
+    if (len == 15) {
+      return 8641;
+    }
+    break;
+    /* DownRightVectorBar */
+  case 0xa72ff2c15e781b03ULL:
+    if (len == 18) {
+      return 10583;
+    }
+    break;
+    /* DownTee */
+  case 0x86f46e3bb2ad2a45ULL:
+    if (len == 7) {
+      return 8868;
+    }
+    break;
+    /* DownTeeArrow */
+  case 0xba1fb3380a414a86ULL:
+    if (len == 12) {
+      return 8615;
+    }
+    break;
+    /* Downarrow */
+  case 0x108f60bb94a4d596ULL:
+    if (len == 9) {
+      return 8659;
+    }
+    break;
+    /* Dscr */
+  case 0x10e68b72d7228f51ULL:
+    if (len == 4) {
+      return 119967;
+    }
+    break;
+    /* Dstrok */
+  case 0xcc9161f743672e5cULL:
+    if (len == 6) {
+      return 272;
+    }
+    break;
+    /* ENG */
+  case 0xd96542198e67aff7ULL:
+    if (len == 3) {
+      return 330;
+    }
+    break;
+    /* ETH */
+  case 0xd97a1b198e79c9bcULL:
+    if (len == 3) {
+      return 208;
+    }
+    break;
+    /* Eacute */
+  case 0x293857f837f4d6fcULL:
+    if (len == 6) {
+      return 201;
+    }
+    break;
+    /* Ecaron */
+  case 0x7aceb873f959a987ULL:
+    if (len == 6) {
+      return 282;
+    }
+    break;
+    /* Ecirc */
+  case 0x4e4287c70797d11fULL:
+    if (len == 5) {
+      return 202;
+    }
+    break;
+    /* Ecy */
+  case 0xd8d324198deb8ee0ULL:
+    if (len == 3) {
+      return 1069;
+    }
+    break;
+    /* Edot */
+  case 0x64e8266c2dcbae57ULL:
+    if (len == 4) {
+      return 278;
+    }
+    break;
+    /* Efr */
+  case 0xd8dd1d198df3d780ULL:
+    if (len == 3) {
+      return 120072;
+    }
+    break;
+    /* Egrave */
+  case 0xbda55fd04b75bc41ULL:
+    if (len == 6) {
+      return 200;
+    }
+    break;
+    /* Element */
+  case 0x190747c04bd639f7ULL:
+    if (len == 7) {
+      return 8712;
+    }
+    break;
+    /* Emacr */
+  case 0xd1d2351a8ba4fbd3ULL:
+    if (len == 5) {
+      return 274;
+    }
+    break;
+    /* EmptySmallSquare */
+  case 0x0f15f0a793f57d6eULL:
+    if (len == 16) {
+      return 9723;
+    }
+    break;
+    /* EmptyVerySmallSquare */
+  case 0xf5944636ac261c32ULL:
+    if (len == 20) {
+      return 9643;
+    }
+    break;
+    /* Eogon */
+  case 0x29d0eb2c67647507ULL:
+    if (len == 5) {
+      return 280;
+    }
+    break;
+    /* Eopf */
+  case 0xc33eeb6c62f63cc3ULL:
+    if (len == 4) {
+      return 120124;
+    }
+    break;
+    /* Epsilon */
+  case 0x970db63fbdff8cfdULL:
+    if (len == 7) {
+      return 917;
+    }
+    break;
+    /* Equal */
+  case 0x2a391b3d81594d0fULL:
+    if (len == 5) {
+      return 10869;
+    }
+    break;
+    /* EqualTilde */
+  case 0xd0799ddebecdcf57ULL:
+    if (len == 10) {
+      return 8770;
+    }
+    break;
+    /* Equilibrium */
+  case 0x2f8809ed80bedfb7ULL:
+    if (len == 11) {
+      return 8652;
+    }
+    break;
+    /* Escr */
+  case 0xe6f8916c7780dc84ULL:
+    if (len == 4) {
+      return 8496;
+    }
+    break;
+    /* Esim */
+  case 0xe6d6746c7763c4d7ULL:
+    if (len == 4) {
+      return 10867;
+    }
+    break;
+    /* Eta */
+  case 0xd90d44198e1d3d87ULL:
+    if (len == 3) {
+      return 919;
+    }
+    break;
+    /* Euml */
+  case 0xf58ec96c7efcedfeULL:
+    if (len == 4) {
+      return 203;
+    }
+    break;
+    /* Exists */
+  case 0x582f5ee767500efdULL:
+    if (len == 6) {
+      return 8707;
+    }
+    break;
+    /* ExponentialE */
+  case 0x6964bde464e30f97ULL:
+    if (len == 12) {
+      return 8519;
+    }
+    break;
+    /* Fcy */
+  case 0xf2c8ab199c9d9195ULL:
+    if (len == 3) {
+      return 1060;
+    }
+    break;
+    /* Ffr */
+  case 0xf2d9b2199cac10adULL:
+    if (len == 3) {
+      return 120073;
+    }
+    break;
+    /* FilledSmallSquare */
+  case 0xecddc2fcdbf0d53fULL:
+    if (len == 17) {
+      return 9724;
+    }
+    break;
+    /* FilledVerySmallSquare */
+  case 0xd431c42516c4124bULL:
+    if (len == 21) {
+      return 9642;
+    }
+    break;
+    /* Fopf */
+  case 0x07b109850da3ef90ULL:
+    if (len == 4) {
+      return 120125;
+    }
+    break;
+    /* ForAll */
+  case 0x51327d9e4480ac43ULL:
+    if (len == 6) {
+      return 8704;
+    }
+    break;
+    /* Fouriertrf */
+  case 0x046c2d05614647c9ULL:
+    if (len == 10) {
+      return 8497;
+    }
+    break;
+    /* Fscr */
+  case 0x9f861384d293e54fULL:
+    if (len == 4) {
+      return 8497;
+    }
+    break;
+    /* GJcy */
+  case 0xcaaf3f7d80711154ULL:
+    if (len == 4) {
+      return 1027;
+    }
+    break;
+    /* GT */
+  case 0x09022207b59c11d6ULL:
+    if (len == 2) {
+      return 62;
+    }
+    break;
+    /* Gamma */
+  case 0xe2505e23917f48caULL:
+    if (len == 5) {
+      return 915;
+    }
+    break;
+    /* Gammad */
+  case 0x0dd8a4703b487faaULL:
+    if (len == 6) {
+      return 988;
+    }
+    break;
+    /* Gbreve */
+  case 0x3def9a2add10cf0cULL:
+    if (len == 6) {
+      return 286;
+    }
+    break;
+    /* Gcedil */
+  case 0xc2621ed750bb277bULL:
+    if (len == 6) {
+      return 290;
+    }
+    break;
+    /* Gcirc */
+  case 0x3b7ccc12ab1e3329ULL:
+    if (len == 5) {
+      return 284;
+    }
+    break;
+    /* Gcy */
+  case 0xeaf282199869a352ULL:
+    if (len == 3) {
+      return 1043;
+    }
+    break;
+    /* Gdot */
+  case 0x8a18ce7ded18dfadULL:
+    if (len == 4) {
+      return 288;
+    }
+    break;
+    /* Gfr */
+  case 0xeae16f19985b0fd6ULL:
+    if (len == 3) {
+      return 120074;
+    }
+    break;
+    /* Gg */
+  case 0x09023107b59c2b53ULL:
+    if (len == 2) {
+      return 8921;
+    }
+    break;
+    /* Gopf */
+  case 0xc45acb7e0d6be8e5ULL:
+    if (len == 4) {
+      return 120126;
+    }
+    break;
+    /* GreaterEqual */
+  case 0xa3dd70537b7792f3ULL:
+    if (len == 12) {
+      return 8805;
+    }
+    break;
+    /* GreaterEqualLess */
+  case 0xf2066efc08b70866ULL:
+    if (len == 16) {
+      return 8923;
+    }
+    break;
+    /* GreaterFullEqual */
+  case 0xc5889a1887e94e18ULL:
+    if (len == 16) {
+      return 8807;
+    }
+    break;
+    /* GreaterGreater */
+  case 0x2413f0571e6356e5ULL:
+    if (len == 14) {
+      return 10914;
+    }
+    break;
+    /* GreaterLess */
+  case 0x0fd0afb2c34a778cULL:
+    if (len == 11) {
+      return 8823;
+    }
+    break;
+    /* GreaterSlantEqual */
+  case 0x60ebd069a99841b5ULL:
+    if (len == 17) {
+      return 10878;
+    }
+    break;
+    /* GreaterTilde */
+  case 0x3874578ddfdf3b55ULL:
+    if (len == 12) {
+      return 8819;
+    }
+    break;
+    /* Gscr */
+  case 0x2ce5c97e48ce4842ULL:
+    if (len == 4) {
+      return 119970;
+    }
+    break;
+    /* Gt */
+  case 0x09024207b59c4836ULL:
+    if (len == 2) {
+      return 8811;
+    }
+    break;
+    /* HARDcy */
+  case 0xb780824b09d5171cULL:
+    if (len == 6) {
+      return 1066;
+    }
+    break;
+    /* Hacek */
+  case 0xe09086cf6b0e644bULL:
+    if (len == 5) {
+      return 711;
+    }
+    break;
+    /* Hat */
+  case 0x49613819cda8aa22ULL:
+    if (len == 3) {
+      return 94;
+    }
+    break;
+    /* Hcirc */
+  case 0x6cc7e4bea15311acULL:
+    if (len == 5) {
+      return 292;
+    }
+    break;
+    /* Hfr */
+  case 0x49503419cd9a3023ULL:
+    if (len == 3) {
+      return 8460;
+    }
+    break;
+    /* HilbertSpace */
+  case 0xa665d3b7c25fa4c9ULL:
+    if (len == 12) {
+      return 8459;
+    }
+    break;
+    /* Hopf */
+  case 0x6afaf9d88015b9caULL:
+    if (len == 4) {
+      return 8461;
+    }
+    break;
+    /* HorizontalLine */
+  case 0xa84633c21b088ef3ULL:
+    if (len == 14) {
+      return 9472;
+    }
+    break;
+    /* Hscr */
+  case 0xbd91dbd81dd16f9dULL:
+    if (len == 4) {
+      return 8459;
+    }
+    break;
+    /* Hstrok */
+  case 0x617004f852d7cec8ULL:
+    if (len == 6) {
+      return 294;
+    }
+    break;
+    /* HumpDownHump */
+  case 0x8a0af290bf6e95d5ULL:
+    if (len == 12) {
+      return 8782;
+    }
+    break;
+    /* HumpEqual */
+  case 0x098df57083159179ULL:
+    if (len == 9) {
+      return 8783;
+    }
+    break;
+    /* IEcy */
+  case 0xbabd22d0b0df608bULL:
+    if (len == 4) {
+      return 1045;
+    }
+    break;
+    /* IJlig */
+  case 0xc44cfa0c94d7db92ULL:
+    if (len == 5) {
+      return 306;
+    }
+    break;
+    /* IOcy */
+  case 0x1169c8d0e1fb4c9dULL:
+    if (len == 4) {
+      return 1025;
+    }
+    break;
+    /* Iacute */
+  case 0x611b2b3b32d7a900ULL:
+    if (len == 6) {
+      return 205;
+    }
+    break;
+    /* Icirc */
+  case 0xc4e21fdd379b9753ULL:
+    if (len == 5) {
+      return 206;
+    }
+    break;
+    /* Icy */
+  case 0x419f1819c9857434ULL:
+    if (len == 3) {
+      return 1048;
+    }
+    break;
+    /* Idot */
+  case 0xc93326d14a9cae8bULL:
+    if (len == 4) {
+      return 304;
+    }
+    break;
+    /* Ifr */
+  case 0x418e1119c976f51cULL:
+    if (len == 3) {
+      return 8465;
+    }
+    break;
+    /* Igrave */
+  case 0xb233fa72dc429415ULL:
+    if (len == 6) {
+      return 204;
+    }
+    break;
+    /* Im */
+  case 0x09243707b5b91bebULL:
+    if (len == 2) {
+      return 8465;
+    }
+    break;
+    /* Imacr */
+  case 0x3da1dcea0c66200fULL:
+    if (len == 5) {
+      return 298;
+    }
+    break;
+    /* ImaginaryI */
+  case 0x389428f9c96cd97dULL:
+    if (len == 10) {
+      return 8520;
+    }
+    break;
+    /* Implies */
+  case 0x41612187d0b1f7daULL:
+    if (len == 7) {
+      return 8658;
+    }
+    break;
+    /* Int */
+  case 0x41a91f19c98dd49eULL:
+    if (len == 3) {
+      return 8748;
+    }
+    break;
+    /* Integral */
+  case 0x62e9d5a8014ff16dULL:
+    if (len == 8) {
+      return 8747;
+    }
+    break;
+    /* Intersection */
+  case 0xdf10200e295b0108ULL:
+    if (len == 12) {
+      return 8898;
+    }
+    break;
+    /* InvisibleComma */
+  case 0x75f617f5755dbcb3ULL:
+    if (len == 14) {
+      return 8291;
+    }
+    break;
+    /* InvisibleTimes */
+  case 0x0120e653d0b4f90eULL:
+    if (len == 14) {
+      return 8290;
+    }
+    break;
+    /* Iogon */
+  case 0xdcf0d2fc111c2afbULL:
+    if (len == 5) {
+      return 302;
+    }
+    break;
+    /* Iopf */
+  case 0x2738ebd17f82e5cfULL:
+    if (len == 4) {
+      return 120128;
+    }
+    break;
+    /* Iota */
+  case 0x274600d17f8d93daULL:
+    if (len == 4) {
+      return 921;
+    }
+    break;
+    /* Iscr */
+  case 0x903dc1d1bb4c5d70ULL:
+    if (len == 4) {
+      return 8464;
+    }
+    break;
+    /* Itilde */
+  case 0xc6b3a746949731b2ULL:
+    if (len == 6) {
+      return 296;
+    }
+    break;
+    /* Iukcy */
+  case 0xf24d40308b009a08ULL:
+    if (len == 5) {
+      return 1030;
+    }
+    break;
+    /* Iuml */
+  case 0x5d3fc9d19eb11732ULL:
+    if (len == 4) {
+      return 207;
+    }
+    break;
+    /* Jcirc */
+  case 0x2f27794bbc42ce66ULL:
+    if (len == 5) {
+      return 308;
+    }
+    break;
+    /* Jcy */
+  case 0x5b948f19d8375bb9ULL:
+    if (len == 3) {
+      return 1049;
+    }
+    break;
+    /* Jfr */
+  case 0x5b8a8619d82ef7e9ULL:
+    if (len == 3) {
+      return 120077;
+    }
+    break;
+    /* Jopf */
+  case 0x6c1709ea2a8bb77cULL:
+    if (len == 4) {
+      return 120129;
+    }
+    break;
+    /* Jscr */
+  case 0x47f163ea15a5f8dbULL:
+    if (len == 4) {
+      return 119973;
+    }
+    break;
+    /* Jsercy */
+  case 0x0682822bd5c4db99ULL:
+    if (len == 6) {
+      return 1032;
+    }
+    break;
+    /* Jukcy */
+  case 0x58e44893256f5305ULL:
+    if (len == 5) {
+      return 1028;
+    }
+    break;
+    /* KHcy */
+  case 0x7b858dded1819012ULL:
+    if (len == 4) {
+      return 1061;
+    }
+    break;
+    /* KJcy */
+  case 0x69672fdec7052ea0ULL:
+    if (len == 4) {
+      return 1036;
+    }
+    break;
+    /* Kappa */
+  case 0xadb0aedf301d6fe8ULL:
+    if (len == 5) {
+      return 922;
+    }
+    break;
+    /* Kcedil */
+  case 0x0a21dd757602446fULL:
+    if (len == 6) {
+      return 310;
+    }
+    break;
+    /* Kcy */
+  case 0x50576619d11e9176ULL:
+    if (len == 3) {
+      return 1050;
+    }
+    break;
+    /* Kfr */
+  case 0x50616319d126e0e2ULL:
+    if (len == 3) {
+      return 120078;
+    }
+    break;
+    /* Kopf */
+  case 0x7f45fbde42555761ULL:
+    if (len == 4) {
+      return 120130;
+    }
+    break;
+    /* Kscr */
+  case 0x2cb019dea49b548eULL:
+    if (len == 4) {
+      return 119974;
+    }
+    break;
+    /* LJcy */
+  case 0x4bf981b51a10d0abULL:
+    if (len == 4) {
+      return 1033;
+    }
+    break;
+    /* LT */
+  case 0x09197407b5af7c0dULL:
+    if (len == 2) {
+      return 60;
+    }
+    break;
+    /* Lacute */
+  case 0x4c26a63ed00adb19ULL:
+    if (len == 6) {
+      return 313;
+    }
+    break;
+    /* Lambda */
+  case 0xc144eceb4839a42aULL:
+    if (len == 6) {
+      return 923;
+    }
+    break;
+    /* Lang */
+  case 0x820de0b4a6ef5255ULL:
+    if (len == 4) {
+      return 10218;
+    }
+    break;
+    /* Laplacetrf */
+  case 0x3d864e2a46103cd3ULL:
+    if (len == 10) {
+      return 8466;
+    }
+    break;
+    /* Larr */
+  case 0x81ffd3b4a6e2fee2ULL:
+    if (len == 4) {
+      return 8606;
+    }
+    break;
+    /* Lcaron */
+  case 0xc876363d10025246ULL:
+    if (len == 6) {
+      return 317;
+    }
+    break;
+    /* Lcedil */
+  case 0x450f2a5b01aeef74ULL:
+    if (len == 6) {
+      return 315;
+    }
+    break;
+    /* Lcy */
+  case 0x25019519b8917853ULL:
+    if (len == 3) {
+      return 1051;
+    }
+    break;
+    /* LeftAngleBracket */
+  case 0x2968f74168def26dULL:
+    if (len == 16) {
+      return 10216;
+    }
+    break;
+    /* LeftArrow */
+  case 0xf830c8e6a80dc009ULL:
+    if (len == 9) {
+      return 8592;
+    }
+    break;
+    /* LeftArrowBar */
+  case 0xf64a5d39948ee826ULL:
+    if (len == 12) {
+      return 8676;
+    }
+    break;
+    /* LeftArrowRightArrow */
+  case 0xa6f861bae44cb51aULL:
+    if (len == 19) {
+      return 8646;
+    }
+    break;
+    /* LeftCeiling */
+  case 0x0ad1cd518ce1efdfULL:
+    if (len == 11) {
+      return 8968;
+    }
+    break;
+    /* LeftDoubleBracket */
+  case 0xeb1999ad476605ebULL:
+    if (len == 17) {
+      return 10214;
+    }
+    break;
+    /* LeftDownTeeVector */
+  case 0xbef8934c07775ccdULL:
+    if (len == 17) {
+      return 10593;
+    }
+    break;
+    /* LeftDownVector */
+  case 0x99f1bb94710f7e2bULL:
+    if (len == 14) {
+      return 8643;
+    }
+    break;
+    /* LeftDownVectorBar */
+  case 0x6d0f3249986bc9e4ULL:
+    if (len == 17) {
+      return 10585;
+    }
+    break;
+    /* LeftFloor */
+  case 0x7df812ab4b69ff46ULL:
+    if (len == 9) {
+      return 8970;
+    }
+    break;
+    /* LeftRightArrow */
+  case 0xec367f1888d4875fULL:
+    if (len == 14) {
+      return 8596;
+    }
+    break;
+    /* LeftRightVector */
+  case 0xa5dcb09d5e448b19ULL:
+    if (len == 15) {
+      return 10574;
+    }
+    break;
+    /* LeftTee */
+  case 0x866621b196a0d9caULL:
+    if (len == 7) {
+      return 8867;
+    }
+    break;
+    /* LeftTeeArrow */
+  case 0xca2f474b0a7f73b7ULL:
+    if (len == 12) {
+      return 8612;
+    }
+    break;
+    /* LeftTeeVector */
+  case 0x59969fdd10bd2781ULL:
+    if (len == 13) {
+      return 10586;
+    }
+    break;
+    /* LeftTriangle */
+  case 0x83b891b0a5486ae4ULL:
+    if (len == 12) {
+      return 8882;
+    }
+    break;
+    /* LeftTriangleBar */
+  case 0xb9edf4ff16117ee1ULL:
+    if (len == 15) {
+      return 10703;
+    }
+    break;
+    /* LeftTriangleEqual */
+  case 0xfa0246281c1c0f9cULL:
+    if (len == 17) {
+      return 8884;
+    }
+    break;
+    /* LeftUpDownVector */
+  case 0xb2a0ac3a1b8fb2daULL:
+    if (len == 16) {
+      return 10577;
+    }
+    break;
+    /* LeftUpTeeVector */
+  case 0xa1fdb8f5c67812caULL:
+    if (len == 15) {
+      return 10592;
+    }
+    break;
+    /* LeftUpVector */
+  case 0xdae7e8806f02e76aULL:
+    if (len == 12) {
+      return 8639;
+    }
+    break;
+    /* LeftUpVectorBar */
+  case 0x5c6cdf2a3c4f09cbULL:
+    if (len == 15) {
+      return 10584;
+    }
+    break;
+    /* LeftVector */
+  case 0xedfacdace3d35e3fULL:
+    if (len == 10) {
+      return 8636;
+    }
+    break;
+    /* LeftVectorBar */
+  case 0xeecb44bc1ba328c0ULL:
+    if (len == 13) {
+      return 10578;
+    }
+    break;
+    /* Leftarrow */
+  case 0xb7f0b04d1a231269ULL:
+    if (len == 9) {
+      return 8656;
+    }
+    break;
+    /* Leftrightarrow */
+  case 0xaa360dd070bc6edfULL:
+    if (len == 14) {
+      return 8660;
+    }
+    break;
+    /* LessEqualGreater */
+  case 0x30ba5df908994bf6ULL:
+    if (len == 16) {
+      return 8922;
+    }
+    break;
+    /* LessFullEqual */
+  case 0x69a448427cd9ebc7ULL:
+    if (len == 13) {
+      return 8806;
+    }
+    break;
+    /* LessGreater */
+  case 0x3f38c31da2d1d88eULL:
+    if (len == 11) {
+      return 8822;
+    }
+    break;
+    /* LessLess */
+  case 0x592aca48ff441331ULL:
+    if (len == 8) {
+      return 10913;
+    }
+    break;
+    /* LessSlantEqual */
+  case 0x80ac2b7de90da398ULL:
+    if (len == 14) {
+      return 10877;
+    }
+    break;
+    /* LessTilde */
+  case 0x7f26901917bec0aeULL:
+    if (len == 9) {
+      return 8818;
+    }
+    break;
+    /* Lfr */
+  case 0x25129819b89ff09fULL:
+    if (len == 3) {
+      return 120079;
+    }
+    break;
+    /* Ll */
+  case 0x09193c07b5af1ce5ULL:
+    if (len == 2) {
+      return 8920;
+    }
+    break;
+    /* Lleftarrow */
+  case 0x48037d8511cb5f9fULL:
+    if (len == 10) {
+      return 8666;
+    }
+    break;
+    /* Lmidot */
+  case 0x460c2e146cec80ccULL:
+    if (len == 6) {
+      return 319;
+    }
+    break;
+    /* LongLeftArrow */
+  case 0xc12897a053fb7097ULL:
+    if (len == 13) {
+      return 10229;
+    }
+    break;
+    /* LongLeftRightArrow */
+  case 0x26f0b9fb3e33d3d1ULL:
+    if (len == 18) {
+      return 10231;
+    }
+    break;
+    /* LongRightArrow */
+  case 0x66102cc8d047ee34ULL:
+    if (len == 14) {
+      return 10230;
+    }
+    break;
+    /* Longleftarrow */
+  case 0x14599cf578e73897ULL:
+    if (len == 13) {
+      return 10232;
+    }
+    break;
+    /* Longleftrightarrow */
+  case 0xfb4d47fe6563f731ULL:
+    if (len == 18) {
+      return 10234;
+    }
+    break;
+    /* Longrightarrow */
+  case 0xa431fff6dda41874ULL:
+    if (len == 14) {
+      return 10233;
+    }
+    break;
+    /* Lopf */
+  case 0x4f53e9b48a8dda96ULL:
+    if (len == 4) {
+      return 120131;
+    }
+    break;
+    /* LowerLeftArrow */
+  case 0xa357b8935751a8b4ULL:
+    if (len == 14) {
+      return 8601;
+    }
+    break;
+    /* LowerRightArrow */
+  case 0xfc66572c16fdd701ULL:
+    if (len == 15) {
+      return 8600;
+    }
+    break;
+    /* Lscr */
+  case 0xfc660bb4ec8968b9ULL:
+    if (len == 4) {
+      return 8466;
+    }
+    break;
+    /* Lsh */
+  case 0x25378419b8beeae0ULL:
+    if (len == 3) {
+      return 8624;
+    }
+    break;
+    /* Lstrok */
+  case 0x1b239054975f2984ULL:
+    if (len == 6) {
+      return 321;
+    }
+    break;
+    /* Lt */
+  case 0x09195407b5af45adULL:
+    if (len == 2) {
+      return 8810;
+    }
+    break;
+    /* Map */
+  case 0x1e187919b52639f1ULL:
+    if (len == 3) {
+      return 10501;
+    }
+    break;
+    /* Mcy */
+  case 0x1e1f6c19b52c4288ULL:
+    if (len == 3) {
+      return 1052;
+    }
+    break;
+    /* MediumSpace */
+  case 0xd60de09388a69ab0ULL:
+    if (len == 11) {
+      return 8287;
+    }
+    break;
+    /* Mellintrf */
+  case 0x22898c79c7454538ULL:
+    if (len == 9) {
+      return 8499;
+    }
+    break;
+    /* Mfr */
+  case 0x1e297519b534a658ULL:
+    if (len == 3) {
+      return 120080;
+    }
+    break;
+    /* MinusPlus */
+  case 0xb534b986d10ae4b3ULL:
+    if (len == 9) {
+      return 8723;
+    }
+    break;
+    /* Mopf */
+  case 0x37a31baec56b6c5bULL:
+    if (len == 4) {
+      return 120132;
+    }
+    break;
+    /* Mscr */
+  case 0xcf1211ae8a048cecULL:
+    if (len == 4) {
+      return 8499;
+    }
+    break;
+    /* Mu */
+  case 0x09164f07b5ad0757ULL:
+    if (len == 2) {
+      return 924;
+    }
+    break;
+    /* NJcy */
+  case 0x36ad6dc6267d26adULL:
+    if (len == 4) {
+      return 1034;
+    }
+    break;
+    /* Nacute */
+  case 0xca720fa4f058efbfULL:
+    if (len == 6) {
+      return 323;
+    }
+    break;
+    /* Ncaron */
+  case 0x0971ffaba29e8650ULL:
+    if (len == 6) {
+      return 327;
+    }
+    break;
+    /* Ncedil */
+  case 0xce2e0b882bf258e2ULL:
+    if (len == 6) {
+      return 325;
+    }
+    break;
+    /* Ncy */
+  case 0x373af319c324a17dULL:
+    if (len == 3) {
+      return 1053;
+    }
+    break;
+    /* NegativeMediumSpace */
+  case 0x19debba8c9847c49ULL:
+    if (len == 19) {
+      return 8203;
+    }
+    break;
+    /* NegativeThickSpace */
+  case 0xe26781d0fb9f116fULL:
+    if (len == 18) {
+      return 8203;
+    }
+    break;
+    /* NegativeThinSpace */
+  case 0x0ea5c203b7089559ULL:
+    if (len == 17) {
+      return 8203;
+    }
+    break;
+    /* NegativeVeryThinSpace */
+  case 0xb579544e957d24bdULL:
+    if (len == 21) {
+      return 8203;
+    }
+    break;
+    /* NestedGreaterGreater */
+  case 0x5758e6986106b41eULL:
+    if (len == 20) {
+      return 8811;
+    }
+    break;
+    /* NestedLessLess */
+  case 0x7e6e4d869e6055a6ULL:
+    if (len == 14) {
+      return 8810;
+    }
+    break;
+    /* NewLine */
+  case 0xfad6d57bb600f52bULL:
+    if (len == 7) {
+      return 10;
+    }
+    break;
+    /* Nfr */
+  case 0x374bea19c3330565ULL:
+    if (len == 3) {
+      return 120081;
+    }
+    break;
+    /* NoBreak */
+  case 0x2d456cb830009081ULL:
+    if (len == 7) {
+      return 8288;
+    }
+    break;
+    /* NonBreakingSpace */
+  case 0x7b31cce93cea6eedULL:
+    if (len == 16) {
+      return 160;
+    }
+    break;
+    /* Nopf */
+  case 0x667919c6d2bce4a8ULL:
+    if (len == 4) {
+      return 8469;
+    }
+    break;
+    /* Not */
+  case 0x3763f619c347abaaULL:
+    if (len == 3) {
+      return 10988;
+    }
+    break;
+    /* NotCongruent */
+  case 0x4351c2813b6a656fULL:
+    if (len == 12) {
+      return 8802;
+    }
+    break;
+    /* NotCupCap */
+  case 0x466b9878ce5017e6ULL:
+    if (len == 9) {
+      return 8813;
+    }
+    break;
+    /* NotDoubleVerticalBar */
+  case 0x853c3fab883e22f6ULL:
+    if (len == 20) {
+      return 8742;
+    }
+    break;
+    /* NotElement */
+  case 0x903ba6121033d1a2ULL:
+    if (len == 10) {
+      return 8713;
+    }
+    break;
+    /* NotEqual */
+  case 0x0d4ceeaea619091eULL:
+    if (len == 8) {
+      return 8800;
+    }
+    break;
+    /* NotExists */
+  case 0x253dd2e3b56e9af2ULL:
+    if (len == 9) {
+      return 8708;
+    }
+    break;
+    /* NotGreater */
+  case 0xa309559f8de4c088ULL:
+    if (len == 10) {
+      return 8815;
+    }
+    break;
+    /* NotGreaterEqual */
+  case 0x46f6693b515e7d00ULL:
+    if (len == 15) {
+      return 8817;
+    }
+    break;
+    /* NotGreaterLess */
+  case 0xc7672ad2e40ce6c1ULL:
+    if (len == 14) {
+      return 8825;
+    }
+    break;
+    /* NotGreaterTilde */
+  case 0x99bfab9077f8173eULL:
+    if (len == 15) {
+      return 8821;
+    }
+    break;
+    /* NotLeftTriangle */
+  case 0xb6d07c58c6cacd7bULL:
+    if (len == 15) {
+      return 8938;
+    }
+    break;
+    /* NotLeftTriangleEqual */
+  case 0x06a5b31737d35b81ULL:
+    if (len == 20) {
+      return 8940;
+    }
+    break;
+    /* NotLess */
+  case 0x724794c592bb03f3ULL:
+    if (len == 7) {
+      return 8814;
+    }
+    break;
+    /* NotLessEqual */
+  case 0x853d540f1dbe87b9ULL:
+    if (len == 12) {
+      return 8816;
+    }
+    break;
+    /* NotLessGreater */
+  case 0x12c3e7b8bbc52e97ULL:
+    if (len == 14) {
+      return 8824;
+    }
+    break;
+    /* NotLessTilde */
+  case 0xda17123ce3b64603ULL:
+    if (len == 12) {
+      return 8820;
+    }
+    break;
+    /* NotPrecedes */
+  case 0xc59399a1c2ef102dULL:
+    if (len == 11) {
+      return 8832;
+    }
+    break;
+    /* NotPrecedesSlantEqual */
+  case 0x239b8f4946764e99ULL:
+    if (len == 21) {
+      return 8928;
+    }
+    break;
+    /* NotReverseElement */
+  case 0xf96d9dec557a2b3cULL:
+    if (len == 17) {
+      return 8716;
+    }
+    break;
+    /* NotRightTriangle */
+  case 0xe8122021d906fb1cULL:
+    if (len == 16) {
+      return 8939;
+    }
+    break;
+    /* NotRightTriangleEqual */
+  case 0x4f3fd3ed231340d4ULL:
+    if (len == 21) {
+      return 8941;
+    }
+    break;
+    /* NotSquareSubsetEqual */
+  case 0xcacbb1171b5c0d45ULL:
+    if (len == 20) {
+      return 8930;
+    }
+    break;
+    /* NotSquareSupersetEqual */
+  case 0xf8c7805b376606d8ULL:
+    if (len == 22) {
+      return 8931;
+    }
+    break;
+    /* NotSubsetEqual */
+  case 0xd44a0592c59fa290ULL:
+    if (len == 14) {
+      return 8840;
+    }
+    break;
+    /* NotSucceeds */
+  case 0x09d693ed0d95f60fULL:
+    if (len == 11) {
+      return 8833;
+    }
+    break;
+    /* NotSucceedsSlantEqual */
+  case 0x9e993f5a9f37526bULL:
+    if (len == 21) {
+      return 8929;
+    }
+    break;
+    /* NotSupersetEqual */
+  case 0x3afee4d81ada51b5ULL:
+    if (len == 16) {
+      return 8841;
+    }
+    break;
+    /* NotTilde */
+  case 0xf662187b583e68ccULL:
+    if (len == 8) {
+      return 8769;
+    }
+    break;
+    /* NotTildeEqual */
+  case 0x0a0cd8787cfaa724ULL:
+    if (len == 13) {
+      return 8772;
+    }
+    break;
+    /* NotTildeFullEqual */
+  case 0x36649eef7d4cf96bULL:
+    if (len == 17) {
+      return 8775;
+    }
+    break;
+    /* NotTildeTilde */
+  case 0xfe5aa93e65a1628aULL:
+    if (len == 13) {
+      return 8777;
+    }
+    break;
+    /* NotVerticalBar */
+  case 0xfe4e4f0b8ac8c825ULL:
+    if (len == 14) {
+      return 8740;
+    }
+    break;
+    /* Nscr */
+  case 0x742293c6498844f7ULL:
+    if (len == 4) {
+      return 119977;
+    }
+    break;
+    /* Ntilde */
+  case 0xaf0ceb437fc0e09dULL:
+    if (len == 6) {
+      return 209;
+    }
+    break;
+    /* Nu */
+  case 0x09203f07b5b540acULL:
+    if (len == 2) {
+      return 925;
+    }
+    break;
+    /* OElig */
+  case 0xeb66994a4df8e9a7ULL:
+    if (len == 5) {
+      return 338;
+    }
+    break;
+    /* Oacute */
+  case 0x854fdecc5971ea7aULL:
+    if (len == 6) {
+      return 211;
+    }
+    break;
+    /* Ocirc */
+  case 0xaabc956334a948f1ULL:
+    if (len == 5) {
+      return 212;
+    }
+    break;
+    /* Ocy */
+  case 0x303dca19bfa8a3faULL:
+    if (len == 3) {
+      return 1054;
+    }
+    break;
+    /* Odblac */
+  case 0xa83017dd56bc3fc8ULL:
+    if (len == 6) {
+      return 336;
+    }
+    break;
+    /* Ofr */
+  case 0x302cc719bf9a2baeULL:
+    if (len == 3) {
+      return 120082;
+    }
+    break;
+    /* Ograve */
+  case 0x4330ef573e269be7ULL:
+    if (len == 6) {
+      return 210;
+    }
+    break;
+    /* Omacr */
+  case 0x2733f20fb0a24de9ULL:
+    if (len == 5) {
+      return 332;
+    }
+    break;
+    /* Omega */
+  case 0x473fb30fc20c3ce8ULL:
+    if (len == 5) {
+      return 937;
+    }
+    break;
+    /* Omicron */
+  case 0x29bb34120e7aee7cULL:
+    if (len == 7) {
+      return 927;
+    }
+    break;
+    /* Oopf */
+  case 0x3c24fbc072c4417dULL:
+    if (len == 4) {
+      return 120134;
+    }
+    break;
+    /* OpenCurlyDoubleQuote */
+  case 0xb8f3fa15f40b9819ULL:
+    if (len == 20) {
+      return 8220;
+    }
+    break;
+    /* OpenCurlyQuote */
+  case 0xa9cba54b4c7c2c7eULL:
+    if (len == 14) {
+      return 8216;
+    }
+    break;
+    /* Or */
+  case 0x091d5407b5b32e84ULL:
+    if (len == 2) {
+      return 10836;
+    }
+    break;
+    /* Oscr */
+  case 0x186569c05e35580aULL:
+    if (len == 4) {
+      return 119978;
+    }
+    break;
+    /* Oslash */
+  case 0xc20018fdaecaadf3ULL:
+    if (len == 6) {
+      return 216;
+    }
+    break;
+    /* Otilde */
+  case 0xe6ce7d3829111898ULL:
+    if (len == 6) {
+      return 213;
+    }
+    break;
+    /* Otimes */
+  case 0xdf025a3824e5890cULL:
+    if (len == 6) {
+      return 10807;
+    }
+    break;
+    /* Ouml */
+  case 0x066819c053d441c8ULL:
+    if (len == 4) {
+      return 214;
+    }
+    break;
+    /* OverBar */
+  case 0xc2cdafcd715751d0ULL:
+    if (len == 7) {
+      return 8254;
+    }
+    break;
+    /* OverBrace */
+  case 0x9527b18836110d1aULL:
+    if (len == 9) {
+      return 9182;
+    }
+    break;
+    /* OverBracket */
+  case 0xf1bdeee39c8ffc01ULL:
+    if (len == 11) {
+      return 9140;
+    }
+    break;
+    /* OverParenthesis */
+  case 0x7618c7f63e9d74d9ULL:
+    if (len == 15) {
+      return 9180;
+    }
+    break;
+    /* PartialD */
+  case 0x1f8f2cf03079987aULL:
+    if (len == 8) {
+      return 8706;
+    }
+    break;
+    /* Pcy */
+  case 0x8dcc8919f429aaa7ULL:
+    if (len == 3) {
+      return 1055;
+    }
+    break;
+    /* Pfr */
+  case 0x8dc28c19f4215b3bULL:
+    if (len == 3) {
+      return 120083;
+    }
+    break;
+    /* Phi */
+  case 0x8dbb7919f41b1c44ULL:
+    if (len == 3) {
+      return 934;
+    }
+    break;
+    /* Pi */
+  case 0x09423f07b5d22712ULL:
+    if (len == 2) {
+      return 928;
+    }
+    break;
+    /* PlusMinus */
+  case 0x78b6deb8a3f643dfULL:
+    if (len == 9) {
+      return 177;
+    }
+    break;
+    /* Poincareplane */
+  case 0x44c38a761dd36498ULL:
+    if (len == 13) {
+      return 8460;
+    }
+    break;
+    /* Popf */
+  case 0xb34dea19a71a83a2ULL:
+    if (len == 4) {
+      return 8473;
+    }
+    break;
+    /* Pr */
+  case 0x09425607b5d24e27ULL:
+    if (len == 2) {
+      return 10939;
+    }
+    break;
+    /* Precedes */
+  case 0xc04ee6af43076416ULL:
+    if (len == 8) {
+      return 8826;
+    }
+    break;
+    /* PrecedesEqual */
+  case 0x4307f60668f9c01aULL:
+    if (len == 13) {
+      return 10927;
+    }
+    break;
+    /* PrecedesSlantEqual */
+  case 0x40c9f699f436b596ULL:
+    if (len == 18) {
+      return 8828;
+    }
+    break;
+    /* PrecedesTilde */
+  case 0xe4aea7ee56e051c0ULL:
+    if (len == 13) {
+      return 8830;
+    }
+    break;
+    /* Prime */
+  case 0xeed15a8afe9ad2a0ULL:
+    if (len == 5) {
+      return 8243;
+    }
+    break;
+    /* Product */
+  case 0xde1f02481331134cULL:
+    if (len == 7) {
+      return 8719;
+    }
+    break;
+    /* Proportion */
+  case 0x34e42f621c04b4b7ULL:
+    if (len == 10) {
+      return 8759;
+    }
+    break;
+    /* Proportional */
+  case 0x2be33d9812c7030aULL:
+    if (len == 12) {
+      return 8733;
+    }
+    break;
+    /* Pscr */
+  case 0xa5ab5c1a30552005ULL:
+    if (len == 4) {
+      return 119979;
+    }
+    break;
+    /* Psi */
+  case 0x8e029919f4575547ULL:
+    if (len == 3) {
+      return 936;
+    }
+    break;
+    /* QUOT */
+  case 0x320d2e1315d01e08ULL:
+    if (len == 4) {
+      return 34;
+    }
+    break;
+    /* Qfr */
+  case 0x86d96919f0b610f4ULL:
+    if (len == 3) {
+      return 120084;
+    }
+    break;
+    /* Qopf */
+  case 0x9c091c13e2533447ULL:
+    if (len == 4) {
+      return 8474;
+    }
+    break;
+    /* Qscr */
+  case 0x7bbd6213d0b36d38ULL:
+    if (len == 4) {
+      return 119980;
+    }
+    break;
+    /* RBarr */
+  case 0x4024ec9c1ac324e8ULL:
+    if (len == 5) {
+      return 10512;
+    }
+    break;
+    /* REG */
+  case 0xa05ec119ff08bc15ULL:
+    if (len == 3) {
+      return 174;
+    }
+    break;
+    /* Racute */
+  case 0x08151a91b5dabc63ULL:
+    if (len == 6) {
+      return 340;
+    }
+    break;
+    /* Rang */
+  case 0x9841152bd35b97c3ULL:
+    if (len == 4) {
+      return 10219;
+    }
+    break;
+    /* Rarr */
+  case 0x9834102bd35104e8ULL:
+    if (len == 4) {
+      return 8608;
+    }
+    break;
+    /* Rarrtl */
+  case 0x00afa607b848bae8ULL:
+    if (len == 6) {
+      return 10518;
+    }
+    break;
+    /* Rcaron */
+  case 0x34eb38d6c4c4839cULL:
+    if (len == 6) {
+      return 344;
+    }
+    break;
+    /* Rcedil */
+  case 0x33324cf9866eeaa6ULL:
+    if (len == 6) {
+      return 342;
+    }
+    break;
+    /* Rcy */
+  case 0xa006d719febe6ba1ULL:
+    if (len == 3) {
+      return 1056;
+    }
+    break;
+    /* Re */
+  case 0x09494f07b5d860f0ULL:
+    if (len == 2) {
+      return 8476;
+    }
+    break;
+    /* ReverseElement */
+  case 0xcdb39da871c9c157ULL:
+    if (len == 14) {
+      return 8715;
+    }
+    break;
+    /* ReverseEquilibrium */
+  case 0xa63e1645e61f6017ULL:
+    if (len == 18) {
+      return 8651;
+    }
+    break;
+    /* ReverseUpEquilibrium */
+  case 0xe3fc919d62400f1cULL:
+    if (len == 20) {
+      return 10607;
+    }
+    break;
+    /* Rfr */
+  case 0x9ffcde19feb62301ULL:
+    if (len == 3) {
+      return 8476;
+    }
+    break;
+    /* Rho */
+  case 0xa01ec919fed2e5b8ULL:
+    if (len == 3) {
+      return 929;
+    }
+    break;
+    /* RightAngleBracket */
+  case 0x18a6b3e3b0857994ULL:
+    if (len == 17) {
+      return 10217;
+    }
+    break;
+    /* RightArrow */
+  case 0xb5425055fee5b0e6ULL:
+    if (len == 10) {
+      return 8594;
+    }
+    break;
+    /* RightArrowBar */
+  case 0xcd28545e1d0aa8dfULL:
+    if (len == 13) {
+      return 8677;
+    }
+    break;
+    /* RightArrowLeftArrow */
+  case 0x27472ba8417a65f8ULL:
+    if (len == 19) {
+      return 8644;
+    }
+    break;
+    /* RightCeiling */
+  case 0xa1d4122384f82fe0ULL:
+    if (len == 12) {
+      return 8969;
+    }
+    break;
+    /* RightDoubleBracket */
+  case 0x52ba4ef5a4b437e4ULL:
+    if (len == 18) {
+      return 10215;
+    }
+    break;
+    /* RightDownTeeVector */
+  case 0x88a6c3c17f791402ULL:
+    if (len == 18) {
+      return 10589;
+    }
+    break;
+    /* RightDownVector */
+  case 0xabee0bb46680af52ULL:
+    if (len == 15) {
+      return 8642;
+    }
+    break;
+    /* RightDownVectorBar */
+  case 0x4f1e540e5d766623ULL:
+    if (len == 18) {
+      return 10581;
+    }
+    break;
+    /* RightFloor */
+  case 0x05e5b6490d006d5dULL:
+    if (len == 10) {
+      return 8971;
+    }
+    break;
+    /* RightTee */
+  case 0x251f340fd52e2bb5ULL:
+    if (len == 8) {
+      return 8866;
+    }
+    break;
+    /* RightTeeArrow */
+  case 0xc49012cc4de17276ULL:
+    if (len == 13) {
+      return 8614;
+    }
+    break;
+    /* RightTeeVector */
+  case 0x38e881b1ca083492ULL:
+    if (len == 14) {
+      return 10587;
+    }
+    break;
+    /* RightTriangle */
+  case 0x8c610a365331b525ULL:
+    if (len == 13) {
+      return 8883;
+    }
+    break;
+    /* RightTriangleBar */
+  case 0xf9af9a853133257aULL:
+    if (len == 16) {
+      return 10704;
+    }
+    break;
+    /* RightTriangleEqual */
+  case 0xff8eb5b514d2c30fULL:
+    if (len == 18) {
+      return 8885;
+    }
+    break;
+    /* RightUpDownVector */
+  case 0x648ebeae3a7b977bULL:
+    if (len == 17) {
+      return 10575;
+    }
+    break;
+    /* RightUpTeeVector */
+  case 0xb7b38e76f29e7bf1ULL:
+    if (len == 16) {
+      return 10588;
+    }
+    break;
+    /* RightUpVector */
+  case 0x498d9e788bebc62fULL:
+    if (len == 13) {
+      return 8638;
+    }
+    break;
+    /* RightUpVectorBar */
+  case 0x347f4d33261280f0ULL:
+    if (len == 16) {
+      return 10580;
+    }
+    break;
+    /* RightVector */
+  case 0xd08c6d4f47c1cba2ULL:
+    if (len == 11) {
+      return 8640;
+    }
+    break;
+    /* RightVectorBar */
+  case 0x362ec835ae39f533ULL:
+    if (len == 14) {
+      return 10579;
+    }
+    break;
+    /* Rightarrow */
+  case 0xf58368ef8cd21186ULL:
+    if (len == 10) {
+      return 8658;
+    }
+    break;
+    /* Ropf */
+  case 0xcadf1a2befa4ac94ULL:
+    if (len == 4) {
+      return 8477;
+    }
+    break;
+    /* RoundImplies */
+  case 0xed8d96dd2b116e98ULL:
+    if (len == 12) {
+      return 10608;
+    }
+    break;
+    /* Rrightarrow */
+  case 0x01a97e4106c767d6ULL:
+    if (len == 11) {
+      return 8667;
+    }
+    break;
+    /* Rscr */
+  case 0x1d67c42b8d53c5e3ULL:
+    if (len == 4) {
+      return 8475;
+    }
+    break;
+    /* Rsh */
+  case 0x9fcfe619fe8f42aeULL:
+    if (len == 3) {
+      return 8625;
+    }
+    break;
+    /* RuleDelayed */
+  case 0x2f8aa750c9d2eab3ULL:
+    if (len == 11) {
+      return 10740;
+    }
+    break;
+    /* SHCHcy */
+  case 0xadde7216d592e7f9ULL:
+    if (len == 6) {
+      return 1065;
+    }
+    break;
+    /* SHcy */
+  case 0x5b8a4e244668aa1aULL:
+    if (len == 4) {
+      return 1064;
+    }
+    break;
+    /* SOFTcy */
+  case 0x1dc7ef41bdbd3a61ULL:
+    if (len == 6) {
+      return 1068;
+    }
+    break;
+    /* Sacute */
+  case 0x4119e342730ef3beULL:
+    if (len == 6) {
+      return 346;
+    }
+    break;
+    /* Sc */
+  case 0x09462d07b5d5f153ULL:
+    if (len == 2) {
+      return 10940;
+    }
+    break;
+    /* Scaron */
+  case 0xdd0c52c6a6e1e515ULL:
+    if (len == 6) {
+      return 352;
+    }
+    break;
+    /* Scedil */
+  case 0x47d74ee9a74f5037ULL:
+    if (len == 6) {
+      return 350;
+    }
+    break;
+    /* Scirc */
+  case 0x6f00fb624fd384d5ULL:
+    if (len == 5) {
+      return 348;
+    }
+    break;
+    /* Scy */
+  case 0x982fae19fa88ca5eULL:
+    if (len == 3) {
+      return 1057;
+    }
+    break;
+    /* Sfr */
+  case 0x9839bb19fa9134faULL:
+    if (len == 3) {
+      return 120086;
+    }
+    break;
+    /* ShortDownArrow */
+  case 0xfaa37870c3f79a66ULL:
+    if (len == 14) {
+      return 8595;
+    }
+    break;
+    /* ShortLeftArrow */
+  case 0xe5e01429a53c1a79ULL:
+    if (len == 14) {
+      return 8592;
+    }
+    break;
+    /* ShortRightArrow */
+  case 0xfc598140016b2fd6ULL:
+    if (len == 15) {
+      return 8594;
+    }
+    break;
+    /* ShortUpArrow */
+  case 0x9f1b5e93d07e5129ULL:
+    if (len == 12) {
+      return 8593;
+    }
+    break;
+    /* Sigma */
+  case 0x9bc213b5a2a7f9f4ULL:
+    if (len == 5) {
+      return 931;
+    }
+    break;
+    /* SmallCircle */
+  case 0x61b6a822d983fc20ULL:
+    if (len == 11) {
+      return 8728;
+    }
+    break;
+    /* Sopf */
+  case 0x8a82cc24f1f494d9ULL:
+    if (len == 4) {
+      return 120138;
+    }
+    break;
+    /* Sqrt */
+  case 0xbd3bd0250e546fafULL:
+    if (len == 4) {
+      return 8730;
+    }
+    break;
+    /* Square */
+  case 0x6641c258b0b51b26ULL:
+    if (len == 6) {
+      return 9633;
+    }
+    break;
+    /* SquareIntersection */
+  case 0xde49b67dc69f881bULL:
+    if (len == 18) {
+      return 8851;
+    }
+    break;
+    /* SquareSubset */
+  case 0x2ee213c52a70c2ccULL:
+    if (len == 12) {
+      return 8847;
+    }
+    break;
+    /* SquareSubsetEqual */
+  case 0xc712ce8965b77524ULL:
+    if (len == 17) {
+      return 8849;
+    }
+    break;
+    /* SquareSuperset */
+  case 0x04cc07079dd958dbULL:
+    if (len == 14) {
+      return 8848;
+    }
+    break;
+    /* SquareSupersetEqual */
+  case 0xc40aacf4858424a1ULL:
+    if (len == 19) {
+      return 8850;
+    }
+    break;
+    /* SquareUnion */
+  case 0x6cb56b6d3ca9d76dULL:
+    if (len == 11) {
+      return 8852;
+    }
+    break;
+    /* Sscr */
+  case 0xae2e7a25067304d6ULL:
+    if (len == 4) {
+      return 119982;
+    }
+    break;
+    /* Star */
+  case 0xd98b59251f065471ULL:
+    if (len == 4) {
+      return 8902;
+    }
+    break;
+    /* Sub */
+  case 0x987abd19fac8cf55ULL:
+    if (len == 3) {
+      return 8912;
+    }
+    break;
+    /* Subset */
+  case 0x18ed119d4617c5f3ULL:
+    if (len == 6) {
+      return 8912;
+    }
+    break;
+    /* SubsetEqual */
+  case 0xdf506417c0f18db9ULL:
+    if (len == 11) {
+      return 8838;
+    }
+    break;
+    /* Succeeds */
+  case 0x69c0d1f2cb4ace40ULL:
+    if (len == 8) {
+      return 8827;
+    }
+    break;
+    /* SucceedsEqual */
+  case 0x0a5f3ce3592986b8ULL:
+    if (len == 13) {
+      return 10928;
+    }
+    break;
+    /* SucceedsSlantEqual */
+  case 0xa9bfced333aad090ULL:
+    if (len == 18) {
+      return 8829;
+    }
+    break;
+    /* SucceedsTilde */
+  case 0x134cdeb4a59e5626ULL:
+    if (len == 13) {
+      return 8831;
+    }
+    break;
+    /* SuchThat */
+  case 0x8a2b64eac6476157ULL:
+    if (len == 8) {
+      return 8715;
+    }
+    break;
+    /* Sum */
+  case 0x987abe19fac8d108ULL:
+    if (len == 3) {
+      return 8721;
+    }
+    break;
+    /* Sup */
+  case 0x987aab19fac8b0bfULL:
+    if (len == 3) {
+      return 8913;
+    }
+    break;
+    /* Superset */
+  case 0x5688dd461524eb3cULL:
+    if (len == 8) {
+      return 8835;
+    }
+    break;
+    /* SupersetEqual */
+  case 0x897e6ca84a1c6334ULL:
+    if (len == 13) {
+      return 8839;
+    }
+    break;
+    /* Supset */
+  case 0xe010a5085bdf8465ULL:
+    if (len == 6) {
+      return 8913;
+    }
+    break;
+    /* THORN */
+  case 0xec4e33cd9cb871a2ULL:
+    if (len == 5) {
+      return 222;
+    }
+    break;
+    /* TRADE */
+  case 0x89899501d2e44439ULL:
+    if (len == 5) {
+      return 8482;
+    }
+    break;
+    /* TSHcy */
+  case 0xe2711ff7348ddd18ULL:
+    if (len == 5) {
+      return 1035;
+    }
+    break;
+    /* TScy */
+  case 0x654e60faae7cf810ULL:
+    if (len == 4) {
+      return 1062;
+    }
+    break;
+    /* Tab */
+  case 0x6ce0ce19e201b66cULL:
+    if (len == 3) {
+      return 9;
+    }
+    break;
+    /* Tau */
+  case 0x6ce0dd19e201cfe9ULL:
+    if (len == 3) {
+      return 932;
+    }
+    break;
+    /* Tcaron */
+  case 0xb475e59941520c0eULL:
+    if (len == 6) {
+      return 356;
+    }
+    break;
+    /* Tcedil */
+  case 0x025bf9bd52d269dcULL:
+    if (len == 6) {
+      return 354;
+    }
+    break;
+    /* Tcy */
+  case 0x6cd9dd19e1fbb13bULL:
+    if (len == 3) {
+      return 1058;
+    }
+    break;
+    /* Tfr */
+  case 0x6ceaf019e20a44b7ULL:
+    if (len == 3) {
+      return 120087;
+    }
+    break;
+    /* Therefore */
+  case 0x5dffcbfbc2221217ULL:
+    if (len == 9) {
+      return 8756;
+    }
+    break;
+    /* Theta */
+  case 0xaa999dd8cfb57a7bULL:
+    if (len == 5) {
+      return 920;
+    }
+    break;
+    /* ThinSpace */
+  case 0xdcde7f4e7c4cba5cULL:
+    if (len == 9) {
+      return 8201;
+    }
+    break;
+    /* Tilde */
+  case 0xde7e58d2a4ce8a29ULL:
+    if (len == 5) {
+      return 8764;
+    }
+    break;
+    /* TildeEqual */
+  case 0xdc2e936c5c4d3903ULL:
+    if (len == 10) {
+      return 8771;
+    }
+    break;
+    /* TildeFullEqual */
+  case 0xdbd76c3107638a88ULL:
+    if (len == 14) {
+      return 8773;
+    }
+    break;
+    /* TildeTilde */
+  case 0xf61bf8aa5e9d5985ULL:
+    if (len == 10) {
+      return 8776;
+    }
+    break;
+    /* Topf */
+  case 0x5a90f9fb3a2d84ceULL:
+    if (len == 4) {
+      return 120139;
+    }
+    break;
+    /* TripleDot */
+  case 0x2943db10714e24b0ULL:
+    if (len == 9) {
+      return 8411;
+    }
+    break;
+    /* Tscr */
+  case 0x7b578bfb4c361721ULL:
+    if (len == 4) {
+      return 119983;
+    }
+    break;
+    /* Tstrok */
+  case 0xed6140c24c952a4cULL:
+    if (len == 6) {
+      return 358;
+    }
+    break;
+    /* Uacute */
+  case 0x866ff29b7a03848cULL:
+    if (len == 6) {
+      return 218;
+    }
+    break;
+    /* Uarr */
+  case 0x1ed2b9f047406443ULL:
+    if (len == 4) {
+      return 8607;
+    }
+    break;
+    /* Uarrocir */
+  case 0x1556e5c69b94ecc2ULL:
+    if (len == 8) {
+      return 10569;
+    }
+    break;
+    /* Ubrcy */
+  case 0x00bd274f918076acULL:
+    if (len == 5) {
+      return 1038;
+    }
+    break;
+    /* Ubreve */
+  case 0x8f539334210f3b06ULL:
+    if (len == 6) {
+      return 364;
+    }
+    break;
+    /* Ucirc */
+  case 0x439d785a8808882fULL:
+    if (len == 5) {
+      return 219;
+    }
+    break;
+    /* Ucy */
+  case 0x6291b419dbb35270ULL:
+    if (len == 3) {
+      return 1059;
+    }
+    break;
+    /* Udblac */
+  case 0x1d3451455f7cd4aeULL:
+    if (len == 6) {
+      return 368;
+    }
+    break;
+    /* Ufr */
+  case 0x629bad19dbbb9b10ULL:
+    if (len == 3) {
+      return 120088;
+    }
+    break;
+    /* Ugrave */
+  case 0x34b5d328bb7f4051ULL:
+    if (len == 6) {
+      return 217;
+    }
+    break;
+    /* Umacr */
+  case 0xc79a05ae0c724e63ULL:
+    if (len == 5) {
+      return 362;
+    }
+    break;
+    /* UnderBar */
+  case 0x88da2ac69024fb52ULL:
+    if (len == 8) {
+      return 95;
+    }
+    break;
+    /* UnderBrace */
+  case 0x35998778099657f0ULL:
+    if (len == 10) {
+      return 9183;
+    }
+    break;
+    /* UnderBracket */
+  case 0x3041f9e6ce0818fbULL:
+    if (len == 12) {
+      return 9141;
+    }
+    break;
+    /* UnderParenthesis */
+  case 0x335a3dc0551cd6f3ULL:
+    if (len == 16) {
+      return 9181;
+    }
+    break;
+    /* Union */
+  case 0x0ae93fb50ca42f94ULL:
+    if (len == 5) {
+      return 8899;
+    }
+    break;
+    /* UnionPlus */
+  case 0x6a922600145f0894ULL:
+    if (len == 9) {
+      return 8846;
+    }
+    break;
+    /* Uogon */
+  case 0x22ff9bbfeb166d37ULL:
+    if (len == 5) {
+      return 370;
+    }
+    break;
+    /* Uopf */
+  case 0x99d0ebf08d671db3ULL:
+    if (len == 4) {
+      return 120140;
+    }
+    break;
+    /* UpArrow */
+  case 0xda23e4228bf4d3d9ULL:
+    if (len == 7) {
+      return 8593;
+    }
+    break;
+    /* UpArrowBar */
+  case 0xe1650c29c242d1b6ULL:
+    if (len == 10) {
+      return 10514;
+    }
+    break;
+    /* UpArrowDownArrow */
+  case 0x713760ad99e42112ULL:
+    if (len == 16) {
+      return 8645;
+    }
+    break;
+    /* UpDownArrow */
+  case 0x34fbc7deb364c18dULL:
+    if (len == 11) {
+      return 8597;
+    }
+    break;
+    /* UpEquilibrium */
+  case 0x7e89d9f79bfff97cULL:
+    if (len == 13) {
+      return 10606;
+    }
+    break;
+    /* UpTee */
+  case 0x1f6068bad917b3daULL:
+    if (len == 5) {
+      return 8869;
+    }
+    break;
+    /* UpTeeArrow */
+  case 0x5ce9d40c5717bc07ULL:
+    if (len == 10) {
+      return 8613;
+    }
+    break;
+    /* Uparrow */
+  case 0x1a63fcbc19df8179ULL:
+    if (len == 7) {
+      return 8657;
+    }
+    break;
+    /* Updownarrow */
+  case 0xf8eb0549c8dfe58dULL:
+    if (len == 11) {
+      return 8661;
+    }
+    break;
+    /* UpperLeftArrow */
+  case 0x298c71afab8df2f3ULL:
+    if (len == 14) {
+      return 8598;
+    }
+    break;
+    /* UpperRightArrow */
+  case 0xebfe1bd77ca04718ULL:
+    if (len == 15) {
+      return 8599;
+    }
+    break;
+    /* Upsi */
+  case 0x8ac8f5eff32df960ULL:
+    if (len == 4) {
+      return 978;
+    }
+    break;
+    /* Upsilon */
+  case 0xa1f7fceef5a297edULL:
+    if (len == 7) {
+      return 933;
+    }
+    break;
+    /* Uring */
+  case 0x15254fcbec774b0aULL:
+    if (len == 5) {
+      return 366;
+    }
+    break;
+    /* Uscr */
+  case 0xa48891f001b29054ULL:
+    if (len == 4) {
+      return 119984;
+    }
+    break;
+    /* Utilde */
+  case 0x97f1a869244c7456ULL:
+    if (len == 6) {
+      return 360;
+    }
+    break;
+    /* Uuml */
+  case 0xb684e9f00c12012eULL:
+    if (len == 4) {
+      return 220;
+    }
+    break;
+    /* VDash */
+  case 0xf9f9fbd541f42d31ULL:
+    if (len == 5) {
+      return 8875;
+    }
+    break;
+    /* Vbar */
+  case 0xddb3a3081556cc66ULL:
+    if (len == 4) {
+      return 10987;
+    }
+    break;
+    /* Vcy */
+  case 0x7bad3b19e9abb165ULL:
+    if (len == 3) {
+      return 1042;
+    }
+    break;
+    /* Vdash */
+  case 0x7c4dface2b674051ULL:
+    if (len == 5) {
+      return 8873;
+    }
+    break;
+    /* Vdashl */
+  case 0x9fc16953c07227a7ULL:
+    if (len == 6) {
+      return 10982;
+    }
+    break;
+    /* Vee */
+  case 0x7bb41b19e9b199b3ULL:
+    if (len == 3) {
+      return 8897;
+    }
+    break;
+    /* Verbar */
+  case 0x6436f182ff56fc93ULL:
+    if (len == 6) {
+      return 8214;
+    }
+    break;
+    /* Vert */
+  case 0xe4ead20819044c62ULL:
+    if (len == 4) {
+      return 8214;
+    }
+    break;
+    /* VerticalBar */
+  case 0xad21ba66552dc534ULL:
+    if (len == 11) {
+      return 8739;
+    }
+    break;
+    /* VerticalLine */
+  case 0x38f15cd0fd839411ULL:
+    if (len == 12) {
+      return 124;
+    }
+    break;
+    /* VerticalSeparator */
+  case 0x1e098493b4b3b046ULL:
+    if (len == 17) {
+      return 10072;
+    }
+    break;
+    /* VerticalTilde */
+  case 0xf060f1583b63cc1bULL:
+    if (len == 13) {
+      return 8768;
+    }
+    break;
+    /* VeryThinSpace */
+  case 0x6013db4250691908ULL:
+    if (len == 13) {
+      return 8202;
+    }
+    break;
+    /* Vfr */
+  case 0x7bbe4219e9ba307dULL:
+    if (len == 3) {
+      return 120089;
+    }
+    break;
+    /* Vopf */
+  case 0xb231ca07fca46ac0ULL:
+    if (len == 4) {
+      return 120141;
+    }
+    break;
+    /* Vscr */
+  case 0x5fa214085eef1e5fULL:
+    if (len == 4) {
+      return 119985;
+    }
+    break;
+    /* Vvdash */
+  case 0x1a85f221b12f94edULL:
+    if (len == 6) {
+      return 8874;
+    }
+    break;
+    /* Wcirc */
+  case 0x875d7ca143918579ULL:
+    if (len == 5) {
+      return 372;
+    }
+    break;
+    /* Wedge */
+  case 0x3744c794850c54afULL:
+    if (len == 5) {
+      return 8896;
+    }
+    break;
+    /* Wfr */
+  case 0x749eff19e6212066ULL:
+    if (len == 3) {
+      return 120090;
+    }
+    break;
+    /* Wopf */
+  case 0x9aed0c0237dd3695ULL:
+    if (len == 4) {
+      return 120142;
+    }
+    break;
+    /* Wscr */
+  case 0xeddbca01d5e32512ULL:
+    if (len == 4) {
+      return 119986;
+    }
+    break;
+    /* Xfr */
+  case 0xd234c41a1aa84ff3ULL:
+    if (len == 3) {
+      return 120091;
+    }
+    break;
+    /* Xi */
+  case 0x095d3f07b5e8eecaULL:
+    if (len == 2) {
+      return 926;
+    }
+    break;
+    /* Xopf */
+  case 0x157bfa5b6f16a1baULL:
+    if (len == 4) {
+      return 120143;
+    }
+    break;
+    /* Xscr */
+  case 0x7b21dc5ba803236dULL:
+    if (len == 4) {
+      return 119987;
+    }
+    break;
+    /* YAcy */
+  case 0xdde72f562893b827ULL:
+    if (len == 4) {
+      return 1071;
+    }
+    break;
+    /* YIcy */
+  case 0x225977564f1ac80fULL:
+    if (len == 4) {
+      return 1031;
+    }
+    break;
+    /* YUcy */
+  case 0x30a9f355c67475ebULL:
+    if (len == 4) {
+      return 1070;
+    }
+    break;
+    /* Yacute */
+  case 0xc3a6fd883f2a3250ULL:
+    if (len == 6) {
+      return 221;
+    }
+    break;
+    /* Ycirc */
+  case 0x396e506d089c9323ULL:
+    if (len == 5) {
+      return 374;
+    }
+    break;
+    /* Ycy */
+  case 0xcb5ca81a174b84c4ULL:
+    if (len == 3) {
+      return 1067;
+    }
+    break;
+    /* Yfr */
+  case 0xcb4ba11a173d05acULL:
+    if (len == 3) {
+      return 120092;
+    }
+    break;
+    /* Yopf */
+  case 0xfdcaec55a9f3c6bfULL:
+    if (len == 4) {
+      return 120144;
+    }
+    break;
+    /* Yscr */
+  case 0x5059c25547a79680ULL:
+    if (len == 4) {
+      return 119988;
+    }
+    break;
+    /* Yuml */
+  case 0x1acfea5528e30162ULL:
+    if (len == 4) {
+      return 376;
+    }
+    break;
+    /* ZHcy */
+  case 0x1a4b406c8a557d37ULL:
+    if (len == 4) {
+      return 1046;
+    }
+    break;
+    /* Zacute */
+  case 0xee096f757f340b4bULL:
+    if (len == 6) {
+      return 377;
+    }
+    break;
+    /* Zcaron */
+  case 0xc3507fcda64a5a84ULL:
+    if (len == 6) {
+      return 381;
+    }
+    break;
+    /* Zcy */
+  case 0xe4791f1a25457b89ULL:
+    if (len == 3) {
+      return 1047;
+    }
+    break;
+    /* Zdot */
+  case 0x53c6076d3c5b7568ULL:
+    if (len == 4) {
+      return 379;
+    }
+    break;
+    /* ZeroWidthSpace */
+  case 0x42d4a3cb0af63675ULL:
+    if (len == 14) {
+      return 8203;
+    }
+    break;
+    /* Zeta */
+  case 0x4957c36d35f2197fULL:
+    if (len == 4) {
+      return 918;
+    }
+    break;
+    /* Zfr */
+  case 0xe46f161a253d17b9ULL:
+    if (len == 3) {
+      return 8488;
+    }
+    break;
+    /* Zopf */
+  case 0x1697ca6d198c32acULL:
+    if (len == 4) {
+      return 8484;
+    }
+    break;
+    /* Zscr */
+  case 0x08e7646da2bad5abULL:
+    if (len == 4) {
+      return 119989;
+    }
+    break;
+    /* aacute */
+  case 0xedea01307a28bc78ULL:
+    if (len == 6) {
+      return 225;
+    }
+    break;
+    /* abreve */
+  case 0x3f5220bccf487022ULL:
+    if (len == 6) {
+      return 259;
+    }
+    break;
+    /* ac */
+  case 0x089c4507b5459a1dULL:
+    if (len == 2) {
+      return 8766;
+    }
+    break;
+    /* acd */
+  case 0xe723c51905457b9bULL:
+    if (len == 3) {
+      return 8767;
+    }
+    break;
+    /* acirc */
+  case 0x3e897139545561cbULL:
+    if (len == 5) {
+      return 226;
+    }
+    break;
+    /* acute */
+  case 0xd5c5773918c343f3ULL:
+    if (len == 5) {
+      return 180;
+    }
+    break;
+    /* acy */
+  case 0xe723b019054557ecULL:
+    if (len == 3) {
+      return 1072;
+    }
+    break;
+    /* aelig */
+  case 0x28976e03b7ae3319ULL:
+    if (len == 5) {
+      return 230;
+    }
+    break;
+    /* af */
+  case 0x089c4007b545919eULL:
+    if (len == 2) {
+      return 8289;
+    }
+    break;
+    /* afr */
+  case 0xe712b9190536f404ULL:
+    if (len == 3) {
+      return 120094;
+    }
+    break;
+    /* agrave */
+  case 0x3b9cd06820b07e8dULL:
+    if (len == 6) {
+      return 224;
+    }
+    break;
+    /* alefsym */
+  case 0x427dfe87cf9c5b9aULL:
+    if (len == 7) {
+      return 8501;
+    }
+    break;
+    /* aleph */
+  case 0x2cdf83bb5121d4efULL:
+    if (len == 5) {
+      return 8501;
+    }
+    break;
+    /* alpha */
+  case 0x8ac625bb85ed202bULL:
+    if (len == 5) {
+      return 945;
+    }
+    break;
+    /* amacr */
+  case 0x6d029dc24ea1cf07ULL:
+    if (len == 5) {
+      return 257;
+    }
+    break;
+    /* amalg */
+  case 0x6d1388c24eb01e8bULL:
+    if (len == 5) {
+      return 10815;
+    }
+    break;
+    /* amp */
+  case 0xe6f3a519051c2179ULL:
+    if (len == 3) {
+      return 38;
+    }
+    break;
+    /* and */
+  case 0xe6f79719051ff286ULL:
+    if (len == 3) {
+      return 8743;
+    }
+    break;
+    /* andand */
+  case 0x9883656beaefc50fULL:
+    if (len == 6) {
+      return 10837;
+    }
+    break;
+    /* andd */
+  case 0x96a8a183b549b606ULL:
+    if (len == 4) {
+      return 10844;
+    }
+    break;
+    /* andslope */
+  case 0x9f0c6f0b18b522e9ULL:
+    if (len == 8) {
+      return 10840;
+    }
+    break;
+    /* andv */
+  case 0x96a8af83b549cdd0ULL:
+    if (len == 4) {
+      return 10842;
+    }
+    break;
+    /* ang */
+  case 0xe6f79619051ff0d3ULL:
+    if (len == 3) {
+      return 8736;
+    }
+    break;
+    /* ange */
+  case 0x96a4c283b5460542ULL:
+    if (len == 4) {
+      return 10660;
+    }
+    break;
+    /* angle */
+  case 0x401ab8cd06158638ULL:
+    if (len == 5) {
+      return 8736;
+    }
+    break;
+    /* angmsd */
+  case 0xf8691d615017153dULL:
+    if (len == 6) {
+      return 8737;
+    }
+    break;
+    /* angmsdaa */
+  case 0xab3c27c8765acb0fULL:
+    if (len == 8) {
+      return 10664;
+    }
+    break;
+    /* angmsdab */
+  case 0xab3c28c8765accc2ULL:
+    if (len == 8) {
+      return 10665;
+    }
+    break;
+    /* angmsdac */
+  case 0xab3c29c8765ace75ULL:
+    if (len == 8) {
+      return 10666;
+    }
+    break;
+    /* angmsdad */
+  case 0xab3c22c8765ac290ULL:
+    if (len == 8) {
+      return 10667;
+    }
+    break;
+    /* angmsdae */
+  case 0xab3c23c8765ac443ULL:
+    if (len == 8) {
+      return 10668;
+    }
+    break;
+    /* angmsdaf */
+  case 0xab3c24c8765ac5f6ULL:
+    if (len == 8) {
+      return 10669;
+    }
+    break;
+    /* angmsdag */
+  case 0xab3c25c8765ac7a9ULL:
+    if (len == 8) {
+      return 10670;
+    }
+    break;
+    /* angmsdah */
+  case 0xab3c2ec8765ad6f4ULL:
+    if (len == 8) {
+      return 10671;
+    }
+    break;
+    /* angrt */
+  case 0x3fb4bdcd05bedb85ULL:
+    if (len == 5) {
+      return 8735;
+    }
+    break;
+    /* angrtvb */
+  case 0x9354b16be07f1331ULL:
+    if (len == 7) {
+      return 8894;
+    }
+    break;
+    /* angrtvbd */
+  case 0xd7fccf4e77edd96fULL:
+    if (len == 8) {
+      return 10653;
+    }
+    break;
+    /* angsph */
+  case 0xf4235d60bc8dc208ULL:
+    if (len == 6) {
+      return 8738;
+    }
+    break;
+    /* angst */
+  case 0x3fb0b7cd05bae87cULL:
+    if (len == 5) {
+      return 197;
+    }
+    break;
+    /* angzarr */
+  case 0xc6cdeaad8d1103a2ULL:
+    if (len == 7) {
+      return 9084;
+    }
+    break;
+    /* aogon */
+  case 0x0cf463d453e1e9b3ULL:
+    if (len == 5) {
+      return 261;
+    }
+    break;
+    /* aopf */
+  case 0x9e4fda83b9564eb7ULL:
+    if (len == 4) {
+      return 120146;
+    }
+    break;
+    /* ap */
+  case 0x089c5207b545b034ULL:
+    if (len == 2) {
+      return 8776;
+    }
+    break;
+    /* apE */
+  case 0xe74fd419056ad003ULL:
+    if (len == 3) {
+      return 10864;
+    }
+    break;
+    /* apacir */
+  case 0x5f3cc1cd02de219fULL:
+    if (len == 6) {
+      return 10863;
+    }
+    break;
+    /* ape */
+  case 0xe74fb419056a99a3ULL:
+    if (len == 3) {
+      return 8778;
+    }
+    break;
+    /* apid */
+  case 0x7731cd8434465239ULL:
+    if (len == 4) {
+      return 8779;
+    }
+    break;
+    /* apos */
+  case 0x772ad684344042d6ULL:
+    if (len == 4) {
+      return 39;
+    }
+    break;
+    /* approx */
+  case 0xf6f732436054c575ULL:
+    if (len == 6) {
+      return 8776;
+    }
+    break;
+    /* approxeq */
+  case 0x3963fcdf2270dc73ULL:
+    if (len == 8) {
+      return 8778;
+    }
+    break;
+    /* aring */
+  case 0xad28c1b66943af66ULL:
+    if (len == 5) {
+      return 229;
+    }
+    break;
+    /* ascr */
+  case 0x90396084422e1c88ULL:
+    if (len == 4) {
+      return 119990;
+    }
+    break;
+    /* ast */
+  case 0xe759b5190572efdbULL:
+    if (len == 3) {
+      return 42;
+    }
+    break;
+    /* asymp */
+  case 0x7265e4bc90c95ea9ULL:
+    if (len == 5) {
+      return 8776;
+    }
+    break;
+    /* asympeq */
+  case 0xcdc771287ce765efULL:
+    if (len == 7) {
+      return 8781;
+    }
+    break;
+    /* atilde */
+  case 0x05d4ecb7fe854daaULL:
+    if (len == 6) {
+      return 227;
+    }
+    break;
+    /* auml */
+  case 0x5ddf5884261ecf6aULL:
+    if (len == 4) {
+      return 228;
+    }
+    break;
+    /* awconint */
+  case 0x27feddaa36b56c30ULL:
+    if (len == 8) {
+      return 8755;
+    }
+    break;
+    /* awint */
+  case 0x48310e9dacc4fc22ULL:
+    if (len == 5) {
+      return 10769;
+    }
+    break;
+    /* bNot */
+  case 0xea87339c68299b2aULL:
+    if (len == 4) {
+      return 10989;
+    }
+    break;
+    /* backcong */
+  case 0xf7a31fb4a5b9a90bULL:
+    if (len == 8) {
+      return 8780;
+    }
+    break;
+    /* backepsilon */
+  case 0x1f86996fd8144d1cULL:
+    if (len == 11) {
+      return 1014;
+    }
+    break;
+    /* backprime */
+  case 0x89ef4bffd15d8309ULL:
+    if (len == 9) {
+      return 8245;
+    }
+    break;
+    /* backsim */
+  case 0xab5800f4f5168169ULL:
+    if (len == 7) {
+      return 8765;
+    }
+    break;
+    /* backsimeq */
+  case 0xf669bfbb371fc8afULL:
+    if (len == 9) {
+      return 8909;
+    }
+    break;
+    /* barvee */
+  case 0xb231c09ae7a186c2ULL:
+    if (len == 6) {
+      return 8893;
+    }
+    break;
+    /* barwed */
+  case 0xb9fae89aebcae8f6ULL:
+    if (len == 6) {
+      return 8965;
+    }
+    break;
+    /* barwedge */
+  case 0xa902e07a80d93432ULL:
+    if (len == 8) {
+      return 8965;
+    }
+    break;
+    /* bbrk */
+  case 0xb39c7a9bb85128daULL:
+    if (len == 4) {
+      return 9141;
+    }
+    break;
+    /* bbrktbrk */
+  case 0x70de54777288938fULL:
+    if (len == 8) {
+      return 9142;
+    }
+    break;
+    /* bcong */
+  case 0x529afe8f454763a4ULL:
+    if (len == 5) {
+      return 8780;
+    }
+    break;
+    /* bcy */
+  case 0x003f2719133d9bb1ULL:
+    if (len == 3) {
+      return 1073;
+    }
+    break;
+    /* bdquo */
+  case 0x3f77cc650c415f12ULL:
+    if (len == 5) {
+      return 8222;
+    }
+    break;
+    /* becaus */
+  case 0x128df4455afcabbcULL:
+    if (len == 6) {
+      return 8757;
+    }
+    break;
+    /* because */
+  case 0x83e1ead99b5801bbULL:
+    if (len == 7) {
+      return 8757;
+    }
+    break;
+    /* bemptyv */
+  case 0x2921ac040bcfdf88ULL:
+    if (len == 7) {
+      return 10672;
+    }
+    break;
+    /* bepsi */
+  case 0xe9e9195e93d2d070ULL:
+    if (len == 5) {
+      return 1014;
+    }
+    break;
+    /* bernou */
+  case 0x8bef73c2769abe90ULL:
+    if (len == 6) {
+      return 8492;
+    }
+    break;
+    /* beta */
+  case 0x7627619b954620a7ULL:
+    if (len == 4) {
+      return 946;
+    }
+    break;
+    /* beth */
+  case 0x7627589b9546115cULL:
+    if (len == 4) {
+      return 8502;
+    }
+    break;
+    /* between */
+  case 0x13f5793e33ebda4fULL:
+    if (len == 7) {
+      return 8812;
+    }
+    break;
+    /* bfr */
+  case 0x00352e1913355311ULL:
+    if (len == 3) {
+      return 120095;
+    }
+    break;
+    /* bigcap */
+  case 0x66a1cd38b4559337ULL:
+    if (len == 6) {
+      return 8898;
+    }
+    break;
+    /* bigcirc */
+  case 0x75aac35a468b94a2ULL:
+    if (len == 7) {
+      return 9711;
+    }
+    break;
+    /* bigcup */
+  case 0x66cab538b4786f83ULL:
+    if (len == 6) {
+      return 8899;
+    }
+    break;
+    /* bigodot */
+  case 0x00329d36af984149ULL:
+    if (len == 7) {
+      return 10752;
+    }
+    break;
+    /* bigoplus */
+  case 0xb3fa774c9b5999d6ULL:
+    if (len == 8) {
+      return 10753;
+    }
+    break;
+    /* bigotimes */
+  case 0x964677165af01df0ULL:
+    if (len == 9) {
+      return 10754;
+    }
+    break;
+    /* bigsqcup */
+  case 0xcba3da4d7567bb77ULL:
+    if (len == 8) {
+      return 10758;
+    }
+    break;
+    /* bigstar */
+  case 0xaebaced22dc666cdULL:
+    if (len == 7) {
+      return 9733;
+    }
+    break;
+    /* bigtriangledown */
+  case 0x1fc10217e49907c1ULL:
+    if (len == 15) {
+      return 9661;
+    }
+    break;
+    /* bigtriangleup */
+  case 0x22c381a2b4a5cb54ULL:
+    if (len == 13) {
+      return 9651;
+    }
+    break;
+    /* biguplus */
+  case 0xd574b3a4a232e004ULL:
+    if (len == 8) {
+      return 10756;
+    }
+    break;
+    /* bigvee */
+  case 0x0591f5387cda7157ULL:
+    if (len == 6) {
+      return 8897;
+    }
+    break;
+    /* bigwedge */
+  case 0x7cb187b4d69a7c43ULL:
+    if (len == 8) {
+      return 8896;
+    }
+    break;
+    /* bkarow */
+  case 0x3a1703b39d00232fULL:
+    if (len == 6) {
+      return 10509;
+    }
+    break;
+    /* blacklozenge */
+  case 0xe140184056c4c19eULL:
+    if (len == 12) {
+      return 10731;
+    }
+    break;
+    /* blacksquare */
+  case 0x326bda4e4b76ad43ULL:
+    if (len == 11) {
+      return 9642;
+    }
+    break;
+    /* blacktriangle */
+  case 0x51a4d3c0f2e80080ULL:
+    if (len == 13) {
+      return 9652;
+    }
+    break;
+    /* blacktriangledown */
+  case 0x5888191ebb113c4cULL:
+    if (len == 17) {
+      return 9662;
+    }
+    break;
+    /* blacktriangleleft */
+  case 0x09ec9b6536e37281ULL:
+    if (len == 17) {
+      return 9666;
+    }
+    break;
+    /* blacktriangleright */
+  case 0x352e04485c817ee2ULL:
+    if (len == 18) {
+      return 9656;
+    }
+    break;
+    /* blank */
+  case 0x4b31e8abbc4aafc1ULL:
+    if (len == 5) {
+      return 9251;
+    }
+    break;
+    /* blk12 */
+  case 0xf34977ab8a22afa3ULL:
+    if (len == 5) {
+      return 9618;
+    }
+    break;
+    /* blk14 */
+  case 0xf3497dab8a22b9d5ULL:
+    if (len == 5) {
+      return 9617;
+    }
+    break;
+    /* blk34 */
+  case 0xf35089ab8a28ece7ULL:
+    if (len == 5) {
+      return 9619;
+    }
+    break;
+    /* block */
+  case 0x14e5faab9ce0e362ULL:
+    if (len == 5) {
+      return 9608;
+    }
+    break;
+    /* bnot */
+  case 0xd47e139bca708ecaULL:
+    if (len == 4) {
+      return 8976;
+    }
+    break;
+    /* bopf */
+  case 0xcd25d89bc6a7c704ULL:
+    if (len == 4) {
+      return 120147;
+    }
+    break;
+    /* bot */
+  case 0x004d32191349ebbeULL:
+    if (len == 3) {
+      return 8869;
+    }
+    break;
+    /* bottom */
+  case 0xe117b24625d0110aULL:
+    if (len == 6) {
+      return 8869;
+    }
+    break;
+    /* bowtie */
+  case 0xc52b083fcd2c748bULL:
+    if (len == 6) {
+      return 8904;
+    }
+    break;
+    /* boxDL */
+  case 0xf7b114b2660eaacaULL:
+    if (len == 5) {
+      return 9559;
+    }
+    break;
+    /* boxDR */
+  case 0xf7b116b2660eae30ULL:
+    if (len == 5) {
+      return 9556;
+    }
+    break;
+    /* boxDl */
+  case 0xf7b134b2660ee12aULL:
+    if (len == 5) {
+      return 9558;
+    }
+    break;
+    /* boxDr */
+  case 0xf7b136b2660ee490ULL:
+    if (len == 5) {
+      return 9555;
+    }
+    break;
+    /* boxH */
+  case 0xcd0a0e9bc68fa80eULL:
+    if (len == 4) {
+      return 9552;
+    }
+    break;
+    /* boxHD */
+  case 0xf7bf1cb2661af5beULL:
+    if (len == 5) {
+      return 9574;
+    }
+    break;
+    /* boxHU */
+  case 0xf7bf2db2661b12a1ULL:
+    if (len == 5) {
+      return 9577;
+    }
+    break;
+    /* boxHd */
+  case 0xf7bf3cb2661b2c1eULL:
+    if (len == 5) {
+      return 9572;
+    }
+    break;
+    /* boxHu */
+  case 0xf7bf4db2661b4901ULL:
+    if (len == 5) {
+      return 9575;
+    }
+    break;
+    /* boxUL */
+  case 0xf77e12b265e34dcbULL:
+    if (len == 5) {
+      return 9565;
+    }
+    break;
+    /* boxUR */
+  case 0xf77e20b265e36595ULL:
+    if (len == 5) {
+      return 9562;
+    }
+    break;
+    /* boxUl */
+  case 0xf77e32b265e3842bULL:
+    if (len == 5) {
+      return 9564;
+    }
+    break;
+    /* boxUr */
+  case 0xf77e40b265e39bf5ULL:
+    if (len == 5) {
+      return 9561;
+    }
+    break;
+    /* boxV */
+  case 0xcd09f89bc68f82acULL:
+    if (len == 4) {
+      return 9553;
+    }
+    break;
+    /* boxVH */
+  case 0xf77454b265db696cULL:
+    if (len == 5) {
+      return 9580;
+    }
+    break;
+    /* boxVL */
+  case 0xf77450b265db62a0ULL:
+    if (len == 5) {
+      return 9571;
+    }
+    break;
+    /* boxVR */
+  case 0xf7746eb265db959aULL:
+    if (len == 5) {
+      return 9568;
+    }
+    break;
+    /* boxVh */
+  case 0xf77434b265db330cULL:
+    if (len == 5) {
+      return 9579;
+    }
+    break;
+    /* boxVl */
+  case 0xf77430b265db2c40ULL:
+    if (len == 5) {
+      return 9570;
+    }
+    break;
+    /* boxVr */
+  case 0xf7744eb265db5f3aULL:
+    if (len == 5) {
+      return 9567;
+    }
+    break;
+    /* boxbox */
+  case 0xa8b8cd22b199ab2fULL:
+    if (len == 6) {
+      return 10697;
+    }
+    break;
+    /* boxdL */
+  case 0xf74454b265b245aaULL:
+    if (len == 5) {
+      return 9557;
+    }
+    break;
+    /* boxdR */
+  case 0xf74456b265b24910ULL:
+    if (len == 5) {
+      return 9554;
+    }
+    break;
+    /* boxdl */
+  case 0xf74434b265b20f4aULL:
+    if (len == 5) {
+      return 9488;
+    }
+    break;
+    /* boxdr */
+  case 0xf74436b265b212b0ULL:
+    if (len == 5) {
+      return 9484;
+    }
+    break;
+    /* boxh */
+  case 0xcd09ee9bc68f71aeULL:
+    if (len == 4) {
+      return 9472;
+    }
+    break;
+    /* boxhD */
+  case 0xf7525cb265be909eULL:
+    if (len == 5) {
+      return 9573;
+    }
+    break;
+    /* boxhU */
+  case 0xf7526db265bead81ULL:
+    if (len == 5) {
+      return 9576;
+    }
+    break;
+    /* boxhd */
+  case 0xf7523cb265be5a3eULL:
+    if (len == 5) {
+      return 9516;
+    }
+    break;
+    /* boxhu */
+  case 0xf7524db265be7721ULL:
+    if (len == 5) {
+      return 9524;
+    }
+    break;
+    /* boxminus */
+  case 0x5ce8a2f5a44bf02eULL:
+    if (len == 8) {
+      return 8863;
+    }
+    break;
+    /* boxplus */
+  case 0xd798de7c66e871a6ULL:
+    if (len == 7) {
+      return 8862;
+    }
+    break;
+    /* boxtimes */
+  case 0xe9ecdf64a372ce00ULL:
+    if (len == 8) {
+      return 8864;
+    }
+    break;
+    /* boxuL */
+  case 0xf71152b26586e8abULL:
+    if (len == 5) {
+      return 9563;
+    }
+    break;
+    /* boxuR */
+  case 0xf71160b265870075ULL:
+    if (len == 5) {
+      return 9560;
+    }
+    break;
+    /* boxul */
+  case 0xf71132b26586b24bULL:
+    if (len == 5) {
+      return 9496;
+    }
+    break;
+    /* boxur */
+  case 0xf71140b26586ca15ULL:
+    if (len == 5) {
+      return 9492;
+    }
+    break;
+    /* boxv */
+  case 0xcd09d89bc68f4c4cULL:
+    if (len == 4) {
+      return 9474;
+    }
+    break;
+    /* boxvH */
+  case 0xf70714b2657e2accULL:
+    if (len == 5) {
+      return 9578;
+    }
+    break;
+    /* boxvL */
+  case 0xf70710b2657e2400ULL:
+    if (len == 5) {
+      return 9569;
+    }
+    break;
+    /* boxvR */
+  case 0xf7072eb2657e56faULL:
+    if (len == 5) {
+      return 9566;
+    }
+    break;
+    /* boxvh */
+  case 0xf70734b2657e612cULL:
+    if (len == 5) {
+      return 9532;
+    }
+    break;
+    /* boxvl */
+  case 0xf70730b2657e5a60ULL:
+    if (len == 5) {
+      return 9508;
+    }
+    break;
+    /* boxvr */
+  case 0xf7074eb2657e8d5aULL:
+    if (len == 5) {
+      return 9500;
+    }
+    break;
+    /* bprime */
+  case 0x6e336f092b135bc0ULL:
+    if (len == 6) {
+      return 8245;
+    }
+    break;
+    /* breve */
+  case 0x9391771deba731f5ULL:
+    if (len == 5) {
+      return 728;
+    }
+    break;
+    /* brvbar */
+  case 0x2f8cb2679876e436ULL:
+    if (len == 6) {
+      return 166;
+    }
+    break;
+    /* bscr */
+  case 0x3549c29c01b19e33ULL:
+    if (len == 4) {
+      return 119991;
+    }
+    break;
+    /* bsemi */
+  case 0x73e6fb16ffedbd43ULL:
+    if (len == 5) {
+      return 8271;
+    }
+    break;
+    /* bsim */
+  case 0x356bdb9c01ceaf14ULL:
+    if (len == 4) {
+      return 8765;
+    }
+    break;
+    /* bsime */
+  case 0x94f59b1712341d03ULL:
+    if (len == 5) {
+      return 8909;
+    }
+    break;
+    /* bsol */
+  case 0x3572e09c01d4d641ULL:
+    if (len == 4) {
+      return 92;
+    }
+    break;
+    /* bsolb */
+  case 0xa709cc171ca7dd79ULL:
+    if (len == 5) {
+      return 10693;
+    }
+    break;
+    /* bsolhsub */
+  case 0xbcd9c3005169587fULL:
+    if (len == 8) {
+      return 10184;
+    }
+    break;
+    /* bull */
+  case 0xffcae49be2f70668ULL:
+    if (len == 4) {
+      return 8226;
+    }
+    break;
+    /* bullet */
+  case 0x27fd172670080039ULL:
+    if (len == 6) {
+      return 8226;
+    }
+    break;
+    /* bump */
+  case 0xffcdd69be2f92475ULL:
+    if (len == 4) {
+      return 8782;
+    }
+    break;
+    /* bumpE */
+  case 0xa3e7dae2ad587d90ULL:
+    if (len == 5) {
+      return 10926;
+    }
+    break;
+    /* bumpe */
+  case 0xa3e7bae2ad584730ULL:
+    if (len == 5) {
+      return 8783;
+    }
+    break;
+    /* bumpeq */
+  case 0xdb09d02c8d011373ULL:
+    if (len == 6) {
+      return 8783;
+    }
+    break;
+    /* cacute */
+  case 0x7a6117c2eb89164eULL:
+    if (len == 6) {
+      return 263;
+    }
+    break;
+    /* cap */
+  case 0xf5e303190ce49c5bULL:
+    if (len == 3) {
+      return 8745;
+    }
+    break;
+    /* capand */
+  case 0x75f4cf4050f8e70cULL:
+    if (len == 6) {
+      return 10820;
+    }
+    break;
+    /* capbrcup */
+  case 0xb08a1c9466fb22e5ULL:
+    if (len == 8) {
+      return 10825;
+    }
+    break;
+    /* capcap */
+  case 0x63fb9f40469bf001ULL:
+    if (len == 6) {
+      return 10827;
+    }
+    break;
+    /* capcup */
+  case 0x643f974046d5af35ULL:
+    if (len == 6) {
+      return 10823;
+    }
+    break;
+    /* capdot */
+  case 0xa14eb040698a0436ULL:
+    if (len == 6) {
+      return 10816;
+    }
+    break;
+    /* caret */
+  case 0xaf9aa53b09744808ULL:
+    if (len == 5) {
+      return 8257;
+    }
+    break;
+    /* caron */
+  case 0xafbc8f3b0991090cULL:
+    if (len == 5) {
+      return 711;
+    }
+    break;
+    /* ccaps */
+  case 0xa0049d28c53d27e3ULL:
+    if (len == 5) {
+      return 10829;
+    }
+    break;
+    /* ccaron */
+  case 0x135a47471cd543c5ULL:
+    if (len == 6) {
+      return 269;
+    }
+    break;
+    /* ccedil */
+  case 0x9353a36aba40d147ULL:
+    if (len == 6) {
+      return 231;
+    }
+    break;
+    /* ccirc */
+  case 0xe4dcdd28ec1add65ULL:
+    if (len == 5) {
+      return 265;
+    }
+    break;
+    /* ccups */
+  case 0x4d42d929275e1d1fULL:
+    if (len == 5) {
+      return 10828;
+    }
+    break;
+    /* ccupssm */
+  case 0x3094013bfd0225ebULL:
+    if (len == 7) {
+      return 10832;
+    }
+    break;
+    /* cdot */
+  case 0xce6cdd90f666f1b9ULL:
+    if (len == 4) {
+      return 267;
+    }
+    break;
+    /* cedil */
+  case 0xc773035e6bd81236ULL:
+    if (len == 5) {
+      return 184;
+    }
+    break;
+    /* cemptyv */
+  case 0xfdb3fba1f6c681d3ULL:
+    if (len == 7) {
+      return 10674;
+    }
+    break;
+    /* cent */
+  case 0xd9920290fd6b234fULL:
+    if (len == 4) {
+      return 162;
+    }
+    break;
+    /* centerdot */
+  case 0x2971ee7e30eab3cbULL:
+    if (len == 9) {
+      return 183;
+    }
+    break;
+    /* cfr */
+  case 0xf5e60b190ce6dfcaULL:
+    if (len == 3) {
+      return 120096;
+    }
+    break;
+    /* chcy */
+  case 0xf29c8c910b55142aULL:
+    if (len == 4) {
+      return 1095;
+    }
+    break;
+    /* check */
+  case 0x830cf17637260a67ULL:
+    if (len == 5) {
+      return 10003;
+    }
+    break;
+    /* checkmark */
+  case 0x851faf02ca753532ULL:
+    if (len == 9) {
+      return 10003;
+    }
+    break;
+    /* chi */
+  case 0xf5faf6190cf91825ULL:
+    if (len == 3) {
+      return 967;
+    }
+    break;
+    /* cir */
+  case 0xf5fdf5190cfb4c49ULL:
+    if (len == 3) {
+      return 9675;
+    }
+    break;
+    /* cirE */
+  case 0xf9d385910f023864ULL:
+    if (len == 4) {
+      return 10691;
+    }
+    break;
+    /* circ */
+  case 0xf9d3a3910f026b5eULL:
+    if (len == 4) {
+      return 710;
+    }
+    break;
+    /* circeq */
+  case 0x2c7b618f62ee6090ULL:
+    if (len == 6) {
+      return 8791;
+    }
+    break;
+    /* circlearrowleft */
+  case 0x31ffd7e3c08715ffULL:
+    if (len == 15) {
+      return 8634;
+    }
+    break;
+    /* circlearrowright */
+  case 0x41c1836512521eb0ULL:
+    if (len == 16) {
+      return 8635;
+    }
+    break;
+    /* circledR */
+  case 0x0013fe405e688f5fULL:
+    if (len == 8) {
+      return 174;
+    }
+    break;
+    /* circledS */
+  case 0x0013fd405e688dacULL:
+    if (len == 8) {
+      return 9416;
+    }
+    break;
+    /* circledast */
+  case 0x8e629bd6aa1be615ULL:
+    if (len == 10) {
+      return 8859;
+    }
+    break;
+    /* circledcirc */
+  case 0x108df1b1f66d796cULL:
+    if (len == 11) {
+      return 8858;
+    }
+    break;
+    /* circleddash */
+  case 0xccdbf0aaf5e77bbbULL:
+    if (len == 11) {
+      return 8861;
+    }
+    break;
+    /* cire */
+  case 0xf9d3a5910f026ec4ULL:
+    if (len == 4) {
+      return 8791;
+    }
+    break;
+    /* cirfnint */
+  case 0xa05ae627d40e3d3aULL:
+    if (len == 8) {
+      return 10768;
+    }
+    break;
+    /* cirmid */
+  case 0xf94e948f462bf2a1ULL:
+    if (len == 6) {
+      return 10991;
+    }
+    break;
+    /* cirscir */
+  case 0xea80eb2cfcdaf958ULL:
+    if (len == 7) {
+      return 10690;
+    }
+    break;
+    /* clubs */
+  case 0x68f17994f4c0393aULL:
+    if (len == 5) {
+      return 9827;
+    }
+    break;
+    /* clubsuit */
+  case 0x622806af27ce26d8ULL:
+    if (len == 8) {
+      return 9827;
+    }
+    break;
+    /* colon */
+  case 0x77f5cd8e246c7a9cULL:
+    if (len == 5) {
+      return 58;
+    }
+    break;
+    /* colone */
+  case 0x43274187e454f51bULL:
+    if (len == 6) {
+      return 8788;
+    }
+    break;
+    /* coloneq */
+  case 0x70a9c3e8fc5d031eULL:
+    if (len == 7) {
+      return 8788;
+    }
+    break;
+    /* comma */
+  case 0x6d47878e1dcd3758ULL:
+    if (len == 5) {
+      return 44;
+    }
+    break;
+    /* commat */
+  case 0x7dc2827ca3b4bfc4ULL:
+    if (len == 6) {
+      return 64;
+    }
+    break;
+    /* comp */
+  case 0x0bcd0e91195fc6aaULL:
+    if (len == 4) {
+      return 8705;
+    }
+    break;
+    /* compfn */
+  case 0x527d9f7c8b35fb3eULL:
+    if (len == 6) {
+      return 8728;
+    }
+    break;
+    /* complement */
+  case 0x8c359ee736a77e9dULL:
+    if (len == 10) {
+      return 8705;
+    }
+    break;
+    /* complexes */
+  case 0x668e2fc28864ffdfULL:
+    if (len == 9) {
+      return 8450;
+    }
+    break;
+    /* cong */
+  case 0x0bc9f991195d6d24ULL:
+    if (len == 4) {
+      return 8773;
+    }
+    break;
+    /* congdot */
+  case 0xbe5eca19385c0babULL:
+    if (len == 7) {
+      return 10861;
+    }
+    break;
+    /* conint */
+  case 0x1983be75915754c4ULL:
+    if (len == 6) {
+      return 8750;
+    }
+    break;
+    /* copf */
+  case 0x0bf90a911984fac9ULL:
+    if (len == 4) {
+      return 120148;
+    }
+    break;
+    /* coprod */
+  case 0x578339e7ba570baeULL:
+    if (len == 6) {
+      return 8720;
+    }
+    break;
+    /* copy */
+  case 0x0bf903911984eee4ULL:
+    if (len == 4) {
+      return 169;
+    }
+    break;
+    /* copysr */
+  case 0x8302eae7d308a685ULL:
+    if (len == 6) {
+      return 8471;
+    }
+    break;
+    /* crarr */
+  case 0x9134f99ec3d24cd3ULL:
+    if (len == 5) {
+      return 8629;
+    }
+    break;
+    /* cross */
+  case 0x0c36469f09fb69fbULL:
+    if (len == 5) {
+      return 10007;
+    }
+    break;
+    /* cscr */
+  case 0x1a08789090a6f9e6ULL:
+    if (len == 4) {
+      return 119992;
+    }
+    break;
+    /* csub */
+  case 0x19e68890908a2eb0ULL:
+    if (len == 4) {
+      return 10959;
+    }
+    break;
+    /* csube */
+  case 0x8ce8e2a59acd93efULL:
+    if (len == 5) {
+      return 10961;
+    }
+    break;
+    /* csup */
+  case 0x19e67a90908a16e6ULL:
+    if (len == 4) {
+      return 10960;
+    }
+    break;
+    /* csupe */
+  case 0x8cb8c6a59aa44099ULL:
+    if (len == 5) {
+      return 10962;
+    }
+    break;
+    /* ctdot */
+  case 0x41ee3ecf9ed8b279ULL:
+    if (len == 5) {
+      return 8943;
+    }
+    break;
+    /* cudarrl */
+  case 0x6eeb40085784d622ULL:
+    if (len == 7) {
+      return 10552;
+    }
+    break;
+    /* cudarrr */
+  case 0x6eeb32085784be58ULL:
+    if (len == 7) {
+      return 10549;
+    }
+    break;
+    /* cuepr */
+  case 0x40209bd555ae69c6ULL:
+    if (len == 5) {
+      return 8926;
+    }
+    break;
+    /* cuesc */
+  case 0x402a9cd555b6bffeULL:
+    if (len == 5) {
+      return 8927;
+    }
+    break;
+    /* cularr */
+  case 0x5d964cc8d7ce7942ULL:
+    if (len == 6) {
+      return 8630;
+    }
+    break;
+    /* cularrp */
+  case 0xd4ddab46b3d7eff6ULL:
+    if (len == 7) {
+      return 10557;
+    }
+    break;
+    /* cup */
+  case 0xf5b9fb190cc189afULL:
+    if (len == 3) {
+      return 8746;
+    }
+    break;
+    /* cupbrcap */
+  case 0x4bbd37fb2de18bedULL:
+    if (len == 8) {
+      return 10824;
+    }
+    break;
+    /* cupcap */
+  case 0xf77c572e1372d6bdULL:
+    if (len == 6) {
+      return 10822;
+    }
+    break;
+    /* cupcup */
+  case 0xf7a53f2e1395b309ULL:
+    if (len == 6) {
+      return 10826;
+    }
+    break;
+    /* cupdot */
+  case 0xed48282e0d3b16caULL:
+    if (len == 6) {
+      return 8845;
+    }
+    break;
+    /* cupor */
+  case 0xf4c4f8d5bba437f6ULL:
+    if (len == 5) {
+      return 10821;
+    }
+    break;
+    /* curarr */
+  case 0x73c98940043acc48ULL:
+    if (len == 6) {
+      return 8631;
+    }
+    break;
+    /* curarrm */
+  case 0xfa405cc72fe8e2dfULL:
+    if (len == 7) {
+      return 10556;
+    }
+    break;
+    /* curlyeqprec */
+  case 0xd4946b2d9929ace6ULL:
+    if (len == 11) {
+      return 8926;
+    }
+    break;
+    /* curlyeqsucc */
+  case 0x3c5e8e4a4ec3347aULL:
+    if (len == 11) {
+      return 8927;
+    }
+    break;
+    /* curlyvee */
+  case 0xe0776ff2c16e341eULL:
+    if (len == 8) {
+      return 8910;
+    }
+    break;
+    /* curlywedge */
+  case 0x034d5584beafd08eULL:
+    if (len == 10) {
+      return 8911;
+    }
+    break;
+    /* curren */
+  case 0x034d603fc48db38aULL:
+    if (len == 6) {
+      return 164;
+    }
+    break;
+    /* curvearrowleft */
+  case 0xe096fcdd7ac90920ULL:
+    if (len == 14) {
+      return 8630;
+    }
+    break;
+    /* curvearrowright */
+  case 0xeb644e7c1e4767b5ULL:
+    if (len == 15) {
+      return 8631;
+    }
+    break;
+    /* cuvee */
+  case 0xe2d599d5b14f4593ULL:
+    if (len == 5) {
+      return 8910;
+    }
+    break;
+    /* cuwed */
+  case 0xdbca81d5adc72797ULL:
+    if (len == 5) {
+      return 8911;
+    }
+    break;
+    /* cwconint */
+  case 0x1fa4b574d71d1d26ULL:
+    if (len == 8) {
+      return 8754;
+    }
+    break;
+    /* cwint */
+  case 0xdae44dc4936703b0ULL:
+    if (len == 5) {
+      return 8753;
+    }
+    break;
+    /* cylcty */
+  case 0xd07432e303656d43ULL:
+    if (len == 6) {
+      return 9005;
+    }
+    break;
+    /* dArr */
+  case 0x98049267cb7dca5aULL:
+    if (len == 4) {
+      return 8659;
+    }
+    break;
+    /* dHar */
+  case 0xe70ceb67f88f3196ULL:
+    if (len == 4) {
+      return 10597;
+    }
+    break;
+    /* dagger */
+  case 0x4f161d6b34db5edbULL:
+    if (len == 6) {
+      return 8224;
+    }
+    break;
+    /* daleth */
+  case 0x79f111b3b730c635ULL:
+    if (len == 6) {
+      return 8504;
+    }
+    break;
+    /* darr */
+  case 0x8561726730a7e6faULL:
+    if (len == 4) {
+      return 8595;
+    }
+    break;
+    /* dash */
+  case 0x85657e6730abe435ULL:
+    if (len == 4) {
+      return 8208;
+    }
+    break;
+    /* dashv */
+  case 0x575a0c57b414ddd9ULL:
+    if (len == 5) {
+      return 8867;
+    }
+    break;
+    /* dbkarow */
+  case 0x59140fc62fcc5041ULL:
+    if (len == 7) {
+      return 10511;
+    }
+    break;
+    /* dblac */
+  case 0x3101ae4c3c126235ULL:
+    if (len == 5) {
+      return 733;
+    }
+    break;
+    /* dcaron */
+  case 0x3f05dc31b96caebeULL:
+    if (len == 6) {
+      return 271;
+    }
+    break;
+    /* dcy */
+  case 0xca862d18f4515c0bULL:
+    if (len == 3) {
+      return 1076;
+    }
+    break;
+    /* dd */
+  case 0x08915407b53bac15ULL:
+    if (len == 2) {
+      return 8518;
+    }
+    break;
+    /* ddagger */
+  case 0x43f215c694717be5ULL:
+    if (len == 7) {
+      return 8225;
+    }
+    break;
+    /* ddarr */
+  case 0x01c25481b18f8148ULL:
+    if (len == 5) {
+      return 8650;
+    }
+    break;
+    /* ddotseq */
+  case 0x08139206fa64c295ULL:
+    if (len == 7) {
+      return 10871;
+    }
+    break;
+    /* deg */
+  case 0xca9a1b18f461e67fULL:
+    if (len == 3) {
+      return 176;
+    }
+    break;
+    /* delta */
+  case 0x52076675ec13a0c1ULL:
+    if (len == 5) {
+      return 948;
+    }
+    break;
+    /* demptyv */
+  case 0x61f7904a558f3a42ULL:
+    if (len == 7) {
+      return 10673;
+    }
+    break;
+    /* dfisht */
+  case 0xdd5ed6afc1c66d6fULL:
+    if (len == 6) {
+      return 10623;
+    }
+    break;
+    /* dfr */
+  case 0xca974018f45fef87ULL:
+    if (len == 3) {
+      return 120097;
+    }
+    break;
+    /* dharl */
+  case 0x02fdfa9f5cc4a0eeULL:
+    if (len == 5) {
+      return 8643;
+    }
+    break;
+    /* dharr */
+  case 0x02fde49f5cc47b8cULL:
+    if (len == 5) {
+      return 8642;
+    }
+    break;
+    /* diam */
+  case 0xca14bd67576692f0ULL:
+    if (len == 4) {
+      return 8900;
+    }
+    break;
+    /* diamond */
+  case 0x21189197f0b60827ULL:
+    if (len == 7) {
+      return 8900;
+    }
+    break;
+    /* diamondsuit */
+  case 0x8c3c0ff1376040b6ULL:
+    if (len == 11) {
+      return 9830;
+    }
+    break;
+    /* diams */
+  case 0xc7d05999834af499ULL:
+    if (len == 5) {
+      return 9830;
+    }
+    break;
+    /* die */
+  case 0xcaa82d18f46e4271ULL:
+    if (len == 3) {
+      return 168;
+    }
+    break;
+    /* digamma */
+  case 0xefae0e15c5d97df7ULL:
+    if (len == 7) {
+      return 989;
+    }
+    break;
+    /* disin */
+  case 0x42329299c8ed774cULL:
+    if (len == 5) {
+      return 8946;
+    }
+    break;
+    /* div */
+  case 0xcaa83a18f46e5888ULL:
+    if (len == 3) {
+      return 247;
+    }
+    break;
+    /* divide */
+  case 0xd1376826789a1830ULL:
+    if (len == 6) {
+      return 247;
+    }
+    break;
+    /* divideontimes */
+  case 0x94eb5ee6011de7b9ULL:
+    if (len == 13) {
+      return 8903;
+    }
+    break;
+    /* divonx */
+  case 0x06ea53269781d2abULL:
+    if (len == 6) {
+      return 8903;
+    }
+    break;
+    /* djcy */
+  case 0xbfaa806751012bc3ULL:
+    if (len == 4) {
+      return 1106;
+    }
+    break;
+    /* dlcorn */
+  case 0x838d84afee467cbbULL:
+    if (len == 6) {
+      return 8990;
+    }
+    break;
+    /* dlcrop */
+  case 0x25ce79b0498458afULL:
+    if (len == 6) {
+      return 8973;
+    }
+    break;
+    /* dollar */
+  case 0xc4361a5b5c15e1ffULL:
+    if (len == 6) {
+      return 36;
+    }
+    break;
+    /* dopf */
+  case 0xdc06f86761bd7dfeULL:
+    if (len == 4) {
+      return 120149;
+    }
+    break;
+    /* dot */
+  case 0xcaaf2818f47458a0ULL:
+    if (len == 3) {
+      return 729;
+    }
+    break;
+    /* doteq */
+  case 0x7c7b02ab02e3000aULL:
+    if (len == 5) {
+      return 8784;
+    }
+    break;
+    /* doteqdot */
+  case 0x0fa6c3ef422c0931ULL:
+    if (len == 8) {
+      return 8785;
+    }
+    break;
+    /* dotminus */
+  case 0xcb413af30fc40d08ULL:
+    if (len == 8) {
+      return 8760;
+    }
+    break;
+    /* dotplus */
+  case 0x01c961128eed7a60ULL:
+    if (len == 7) {
+      return 8724;
+    }
+    break;
+    /* dotsquare */
+  case 0x89734e93d2e87cbfULL:
+    if (len == 9) {
+      return 8865;
+    }
+    break;
+    /* doublebarwedge */
+  case 0xc725363dc0b2c267ULL:
+    if (len == 14) {
+      return 8966;
+    }
+    break;
+    /* downarrow */
+  case 0x6aa141120ec25e36ULL:
+    if (len == 9) {
+      return 8595;
+    }
+    break;
+    /* downdownarrows */
+  case 0xb273ede722bd9f8fULL:
+    if (len == 14) {
+      return 8650;
+    }
+    break;
+    /* downharpoonleft */
+  case 0x5c092b157f929fe9ULL:
+    if (len == 15) {
+      return 8643;
+    }
+    break;
+    /* downharpoonright */
+  case 0x9f2be3bc337657caULL:
+    if (len == 16) {
+      return 8642;
+    }
+    break;
+    /* drbkarow */
+  case 0xcc41d6af83396381ULL:
+    if (len == 8) {
+      return 10512;
+    }
+    break;
+    /* drcorn */
+  case 0xb4e5dd9099f03199ULL:
+    if (len == 6) {
+      return 8991;
+    }
+    break;
+    /* drcrop */
+  case 0xb7cd4e900a0c0d41ULL:
+    if (len == 6) {
+      return 8972;
+    }
+    break;
+    /* dscr */
+  case 0xe9be8a66d8954471ULL:
+    if (len == 4) {
+      return 119993;
+    }
+    break;
+    /* dscy */
+  case 0xe9be7f66d89531c0ULL:
+    if (len == 4) {
+      return 1109;
+    }
+    break;
+    /* dsol */
+  case 0xe9e79466d8b85a83ULL:
+    if (len == 4) {
+      return 10742;
+    }
+    break;
+    /* dstrok */
+  case 0x884f973e86e7047cULL:
+    if (len == 6) {
+      return 273;
+    }
+    break;
+    /* dtdot */
+  case 0x6873aaf891068d60ULL:
+    if (len == 5) {
+      return 8945;
+    }
+    break;
+    /* dtri */
+  case 0x2407b666f8eebc34ULL:
+    if (len == 4) {
+      return 9663;
+    }
+    break;
+    /* dtrif */
+  case 0x27d742f8fda9ff56ULL:
+    if (len == 5) {
+      return 9662;
+    }
+    break;
+    /* duarr */
+  case 0x497ea1f2c82c0069ULL:
+    if (len == 5) {
+      return 8693;
+    }
+    break;
+    /* duhar */
+  case 0x8359d8f2e82705fdULL:
+    if (len == 5) {
+      return 10607;
+    }
+    break;
+    /* dwangle */
+  case 0xea9155e9d88d0897ULL:
+    if (len == 7) {
+      return 10662;
+    }
+    break;
+    /* dzcy */
+  case 0x35ebf06703396833ULL:
+    if (len == 4) {
+      return 1119;
+    }
+    break;
+    /* dzigrarr */
+  case 0xcdb5ca26e18c475aULL:
+    if (len == 8) {
+      return 10239;
+    }
+    break;
+    /* eDDot */
+  case 0x70ac2d5edb66aaf3ULL:
+    if (len == 5) {
+      return 10871;
+    }
+    break;
+    /* eDot */
+  case 0x2451055f8ea22e17ULL:
+    if (len == 4) {
+      return 8785;
+    }
+    break;
+    /* eacute */
+  case 0x3b7c8d3a9377b51cULL:
+    if (len == 6) {
+      return 233;
+    }
+    break;
+    /* easter */
+  case 0x73c962b7031cbd0bULL:
+    if (len == 6) {
+      return 10862;
+    }
+    break;
+    /* ecaron */
+  case 0x95cbe56022016ca7ULL:
+    if (len == 6) {
+      return 283;
+    }
+    break;
+    /* ecir */
+  case 0x2ffde860260210a6ULL:
+    if (len == 4) {
+      return 8790;
+    }
+    break;
+    /* ecirc */
+  case 0x8e82a06095827ebfULL:
+    if (len == 5) {
+      return 234;
+    }
+    break;
+    /* ecolon */
+  case 0xf5e7034e1ccbacc3ULL:
+    if (len == 6) {
+      return 8789;
+    }
+    break;
+    /* ecy */
+  case 0xc2ca0418f0328280ULL:
+    if (len == 3) {
+      return 1101;
+    }
+    break;
+    /* edot */
+  case 0x3a5a25602c5b3a77ULL:
+    if (len == 4) {
+      return 279;
+    }
+    break;
+    /* ee */
+  case 0x088e2f07b539375fULL:
+    if (len == 2) {
+      return 8519;
+    }
+    break;
+    /* efDot */
+  case 0x494f667ce9326ff9ULL:
+    if (len == 5) {
+      return 8786;
+    }
+    break;
+    /* efr */
+  case 0xc2d4fd18f03c7e20ULL:
+    if (len == 3) {
+      return 120098;
+    }
+    break;
+    /* eg */
+  case 0x088e3107b5393ac5ULL:
+    if (len == 2) {
+      return 10906;
+    }
+    break;
+    /* egrave */
+  case 0xd53c8cbc713a5661ULL:
+    if (len == 6) {
+      return 232;
+    }
+    break;
+    /* egs */
+  case 0xc2d80618f03ec342ULL:
+    if (len == 3) {
+      return 10902;
+    }
+    break;
+    /* egsdot */
+  case 0x8ddf24b5700a71c9ULL:
+    if (len == 6) {
+      return 10904;
+    }
+    break;
+    /* el */
+  case 0x088e3607b5394344ULL:
+    if (len == 2) {
+      return 10905;
+    }
+    break;
+    /* elinters */
+  case 0x2041a5a4388dfc67ULL:
+    if (len == 8) {
+      return 9191;
+    }
+    break;
+    /* ell */
+  case 0xc2e8f718f04d1cf8ULL:
+    if (len == 3) {
+      return 8467;
+    }
+    break;
+    /* els */
+  case 0xc2e90618f04d3675ULL:
+    if (len == 3) {
+      return 10901;
+    }
+    break;
+    /* elsdot */
+  case 0x9b0108992b9339b0ULL:
+    if (len == 6) {
+      return 10903;
+    }
+    break;
+    /* emacr */
+  case 0x12124db4198fa973ULL:
+    if (len == 5) {
+      return 275;
+    }
+    break;
+    /* empty */
+  case 0x904fefb3d01cb2aeULL:
+    if (len == 5) {
+      return 8709;
+    }
+    break;
+    /* emptyset */
+  case 0x96c59f49571536b6ULL:
+    if (len == 8) {
+      return 8709;
+    }
+    break;
+    /* emptyv */
+  case 0x5487268aa0c3e508ULL:
+    if (len == 6) {
+      return 8709;
+    }
+    break;
+    /* emsp13 */
+  case 0xc1f3cd72ec0cc8e4ULL:
+    if (len == 6) {
+      return 8196;
+    }
+    break;
+    /* emsp14 */
+  case 0xc1f3cc72ec0cc731ULL:
+    if (len == 6) {
+      return 8197;
+    }
+    break;
+    /* emsp */
+  case 0x867a986056f4e9f4ULL:
+    if (len == 4) {
+      return 8195;
+    }
+    break;
+    /* eng */
+  case 0xc2f00218f0534e57ULL:
+    if (len == 3) {
+      return 331;
+    }
+    break;
+    /* ensp */
+  case 0x914abf605db0def1ULL:
+    if (len == 4) {
+      return 8194;
+    }
+    break;
+    /* eogon */
+  case 0x6d7703c5f8324ba7ULL:
+    if (len == 5) {
+      return 281;
+    }
+    break;
+    /* eopf */
+  case 0x98b0ea606185c8e3ULL:
+    if (len == 4) {
+      return 120150;
+    }
+    break;
+    /* epar */
+  case 0xa347ff606811da03ULL:
+    if (len == 4) {
+      return 8917;
+    }
+    break;
+    /* eparsl */
+  case 0xa913bedc346d29f4ULL:
+    if (len == 6) {
+      return 10723;
+    }
+    break;
+    /* eplus */
+  case 0xe32f23d10b348e80ULL:
+    if (len == 5) {
+      return 10865;
+    }
+    break;
+    /* epsi */
+  case 0xa318146067e8d9f0ULL:
+    if (len == 4) {
+      return 949;
+    }
+    break;
+    /* epsilon */
+  case 0x23d316013d60439dULL:
+    if (len == 7) {
+      return 949;
+    }
+    break;
+    /* epsiv */
+  case 0x0ac425d090a99eb2ULL:
+    if (len == 5) {
+      return 1013;
+    }
+    break;
+    /* eqcirc */
+  case 0x8c669db676119528ULL:
+    if (len == 6) {
+      return 8790;
+    }
+    break;
+    /* eqcolon */
+  case 0x578cdd3aeafc98feULL:
+    if (len == 7) {
+      return 8789;
+    }
+    break;
+    /* eqsim */
+  case 0x384f40d6f35df502ULL:
+    if (len == 5) {
+      return 8770;
+    }
+    break;
+    /* eqslantgtr */
+  case 0xc9ccdf5419f4b7acULL:
+    if (len == 10) {
+      return 10902;
+    }
+    break;
+    /* eqslantless */
+  case 0x17b17c2383c9b298ULL:
+    if (len == 11) {
+      return 10901;
+    }
+    break;
+    /* equals */
+  case 0x2fedf26ef08343d4ULL:
+    if (len == 6) {
+      return 61;
+    }
+    break;
+    /* equest */
+  case 0x53b4836f05184a42ULL:
+    if (len == 6) {
+      return 8799;
+    }
+    break;
+    /* equiv */
+  case 0x6a951dd70f5c5005ULL:
+    if (len == 5) {
+      return 8801;
+    }
+    break;
+    /* equivDD */
+  case 0x3fc242c8f1741775ULL:
+    if (len == 7) {
+      return 10872;
+    }
+    break;
+    /* eqvparsl */
+  case 0xc0e0dfc5f1a4f0ddULL:
+    if (len == 8) {
+      return 10725;
+    }
+    break;
+    /* erDot */
+  case 0x2d37b6de56eeeefdULL:
+    if (len == 5) {
+      return 8787;
+    }
+    break;
+    /* erarr */
+  case 0x45ab55ddd471d535ULL:
+    if (len == 5) {
+      return 10609;
+    }
+    break;
+    /* escr */
+  case 0xbc6a9060761068a4ULL:
+    if (len == 4) {
+      return 8495;
+    }
+    break;
+    /* esdot */
+  case 0x52dfaee8ac1834d4ULL:
+    if (len == 5) {
+      return 8784;
+    }
+    break;
+    /* esim */
+  case 0xbc48736075f350f7ULL:
+    if (len == 4) {
+      return 8770;
+    }
+    break;
+    /* eta */
+  case 0xc3042418f0643127ULL:
+    if (len == 3) {
+      return 951;
+    }
+    break;
+    /* eth */
+  case 0xc3041b18f06421dcULL:
+    if (len == 3) {
+      return 240;
+    }
+    break;
+    /* euml */
+  case 0xce67c8608071561eULL:
+    if (len == 4) {
+      return 235;
+    }
+    break;
+    /* euro */
+  case 0xcec2c76080be0018ULL:
+    if (len == 4) {
+      return 8364;
+    }
+    break;
+    /* excl */
+  case 0xe7c061608e9d81c7ULL:
+    if (len == 4) {
+      return 33;
+    }
+    break;
+    /* exist */
+  case 0x125f8a12243ad59cULL:
+    if (len == 5) {
+      return 8707;
+    }
+    break;
+    /* expectation */
+  case 0x493c54823adf3ea5ULL:
+    if (len == 11) {
+      return 8496;
+    }
+    break;
+    /* exponentiale */
+  case 0x68babbe189ad8717ULL:
+    if (len == 12) {
+      return 8519;
+    }
+    break;
+    /* fallingdotseq */
+  case 0x8338af685a0a35e6ULL:
+    if (len == 13) {
+      return 8786;
+    }
+    break;
+    /* fcy */
+  case 0xdcc08b18fee63835ULL:
+    if (len == 3) {
+      return 1092;
+    }
+    break;
+    /* female */
+  case 0x1ba65229592c08d9ULL:
+    if (len == 6) {
+      return 9792;
+    }
+    break;
+    /* ffilig */
+  case 0x1fd6b2748d740d64ULL:
+    if (len == 6) {
+      return 64259;
+    }
+    break;
+    /* fflig */
+  case 0xf90d36fcaedd35ebULL:
+    if (len == 5) {
+      return 64256;
+    }
+    break;
+    /* ffllig */
+  case 0x39ebc85d3a5e6631ULL:
+    if (len == 6) {
+      return 64260;
+    }
+    break;
+    /* ffr */
+  case 0xdcd19218fef4b74dULL:
+    if (len == 3) {
+      return 120099;
+    }
+    break;
+    /* filig */
+  case 0x6a20f480183596a0ULL:
+    if (len == 5) {
+      return 64257;
+    }
+    break;
+    /* flat */
+  case 0xd5f2e179088c27faULL:
+    if (len == 4) {
+      return 9837;
+    }
+    break;
+    /* fllig */
+  case 0xb9e4eaa9514d3e15ULL:
+    if (len == 5) {
+      return 64258;
+    }
+    break;
+    /* fltns */
+  case 0x8af0c6a9c80971eaULL:
+    if (len == 5) {
+      return 9649;
+    }
+    break;
+    /* fnof */
+  case 0xe4ce21791043c6d8ULL:
+    if (len == 4) {
+      return 402;
+    }
+    break;
+    /* fopf */
+  case 0xdd2308790c337bb0ULL:
+    if (len == 4) {
+      return 120151;
+    }
+    break;
+    /* forall */
+  case 0xffa28a8eb76fc103ULL:
+    if (len == 6) {
+      return 8704;
+    }
+    break;
+    /* fork */
+  case 0xdd1d0d790c2f1881ULL:
+    if (len == 4) {
+      return 8916;
+    }
+    break;
+    /* forkv */
+  case 0xe776dbafb4076bb5ULL:
+    if (len == 5) {
+      return 10969;
+    }
+    break;
+    /* fpartint */
+  case 0x3e9cfc3ce84ad821ULL:
+    if (len == 8) {
+      return 10765;
+    }
+    break;
+    /* frac12 */
+  case 0xccb13d66f725edceULL:
+    if (len == 6) {
+      return 189;
+    }
+    break;
+    /* frac13 */
+  case 0xccb13e66f725ef81ULL:
+    if (len == 6) {
+      return 8531;
+    }
+    break;
+    /* frac14 */
+  case 0xccb13f66f725f134ULL:
+    if (len == 6) {
+      return 188;
+    }
+    break;
+    /* frac15 */
+  case 0xccb14066f725f2e7ULL:
+    if (len == 6) {
+      return 8533;
+    }
+    break;
+    /* frac16 */
+  case 0xccb14166f725f49aULL:
+    if (len == 6) {
+      return 8537;
+    }
+    break;
+    /* frac18 */
+  case 0xccb13366f725dcd0ULL:
+    if (len == 6) {
+      return 8539;
+    }
+    break;
+    /* frac23 */
+  case 0xccbb2e66f72e28d6ULL:
+    if (len == 6) {
+      return 8532;
+    }
+    break;
+    /* frac25 */
+  case 0xccbb3066f72e2c3cULL:
+    if (len == 6) {
+      return 8534;
+    }
+    break;
+    /* frac34 */
+  case 0xccb7c366f72b3d2eULL:
+    if (len == 6) {
+      return 190;
+    }
+    break;
+    /* frac35 */
+  case 0xccb7c466f72b3ee1ULL:
+    if (len == 6) {
+      return 8535;
+    }
+    break;
+    /* frac38 */
+  case 0xccb7bf66f72b3662ULL:
+    if (len == 6) {
+      return 8540;
+    }
+    break;
+    /* frac45 */
+  case 0xccc23466f73451b6ULL:
+    if (len == 6) {
+      return 8536;
+    }
+    break;
+    /* frac56 */
+  case 0xccbeb166f7313d46ULL:
+    if (len == 6) {
+      return 8538;
+    }
+    break;
+    /* frac58 */
+  case 0xccbebb66f7314e44ULL:
+    if (len == 6) {
+      return 8541;
+    }
+    break;
+    /* frac78 */
+  case 0xccc53766f7368ca6ULL:
+    if (len == 6) {
+      return 8542;
+    }
+    break;
+    /* frasl */
+  case 0xd87b58562867682fULL:
+    if (len == 5) {
+      return 8260;
+    }
+    break;
+    /* frown */
+  case 0x537398566e89cdbbULL:
+    if (len == 5) {
+      return 8994;
+    }
+    break;
+    /* fscr */
+  case 0x74f81278d123716fULL:
+    if (len == 4) {
+      return 119995;
+    }
+    break;
+    /* gE */
+  case 0x08955307b53f9339ULL:
+    if (len == 2) {
+      return 8807;
+    }
+    break;
+    /* gEl */
+  case 0xd54f6b18fb07596fULL:
+    if (len == 3) {
+      return 10892;
+    }
+    break;
+    /* gacute */
+  case 0x76d58e4a54405232ULL:
+    if (len == 6) {
+      return 501;
+    }
+    break;
+    /* gamma */
+  case 0x229176bd1f6ba96aULL:
+    if (len == 5) {
+      return 947;
+    }
+    break;
+    /* gammad */
+  case 0x28d5d15c63f042caULL:
+    if (len == 6) {
+      return 989;
+    }
+    break;
+    /* gap */
+  case 0xd4f05718fab6a2efULL:
+    if (len == 3) {
+      return 10886;
+    }
+    break;
+    /* gbreve */
+  case 0xf9adcf722090a52cULL:
+    if (len == 6) {
+      return 287;
+    }
+    break;
+    /* gcirc */
+  case 0x7bbce4ac3908e0c9ULL:
+    if (len == 5) {
+      return 285;
+    }
+    break;
+    /* gcy */
+  case 0xd4e96218fab096f2ULL:
+    if (len == 3) {
+      return 1075;
+    }
+    break;
+    /* gdot */
+  case 0x5f8bcd71ebaa1ecdULL:
+    if (len == 4) {
+      return 289;
+    }
+    break;
+    /* ge */
+  case 0x08953307b53f5cd9ULL:
+    if (len == 2) {
+      return 8805;
+    }
+    break;
+    /* gel */
+  case 0xd4e26b18faaa878fULL:
+    if (len == 3) {
+      return 8923;
+    }
+    break;
+    /* geq */
+  case 0xd4e25e18faaa7178ULL:
+    if (len == 3) {
+      return 8805;
+    }
+    break;
+    /* geqq */
+  case 0x6716ed71ef9e124bULL:
+    if (len == 4) {
+      return 8807;
+    }
+    break;
+    /* geqslant */
+  case 0x9bf79a7d6730e500ULL:
+    if (len == 8) {
+      return 10878;
+    }
+    break;
+    /* ges */
+  case 0xd4e26018faaa74deULL:
+    if (len == 3) {
+      return 10878;
+    }
+    break;
+    /* gescc */
+  case 0xdc63ea9a344a7a8cULL:
+    if (len == 5) {
+      return 10921;
+    }
+    break;
+    /* gesdot */
+  case 0xaefd1706cc71dfc5ULL:
+    if (len == 6) {
+      return 10880;
+    }
+    break;
+    /* gesdoto */
+  case 0xc9edca8d657f0ddeULL:
+    if (len == 7) {
+      return 10882;
+    }
+    break;
+    /* gesdotol */
+  case 0x9e1ce04376e44576ULL:
+    if (len == 8) {
+      return 10884;
+    }
+    break;
+    /* gesles */
+  case 0x6746d806a3249c8eULL:
+    if (len == 6) {
+      return 10900;
+    }
+    break;
+    /* gfr */
+  case 0xd4d84f18faa20376ULL:
+    if (len == 3) {
+      return 120100;
+    }
+    break;
+    /* gg */
+  case 0x08953107b53f5973ULL:
+    if (len == 2) {
+      return 8811;
+    }
+    break;
+    /* ggg */
+  case 0xd4db6418faa45cfcULL:
+    if (len == 3) {
+      return 8921;
+    }
+    break;
+    /* gimel */
+  case 0x97108bff81f772d9ULL:
+    if (len == 5) {
+      return 8503;
+    }
+    break;
+    /* gjcy */
+  case 0xb62a5e721cb9a9d4ULL:
+    if (len == 4) {
+      return 1107;
+    }
+    break;
+    /* gl */
+  case 0x08953a07b53f68beULL:
+    if (len == 2) {
+      return 8823;
+    }
+    break;
+    /* glE */
+  case 0xd4fa9618fabf6281ULL:
+    if (len == 3) {
+      return 10898;
+    }
+    break;
+    /* gla */
+  case 0xd4fa7a18fabf32edULL:
+    if (len == 3) {
+      return 10917;
+    }
+    break;
+    /* glj */
+  case 0xd4fa6f18fabf203cULL:
+    if (len == 3) {
+      return 10916;
+    }
+    break;
+    /* gnE */
+  case 0xd4f35218fab8d047ULL:
+    if (len == 3) {
+      return 8809;
+    }
+    break;
+    /* gnap */
+  case 0x92a3bf72085a6f91ULL:
+    if (len == 4) {
+      return 10890;
+    }
+    break;
+    /* gnapprox */
+  case 0x97c4dd0ef0d731a4ULL:
+    if (len == 8) {
+      return 10890;
+    }
+    break;
+    /* gne */
+  case 0xd4f37218fab906a7ULL:
+    if (len == 3) {
+      return 10888;
+    }
+    break;
+    /* gneq */
+  case 0x92b1b67208669da2ULL:
+    if (len == 4) {
+      return 10888;
+    }
+    break;
+    /* gneqq */
+  case 0xaa96d6c4465e2d89ULL:
+    if (len == 5) {
+      return 8809;
+    }
+    break;
+    /* gnsim */
+  case 0x0f69ecc3eeaefaffULL:
+    if (len == 5) {
+      return 8935;
+    }
+    break;
+    /* gopf */
+  case 0x9d33ca720ee05105ULL:
+    if (len == 4) {
+      return 120152;
+    }
+    break;
+    /* grave */
+  case 0x32d86f2977ed63d2ULL:
+    if (len == 5) {
+      return 96;
+    }
+    break;
+    /* gscr */
+  case 0x0257c872475dd462ULL:
+    if (len == 4) {
+      return 8458;
+    }
+    break;
+    /* gsim */
+  case 0x0243df72474d526dULL:
+    if (len == 4) {
+      return 8819;
+    }
+    break;
+    /* gsime */
+  case 0x26a6b72f28626398ULL:
+    if (len == 5) {
+      return 10894;
+    }
+    break;
+    /* gsiml */
+  case 0x26a6b02f286257b3ULL:
+    if (len == 5) {
+      return 10896;
+    }
+    break;
+    /* gt */
+  case 0x08954207b53f7656ULL:
+    if (len == 2) {
+      return 62;
+    }
+    break;
+    /* gtcc */
+  case 0xe93c4e7239658b84ULL:
+    if (len == 4) {
+      return 10919;
+    }
+    break;
+    /* gtcir */
+  case 0xb6f03a17877a6960ULL:
+    if (len == 5) {
+      return 10874;
+    }
+    break;
+    /* gtdot */
+  case 0x9a8fd71776ba51fdULL:
+    if (len == 5) {
+      return 8919;
+    }
+    break;
+    /* gtlPar */
+  case 0x38f95924c2a5c189ULL:
+    if (len == 6) {
+      return 10645;
+    }
+    break;
+    /* gtquest */
+  case 0xb2ad0106bc673780ULL:
+    if (len == 7) {
+      return 10876;
+    }
+    break;
+    /* gtrapprox */
+  case 0x288c1c73c4680620ULL:
+    if (len == 9) {
+      return 10886;
+    }
+    break;
+    /* gtrarr */
+  case 0xe136856c727f7b77ULL:
+    if (len == 6) {
+      return 10616;
+    }
+    break;
+    /* gtrdot */
+  case 0xb620a26c5a2827b3ULL:
+    if (len == 6) {
+      return 8919;
+    }
+    break;
+    /* gtreqless */
+  case 0x2f310e1fab7cb517ULL:
+    if (len == 9) {
+      return 8923;
+    }
+    break;
+    /* gtreqqless */
+  case 0x41f55d823d460c90ULL:
+    if (len == 10) {
+      return 10892;
+    }
+    break;
+    /* gtrless */
+  case 0xd69c0bda9eb91ff5ULL:
+    if (len == 7) {
+      return 8823;
+    }
+    break;
+    /* gtrsim */
+  case 0x7c66486cca30a193ULL:
+    if (len == 6) {
+      return 8819;
+    }
+    break;
+    /* hArr */
+  case 0x183182cbd65f3ca6ULL:
+    if (len == 4) {
+      return 8660;
+    }
+    break;
+    /* hairsp */
+  case 0x13d723b703d4860aULL:
+    if (len == 6) {
+      return 8202;
+    }
+    break;
+    /* half */
+  case 0x2e33a6cc74123124ULL:
+    if (len == 4) {
+      return 189;
+    }
+    break;
+    /* hamilt */
+  case 0x6984b0d600846eecULL:
+    if (len == 6) {
+      return 8459;
+    }
+    break;
+    /* hardcy */
+  case 0xd0bda8e10c1d9a5cULL:
+    if (len == 6) {
+      return 1098;
+    }
+    break;
+    /* harr */
+  case 0x2e3aa2cc74184906ULL:
+    if (len == 4) {
+      return 8596;
+    }
+    break;
+    /* harrcir */
+  case 0x6f175bd1742a2a50ULL:
+    if (len == 7) {
+      return 10568;
+    }
+    break;
+    /* harrw */
+  case 0xa5ec12694544cb03ULL:
+    if (len == 5) {
+      return 8621;
+    }
+    break;
+    /* hbar */
+  case 0x271089cc707578c8ULL:
+    if (len == 4) {
+      return 8463;
+    }
+    break;
+    /* hcirc */
+  case 0xb06dfd583220e84cULL:
+    if (len == 5) {
+      return 293;
+    }
+    break;
+    /* hearts */
+  case 0xe3d0d3b4d0813150ULL:
+    if (len == 6) {
+      return 9829;
+    }
+    break;
+    /* heartsuit */
+  case 0xe5735eff60fb13c2ULL:
+    if (len == 9) {
+      return 9829;
+    }
+    break;
+    /* hellip */
+  case 0xa9d0fecca230a7d7ULL:
+    if (len == 6) {
+      return 8230;
+    }
+    break;
+    /* hercon */
+  case 0x40b7c51448377048ULL:
+    if (len == 6) {
+      return 8889;
+    }
+    break;
+    /* hfr */
+  case 0x334714192fe123c3ULL:
+    if (len == 3) {
+      return 120101;
+    }
+    break;
+    /* hksearow */
+  case 0xb181ceba321c2d59ULL:
+    if (len == 8) {
+      return 10533;
+    }
+    break;
+    /* hkswarow */
+  case 0xe1eb57b84e8cf00bULL:
+    if (len == 8) {
+      return 10534;
+    }
+    break;
+    /* hoarr */
+  case 0xa003f67aec38a76bULL:
+    if (len == 5) {
+      return 8703;
+    }
+    break;
+    /* homtht */
+  case 0x4c62e7bc28be06fdULL:
+    if (len == 6) {
+      return 8763;
+    }
+    break;
+    /* hookleftarrow */
+  case 0x1ca4d2b41ededf24ULL:
+    if (len == 13) {
+      return 8617;
+    }
+    break;
+    /* hookrightarrow */
+  case 0xbd40e943a0033a71ULL:
+    if (len == 14) {
+      return 8618;
+    }
+    break;
+    /* hopf */
+  case 0x406df8cc7ea6f8eaULL:
+    if (len == 4) {
+      return 120153;
+    }
+    break;
+    /* horbar */
+  case 0xb3085a691f62d117ULL:
+    if (len == 6) {
+      return 8213;
+    }
+    break;
+    /* hscr */
+  case 0x9303dacc1c60fbbdULL:
+    if (len == 4) {
+      return 119997;
+    }
+    break;
+    /* hslash */
+  case 0x3ca2c51e858bb458ULL:
+    if (len == 6) {
+      return 8463;
+    }
+    break;
+    /* hstrok */
+  case 0x228331e9609cc6e8ULL:
+    if (len == 6) {
+      return 295;
+    }
+    break;
+    /* hybull */
+  case 0x9111c71a8bf68117ULL:
+    if (len == 6) {
+      return 8259;
+    }
+    break;
+    /* hyphen */
+  case 0xc20630af71eaeec1ULL:
+    if (len == 6) {
+      return 8208;
+    }
+    break;
+    /* iacute */
+  case 0x7c1958275b811f20ULL:
+    if (len == 6) {
+      return 237;
+    }
+    break;
+    /* ic */
+  case 0x08b73507b55c46a5ULL:
+    if (len == 2) {
+      return 8291;
+    }
+    break;
+    /* icirc */
+  case 0x05223876c58644f3ULL:
+    if (len == 5) {
+      return 238;
+    }
+    break;
+    /* icy */
+  case 0x2b95f8192bcc67d4ULL:
+    if (len == 3) {
+      return 1080;
+    }
+    break;
+    /* iecy */
+  case 0xa63841c54d27f90bULL:
+    if (len == 4) {
+      return 1077;
+    }
+    break;
+    /* iexcl */
+  case 0x6e5c7a42027b1e0eULL:
+    if (len == 5) {
+      return 161;
+    }
+    break;
+    /* iff */
+  case 0x2b84dd192bbdc6c0ULL:
+    if (len == 3) {
+      return 8660;
+    }
+    break;
+    /* ifr */
+  case 0x2b84f1192bbde8bcULL:
+    if (len == 3) {
+      return 120102;
+    }
+    break;
+    /* igrave */
+  case 0x73472763ea078c35ULL:
+    if (len == 6) {
+      return 236;
+    }
+    break;
+    /* ii */
+  case 0x08b73b07b55c50d7ULL:
+    if (len == 2) {
+      return 8520;
+    }
+    break;
+    /* iiiint */
+  case 0x89ea38b950ea6123ULL:
+    if (len == 6) {
+      return 10764;
+    }
+    break;
+    /* iiint */
+  case 0x99781da78fca6278ULL:
+    if (len == 5) {
+      return 8749;
+    }
+    break;
+    /* iinfin */
+  case 0xb818f38fce1ff0ecULL:
+    if (len == 6) {
+      return 10716;
+    }
+    break;
+    /* iiota */
+  case 0x66b12ca7735e6a8fULL:
+    if (len == 5) {
+      return 8489;
+    }
+    break;
+    /* ijlig */
+  case 0x2f1b13b22432fd12ULL:
+    if (len == 5) {
+      return 307;
+    }
+    break;
+    /* imacr */
+  case 0x2ac2f5888532a1afULL:
+    if (len == 5) {
+      return 299;
+    }
+    break;
+    /* image */
+  case 0x2ab612888528489aULL:
+    if (len == 5) {
+      return 8465;
+    }
+    break;
+    /* imagline */
+  case 0x1371a591387c7ad1ULL:
+    if (len == 8) {
+      return 8464;
+    }
+    break;
+    /* imagpart */
+  case 0x2576142bcdeff2b6ULL:
+    if (len == 8) {
+      return 8465;
+    }
+    break;
+    /* imath */
+  case 0x2a830d8884fce682ULL:
+    if (len == 5) {
+      return 305;
+    }
+    break;
+    /* imof */
+  case 0xee0286c57685ef7eULL:
+    if (len == 4) {
+      return 8887;
+    }
+    break;
+    /* imped */
+  case 0xbe11a688d8a5f918ULL:
+    if (len == 5) {
+      return 437;
+    }
+    break;
+    /* in */
+  case 0x08b73807b55c4bbeULL:
+    if (len == 2) {
+      return 8712;
+    }
+    break;
+    /* incare */
+  case 0xea592c0f4544ccffULL:
+    if (len == 6) {
+      return 8453;
+    }
+    break;
+    /* infin */
+  case 0x74fb528f88cfcd27ULL:
+    if (len == 5) {
+      return 8734;
+    }
+    break;
+    /* infintie */
+  case 0x3a0bf2562366f23fULL:
+    if (len == 8) {
+      return 10717;
+    }
+    break;
+    /* inodot */
+  case 0x6cb1d3aa1a4426beULL:
+    if (len == 6) {
+      return 305;
+    }
+    break;
+    /* int */
+  case 0x2b9fff192bd4c83eULL:
+    if (len == 3) {
+      return 8747;
+    }
+    break;
+    /* intcal */
+  case 0xe24cb46fa6eb465aULL:
+    if (len == 6) {
+      return 8890;
+    }
+    break;
+    /* integers */
+  case 0x7e2a5081098e6682ULL:
+    if (len == 8) {
+      return 8484;
+    }
+    break;
+    /* intercal */
+  case 0xfa8dbdf104d24413ULL:
+    if (len == 8) {
+      return 8890;
+    }
+    break;
+    /* intlarhk */
+  case 0xe698b8cb5c5abe34ULL:
+    if (len == 8) {
+      return 10775;
+    }
+    break;
+    /* intprod */
+  case 0x94d5023bdd5b6d33ULL:
+    if (len == 7) {
+      return 10812;
+    }
+    break;
+    /* iocy */
+  case 0xfce4e7c57e43e51dULL:
+    if (len == 4) {
+      return 1105;
+    }
+    break;
+    /* iogon */
+  case 0x1d31eb959f088b9bULL:
+    if (len == 5) {
+      return 303;
+    }
+    break;
+    /* iopf */
+  case 0xfcaaeac57e1271efULL:
+    if (len == 4) {
+      return 120154;
+    }
+    break;
+    /* iota */
+  case 0xfcb7ffc57e1d1ffaULL:
+    if (len == 4) {
+      return 953;
+    }
+    break;
+    /* iprod */
+  case 0x6f8170e2bfafbd81ULL:
+    if (len == 5) {
+      return 10812;
+    }
+    break;
+    /* iquest */
+  case 0xbbc5fe1a52d53096ULL:
+    if (len == 6) {
+      return 191;
+    }
+    break;
+    /* iscr */
+  case 0x65afc0c5b9dbe990ULL:
+    if (len == 4) {
+      return 119998;
+    }
+    break;
+    /* isin */
+  case 0x65c3dcc5b9ecc22eULL:
+    if (len == 4) {
+      return 8712;
+    }
+    break;
+    /* isinE */
+  case 0xd8928efaed4e5bd1ULL:
+    if (len == 5) {
+      return 8953;
+    }
+    break;
+    /* isindot */
+  case 0xf0a7723892e867d5ULL:
+    if (len == 7) {
+      return 8949;
+    }
+    break;
+    /* isins */
+  case 0xd89280faed4e4407ULL:
+    if (len == 5) {
+      return 8948;
+    }
+    break;
+    /* isinsv */
+  case 0x4f359b613bfe4c03ULL:
+    if (len == 6) {
+      return 8947;
+    }
+    break;
+    /* isinv */
+  case 0xd8927bfaed4e3b88ULL:
+    if (len == 5) {
+      return 8712;
+    }
+    break;
+    /* it */
+  case 0x08b73e07b55c55f0ULL:
+    if (len == 2) {
+      return 8290;
+    }
+    break;
+    /* itilde */
+  case 0xe1b1d432bd40a7d2ULL:
+    if (len == 6) {
+      return 297;
+    }
+    break;
+    /* iukcy */
+  case 0x328d58ca18eb47a8ULL:
+    if (len == 5) {
+      return 1110;
+    }
+    break;
+    /* iuml */
+  case 0x32b2c8c59d425652ULL:
+    if (len == 4) {
+      return 239;
+    }
+    break;
+    /* jcirc */
+  case 0x72ce91e54d125806ULL:
+    if (len == 5) {
+      return 309;
+    }
+    break;
+    /* jcy */
+  case 0x458b6f193a7e4f59ULL:
+    if (len == 3) {
+      return 1081;
+    }
+    break;
+    /* jfr */
+  case 0x458166193a75eb89ULL:
+    if (len == 3) {
+      return 120103;
+    }
+    break;
+    /* jmath */
+  case 0xa121d46e473e1b67ULL:
+    if (len == 5) {
+      return 567;
+    }
+    break;
+    /* jopf */
+  case 0x418a08de291cf69cULL:
+    if (len == 4) {
+      return 120155;
+    }
+    break;
+    /* jscr */
+  case 0x20c962de1718adfbULL:
+    if (len == 4) {
+      return 119999;
+    }
+    break;
+    /* jsercy */
+  case 0xc5a7b7731c298db9ULL:
+    if (len == 6) {
+      return 1112;
+    }
+    break;
+    /* jukcy */
+  case 0x9924612cb35a00a5ULL:
+    if (len == 5) {
+      return 1108;
+    }
+    break;
+    /* kappa */
+  case 0xec02cfcef6a7d788ULL:
+    if (len == 5) {
+      return 954;
+    }
+    break;
+    /* kappav */
+  case 0xb09f1aad1f34049aULL:
+    if (len == 6) {
+      return 1008;
+    }
+    break;
+    /* kcedil */
+  case 0xd09c34deeb31418fULL:
+    if (len == 6) {
+      return 311;
+    }
+    break;
+    /* kcy */
+  case 0x3db446193648ae16ULL:
+    if (len == 3) {
+      return 1082;
+    }
+    break;
+    /* kfr */
+  case 0x3dbf43193652b082ULL:
+    if (len == 3) {
+      return 120104;
+    }
+    break;
+    /* kgreen */
+  case 0xbbe20005f556f5edULL:
+    if (len == 6) {
+      return 312;
+    }
+    break;
+    /* khcy */
+  case 0xe7d06cd71d3b96d2ULL:
+    if (len == 4) {
+      return 1093;
+    }
+    break;
+    /* kjcy */
+  case 0xd5b10ed712bd8260ULL:
+    if (len == 4) {
+      return 1116;
+    }
+    break;
+    /* kopf */
+  case 0x0199fad72bc86a81ULL:
+    if (len == 4) {
+      return 120156;
+    }
+    break;
+    /* kscr */
+  case 0xaf0318d78e0cb4aeULL:
+    if (len == 4) {
+      return 120000;
+    }
+    break;
+    /* lAarr */
+  case 0x28d490e09c97396dULL:
+    if (len == 5) {
+      return 8666;
+    }
+    break;
+    /* lArr */
+  case 0xee4ab2acf29d05a2ULL:
+    if (len == 4) {
+      return 8656;
+    }
+    break;
+    /* lAtail */
+  case 0x9848e4fd2165b3e0ULL:
+    if (len == 6) {
+      return 10523;
+    }
+    break;
+    /* lBarr */
+  case 0xa3f816d978540402ULL:
+    if (len == 5) {
+      return 10510;
+    }
+    break;
+    /* lE */
+  case 0x08ad2307b553d38aULL:
+    if (len == 2) {
+      return 8806;
+    }
+    break;
+    /* lEg */
+  case 0x120673191d711bb7ULL:
+    if (len == 3) {
+      return 10891;
+    }
+    break;
+    /* lHar */
+  case 0xb1089baccfbd5a6eULL:
+    if (len == 4) {
+      return 10594;
+    }
+    break;
+    /* lacute */
+  case 0x10b405fe7ddb4539ULL:
+    if (len == 6) {
+      return 314;
+    }
+    break;
+    /* laemptyv */
+  case 0x3d7d16b60cddbb7fULL:
+    if (len == 8) {
+      return 10676;
+    }
+    break;
+    /* lagran */
+  case 0x1265ede042c69e30ULL:
+    if (len == 6) {
+      return 8466;
+    }
+    break;
+    /* lambda */
+  case 0x826b4caaf325324aULL:
+    if (len == 6) {
+      return 955;
+    }
+    break;
+    /* lang */
+  case 0x0460dfad9060b275ULL:
+    if (len == 4) {
+      return 10216;
+    }
+    break;
+    /* langd */
+  case 0xd14e24ec544e92e3ULL:
+    if (len == 5) {
+      return 10641;
+    }
+    break;
+    /* langle */
+  case 0xf6767393419a12faULL:
+    if (len == 6) {
+      return 10216;
+    }
+    break;
+    /* lap */
+  case 0x126588191dc1d3eaULL:
+    if (len == 3) {
+      return 10885;
+    }
+    break;
+    /* laquo */
+  case 0xc9f904ec50882ed5ULL:
+    if (len == 5) {
+      return 171;
+    }
+    break;
+    /* larr */
+  case 0x0453d2ad90561202ULL:
+    if (len == 4) {
+      return 8592;
+    }
+    break;
+    /* larrb */
+  case 0xb0815cec42413920ULL:
+    if (len == 5) {
+      return 8676;
+    }
+    break;
+    /* larrbfs */
+  case 0x5c995818e4c67e33ULL:
+    if (len == 7) {
+      return 10527;
+    }
+    break;
+    /* larrfs */
+  case 0x2d17507494df1b2dULL:
+    if (len == 6) {
+      return 10525;
+    }
+    break;
+    /* larrhk */
+  case 0x2d2c587494f184cfULL:
+    if (len == 6) {
+      return 8617;
+    }
+    break;
+    /* larrlp */
+  case 0x2d39497494fbf5aeULL:
+    if (len == 6) {
+      return 8619;
+    }
+    break;
+    /* larrpl */
+  case 0x2d4755749508476eULL:
+    if (len == 6) {
+      return 10553;
+    }
+    break;
+    /* larrsim */
+  case 0xf0b82f1938eb6569ULL:
+    if (len == 7) {
+      return 10611;
+    }
+    break;
+    /* larrtl */
+  case 0x2d55357495144e6aULL:
+    if (len == 6) {
+      return 8610;
+    }
+    break;
+    /* lat */
+  case 0x126584191dc1cd1eULL:
+    if (len == 3) {
+      return 10923;
+    }
+    break;
+    /* latail */
+  case 0x5808cc63937b0640ULL:
+    if (len == 6) {
+      return 10521;
+    }
+    break;
+    /* late */
+  case 0x044cf1ad90502801ULL:
+    if (len == 4) {
+      return 10925;
+    }
+    break;
+    /* lbarr */
+  case 0x21a417e08ee0f0e2ULL:
+    if (len == 5) {
+      return 10508;
+    }
+    break;
+    /* lbbrk */
+  case 0x1a40ffe08b0e5d10ULL:
+    if (len == 5) {
+      return 10098;
+    }
+    break;
+    /* lbrace */
+  case 0xff28fd102a01bf76ULL:
+    if (len == 6) {
+      return 123;
+    }
+    break;
+    /* lbrack */
+  case 0xff2907102a01d074ULL:
+    if (len == 6) {
+      return 91;
+    }
+    break;
+    /* lbrke */
+  case 0xa3aa89e0d88dd66fULL:
+    if (len == 5) {
+      return 10635;
+    }
+    break;
+    /* lbrksld */
+  case 0xecacbe23c8028751ULL:
+    if (len == 7) {
+      return 10639;
+    }
+    break;
+    /* lbrkslu */
+  case 0xecaccd23c802a0ceULL:
+    if (len == 7) {
+      return 10637;
+    }
+    break;
+    /* lcaron */
+  case 0x92568da688147866ULL:
+    if (len == 6) {
+      return 318;
+    }
+    break;
+    /* lcedil */
+  case 0xb50481c95edc9794ULL:
+    if (len == 6) {
+      return 316;
+    }
+    break;
+    /* lceil */
+  case 0x0d412ddacc8cea32ULL:
+    if (len == 5) {
+      return 8968;
+    }
+    break;
+    /* lcub */
+  case 0xf23e92ad85e0850fULL:
+    if (len == 4) {
+      return 123;
+    }
+    break;
+    /* lcy */
+  case 0x125e75191dbb94f3ULL:
+    if (len == 3) {
+      return 1083;
+    }
+    break;
+    /* ldca */
+  case 0x2fe3baada914ca81ULL:
+    if (len == 4) {
+      return 10550;
+    }
+    break;
+    /* ldquo */
+  case 0xd8ff4115f6278984ULL:
+    if (len == 5) {
+      return 8220;
+    }
+    break;
+    /* ldquor */
+  case 0xe1458e51452f6d02ULL:
+    if (len == 6) {
+      return 8222;
+    }
+    break;
+    /* ldrdhar */
+  case 0xe8f72809f82a5b1eULL:
+    if (len == 7) {
+      return 10599;
+    }
+    break;
+    /* ldrushar */
+  case 0x5bbbe1df4b5a5cd4ULL:
+    if (len == 8) {
+      return 10571;
+    }
+    break;
+    /* ldsh */
+  case 0x2fac91ada8e54266ULL:
+    if (len == 4) {
+      return 8626;
+    }
+    break;
+    /* le */
+  case 0x08ad4307b55409eaULL:
+    if (len == 2) {
+      return 8804;
+    }
+    break;
+    /* leftarrow */
+  case 0xb6e70f5cacd30509ULL:
+    if (len == 9) {
+      return 8592;
+    }
+    break;
+    /* leftarrowtail */
+  case 0x7e147cd720fe1557ULL:
+    if (len == 13) {
+      return 8610;
+    }
+    break;
+    /* leftharpoondown */
+  case 0x71d077df36ff1fcfULL:
+    if (len == 15) {
+      return 8637;
+    }
+    break;
+    /* leftharpoonup */
+  case 0x0a689d5f0c27ce66ULL:
+    if (len == 13) {
+      return 8636;
+    }
+    break;
+    /* leftleftarrows */
+  case 0xb1a647630f9dd08bULL:
+    if (len == 14) {
+      return 8647;
+    }
+    break;
+    /* leftrightarrow */
+  case 0x5f6cd2e0e89ae3ffULL:
+    if (len == 14) {
+      return 8596;
+    }
+    break;
+    /* leftrightarrows */
+  case 0xc0cde02b3f30a6e4ULL:
+    if (len == 15) {
+      return 8646;
+    }
+    break;
+    /* leftrightharpoons */
+  case 0x36b4f8bd5549b0e6ULL:
+    if (len == 17) {
+      return 8651;
+    }
+    break;
+    /* leftrightsquigarrow */
+  case 0x0a007d553d694ac6ULL:
+    if (len == 19) {
+      return 8621;
+    }
+    break;
+    /* leftthreetimes */
+  case 0xf672d1e3ba5f7166ULL:
+    if (len == 14) {
+      return 8907;
+    }
+    break;
+    /* leg */
+  case 0x127273191dcc3a97ULL:
+    if (len == 3) {
+      return 8922;
+    }
+    break;
+    /* leq */
+  case 0x127281191dcc5261ULL:
+    if (len == 3) {
+      return 8804;
+    }
+    break;
+    /* leqq */
+  case 0x24e36dada22f7130ULL:
+    if (len == 4) {
+      return 8806;
+    }
+    break;
+    /* leqslant */
+  case 0xc7677c6251fa1687ULL:
+    if (len == 8) {
+      return 10877;
+    }
+    break;
+    /* les */
+  case 0x12727f191dcc4efbULL:
+    if (len == 3) {
+      return 10877;
+    }
+    break;
+    /* lescc */
+  case 0xcc544f0a8c992d11ULL:
+    if (len == 5) {
+      return 10920;
+    }
+    break;
+    /* lesdot */
+  case 0x09bbd4ed0b303356ULL:
+    if (len == 6) {
+      return 10879;
+    }
+    break;
+    /* lesdoto */
+  case 0xba5e07ca02e709dbULL:
+    if (len == 7) {
+      return 10881;
+    }
+    break;
+    /* lesdotor */
+  case 0x94d0e542ee956a2bULL:
+    if (len == 8) {
+      return 10883;
+    }
+    break;
+    /* lesges */
+  case 0xf0b454ecfd488950ULL:
+    if (len == 6) {
+      return 10899;
+    }
+    break;
+    /* lessapprox */
+  case 0xa1bbd1807e113c64ULL:
+    if (len == 10) {
+      return 10885;
+    }
+    break;
+    /* lessdot */
+  case 0x0714db0bc79cc96fULL:
+    if (len == 7) {
+      return 8918;
+    }
+    break;
+    /* lesseqgtr */
+  case 0x50debe5bdd00a759ULL:
+    if (len == 9) {
+      return 8922;
+    }
+    break;
+    /* lesseqqgtr */
+  case 0x2e39948ef41678d8ULL:
+    if (len == 10) {
+      return 10891;
+    }
+    break;
+    /* lessgtr */
+  case 0x2048640bd5a9bdabULL:
+    if (len == 7) {
+      return 8822;
+    }
+    break;
+    /* lesssim */
+  case 0x72fa190b737beebfULL:
+    if (len == 7) {
+      return 8818;
+    }
+    break;
+    /* lfisht */
+  case 0x9a4798ad04c9e957ULL:
+    if (len == 6) {
+      return 10620;
+    }
+    break;
+    /* lfloor */
+  case 0xbe3e6a94956197b7ULL:
+    if (len == 6) {
+      return 8970;
+    }
+    break;
+    /* lfr */
+  case 0x126f78191dca0d3fULL:
+    if (len == 3) {
+      return 120105;
+    }
+    break;
+    /* lg */
+  case 0x08ad4107b5540684ULL:
+    if (len == 2) {
+      return 8822;
+    }
+    break;
+    /* lgE */
+  case 0x126c41191dc779f3ULL:
+    if (len == 3) {
+      return 10897;
+    }
+    break;
+    /* lhard */
+  case 0xb98891b1003072deULL:
+    if (len == 5) {
+      return 8637;
+    }
+    break;
+    /* lharu */
+  case 0xb988a2b100308fc1ULL:
+    if (len == 5) {
+      return 8636;
+    }
+    break;
+    /* lharul */
+  case 0x73bc1fc3528422f7ULL:
+    if (len == 6) {
+      return 10602;
+    }
+    break;
+    /* lhblk */
+  case 0xd29727b10e1e60f4ULL:
+    if (len == 5) {
+      return 9604;
+    }
+    break;
+    /* ljcy */
+  case 0xb4de60ad62e7ae6bULL:
+    if (len == 4) {
+      return 1113;
+    }
+    break;
+    /* ll */
+  case 0x08ad3c07b553fe05ULL:
+    if (len == 2) {
+      return 8810;
+    }
+    break;
+    /* llarr */
+  case 0x614533d390dc2c98ULL:
+    if (len == 5) {
+      return 8647;
+    }
+    break;
+    /* llcorner */
+  case 0x7f02df7a5d569ff0ULL:
+    if (len == 8) {
+      return 8990;
+    }
+    break;
+    /* llhard */
+  case 0x76dc77cc4698337cULL:
+    if (len == 6) {
+      return 10603;
+    }
+    break;
+    /* lltri */
+  case 0xd46033d3d2c45e1eULL:
+    if (len == 5) {
+      return 9722;
+    }
+    break;
+    /* lmidot */
+  case 0x0c87857de21d30ecULL:
+    if (len == 6) {
+      return 320;
+    }
+    break;
+    /* lmoust */
+  case 0xb376a68fead99e11ULL:
+    if (len == 6) {
+      return 9136;
+    }
+    break;
+    /* lmoustache */
+  case 0x78f539c2b4c9d1e2ULL:
+    if (len == 10) {
+      return 9136;
+    }
+    break;
+    /* lnE */
+  case 0x125475191db3406eULL:
+    if (len == 3) {
+      return 8808;
+    }
+    break;
+    /* lnap */
+  case 0xd93e0fad77fef49eULL:
+    if (len == 4) {
+      return 10889;
+    }
+    break;
+    /* lnapprox */
+  case 0x6d1dbedf49de9a27ULL:
+    if (len == 8) {
+      return 10889;
+    }
+    break;
+    /* lne */
+  case 0x125495191db376ceULL:
+    if (len == 3) {
+      return 10887;
+    }
+    break;
+    /* lneq */
+  case 0xd93018ad77f2c68dULL:
+    if (len == 4) {
+      return 10887;
+    }
+    break;
+    /* lneqq */
+  case 0xff80eac2d1881e34ULL:
+    if (len == 5) {
+      return 8808;
+    }
+    break;
+    /* lnsim */
+  case 0x87d3b4c28e322aeeULL:
+    if (len == 5) {
+      return 8934;
+    }
+    break;
+    /* loang */
+  case 0x15e2d8b6ec0986b4ULL:
+    if (len == 5) {
+      return 10220;
+    }
+    break;
+    /* loarr */
+  case 0x159ecdb6ebcfa737ULL:
+    if (len == 5) {
+      return 8701;
+    }
+    break;
+    /* lobrk */
+  case 0x1d01d5b6efa21fd9ULL:
+    if (len == 5) {
+      return 10214;
+    }
+    break;
+    /* longleftarrow */
+  case 0x345bae98c0330f37ULL:
+    if (len == 13) {
+      return 10229;
+    }
+    break;
+    /* longleftrightarrow */
+  case 0x0728907578214051ULL:
+    if (len == 18) {
+      return 10231;
+    }
+    break;
+    /* longmapsto */
+  case 0xa6cbff1b96f072f9ULL:
+    if (len == 10) {
+      return 10236;
+    }
+    break;
+    /* longrightarrow */
+  case 0x58c54f5e14373c94ULL:
+    if (len == 14) {
+      return 10230;
+    }
+    break;
+    /* looparrowleft */
+  case 0xc970d1e81f395521ULL:
+    if (len == 13) {
+      return 8619;
+    }
+    break;
+    /* looparrowright */
+  case 0xa59b04be1154af02ULL:
+    if (len == 14) {
+      return 8620;
+    }
+    break;
+    /* lopar */
+  case 0x97cd34b7359dcc27ULL:
+    if (len == 5) {
+      return 10629;
+    }
+    break;
+    /* lopf */
+  case 0xce41e8ad711dc4b6ULL:
+    if (len == 4) {
+      return 120157;
+    }
+    break;
+    /* loplus */
+  case 0xa8b7625029352ddcULL:
+    if (len == 6) {
+      return 10797;
+    }
+    break;
+    /* lotimes */
+  case 0xff082808bf3b4fdaULL:
+    if (len == 7) {
+      return 10804;
+    }
+    break;
+    /* lowast */
+  case 0x60d68a440e9caf47ULL:
+    if (len == 6) {
+      return 8727;
+    }
+    break;
+    /* lowbar */
+  case 0x7a8f01441d1ae8aeULL:
+    if (len == 6) {
+      return 95;
+    }
+    break;
+    /* loz */
+  case 0x12507e191daf66e2ULL:
+    if (len == 3) {
+      return 9674;
+    }
+    break;
+    /* lozenge */
+  case 0xbb7a7cfe7a72c225ULL:
+    if (len == 7) {
+      return 9674;
+    }
+    break;
+    /* lozf */
+  case 0xce2cc8ad710b324cULL:
+    if (len == 4) {
+      return 10731;
+    }
+    break;
+    /* lpar */
+  case 0x97ce83ade3eea456ULL:
+    if (len == 4) {
+      return 40;
+    }
+    break;
+    /* lparlt */
+  case 0x784f97d3654c72ceULL:
+    if (len == 6) {
+      return 10643;
+    }
+    break;
+    /* lrarr */
+  case 0xa1b13869a150b332ULL:
+    if (len == 5) {
+      return 8646;
+    }
+    break;
+    /* lrcorner */
+  case 0xd85219c581b04bfaULL:
+    if (len == 8) {
+      return 8991;
+    }
+    break;
+    /* lrhar */
+  case 0x640321697e15e91eULL:
+    if (len == 5) {
+      return 8651;
+    }
+    break;
+    /* lrhard */
+  case 0x073b40413f3bba4eULL:
+    if (len == 6) {
+      return 10605;
+    }
+    break;
+    /* lrm */
+  case 0x12988d191ded3602ULL:
+    if (len == 3) {
+      return 8206;
+    }
+    break;
+    /* lrtri */
+  case 0x43bd8c696c7acc9cULL:
+    if (len == 5) {
+      return 8895;
+    }
+    break;
+    /* lsaquo */
+  case 0x53ada622aa502beaULL:
+    if (len == 6) {
+      return 8249;
+    }
+    break;
+    /* lscr */
+  case 0x7b530aadd3179fd9ULL:
+    if (len == 4) {
+      return 120001;
+    }
+    break;
+    /* lsh */
+  case 0x129464191de90780ULL:
+    if (len == 3) {
+      return 8624;
+    }
+    break;
+    /* lsim */
+  case 0x7b3127add2faeabaULL:
+    if (len == 4) {
+      return 8818;
+    }
+    break;
+    /* lsime */
+  case 0x4f714b5d805d18edULL:
+    if (len == 5) {
+      return 10893;
+    }
+    break;
+    /* lsimg */
+  case 0x4f71495d805d1587ULL:
+    if (len == 5) {
+      return 10895;
+    }
+    break;
+    /* lsqb */
+  case 0x7b822aadd33f46fbULL:
+    if (len == 4) {
+      return 91;
+    }
+    break;
+    /* lsquo */
+  case 0x1d4ff95df4659adfULL:
+    if (len == 5) {
+      return 8216;
+    }
+    break;
+    /* lsquor */
+  case 0x347f67a648a5d3f7ULL:
+    if (len == 6) {
+      return 8218;
+    }
+    break;
+    /* lstrok */
+  case 0x8b18e7c2f48cd1a4ULL:
+    if (len == 6) {
+      return 322;
+    }
+    break;
+    /* lt */
+  case 0x08ad5407b55426cdULL:
+    if (len == 2) {
+      return 60;
+    }
+    break;
+    /* ltcc */
+  case 0xb8c828adf622b08bULL:
+    if (len == 4) {
+      return 10918;
+    }
+    break;
+    /* ltcir */
+  case 0x1eb918993ce05b11ULL:
+    if (len == 5) {
+      return 10873;
+    }
+    break;
+    /* ltdot */
+  case 0xf36a4b9924596768ULL:
+    if (len == 5) {
+      return 8918;
+    }
+    break;
+    /* lthree */
+  case 0xeaae3b15f8c150e9ULL:
+    if (len == 6) {
+      return 8907;
+    }
+    break;
+    /* ltimes */
+  case 0xb1cf2e0efef92763ULL:
+    if (len == 6) {
+      return 8905;
+    }
+    break;
+    /* ltlarr */
+  case 0x54491cf7689dcc9aULL:
+    if (len == 6) {
+      return 10614;
+    }
+    break;
+    /* ltquest */
+  case 0xa5dd420ba9b4fbd5ULL:
+    if (len == 7) {
+      return 10875;
+    }
+    break;
+    /* ltrPar */
+  case 0x92cdb2f13a3ac2e0ULL:
+    if (len == 6) {
+      return 10646;
+    }
+    break;
+    /* ltri */
+  case 0xb90226adf654256cULL:
+    if (len == 4) {
+      return 9667;
+    }
+    break;
+    /* ltrie */
+  case 0xb2ccc29990faee4bULL:
+    if (len == 5) {
+      return 8884;
+    }
+    break;
+    /* ltrif */
+  case 0xb2ccc39990faeffeULL:
+    if (len == 5) {
+      return 9666;
+    }
+    break;
+    /* lurdshar */
+  case 0xb64630a0f47316b0ULL:
+    if (len == 8) {
+      return 10570;
+    }
+    break;
+    /* luruhar */
+  case 0x7cec9409e7db2d02ULL:
+    if (len == 7) {
+      return 10598;
+    }
+    break;
+    /* mDDot */
+  case 0x288ac6b537e55dbbULL:
+    if (len == 5) {
+      return 8762;
+    }
+    break;
+    /* macr */
+  case 0x1f6e56a2ceaa4b6eULL:
+    if (len == 4) {
+      return 175;
+    }
+    break;
+    /* male */
+  case 0x1f6a59a2cea667b0ULL:
+    if (len == 4) {
+      return 9794;
+    }
+    break;
+    /* malt */
+  case 0x1f6a4aa2cea64e33ULL:
+    if (len == 4) {
+      return 10016;
+    }
+    break;
+    /* maltese */
+  case 0xa539a41312f19772ULL:
+    if (len == 7) {
+      return 10016;
+    }
+    break;
+    /* map */
+  case 0x080f5919176d2d91ULL:
+    if (len == 3) {
+      return 8614;
+    }
+    break;
+    /* mapsto */
+  case 0x3756023ce999f2bbULL:
+    if (len == 6) {
+      return 8614;
+    }
+    break;
+    /* mapstodown */
+  case 0x393de27982cbe417ULL:
+    if (len == 10) {
+      return 8615;
+    }
+    break;
+    /* mapstoleft */
+  case 0x9a3c70382aaae882ULL:
+    if (len == 10) {
+      return 8612;
+    }
+    break;
+    /* mapstoup */
+  case 0x5464b618d1914b4eULL:
+    if (len == 8) {
+      return 8613;
+    }
+    break;
+    /* marker */
+  case 0xeddcb72b15486e77ULL:
+    if (len == 6) {
+      return 9646;
+    }
+    break;
+    /* mcomma */
+  case 0xacb3f182a85c325bULL:
+    if (len == 6) {
+      return 10793;
+    }
+    break;
+    /* mcy */
+  case 0x08164c1917733628ULL:
+    if (len == 3) {
+      return 1084;
+    }
+    break;
+    /* mdash */
+  case 0xeaeebebd079118f4ULL:
+    if (len == 5) {
+      return 8212;
+    }
+    break;
+    /* measuredangle */
+  case 0x64ca94fe280a160cULL:
+    if (len == 13) {
+      return 8737;
+    }
+    break;
+    /* mfr */
+  case 0x08205519177b99f8ULL:
+    if (len == 3) {
+      return 120106;
+    }
+    break;
+    /* mho */
+  case 0x07f1621917543f4dULL:
+    if (len == 3) {
+      return 8487;
+    }
+    break;
+    /* micro */
+  case 0x1140a762783f5b1bULL:
+    if (len == 5) {
+      return 181;
+    }
+    break;
+    /* mid */
+  case 0x07f43d1917563645ULL:
+    if (len == 3) {
+      return 8739;
+    }
+    break;
+    /* midast */
+  case 0x7539668d8b5c947bULL:
+    if (len == 6) {
+      return 42;
+    }
+    break;
+    /* midcir */
+  case 0x8744a68d95c9cce9ULL:
+    if (len == 6) {
+      return 10992;
+    }
+    break;
+    /* middot */
+  case 0x5bf4d98d7d412640ULL:
+    if (len == 6) {
+      return 183;
+    }
+    break;
+    /* minus */
+  case 0x8156a862b7957cafULL:
+    if (len == 5) {
+      return 8722;
+    }
+    break;
+    /* minusb */
+  case 0x5bbcecbdf3031057ULL:
+    if (len == 6) {
+      return 8863;
+    }
+    break;
+    /* minusd */
+  case 0x5bbceabdf3030cf1ULL:
+    if (len == 6) {
+      return 8760;
+    }
+    break;
+    /* minusdu */
+  case 0xe50f64c3ee2e444cULL:
+    if (len == 7) {
+      return 10794;
+    }
+    break;
+    /* mlcp */
+  case 0xf43391a2b6340e67ULL:
+    if (len == 4) {
+      return 10971;
+    }
+    break;
+    /* mldr */
+  case 0xf41b89a2b61f6eeeULL:
+    if (len == 4) {
+      return 8230;
+    }
+    break;
+    /* mnplus */
+  case 0x3540aec4e6e65cd6ULL:
+    if (len == 6) {
+      return 8723;
+    }
+    break;
+    /* models */
+  case 0xbb021c3315a8cc0bULL:
+    if (len == 6) {
+      return 8871;
+    }
+    break;
+    /* mopf */
+  case 0x0d151aa2c3faf87bULL:
+    if (len == 4) {
+      return 120158;
+    }
+    break;
+    /* mp */
+  case 0x08a94a07b5502cf8ULL:
+    if (len == 2) {
+      return 8723;
+    }
+    break;
+    /* mscr */
+  case 0xa7ea10a28b77420cULL:
+    if (len == 4) {
+      return 120002;
+    }
+    break;
+    /* mstpos */
+  case 0xfa0e91367dccd2bfULL:
+    if (len == 6) {
+      return 8766;
+    }
+    break;
+    /* mu */
+  case 0x08a94f07b5503577ULL:
+    if (len == 2) {
+      return 956;
+    }
+    break;
+    /* multimap */
+  case 0x473b190659bc52bcULL:
+    if (len == 8) {
+      return 8888;
+    }
+    break;
+    /* mumap */
+  case 0x9c6900400418a7d7ULL:
+    if (len == 5) {
+      return 8888;
+    }
+    break;
+    /* nLeftarrow */
+  case 0x87adad457d2d347dULL:
+    if (len == 10) {
+      return 8653;
+    }
+    break;
+    /* nLeftrightarrow */
+  case 0xf8dd537f87909debULL:
+    if (len == 15) {
+      return 8654;
+    }
+    break;
+    /* nRightarrow */
+  case 0x9bbe79c1b36ba232ULL:
+    if (len == 11) {
+      return 8655;
+    }
+    break;
+    /* nVDash */
+  case 0x78f3b70af3d01e75ULL:
+    if (len == 6) {
+      return 8879;
+    }
+    break;
+    /* nVdash */
+  case 0xa381b816f5409255ULL:
+    if (len == 6) {
+      return 8878;
+    }
+    break;
+    /* nabla */
+  case 0x4eda67ffbb18e01dULL:
+    if (len == 5) {
+      return 8711;
+    }
+    break;
+    /* nacute */
+  case 0x8b843c95fe1c34dfULL:
+    if (len == 6) {
+      return 324;
+    }
+    break;
+    /* nap */
+  case 0x212bbe19256705c0ULL:
+    if (len == 3) {
+      return 8777;
+    }
+    break;
+    /* napos */
+  case 0xb31493ff62e7c62aULL:
+    if (len == 5) {
+      return 329;
+    }
+    break;
+    /* napprox */
+  case 0xbfaa6b74b8644ec9ULL:
+    if (len == 7) {
+      return 8777;
+    }
+    break;
+    /* natur */
+  case 0xd76730ff77f4636bULL:
+    if (len == 5) {
+      return 9838;
+    }
+    break;
+    /* natural */
+  case 0xea8be030b0090316ULL:
+    if (len == 7) {
+      return 9838;
+    }
+    break;
+    /* naturals */
+  case 0x94b157bb1f50c49fULL:
+    if (len == 8) {
+      return 8469;
+    }
+    break;
+    /* nbsp */
+  case 0xdded4bba9c6dfd9aULL:
+    if (len == 4) {
+      return 160;
+    }
+    break;
+    /* ncap */
+  case 0xd6c010ba98c8bdbfULL:
+    if (len == 4) {
+      return 10819;
+    }
+    break;
+    /* ncaron */
+  case 0x1bb534edfe1fb170ULL:
+    if (len == 6) {
+      return 328;
+    }
+    break;
+    /* ncedil */
+  case 0xe3d840ca8a586002ULL:
+    if (len == 6) {
+      return 326;
+    }
+    break;
+    /* ncong */
+  case 0xc3687711a7bfd078ULL:
+    if (len == 5) {
+      return 8775;
+    }
+    break;
+    /* ncup */
+  case 0xd67c18ba988efe8bULL:
+    if (len == 4) {
+      return 10818;
+    }
+    break;
+    /* ncy */
+  case 0x2132d319256d481dULL:
+    if (len == 3) {
+      return 1085;
+    }
+    break;
+    /* ndash */
+  case 0x569bac295cfedae9ULL:
+    if (len == 5) {
+      return 8211;
+    }
+    break;
+    /* ne */
+  case 0x08b34f07b55889fcULL:
+    if (len == 2) {
+      return 8800;
+    }
+    break;
+    /* neArr */
+  case 0x8788461f38dccd47ULL:
+    if (len == 5) {
+      return 8663;
+    }
+    break;
+    /* nearhk */
+  case 0x01ea5201a0651e6aULL:
+    if (len == 6) {
+      return 10532;
+    }
+    break;
+    /* nearr */
+  case 0x7180261e9b2573e7ULL:
+    if (len == 5) {
+      return 8599;
+    }
+    break;
+    /* nearrow */
+  case 0x6230fbc3f581ac9dULL:
+    if (len == 7) {
+      return 8599;
+    }
+    break;
+    /* nequiv */
+  case 0x280aeb7e0581c151ULL:
+    if (len == 6) {
+      return 8802;
+    }
+    break;
+    /* nesear */
+  case 0x71ad638b50e540bbULL:
+    if (len == 6) {
+      return 10536;
+    }
+    break;
+    /* nexist */
+  case 0xaaaf8f30cc8ba490ULL:
+    if (len == 6) {
+      return 8708;
+    }
+    break;
+    /* nexists */
+  case 0x93f532eb91492db9ULL:
+    if (len == 7) {
+      return 8708;
+    }
+    break;
+    /* nfr */
+  case 0x2143ca19257bac05ULL:
+    if (len == 3) {
+      return 120107;
+    }
+    break;
+    /* nge */
+  case 0x213fb7192577a2e5ULL:
+    if (len == 3) {
+      return 8817;
+    }
+    break;
+    /* ngeq */
+  case 0xf6e6b3baaa49417cULL:
+    if (len == 4) {
+      return 8817;
+    }
+    break;
+    /* ngsim */
+  case 0x29c8152f8b726949ULL:
+    if (len == 5) {
+      return 8821;
+    }
+    break;
+    /* ngt */
+  case 0x213fc6192577bc62ULL:
+    if (len == 3) {
+      return 8815;
+    }
+    break;
+    /* ngtr */
+  case 0xf719acbaaa748f30ULL:
+    if (len == 4) {
+      return 8815;
+    }
+    break;
+    /* nhArr */
+  case 0x96f49048ded2f2f2ULL:
+    if (len == 5) {
+      return 8654;
+    }
+    break;
+    /* nharr */
+  case 0x80eb70484119e692ULL:
+    if (len == 5) {
+      return 8622;
+    }
+    break;
+    /* nhpar */
+  case 0xfeca0147f7563e66ULL:
+    if (len == 5) {
+      return 10994;
+    }
+    break;
+    /* ni */
+  case 0x08b35307b55890c8ULL:
+    if (len == 2) {
+      return 8715;
+    }
+    break;
+    /* nis */
+  case 0x2146d119257dedc1ULL:
+    if (len == 3) {
+      return 8956;
+    }
+    break;
+    /* nisd */
+  case 0x0942f2bab4facf5fULL:
+    if (len == 4) {
+      return 8954;
+    }
+    break;
+    /* niv */
+  case 0x2146d419257df2daULL:
+    if (len == 3) {
+      return 8715;
+    }
+    break;
+    /* njcy */
+  case 0x22288cbac2c5bf2dULL:
+    if (len == 4) {
+      return 1114;
+    }
+    break;
+    /* nlArr */
+  case 0x1598e06a36947f76ULL:
+    if (len == 5) {
+      return 8653;
+    }
+    break;
+    /* nlarr */
+  case 0x2ba2006ad44d8bd6ULL:
+    if (len == 5) {
+      return 8602;
+    }
+    break;
+    /* nldr */
+  case 0x3443ddbacd3fd4b1ULL:
+    if (len == 4) {
+      return 8229;
+    }
+    break;
+    /* nle */
+  case 0x2157b719258c34c6ULL:
+    if (len == 3) {
+      return 8816;
+    }
+    break;
+    /* nleftarrow */
+  case 0x3559034f0893641dULL:
+    if (len == 10) {
+      return 8602;
+    }
+    break;
+    /* nleftrightarrow */
+  case 0xfcad04050c077d0bULL:
+    if (len == 15) {
+      return 8622;
+    }
+    break;
+    /* nleq */
+  case 0x3440d6bacd3d92f5ULL:
+    if (len == 4) {
+      return 8816;
+    }
+    break;
+    /* nless */
+  case 0x07b9756abf9ba934ULL:
+    if (len == 5) {
+      return 8814;
+    }
+    break;
+    /* nlsim */
+  case 0xa3593d6b17abdf86ULL:
+    if (len == 5) {
+      return 8820;
+    }
+    break;
+    /* nlt */
+  case 0x2157c819258c51a9ULL:
+    if (len == 3) {
+      return 8814;
+    }
+    break;
+    /* nltri */
+  case 0x9bde0c6b13c48f58ULL:
+    if (len == 5) {
+      return 8938;
+    }
+    break;
+    /* nltrie */
+  case 0x9ede56f296ff64a7ULL:
+    if (len == 6) {
+      return 8940;
+    }
+    break;
+    /* nmid */
+  case 0x2d799abac9ef0499ULL:
+    if (len == 4) {
+      return 8740;
+    }
+    break;
+    /* nopf */
+  case 0x3beb18bad14c70c8ULL:
+    if (len == 4) {
+      return 120159;
+    }
+    break;
+    /* not */
+  case 0x215ad619258e9f4aULL:
+    if (len == 3) {
+      return 172;
+    }
+    break;
+    /* notin */
+  case 0x40677171b938df15ULL:
+    if (len == 5) {
+      return 8713;
+    }
+    break;
+    /* notinva */
+  case 0x343705e5d6f6c488ULL:
+    if (len == 7) {
+      return 8713;
+    }
+    break;
+    /* notinvb */
+  case 0x343708e5d6f6c9a1ULL:
+    if (len == 7) {
+      return 8951;
+    }
+    break;
+    /* notinvc */
+  case 0x343707e5d6f6c7eeULL:
+    if (len == 7) {
+      return 8950;
+    }
+    break;
+    /* notni */
+  case 0x406b5271b93c933fULL:
+    if (len == 5) {
+      return 8716;
+    }
+    break;
+    /* notniva */
+  case 0xfcb8f2f087dff31eULL:
+    if (len == 7) {
+      return 8716;
+    }
+    break;
+    /* notnivb */
+  case 0xfcb8f1f087dff16bULL:
+    if (len == 7) {
+      return 8958;
+    }
+    break;
+    /* notnivc */
+  case 0xfcb8f0f087dfefb8ULL:
+    if (len == 7) {
+      return 8957;
+    }
+    break;
+    /* npar */
+  case 0x429e57ba44a1d3acULL:
+    if (len == 4) {
+      return 8742;
+    }
+    break;
+    /* nparallel */
+  case 0x7e3f7f8730674fceULL:
+    if (len == 9) {
+      return 8742;
+    }
+    break;
+    /* npolint */
+  case 0x9ffdd639dfb8d529ULL:
+    if (len == 7) {
+      return 10772;
+    }
+    break;
+    /* npr */
+  case 0x20f8c219253bb2f3ULL:
+    if (len == 3) {
+      return 8832;
+    }
+    break;
+    /* nprcue */
+  case 0x7026ca657a37f66eULL:
+    if (len == 6) {
+      return 8928;
+    }
+    break;
+    /* nprec */
+  case 0x410f0f824b15f733ULL:
+    if (len == 5) {
+      return 8832;
+    }
+    break;
+    /* nrArr */
+  case 0x2c34bb93ea3f6374ULL:
+    if (len == 5) {
+      return 8655;
+    }
+    break;
+    /* nrarr */
+  case 0x3ed7db94851546d4ULL:
+    if (len == 5) {
+      return 8603;
+    }
+    break;
+    /* nrightarrow */
+  case 0x88556137f4662e52ULL:
+    if (len == 11) {
+      return 8603;
+    }
+    break;
+    /* nrtri */
+  case 0xe0c823945026d122ULL:
+    if (len == 5) {
+      return 8939;
+    }
+    break;
+    /* nrtrie */
+  case 0x1ae5bc0431f59ba5ULL:
+    if (len == 6) {
+      return 8941;
+    }
+    break;
+    /* nsc */
+  case 0x20fbb919253dd97fULL:
+    if (len == 3) {
+      return 8833;
+    }
+    break;
+    /* nsccue */
+  case 0x1fe32df296dbefc2ULL:
+    if (len == 6) {
+      return 8929;
+    }
+    break;
+    /* nscr */
+  case 0x499492ba4817d117ULL:
+    if (len == 4) {
+      return 120003;
+    }
+    break;
+    /* nshortmid */
+  case 0xc0a8a73826a97491ULL:
+    if (len == 9) {
+      return 8740;
+    }
+    break;
+    /* nshortparallel */
+  case 0xa8e1dc07e7833806ULL:
+    if (len == 14) {
+      return 8742;
+    }
+    break;
+    /* nsim */
+  case 0x49b693ba4834b930ULL:
+    if (len == 4) {
+      return 8769;
+    }
+    break;
+    /* nsime */
+  case 0x75f65a88b196eb6fULL:
+    if (len == 5) {
+      return 8772;
+    }
+    break;
+    /* nsimeq */
+  case 0x0886f445c37183faULL:
+    if (len == 6) {
+      return 8772;
+    }
+    break;
+    /* nsmid */
+  case 0x5547a5889fa2af84ULL:
+    if (len == 5) {
+      return 8740;
+    }
+    break;
+    /* nspar */
+  case 0xb2c87888d4179ad1ULL:
+    if (len == 5) {
+      return 8742;
+    }
+    break;
+    /* nsqsube */
+  case 0x5c0e910d7853f560ULL:
+    if (len == 7) {
+      return 8930;
+    }
+    break;
+    /* nsqsupe */
+  case 0x5c3ea50d787d3b1eULL:
+    if (len == 7) {
+      return 8931;
+    }
+    break;
+    /* nsub */
+  case 0x49c47aba4840cc11ULL:
+    if (len == 4) {
+      return 8836;
+    }
+    break;
+    /* nsube */
+  case 0x99a8fe88c61b691cULL:
+    if (len == 5) {
+      return 8840;
+    }
+    break;
+    /* nsubseteq */
+  case 0x53d8e3db65277265ULL:
+    if (len == 9) {
+      return 8840;
+    }
+    break;
+    /* nsucc */
+  case 0x99a51488c617a5a7ULL:
+    if (len == 5) {
+      return 8833;
+    }
+    break;
+    /* nsup */
+  case 0x49c488ba4840e3dbULL:
+    if (len == 4) {
+      return 8837;
+    }
+    break;
+    /* nsupe */
+  case 0x99d81288c642fbdaULL:
+    if (len == 5) {
+      return 8841;
+    }
+    break;
+    /* nsupseteq */
+  case 0x8433aebd115f0eefULL:
+    if (len == 9) {
+      return 8841;
+    }
+    break;
+    /* ntgl */
+  case 0x637cedba56befeacULL:
+    if (len == 4) {
+      return 8825;
+    }
+    break;
+    /* ntilde */
+  case 0xc6a4182fa5857abdULL:
+    if (len == 6) {
+      return 241;
+    }
+    break;
+    /* ntlg */
+  case 0x636bf8ba56b09e2aULL:
+    if (len == 4) {
+      return 8824;
+    }
+    break;
+    /* ntriangleleft */
+  case 0x3a5eb3d207e91434ULL:
+    if (len == 13) {
+      return 8938;
+    }
+    break;
+    /* ntrianglelefteq */
+  case 0xd54d8e7919fa63d6ULL:
+    if (len == 15) {
+      return 8940;
+    }
+    break;
+    /* ntriangleright */
+  case 0xb385b5a00feea241ULL:
+    if (len == 14) {
+      return 8939;
+    }
+    break;
+    /* ntrianglerighteq */
+  case 0xb6bdada06b463707ULL:
+    if (len == 16) {
+      return 8941;
+    }
+    break;
+    /* nu */
+  case 0x08b33f07b5586eccULL:
+    if (len == 2) {
+      return 957;
+    }
+    break;
+    /* num */
+  case 0x2102bb192543fb93ULL:
+    if (len == 3) {
+      return 35;
+    }
+    break;
+    /* numero */
+  case 0xaba6920d8c9ee00dULL:
+    if (len == 6) {
+      return 8470;
+    }
+    break;
+    /* numsp */
+  case 0x3584fd9a37fb4870ULL:
+    if (len == 5) {
+      return 8199;
+    }
+    break;
+    /* nvDash */
+  case 0x0e4fd1bc849bb3d5ULL:
+    if (len == 6) {
+      return 8877;
+    }
+    break;
+    /* nvHarr */
+  case 0x0da9f61ce0096da6ULL:
+    if (len == 6) {
+      return 10500;
+    }
+    break;
+    /* nvdash */
+  case 0xe3c1d0b0832b3ff5ULL:
+    if (len == 6) {
+      return 8876;
+    }
+    break;
+    /* nvinfin */
+  case 0x508b5cd0817cfce7ULL:
+    if (len == 7) {
+      return 10718;
+    }
+    break;
+    /* nvlArr */
+  case 0xa32c04f15d1db662ULL:
+    if (len == 6) {
+      return 10498;
+    }
+    break;
+    /* nvrArr */
+  case 0xb9604168898bbc68ULL:
+    if (len == 6) {
+      return 10499;
+    }
+    break;
+    /* nwArr */
+  case 0x1aeaf9acf485d1c9ULL:
+    if (len == 5) {
+      return 8662;
+    }
+    break;
+    /* nwarhk */
+  case 0xc548e1dc68b7b000ULL:
+    if (len == 6) {
+      return 10531;
+    }
+    break;
+    /* nwarr */
+  case 0x0848d9ac59b1a169ULL:
+    if (len == 5) {
+      return 8598;
+    }
+    break;
+    /* nwarrow */
+  case 0x4941da8621473c3fULL:
+    if (len == 7) {
+      return 8598;
+    }
+    break;
+    /* nwnear */
+  case 0x58a31a2494091ddcULL:
+    if (len == 6) {
+      return 10535;
+    }
+    break;
+    /* oS */
+  case 0x08b07507b55694b7ULL:
+    if (len == 2) {
+      return 9416;
+    }
+    break;
+    /* oacute */
+  case 0xa04e0bb8821b609aULL:
+    if (len == 6) {
+      return 243;
+    }
+    break;
+    /* oast */
+  case 0x892c48b4b49557caULL:
+    if (len == 4) {
+      return 8859;
+    }
+    break;
+    /* ocir */
+  case 0x7a43f0b4acd305c8ULL:
+    if (len == 4) {
+      return 8858;
+    }
+    break;
+    /* ocirc */
+  case 0x9477ae01aa92a191ULL:
+    if (len == 5) {
+      return 244;
+    }
+    break;
+    /* ocy */
+  case 0x1a35aa1921f14a9aULL:
+    if (len == 3) {
+      return 1086;
+    }
+    break;
+    /* odash */
+  case 0x010feee4dc2ea546ULL:
+    if (len == 5) {
+      return 8861;
+    }
+    break;
+    /* odblac */
+  case 0xc32e44c97f65b5e8ULL:
+    if (len == 6) {
+      return 337;
+    }
+    break;
+    /* odiv */
+  case 0x5d8b6bb49bc83ec9ULL:
+    if (len == 4) {
+      return 10808;
+    }
+    break;
+    /* odot */
+  case 0x5d776db49bb79925ULL:
+    if (len == 4) {
+      return 8857;
+    }
+    break;
+    /* odsold */
+  case 0x7097c1586204d3c8ULL:
+    if (len == 6) {
+      return 10684;
+    }
+    break;
+    /* oelig */
+  case 0x5634b2efdd540b27ULL:
+    if (len == 5) {
+      return 339;
+    }
+    break;
+    /* ofcir */
+  case 0x52ae6ad7e88b126eULL:
+    if (len == 5) {
+      return 10687;
+    }
+    break;
+    /* ofr */
+  case 0x1a24a71921e2d24eULL:
+    if (len == 3) {
+      return 120108;
+    }
+    break;
+    /* ogon */
+  case 0x569558b498528556ULL:
+    if (len == 4) {
+      return 731;
+    }
+    break;
+    /* ograve */
+  case 0x07a91c484ecd0a07ULL:
+    if (len == 6) {
+      return 242;
+    }
+    break;
+    /* ogt */
+  case 0x1a27af1921e515bdULL:
+    if (len == 3) {
+      return 10689;
+    }
+    break;
+    /* ohbar */
+  case 0xbcf6a3c5e986d1d3ULL:
+    if (len == 5) {
+      return 10677;
+    }
+    break;
+    /* ohm */
+  case 0x1a1d961921dc96bdULL:
+    if (len == 3) {
+      return 937;
+    }
+    break;
+    /* oint */
+  case 0x4494eeb48def0d0fULL:
+    if (len == 4) {
+      return 8750;
+    }
+    break;
+    /* olarr */
+  case 0x2b9c8ea364830e15ULL:
+    if (len == 5) {
+      return 8634;
+    }
+    break;
+    /* olcir */
+  case 0x1ce732a35cec0ee0ULL:
+    if (len == 5) {
+      return 10686;
+    }
+    break;
+    /* olcross */
+  case 0x1d96aa2633ba8546ULL:
+    if (len == 7) {
+      return 10683;
+    }
+    break;
+    /* oline */
+  case 0x7382efa38df9aed4ULL:
+    if (len == 5) {
+      return 8254;
+    }
+    break;
+    /* olt */
+  case 0x1a0f9d1921d06546ULL:
+    if (len == 3) {
+      return 10688;
+    }
+    break;
+    /* omacr */
+  case 0x10ef0aae268ba689ULL:
+    if (len == 5) {
+      return 333;
+    }
+    break;
+    /* omega */
+  case 0x3460cbae3ad8be88ULL:
+    if (len == 5) {
+      return 969;
+    }
+    break;
+    /* omicron */
+  case 0xb68093d38ddba51cULL:
+    if (len == 7) {
+      return 959;
+    }
+    break;
+    /* omid */
+  case 0x236f38b47b95a90cULL:
+    if (len == 4) {
+      return 10678;
+    }
+    break;
+    /* ominus */
+  case 0xb22c3aa9045761daULL:
+    if (len == 6) {
+      return 8854;
+    }
+    break;
+    /* oopf */
+  case 0x1197fab47155809dULL:
+    if (len == 4) {
+      return 120160;
+    }
+    break;
+    /* opar */
+  case 0xf8417bb4632a03f9ULL:
+    if (len == 4) {
+      return 10679;
+    }
+    break;
+    /* operp */
+  case 0x25a268849576d737ULL:
+    if (len == 5) {
+      return 10681;
+    }
+    break;
+    /* oplus */
+  case 0xd603e88467e556c2ULL:
+    if (len == 5) {
+      return 8853;
+    }
+    break;
+    /* or */
+  case 0x08b05407b5565ca4ULL:
+    if (len == 2) {
+      return 8744;
+    }
+    break;
+    /* orarr */
+  case 0x97c0ca729aa684dfULL:
+    if (len == 5) {
+      return 8635;
+    }
+    break;
+    /* ord */
+  case 0x19fb891921bf9a40ULL:
+    if (len == 3) {
+      return 10845;
+    }
+    break;
+    /* order */
+  case 0x6be60d7281a829f7ULL:
+    if (len == 5) {
+      return 8500;
+    }
+    break;
+    /* orderof */
+  case 0xde04299f3400452aULL:
+    if (len == 7) {
+      return 8500;
+    }
+    break;
+    /* ordf */
+  case 0xe6041bb45892ee92ULL:
+    if (len == 4) {
+      return 170;
+    }
+    break;
+    /* ordm */
+  case 0xe60422b45892fa77ULL:
+    if (len == 4) {
+      return 186;
+    }
+    break;
+    /* origof */
+  case 0xb9feccfe786a9511ULL:
+    if (len == 6) {
+      return 8886;
+    }
+    break;
+    /* oror */
+  case 0xe62929b458b22299ULL:
+    if (len == 4) {
+      return 10838;
+    }
+    break;
+    /* orslope */
+  case 0xc1a7e068566cae13ULL:
+    if (len == 7) {
+      return 10839;
+    }
+    break;
+    /* orv */
+  case 0x19fb9b1921bfb8d6ULL:
+    if (len == 3) {
+      return 10843;
+    }
+    break;
+    /* oscr */
+  case 0xedd768b45cc4e42aULL:
+    if (len == 4) {
+      return 8500;
+    }
+    break;
+    /* oslash */
+  case 0xd99745e9d48f4813ULL:
+    if (len == 6) {
+      return 248;
+    }
+    break;
+    /* osol */
+  case 0xede54ab45cd0ee8cULL:
+    if (len == 4) {
+      return 8856;
+    }
+    break;
+    /* otilde */
+  case 0xfe66aa244ed765b8ULL:
+    if (len == 6) {
+      return 245;
+    }
+    break;
+    /* otimes */
+  case 0xf69987244aaa232cULL:
+    if (len == 6) {
+      return 8855;
+    }
+    break;
+    /* otimesas */
+  case 0xe3abe359192697acULL:
+    if (len == 8) {
+      return 10806;
+    }
+    break;
+    /* ouml */
+  case 0xdbdb18b4526580e8ULL:
+    if (len == 4) {
+      return 246;
+    }
+    break;
+    /* ovbar */
+  case 0xf73b6b500da86d1dULL:
+    if (len == 5) {
+      return 9021;
+    }
+    break;
+    /* par */
+  case 0x77ca6a195676bea8ULL:
+    if (len == 3) {
+      return 8741;
+    }
+    break;
+    /* para */
+  case 0x03b1120debc62f8bULL:
+    if (len == 4) {
+      return 182;
+    }
+    break;
+    /* parallel */
+  case 0xb292646184d47d92ULL:
+    if (len == 8) {
+      return 8741;
+    }
+    break;
+    /* parsim */
+  case 0xe07b82d836bc260fULL:
+    if (len == 6) {
+      return 10995;
+    }
+    break;
+    /* parsl */
+  case 0x0c4e90a7a1f70cd7ULL:
+    if (len == 5) {
+      return 11005;
+    }
+    break;
+    /* part */
+  case 0x03b1250debc64fd4ULL:
+    if (len == 4) {
+      return 8706;
+    }
+    break;
+    /* pcy */
+  case 0x77c3691956709e47ULL:
+    if (len == 3) {
+      return 1087;
+    }
+    break;
+    /* percnt */
+  case 0xceb4140b29646bbfULL:
+    if (len == 6) {
+      return 37;
+    }
+    break;
+    /* period */
+  case 0x0528080b48ef9464ULL:
+    if (len == 6) {
+      return 46;
+    }
+    break;
+    /* permil */
+  case 0xe0ad600b33c1925eULL:
+    if (len == 6) {
+      return 8240;
+    }
+    break;
+    /* perp */
+  case 0xdfc4750dd710457cULL:
+    if (len == 4) {
+      return 8869;
+    }
+    break;
+    /* pertenk */
+  case 0x8a943844cb26f188ULL:
+    if (len == 7) {
+      return 8241;
+    }
+    break;
+    /* pfr */
+  case 0x77b96c1956684edbULL:
+    if (len == 3) {
+      return 120109;
+    }
+    break;
+    /* phi */
+  case 0x77b2591956620fe4ULL:
+    if (len == 3) {
+      return 966;
+    }
+    break;
+    /* phiv */
+  case 0xc61cf80dc8a07516ULL:
+    if (len == 4) {
+      return 981;
+    }
+    break;
+    /* phmmat */
+  case 0x141cbb3e5512773aULL:
+    if (len == 6) {
+      return 8499;
+    }
+    break;
+    /* phone */
+  case 0x31fc9c6bde865d6fULL:
+    if (len == 5) {
+      return 9742;
+    }
+    break;
+    /* pi */
+  case 0x08d53f07b5755532ULL:
+    if (len == 2) {
+      return 960;
+    }
+    break;
+    /* pitchfork */
+  case 0x253c0933f6dcb76dULL:
+    if (len == 9) {
+      return 8916;
+    }
+    break;
+    /* piv */
+  case 0x77af5e19565fe28cULL:
+    if (len == 3) {
+      return 982;
+    }
+    break;
+    /* planck */
+  case 0xe7de30b006ecf758ULL:
+    if (len == 6) {
+      return 8463;
+    }
+    break;
+    /* planckh */
+  case 0xeb83eb1bc4a80690ULL:
+    if (len == 7) {
+      return 8462;
+    }
+    break;
+    /* plankv */
+  case 0xe7f94db00703f057ULL:
+    if (len == 6) {
+      return 8463;
+    }
+    break;
+    /* plus */
+  case 0xa5c0590db6f268b5ULL:
+    if (len == 4) {
+      return 43;
+    }
+    break;
+    /* plusacir */
+  case 0xfd7576263ab59ddaULL:
+    if (len == 8) {
+      return 10787;
+    }
+    break;
+    /* plusb */
+  case 0x9840294ddde82555ULL:
+    if (len == 5) {
+      return 8862;
+    }
+    break;
+    /* pluscir */
+  case 0x8042b00da9800199ULL:
+    if (len == 7) {
+      return 10786;
+    }
+    break;
+    /* plusdo */
+  case 0x9d17495011666224ULL:
+    if (len == 6) {
+      return 8724;
+    }
+    break;
+    /* plusdu */
+  case 0x9d17535011667322ULL:
+    if (len == 6) {
+      return 10789;
+    }
+    break;
+    /* pluse */
+  case 0x9840224ddde81970ULL:
+    if (len == 5) {
+      return 10866;
+    }
+    break;
+    /* plusmn */
+  case 0x9d2f4850117af252ULL:
+    if (len == 6) {
+      return 177;
+    }
+    break;
+    /* plussim */
+  case 0xf3f8190d598eace4ULL:
+    if (len == 7) {
+      return 10790;
+    }
+    break;
+    /* plustwo */
+  case 0xc8574e0d40c1b279ULL:
+    if (len == 7) {
+      return 10791;
+    }
+    break;
+    /* pm */
+  case 0x08d53b07b5754e66ULL:
+    if (len == 2) {
+      return 177;
+    }
+    break;
+    /* pointint */
+  case 0x2a85601a14b31592ULL:
+    if (len == 8) {
+      return 10773;
+    }
+    break;
+    /* popf */
+  case 0x8c25e90da88d38c2ULL:
+    if (len == 4) {
+      return 120161;
+    }
+    break;
+    /* pound */
+  case 0xdcaf9735804655b5ULL:
+    if (len == 5) {
+      return 163;
+    }
+    break;
+    /* pr */
+  case 0x08d55607b5757c47ULL:
+    if (len == 2) {
+      return 8826;
+    }
+    break;
+    /* prE */
+  case 0x77fd311956a1b766ULL:
+    if (len == 3) {
+      return 10931;
+    }
+    break;
+    /* prap */
+  case 0x856c7c0e35331c06ULL:
+    if (len == 4) {
+      return 10935;
+    }
+    break;
+    /* prcue */
+  case 0xd8a90d245ba3cdbaULL:
+    if (len == 5) {
+      return 8828;
+    }
+    break;
+    /* pre */
+  case 0x77fd511956a1edc6ULL:
+    if (len == 3) {
+      return 10927;
+    }
+    break;
+    /* prec */
+  case 0x855e730e3526cf5fULL:
+    if (len == 4) {
+      return 8826;
+    }
+    break;
+    /* precapprox */
+  case 0xa762d7409317a5e7ULL:
+    if (len == 10) {
+      return 10935;
+    }
+    break;
+    /* preccurlyeq */
+  case 0x2d60065e856c07beULL:
+    if (len == 11) {
+      return 8828;
+    }
+    break;
+    /* preceq */
+  case 0xe681fdb58b6c5e4dULL:
+    if (len == 6) {
+      return 10927;
+    }
+    break;
+    /* precnapprox */
+  case 0x2edef4f68048deb3ULL:
+    if (len == 11) {
+      return 10937;
+    }
+    break;
+    /* precneqq */
+  case 0x05ef703f68ea76d8ULL:
+    if (len == 8) {
+      return 10933;
+    }
+    break;
+    /* precnsim */
+  case 0x5ce01a3f9a403682ULL:
+    if (len == 8) {
+      return 8936;
+    }
+    break;
+    /* precsim */
+  case 0xa02d217ba2eb03aeULL:
+    if (len == 7) {
+      return 8830;
+    }
+    break;
+    /* prime */
+  case 0x2f1173248c858040ULL:
+    if (len == 5) {
+      return 8242;
+    }
+    break;
+    /* primes */
+  case 0x8026da1ac6d8d6a9ULL:
+    if (len == 6) {
+      return 8473;
+    }
+    break;
+    /* prnE */
+  case 0x8576a10e353baf6aULL:
+    if (len == 4) {
+      return 10933;
+    }
+    break;
+    /* prnap */
+  case 0x03c8cd2474033a8aULL:
+    if (len == 5) {
+      return 10937;
+    }
+    break;
+    /* prnsim */
+  case 0xebabd9f166ff08daULL:
+    if (len == 6) {
+      return 8936;
+    }
+    break;
+    /* prod */
+  case 0x85729c0e3537be14ULL:
+    if (len == 4) {
+      return 8719;
+    }
+    break;
+    /* profalar */
+  case 0xe350cd6187eeab50ULL:
+    if (len == 8) {
+      return 9006;
+    }
+    break;
+    /* profline */
+  case 0xa8c7a737c99b1f18ULL:
+    if (len == 8) {
+      return 8978;
+    }
+    break;
+    /* profsurf */
+  case 0x08c443ccd2db0c7aULL:
+    if (len == 8) {
+      return 8979;
+    }
+    break;
+    /* prop */
+  case 0x8572880e35379c18ULL:
+    if (len == 4) {
+      return 8733;
+    }
+    break;
+    /* propto */
+  case 0xfbb03ce60e748051ULL:
+    if (len == 6) {
+      return 8733;
+    }
+    break;
+    /* prsim */
+  case 0x62237524a9318086ULL:
+    if (len == 5) {
+      return 8830;
+    }
+    break;
+    /* prurel */
+  case 0x28934a396165c925ULL:
+    if (len == 6) {
+      return 8880;
+    }
+    break;
+    /* pscr */
+  case 0x7e835b0e31c7d525ULL:
+    if (len == 4) {
+      return 120005;
+    }
+    break;
+    /* psi */
+  case 0x77fa7919569ffbe7ULL:
+    if (len == 3) {
+      return 968;
+    }
+    break;
+    /* puncsp */
+  case 0x40f9d900abd274caULL:
+    if (len == 6) {
+      return 8200;
+    }
+    break;
+    /* qfr */
+  case 0x70d0491952fd0494ULL:
+    if (len == 3) {
+      return 120110;
+    }
+    break;
+    /* qint */
+  case 0x83424f07eb1617a5ULL:
+    if (len == 4) {
+      return 10764;
+    }
+    break;
+    /* qopf */
+  case 0x74e21b07e3c79c67ULL:
+    if (len == 4) {
+      return 120162;
+    }
+    break;
+    /* qprime */
+  case 0xc369609d4ca94b03ULL:
+    if (len == 6) {
+      return 8279;
+    }
+    break;
+    /* qscr */
+  case 0x512f6107cf42f958ULL:
+    if (len == 4) {
+      return 120006;
+    }
+    break;
+    /* quaternions */
+  case 0x506137c3345d957aULL:
+    if (len == 11) {
+      return 8461;
+    }
+    break;
+    /* quatint */
+  case 0x1c11594f9f34416fULL:
+    if (len == 7) {
+      return 10774;
+    }
+    break;
+    /* quest */
+  case 0xb109a0146c47e97dULL:
+    if (len == 5) {
+      return 63;
+    }
+    break;
+    /* questeq */
+  case 0x85cd18d8ed64835bULL:
+    if (len == 7) {
+      return 8799;
+    }
+    break;
+    /* quot */
+  case 0x1df46d07b2740bc8ULL:
+    if (len == 4) {
+      return 34;
+    }
+    break;
+    /* rAarr */
+  case 0x891d9d05e8bf1067ULL:
+    if (len == 5) {
+      return 8667;
+    }
+    break;
+    /* rArr */
+  case 0x579cef1f342784a8ULL:
+    if (len == 4) {
+      return 8658;
+    }
+    break;
+    /* rAtail */
+  case 0x80a6565d9e35a26eULL:
+    if (len == 6) {
+      return 10524;
+    }
+    break;
+    /* rBarr */
+  case 0xd82a032290aebec8ULL:
+    if (len == 5) {
+      return 10511;
+    }
+    break;
+    /* rHar */
+  case 0xa698501f612e6f20ULL:
+    if (len == 4) {
+      return 10596;
+    }
+    break;
+    /* racute */
+  case 0xc9284782c39fb483ULL:
+    if (len == 6) {
+      return 341;
+    }
+    break;
+    /* radic */
+  case 0x8813c811d16918b0ULL:
+    if (len == 5) {
+      return 8730;
+    }
+    break;
+    /* raemptyv */
+  case 0x5ae2ca7f7cb82b21ULL:
+    if (len == 8) {
+      return 10675;
+    }
+    break;
+    /* rang */
+  case 0x6db3141fd1eb23e3ULL:
+    if (len == 4) {
+      return 10217;
+    }
+    break;
+    /* rangd */
+  case 0x526eb911b28d5e65ULL:
+    if (len == 5) {
+      return 10642;
+    }
+    break;
+    /* range */
+  case 0x526eb811b28d5cb2ULL:
+    if (len == 5) {
+      return 10661;
+    }
+    break;
+    /* rangle */
+  case 0x9f9da912664dd348ULL:
+    if (len == 6) {
+      return 10217;
+    }
+    break;
+    /* raquo */
+  case 0x26e8f11199d730cbULL:
+    if (len == 5) {
+      return 187;
+    }
+    break;
+    /* rarr */
+  case 0x6da60f1fd1e09108ULL:
+    if (len == 4) {
+      return 8594;
+    }
+    break;
+    /* rarrap */
+  case 0x1b6bccf3e0b8dce1ULL:
+    if (len == 6) {
+      return 10613;
+    }
+    break;
+    /* rarrb */
+  case 0x31bd1d11a097171eULL:
+    if (len == 5) {
+      return 8677;
+    }
+    break;
+    /* rarrbfs */
+  case 0x5bf50d66e0f1a761ULL:
+    if (len == 7) {
+      return 10528;
+    }
+    break;
+    /* rarrc */
+  case 0x31bd1e11a09718d1ULL:
+    if (len == 5) {
+      return 10547;
+    }
+    break;
+    /* rarrfs */
+  case 0x1b7cc9f3e0c74afbULL:
+    if (len == 6) {
+      return 10526;
+    }
+    break;
+    /* rarrhk */
+  case 0x1b4db1f3e09fb171ULL:
+    if (len == 6) {
+      return 8618;
+    }
+    break;
+    /* rarrlp */
+  case 0x1b5acef3e0aa6d14ULL:
+    if (len == 6) {
+      return 8620;
+    }
+    break;
+    /* rarrpl */
+  case 0x1b9eb2f3e0e40a4cULL:
+    if (len == 6) {
+      return 10565;
+    }
+    break;
+    /* rarrsim */
+  case 0xef62d067347fcdefULL:
+    if (len == 7) {
+      return 10612;
+    }
+    break;
+    /* rarrtl */
+  case 0x1bacd2f3e0f07e08ULL:
+    if (len == 6) {
+      return 8611;
+    }
+    break;
+    /* rarrw */
+  case 0x31bd3211a0973acdULL:
+    if (len == 5) {
+      return 8605;
+    }
+    break;
+    /* ratail */
+  case 0x93853dbf256920ceULL:
+    if (len == 6) {
+      return 10522;
+    }
+    break;
+    /* ratio */
+  case 0xfbc924118177ade4ULL:
+    if (len == 5) {
+      return 8758;
+    }
+    break;
+    /* rationals */
+  case 0x19014f5fafee1d80ULL:
+    if (len == 9) {
+      return 8474;
+    }
+    break;
+    /* rbarr */
+  case 0x55d70429a73d5ea8ULL:
+    if (len == 5) {
+      return 10509;
+    }
+    break;
+    /* rbbrk */
+  case 0x72607029b8208a6aULL:
+    if (len == 5) {
+      return 10099;
+    }
+    break;
+    /* rbrace */
+  case 0x6a75b65b0c353128ULL:
+    if (len == 6) {
+      return 125;
+    }
+    break;
+    /* rbrack */
+  case 0x6a75b45b0c352dc2ULL:
+    if (len == 6) {
+      return 93;
+    }
+    break;
+    /* rbrke */
+  case 0xe589e62967b7c95dULL:
+    if (len == 5) {
+      return 10636;
+    }
+    break;
+    /* rbrksld */
+  case 0xc2f58309575e0de3ULL:
+    if (len == 7) {
+      return 10638;
+    }
+    break;
+    /* rbrkslu */
+  case 0xc2f57209575df100ULL:
+    if (len == 7) {
+      return 10640;
+    }
+    break;
+    /* rcaron */
+  case 0x4c8265c2ea891dbcULL:
+    if (len == 6) {
+      return 345;
+    }
+    break;
+    /* rcedil */
+  case 0x4e2f79e5af16adc6ULL:
+    if (len == 6) {
+      return 343;
+    }
+    break;
+    /* rceil */
+  case 0x1554ce22a96ca078ULL:
+    if (len == 5) {
+      return 8969;
+    }
+    break;
+    /* rcub */
+  case 0x7f6f6b1fdc14af15ULL:
+    if (len == 4) {
+      return 125;
+    }
+    break;
+    /* rcy */
+  case 0x89fdb71961055f41ULL:
+    if (len == 3) {
+      return 1088;
+    }
+    break;
+    /* rdca */
+  case 0x53ce731fc3476833ULL:
+    if (len == 4) {
+      return 10551;
+    }
+    break;
+    /* rdldhar */
+  case 0x258527708e3d4e5eULL:
+    if (len == 7) {
+      return 10601;
+    }
+    break;
+    /* rdquo */
+  case 0x4adcdcf92a6cd582ULL:
+    if (len == 5) {
+      return 8221;
+    }
+    break;
+    /* rdquor */
+  case 0xa2216b6316ef86d0ULL:
+    if (len == 6) {
+      return 8221;
+    }
+    break;
+    /* rdsh */
+  case 0x54059a1fc376ece8ULL:
+    if (len == 4) {
+      return 8627;
+    }
+    break;
+    /* real */
+  case 0x4ce65b1fbfdde39dULL:
+    if (len == 4) {
+      return 8476;
+    }
+    break;
+    /* realine */
+  case 0x5eac945bd387dd09ULL:
+    if (len == 7) {
+      return 8475;
+    }
+    break;
+    /* realpart */
+  case 0x2b1259cd06bd15ccULL:
+    if (len == 8) {
+      return 8476;
+    }
+    break;
+    /* reals */
+  case 0x8950c4f3060a4d6aULL:
+    if (len == 5) {
+      return 8477;
+    }
+    break;
+    /* rect */
+  case 0x4cec6f1fbfe27147ULL:
+    if (len == 4) {
+      return 9645;
+    }
+    break;
+    /* reg */
+  case 0x89e9c11960f4c735ULL:
+    if (len == 3) {
+      return 174;
+    }
+    break;
+    /* rfisht */
+  case 0x2d45bd077d9a9de5ULL:
+    if (len == 6) {
+      return 10621;
+    }
+    break;
+    /* rfloor */
+  case 0x4fa34b31bea9056dULL:
+    if (len == 6) {
+      return 8971;
+    }
+    break;
+    /* rfr */
+  case 0x89f3be1960fd16a1ULL:
+    if (len == 3) {
+      return 120111;
+    }
+    break;
+    /* rhard */
+  case 0x6a676a5e20745b6cULL:
+    if (len == 5) {
+      return 8641;
+    }
+    break;
+    /* rharu */
+  case 0x6a677b5e2074784fULL:
+    if (len == 5) {
+      return 8640;
+    }
+    break;
+    /* rharul */
+  case 0x424ec3f125e82379ULL:
+    if (len == 6) {
+      return 10604;
+    }
+    break;
+    /* rho */
+  case 0x8a15a9196119d958ULL:
+    if (len == 3) {
+      return 961;
+    }
+    break;
+    /* rhov */
+  case 0xbca7841ffeec092aULL:
+    if (len == 4) {
+      return 1009;
+    }
+    break;
+    /* rightarrow */
+  case 0xc071503c76e89ca6ULL:
+    if (len == 10) {
+      return 8594;
+    }
+    break;
+    /* rightarrowtail */
+  case 0xa993a3f8974ce4e8ULL:
+    if (len == 14) {
+      return 8611;
+    }
+    break;
+    /* rightharpoondown */
+  case 0x42f6fa0544f46134ULL:
+    if (len == 16) {
+      return 8641;
+    }
+    break;
+    /* rightharpoonup */
+  case 0xaee5b2fc3ec1cc15ULL:
+    if (len == 14) {
+      return 8640;
+    }
+    break;
+    /* rightleftarrows */
+  case 0x251377195cd75f2eULL:
+    if (len == 15) {
+      return 8644;
+    }
+    break;
+    /* rightleftharpoons */
+  case 0x847392a413f0da20ULL:
+    if (len == 17) {
+      return 8652;
+    }
+    break;
+    /* rightrightarrows */
+  case 0x65d0a7589e0c4a4fULL:
+    if (len == 16) {
+      return 8649;
+    }
+    break;
+    /* rightsquigarrow */
+  case 0xcb8fc84ce59e5d99ULL:
+    if (len == 15) {
+      return 8605;
+    }
+    break;
+    /* rightthreetimes */
+  case 0x28d97b179436cd2bULL:
+    if (len == 15) {
+      return 8908;
+    }
+    break;
+    /* ring */
+  case 0xb25c4c1ff8a15b0bULL:
+    if (len == 4) {
+      return 730;
+    }
+    break;
+    /* risingdotseq */
+  case 0x97f5bbc58d91b14dULL:
+    if (len == 12) {
+      return 8787;
+    }
+    break;
+    /* rlarr */
+  case 0xc316e83b9023f6f2ULL:
+    if (len == 5) {
+      return 8644;
+    }
+    break;
+    /* rlhar */
+  case 0x8567d13b6ce779deULL:
+    if (len == 5) {
+      return 8652;
+    }
+    break;
+    /* rlm */
+  case 0x8a07cb19610dd5c2ULL:
+    if (len == 3) {
+      return 8207;
+    }
+    break;
+    /* rmoust */
+  case 0x4fd5371fb3168db7ULL:
+    if (len == 6) {
+      return 9137;
+    }
+    break;
+    /* rmoustache */
+  case 0x144fd67ad856a0ccULL:
+    if (len == 10) {
+      return 9137;
+    }
+    break;
+    /* rnmid */
+  case 0x6939904c75ee9349ULL:
+    if (len == 5) {
+      return 10990;
+    }
+    break;
+    /* roang */
+  case 0xc8d00d4663e3014aULL:
+    if (len == 5) {
+      return 10221;
+    }
+    break;
+    /* roarr */
+  case 0xc8c3224663d89a9dULL:
+    if (len == 5) {
+      return 8702;
+    }
+    break;
+    /* robrk */
+  case 0xaf338646557d276bULL:
+    if (len == 5) {
+      return 10215;
+    }
+    break;
+    /* ropar */
+  case 0x4ae47146ad9c0c69ULL:
+    if (len == 5) {
+      return 10630;
+    }
+    break;
+    /* ropf */
+  case 0xa3b8191ff11914b4ULL:
+    if (len == 4) {
+      return 120163;
+    }
+    break;
+    /* roplus */
+  case 0xb2f3c018e7a9e372ULL:
+    if (len == 6) {
+      return 10798;
+    }
+    break;
+    /* rotimes */
+  case 0xbbfa0660c5691fdcULL:
+    if (len == 7) {
+      return 10805;
+    }
+    break;
+    /* rpar */
+  case 0xebe3a81f886d8af8ULL:
+    if (len == 4) {
+      return 41;
+    }
+    break;
+    /* rpargt */
+  case 0x3ae179e110b47b3bULL:
+    if (len == 6) {
+      return 10644;
+    }
+    break;
+    /* rppolint */
+  case 0x93b0a458c9383cffULL:
+    if (len == 8) {
+      return 10770;
+    }
+    break;
+    /* rrarr */
+  case 0x82aae3a57faf7058ULL:
+    if (len == 5) {
+      return 8649;
+    }
+    break;
+    /* rsaquo */
+  case 0x795edd46be16f458ULL:
+    if (len == 6) {
+      return 8250;
+    }
+    break;
+    /* rscr */
+  case 0xf640c31f8ec82e03ULL:
+    if (len == 4) {
+      return 120007;
+    }
+    break;
+    /* rsh */
+  case 0x89c7c61960d7e94eULL:
+    if (len == 3) {
+      return 8625;
+    }
+    break;
+    /* rsqb */
+  case 0xf610e31f8e9f40a1ULL:
+    if (len == 4) {
+      return 93;
+    }
+    break;
+    /* rsquo */
+  case 0xbdbfbc9f586fc471ULL:
+    if (len == 5) {
+      return 8217;
+    }
+    break;
+    /* rsquor */
+  case 0xdc9185c345ea1119ULL:
+    if (len == 6) {
+      return 8217;
+    }
+    break;
+    /* rthree */
+  case 0x31d0a2b062cb6133ULL:
+    if (len == 6) {
+      return 8908;
     }
     break;
-    /* iexcl 161 inverted exclamation mark, U+00A1 ISOnum */
-  case 1499591408u:
-    if (len == 5 /* && strncmp(ent, "iexcl") == 0 */) {
-      return 161;
+    /* rtimes */
+  case 0x41e63da50a4fab05ULL:
+    if (len == 6) {
+      return 8906;
     }
     break;
-    /* cent 162 cent sign, U+00A2 ISOnum */
-  case 2824786826u:
-    if (len == 4 /* && strncmp(ent, "cent") == 0 */) {
-      return 162;
+    /* rtri */
+  case 0xcab70f1f760e398eULL:
+    if (len == 4) {
+      return 9657;
     }
     break;
-    /* pound 163 pound sign, U+00A3 ISOnum */
-  case 805305925u:
-    if (len == 5 /* && strncmp(ent, "pound") == 0 */) {
-      return 163;
+    /* rtrie */
+  case 0x83489d759a2c6a51ULL:
+    if (len == 5) {
+      return 8885;
     }
     break;
-    /* curren 164 currency sign, U+00A4 ISOnum */
-  case 1584829677u:
-    if (len == 6 /* && strncmp(ent, "curren") == 0 */) {
-      return 164;
+    /* rtrif */
+  case 0x83489a759a2c6538ULL:
+    if (len == 5) {
+      return 9656;
     }
     break;
-    /* yen 165 yen sign = yuan sign, U+00A5 ISOnum */
-  case 3581281881u:
-    if (len == 3 /* && strncmp(ent, "yen") == 0 */) {
-      return 165;
+    /* rtriltri */
+  case 0xbfb05bfa4a63349fULL:
+    if (len == 8) {
+      return 10702;
     }
     break;
-    /* brvbar 166 broken bar = broken vertical bar, */
-  case 3768851825u:
-    if (len == 6 /* && strncmp(ent, "brvbar") == 0 */) {
-      return 166;
+    /* ruluhar */
+  case 0x5502cfe6adf6c066ULL:
+    if (len == 7) {
+      return 10600;
+    }
+    break;
+    /* rx */
+  case 0x08dc4c07b57b89f7ULL:
+    if (len == 2) {
+      return 8478;
+    }
+    break;
+    /* sacute */
+  case 0x0592103383b561deULL:
+    if (len == 6) {
+      return 347;
+    }
+    break;
+    /* sbquo */
+  case 0x8f7b7bf4f1edc677ULL:
+    if (len == 5) {
+      return 8218;
+    }
+    break;
+    /* sc */
+  case 0x08d92d07b5791f73ULL:
+    if (len == 2) {
+      return 8827;
+    }
+    break;
+    /* scE */
+  case 0x8226ba195cd008c2ULL:
+    if (len == 3) {
+      return 10932;
+    }
+    break;
+    /* scap */
+  case 0xf75cf318b51777d2ULL:
+    if (len == 4) {
+      return 10936;
+    }
+    break;
+    /* scaron */
+  case 0x9e1f7fb7b4a6dd35ULL:
+    if (len == 6) {
+      return 353;
+    }
+    break;
+    /* sccue */
+  case 0x584d87fbac666feeULL:
+    if (len == 5) {
+      return 8829;
+    }
+    break;
+    /* sce */
+  case 0x82269a195ccfd262ULL:
+    if (len == 3) {
+      return 10928;
+    }
+    break;
+    /* scedil */
+  case 0x5f6e7bd5cd13ea57ULL:
+    if (len == 6) {
+      return 351;
+    }
+    break;
+    /* scirc */
+  case 0xaf4113fbddbe3275ULL:
+    if (len == 5) {
+      return 349;
+    }
+    break;
+    /* scnE */
+  case 0xf781c018b5363d66ULL:
+    if (len == 4) {
+      return 10934;
+    }
+    break;
+    /* scnap */
+  case 0xc83177fbeb92ce06ULL:
+    if (len == 5) {
+      return 10938;
+    }
+    break;
+    /* scnsim */
+  case 0x368d8a118dccf686ULL:
+    if (len == 6) {
+      return 8937;
+    }
+    break;
+    /* scpolint */
+  case 0x98514d56fb047373ULL:
+    if (len == 8) {
+      return 10771;
+    }
+    break;
+    /* scsim */
+  case 0xced2cffb5ed83532ULL:
+    if (len == 5) {
+      return 8831;
+    }
+    break;
+    /* scy */
+  case 0x82268e195ccfbdfeULL:
+    if (len == 3) {
+      return 1089;
+    }
+    break;
+    /* sdot */
+  case 0x22d4be18cdc16d29ULL:
+    if (len == 4) {
+      return 8901;
+    }
+    break;
+    /* sdotb */
+  case 0xf0ec4f259facb671ULL:
+    if (len == 5) {
+      return 8865;
     }
     break;
-    /* sect 167 section sign, U+00A7 ISOnum */
-  case 2614630987u:
-    if (len == 4 /* && strncmp(ent, "sect") == 0 */) {
+    /* sdote */
+  case 0xf0ec50259facb824ULL:
+    if (len == 5) {
+      return 10854;
+    }
+    break;
+    /* seArr */
+  case 0x921c6730cb593b18ULL:
+    if (len == 5) {
+      return 8664;
+    }
+    break;
+    /* searhk */
+  case 0x21f3d1e2722e5887ULL:
+    if (len == 6) {
+      return 10533;
+    }
+    break;
+    /* searr */
+  case 0x7f7a473030850ab8ULL:
+    if (len == 5) {
+      return 8600;
+    }
+    break;
+    /* searrow */
+  case 0x88ebf9c7d3990ac6ULL:
+    if (len == 7) {
+      return 8600;
+    }
+    break;
+    /* sect */
+  case 0x2d0ee518d3fd8b32ULL:
+    if (len == 4) {
       return 167;
     }
     break;
-    /* uml 168 diaeresis = spacing diaeresis, */
-  case 2036319259u:
-    if (len == 3 /* && strncmp(ent, "uml") == 0 */) {
-      return 168;
+    /* semi */
+  case 0x2d15f618d403c6c3ULL:
+    if (len == 4) {
+      return 59;
     }
     break;
-    /* copy 169 copyright sign, U+00A9 ISOnum */
-  case 2428845635u:
-    if (len == 4 /* && strncmp(ent, "copy") == 0 */) {
-      return 169;
+    /* seswar */
+  case 0x3d69b6774ac76528ULL:
+    if (len == 6) {
+      return 10537;
     }
     break;
-    /* ordf 170 feminine ordinal indicator, U+00AA ISOnum */
-  case 212470411u:
-    if (len == 4 /* && strncmp(ent, "ordf") == 0 */) {
-      return 170;
+    /* setminus */
+  case 0xc83b1ab590aeb049ULL:
+    if (len == 8) {
+      return 8726;
     }
     break;
-    /* laquo 171 left-pointing double angle quotation mark */
-  case 401220509u:
-    if (len == 5 /* && strncmp(ent, "laquo") == 0 */) {
-      return 171;
+    /* setmn */
+  case 0xef2448306f800d6cULL:
+    if (len == 5) {
+      return 8726;
     }
     break;
-    /* not 172 not sign, U+00AC ISOnum */
-  case 3607627678u:
-    if (len == 3 /* && strncmp(ent, "not") == 0 */) {
-      return 172;
+    /* sext */
+  case 0x2d5de718d44162e9ULL:
+    if (len == 4) {
+      return 10038;
+    }
+    break;
+    /* sfr */
+  case 0x82319b195cd9db9aULL:
+    if (len == 3) {
+      return 120112;
+    }
+    break;
+    /* sfrown */
+  case 0x11799f167b93ccf2ULL:
+    if (len == 6) {
+      return 8994;
+    }
+    break;
+    /* sharp */
+  case 0x6e30a3493acbac07ULL:
+    if (len == 5) {
+      return 9839;
+    }
+    break;
+    /* shchcy */
+  case 0xf1806561b926db39ULL:
+    if (len == 6) {
+      return 1097;
+    }
+    break;
+    /* shcy */
+  case 0x47056d18e2b1429aULL:
+    if (len == 4) {
+      return 1096;
+    }
+    break;
+    /* shortmid */
+  case 0x964e3ca52b213715ULL:
+    if (len == 8) {
+      return 8739;
+    }
+    break;
+    /* shortparallel */
+  case 0x36090ea71d540b02ULL:
+    if (len == 13) {
+      return 8741;
     }
     break;
-    /* shy 173 soft hyphen = discretionary hyphen, */
-  case 1248857237u:
-    if (len == 3 /* && strncmp(ent, "shy") == 0 */) {
+    /* shy */
+  case 0x824596195cea7c25ULL:
+    if (len == 3) {
       return 173;
     }
     break;
-    /* reg 174 registered sign = registered trade mark sign, */
-  case 854293939u:
-    if (len == 3 /* && strncmp(ent, "reg") == 0 */) {
-      return 174;
+    /* sigma */
+  case 0xdc022c4f3092a794ULL:
+    if (len == 5) {
+      return 963;
+    }
+    break;
+    /* sigmaf */
+  case 0x6a593c8f89336036ULL:
+    if (len == 6) {
+      return 962;
+    }
+    break;
+    /* sigmav */
+  case 0x6a592c8f89334506ULL:
+    if (len == 6) {
+      return 962;
+    }
+    break;
+    /* sim */
+  case 0x82489e195cecbf94ULL:
+    if (len == 3) {
+      return 8764;
+    }
+    break;
+    /* simdot */
+  case 0x172447c4e9f3f71bULL:
+    if (len == 6) {
+      return 10858;
+    }
+    break;
+    /* sime */
+  case 0x4e249618e64a2683ULL:
+    if (len == 4) {
+      return 8771;
+    }
+    break;
+    /* simeq */
+  case 0x1251fe4f50002d36ULL:
+    if (len == 5) {
+      return 8771;
+    }
+    break;
+    /* simg */
+  case 0x4e249818e64a29e9ULL:
+    if (len == 4) {
+      return 10910;
+    }
+    break;
+    /* simgE */
+  case 0x12581e4f5004cf44ULL:
+    if (len == 5) {
+      return 10912;
+    }
+    break;
+    /* siml */
+  case 0x4e249d18e64a3268ULL:
+    if (len == 4) {
+      return 10909;
+    }
+    break;
+    /* simlE */
+  case 0x12691e4f50134277ULL:
+    if (len == 5) {
+      return 10911;
+    }
+    break;
+    /* simne */
+  case 0x1270024f50193191ULL:
+    if (len == 5) {
+      return 8774;
+    }
+    break;
+    /* simplus */
+  case 0xb2bcc833c0aa6174ULL:
+    if (len == 7) {
+      return 10788;
+    }
+    break;
+    /* simrarr */
+  case 0x8cc8b245e61c7589ULL:
+    if (len == 7) {
+      return 10610;
+    }
+    break;
+    /* slarr */
+  case 0x18e6356bcdfda1b1ULL:
+    if (len == 5) {
+      return 8592;
+    }
+    break;
+    /* smallsetminus */
+  case 0xaa5c5f42a7692a6cULL:
+    if (len == 13) {
+      return 8726;
+    }
+    break;
+    /* smashp */
+  case 0x24aa4f334f4e1ce5ULL:
+    if (len == 6) {
+      return 10803;
+    }
+    break;
+    /* smeparsl */
+  case 0x1c09891b368d20fcULL:
+    if (len == 8) {
+      return 10724;
+    }
+    break;
+    /* smid */
+  case 0x72394918fb218808ULL:
+    if (len == 4) {
+      return 8739;
+    }
+    break;
+    /* smile */
+  case 0x38c3b272b9e271afULL:
+    if (len == 5) {
+      return 8995;
+    }
+    break;
+    /* smt */
+  case 0x825697195cf8f10bULL:
+    if (len == 3) {
+      return 10922;
+    }
+    break;
+    /* smte */
+  case 0x72142e18fb023deaULL:
+    if (len == 4) {
+      return 10924;
+    }
+    break;
+    /* softcy */
+  case 0x09a3e49fb94e8e61ULL:
+    if (len == 6) {
+      return 1100;
+    }
+    break;
+    /* sol */
+  case 0x824fa3195cf2e6c1ULL:
+    if (len == 3) {
+      return 47;
+    }
+    break;
+    /* solb */
+  case 0x6038c718f0bde6f9ULL:
+    if (len == 4) {
+      return 10692;
+    }
+    break;
+    /* solbar */
+  case 0xad7d63f2bf129e8eULL:
+    if (len == 6) {
+      return 9023;
+    }
+    break;
+    /* sopf */
+  case 0x5ff4cb18f08420f9ULL:
+    if (len == 4) {
+      return 120164;
+    }
+    break;
+    /* spades */
+  case 0xaeade2acd79a97f3ULL:
+    if (len == 6) {
+      return 9824;
+    }
+    break;
+    /* spadesuit */
+  case 0xf131ca3c38fae46fULL:
+    if (len == 9) {
+      return 9824;
+    }
+    break;
+    /* spar */
+  case 0x8b7dac19093caee5ULL:
+    if (len == 4) {
+      return 8741;
+    }
+    break;
+    /* sqcap */
+  case 0x3ab1e9957ea7d427ULL:
+    if (len == 5) {
+      return 8851;
+    }
+    break;
+    /* sqcup */
+  case 0x3a6dd1957e6dde93ULL:
+    if (len == 5) {
+      return 8852;
+    }
+    break;
+    /* sqsub */
+  case 0xc3bf5395cbd8b879ULL:
+    if (len == 5) {
+      return 8847;
+    }
+    break;
+    /* sqsube */
+  case 0x76d323896140d794ULL:
+    if (len == 6) {
+      return 8849;
+    }
+    break;
+    /* sqsubset */
+  case 0x46cbd8be684480afULL:
+    if (len == 8) {
+      return 8847;
+    }
+    break;
+    /* sqsubseteq */
+  case 0x9701ea7c72bfdb3dULL:
+    if (len == 10) {
+      return 8849;
+    }
+    break;
+    /* sqsup */
+  case 0xc3bf6195cbd8d043ULL:
+    if (len == 5) {
+      return 8848;
+    }
+    break;
+    /* sqsupe */
+  case 0x7702f7896169b092ULL:
+    if (len == 6) {
+      return 8850;
+    }
+    break;
+    /* sqsupset */
+  case 0x26115d34e4d62d41ULL:
+    if (len == 8) {
+      return 8848;
+    }
+    break;
+    /* sqsupseteq */
+  case 0x1640270eea9c7a07ULL:
+    if (len == 10) {
+      return 8850;
+    }
+    break;
+    /* squ */
+  case 0x826496195d052cb4ULL:
+    if (len == 3) {
+      return 9633;
+    }
+    break;
+    /* square */
+  case 0x7884f79b0c364646ULL:
+    if (len == 6) {
+      return 9633;
+    }
+    break;
+    /* squarf */
+  case 0x7884f69b0c364493ULL:
+    if (len == 6) {
+      return 9642;
+    }
+    break;
+    /* squf */
+  case 0x9617df190fcb28d6ULL:
+    if (len == 4) {
+      return 9642;
+    }
+    break;
+    /* srarr */
+  case 0xd9451178cc025863ULL:
+    if (len == 5) {
+      return 8594;
+    }
+    break;
+    /* sscr */
+  case 0x83a07919050290f6ULL:
+    if (len == 4) {
+      return 120008;
     }
     break;
-    /* macr 175 macron = spacing macron = overline */
-  case 591423527u:
-    if (len == 4 /* && strncmp(ent, "macr") == 0 */) {
+    /* ssetmn */
+  case 0x9d2804a86e737c19ULL:
+    if (len == 6) {
+      return 8726;
+    }
+    break;
+    /* ssmile */
+  case 0x472f4aeee6774cfeULL:
+    if (len == 6) {
+      return 8995;
+    }
+    break;
+    /* sstarf */
+  case 0xc53fc43796f6cc24ULL:
+    if (len == 6) {
+      return 8902;
+    }
+    break;
+    /* star */
+  case 0xaefd58191d95e091ULL:
+    if (len == 4) {
+      return 9734;
+    }
+    break;
+    /* starf */
+  case 0xee5da9ad45ad43b5ULL:
+    if (len == 5) {
+      return 9733;
+    }
+    break;
+    /* straightepsilon */
+  case 0x5b6ede597dd0218fULL:
+    if (len == 15) {
+      return 1013;
+    }
+    break;
+    /* straightphi */
+  case 0x733e8eb2536d818aULL:
+    if (len == 11) {
+      return 981;
+    }
+    break;
+    /* strns */
+  case 0x5e7db9ad850bd34bULL:
+    if (len == 5) {
       return 175;
     }
     break;
-    /* deg 176 degree sign, U+00B0 ISOnum */
-  case 3990252661u:
-    if (len == 3 /* && strncmp(ent, "deg") == 0 */) {
-      return 176;
+    /* sub */
+  case 0x82719d195d0fc2f5ULL:
+    if (len == 3) {
+      return 8834;
     }
     break;
-    /* plusmn 177 plus-minus sign = plus-or-minus sign, */
-  case 3641444957u:
-    if (len == 6 /* && strncmp(ent, "plusmn") == 0 */) {
-      return 177;
+    /* subE */
+  case 0xb6d0a21921c7d110ULL:
+    if (len == 4) {
+      return 10949;
     }
     break;
-    /* sup2 178 superscript two = superscript digit two */
-  case 279450434u:
-    if (len == 4 /* && strncmp(ent, "sup2") == 0 */) {
-      return 178;
+    /* subdot */
+  case 0x8e26ff89a06e1330ULL:
+    if (len == 6) {
+      return 10941;
     }
     break;
-    /* sup3 179 superscript three = superscript digit three */
-  case 279450435u:
-    if (len == 4 /* && strncmp(ent, "sup3") == 0 */) {
-      return 179;
+    /* sube */
+  case 0xb6d0821921c79ab0ULL:
+    if (len == 4) {
+      return 8838;
     }
     break;
-    /* acute 180 acute accent = spacing acute, */
-  case 1795641881u:
-    if (len == 5 /* && strncmp(ent, "acute") == 0 */) {
-      return 180;
+    /* subedot */
+  case 0x8536e9d5a181f167ULL:
+    if (len == 7) {
+      return 10947;
     }
     break;
-    /* micro 181 micro sign, U+00B5 ISOnum */
-  case 1447763057u:
-    if (len == 5 /* && strncmp(ent, "micro") == 0 */) {
-      return 181;
+    /* submult */
+  case 0xee1a03176cbc20ffULL:
+    if (len == 7) {
+      return 10945;
     }
     break;
-    /* para 182 pilcrow sign = paragraph sign, */
-  case 848855704u:
-    if (len == 4 /* && strncmp(ent, "para") == 0 */) {
-      return 182;
+    /* subnE */
+  case 0x6c0ce5b4664b342cULL:
+    if (len == 5) {
+      return 10955;
     }
     break;
-    /* middot 183 middle dot = Georgian comma */
-  case 3167839463u:
-    if (len == 6 /* && strncmp(ent, "middot") == 0 */) {
-      return 183;
+    /* subne */
+  case 0x6c0cc5b4664afdccULL:
+    if (len == 5) {
+      return 8842;
     }
     break;
-    /* cedil 184 cedilla = spacing cedilla, U+00B8 ISOdia */
-  case 1354214564u:
-    if (len == 5 /* && strncmp(ent, "cedil") == 0 */) {
-      return 184;
+    /* subplus */
+  case 0xc5a11c772a4a26e5ULL:
+    if (len == 7) {
+      return 10943;
     }
     break;
-    /* sup1 185 superscript one = superscript digit one, */
-  case 279450433u:
-    if (len == 4 /* && strncmp(ent, "sup1") == 0 */) {
-      return 185;
+    /* subrarr */
+  case 0x64db92880cab1278ULL:
+    if (len == 7) {
+      return 10617;
     }
     break;
-    /* ordm 186 masculine ordinal indicator, */
-  case 212470418u:
-    if (len == 4 /* && strncmp(ent, "ordm") == 0 */) {
-      return 186;
+    /* subset */
+  case 0x30843e896bdc6013ULL:
+    if (len == 6) {
+      return 8834;
     }
     break;
-    /* raquo 187 right-pointing double angle quotation mark */
-  case 1355124995u:
-    if (len == 5 /* && strncmp(ent, "raquo") == 0 */) {
-      return 187;
+    /* subseteq */
+  case 0x75862b5f70c0d4e9ULL:
+    if (len == 8) {
+      return 8838;
     }
     break;
-    /* frac14 188 vulgar fraction one quarter */
-  case 1016175271u:
-    if (len == 6 /* && strncmp(ent, "frac14") == 0 */) {
-      return 188;
+    /* subseteqq */
+  case 0x73d04b2c97a93e48ULL:
+    if (len == 9) {
+      return 10949;
     }
     break;
-    /* frac12 189 vulgar fraction one half */
-  case 1016175269u:
-    if (len == 6 /* && strncmp(ent, "frac12") == 0 */) {
-      return 189;
+    /* subsetneq */
+  case 0xad9b662cb7975415ULL:
+    if (len == 9) {
+      return 8842;
     }
     break;
-    /* frac34 190 vulgar fraction three quarters */
-  case 1019504321u:
-    if (len == 6 /* && strncmp(ent, "frac34") == 0 */) {
-      return 190;
+    /* subsetneqq */
+  case 0x966301fbf62465ecULL:
+    if (len == 10) {
+      return 10955;
     }
     break;
-    /* iquest 191 inverted question mark */
-  case 430057661u:
-    if (len == 6 /* && strncmp(ent, "iquest") == 0 */) {
-      return 191;
+    /* subsim */
+  case 0x309235896be88e24ULL:
+    if (len == 6) {
+      return 10951;
     }
     break;
-    /* Agrave 192 latin capital letter A with grave */
-  case 2815520320u:
-    if (len == 6 /* && strncmp(ent, "Agrave") == 0 */) {
-      return 192;
+    /* subsub */
+  case 0x304e34896baebfa5ULL:
+    if (len == 6) {
+      return 10965;
     }
     break;
-    /* Aacute 193 latin capital letter A with acute, */
-  case 4192391993u:
-    if (len == 6 /* && strncmp(ent, "Aacute") == 0 */) {
-      return 193;
+    /* subsup */
+  case 0x304e42896baed76fULL:
+    if (len == 6) {
+      return 10963;
     }
     break;
-    /* Acirc 194 latin capital letter A with circumflex, */
-  case 619920369u:
-    if (len == 5 /* && strncmp(ent, "Acirc") == 0 */) {
-      return 194;
+    /* succ */
+  case 0xb6cd601921c52b13ULL:
+    if (len == 4) {
+      return 8827;
     }
     break;
-    /* Atilde 195 latin capital letter A with tilde, */
-  case 4145258425u:
-    if (len == 6 /* && strncmp(ent, "Atilde") == 0 */) {
-      return 195;
+    /* succapprox */
+  case 0x57d5c8d1fec817c3ULL:
+    if (len == 10) {
+      return 10936;
     }
     break;
-    /* Auml 196 latin capital letter A with diaeresis, */
-  case 3558330427u:
-    if (len == 4 /* && strncmp(ent, "Auml") == 0 */) {
-      return 196;
+    /* succcurlyeq */
+  case 0x8ec2f9fa0bb8ddb2ULL:
+    if (len == 11) {
+      return 8829;
     }
     break;
-    /* Aring 197 latin capital letter A with ring above */
-  case 1775583868u:
-    if (len == 5 /* && strncmp(ent, "Aring") == 0 */) {
-      return 197;
+    /* succeq */
+  case 0x35006582950a57e9ULL:
+    if (len == 6) {
+      return 10928;
     }
     break;
-    /* AElig 198 latin capital letter AE */
-  case 3743972869u:
-    if (len == 5 /* && strncmp(ent, "AElig") == 0 */) {
-      return 198;
+    /* succnapprox */
+  case 0xd47804c7bd93ca6fULL:
+    if (len == 11) {
+      return 10938;
     }
     break;
-    /* Ccedil 199 latin capital letter C with cedilla, */
-  case 885931646u:
-    if (len == 6 /* && strncmp(ent, "Ccedil") == 0 */) {
-      return 199;
+    /* succneqq */
+  case 0xe9fbc35cfb1360ecULL:
+    if (len == 8) {
+      return 10934;
+    }
+    break;
+    /* succnsim */
+  case 0x85949d5d531d9726ULL:
+    if (len == 8) {
+      return 8937;
+    }
+    break;
+    /* succsim */
+  case 0x5a7f7ee2d3d43552ULL:
+    if (len == 7) {
+      return 8831;
+    }
+    break;
+    /* sum */
+  case 0x82719e195d0fc4a8ULL:
+    if (len == 3) {
+      return 8721;
+    }
+    break;
+    /* sung */
+  case 0xb6de641921d3a512ULL:
+    if (len == 4) {
+      return 9834;
+    }
+    break;
+    /* sup1 */
+  case 0xb693ca19219466eaULL:
+    if (len == 4) {
+      return 185;
+    }
+    break;
+    /* sup2 */
+  case 0xb693c91921946537ULL:
+    if (len == 4) {
+      return 178;
+    }
+    break;
+    /* sup3 */
+  case 0xb693c81921946384ULL:
+    if (len == 4) {
+      return 179;
+    }
+    break;
+    /* sup */
+  case 0x82718b195d0fa45fULL:
+    if (len == 3) {
+      return 8835;
+    }
+    break;
+    /* supE */
+  case 0xb69376192193d82eULL:
+    if (len == 4) {
+      return 10950;
+    }
+    break;
+    /* supdot */
+  case 0x79cd46f4cb6bb9baULL:
+    if (len == 6) {
+      return 10942;
+    }
+    break;
+    /* supdsub */
+  case 0x83f80ff5b9cb0881ULL:
+    if (len == 7) {
+      return 10968;
+    }
+    break;
+    /* supe */
+  case 0xb693961921940e8eULL:
+    if (len == 4) {
+      return 8839;
+    }
+    break;
+    /* supedot */
+  case 0x8574c2ef72c88db5ULL:
+    if (len == 7) {
+      return 10948;
+    }
+    break;
+    /* suphsol */
+  case 0xc69835d28bbcccd1ULL:
+    if (len == 7) {
+      return 10185;
+    }
+    break;
+    /* suphsub */
+  case 0xc64d2fd28b7cd725ULL:
+    if (len == 7) {
+      return 10967;
+    }
+    break;
+    /* suplarr */
+  case 0x1380b3b3ea932544ULL:
+    if (len == 7) {
+      return 10619;
     }
     break;
-    /* Egrave 200 latin capital letter E with grave, */
-  case 1380421556u:
-    if (len == 6 /* && strncmp(ent, "Egrave") == 0 */) {
-      return 200;
+    /* supmult */
+  case 0x84b2fba8c99cd241ULL:
+    if (len == 7) {
+      return 10946;
     }
     break;
-    /* Eacute 201 latin capital letter E with acute, */
-  case 2757293229u:
-    if (len == 6 /* && strncmp(ent, "Eacute") == 0 */) {
-      return 201;
+    /* supnE */
+  case 0xd0b7c7b40e7a5732ULL:
+    if (len == 5) {
+      return 10956;
     }
     break;
-    /* Ecirc 202 latin capital letter E with circumflex, */
-  case 1255856693u:
-    if (len == 5 /* && strncmp(ent, "Ecirc") == 0 */) {
-      return 202;
+    /* supne */
+  case 0xd0b7e7b40e7a8d92ULL:
+    if (len == 5) {
+      return 8843;
     }
     break;
-    /* Euml 203 latin capital letter E with diaeresis, */
-  case 2436627087u:
-    if (len == 4 /* && strncmp(ent, "Euml") == 0 */) {
-      return 203;
+    /* supplus */
+  case 0x0a5f419122241743ULL:
+    if (len == 7) {
+      return 10944;
     }
     break;
-    /* Igrave 204 latin capital letter I with grave, */
-  case 4240290088u:
-    if (len == 6 /* && strncmp(ent, "Igrave") == 0 */) {
-      return 204;
+    /* supset */
+  case 0xf7a8d1f481a5d185ULL:
+    if (len == 6) {
+      return 8835;
     }
     break;
-    /* Iacute 205 latin capital letter I with acute, */
-  case 1322194465u:
-    if (len == 6 /* && strncmp(ent, "Iacute") == 0 */) {
-      return 205;
+    /* supseteq */
+  case 0x875de36a70689023ULL:
+    if (len == 8) {
+      return 8839;
     }
     break;
-    /* Icirc 206 latin capital letter I with circumflex, */
-  case 1891793017u:
-    if (len == 5 /* && strncmp(ent, "Icirc") == 0 */) {
-      return 206;
+    /* supseteqq */
+  case 0x6d19bfdd01ad3b56ULL:
+    if (len == 9) {
+      return 10950;
     }
     break;
-    /* Iuml 207 latin capital letter I with diaeresis, */
-  case 1314923747u:
-    if (len == 4 /* && strncmp(ent, "Iuml") == 0 */) {
-      return 207;
+    /* supsetneq */
+  case 0xcb5896dd36c35677ULL:
+    if (len == 9) {
+      return 8843;
     }
     break;
-    /* ETH 208 latin capital letter ETH, U+00D0 ISOlat1 */
-  case 475229442u:
-    if (len == 3 /* && strncmp(ent, "ETH") == 0 */) {
-      return 208;
+    /* supsetneqq */
+  case 0x4ade5fe40deb2c32ULL:
+    if (len == 10) {
+      return 10956;
     }
     break;
-    /* Ntilde 209 latin capital letter N with tilde, */
-  case 2702412914u:
-    if (len == 6 /* && strncmp(ent, "Ntilde") == 0 */) {
-      return 209;
+    /* supsim */
+  case 0xf7d0e8f481c74aaeULL:
+    if (len == 6) {
+      return 10952;
     }
     break;
-    /* Ograve 210 latin capital letter O with grave, */
-  case 4235125590u:
-    if (len == 6 /* && strncmp(ent, "Ograve") == 0 */) {
-      return 210;
+    /* supsub */
+  case 0xf7debbf481d33b93ULL:
+    if (len == 6) {
+      return 10964;
     }
     break;
-    /* Oacute 211 latin capital letter O with acute, */
-  case 1317029967u:
-    if (len == 6 /* && strncmp(ent, "Oacute") == 0 */) {
-      return 211;
+    /* supsup */
+  case 0xf7decdf481d35a29ULL:
+    if (len == 6) {
+      return 10966;
     }
     break;
-    /* Ocirc 212 latin capital letter O with circumflex, */
-  case 2845697503u:
-    if (len == 5 /* && strncmp(ent, "Ocirc") == 0 */) {
-      return 212;
+    /* swArr */
+  case 0xfeba9ba30fb1c0ceULL:
+    if (len == 5) {
+      return 8665;
     }
     break;
-    /* Otilde 213 latin capital letter O with tilde, */
-  case 1269896399u:
-    if (len == 6 /* && strncmp(ent, "Otilde") == 0 */) {
-      return 213;
+    /* swarhk */
+  case 0x5df11207a94f6111ULL:
+    if (len == 6) {
+      return 10534;
     }
     break;
-    /* Ouml 214 latin capital letter O with diaeresis, */
-  case 1779852385u:
-    if (len == 4 /* && strncmp(ent, "Ouml") == 0 */) {
-      return 214;
+    /* swarr */
+  case 0xe8b17ba271f8b46eULL:
+    if (len == 5) {
+      return 8601;
     }
     break;
-    /* times 215 multiplication sign, U+00D7 ISOnum */
-  case 2139742557u:
-    if (len == 5 /* && strncmp(ent, "times") == 0 */) {
-      return 215;
+    /* swarrow */
+  case 0xd00e33053073d40cULL:
+    if (len == 7) {
+      return 8601;
     }
     break;
-    /* Oslash 216 latin capital letter O with stroke */
-  case 1378045056u:
-    if (len == 6 /* && strncmp(ent, "Oslash") == 0 */) {
-      return 216;
+    /* swnwar */
+  case 0x6e5a5f9bf51fa13fULL:
+    if (len == 6) {
+      return 10538;
     }
     break;
-    /* Ugrave 217 latin capital letter U with grave, */
-  case 4229961092u:
-    if (len == 6 /* && strncmp(ent, "Ugrave") == 0 */) {
-      return 217;
+    /* szlig */
+  case 0x2c9fd7bf12ea7dc8ULL:
+    if (len == 5) {
+      return 223;
     }
     break;
-    /* Uacute 218 latin capital letter U with acute, */
-  case 1311865469u:
-    if (len == 6 /* && strncmp(ent, "Uacute") == 0 */) {
-      return 218;
+    /* target */
+  case 0x16f3e46051eee3e8ULL:
+    if (len == 6) {
+      return 8982;
     }
     break;
-    /* Ucirc 219 latin capital letter U with circumflex, */
-  case 3799601989u:
-    if (len == 5 /* && strncmp(ent, "Ucirc") == 0 */) {
-      return 219;
+    /* tau */
+  case 0x56d7bd194448c389ULL:
+    if (len == 3) {
+      return 964;
     }
     break;
-    /* Uuml 220 latin capital letter U with diaeresis, */
-  case 2244781023u:
-    if (len == 4 /* && strncmp(ent, "Uuml") == 0 */) {
-      return 220;
+    /* tbrk */
+  case 0xce942aef00f16b88ULL:
+    if (len == 4) {
+      return 9140;
     }
     break;
-    /* Yacute 221 latin capital letter Y with acute, */
-  case 4171734001u:
-    if (len == 6 /* && strncmp(ent, "Yacute") == 0 */) {
-      return 221;
+    /* tcaron */
+  case 0x7588128a4f15512eULL:
+    if (len == 6) {
+      return 357;
     }
     break;
-    /* THORN 222 latin capital letter THORN, */
-  case 4251263774u:
-    if (len == 5 /* && strncmp(ent, "THORN") == 0 */) {
-      return 222;
+    /* tcedil */
+  case 0x19f326a9789703fcULL:
+    if (len == 6) {
+      return 355;
     }
     break;
-    /* szlig 223 latin small letter sharp s = ess-zed, */
-  case 51833136u:
-    if (len == 5 /* && strncmp(ent, "szlig") == 0 */) {
-      return 223;
+    /* tcy */
+  case 0x56d0bd194442a4dbULL:
+    if (len == 3) {
+      return 1090;
     }
     break;
-    /* agrave 224 latin small letter a with grave */
-  case 4219632096u:
-    if (len == 6 /* && strncmp(ent, "agrave") == 0 */) {
-      return 224;
+    /* tdot */
+  case 0x048e1def2015363eULL:
+    if (len == 4) {
+      return 8411;
     }
     break;
-    /* aacute 225 latin small letter a with acute, */
-  case 1301536473u:
-    if (len == 6 /* && strncmp(ent, "aacute") == 0 */) {
-      return 225;
+    /* telrec */
+  case 0x2544e6cbb938bdccULL:
+    if (len == 6) {
+      return 8981;
     }
     break;
-    /* acirc 226 latin small letter a with circumflex, */
-  case 1412443665u:
-    if (len == 5 /* && strncmp(ent, "acirc") == 0 */) {
-      return 226;
+    /* tfr */
+  case 0x56e1d01944513857ULL:
+    if (len == 3) {
+      return 120113;
     }
     break;
-    /* atilde 227 latin small letter a with tilde, */
-  case 1254402905u:
-    if (len == 6 /* && strncmp(ent, "atilde") == 0 */) {
-      return 227;
+    /* there4 */
+  case 0xe5d2a5553611536bULL:
+    if (len == 6) {
+      return 8756;
     }
     break;
-    /* auml 228 latin small letter a with diaeresis, */
-  case 3174638299u:
-    if (len == 4 /* && strncmp(ent, "auml") == 0 */) {
-      return 228;
+    /* therefore */
+  case 0x62302200658996b7ULL:
+    if (len == 9) {
+      return 8756;
     }
     break;
-    /* aring 229 latin small letter a with ring above */
-  case 2568107164u:
-    if (len == 5 /* && strncmp(ent, "aring") == 0 */) {
-      return 229;
+    /* theta */
+  case 0xeadab6725da1db1bULL:
+    if (len == 5) {
+      return 952;
     }
     break;
-    /* aelig 230 latin small letter ae */
-  case 4152804037u:
-    if (len == 5 /* && strncmp(ent, "aelig") == 0 */) {
-      return 230;
+    /* thetasym */
+  case 0x27f794c5bdc02a7aULL:
+    if (len == 8) {
+      return 977;
     }
     break;
-    /* ccedil 231 latin small letter c with cedilla, */
-  case 2290043422u:
-    if (len == 6 /* && strncmp(ent, "ccedil") == 0 */) {
-      return 231;
+    /* thetav */
+  case 0xb37f71551a07da37ULL:
+    if (len == 6) {
+      return 977;
     }
     break;
-    /* egrave 232 latin small letter e with grave, */
-  case 2784533332u:
-    if (len == 6 /* && strncmp(ent, "egrave") == 0 */) {
-      return 232;
+    /* thickapprox */
+  case 0x77abec71600eb6c2ULL:
+    if (len == 11) {
+      return 8776;
     }
     break;
-    /* eacute 233 latin small letter e with acute, */
-  case 4161405005u:
-    if (len == 6 /* && strncmp(ent, "eacute") == 0 */) {
-      return 233;
+    /* thicksim */
+  case 0xbbc13542f05a9a05ULL:
+    if (len == 8) {
+      return 8764;
     }
     break;
-    /* ecirc 234 latin small letter e with circumflex, */
-  case 2048379989u:
-    if (len == 5 /* && strncmp(ent, "ecirc") == 0 */) {
-      return 234;
+    /* thinsp */
+  case 0xf975d97804f98979ULL:
+    if (len == 6) {
+      return 8201;
     }
     break;
-    /* euml 235 latin small letter e with diaeresis, */
-  case 2052934959u:
-    if (len == 4 /* && strncmp(ent, "euml") == 0 */) {
-      return 235;
+    /* thkap */
+  case 0x20cda5727cbf8057ULL:
+    if (len == 5) {
+      return 8776;
     }
     break;
-    /* igrave 236 latin small letter i with grave, */
-  case 1349434568u:
-    if (len == 6 /* && strncmp(ent, "igrave") == 0 */) {
-      return 236;
+    /* thksim */
+  case 0xf75c798a3f118be5ULL:
+    if (len == 6) {
+      return 8764;
     }
     break;
-    /* iacute 237 latin small letter i with acute, */
-  case 2726306241u:
-    if (len == 6 /* && strncmp(ent, "iacute") == 0 */) {
-      return 237;
+    /* thorn */
+  case 0x41804d728eb78f02ULL:
+    if (len == 5) {
+      return 254;
     }
     break;
-    /* icirc 238 latin small letter i with circumflex, */
-  case 2684316313u:
-    if (len == 5 /* && strncmp(ent, "icirc") == 0 */) {
-      return 238;
+    /* tilde */
+  case 0x1ebe716c32b937c9ULL:
+    if (len == 5) {
+      return 732;
     }
     break;
-    /* iuml 239 latin small letter i with diaeresis, */
-  case 931231619u:
-    if (len == 4 /* && strncmp(ent, "iuml") == 0 */) {
-      return 239;
+    /* times */
+  case 0x29338c6c39286cb5ULL:
+    if (len == 5) {
+      return 215;
     }
     break;
-    /* eth 240 latin small letter eth, U+00F0 ISOlat1 */
-  case 109822946u:
-    if (len == 3 /* && strncmp(ent, "eth") == 0 */) {
-      return 240;
+    /* timesb */
+  case 0x2b0472e51fb0f155ULL:
+    if (len == 6) {
+      return 8864;
     }
     break;
-    /* ntilde 241 latin small letter n with tilde, */
-  case 4106524690u:
-    if (len == 6 /* && strncmp(ent, "ntilde") == 0 */) {
-      return 241;
+    /* timesbar */
+  case 0x0f185b2ddb9f6f2aULL:
+    if (len == 8) {
+      return 10801;
     }
     break;
-    /* ograve 242 latin small letter o with grave, */
-  case 1344270070u:
-    if (len == 6 /* && strncmp(ent, "ograve") == 0 */) {
-      return 242;
+    /* timesd */
+  case 0x2b046ce51fb0e723ULL:
+    if (len == 6) {
+      return 10800;
     }
     break;
-    /* oacute 243 latin small letter o with acute, */
-  case 2721141743u:
-    if (len == 6 /* && strncmp(ent, "oacute") == 0 */) {
-      return 243;
+    /* tint */
+  case 0x1e4984ef2e958a4cULL:
+    if (len == 4) {
+      return 8749;
     }
     break;
-    /* ocirc 244 latin small letter o with circumflex, */
-  case 3638220799u:
-    if (len == 5 /* && strncmp(ent, "ocirc") == 0 */) {
-      return 244;
+    /* toea */
+  case 0x2fc1e7ef38855d16ULL:
+    if (len == 4) {
+      return 10536;
     }
     break;
-    /* otilde 245 latin small letter o with tilde, */
-  case 2674008175u:
-    if (len == 6 /* && strncmp(ent, "otilde") == 0 */) {
-      return 245;
+    /* top */
+  case 0x56f9bc194465a83cULL:
+    if (len == 3) {
+      return 8868;
     }
     break;
-    /* ouml 246 latin small letter o with diaeresis, */
-  case 1396160257u:
-    if (len == 4 /* && strncmp(ent, "ouml") == 0 */) {
-      return 246;
+    /* topbot */
+  case 0xef9e9d19f2142161ULL:
+    if (len == 6) {
+      return 9014;
     }
     break;
-    /* divide 247 division sign, U+00F7 ISOnum */
-  case 2204943563u:
-    if (len == 6 /* && strncmp(ent, "divide") == 0 */) {
-      return 247;
+    /* topcir */
+  case 0xf687c619f57f75daULL:
+    if (len == 6) {
+      return 10993;
     }
     break;
-    /* oslash 248 latin small letter o with stroke, */
-  case 2782156832u:
-    if (len == 6 /* && strncmp(ent, "oslash") == 0 */) {
-      return 248;
+    /* topf */
+  case 0x3002f8ef38bd10eeULL:
+    if (len == 4) {
+      return 120165;
     }
     break;
-    /* ugrave 249 latin small letter u with grave, */
-  case 1339105572u:
-    if (len == 6 /* && strncmp(ent, "ugrave") == 0 */) {
-      return 249;
+    /* topfork */
+  case 0x25fefcf26538d5c8ULL:
+    if (len == 7) {
+      return 10970;
     }
     break;
-    /* uacute 250 latin small letter u with acute, */
-  case 2715977245u:
-    if (len == 6 /* && strncmp(ent, "uacute") == 0 */) {
-      return 250;
+    /* tosa */
+  case 0x300cebef38c54f5cULL:
+    if (len == 4) {
+      return 10537;
     }
     break;
-    /* ucirc 251 latin small letter u with circumflex, */
-  case 297157989u:
-    if (len == 5 /* && strncmp(ent, "ucirc") == 0 */) {
-      return 251;
+    /* tprime */
+  case 0xdcbc0f6aeba7f4feULL:
+    if (len == 6) {
+      return 8244;
     }
     break;
-    /* uuml 252 latin small letter u with diaeresis, */
-  case 1861088895u:
-    if (len == 4 /* && strncmp(ent, "uuml") == 0 */) {
-      return 252;
+    /* trade */
+  case 0xdebb6ea6c4e2f4d9ULL:
+    if (len == 5) {
+      return 8482;
     }
     break;
-    /* yacute 253 latin small letter y with acute, */
-  case 1280878481u:
-    if (len == 6 /* && strncmp(ent, "yacute") == 0 */) {
-      return 253;
+    /* triangle */
+  case 0xdc74456562ae7805ULL:
+    if (len == 8) {
+      return 9653;
     }
     break;
-    /* thorn 254 latin small letter thorn with, */
-  case 4294688446u:
-    if (len == 5 /* && strncmp(ent, "thorn") == 0 */) {
-      return 254;
+    /* triangledown */
+  case 0x014b077c1530e435ULL:
+    if (len == 12) {
+      return 9663;
     }
     break;
-    /* yuml 255 latin small letter y with diaeresis, */
-  case 739385555u:
-    if (len == 4 /* && strncmp(ent, "yuml") == 0 */) {
-      return 255;
+    /* triangleleft */
+  case 0xa3e265bd705e0a90ULL:
+    if (len == 12) {
+      return 9667;
     }
     break;
-    /* fnof 402 latin small f with hook = function */
-  case 2270075705u:
-    if (len == 4 /* && strncmp(ent, "fnof") == 0 */) {
-      return 402;
+    /* trianglelefteq */
+  case 0x6430b3b678b0e35aULL:
+    if (len == 14) {
+      return 8884;
     }
     break;
-    /* Alpha 913 greek capital letter alpha, U+0391 */
-  case 4027656009u:
-    if (len == 5 /* && strncmp(ent, "Alpha") == 0 */) {
-      return 913;
+    /* triangleq */
+  case 0x480a5f46ae76ad1cULL:
+    if (len == 9) {
+      return 8796;
     }
     break;
-    /* Beta 914 greek capital letter beta, U+0392 */
-  case 277666448u:
-    if (len == 4 /* && strncmp(ent, "Beta") == 0 */) {
-      return 914;
+    /* triangleright */
+  case 0xed273c852f9f5665ULL:
+    if (len == 13) {
+      return 9657;
     }
     break;
-    /* Gamma 915 greek capital letter gamma, */
-  case 1537149070u:
-    if (len == 5 /* && strncmp(ent, "Gamma") == 0 */) {
-      return 915;
+    /* trianglerighteq */
+  case 0xbd419acd95c78603ULL:
+    if (len == 15) {
+      return 8885;
     }
     break;
-    /* Delta 916 greek capital letter delta, */
-  case 3855542753u:
-    if (len == 5 /* && strncmp(ent, "Delta") == 0 */) {
-      return 916;
+    /* tridot */
+  case 0x597256a33dc59f25ULL:
+    if (len == 6) {
+      return 9708;
     }
     break;
-    /* Epsilon 917 greek capital letter epsilon, U+0395 */
-  case 2449300823u:
-    if (len == 7 /* && strncmp(ent, "Epsilon") == 0 */) {
-      return 917;
+    /* trie */
+  case 0x5b33c8ef512b0c21ULL:
+    if (len == 4) {
+      return 8796;
     }
     break;
-    /* Zeta 918 greek capital letter zeta, U+0396 */
-  case 2137381000u:
-    if (len == 4 /* && strncmp(ent, "Zeta") == 0 */) {
-      return 918;
+    /* triminus */
+  case 0x042866af73e857daULL:
+    if (len == 8) {
+      return 10810;
     }
     break;
-    /* Eta 919 greek capital letter eta, U+0397 */
-  case 528494267u:
-    if (len == 3 /* && strncmp(ent, "Eta") == 0 */) {
-      return 919;
+    /* triplus */
+  case 0x0f63b601c5b988c2ULL:
+    if (len == 7) {
+      return 10809;
     }
     break;
-    /* Theta 920 greek capital letter theta, */
-  case 3904764433u:
-    if (len == 5 /* && strncmp(ent, "Theta") == 0 */) {
-      return 920;
+    /* trisb */
+  case 0x23dad9a6ebfcf60fULL:
+    if (len == 5) {
+      return 10701;
     }
     break;
-    /* Iota 921 greek capital letter iota, U+0399 */
-  case 3284124477u:
-    if (len == 4 /* && strncmp(ent, "Iota") == 0 */) {
-      return 921;
+    /* tritime */
+  case 0x4b4d9cdf2453b457ULL:
+    if (len == 7) {
+      return 10811;
     }
     break;
-    /* Kappa 922 greek capital letter kappa, U+039A */
-  case 3346788084u:
-    if (len == 5 /* && strncmp(ent, "Kappa") == 0 */) {
-      return 922;
+    /* trpezium */
+  case 0xf3e5799099bbe89bULL:
+    if (len == 8) {
+      return 9186;
     }
     break;
-    /* Lambda 923 greek capital letter lambda, */
-  case 1824315307u:
-    if (len == 6 /* && strncmp(ent, "Lambda") == 0 */) {
-      return 923;
+    /* tscr */
+  case 0x50c98aef4ac5a341ULL:
+    if (len == 4) {
+      return 120009;
     }
     break;
-    /* Mu 924 greek capital letter mu, U+039C */
-  case 1324604304u:
-    if (len == 2 /* && strncmp(ent, "Mu") == 0 */) {
-      return 924;
+    /* tscy */
+  case 0x50c97fef4ac59090ULL:
+    if (len == 4) {
+      return 1094;
     }
     break;
-    /* Nu 925 greek capital letter nu, U+039D */
-  case 1326268829u:
-    if (len == 2 /* && strncmp(ent, "Nu") == 0 */) {
-      return 925;
+    /* tshcy */
+  case 0x3737199c2631a538ULL:
+    if (len == 5) {
+      return 1115;
     }
     break;
-    /* Xi 926 greek capital letter xi, U+039E ISOgrk3 */
-  case 1342914067u:
-    if (len == 2 /* && strncmp(ent, "Xi") == 0 */) {
-      return 926;
+    /* tstrok */
+  case 0x04f96dae725b776cULL:
+    if (len == 6) {
+      return 359;
     }
     break;
-    /* Omicron 927 greek capital letter omicron, U+039F */
-  case 488730696u:
-    if (len == 7 /* && strncmp(ent, "Omicron") == 0 */) {
-      return 927;
+    /* twixt */
+  case 0x892887bfa8c593d3ULL:
+    if (len == 5) {
+      return 8812;
     }
     break;
-    /* Pi 928 greek capital letter pi, U+03A0 ISOgrk3 */
-  case 1329597867u:
-    if (len == 2 /* && strncmp(ent, "Pi") == 0 */) {
-      return 928;
+    /* twoheadleftarrow */
+  case 0x9241b1d92283ddf3ULL:
+    if (len == 16) {
+      return 8606;
     }
     break;
-    /* Rho 929 greek capital letter rho, U+03A1 */
-  case 1277958850u:
-    if (len == 3 /* && strncmp(ent, "Rho") == 0 */) {
-      return 929;
+    /* twoheadrightarrow */
+  case 0xf68e0dfa08a4ab98ULL:
+    if (len == 17) {
+      return 8608;
     }
     break;
-    /* Sigma 931 greek capital letter sigma, */
-  case 3159100428u:
-    if (len == 5 /* && strncmp(ent, "Sigma") == 0 */) {
-      return 931;
+    /* uArr */
+  case 0x0a4dd8e4e388fcc3ULL:
+    if (len == 4) {
+      return 8657;
     }
     break;
-    /* Tau 932 greek capital letter tau, U+03A4 */
-  case 2045446591u:
-    if (len == 3 /* && strncmp(ent, "Tau") == 0 */) {
-      return 932;
+    /* uHar */
+  case 0x479e07e506750e1bULL:
+    if (len == 4) {
+      return 10595;
     }
     break;
-    /* Upsilon 933 greek capital letter upsilon, */
-  case 2291992807u:
-    if (len == 7 /* && strncmp(ent, "Upsilon") == 0 */) {
-      return 933;
+    /* uacute */
+  case 0x47821f8c87c6c9acULL:
+    if (len == 6) {
+      return 250;
     }
     break;
-    /* Phi 934 greek capital letter phi, */
-  case 498819434u:
-    if (len == 3 /* && strncmp(ent, "Phi") == 0 */) {
-      return 934;
+    /* uarr */
+  case 0xf444b8e445cff063ULL:
+    if (len == 4) {
+      return 8593;
     }
     break;
-    /* Chi 935 greek capital letter chi, U+03A7 */
-  case 4024347861u:
-    if (len == 3 /* && strncmp(ent, "Chi") == 0 */) {
-      return 935;
+    /* ubrcy */
+  case 0xea783fee0769cf4cULL:
+    if (len == 5) {
+      return 1118;
     }
     break;
-    /* Psi 936 greek capital letter psi, */
-  case 517129209u:
-    if (len == 3 /* && strncmp(ent, "Psi") == 0 */) {
-      return 936;
+    /* ubreve */
+  case 0xa196c8767c906626ULL:
+    if (len == 6) {
+      return 365;
     }
     break;
-    /* Omega 937 greek capital letter omega, */
-  case 612334204u:
-    if (len == 5 /* && strncmp(ent, "Omega") == 0 */) {
-      return 937;
+    /* ucirc */
+  case 0x83de90f415f4e8cfULL:
+    if (len == 5) {
+      return 251;
     }
     break;
-    /* alpha 945 greek small letter alpha, */
-  case 525212009u:
-    if (len == 5 /* && strncmp(ent, "alpha") == 0 */) {
-      return 945;
+    /* ucy */
+  case 0x4c8894193dfa4610ULL:
+    if (len == 3) {
+      return 1091;
     }
     break;
-    /* beta 946 greek small letter beta, U+03B2 ISOgrk3 */
-  case 4188941616u:
-    if (len == 4 /* && strncmp(ent, "beta") == 0 */) {
-      return 946;
+    /* udarr */
+  case 0x50e541fb63e84467ULL:
+    if (len == 5) {
+      return 8645;
     }
     break;
-    /* gamma 947 greek small letter gamma, */
-  case 2329672366u:
-    if (len == 5 /* && strncmp(ent, "gamma") == 0 */) {
-      return 947;
+    /* udblac */
+  case 0x34cc7e31854321ceULL:
+    if (len == 6) {
+      return 369;
     }
     break;
-    /* delta 948 greek small letter delta, */
-  case 353098753u:
-    if (len == 5 /* && strncmp(ent, "delta") == 0 */) {
-      return 948;
+    /* udhar */
+  case 0x01e9c0fb36e1238fULL:
+    if (len == 5) {
+      return 10606;
     }
     break;
-    /* epsilon 949 greek small letter epsilon, */
-  case 2134684791u:
-    if (len == 7 /* && strncmp(ent, "epsilon") == 0 */) {
-      return 949;
+    /* ufisht */
+  case 0xa5450cc31ae76d9aULL:
+    if (len == 6) {
+      return 10622;
     }
     break;
-    /* zeta 950 greek small letter zeta, U+03B6 ISOgrk3 */
-  case 1753688872u:
-    if (len == 4 /* && strncmp(ent, "zeta") == 0 */) {
-      return 950;
+    /* ufr */
+  case 0x4c928d193e028eb0ULL:
+    if (len == 3) {
+      return 120114;
     }
     break;
-    /* eta 951 greek small letter eta, U+03B7 ISOgrk3 */
-  case 109822939u:
-    if (len == 3 /* && strncmp(ent, "eta") == 0 */) {
-      return 951;
+    /* ugrave */
+  case 0xf074086ffeff1671ULL:
+    if (len == 6) {
+      return 249;
     }
     break;
-    /* theta 952 greek small letter theta, */
-  case 402320433u:
-    if (len == 5 /* && strncmp(ent, "theta") == 0 */) {
-      return 952;
+    /* uharl */
+  case 0xfc07e01df7772055ULL:
+    if (len == 5) {
+      return 8639;
     }
     break;
-    /* iota 953 greek small letter iota, U+03B9 ISOgrk3 */
-  case 2900432349u:
-    if (len == 4 /* && strncmp(ent, "iota") == 0 */) {
-      return 953;
+    /* uharr */
+  case 0xfc07d21df777088bULL:
+    if (len == 5) {
+      return 8638;
     }
     break;
-    /* kappa 954 greek small letter kappa, */
-  case 4139311380u:
-    if (len == 5 /* && strncmp(ent, "kappa") == 0 */) {
-      return 954;
+    /* uhblk */
+  case 0x037f0a1dfb5a7bc7ULL:
+    if (len == 5) {
+      return 9600;
     }
     break;
-    /* lambda 955 greek small letter lambda, */
-  case 3228427083u:
-    if (len == 6 /* && strncmp(ent, "lambda") == 0 */) {
-      return 955;
+    /* ulcorn */
+  case 0xd91e4fd10e8e794eULL:
+    if (len == 6) {
+      return 8988;
     }
     break;
-    /* mu 956 greek small letter mu, U+03BC ISOgrk3 */
-  case 1377869104u:
-    if (len == 2 /* && strncmp(ent, "mu") == 0 */) {
-      return 956;
+    /* ulcorner */
+  case 0x760bb9809c991439ULL:
+    if (len == 8) {
+      return 8988;
     }
     break;
-    /* nu 957 greek small letter nu, U+03BD ISOgrk3 */
-  case 1379533629u:
-    if (len == 2 /* && strncmp(ent, "nu") == 0 */) {
-      return 957;
+    /* ulcrop */
+  case 0x361e42d0b2ad988aULL:
+    if (len == 6) {
+      return 8975;
     }
     break;
-    /* xi 958 greek small letter xi, U+03BE ISOgrk3 */
-  case 1396178867u:
-    if (len == 2 /* && strncmp(ent, "xi") == 0 */) {
-      return 958;
+    /* ultri */
+  case 0x1ad65e415d50ba0dULL:
+    if (len == 5) {
+      return 9720;
     }
     break;
-    /* omicron 959 greek small letter omicron, U+03BF NEW */
-  case 174114664u:
-    if (len == 7 /* && strncmp(ent, "omicron") == 0 */) {
-      return 959;
+    /* umacr */
+  case 0x0b411e479d41d803ULL:
+    if (len == 5) {
+      return 363;
     }
     break;
-    /* pi 960 greek small letter pi, U+03C0 ISOgrk3 */
-  case 1382862667u:
-    if (len == 2 /* && strncmp(ent, "pi") == 0 */) {
-      return 960;
+    /* uml */
+  case 0x4caa8d193e172091ULL:
+    if (len == 3) {
+      return 168;
     }
     break;
-    /* rho 961 greek small letter rho, U+03C1 ISOgrk3 */
-  case 859287522u:
-    if (len == 3 /* && strncmp(ent, "rho") == 0 */) {
-      return 961;
+    /* uogon */
+  case 0x633fb45979011ad7ULL:
+    if (len == 5) {
+      return 371;
     }
     break;
-    /* sigmaf 962 greek small letter final sigma, */
-  case 2582995969u:
-    if (len == 6 /* && strncmp(ent, "sigmaf") == 0 */) {
-      return 962;
+    /* uopf */
+  case 0x6f43eae48bf85cd3ULL:
+    if (len == 4) {
+      return 120166;
     }
     break;
-    /* sigma 963 greek small letter sigma, */
-  case 3951623724u:
-    if (len == 5 /* && strncmp(ent, "sigma") == 0 */) {
-      return 963;
+    /* uparrow */
+  case 0x4d3d5c827e5a0719ULL:
+    if (len == 7) {
+      return 8593;
     }
     break;
-    /* tau 964 greek small letter tau, U+03C4 ISOgrk3 */
-  case 1626775263u:
-    if (len == 3 /* && strncmp(ent, "tau") == 0 */) {
-      return 964;
+    /* updownarrow */
+  case 0x0f92179d5142382dULL:
+    if (len == 11) {
+      return 8597;
     }
     break;
-    /* upsilon 965 greek small letter upsilon, */
-  case 1977376775u:
-    if (len == 7 /* && strncmp(ent, "upsilon") == 0 */) {
-      return 965;
+    /* upharpoonleft */
+  case 0x92e4d523b361453aULL:
+    if (len == 13) {
+      return 8639;
     }
     break;
-    /* phi 966 greek small letter phi, U+03C6 ISOgrk3 */
-  case 80148106u:
-    if (len == 3 /* && strncmp(ent, "phi") == 0 */) {
-      return 966;
+    /* upharpoonright */
+  case 0x097fff6161b22fa7ULL:
+    if (len == 14) {
+      return 8638;
     }
     break;
-    /* chi 967 greek small letter chi, U+03C7 ISOgrk3 */
-  case 3605676533u:
-    if (len == 3 /* && strncmp(ent, "chi") == 0 */) {
-      return 967;
+    /* uplus */
+  case 0xb163f3588d1b2a50ULL:
+    if (len == 5) {
+      return 8846;
     }
     break;
-    /* psi 968 greek small letter psi, U+03C8 ISOgrk3 */
-  case 98457881u:
-    if (len == 3 /* && strncmp(ent, "psi") == 0 */) {
-      return 968;
+    /* upsi */
+  case 0x63a0f4e3f4a0ae80ULL:
+    if (len == 4) {
+      return 965;
     }
     break;
-    /* omega 969 greek small letter omega, */
-  case 1404857500u:
-    if (len == 5 /* && strncmp(ent, "omega") == 0 */) {
-      return 969;
+    /* upsih */
+  case 0xeb2f0758ad093438ULL:
+    if (len == 5) {
+      return 978;
     }
     break;
-    /* thetasym 977 greek small letter theta symbol, */
-  case 3881711083u:
-    if (len == 8 /* && strncmp(ent, "thetasym") == 0 */) {
-      return 977;
+    /* upsilon */
+  case 0xd8375cb55d00468dULL:
+    if (len == 7) {
+      return 965;
     }
     break;
-    /* upsih 978 greek upsilon with hook symbol, */
-  case 3753563936u:
-    if (len == 5 /* && strncmp(ent, "upsih") == 0 */) {
-      return 978;
+    /* upuparrows */
+  case 0x9016ee55e0c064a7ULL:
+    if (len == 10) {
+      return 8648;
     }
     break;
-    /* piv 982 greek pi symbol, U+03D6 ISOgrk3 */
-  case 81812644u:
-    if (len == 3 /* && strncmp(ent, "piv") == 0 */) {
-      return 982;
+    /* urcorn */
+  case 0x12c7ff1b7e5a59d8ULL:
+    if (len == 6) {
+      return 8989;
     }
     break;
-    /* bull 8226 bullet = black small circle, */
-  case 1818806115u:
-    if (len == 4 /* && strncmp(ent, "bull") == 0 */) {
-      return 8226;
+    /* urcorner */
+  case 0x646cb5260d85446fULL:
+    if (len == 8) {
+      return 8989;
     }
     break;
-    /* hellip 8230 horizontal ellipsis = three dot leader, */
-  case 1967714928u:
-    if (len == 6 /* && strncmp(ent, "hellip") == 0 */) {
-      return 8230;
+    /* urcrop */
+  case 0xf9d7961b7085b5c8ULL:
+    if (len == 6) {
+      return 8974;
     }
     break;
-    /* prime 8242 prime = minutes = feet, U+2032 ISOtech */
-  case 656236556u:
-    if (len == 5 /* && strncmp(ent, "prime") == 0 */) {
-      return 8242;
+    /* uring */
+  case 0x556568657a61f8aaULL:
+    if (len == 5) {
+      return 367;
     }
     break;
-    /* Prime 8243 double prime = seconds = inches, */
-  case 4158680556u:
-    if (len == 5 /* && strncmp(ent, "Prime") == 0 */) {
-      return 8243;
+    /* urtri */
+  case 0x71d2dd658b2cb8ffULL:
+    if (len == 5) {
+      return 9721;
     }
     break;
-    /* oline 8254 overline = spacing overscore, */
-  case 33988362u:
-    if (len == 5 /* && strncmp(ent, "oline") == 0 */) {
-      return 8254;
+    /* uscr */
+  case 0x7d6090e403254574ULL:
+    if (len == 4) {
+      return 120010;
     }
     break;
-    /* frasl 8260 fraction slash, U+2044 NEW */
-  case 254792559u:
-    if (len == 5 /* && strncmp(ent, "frasl") == 0 */) {
-      return 8260;
+    /* utdot */
+  case 0x4f3d3e77211fd953ULL:
+    if (len == 5) {
+      return 8944;
     }
     break;
-    /* weierp 8472 script capital P = power set */
-  case 3305299450u:
-    if (len == 6 /* && strncmp(ent, "weierp") == 0 */) {
-      return 8472;
+    /* utilde */
+  case 0xaf88d5554a110e76ULL:
+    if (len == 6) {
+      return 361;
     }
     break;
-    /* image 8465 blackletter capital I = imaginary part, */
-  case 3187641494u:
-    if (len == 5 /* && strncmp(ent, "image") == 0 */) {
-      return 8465;
+    /* utri */
+  case 0x8490bce406cca1a9ULL:
+    if (len == 4) {
+      return 9653;
     }
     break;
-    /* real 8476 blackletter capital R = real part symbol, */
-  case 3965469588u:
-    if (len == 4 /* && strncmp(ent, "real") == 0 */) {
-      return 8476;
+    /* utrif */
+  case 0x0e92c6778db6f2bdULL:
+    if (len == 5) {
+      return 9652;
     }
     break;
-    /* trade 8482 trade mark sign, U+2122 ISOnum */
-  case 2455601811u:
-    if (len == 5 /* && strncmp(ent, "trade") == 0 */) {
-      return 8482;
+    /* uuarr */
+  case 0xde9bdb7e4bdcdb9eULL:
+    if (len == 5) {
+      return 8648;
     }
     break;
-    /* alefsym 8501 alef symbol = first transfinite cardinal, */
-  case 3894502290u:
-    if (len == 7 /* && strncmp(ent, "alefsym") == 0 */) {
-      return 8501;
+    /* uuml */
+  case 0x8bf7e8e40aa3404eULL:
+    if (len == 4) {
+      return 252;
     }
     break;
-    /* larr 8592 leftwards arrow, U+2190 ISOnum */
-  case 1970559061u:
-    if (len == 4 /* && strncmp(ent, "larr") == 0 */) {
-      return 8592;
+    /* uwangle */
+  case 0xd64290f488b91078ULL:
+    if (len == 7) {
+      return 10663;
     }
     break;
-    /* uarr 8593 upwards arrow, U+2191 ISOnum */
-  case 2667952018u:
-    if (len == 4 /* && strncmp(ent, "uarr") == 0 */) {
-      return 8593;
+    /* vArr */
+  case 0x2d491f0050087bc4ULL:
+    if (len == 4) {
+      return 8661;
     }
     break;
-    /* rarr 8594 rightwards arrow, U+2192 ISOnum */
-  case 2435487699u:
-    if (len == 4 /* && strncmp(ent, "rarr") == 0 */) {
-      return 8594;
+    /* vBar */
+  case 0x469882005e2daa26ULL:
+    if (len == 4) {
+      return 10984;
     }
     break;
-    /* darr 8595 downwards arrow, U+2193 ISOnum */
-  case 4213965741u:
-    if (len == 4 /* && strncmp(ent, "darr") == 0 */) {
-      return 8595;
+    /* vBarv */
+  case 0x22cf36a0079865f0ULL:
+    if (len == 5) {
+      return 10985;
     }
     break;
-    /* harr 8596 left right arrow, U+2194 ISOamsa */
-  case 3092262401u:
-    if (len == 4 /* && strncmp(ent, "harr") == 0 */) {
-      return 8596;
+    /* vDash */
+  case 0x8cac1ab1ed9e0b11ULL:
+    if (len == 5) {
+      return 8872;
     }
     break;
-    /* crarr 8629 downwards arrow with corner leftwards */
-  case 4071143093u:
-    if (len == 5 /* && strncmp(ent, "crarr") == 0 */) {
-      return 8629;
+    /* vangrt */
+  case 0x1e8ca4e031b38879ULL:
+    if (len == 6) {
+      return 10652;
     }
     break;
-    /* lArr 8656 leftwards double arrow, U+21D0 ISOtech */
-  case 2389230389u:
-    if (len == 4 /* && strncmp(ent, "lArr") == 0 */) {
-      return 8656;
+    /* varepsilon */
+  case 0xebd1e6a3573c21e0ULL:
+    if (len == 10) {
+      return 1013;
     }
     break;
-    /* uArr 8657 upwards double arrow, U+21D1 ISOamsa */
-  case 3086623346u:
-    if (len == 4 /* && strncmp(ent, "uArr") == 0 */) {
-      return 8657;
+    /* varkappa */
+  case 0xf2a72a63823ef301ULL:
+    if (len == 8) {
+      return 1008;
     }
     break;
-    /* rArr 8658 rightwards double arrow, */
-  case 2854159027u:
-    if (len == 4 /* && strncmp(ent, "rArr") == 0 */) {
-      return 8658;
+    /* varnothing */
+  case 0xed924e7e6523b7b7ULL:
+    if (len == 10) {
+      return 8709;
     }
     break;
-    /* dArr 8659 downwards double arrow, U+21D3 ISOamsa */
-  case 337669773u:
-    if (len == 4 /* && strncmp(ent, "dArr") == 0 */) {
-      return 8659;
+    /* varphi */
+  case 0xfb348c7bcacd7f9dULL:
+    if (len == 6) {
+      return 981;
     }
     break;
-    /* hArr 8660 left right double arrow, */
-  case 3510933729u:
-    if (len == 4 /* && strncmp(ent, "hArr") == 0 */) {
-      return 8660;
+    /* varpi */
+  case 0x26505793ffe0b2b9ULL:
+    if (len == 5) {
+      return 982;
     }
     break;
-    /* forall 8704 for all, U+2200 ISOtech */
-  case 2607244222u:
-    if (len == 6 /* && strncmp(ent, "forall") == 0 */) {
-      return 8704;
+    /* varpropto */
+  case 0xac2c5a662cf9200aULL:
+    if (len == 9) {
+      return 8733;
     }
     break;
-    /* part 8706 partial differential, U+2202 ISOtech */
-  case 848855723u:
-    if (len == 4 /* && strncmp(ent, "part") == 0 */) {
-      return 8706;
+    /* varr */
+  case 0x43523f00edc18824ULL:
+    if (len == 4) {
+      return 8597;
     }
     break;
-    /* exist 8707 there exists, U+2203 ISOtech */
-  case 3677294764u:
-    if (len == 5 /* && strncmp(ent, "exist") == 0 */) {
-      return 8707;
+    /* varrho */
+  case 0xe93e347bc0727a71ULL:
+    if (len == 6) {
+      return 1009;
     }
     break;
-    /* empty 8709 empty set = null set = diameter, */
-  case 4121922294u:
-    if (len == 5 /* && strncmp(ent, "empty") == 0 */) {
-      return 8709;
+    /* varsigma */
+  case 0x1a0f46679639f9edULL:
+    if (len == 8) {
+      return 962;
     }
     break;
-    /* nabla 8711 nabla = backward difference, */
-  case 3450596949u:
-    if (len == 5 /* && strncmp(ent, "nabla") == 0 */) {
-      return 8711;
+    /* vartheta */
+  case 0xcecdd481e27e73a6ULL:
+    if (len == 8) {
+      return 977;
     }
     break;
-    /* isin 8712 element of, U+2208 ISOtech */
-  case 145434111u:
-    if (len == 4 /* && strncmp(ent, "isin") == 0 */) {
-      return 8712;
+    /* vartriangleleft */
+  case 0x6c71a3f4e9da058bULL:
+    if (len == 15) {
+      return 8882;
     }
     break;
-    /* notin 8713 not an element of, U+2209 ISOtech */
-  case 89445443u:
-    if (len == 5 /* && strncmp(ent, "notin") == 0 */) {
-      return 8713;
+    /* vartriangleright */
+  case 0xb7af40a28cd07014ULL:
+    if (len == 16) {
+      return 8883;
     }
     break;
-    /* ni 8715 contains as member, U+220B ISOtech */
-  case 1379533617u:
-    if (len == 2 /* && strncmp(ent, "ni") == 0 */) {
-      return 8715;
+    /* vcy */
+  case 0x690b1b194ed78105ULL:
+    if (len == 3) {
+      return 1074;
     }
     break;
-    /* prod 8719 n-ary product = product sign, */
-  case 3171579821u:
-    if (len == 4 /* && strncmp(ent, "prod") == 0 */) {
-      return 8719;
+    /* vdash */
+  case 0xb73a1bbdef0e7ef1ULL:
+    if (len == 5) {
+      return 8866;
     }
     break;
-    /* sum 8721 n-ary sumation, U+2211 ISOamsb */
-  case 1270496050u:
-    if (len == 3 /* && strncmp(ent, "sum") == 0 */) {
-      return 8721;
+    /* vee */
+  case 0x6911fb194edd6953ULL:
+    if (len == 3) {
+      return 8744;
     }
     break;
-    /* minus 8722 minus sign, U+2212 ISOtech */
-  case 1443056095u:
-    if (len == 5 /* && strncmp(ent, "minus") == 0 */) {
-      return 8722;
+    /* veebar */
+  case 0x59aac8960b1b7adcULL:
+    if (len == 6) {
+      return 8891;
     }
     break;
-    /* lowast 8727 asterisk operator, U+2217 ISOtech */
-  case 137860408u:
-    if (len == 6 /* && strncmp(ent, "lowast") == 0 */) {
-      return 8727;
+    /* veeeq */
+  case 0x2f48bab6c82ca229ULL:
+    if (len == 5) {
+      return 8794;
     }
     break;
-    /* radic 8730 square root = radical sign, */
-  case 565711814u:
-    if (len == 5 /* && strncmp(ent, "radic") == 0 */) {
-      return 8730;
+    /* vellip */
+  case 0xd35624d1976a5e2dULL:
+    if (len == 6) {
+      return 8942;
     }
     break;
-    /* prop 8733 proportional to, U+221D ISOtech */
-  case 3171579833u:
-    if (len == 4 /* && strncmp(ent, "prop") == 0 */) {
-      return 8733;
+    /* verbar */
+  case 0xced85147924135b3ULL:
+    if (len == 6) {
+      return 124;
     }
     break;
-    /* infin 8734 infinity, U+221E ISOtech */
-  case 3784651419u:
-    if (len == 5 /* && strncmp(ent, "infin") == 0 */) {
-      return 8734;
+    /* vert */
+  case 0x673ed10102775f82ULL:
+    if (len == 4) {
+      return 124;
     }
     break;
-    /* ang 8736 angle, U+2220 ISOamso */
-  case 2836524271u:
-    if (len == 3 /* && strncmp(ent, "ang") == 0 */) {
-      return 8736;
+    /* vfr */
+  case 0x691c22194ee6001dULL:
+    if (len == 3) {
+      return 120115;
     }
     break;
-    /* and 8743 logical and = wedge, U+2227 ISOtech */
-  case 2836524268u:
-    if (len == 3 /* && strncmp(ent, "and") == 0 */) {
-      return 8743;
+    /* vltri */
+  case 0x3bf2bb7c191ae230ULL:
+    if (len == 5) {
+      return 8882;
     }
     break;
-    /* or 8744 logical or = vee, U+2228 ISOtech */
-  case 1381198151u:
-    if (len == 2 /* && strncmp(ent, "or") == 0 */) {
-      return 8744;
+    /* vopf */
+  case 0x311ec900e332a1e0ULL:
+    if (len == 4) {
+      return 120167;
     }
     break;
-    /* cap 8745 intersection = cap, U+2229 ISOtech */
-  case 3594024865u:
-    if (len == 3 /* && strncmp(ent, "cap") == 0 */) {
-      return 8745;
+    /* vprop */
+  case 0xcc19c522de799df4ULL:
+    if (len == 5) {
+      return 8733;
     }
     break;
-    /* cup 8746 union = cup, U+222A ISOtech */
-  case 3627315365u:
-    if (len == 3 /* && strncmp(ent, "cup") == 0 */) {
-      return 8746;
+    /* vrtri */
+  case 0x56587434464aae8aULL:
+    if (len == 5) {
+      return 8883;
     }
     break;
-    /* int 8747 integral, U+222B ISOtech */
-  case 1658114628u:
-    if (len == 3 /* && strncmp(ent, "int") == 0 */) {
-      return 8747;
+    /* vscr */
+  case 0xde8f1301457d557fULL:
+    if (len == 4) {
+      return 120011;
     }
     break;
-    /* there4 8756 therefore, U+2234 ISOtech */
-  case 1359369970u:
-    if (len == 6 /* && strncmp(ent, "there4") == 0 */) {
-      return 8756;
+    /* vzigzag */
+  case 0x8d172bf590ef7a79ULL:
+    if (len == 7) {
+      return 10650;
     }
     break;
-    /* sim 8764 tilde operator = varies with = similar to, */
-  case 1250521750u:
-    if (len == 3 /* && strncmp(ent, "sim") == 0 */) {
-      return 8764;
+    /* wcirc */
+  case 0x7118953fb97ade19ULL:
+    if (len == 5) {
+      return 373;
     }
     break;
-    /* cong 8773 approximately equal to, U+2245 ISOtech */
-  case 2425516567u:
-    if (len == 4 /* && strncmp(ent, "cong") == 0 */) {
-      return 8773;
+    /* wedbar */
+  case 0x3c6bee4a55123048ULL:
+    if (len == 6) {
+      return 10847;
     }
     break;
-    /* asymp 8776 almost equal to = asymptotic to, */
-  case 3150422973u:
-    if (len == 5 /* && strncmp(ent, "asymp") == 0 */) {
-      return 8776;
+    /* wedge */
+  case 0x7785e02e12f8b54fULL:
+    if (len == 5) {
+      return 8743;
     }
     break;
-    /* ne 8800 not equal to, U+2260 ISOtech */
-  case 1379533613u:
-    if (len == 2 /* && strncmp(ent, "ne") == 0 */) {
-      return 8800;
+    /* wedgeq */
+  case 0x11312c4a3c9bf85aULL:
+    if (len == 6) {
+      return 8793;
     }
     break;
-    /* equiv 8801 identical to, U+2261 ISOtech */
-  case 634790405u:
-    if (len == 5 /* && strncmp(ent, "equiv") == 0 */) {
-      return 8801;
+    /* weierp */
+  case 0x5766aade150cb665ULL:
+    if (len == 6) {
+      return 8472;
     }
     break;
-    /* le 8804 less-than or equal to, U+2264 ISOtech */
-  case 1376204563u:
-    if (len == 2 /* && strncmp(ent, "le") == 0 */) {
-      return 8804;
+    /* wfr */
+  case 0x5e96df194869c706ULL:
+    if (len == 3) {
+      return 120116;
     }
     break;
-    /* ge 8805 greater-than or equal to, */
-  case 1367881938u:
-    if (len == 2 /* && strncmp(ent, "ge") == 0 */) {
-      return 8805;
+    /* wopf */
+  case 0x70600af6366e75b5ULL:
+    if (len == 4) {
+      return 120168;
     }
     break;
-    /* sub 8834 subset of, U+2282 ISOtech */
-  case 1270496039u:
-    if (len == 3 /* && strncmp(ent, "sub") == 0 */) {
-      return 8834;
+    /* wp */
+  case 0x08cb4607b56d0c92ULL:
+    if (len == 2) {
+      return 8472;
     }
     break;
-    /* sup 8835 superset of, U+2283 ISOtech */
-  case 1270496053u:
-    if (len == 3 /* && strncmp(ent, "sup") == 0 */) {
-      return 8835;
+    /* wr */
+  case 0x08cb4407b56d092cULL:
+    if (len == 2) {
+      return 8768;
     }
     break;
-    /* nsub 8836 not a subset of, U+2284 ISOamsn */
-  case 1984504696u:
-    if (len == 4 /* && strncmp(ent, "nsub") == 0 */) {
-      return 8836;
+    /* wreath */
+  case 0x7b78fd951aa46582ULL:
+    if (len == 6) {
+      return 8768;
     }
     break;
-    /* sube 8838 subset of or equal to, U+2286 ISOtech */
-  case 256147135u:
-    if (len == 4 /* && strncmp(ent, "sube") == 0 */) {
-      return 8838;
+    /* wscr */
+  case 0xc34dc8f5d472b132ULL:
+    if (len == 4) {
+      return 120012;
     }
     break;
-    /* supe 8839 superset of or equal to, */
-  case 279450485u:
-    if (len == 4 /* && strncmp(ent, "supe") == 0 */) {
-      return 8839;
+    /* xcap */
+  case 0x704a3d5440c51385ULL:
+    if (len == 4) {
+      return 8898;
     }
     break;
-    /* oplus 8853 circled plus = direct sum, */
-  case 92645826u:
-    if (len == 5 /* && strncmp(ent, "oplus") == 0 */) {
-      return 8853;
+    /* xcirc */
+  case 0x4b5af429e570ae9cULL:
+    if (len == 5) {
+      return 9711;
     }
     break;
-    /* otimes 8855 circled times = vector product, */
-  case 3065242419u:
-    if (len == 6 /* && strncmp(ent, "otimes") == 0 */) {
-      return 8855;
+    /* xcup */
+  case 0x7072455440e67331ULL:
+    if (len == 4) {
+      return 8899;
     }
     break;
-    /* perp 8869 up tack = orthogonal to = perpendicular, */
-  case 2407134539u:
-    if (len == 4 /* && strncmp(ent, "perp") == 0 */) {
-      return 8869;
+    /* xdtri */
+  case 0xd5a75b23eb6a34c2ULL:
+    if (len == 5) {
+      return 9661;
     }
     break;
-    /* sdot 8901 dot operator, U+22C5 ISOamsb */
-  case 2245035582u:
-    if (len == 4 /* && strncmp(ent, "sdot") == 0 */) {
-      return 8901;
+    /* xfr */
+  case 0xbf91a4197fd26c93ULL:
+    if (len == 3) {
+      return 120117;
     }
     break;
-    /* lceil 8968 left ceiling = apl upstile, */
-  case 1588009020u:
-    if (len == 5 /* && strncmp(ent, "lceil") == 0 */) {
-      return 8968;
+    /* xhArr */
+  case 0xc9ed2388c8f32920ULL:
+    if (len == 5) {
+      return 10234;
     }
     break;
-    /* rceil 8969 right ceiling, U+2309 ISOamsc */
-  case 2541913506u:
-    if (len == 5 /* && strncmp(ent, "rceil") == 0 */) {
-      return 8969;
+    /* xharr */
+  case 0xdff5438966aa8280ULL:
+    if (len == 5) {
+      return 10231;
     }
     break;
-    /* lfloor 8970 left floor = apl downstile, */
-  case 1870296512u:
-    if (len == 6 /* && strncmp(ent, "lfloor") == 0 */) {
-      return 8970;
+    /* xi */
+  case 0x08f13f07b58dcfeaULL:
+    if (len == 2) {
+      return 958;
     }
     break;
-    /* rfloor 8971 right floor, U+230B ISOamsc */
-  case 1865132014u:
-    if (len == 6 /* && strncmp(ent, "rfloor") == 0 */) {
-      return 8971;
+    /* xlArr */
+  case 0xf61e5364fcd5753cULL:
+    if (len == 5) {
+      return 10232;
     }
     break;
-    /* lang 9001 left-pointing angle bracket = bra, */
-  case 1963900950u:
-    if (len == 4 /* && strncmp(ent, "lang") == 0 */) {
-      return 9001;
+    /* xlarr */
+  case 0x0c2773659a8e819cULL:
+    if (len == 5) {
+      return 10229;
     }
     break;
-    /* rang 9002 right-pointing angle bracket = ket, */
-  case 2428829588u:
-    if (len == 4 /* && strncmp(ent, "rang") == 0 */) {
-      return 9002;
+    /* xmap */
+  case 0xa6cf3f54605ec727ULL:
+    if (len == 4) {
+      return 10236;
     }
     break;
-    /* loz 9674 lozenge, U+25CA ISOpub */
-  case 2828488274u:
-    if (len == 3 /* && strncmp(ent, "loz") == 0 */) {
-      return 9674;
+    /* xnis */
+  case 0x9b770754592f1bafULL:
+    if (len == 4) {
+      return 8955;
     }
     break;
-    /* spades 9824 black spade suit, U+2660 ISOpub */
-  case 4026453962u:
-    if (len == 6 /* && strncmp(ent, "spades") == 0 */) {
-      return 9824;
+    /* xodot */
+  case 0x80797a4de93f2e8fULL:
+    if (len == 5) {
+      return 10752;
     }
     break;
-    /* clubs 9827 black club suit = shamrock, */
-  case 2781041564u:
-    if (len == 5 /* && strncmp(ent, "clubs") == 0 */) {
-      return 9827;
+    /* xopf */
+  case 0x9468f95455a4d8daULL:
+    if (len == 4) {
+      return 120169;
     }
     break;
-    /* hearts 9829 black heart suit = valentine, */
-  case 2039418001u:
-    if (len == 6 /* && strncmp(ent, "hearts") == 0 */) {
-      return 9829;
+    /* xoplus */
+  case 0xae374abc63c12188ULL:
+    if (len == 6) {
+      return 10753;
     }
     break;
-    /* diams 9830 black diamond suit, U+2666 ISOpub */
-  case 3524411593u:
-    if (len == 5 /* && strncmp(ent, "diams") == 0 */) {
-      return 9830;
+    /* xotime */
+  case 0xc966eddf369f8451ULL:
+    if (len == 6) {
+      return 10754;
     }
     break;
-    /* quot 34 quotation mark = APL quote, */
-  case 2986121293u:
-    if (len == 4 /* && strncmp(ent, "quot") == 0 */) {
-      return 34;
+    /* xrArr */
+  case 0x356eb7b85a86e7eeULL:
+    if (len == 5) {
+      return 10233;
     }
     break;
-    /* amp 38 ampersand, U+0026 ISOnum */
-  case 2834859755u:
-    if (len == 3 /* && strncmp(ent, "amp") == 0 */) {
-      return 38;
+    /* xrarr */
+  case 0x4b77d7b8f83ff44eULL:
+    if (len == 5) {
+      return 10230;
     }
     break;
-    /* lt 60 less-than sign, U+003C ISOnum */
-  case 1376204578u:
-    if (len == 2 /* && strncmp(ent, "lt") == 0 */) {
-      return 60;
+    /* xscr */
+  case 0xfd74db549174838dULL:
+    if (len == 4) {
+      return 120013;
     }
     break;
-    /* gt 62 greater-than sign, U+003E ISOnum */
-  case 1367881953u:
-    if (len == 2 /* && strncmp(ent, "gt") == 0 */) {
-      return 62;
+    /* xsqcup */
+  case 0x18f19cd966bfe481ULL:
+    if (len == 6) {
+      return 10758;
     }
     break;
-    /* OElig 338 latin capital ligature OE, */
-  case 1674782707u:
-    if (len == 5 /* && strncmp(ent, "OElig") == 0 */) {
-      return 338;
+    /* xuplus */
+  case 0x8c862e645cb8cf4aULL:
+    if (len == 6) {
+      return 10756;
     }
     break;
-    /* oelig 339 latin small ligature oe, U+0153 ISOlat2 */
-  case 2083613875u:
-    if (len == 5 /* && strncmp(ent, "oelig") == 0 */) {
-      return 339;
+    /* xutri */
+  case 0xf15219a0d265eb6fULL:
+    if (len == 5) {
+      return 9651;
     }
     break;
-    /* Scaron 352 latin capital letter S with caron, */
-  case 1731202952u:
-    if (len == 6 /* && strncmp(ent, "Scaron") == 0 */) {
-      return 352;
+    /* xvee */
+  case 0xe3785d5482bc7175ULL:
+    if (len == 4) {
+      return 8897;
     }
     break;
-    /* scaron 353 latin small letter s with caron, */
-  case 3135314728u:
-    if (len == 6 /* && strncmp(ent, "scaron") == 0 */) {
-      return 353;
+    /* xwedge */
+  case 0x89a246ac4779ef45ULL:
+    if (len == 6) {
+      return 8896;
     }
     break;
-    /* Yuml 376 latin capital letter Y with diaeresis, */
-  case 1123077683u:
-    if (len == 4 /* && strncmp(ent, "Yuml") == 0 */) {
-      return 376;
+    /* yacute */
+  case 0x82cb32cf858d3170ULL:
+    if (len == 6) {
+      return 253;
     }
     break;
-    /* circ 710 modifier letter circumflex accent, */
-  case 94756433u:
-    if (len == 4 /* && strncmp(ent, "circ") == 0 */) {
-      return 710;
+    /* yacy */
+  case 0xa0b70e498c4f13e7ULL:
+    if (len == 4) {
+      return 1103;
     }
     break;
-    /* tilde 732 small tilde, U+02DC ISOdia */
-  case 1748508313u:
-    if (len == 5 /* && strncmp(ent, "tilde") == 0 */) {
-      return 732;
+    /* ycirc */
+  case 0x7d146906996a69c3ULL:
+    if (len == 5) {
+      return 375;
     }
     break;
-    /* ensp 8194 en space, U+2002 ISOpub */
-  case 3630901474u:
-    if (len == 4 /* && strncmp(ent, "ensp") == 0 */) {
-      return 8194;
+    /* ycy */
+  case 0xb553881979927864ULL:
+    if (len == 3) {
+      return 1099;
     }
     break;
-    /* emsp 8195 em space, U+2003 ISOpub */
-  case 3241331769u:
-    if (len == 4 /* && strncmp(ent, "emsp") == 0 */) {
-      return 8195;
+    /* yen */
+  case 0xb53f77197981b277ULL:
+    if (len == 3) {
+      return 165;
     }
     break;
-    /* thinsp 8201 thin space, U+2009 ISOpub */
-  case 2997658516u:
-    if (len == 6 /* && strncmp(ent, "thinsp") == 0 */) {
-      return 8201;
+    /* yfr */
+  case 0xb54281197983f94cULL:
+    if (len == 3) {
+      return 120118;
     }
     break;
-    /* zwnj 8204 zero width non-joiner, */
-  case 166021829u:
-    if (len == 4 /* && strncmp(ent, "zwnj") == 0 */) {
-      return 8204;
+    /* yicy */
+  case 0xe5295649b2d623cfULL:
+    if (len == 4) {
+      return 1111;
     }
     break;
-    /* zwj 8205 zero width joiner, U+200D NEW RFC 2070 */
-  case 4000813032u:
-    if (len == 3 /* && strncmp(ent, "zwj") == 0 */) {
-      return 8205;
+    /* yopf */
+  case 0xd33ceb49a88352dfULL:
+    if (len == 4) {
+      return 120170;
     }
     break;
-    /* lrm 8206 left-to-right mark, U+200E NEW RFC 2070 */
-  case 2833481836u:
-    if (len == 3 /* && strncmp(ent, "lrm") == 0 */) {
-      return 8206;
+    /* yscr */
+  case 0x25ccc1494638d5a0ULL:
+    if (len == 4) {
+      return 120014;
     }
     break;
-    /* rlm 8207 right-to-left mark, U+200F NEW RFC 2070 */
-  case 865945620u:
-    if (len == 3 /* && strncmp(ent, "rlm") == 0 */) {
-      return 8207;
+    /* yucy */
+  case 0xf378d2492a2e1eabULL:
+    if (len == 4) {
+      return 1102;
     }
     break;
-    /* ndash 8211 en dash, U+2013 ISOpub */
-  case 3305143245u:
-    if (len == 5 /* && strncmp(ent, "ndash") == 0 */) {
-      return 8211;
+    /* yuml */
+  case 0xf3a8e9492a576982ULL:
+    if (len == 4) {
+      return 255;
     }
     break;
-    /* mdash 8212 em dash, U+2014 ISOpub */
-  case 3146159164u:
-    if (len == 5 /* && strncmp(ent, "mdash") == 0 */) {
-      return 8212;
+    /* zacute */
+  case 0x05a19c61a4fa586bULL:
+    if (len == 6) {
+      return 378;
     }
     break;
-    /* lsquo 8216 left single quotation mark, */
-  case 1796006423u:
-    if (len == 5 /* && strncmp(ent, "lsquo") == 0 */) {
-      return 8216;
+    /* zcaron */
+  case 0x8462acbeb40d9fa4ULL:
+    if (len == 6) {
+      return 382;
     }
     break;
-    /* rsquo 8217 right single quotation mark, */
-  case 2749910909u:
-    if (len == 5 /* && strncmp(ent, "rsquo") == 0 */) {
-      return 8217;
+    /* zcy */
+  case 0xce6fff19878c6f29ULL:
+    if (len == 3) {
+      return 1079;
     }
     break;
-    /* sbquo 8218 single low-9 quotation mark, U+201A NEW */
-  case 159941417u:
-    if (len == 5 /* && strncmp(ent, "sbquo") == 0 */) {
-      return 8218;
+    /* zdot */
+  case 0x293806613aeb0188ULL:
+    if (len == 4) {
+      return 380;
     }
     break;
-    /* ldquo 8220 left double quotation mark, */
-  case 633684828u:
-    if (len == 5 /* && strncmp(ent, "ldquo") == 0 */) {
-      return 8220;
+    /* zeetrf */
+  case 0x1711e60908fa9dc5ULL:
+    if (len == 6) {
+      return 8488;
     }
     break;
-    /* rdquo 8221 right double quotation mark, */
-  case 1587589314u:
-    if (len == 5 /* && strncmp(ent, "rdquo") == 0 */) {
-      return 8221;
+    /* zeta */
+  case 0x2230c2613766819fULL:
+    if (len == 4) {
+      return 950;
     }
     break;
-    /* bdquo 8222 double low-9 quotation mark, U+201E NEW */
-  case 3338811314u:
-    if (len == 5 /* && strncmp(ent, "bdquo") == 0 */) {
-      return 8222;
+    /* zfr */
+  case 0xce65f61987840b59ULL:
+    if (len == 3) {
+      return 120119;
     }
     break;
-    /* dagger 8224 dagger, U+2020 ISOpub */
-  case 3288241744u:
-    if (len == 6 /* && strncmp(ent, "dagger") == 0 */) {
-      return 8224;
+    /* zhcy */
+  case 0x05c65f61269e15b7ULL:
+    if (len == 4) {
+      return 1078;
     }
     break;
-    /* Dagger 8225 double dagger, U+2021 ISOpub */
-  case 1884129968u:
-    if (len == 6 /* && strncmp(ent, "Dagger") == 0 */) {
-      return 8225;
+    /* zigrarr */
+  case 0x5c550fb9b7b572f4ULL:
+    if (len == 7) {
+      return 8669;
     }
     break;
-    /* permil 8240 per mille sign, U+2030 ISOtech */
-  case 4246983035u:
-    if (len == 6 /* && strncmp(ent, "permil") == 0 */) {
-      return 8240;
+    /* zopf */
+  case 0xec09c961181bbeccULL:
+    if (len == 4) {
+      return 120171;
     }
     break;
-    /* lsaquo 8249 single left-pointing angle quotation mark, */
-  case 2442191187u:
-    if (len == 6 /* && strncmp(ent, "lsaquo") == 0 */) {
-      return 8249;
+    /* zscr */
+  case 0xde596361a14a61cbULL:
+    if (len == 4) {
+      return 120015;
     }
     break;
-    /* rsaquo 8250 single right-pointing angle quotation mark, */
-  case 2437026689u:
-    if (len == 6 /* && strncmp(ent, "rsaquo") == 0 */) {
-      return 8250;
+    /* zwj */
+  case 0xce98f41987af618cULL:
+    if (len == 3) {
+      return 8205;
     }
     break;
-    /* euro 8364 euro sign, U+20AC NEW */
-  case 2061257587u:
-    if (len == 4 /* && strncmp(ent, "euro") == 0 */) {
-      return 8364;
+    /* zwnj */
+  case 0xbd3aa5618ef70edeULL:
+    if (len == 4) {
+      return 8204;
     }
     break;
   }
diff --git a/src/htsentities.sh b/src/htsentities.sh
index 8e6ed9eb3..14f775626 100755
--- a/src/htsentities.sh
+++ b/src/htsentities.sh
@@ -1,75 +1,92 @@
 #!/bin/bash
 #
+# Regenerate htsentities.h from the WHATWG named character references.
 
-src=html40.txt
-url=http://www.w3.org/TR/1998/REC-html40-19980424/html40.txt
+set -euo pipefail
+
+src=entities.json
+url=https://html.spec.whatwg.org/entities.json
 dest=htsentities.h
 
-(
-    cat <<EOF
-/*
-  -- ${dest} --
-  FILE GENERATED BY $0, DO NOT MODIFY
+# 64-bit FNV-1a of $1, printed as a C constant. Must match the hash in
+# htsencoding.c. The offset basis is stored as its wrapped (signed) bit pattern;
+# bash arithmetic is 64-bit two's complement, so the result is bit-exact.
+fnv1a() {
+    local s=$1 i c h=$((0xcbf29ce484222325))
+    for ((i = 0; i < ${#s}; i++)); do
+        printf -v c '%d' "'${s:i:1}"
+        h=$(((h ^ (c & 0xff)) * 0x100000001b3))
+    done
+    printf '0x%016xULL' "$h"
+}
 
-  We compute the LCG hash
-  (see <http://en.wikipedia.org/wiki/Linear_congruential_generator>)
-  for each entity. We should in theory check using strncmp() that we
-  actually have the correct entity, but this is actually statistically
-  not needed.
+if [ ! -f "$src" ]; then
+    curl -fsS "$url" -o "$src"
+fi
 
-  We may want to do better, but we expect the hash function to be uniform, and
-  let the compiler be smart enough to optimize the switch (for example by
-  checking in log2() intervals)
-  
-  This code has been generated using the evil $0 script.
-*/
+# Keep ';'-terminated single-codepoint names; the ~93 multi-codepoint refs can't
+# fit decode_entity's single-codepoint return and are skipped (left verbatim).
+pairs=$(jq -r '
+    to_entries
+    | map(select((.key | endswith(";")) and (.value.codepoints | length == 1)))
+    | sort_by(.key)
+    | .[] | "\(.key | ltrimstr("&") | rtrimstr(";"))\t\(.value.codepoints[0])"' "$src")
 
-static int decode_entity(const unsigned int hash, const size_t len) {
-  switch(hash) {
-EOF
-    (
-        if test -f ${src}; then
-            cat ${src}
-        else
-            GET "${url}"
-        fi
-    ) |
-        grep -E '^<!ENTITY [a-zA-Z0-9_]' |
-        sed \
-            -e 's/<!ENTITY //' -e "s/[[:space:]][[:space:]]*/ /g" \
-            -e 's/-->$//' \
-            -e 's/\([^ ]*\) CDATA "&#\([^\"]*\);" -- \(.*\)/\1 \2 \3/' |
-        (
-            read -r A
-            while test -n "$A"; do
-                ent="${A%% *}"
-                code=$(echo "$A" | cut -f2 -d' ')
-                # compute hash
-                hash=0
-                i=0
-                a=1664525
-                c=1013904223
-                m="$((1 << 32))"
-                while test "$i" -lt ${#ent}; do
-                    d="$(echo -n "${ent:${i}:1}" | hexdump -v -e '/1 "%d"')"
-                    hash="$((((hash * a) % (m) + d + c) % (m)))"
-                    i=$((i + 1))
-                done
-                echo -e "    /* $A */"
-                echo -e "  case ${hash}u:"
-                echo -e "    if (len == ${#ent} /* && strncmp(ent, \"${ent}\") == 0 */) {"
-                echo -e "      return ${code};"
-                echo -e "    }"
-                echo -e "    break;"
+# Skipped multi-codepoint names, kept to prove none aliases an emitted hash.
+skipped=$(jq -r '
+    to_entries
+    | map(select((.key | endswith(";")) and (.value.codepoints | length > 1)))
+    | .[] | .key | ltrimstr("&") | rtrimstr(";")' "$src")
+
+cases=""
+emit_hashes=""
+while IFS=$'\t' read -r name cp; do
+    hash=$(fnv1a "$name")
+    cases+="    /* $name */"$'\n'
+    cases+="  case $hash:"$'\n'
+    cases+="    if (len == ${#name}) {"$'\n'
+    cases+="      return $cp;"$'\n'
+    cases+="    }"$'\n'
+    cases+="    break;"$'\n'
+    emit_hashes+="$hash"$'\n'
+done <<<"$pairs"
+
+skip_hashes=""
+while IFS= read -r name; do
+    [ -n "$name" ] && skip_hashes+="$(fnv1a "$name")"$'\n'
+done <<<"$skipped"
 
-                # next
-                read -r A
-            done
-        )
-    cat <<EOF
-  }
+# The switch keys on the hash alone, so the dispatch is correct only while every
+# emitted name hashes uniquely; prove it here, no runtime name compare needed.
+dups=$(printf '%s' "$emit_hashes" | sort | uniq -d || true)
+if [ -n "$dups" ]; then
+    echo "FATAL: two entity names share a hash (duplicate switch case); change the hash:" >&2
+    echo "$dups" >&2
+    exit 1
+fi
+# A skipped name colliding with an emitted hash would mis-decode instead of
+# staying verbatim; forbid that too.
+aliased=$(comm -12 <(printf '%s' "$emit_hashes" | sort -u) <(printf '%s' "$skip_hashes" | sort -u) || true)
+if [ -n "$aliased" ]; then
+    echo "FATAL: a skipped multi-codepoint name aliases an emitted hash:" >&2
+    echo "$aliased" >&2
+    exit 1
+fi
+
+cat >"$dest" <<EOF
+/* GENERATED by $0 from the WHATWG named character references
+   (${url}). DO NOT EDIT.
+   Dispatch keys on a 64-bit FNV-1a hash of the entity name; the generator
+   aborts on any hash collision, so no runtime name compare is needed. */
+
+#include <stdint.h>
+
+static int decode_entity(const uint64_t hash, const size_t len) {
+  switch(hash) {
+${cases}  }
   /* unknown */
   return -1;
 }
 EOF
-) >${dest}
+
+echo "wrote $dest ($(grep -c '^  case ' "$dest") entities)" >&2


Test patch:
diff --git a/tests/01_engine-entities.test b/tests/01_engine-entities.test
index 9941f26d4..bf403396d 100755
--- a/tests/01_engine-entities.test
+++ b/tests/01_engine-entities.test
@@ -18,6 +18,21 @@ ent '&amp;' '&'
 ent '&lt;&gt;' '<>'
 ent '&eacute;' 'é'
 
+# HTML5 names from the WHATWG set
+ent '&hellip;' '…'
+ent '&bigcup;' '⋃'
+# longest name (31 chars) exercises the name-length cap
+ent '&CounterClockwiseContourIntegral;' '∳'
+# astral codepoint -> 4-byte UTF-8
+ent '&Aopf;' '𝔸'
+# multi-codepoint refs are skipped at generation, so left verbatim
+ent '&fjlig;' '&fjlig;'
+
+# common HTML4 names still decode (regression guard against accidental drops)
+ent '&copy;&reg;&trade;' '©®™'
+ent '&mdash;&ndash;' '—–'
+ent '&alpha;&beta;' 'αβ'
+
 # numeric: decimal and hex
 ent '&#65;&#66;' 'AB'
 ent '&#x41;' 'A'